<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">% these macros are for moving the starting point and setting the
% vertical justification
% the text will be inserted, but TeX will not move its pointer to the
% space
\def\vertD#1#2#3{%      justify the bottom
  \vbox to 0pt{\vskip -#2\vss%
    \hbox to 0pt{\hskip #1%
      #3%
      \hskip -#1}%
    \vskip #2}}
\def\vertU#1#2#3{%      justify the top
  \vbox to 0pt{\vskip -#2%
    \hbox to 0pt{\hskip #1%
      #3%
      \hskip -#1}%
    \vss\vskip #2}}
\def\vertB#1#2#3{%      justify the baseline
  \vbox to 0pt{\vskip -#2%
    \smash{\hbox to 0pt{\hskip #1%
      #3%
      \hskip -#1}}%
    \vskip #2}}
\def\vertM#1#2#3{%      justify the middle
  \vbox to 0pt{\vskip -#2\vss%
    \hbox to 0pt{\hskip #1%
      #3%
      \hskip -#1}%
    \vss\vskip #2}}

% these macros are for horizontal justification
\def\horL#1{#1\hss}     %justify the left
\def\horR#1{\hss#1}     %            right
\def\horM#1{\hss#1\hss} %            middle

% abbreciations for all justifications
% they get the coordinates and the inserted text
\def\moveLU(#1,#2,#3){\vertU{#1}{#2}{\horL{#3}}}
\def\moveRU(#1,#2,#3){\vertU{#1}{#2}{\horR{#3}}}
\def\moveMU(#1,#2,#3){\vertU{#1}{#2}{\horM{#3}}}
\def\moveLD(#1,#2,#3){\vertD{#1}{#2}{\horL{#3}}}
\def\moveRD(#1,#2,#3){\vertD{#1}{#2}{\horR{#3}}}
\def\moveMD(#1,#2,#3){\vertD{#1}{#2}{\horM{#3}}}
\def\moveLM(#1,#2,#3){\vertM{#1}{#2}{\horL{#3}}}
\def\moveRM(#1,#2,#3){\vertM{#1}{#2}{\horR{#3}}}
\def\moveMM(#1,#2,#3){\vertM{#1}{#2}{\horM{#3}}}
\def\moveLB(#1,#2,#3){\vertB{#1}{#2}{\horL{#3}}}
\def\moveRB(#1,#2,#3){\vertB{#1}{#2}{\horR{#3}}}
\def\moveMB(#1,#2,#3){\vertB{#1}{#2}{\horM{#3}}}

% macro with 2 parameters: labels and the picture
% it creates the hbox and inserts it correctly to the text
\def\labels#1#2{%
        \noindent\hbox{#1#2}}
</pre></body></html>