Absolute Seitenkoordinaten von Metapost-Abbildungen mit luamplib/lualatex

Absolute Seitenkoordinaten von Metapost-Abbildungen mit luamplib/lualatex

Wie kann man Metapost-Figurenelemente zeichnen/platzieren (mithilfe von luamplib in lualatex), als wäre die PDF-Seite Millimeterpapier? Es gibt also einen Ursprung: (xorigin, yorigin) und alle Elemente werden relativ zum Ursprung oder relativ zueinander platziert? Platzieren Sie beispielsweise einen Kreis mit Durchmesser 2 bei (3,4). Wobei (3,4) eine absolute Position auf der Seite in Bezug auf den Ursprung ist (xorigin=0pt,yorigin=0pt würde oben links auf der Seite bedeuten). Außerdem werden die Zahlen 2,3,4 mit scale/xscale/yscale skaliert, was in pt/cm/inch sein kann. Ich weiß, dass dies mit tikz möglich ist, obwohl ich noch keinen Beitrag gefunden habe, der sich damit befasst, wie man dies in Metapost machen kann (das Metapost/Luamplib-Handbuch befasst sich nicht sehr mit Ursprung und absoluter Seitenplatzierung). Ich habe versucht,textpos, obwohl das keine echte Lösung ist, denn wenn ich beispielsweise oben/links am Kreis Beschriftungen hinzufüge, verschiebt sich der Kreismittelpunkt auf der PDF-Seite von (xorigin+3*xscale,yorigin+4*yscale); weil versucht wird, die linke/obere Begrenzung der Abbildung am Ankerpunkt von textpos auszurichten (anstatt den Kreismittelpunkt am Ankerpunkt von textpos zu verankern). Und manuelle Anpassungen wären ein Albtraum, wenn sich die Abbildung in Zukunft ändert. Eine Lösung würde eine systematische Möglichkeit bieten/demonstrieren, beliebige/alle Abbildungselemente an absoluten/relativen Positionen auf der Seite zu platzieren.

Eine formellere Spezifikation mit einem Beispiel: Nachdem ich beispielsweise den Kreis an einer absoluten Position auf der PDF-Seite platziert habe: (xorigin+X*xscale,yorigin+Y*yscale) mit einem Durchmesser von D*xscale oder D*yscale, möchte ich auch andere Elemente wie Beschriftungen relativ zu diesem Kreis mit einem Versatz von (Xoff*xscale,Yoff*yscale) positionieren. Dabei gebe ich nur X/Y/D/Xoff/Yoff an, oder weniger bevorzugt (aber immer noch akzeptabel) mit dem Multiplikator *(x|y)scales.

Hier ist eine einfache Abbildung + Code zum Beginnen:

Beispiel einer Metapost-Abbildung

% Command: >> lualatex abspicture.tex
\documentclass{article}
\usepackage[paper=letterpaper,left=0in,right=0in,top=0in,bottom=0in]{geometry}
\usepackage{luamplib}


\begin{document}
\thispagestyle{empty}

\begin{mplibcode}
beginfig(1)
u=50;
draw fullcircle scaled u;
pickup pencircle scaled 2;
draw (u/2,0); draw(0,u/2); draw(-u/2,0); draw(0,-u/2);
label.rt(btex $\theta = 0$ etex scaled .5, (u/2,0));
label.top(btex $\theta = \displaystyle{\frac{\pi}{2}}$ etex scaled .5, (0,u/2));
label.lft(btex $\theta = \pi$ etex scaled .5, (-u/2,0));
label.bot(btex $\theta =\displaystyle{\frac{3\pi}{2}}$ etex scaled .5, (0,-u/2));
endfig;
end;

\end{mplibcode}

\end{document}

verwandte Informationen