読者です 読者をやめる 読者になる 読者になる

もうひとつのTeXがチューリング完全であることの証明

TeX

この記事はTeX & LaTeX Advent Calendar 2016の17日目の記事です. 2日目はYasuhide Minodaさんでした.18日目はVoDさんです. はじめに これまで,TeXがチューリング完全であるかを証明する様々な試みがあった.ここにいくつか挙げておこう. BaSiX TeX言…

ELVMにTeXバックエンドを足した話

この記事はTeX & LaTeX Advent Calendar 2016の3日目の記事です. 2日目はdoraTeXさんでした.4日目はtex-ut-texさんです. はじめに 2017年に学ぶべき言語12位はLaTeXである.すなわち,TeX言語をホンキで語ることが求められている(Advent Calendarテーマ…

ELVM Compiler Infrastructureバックエンド作成のすゝめ

初編 「天はELVM Compiler Infrastructureの上にELVM Compiler Infrastructureを造れり」と言えり。されば天よりCコンパイラを生ずるには、…… というわけで,この記事では,(どこかに作者の資料があるかもしれないが)ELVM Compiler Infrastructureバックエ…

TeX芸人の知らない#の挙動

8/28 \edefにおいて,マクロ展開とパラメータトークン生成のどちらが先に走るのかを追加 はじめに このツイートから始まった一連の話. \edef\test#1{\unexpanded{#1}}で\testが#1 -> ##1 になるのってなんでなんだろう.(TeXムズイ)— abenori (@abenori) …

ユーザ定義マクロのみを展開する手法に関する考察(1)

はじめに こんな話が出ていた. 独自マクロを使った「適度にセマンティックな記法」で書くほうが書く側としては楽(というかそこが LaTeX を使う大きな意義のひとつ)なので,「独自マクロで書かれた LaTeX ソースを LaTeX 標準のマクロまで展開するツール」…

\csnameの挙動

この記事は TeX & LaTeX Advent Calendar 2015 の20日目の記事です。 昨日はumireonさんでした.明日はtermoshttさんです. はじめに 今年もAdvent Calendarの季節がやってきた.今年の重点テーマは 「今さら人に聞けない、TeXのキホン」 だそうだ.そこで,…

LISP on TeX v2.0リリースノート

はじめに 10/25,LISP on TeXのv2.0(CTAN: Package lisp-on-tex)をリリースした.簡単に今回のリリース内容をまとめておく. READMEの更新 READMEをMarkdown形式に移行した*1.結果,CTANのページ上からREADME.mdが見れるようになっているはずである. ご…

もしTeX芸人が遠藤侑介の『あなたの知らない超絶技巧プログラミングの世界』を読んだら

Quine書きますよね。というわけで、TeXでQuineを書く話。ただし、前例(TeX de Quine!! - 0番染色体)にあるように、dviやpdfに書き出す例は多いみたいなので、私はコンソール出力結果がQuineになるようにしてみた。コードはこちら。 gist.github.comこれを…

Windows PhoneでテザリングしつつICSするために

数か月ぶりの記事はTeX関係ないという. はじめに Windows 10にしてから数日が経った.Hyper-Vを有効にしてもスリープできるようになったと聞き,喜々としてICSでNATもどきして楽しもうした.うまくいっているようだった.しばらくして,持っているWindows P…

LaTeXでマクロの引数をオーバーロード

はじめに TeX Forumにこんな質問が来ていた.TeXにおける制御綴の引数の個数について要は,TeXのマクロを関数っぽいものとみなし,その上で同名のマクロに引数の個数が異なるものをオーバーロードさせたいというものである.TeXのマクロは単なる字句の置き換…

TeXで色々な無限ループ

小ネタ.思うところがあったのでいくつか試してみた. 自身が再帰的に展開されていく例 TeXで無限ループやる場合は大抵これ[要出典].実装法はいくつかある. 単純なマクロ \documentclass{article} \begin{document} \newcommand\hoge{\hoge} \hoge \end{…

TeXだってテスト書きたい(続)

TeX

前回は,LaTeXで単体テストを書くためのスタイルファイルであるqstest.styを紹介したが,今回はそれをJenkinsと連携させる方法を述べる.Jenkinsからqstest.styの出力結果は直接読み取れない.テスト結果ならJUnitなどが吐き出すXML文書と同様の形式である必…

pdfTeXじゃないけどGhostscriptさえあれば画像は埋め込めるよねっ

TeX

2015/1/24 16:48 GhostscriptをGhostScriptと記述していました.お詫び申し上げます. はじめに こんなことがTeXユーザの集いであった.そのなかで,TeXの限界というタイトルでいくつかのトピックが示された.私の知る限り,TeXはチューリング完全なのだから…

TeXだってテスト書きたい

TeX

これはTeX & LaTeX Advent Calendar 2014,14日目の記事です. 13日目はneruko3114さん,15日目はh-kitagawaさんです. はじめに TeXでマクロを記述するにあたり,問題になるのはマクロが想定した動作をするか否かである.他のプログラミング言語*1と比較し…

LISP on TeX v1.3

TeX

久しぶりの更新はLISP on TeXバージョンアップな話.更新点は次の2つ. 環境のバグ修正 one shot continuationsの実装 詳細を示す. 環境のバグ修正 これは,Twitterやここで示されたバグ.要はローカル変数のスコープがおかしくなってしまっている.簡単な…

LISP on TeXを作る(評価器編2)

TeX

前回の続き.evalの本丸である関数適用の説明に入ろう. consセルの評価 関数適用が起こるタイミングとはすなわち,consセルが評価されるタイミングである.まずは,consセルのデータ構造を確認しておこう.consセルは,次の形をもつトークン列である. \@tl…

LISP on TeXを作る(評価器編1)

TeX

LISP on TeXネタの最終消費作業*1.今回は評価器編.ここが本丸と言いたいところだったが,あまりに分量が多かったため,評価器編は2回に分割する.前編はevalの基本構造,後編は関数適用がメインである. データ構造と評価の基本構造 再確認になるが,LISP …

LISP on TeXを作る(パーサ編)

TeX

LISP on TeXネタを全部消費して,新たなるTeX芸へ向かうためのソリューションその2.今回はパーサ編.要はS式を解釈して前回のデータ構造編で説明したデータへ変換するマクロがどのように構成されているかを示す.これから説明するマクロは,lisp-read.styに…

LISP on TeXを作る(データ構造編)

TeX

この記事はTeX & LaTeX Advent Calendar 2013の12/25担当分です. munepiさん || 2014/12/1は\@undefined はじめに TeX & LaTeX Advent Calendar 2013のトリはLISP on TeXとなった.今年はTUG2013での発表という大イベントがあった.そのときはなるべく「急…

METAFONTでUEC校章

この記事はTeX & LaTeX Advent Calendar 2013の12/7担当分です. CardinalXaroさん | | 12/8 はkuroky_plusさん> 放置ブログにAdvent Calendarの火を.放置している間に,TUG2013への参加なんかがあった.参加者は感想を投稿している人も多いのだけれど,私…

TeXと異世界の交わり

研究室のゼミでやった内容の加筆版.名称などはでっち上げなので注意. はじめに LISP on TeXがCTANに登録されてから,そろそろ一週間が経つ.TeXLiveやMikTeXに取り込まれるなどもした.更に,CTANのTopicsに「exec-foreign」が追加され,そこにlisp-on-tex…

Load to CTAN(CTANに載るまで)

TeX

祝 LISP on TeXのCTAN入り 全国のTeX Liveをお使いの皆さん.ようこそ,LISP on TeXへ.というわけで,LISP on TeXがCTAN*1に登録されました.TeX Liveで使えることは,@zr_tex8r: あわわわわわ、#texlive を update したら lisp-on-tex とかいう怖そうなパ…

LISP on TeX におけるパーサのフックな話

TeX

生きてます(唐突に). LISP on TeX更新情報 最近,修士論文も無事に提出できたので,LISP on TeXに機能拡張とかしてみた. パーサのフック機能. LISP on TeXの整数型,dimen型,およびskip型にリテラルには,それぞれ決まったプレフィクスをつけることに…

アドベントカレンダー二日目 ― \newif\ifnextyear \ifnextyeartrue

TeX

TeX & LaTeX Advent Calendar TeX で騒げ、TeX で笑え この記事は,12/2 担当分です.ZR さん | | 12/3 はk16.shikano さん> 周りは \expandafter を叫んだりする記事みたいなので,私はマイナーな(?)プリミティブである \aftergroup と LISP on TeX での…

LISP on TeX で千反田えるな話(3)

TeX

元ネタ:"LaTeXで "千反田える" してみた(1):概略"さて,LISP on TeX の時間である. といっても,プログラム的には簡単なので,今回はpTeX限定な命令を使ってやってみたがメイン.漢数字にするマクロ部分に,pTeXプリミティブ\kansujiを使ってみた.\kansu…

LISP on TeX でマンデルブロな話

TeX

LuaTeXならマンデルブロ集合も書ける。2012-10-21 14:10:01 via YoruFukurouいや,e-pLaTeX でもいけるはずだ.もっと言えば,LISP on TeX で記述できるはずだ. というわけで書いてみた.精度は時間がかかるのでだいぶ抑えているけど. 以下ソース \documen…

これでいいのかなぁ?

TeX

TeX芸人検定への解答. \catcode`@=11 \def\xx@q@end{\xx@q@@end} \def\xx@q@head{\afterassignment\xx@q@calc\let\xx@q@temp= } \def\length#1{\xx@q@head#1\xx@q@end} \def\xx@q@calc{% \show\xx@q@temp \ifx\xx@q@temp\xx@q@end \let\xx@q@next\relax \el…

これから卒業論文などでLaTeXを使う人へ向けて

TeX

余り書くことがないので,LaTeXの初心者への注意点を書いてみる. 所属研究室での使用状況がわりとひどかったから…… その情報は古くなってないですか? {\it ...}とかで書体変更はしない方がいい この書体変更法は昔(LaTeX 2.09)時代のものです.現在では…

EeePC 901 に Arch いれてみたったー

ちょっとしたお遊びでやったもの.EeePC 901*1に現行のisoを使って Arch Linux を入れるお話.方針は SD カードにインストール(ブートローダも) Windows は残す 基本的には ココを見ればいいのだけれど,怠けようとしたりすると詰まるので私が詰まった点を…

TeXで競技プログラミングは可能か?

ジャッジシステムないので無理ですが.というのも残念なので,まずはそもそも解くことができるかについて.問題はAtCoder Regular Contest #005のA,B,C*1. A 単純な文字列比較. 正規表現が使えないけど文字列比較を TeX に任せるくらいはできる 実際は,パ…

現在の LISP on TeX における環境の実装と問題点

今日は LISP on TeX (https://bitbucket.org/hak7a3/lisp-on-tex) の環境の実装および問題点について.現状,LISP on TeX *1 の環境は次のようなトークン列になっています. \keyi{valuei}\keyii{valueii}……\keyn{valuen} 対応を追加する際には,トークン列…

始めてみた & LISP on TeX でナベアツ

主にプログラム,特にTeX関連で書かれるであろう日記を始めてみた.最初の記事がTeXの濃い話,ナベアツする件について.問題の初出はココ. これを拙作 LISP on TeX (https://bitbucket.org/hak7a3/lisp-on-tex)でやってみた.ソースコードはこんな感じ \d…