マクロツイーター

はてダから移行した記事の表示が崩れてますが、そのうちに直せればいいのに(えっ)

とある LuaTeX クイズの正解

\documentclass{article}
\begin{document}
{\pi} = \directlua{tex.write(math.pi)}
\end{document}

正解を発表しよう

もちろん、\directlua 云々のところはヒッカケであって、正解は……。

\pi のところで「! Missing $ inserted.」エラーが出る。

……のはず。

念のため確認しよう

当該のソースファイル quiz.tex を lualatex でコンパイルしてみよう。

This is LuaTeX, Version 0.95.0 (TeX Live 2016/W32TeX)
 restricted system commands enabled.
(./quiz.tex
LaTeX2e <2016/03/31> patch level 1
Babel <3.9r> and hyphenation patterns for 1 language(s) loaded.
……(中略)……
(see the transcript file for additional information)
 346 words of node memory still in use:
   2 hlist, 1 vlist, 1 rule, 7 glue, 39 glue_spec, 1 write nodes
   avail lists: 2:12,3:2,4:1,5:10,6:19,7:24,8:1,9:6
<c:/texlive/2016/texmf-dist/fonts/type1/public/amsfonts/cm/cmr10.pfb>
Output written on quiz.pdf (1 page, 11794 bytes).
Transcript written on quiz.log.

……あれれ、通った?

でも〈π〉の文字は出力されてないようだ。

さらに補足

さらに、quiz.tex を次のように書き換える。

\documentclass{article}
\begin{document}
$a = 42$\par
{\pi} = \directlua{tex.write(math.pi)}
\end{document}

コンパイルする。

This is LuaTeX, Version 0.95.0 (TeX Live 2016/W32TeX)
 restricted system commands enabled.
(./quiz.tex
LaTeX2e <2016/03/31> patch level 1
Babel <3.9r> and hyphenation patterns for 1 language(s) loaded.
……(中略)……
(see the transcript file for additional information)
 346 words of node memory still in use:
   2 hlist, 1 vlist, 1 rule, 7 glue, 39 glue_spec, 1 write nodes
   avail lists: 2:12,3:2,4:1,5:10,6:19,7:24,8:1,9:6
<c:/texlive/2016/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi10.pfb><c:/texli
ve/2016/texmf-dist/fonts/type1/public/amsfonts/cm/cmr10.pfb>
Output written on quiz.pdf (1 page, 19283 bytes).
Transcript written on quiz.log.

あれれ、今度は〈π〉もしっかりと出力された。

世の中なかなか思う通りにならないですね。


*「何でなんでナンデ!?」
ZR「まあ、LuaTeX のことだから仕方がないね」*1

*1:気になる人は LuaTeX マニュアルの 6 節の「Allowed math commands in non-math modes」を読んでみよう。