________________________________________
From: ntg-context-bounces@ntg.nl [ntg-context-bounces@ntg.nl] on behalf of Wolfgang Schuster [schuster.wolfgang@gmail.com]
Sent: Tuesday, May 21, 2013 12:20 PM
To: mailing list for ConTeXt users
Subject: Re: [NTG-context] split natural table
Am 21.05.2013 um 18:55 schrieb "Stephens, Kenny" mailto:kstephens@hsutx.edu>:
I use a natural table to format my page header. I have another natural table in the body. When the body’s table is split onto the second page it interferes with the formatting of the header’s table, but only the header-table on the first page. I’ve included an example. Run as-is, the header has the correct format. Uncomment the last row of the body table to see the incorrect header formatting. This behavior also occurs using live.contextgarden.nethttp://live.contextgarden.net (today, 2013-05-21).
The incorrect header table format occurs with “split=yes” and “split=repeat” for the body table. If “split=no” then the header table keeps the correct format.
TexLive 2012 (updated 2013-05-20 to frozen version)
LuaTeX beta-0.70.2-2012052410
ConTeXt: 2012.05.30 11:26 MkIV fmt: 2012.9.13
\setuppapersize[letter][letter]
\setuplayout[topspace=0pt,
header=42pt,
headerdistance=6pt,
]
\setuppagenumbering[location=]
\setupwhitespace[none]
\define\syllabusheader{%
\vskip0.1mm
\bTABLE[frame=off,width=\textwidth]
\setupTABLE[c][1][width=fit, align=raggedright,style={\bfb\ss}]
\setupTABLE[c][2][width=broad,align=center, style={\bfd\ss}]
\setupTABLE[c][3][width=fit, align=raggedleft, style={\bfb\ss}]
\bTR \bTD Left \eTD \bTD Center \eTD \bTD Right \eTD \eTR
\eTABLE
}
\setupheadertexts[{\framed[corner=09,width=broad,align=center,height=\headerheight]%
{\syllabusheader}}]
This is a known problem when you use the same table environment in the body and for the header,
you can use \framed to get the same result without these problems (it’s also faster).
\startsetups[header]
\startframed[corner=09,width=max,height=max,align={middle,low},foregroundstyle=\ss\bfb,offset=1ex]
\startoverlay
{\leftaligned {Left}}
{\midaligned {Middle}}
{\rightaligned{Right}}
\stopoverlay
\stopframed
\stopsetups
\setupheadertexts[\texsetup{header}]
Wolfgang
------------------------------------------------------------------------------------------------------------------
This fails for me. I commented my approach and replaced it with yours. Here is what that section of the file now looks like:
%\define\syllabusheader{%
% \vskip0.1mm
% \bTABLE[frame=off,width=\textwidth]
% \setupTABLE[c][1][width=fit, align=raggedright,style={\bfb\ss}]
% \setupTABLE[c][2][width=broad,align=center, style={\bfd\ss}]
% \setupTABLE[c][3][width=fit, align=raggedleft, style={\bfb\ss}]
% \bTR \bTD Left \eTD \bTD Center \eTD \bTD Right \eTD \eTR
% \eTABLE
% }
%\setupheadertexts[{\framed[corner=09,width=broad,align=center,height=\headerheight]%
% {\syllabusheader}}]
\startsetups[header]
\startframed[corner=09,width=max,height=max,align={middle,low},foregroundstyle=\ss\bfb,offset=1ex]
\startoverlay
{\leftaligned {Left}}
{\midaligned {Middle}}
{\rightaligned{Right}}
\stopoverlay
\stopframed
\stopsetups
\setupheadertexts[\texsetup{header}]
But I get the error:
! Undefined control sequence.
<argument> \texsetup
{header}{}{}{}
\firstoftwoarguments #1#2->#1
\doattributes ...sname #1#2\@EA \endcsname \fi {#4
}\dostopattributes
\dosingletexts ...atetexts {#1#2#5}{#6{}{}{}}}}}}}
\egroup
<argument> ...tk \v!header \v!text \c!middletext }
\hss }\hskip -\makeupwidth...
\dododoplacelayouttextline ...#2 #3}\hbox to #1{#4
}\stoplayoutcomponent \get...
...
l.46 \eTABLE
But I like your idea. It is definitely cleaner and faster is always nice.
Kenny