使用一些教程问题解决艺术论坛在 Asymptote 上,我能够将 Asymptote 代码与我的 Latex 一起使用,如下所示
\begin{figure}[h]
\centering
\begin{asy}
include graph;
size(1inch);
filldraw(circle((0,0),1),yellow,black);
fill(circle((-.3,.4),.1),black);
fill(circle((.3,.4),.1),black);
draw(arc((0,0),.5,-140,-40));
\end{asy}
\end{figure}
但是,我的许多图表将比这复杂得多,这意味着渐近线将更长。有没有办法在 latex 代码中包含一个指向渐近线脚本的链接,以便 latex 系统自动将生成的图片插入那里。
即我想要类似的东西
\begin{figure}[h]
\centering
\compile-code{smiley.asy}
\end{figure}
因此使用渐近线的 latex 的通常编译过程
#!/bin/bash
xelatex -shell-escape synopses.tex
asy syn*.asy
xelatex -shell-escape synopses.tex
像以前一样工作。
注意:我知道一个很长的解决方法,就是单独生成图片,然后使用它们来包含它们includegraphics
,但这种方法会更简洁。
答案1
当然。我更喜欢使用asypictureB
包。一个非常简单的可能性是
\documentclass{article}
\usepackage{filecontents}
\begin{filecontents*}{myasy-1.tex}
\begin{asypicture}{}
include graph;
size(1inch);
filldraw(circle((0,0),1),yellow,black);
fill(circle((-.3,.4),.1),black);
fill(circle((.3,.4),.1),black);
draw(arc((0,0),.5,-140,-40));
\end{asypicture}
\end{filecontents*}
\usepackage{asypictureB}
\begin{document}
\begin{figure}[h]
\centering
\input{myasy-1.tex}
\end{figure}
\end{document}
如果你用pdflatex -shell-escape
(比如说)运行这个,你会得到
只要你不改变文件myasy-1.tex
,图片就不会被重新编译。