Quiero dibujarvarios fragmentos de textoeso debería estar alineado, así que necesito poderColoca estos textos según su línea base..
Al consultar el manual de MetaFun, páginas 143-144, se explica que la alineación de la línea base se puede lograr mediante varios métodos:
- definir texto con
\setMPtext
y llamardraw
al objeto devuelto por\MPbetex
, draw
el objeto devuelto portextext.origin
,draw
el objeto devuelto porthelabel.origin
.
Sin embargo, cuando pruebo estos tres métodos con el siguiente código, sólo el primero funciona correctamente.
\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
¿Es su manera dealinear el texto en la línea base sin necesidad de "declarar previamente" todas las piezascon \setMPtext
?
Respuesta1
La definición de \MPbetex
esencialmente dice:
\def\MPbetex #1{btex \begincsname\??mptext#1\endcsname\space etex}
Es decir, simplemente recibe la cadena almacenada usando \MPtext
y la coloca entre btex ... etex
. Por supuesto, también puedes hacerlo a mano.
\startMPpage
draw btex Foo etex shifted (0,0);
draw btex Bap etex shifted (0.5cm,0);
\stopMPpage