hack のためのネタ帳, etc,,,

状況

uplatex でマクロ組むのが嫌になって、あぁ、そう言えば LuaLaTeX なんてものがあったじゃないかと思い手を出してみた。

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 のマクロに比べると凄く楽だ。

関連

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

Wiki内検索

フリーエリア

管理人/副管理人のみ編集できます