Я тестирую Asymptote с latexmk и хотел бы автоматизировать взаимодействие.
Рассмотрим следующий латексный документ test.tex
:
\documentclass{minimal}
\usepackage{asymptote}
\def\asydir{asymptote}
\begin{document}
Testing Asymptote:
\begin{asy}
settings.outformat = "pdf";
unitsize(2cm);
draw((0,0) -- (1,0));
\end{asy}
\end{document}
В моем latexmkrc
естьследующие строкидля асимптотного интегрирования:
sub asy {return system("asy -o asymptote/ \"$_[0]\"");}
add_cus_dep("asy","eps",0,"asy");
add_cus_dep("asy","pdf",0,"asy");
add_cus_dep("asy","tex",0,"asy");
Запуск latexmk -pdf test.tex
генерирует test.pdf
в текущей папке и test-1.asy
в test-1.pdf
папке asymptote
-- но только если
- Я вручную создал
asymptote
папку перед запускомlatexmk
. - Спецификация папки в латексном документе (
\def\asydir{asymptote}
) иlatexmkrc
(-o asymptote/
) идентична.
Я хотел бы latexmk
прочитать asydir
основной tex-файл, создать каталог, если он не существует, и запустить его asy
с прочитанной выходной папкой.
Это возможно?
решение1
Просто измените sub asy
строку latexmrc
на
sub asy {return system("asy -o \"$_[0]\" \"$_[0]\"");}