On Fri, Feb 13, 2009 at 8:21 PM, Wolfgang Schuster <schuster.wolfgang@googlemail.com> wrote:

Am 13.02.2009 um 16:03 schrieb Alan Stone:


Hello,

In the underneath example, the only way I found to have everything
horizontally and vertically centered in the text and margin header,
as well as fit into the margin header, is as follows:

[..]


What's the way to get the same result without using \framed
and without making the margin wider ?

Uncommenting what's commented in the code above centers
everything ok, but the margin text doesn't fit.


You text is too long and you need a vertical box to break
the along lines.


\setuplayout[margin=3cm]

%\showframe

\def\myText
 {\hfill some text \hfill}

\def\myMarginText
 {\hbox{$\vcenter{\vbox{\raggedcenter this is some margin text}}$}}

\def\myMarginText
 {\framed
    [location=middle,
     align=middle,
     width=\hsize,
     frame=off]
    {this is some margin text}}
 
Thanks Wolfgang. I don't understanf the use of location=middle though...
 
\starttext
 
\framed[%
 location=middle,
 align=middle,
 height=5cm,
 width=\hsize,
 frame=on]
 {some text}
 
\framed[%
 align=middle,
 height=5cm,
 width=\hsize,
 frame=on]
 {some text}
 
\stoptext
 
 
\setuppagenumbering[location=footer]

\setupheader
 [before=\vss,
  after=\vss]

\setupheadertexts
 [text]
 [\myText]
 [\myText]

\setupheadertexts
 [margin]
 [\myMarginText]
 [\myMarginText]

\starttext
test
\stoptext

Wolfgang