我有一个 document.tex 文件:
\documentclass{article}
\usepackage{asymptote}
\begin{document}
\begin{figure}
\centering
\asyinclude{test.asy}
\caption{A test with \textsf{asymptote}}
\end{figure}
\end{document}
还有一个 test.asy 文件:
unitsize(1cm);
draw((0,0)--(5,5));
这是通过 Sharelatex 编译时的输出:
这是通过本地 pdflatex 编译时的输出:
(第二张截图的标题位于屏幕的正中央)
为什么它在本地不起作用?
答案1
感谢用户 OG,我找到了如何使其工作的方法。
latexmkrc
只要在 document.tex 文件所在的文件夹中创建一个名为以下内容的文件即可:
sub compile_asy { return system("asy \"$_[0]\""); }
add_cus_dep("asy", "eps", 0, "compile_asy");
add_cus_dep("asy", "pdf", 0, "compile_asy");
add_cus_dep("asy", "tex", 0, "compile_asy");
一旦完成,只需发出:
$ latexmk -pdf document.tex
注意:如果您没有 latexmk,请安装它。如果您无法安装它,您将必须发出 3 个命令而不是 1 个:
$ pdflatex document.tex
$ asy *.asy
$ pdflatex document.tex
答案2
默认情况下,asymptote 生成 PostScript 输出。您必须通过设置一些变量来配置 pdflatex 包(摘自 asymptote 手册第 162 页)
outformat="pdf";
有关将其放置在何处的详细信息,请参阅 asymptote 文档(在 Linux 下,它将是文件 ~/.asy/config.asy )