Hallo,

for text positioning in a layer I needed alignment to baseline. I do not known if I missed something but I did not find it in the current ConTeXt. So I did that. Baseline is choosen by capital 'B' in the position parameter. ('B' is adopted from grahicx LaTeX/plain package.)

Also I add \ctop, \ltop, and \rtop in sence of \cbox, \lbox, and rbox, respectively.

I suggest to add the macros to core-box and supp-box.

Vit Zyka

%-------------------------------------------- baseline alignment
\setvalue{\??ab\??ab  B}{\baselinebox}
\setvalue{\??ab\??ab  Bl}{\baselineleftbox}
\setvalue{\??ab\??ab  Bc}{\baselinecenterbox}
\setvalue{\??ab\??ab  Br}{\baselinerightbox}
\setvalue{\??ab\??ab  lB}{\leftbaselinebox}
\setvalue{\??ab\??ab  cB}{\centerbaselinebox}
\setvalue{\??ab\??ab  rB}{\rightbaselinebox}
\def\baselinecenterbox#1%
  {\normalhbox
     {\setbox0\placedbox{#1}%
      \global\boxhdisplacement-.5\wd0
      \global\advance\boxhdisplacement-\boxoffset
      \global\boxvdisplacement-\boxoffset
      \boxcursor\hskip\boxhdisplacement\raise-\boxvdisplacement\box0}}
\def\baselineleftbox#1%
  {\normalhbox
     {\setbox0\placedbox{#1}%
      \global\boxhdisplacement-\wd0
      \global\advance\boxhdisplacement-\boxoffset
      \global\boxvdisplacement-\boxoffset
      \boxcursor\hskip\boxhdisplacement\raise-\boxvdisplacement\box0}}
\def\baselinerightbox#1%
  {\normalhbox
     {\setbox0\placedbox{#1}%
      \global\boxhdisplacement\boxoffset
      \global\boxvdisplacement-\boxoffset
      \boxcursor\hskip\boxhdisplacement\raise-\boxvdisplacement\box0}}
\let\baselinebox=\baselinecenterbox
\let\leftbaselinebox=\baselineleftbox
\let\rightbaselinebox=\baselinerightbox

%------------------------------ \ltop, \rtop, \ctop
\def\lrctop#1#2#%
  {\vtop#2\bgroup
   \let\\=\endgraf
   \forgetall#1\let\next=}
\def\ltop{\lrctop\raggedleft}
\def\rtop{\lrctop\raggedright}
\def\ctop{\lrctop\raggedcenter}

_______________________________________________
ntg-context mailing list
[EMAIL PROTECTED]
http://www.ntg.nl/mailman/listinfo/ntg-context

Reply via email to