Benutzer-Werkzeuge

Webseiten-Werkzeuge


asymptote

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
asymptote [2014/05/05 16:51] – angelegt olliasymptote [2023/03/20 20:44] (aktuell) – [Schar von Funktionen plotten] olli
Zeile 1: Zeile 1:
 ====== Asymptote ====== ====== Asymptote ======
 Asymptote ist eine Vektorgrafik-Sprache. Zum Setzen von Texten und Labeln wird [[LaTeX]] benutzt. Asymptote ist eine Vektorgrafik-Sprache. Zum Setzen von Texten und Labeln wird [[LaTeX]] benutzt.
 +
 +===== Falsche Seitengröße bei Umwandlung von EPS -> PDF =====
 +Asymptote Version < 2.24 hat einen Bug beim Erzeugen von EPS-Dateien.
 +Zum Beispiel führen folgende Befehle mit Asymptote 2.23
 +<code asymptote>
 +import graph;
 +size(4cm, 4cm, false);
 +real f(real x) {
 +  return x^2;
 +}
 +draw(graph(f, 1, 5));
 +yaxis( L = Label("$f(x)$", position=Relative(1)), autorotate=false, Left, arrow=Arrow(TeXHead));
 +xaxis( L = Label("$x$", position=Relative(1)), Bottom, arrow=Arrow(TeXHead));
 +</code>
 +zu einer EPS-Datei, die
 +<code postscript>
 +%%BeginPaperSize: Letter
 +/setpagedevice where
 +{ pop << /PageSize [612 792] >> setpagedevice }
 +{ /letter where { pop letter } if }
 +ifelse
 +%%EndPaperSize
 +</code>
 +enthält. (Das Problem tritt nicht auf, wenn keine Achsen im Asymptote-Code enthalten sind.) Dadurch bekommt die PDF-Datei, die daraus mit epstopdf erzeugt wird, das Letter-Format. Ein ähnliches Problem mit anderem Code tritt auch unter Version 2.31, aber nicht in 2.32 auf. Der empfohlene Workaround ist direkt den PDF-Output von Asymptote zu benutzen. Eine andere Möglichkeit ist der [[http://tex.stackexchange.com/a/81771|automatische Aufruf von pdfcrop]] in der automatischen eps->pdf-Umwandlung. Dies war im zweiten Fall jedoch nicht erfolgreich und wird daher nicht empfohlen.
 +
 +===== Fill verdeckt Achsen =====
 +Mit dem Befehl fill gezeichnete Füllungen überdecken standardmäßig die Achsen (unabhängig von der Aufrufreihenfolge). Möchte man dies nicht, können die Achsen mit above = true nach vorne geholt werden.
 +<code asymptote>
 +fill((0,0)--(0,1)--(1,1)--(1,0)--cycle);
 +xaxis(L = Label("$x$"), above = true);
 +</code>
 +
 +===== Text mit Umlauten =====
 +Um Texte mit Umlauten in Asymptote zu schreiben, die korrekt durchsuchbar und kopierbar (d.h. T1 ohne Customcodierung) sind, werden folgende Befehle benötigt:
 +<code asymptote>
 +import unicode;
 +usepackage("fontenc", "T1");
 +usepackage("lmodern");
 +</code>
 +
 +===== Dateien includieren =====
 +Andere Asymptote-Dateien lassen sich mit ''import'' inkludieren. Das ist zum Beispiel hilfreich um gemeinsame Definitionen in eine einzige Datei auszulagern. Die Datei common.asy wird so includiert: 
 +<code asymptote>
 +import common;
 +</code>
 +
 +===== Filltype =====
 +Die verschiedenen Filltypes (z.B. von ''Label'') werden [[http://asymptote.sourceforge.net/doc/Frames-and-pictures.html#Frames-and-pictures|hier]] in der Dokumentation beschrieben.
 +
 +===== Grenzen (limits) der Zeichnung bestimmen =====
 +Mit den Funktionen
 +<code asymptote>
 +min(currentpicture, true)
 +max(currentpicture, true)
 +</code>
 +lässt sich das Minimum/Maximum der aktuellen Zeichnung bestimmen. Das ist z.B. praktisch um die Achsen etwas länger als benötigt zu machen:
 +<code asymptote>
 +import graph;
 +size(4cm);
 +path unitcircle=E..N..W..S..cycle;
 +draw(unitcircle);
 +xaxis("$x$", xmax=max(currentpicture,true).x + 0.5);
 +yaxis("$y$");
 +</code>
 +
 +===== Schar von Funktionen plotten =====
 +Eine Schar oder Familie von Funktionen lässt sich wie [[https://web.archive.org/web/20191228093838/http://www.piprime.fr:80/693/asymptote-using-graph_asy-fig0270/|hier]] plotten.
 +
 +===== Definierte Farbnamen =====
 +Asymptote kennt standardmäßig [[http://asymptote.sourceforge.net/doc/colors.png|diese Farbnamen.]]
 +Weitere Farben können durch Importieren von [[https://github.com/vectorgraphics/asymptote/blob/master/base/texcolors.asy|texcolor.asy]] oder [[https://github.com/vectorgraphics/asymptote/blob/master/base/x11colors.asy|x11colors.asy]] verwendet werden. 
 +
 +===== Debugging =====
 +Mit dem Befehl ''write()'' können Debugausgaben auf die Konsole geschrieben werden.
 +
  
 ===== Links ===== ===== Links =====
   * [[http://asymptote.sourceforge.net/|Asymptote Homepage]]   * [[http://asymptote.sourceforge.net/|Asymptote Homepage]]
   * [[http://math.uchicago.edu/~cstaats/Charles_Staats_III/Notes_and_papers_files/asymptote_tutorial.pdf|Asymptote Tutorial]]   * [[http://math.uchicago.edu/~cstaats/Charles_Staats_III/Notes_and_papers_files/asymptote_tutorial.pdf|Asymptote Tutorial]]
 +  * [[http://www.artofproblemsolving.com/Wiki/index.php/Asymptote_%28Vector_Graphics_Language%29|Asymptote im AOPS Wiki]]
 +  * [[http://www.piprime.fr/asymptote/|Gallerie mit vielen Beispielen]]
 +  * [[http://asymptote.sourceforge.net/asyRefCard.pdf|Asymptote Reference Card]]
asymptote.1399301510.txt.gz · Zuletzt geändert: 2014/05/05 16:51 von olli