天地有情

[LualLaTeX] LuaLaTeX ソースファイルに Luaスクリプトを取り込む(2)

LuaLaTeX ソースファイルに Luaスクリプトを取り込む(2

本編は『LuaLaTeX ソースファイルに Luaスクリプトを取り込む』の続編です.
( http://konoyonohana.blog.fc2.com/blog-entry-64.html )

LuaLaTeX ソースファイルに Luaスクリプトを取り込むには,
どうすれば良いでしょうか.今回は『表』のサンプルで確認してみようと思います.

● サンプル

  ソースファイル foo.tex
======================================================
01: \documentclass{ltjsarticle}
02: \usepackage{luacode}
03: 
04: \begin{luacode*}
05: function mul()
06:  num=7
07:  for i=1,num do
08:  for j=1,num do
09:  ixj='$'..i..'\\times'..j..'='..i*j..'$';
10:  tex.print(ixj)
11:  if(j<num) then tex.sprint('&') else tex.sprint('\\\\') end
12:  end
13:  end
14: end
15: \end{luacode*}
16: 
17: \newcommand{\multable}{\luadirect{mul()}}
18: 
19: \begin{document}
20: 九九のうち,『7の段』までを表にします.
21: 
22: \begin{center}
23: \begin{tabular}{*{7}{l}} %{lllllll}と同じ
24:  \multable
25: \end{tabular}
26: \end{center}
27: \end{document}
======================================================

【説明】
01: クラスファイルは ltjsarticle を使います.ltjarticle でも構いません.
02: luacode パッケージの登録が必要です.
04と15: luacode*環境.この環境内に Luaスクリプトを記述します.
05~14: 関数 mul() を定義.内容は for 文による ”九九”です.(7の段まで)
10: ”九九”演算の結果を表示します.
17: LuaTeX側でLuaスクリプトとのインタフェースをとるためのコマンド\multable を定義します.
   (\luadirect{..}の代わりに,\luaexec{..}でも構いません.)
19~27: 本文になります.
23~25: ”九九”演算の表を作成します.

● コンパイル

  luajitlatex foo.tex
  または
  lualatex foo.tex

● 結果

  foo.pdfの内容

99.png


== おわり ==



スポンサーサイト
  1. 2014/02/22(土) 14:41:00|
  2. lualatex
  3. | トラックバック:0
  4. | コメント:0
<<[elapsedtime][timeit] プログラム実行時間の計測コマンド | ホーム | [LuaLaTeX] LuaLaTeX ソースファイルに Luaスクリプトを取り込む >>

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://konoyonohana.blog.fc2.com/tb.php/65-a257e740
この記事にトラックバックする(FC2ブログユーザー)