LuaLaTeXとMetaPostをluamplibで使う時のマクロの事

名前: moonlight
日時: 2014-07-20 15:51:28
IPアドレス: 112.69.156.*

LuaLaTeXではluamplibパッケージを用いれば、 TeX文書内に直接 \begin{mplibcode} beginfig(1); (MetaPostのコード?ソース) endfig; \end{mplibcode} という形でMetaPostでの図形描画が可能だという事で、色々と試しています。 MePoTeX同様とても便利なのですが、困っている事があります。 次のようにTeXでMetaPostのマクロを設定すれば、 \def\qbPointDef#1(#2,#3){z.#1=(#2*w,#3*h);}% \def\qbPointsDef#1(#2,#3)#4.{\qbPointDef#1(#2,#3)\ifx#4\empty\else\qbPointsDef#4.\fi}% \def\qbGline#1#2{draw z.#1--z.#2;}% \def\qbGlines#1#2#3.{\qbGline#1#2\ifx#3\empty\else\qbGlines#2#3.\fi}% 次のようなソースで、 \begin{mplibcode}% beginfig(1);w=1cm;h=1cm; \qbPointsDef O(0,0)A(1,0)B(1,1). \qbGlines OAB. endfig; \end{mplibcode} タイプセットが出来て、OABという折れ線が奇麗に描けます。 とても素晴らしい。 で、一々 \begin{mplibcode}% beginfig(1);w=1cm;h=1cm; と endfig; \end{mplibcode} を書くのが面倒なので、 次のように「環境」を設定して \def\qbPMP[#1]{% \begin{mplibcode}% beginfig(1);w=#1;h=#1;% pickup pencircle scaled 0.6pt;}% \def\endqbPMP{% endfig;% \end{mplibcode}}% 次のように書き換えると、 \begin{qbPMP}[1cm] \qbPointsDef O(0,0)A(1,0)B(1,1). \qbGlines OAB. \end{qbPMP} 以下の Underfull \hbox (badness 3536) in paragraph at lines 36--37 []\EU2/lmr/m/n/24.88 LuaLaTeX [] [] [] [] [] [] MetaPost ./luamaplibTest20140719.tex:59: TeX capacity exceeded, sorry [input stack size= 5000]. <argument> \EU2\^ l.59 \end{mplibcode} 9974 words of node memory still in use: 74 hlist, 1 vlist, 5 rule, 76 glue, 19 kern, 12 penalty, 122 glyph, 3039 attr ibute, 398 glue_spec, 173 attribute_list, 1 if_stack, 1 write, 2 local_par, 1 di r nodes avail lists: 2:4,4:1,6:1,7:4,10:3 ./luamaplibTest20140719.tex:59: ==> Fatal error occurred, no output PDF file pr oduced! Transcript written on luamaplibTest20140719.log. メッセージが出てタイプセットできません。 何が悪いのでしょうか? 因に、 \ifx#4\empty\else\qbPointsDef#4.\fi の部分は以前?のTeXでは \ifx#4\@empty\else\qbPointsDef#4.\fi と「\@empty」を用いていたところですが、何故か「\empty」なら動きました。 マクロや環境の設定で用いる\defの仕様が変わっているのでしょうか? また、メモリーが足りないという事ですが、 これは以前同様texmf.cfgを書き換えれば良いのでしょうか? どこを調べれば良いかだけでも良いので解決策かそのヒントを下さい。

この書き込みへの返事:

お名前
題名 
メッセージ(タグは <a href="...">...</a> だけ使えます。適宜改行を入れてください)