ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
* More on split TABLES: Numbering Scheme and other things
@ 2006-05-06  5:23 Johannes Graumann
  0 siblings, 0 replies; only message in thread
From: Johannes Graumann @ 2006-05-06  5:23 UTC (permalink / raw)


Hello,

I'm using the split-TABLE patch below (send - how can it be different - by
Hans) along with the also appended table definition (to read out XML code).
I have two problems here:
1) as posted earlier, the page just before a split TABLE overflows on the
bottom (see
http://www.idyll.org:8081/JohSite/context/page-overflow-preceeding-a-split-table).
2) I also wonder whether the table numbering scheme this is producing may be
changeable: instead of '1.1a', '1.2b' (currently for two parts of a split
TABLE) the more intuitive '1.1a', '1.1b'

Can anybody give me a helping hand for fixing this?

Thanks, Joh

Table definition:
\defineXMLnested
  [table]
  {
    \defineXMLsave[floattitle]
    \defineXMLsave[caption]
    \defineXMLsave[header]
    \defineXMLsave[body]
    \defineXMLsave[footer]
  }
  {
    \splitfloat
      {
        \expanded{%
          \placetable
            [\XMLpar{table}{location}{here}]
            [\XMLpar{table}{label}{unknown}]
            {\select{figurecaption}{\XMLflush{floattitle}
{{\bf\XMLflush{floattitle}} \XMLflush{caption}}}
            %{\XMLflush{caption}}
         }
      }
      {
        \setupTABLE[row][1][topframe=on]
        \setupTABLE[row][last][bottomframe=on]
\bTABLE[frame=off,split=repeat,splitmethod=b,style={\switchtobodyfont[small]\setupinterlinespace[line=2.8ex]}]
          \bTABLEhead\XMLflush{header}\eTABLEhead
          \bTABLEbody\XMLflush{body}\eTABLEbody
          \bTABLEfoot\XMLflush{footer}\eTABLEfoot
        \eTABLE
      }
  }


Split TABLE patch:
% Fixing multipage table according to Hans Hagen:
\unprotect
% in core-ntb : we check the flag 
\def\splittblbox#1%
  {\ifinsidesplitfloat
     \donetrue
   \else\ifinsidefloat
     \donefalse
   \else
     \donetrue
   \fi\fi
   \ifdone
     \executeifdefined{splittblbox\tbltblsplitmethod}\splittblboxa{#1}%
   \else
     \notsplittblbox{#1}%
   \fi}
% in page-flt : we add a flag 
\newif\ifinsidesplitfloat % will become chardef
\def\dosplitfloat[#1]#2% nog dubbele refs
  {\ifinsidecolumns    % tzt ook nog figuren splitten
     % not yet supported
   \else
     \bgroup
     \insidefloattrue
     \insidesplitfloattrue
     \getparameters[\??si][#1]%
     \resetnumber[\??si]%
     \def\floatcaptionsuffix{\convertednumber[\??si]}%
     \TABLEcaptionheight\@@silines\lineheight % brrr
     \simplifypagebreak % \page becomes \goodbreak
     \dowithnextbox
       {\forgetall
        \dontcomplain
        \doloop
          {\setbox2\vsplit\nextbox to \lineheight
           \setbox2\vbox{\unvbox2}
           \ifdim\ht2>\lineheight
             \incrementnumber[\??si]%
             \ifcase\rawnumber[\??si]\or \ifdim\nextboxht=\zeropoint
               \let\floatcaptionsuffix\empty
             \fi \fi
             \bgroup
             #2{\unvbox2}
             \egroup
             \ifdim\nextboxht>\zeropoint
               \page
               \decrementnumber[\floatcaptionnumber]%
             \fi
           \fi
           \ifdim\nextboxht>\zeropoint\else
             \expandafter\exitloop
           \fi}%
        \egroup}
     \vbox
   \fi}
\protect
% beware: you need to set the splitmethod to b (boxed split) 

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2006-05-06  5:23 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-05-06  5:23 More on split TABLES: Numbering Scheme and other things Johannes Graumann

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).