Ich probiere Asymptote mit Latexmk aus und möchte die Interaktion automatisieren.
Betrachten Sie das folgende Latex-Dokument 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}
In meinem latexmkrc
habe ich diefolgende Zeilenfür die Asymptotenintegration:
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");
Beim Ausführen werden im aktuellen Ordner und im Ordner latexmk -pdf test.tex
generiert -- aber nur, wenntest.pdf
test-1.asy
test-1.pdf
asymptote
asymptote
Ich habe den Ordner vor dem Ausführen manuell erstelltlatexmk
.- Die Ordnerangaben im Latex-Dokument (
\def\asydir{asymptote}
) undlatexmkrc
(-o asymptote/
) sind identisch.
Ich möchte aus der Haupt-Tex-Datei latexmk
lesen asydir
, das Verzeichnis erstellen, falls es nicht existiert, und asy
mit dem gelesenen Ausgabeordner ausführen.
Ist das möglich?
Antwort1
Ändern Sie einfach die sub asy
Zeile latexmrc
in
sub asy {return system("asy -o \"$_[0]\" \"$_[0]\"");}