Asymptote を LuaLaTeX で inline で使いたいのですが

Asymptote を LuaLaTeX で inline で使いたいのですが

- Murai Tatsuru の投稿
返信数: 3
久々にAsymptoteのことを思い出し
そろそろお気楽に使えるかなとググって見たのですが...
根本的によく分かってないのでご教示ください。

色々調べてこんな感じかとコンパイルしましたが,
TeXでのエラーはないのですが3cmの正方形は現れません。
何かが足りないのか。
根本的にまだLuaTeXでAsymptoteはinlineでは使えないのか。


%!TEX TS-program = lualatex
¥documentclass[report,fleqn,a4paper]{ltjsbook}
¥usepackage[inline]{asymptote}
¥begin{document}
¥HUGE Asymptote 使えるかな?
¥def¥asylatexdir{}% Optional subdirectory for latex files (no spaces):
¥def¥asydir{}% Optional subdirectory for asy files (no spaces):
¥begin{asydef}
import settings;
tex="lualatex";
%settings.autoplain=true;
settings.outformat="pdf";
¥end{asydef}

¥begin{asy}
size(3cm);
draw(unitsquare);
¥end{asy}

¥end{document}
Murai Tatsuru への返信

Re: Asymptote を LuaLaTeX で inline で使いたいのですが

- 前田 一貴 の投稿
使ったことないですが,調べて試してみたところ,最後に書くように少し修正すると正方形が出せました.

まず,ドキュメント (asymptote.pdf) の7節にあるように,lualatex 実行後に生成される Asymptote の
ソースファイルを別に処理したうえで,もう一度 lualatex を実行する必要があります.

lualatex test-asymptote.tex
asy test-asymptote-*.asy
lualatex test-asymptote.tex

のように.

asydef 環境内で % によるコメントを使われていますが,これは .asy ファイルにそのまま出力されて
文法エラーになります.// を使うべきなのだと思います.
前田 一貴 への返信

Re: Asymptote を LuaLaTeX で inline で使いたいのですが

- Murai Tatsuru の投稿
お調べいただきありがとうございます。

直接というか一回のコンパイルでというのは未だ不可能なんですね。
ちょっと残念。
MetaPostはLuaTeXの中でluamplibというパッケージを読み込んでおけば一回のコンパイルで処理できるのでAsymptoteもそろそろと楽観的に思っていたのですがやはり未だ無理ですか。残念です。
Murai Tatsuru への返信

Re: Asymptote を LuaLaTeX で inline で使いたいのですが

- 前田 一貴 の投稿
少し調べただけなので間違っているかもしれませんが,

・Asymptote は label の出力に LaTeX を利用している描画言語
・luamplib は LuaTeX に MetaPost を組み込んだもの

というわけで,両者では TeX エンジンに対する包含関係が逆になっているようです.
(.asy ファイルに label を入れて asy -vv <source> とすれば内部で latex が走っていることが確認できます.)
LaTeX 文書に Asymptote の図を取り込もうとする場合,あくまでも外部プログラムの出力を
取り込む形になるので,shell escape を使わない限りは,一度での処理は無理なのではと思います.