Asymptote - Fragen und Antworten

Fragen von TeXwelt.de zum Thema

Klicke auf den Titel, um die Antworten zu lesen - oder sieh alle Asymptote-Fragen

01/25/2018 12:27 PM
Keine Anzeige der Grafik mit Asymptote aus TeXworks (TexLive)

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:

  1. Name: asymptote
  2. Befehl/Datei: C:/texlive/2017/texmf-dist/asymptote/binaries/i386-win32/texlive/asy.exe
  3. Argumente: $basename-*.asy

Aber alles ohne Wirkung. Wie bekomme ich denn nun die Grafik angezeigt?

Öffne in Overleaf
\documentclass{scrartcl}
\usepackage[inline]{asymptote}
\begin{document}
\begin{figure}
\begin{asy}
\size(3cm);
\draw(unitsquare);
\end{asy}
\caption{Ein Quadrat}
\end{figure}
\end{document}

Asymptote-Code wird nicht ausgeführt: "Package asymptote Warning: file `test_1-1.tex' not found on input line 8."

In der Konsolenausgabe steht: "error: could not load module 'plain' "


04/06/2014 05:18 PM
Wie kann ich in LaTeX Asymptote verwenden?

Ich sah Klaus' Antwort zum Füllen einer Fläche mit Asymptote und erinnere mich, mal gehört zu haben, man kann Asyptote auch direkt in LaTeX verwenden.

Kann jemand sagen, wie das geht? Wenn man da Bilder erzeugen und in LaTeX einbinden kann, kann man in der Präambel auch globale Einstellungen angeben, und auch Funktionen, damit ich sie nicht mitten im Dokument definieren muss?


04/01/2014 05:42 PM
Wie kann ich die Fläche zwischen mehreren Pfaden füllen?

Auf golatex.de habe ich folgende, mir interessant erscheinende Frage gesehen:

Wie kann ich möglichst einfach die Fläche zwischen drei sich schneidenden Pfaden füllen, wenn diese Pfade keine Geraden sind?

Open in writeLaTeX
\documentclass[margin=5mm,tikz]{standalone}
\usetikzlibrary{intersections}
\begin{document} 
\begin{tikzpicture}
  \draw [name path=line1] (1,1) .. controls (3,4) .. (10,5) ; 
  \draw [name path=line2] (2,5) .. controls (6,5) .. (10,1) ; 
  \draw [name path=line3] 
    (1,2) .. controls (3,3) and (7,0) .. (9,2) ..controls (10,3.5) .. (10,3.5) ; 
\end{tikzpicture} 
\end{document}

alt text


03/25/2014 11:42 AM
opacity-pdf2jpg

Den Weg, den ich bisher gefunden habe, eine pdf-Datei, die opacity enthält (opacity-pdf) in eine Raster-Grafik zu verwandeln, so dass das mit opacity Herausgestellte weiterhin sichtbar bleibt - ich nenne das opacity-pdf2jpg -, der Weg ist der folgende:

Ich lade die opacity-pdf in gimp. Und von dort aus kann ich sie mit „speichern-unter“ mit Eingabe des Dateinamens mit der Extension .jpg nun als jpg-Datei abspeichern.

gimp soll das auch im batch-Modus unterstützen. Weiß jemand schon die dafür notwendigen batch-Befehle? Und wie kann ich dann eine solche batch-Datei z.B. von asymptote aus direkt aufrufen?


03/21/2014 11:09 PM
Komplexe Transformationen illustrieren

Ich möchte gerne Transformationen in der komplexen Ebene zeichnen.

alt text

Ich weiß nur nicht, wie ich das anstellen soll. Am besten sicherlich mit TikZ, aber jede andere Methode ist auch in Ordnung.


03/20/2014 11:43 AM
Sage TeX, es soll Asymptote sagen...

Wie lasse ich Asymptote von TeX erfragen, wie z.B. die box-Parameter sind von lbrace (Höhe, Breite, Tiefe)?

Hier ist mein Beispiel, woraus sich mir die Frage stellt:

Open in writeLaTeX
// [mptut.pdf, page 18, fig 1]
texpreamble("\usepackage[pdfpagemode=FullScreen,]{hyperref}");

size(4cm);
unitsize(1cm);
pair z0, z1, z2;
z0 = (0,0);
z1 = (sqrt(3),0);
z2 = (sqrt(3),1);

draw (z0--z1--z2--cycle);
dot(z0^^z1^^z2, lightgray);
draw(z0^^z1^^z2);

label("$z_0$", z0, SW, gray);
label("$z_1$", z1, SE, gray);
label("$z_2$", z2, dir(45+2*(15/3)), gray);

// z0--z1 = sqrt(3)cm
label(xscale(4.2)* // Länge der Klammer
      yscale(.9)*  // filigraner
      rotate(90)*
"$\lbrace$",
midpoint(z0--z1), 3*S);

// z1--z2 = 1cm
label(xscale(.9)* // filigraner
      yscale(2.5)* // Länge der Klammer
//      yscale(2.83)* // [subj. zu lang] Länge der Klammer
      "$\rbrace$"
      , midpoint(z1--z2)//);
      , 3*E);

// z0--z2 = 2cm
label(rotate(120)*
      xscale(.9)* // filigraner
          yscale(4.7)*  // Länge der Klammer
      "$\rbrace$"
      , midpoint(z0--z2), 3*dir(120));

label("$\sqrt3$",midpoint(z0--z1), 6*S);
label("$1$",midpoint(z1--z2), 6*E);
label("$2$",midpoint(z0--z2), 6*dir(120));

shipout(bbox(.5cm,white),format="pdf");

/*
(in TeX abgefragt)
Box-Parameter von \lbrace:
Höhe 7.5pt
Weite 5.0pt
Tiefe 2.5pt
[2,84528pt ~ 1mm]
*/


12/17/2013 12:52 AM
Keine Vektorgrafik mit Asymptote (und Kleinigkeiten)

Bei meinem ersten Versuch, eine Asymptote-Grafik zu erzeugen, erhalte ich keine Vektor-Grafik, sondern nur eine Raster-Grafik.

Nach dem ersten Kompilieren der .tex-Datei mit pdfLaTeX, erhalte ich eine .asy-Datei, die vor dem Grafik-Code, den ich selbst im Dokument eingegeben habe, noch den folgenden Code enthält:

if(!settings.multipleView) settings.batchView=false;
settings.tex="pdflatex";
defaultfilename="<Dateiname der TeX-Datei>-1";
if(settings.render < 0) settings.render=4;
settings.outformat="";
settings.inlineimage=true;
settings.embed=true;
settings.toolbar=false;
viewportmargin=(2,2);

Anschließend rufe ich (bzw. mein Editor) Asy wie folgt auf (dies habe ich so nach der Konfigurationsanleitung von Asymptote mal eingeben):

asy -gs="C:\Program Files\System\gs9.05\bin\gswin64c.exe" <Dateiname der TeX-Datei>-1.asy

Nach einem weiteren Kompilieren mit pdfLaTeX erhalte ich eine PDF-Datei, die neben der gerasterten Grafik auch noch einen großen „Play“-Button enthält, der mir nach einem Mausklick die Datei <Dateiname der TeX-Datei>-1+0.asy zum Speichern anbieten will.

Neben einer PDF-Datei <Dateiname der TeX-Datei>-1+0_0.pdf, die die Grafik selbst enthält, ist auch noch eine (scheinbar?) leere PDF-Datei <Dateiname der TeX-Datei>-1_0.pdf vorhanden.

Zu allem Überdruss ist die Grafik auch keine Vektor-Grafik. Was mache ich falsch?

Code

\documentclass{standalone}
\usepackage{asymptote}
\begin{document}
\begin{asy}
    import three;
    currentprojection=orthographic(5,4,2,center=true);
    currentlight=(1,0,0);
    size(5cm);
    size3(3cm,5cm,8cm);
    draw(unitbox);
    dot(unitbox,black);

    draw(surface((1,0,0)--(0,0,1)--(0,1,1)--(1,1,0)--cycle),red+opacity(0.7));
    draw(surface((1,0,1)--(0,0,0)--(0,1,0)--(1,1,1)--cycle),blue+opacity(0.7));
\end{asy}
\end{document}

Outputs

alt text alt text