Hallo zusammen. Ich habe mich jetzt (gezwungenermaßen) seit einem halben Jahr mit LaTeX beschäftigt
und möchte gerne die Grafiken in meiner Arbeit mit Asymptote erstellen. Ich habe schon viel im Netz
darüber gelesen, aber nach dem Kompilieren der latexusage.tex wird eine PDF ohne die Grafiken
angezeigt. In TeXworks habe ich einen Verweis auf ein weiteres Verarbeitungsprogramm (Asymptote)
angelegt:
@stefan
Das habe ich jetzt einmal gemacht. Wenn ich die Datei latexusage.tex im Menü asymptote kompiliere bekomme ich gleich dreimal in der Konsolenausgabe die Fehlermeldung
@saputello
Illustrator-Grafiken hatte ich eigentlich im EPS-Format erstellt. Im LaTeX-Code werden die dann auch im PDF angezeigt. Aber das will ich nicht mehr. Ich möchte das der Asymptote-Code zwischen
\begin{asy} ... \end{asy} ausgeführt wird.
@saputello Ja, alles klar soweit. Die beiden Backslashes waren wohl aus der TikZ-Woche zuvor übriggeblieben. ;)
Ich bekomme jetzt auch aus TeXworks heraus die Grafik im PDF angezeigt.
Dein Beispiel ist fehlerhaft. size und draw müssen innerhalb der asy-Umgebung ohne Backslash geschrieben werden. Das folgende Beispiel funktioniert bei mir:
Ausgabe auf dem Terminal gibt es dabei nicht. Bei Problemen kann man zusätzlich Option -v beim Aufruf von asy angeben. Mit nur einem -v erhält man dabei normalerweise als Ausgabe nur
Processing testasy-1
Wrote testasy-1.tex
Gibt man -vv oder -v -v an, so erhält man sehr viel mehr an Ausgabe.
Ein häufiges Problem bei der Verwendung von asy ist, dass Ghostscript nicht gefunden wird. Dann sollte man testen, dass Ghostscript korrekt installiert und auch über PATH gefunden wird, also in einem beliebigen Terminalfenster der Aufruf gs -v bzw. gswin63.exe -v auch funktioniert.
Wird gemeldet, dass das Modul plain nicht gefunden wurde, dann ist dagegen asymptode selbst nicht korrekt installiert. Es kann dann plain.asy nicht finden. Verwendet man Vanilla TeX Live mit den voreingestellten Pfaden, dann ist diese Datei normalerweise in
/usr/local/texlive/2017/texmf-dist/asymptote/plain.asy zu finden. Bei Windows oder anderen TeX-Live-Versionen weicht der Pfadteil /usr/local/texlive/2017/texmf-dist ab. Dieser Teil entspricht normalerweise aber dem, was kpsewhich -var-value=TEXMFDIST ausgibt.
Einbindung in TeXworks:
TeXworks ist zumindest bei mir unter Linux nicht in der Lage ein Argument mit Platzhalter/Wildcard, also $basename-* für ein Executable zu verarbeiten. Wenn ich das mache, dann erhalte ich die Fehlermeldung:
error: could not load module 'testasy-*'
Dagegen funktioniert, wenn ich $basename-1 verwende. Um also Platzhalter verwenden zu können, benötige ich beispielsweise ein zusätzliches Skript:
Wenn ich dann dieses Skript statt asy als Executable verwende, dann funktioniert es auch mit dem Parameter $basename-*.asy. Windows-Anwender müssen stattdessen eine PowerShell-Script (soweit ihre PowerShell für die Ausführung von Skripten konfiguriert wurde) oder einen CMD-Batch verwenden.
Theoretisch könnte man vermutlich auch ein TeXworks-Skript für die Ausführung von asy erstellen. Damit kenne ich mich aber nicht aus.
Einfacher ist die Verwendung von latexmk, das auch asymptode automatisch berücksichtigt.
Hast Du denn im Menü
asymptote
auch ausgeführt nach dem Ausführen von pdfLaTeX? Und danach wieder pdfLaTeX?@stefan Das habe ich jetzt einmal gemacht. Wenn ich die Datei latexusage.tex im Menü asymptote kompiliere bekomme ich gleich dreimal in der Konsolenausgabe die Fehlermeldung
error: could not load module 'plain'
angezeigt.
@saputello Illustrator-Grafiken hatte ich eigentlich im EPS-Format erstellt. Im LaTeX-Code werden die dann auch im PDF angezeigt. Aber das will ich nicht mehr. Ich möchte das der Asymptote-Code zwischen
\begin{asy} ... \end{asy}
ausgeführt wird.Hilft Dir die Antwort unten weiter?
@saputello Ja, alles klar soweit. Die beiden Backslashes waren wohl aus der TikZ-Woche zuvor übriggeblieben. ;) Ich bekomme jetzt auch aus TeXworks heraus die Grafik im PDF angezeigt.
Dann solltest Du vielleicht für die Antwort stimmen oder sie sogar akzeptieren.