マクロツイーター

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

テンプレート的 LaTeX、再び (1)

昨日紹介した templatex パッケージ(IXbase バンドル)を使って、アレとかソレと同じことをやってみた。

\documentclass{article}
\usepackage{templatex}
%\def\pgfsysdriver{pgfsys-dvipdfm.def} % for dvipdfmx
\usepackage{tikz}
\begin{document}
\begin{templatex}
  \begin{tikzpicture}
<?  local N = 10
    local curr, prev
?>  \node (F0) {1};
    \node [right of=F0] (G0) {1};
<?  curr = 1; prev = 1
    for i = 1, N - 1 do
      t = curr; curr = curr + prev; prev = t
?>    \node [below of=F<?= i-1 ?>] (F<?= i ?>) {<?= curr ?>};
      \node [below of=G<?= i-1 ?>] (G<?= i ?>) {<?= prev ?>};
      \draw [->] (F<?= i-1 ?>) -- (F<?= i ?>);
      \draw [->] (F<?= i-1 ?>) -- (G<?= i ?>);
      \draw [->] (G<?= i-1 ?>) -- (F<?= i ?>);
<?  end ?>
  \end{tikzpicture}
\end{templatex}
\end{document}

……めでたく終了、と言いたいところだが、実はごまかしている部分がある。

元々のソースは、「図を出力するマクロ」を定義していて繰り返しの回数を引数で指定する。対して、ここでは直接描画を実行していて、繰り返し回数(N)が固定になっている。