Wie kann ich Text in MetaFun an der Grundlinie ausrichten, ohne setMPtext zu verwenden?

Wie kann ich Text in MetaFun an der Grundlinie ausrichten, ohne setMPtext zu verwenden?

Ich möchte zeichnenmehrere Textteiledas sollte ausgerichtet sein, also muss ich in der Lage sein,Platzieren Sie diese Texte entsprechend ihrer Grundlinie.

Im MetaFun-Handbuch (Seiten 143–144) wird erklärt, dass die Basislinienausrichtung auf verschiedene Weise erreicht werden kann:

  • Definieren von Text mit \setMPtextund Aufrufen drawdes von zurückgegebenen Objekts \MPbetex,
  • drawdas von zurückgegebene Objekt textext.origin,
  • drawdas von zurückgegebene Objekt thelabel.origin.

Wenn ich diese drei Methoden mit dem folgenden Code teste, funktioniert jedoch nur die erste ordnungsgemäß.

\starttext
\setMPtext {1} {Foo}
\setMPtext {2} {Bap}

\startMPpage
draw \MPbetex{1} shifted (0,0);
draw \MPbetex{2} shifted (0.5cm,0);

draw textext.origin("Foo") shifted (0,-1cm);
draw textext.origin("Bap") shifted (0.5cm,-1cm);

draw thelabel.origin("Foo",(0,-2cm));
draw thelabel.origin("Bap",(0.5cm,-2cm));
\stopMPpage

\stoptext

Beispielergebnis

Ist es eine Möglichkeit,Text an der Grundlinie ausrichten, ohne alle Teile „vorab deklarieren“ zu müssenmit \setMPtext?

Antwort1

Die Definition von \MPbetexlautet im Wesentlichen:

\def\MPbetex #1{btex \begincsname\??mptext#1\endcsname\space etex}

Das heißt, es empfängt einfach die mit gespeicherte Zeichenfolge \MPtextund platziert sie zwischen btex ... etex. Natürlich können Sie das auch manuell tun.

\startMPpage
draw btex Foo etex shifted (0,0);
draw btex Bap etex shifted (0.5cm,0);
\stopMPpage

Bildbeschreibung hier eingeben

verwandte Informationen