我刚刚开始学习asymptote
(实际上因为TikZ
这些软件不太适合 3D 表面和曲线)。要设置我的系统,我想asymptote
在子目录中工作,以便保持我的 LaTeX 项目整洁,即
\usepackage{asymptote}
\def\asydir{asypdf}
将我的文档中定义的 asy 文件存储为
\begin{asy}
settings.outformat = "pdf";
defaultpen(fontsize(10pt));
label("Hello world!");
\end{asy}
在子文件夹中asypdf
我在 Mac OS 上使用我最喜欢的编辑器 TextMate2,它用于latexmk
确定工作流程(pdflatex、bibtex 调用等)。我阅读了latexmk
使用这些线.因此完整的 MWE 是
%!TEX TS-options = --shell-escape
\documentclass{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage{asymptote}
\def\asydir{asypdf}
\begin{document}
\begin{asy}
settings.outformat = "pdf";
defaultpen(fontsize(10pt));
label("Hello world!");
\end{asy}
\end{document}
我的问题/疑问在这里:
latexmk
无法识别文件夹结构?该.asy
文件是在指定的子文件夹中创建的(我猜是 asymptote 创建的),但在主目录中latexmk
创建了一个.tex
文件,然后根本不会进行编译。
有没有办法让latexmk
文件夹结构保持不变?还有其他方法可以将渐近线文件保存在子文件夹中吗?
错误消息(遗憾的是没有文件夹结构)是
cusdep asy pdf asypdf/asyt-1: Command for 'cusdep asy pdf asypdf/asyt-1' gave return code 256 cusdep asy pdf asyt-1: Command for 'cusdep asy pdf asyt-1'
asyt.tex
(使用和不使用文件夹 def 行来命名 MWE 时)
在 Mac OS 10.10 Yosemite 上使用 MacTeX 2014。
答案1
您需要创建一个 latexmkrc 文件,其规则如下
sub asy {return system("asy -o asypdf/ '$_'");}
add_cus_dep("asy","eps",0,"asy");
add_cus_dep("asy","pdf",0,"asy");
add_cus_dep("asy","tex",0,"asy");
我希望它能奏效。你也可以在 http://sourceforge.net/p/asymptote/discussion/409349/thread/e35300dd/