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]
*/

gefragt 20 Mär '14, 11:43

Klaus%20Heidrich's gravatar image

Klaus Heidrich
52125
Akzeptiert-Rate: 0%

bearbeitet 23 Mär '14, 19:43

esdd's gravatar image

esdd
17.8k284257

@Klaus Heidrich Ich habe Dein Beispiel in die Frage reinkopiert. TeXwelt funktioniert etwas anders als ein Forum: Antworten sollen, so gut es geht, die gestellte Frage beantworten. Wenn Du weitere Ergänzungen zur Frage hast, dann kannst Du die Frage einfach entsprechend editieren. Für Rückfragen oder Bemerkungen zur Frage bzw. zu Antworten kann man einen Kommentar eintragen.

(23 Mär '14, 19:59) esdd

Ich befürchte, das geht nicht so einfach. Ähnlich wie im comment-Paket, wird der Inhalt der asy-Umgebung in eine externe .asyDatei geschrieben, um von Asymptote verarbeitet zu werden. Genau wie beim comment-Paket werden die Zeilen nicht expandiert, d.h. die Makros und Längen landen als Befehlsnamen darin, nicht mit ihren Werten.

Auf den ersten Blick sah ich im Quellcode diese Zeilen:

Open in writeLaTeX
\def\WriteAsyLine#1{%
  \immediate\write\AsyStream{\detokenize{#1}}%
}

Hier wird die Bedeutung von Befehlsnamen entfernt und sie werden im weiteren als Textstrings behandelt. Evtl. könnte man an dieser (oder anderer) Stelle ansetzen und die Zeile mit ihren Makros expandieren lassen. Vorgesehen ist das vermutlich (noch) nicht.

Permanenter link

beantwortet 23 Mär '14, 12:45

stefan's gravatar image

stefan ♦♦
18.3k163148
Akzeptiert-Rate: 50%

Open in writeLaTeX
   \documentclass[10pt]{article}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\begin{document}

\setbox25=\hbox{\TeX}
Höhe  \the\ht25\\
Weite \the\wd25\\
Tiefe \the\dp25\\
\box25

\newbox\mybox
\setbox\mybox=\hbox{\huge \LaTeX}
Höhe  \the\ht\mybox\\
Weite \the\wd\mybox\\
Tiefe \the\dp\mybox\\
\usebox\mybox
\end{document}
Permanenter link

beantwortet 21 Mär '14, 21:33

ctansearch's gravatar image

ctansearch
(ausgesetzt)
Akzeptiert-Rate: 18%

bearbeitet 21 Mär '14, 21:44

So kann man mit TeX die Parameter bestimmen. Doch wie kann man von einer eingebetteten Asymptote-Grafik darauf zugreifen?

(21 Mär '14, 21:54) Felix

Die Frage ist zu sparsam formuliert und ohne Beispiel auch kaum zu beantworten. Meine Antwort gibt die Antwort auf die Frage: TeX sagt Asymptote die Werte. Wie Asymtote diese aufnimmt oder verwertet, ist deren Problem...

(21 Mär '14, 22:20) ctansearch

Also fast offtopic, weil hier geht es um die Schnittstelle von Asymptote zu TeX. Ist trotzdem ein guter Ansatz, schonmal mit TeX die Werte zu bestimmen, der Knackpunkt ist klar: wie kommt man in einer asy-Umgebung am LaTeX-Makros bzw. Längen. Hab ich auch noch nicht rausgefunden. Wichtige Frage, und wegen der Grundsätzlichkeit ohne Beispiel relevant.

(21 Mär '14, 22:53) Felix
Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs fügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×7

gestellte Frage: 20 Mär '14, 11:43

Frage wurde gesehen: 12,358 Mal

zuletzt geändert: 23 Mär '14, 19:59