Excelのチューリング完全性を検証するためにPietインタプリタを実装しようとして挫折するまでの軌跡

はじめに 最近,Excelがチューリング完全になったという公式のお達しがあった. Excel formulas, the world’s most popular programming language, is now Turing-complete. Go check it out! https://t.co/qkw3Bmt1gp— Satya Nadella (@satyanadella) 2021…

TeX言語でレイトレーシングを実装する話

この記事はTeX & LaTeX Advent Calendar 2019の14日目の記事です。 13日目はmattskalaさんでした。15日目はaminophenさんです。 TL; DR TeX言語を使って,こんな画像を生成する話. レイトレーシング結果 はじめに 周知のとおり,TeX言語はチューリング完全…

PDFの注釈機能で遊ぶ

この記事はTeX & LaTeX Advent Calendar 2017の9日目の記事です. 8日目はmunepiさんでした.10日目はaminophenさんです. はじめに PDFには,注釈という文書に様々な情報を付加するための機能がある.今回は,PDFTeXから注釈機能を叩くことにより,その面…

LaTeXはExcel方眼紙の夢を見るか

はじめに 近年,Excel方眼紙が注目されている(要出典).Excel方眼紙とは,自由に罫線を引くためにあらかじめセルを正方形状に設定しておいたExcelファイル,およびそれによって作成された帳票を指す.そのサンプルや問題点については,参考文献を読むとよ…

もうひとつの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…