uplatex でマクロ組むのが嫌になって、あぁ、そう言えば LuaLaTeX なんてものがあったじゃないかと思い手を出してみた。
uplatex のソースはレイアウトの計算が若干異なるらしく 1 ページに収まってた文書が、2 ページになったりするけど、
uplatex のマクロ使ってる文書も、割と難なく通る感じで上位互換的な感じで使えそう。
とりあえず、LuaLaTeX で初マクロ書いてみた。
うん、TeX, LaTeX のマクロに比べると凄く楽だ。
uplatex のソースはレイアウトの計算が若干異なるらしく 1 ページに収まってた文書が、2 ページになったりするけど、
uplatex のマクロ使ってる文書も、割と難なく通る感じで上位互換的な感じで使えそう。
とりあえず、LuaLaTeX で初マクロ書いてみた。
\documentclass[a4paper]{ltjarticle} \usepackage{luacode} \begin{luacode*} count = 1 function hello(s) header = count == 1 and "はじめての" or ("%d 回目の"):format(count) tex.sprint(("\\underline{%s} に%sこんにちは"):format(s, header)) count = count + 1 end \end{luacode*} \newcommand{\hello}[1]{\directlua{hello("#1")}} \begin{document} \hello{LuaLaTeX} \hello{LuaLaTeX} \end{document}
うん、TeX, LaTeX のマクロに比べると凄く楽だ。
- Qiita / @zr_tex8r / 2019-12-25: Update: 2019-12-27: マクロとプリミティブの間の壁を打破せよ―LuaTeXで“1回展開”のマクロを定義する話
- StackExchange / TeX / 2020-10-05: How to pass macro arguments (#1, #2, ..) to Lua variables
タグ
コメントをかく