[dev-context] Caption in floatcombination is too low

Wolfgang Schuster wolfgang.schuster.lists at gmail.com
Sat Jan 26 20:15:57 CET 2019


Hi Hans,

there is a big gap between the content and the caption of each float in 
a floatcombination environment.


%%%% begin example
\useMPlibrary[dum]

\starttext

\startplacefigure[title={First graphic}]
   \externalfigure[one]
\stopplacefigure

\startfloatcombination
   \startplacefigure[title={Second graphic}]
     \externalfigure[two]
   \stopplacefigure
\stopfloatcombination

\stoptext
%%%% end example


This is probably a result of the following two command from 
strc-flt.mkvi where you put the caption in a \vbox with a height of 1pt 
and flush it afterwards in \vtop which shifts the content down to the 
baseline. As a result of this a empty space was added at the top of the 
caption.

A simple fix for this is to raise the box with the caption when it is 
added to the combination.


%%%% begin strc-flt.mkvi
\def\strc_floats_build_box_separate_make
   {\offinterlineskip
    \vpack to \onepoint{\box\b_strc_floats_content}\break
    \vpack to \onepoint{\box\b_strc_floats_caption}}

\def\strc_floats_build_box_separate_split#1%
   {\setbox\scratchbox\vbox{%
      \setbox\scratchbox\vpack{#1}%
      \unvbox\scratchbox\relax
      \setbox\scratchbox\lastbox
     %\doloop{%
         \unvbox\scratchbox
         \setbox\scratchbox\lastbox
     %   \ifdim\ht\scratchbox=2\onepoint
           \unvbox\scratchbox
           \setbox\scratchbox\lastbox
     %     \exitloop
     %   \fi}%
      \splittopskip\zeropoint
      \global\setbox\b_strc_floats_separate_content\vsplit\scratchbox to 
\onepoint
      \global\setbox\b_strc_floats_separate_caption\vsplit\scratchbox to 
\onepoint
\global\setbox\b_strc_floats_separate_content\vpack{\unvbox\b_strc_floats_separate_content\setbox0\lastbox\unvbox0}%
\global\setbox\b_strc_floats_separate_caption\tpack{\unvbox\b_strc_floats_separate_caption\setbox0\lastbox\unvbox0}%
    }}
%%%% end strc-flt.mkvi

Wolfgang


More information about the dev-context mailing list