diff options
Diffstat (limited to 'tex/context/base/strc-flt.mkvi')
-rw-r--r-- | tex/context/base/strc-flt.mkvi | 83 |
1 files changed, 45 insertions, 38 deletions
diff --git a/tex/context/base/strc-flt.mkvi b/tex/context/base/strc-flt.mkvi index 34bcf0538..939cb2736 100644 --- a/tex/context/base/strc-flt.mkvi +++ b/tex/context/base/strc-flt.mkvi @@ -706,13 +706,13 @@ \def\float_place_packaged_boxes {\bgroup \ifconditional\usesamefloatnumber - \globallet\currentfloatnumber \previousfloatnumber - \globallet\currentfloatattribute \empty - \globallet\currentfloatsynchronize\relax + \globallet\currentfloatnumber \previousfloatnumber + \globallet\currentfloatattribute \empty + \globallet\currentfloatsynchronize\relax \else - \ifnofloatnumber \else \ifnofloatcaption \else - \doincrementsubstructurecounter[\@@thestructurecounter\currentfloat][1]% - \fi \fi + \ifnofloatnumber \else \ifnofloatcaption \else + \doincrementsubstructurecounter[\@@thestructurecounter\currentfloat][1]% + \fi \fi \dostructurecountercomponent {float}% \setupcurrentfloatcaption @@ -1173,7 +1173,7 @@ \postponenotes \dontcomplain \setbox\float_content_box\vbox{\borderedfloatbox}% - \let\float_align_content \float_align_content_indeed + \let\float_align_content\float_align_content_indeed \let\float_align_caption\float_align_caption_indeed \check_float_caption_content \ifcase\floatparameter\c!method @@ -1507,26 +1507,28 @@ {\expanded{\doifinset{\v!overlay}{\floatcaptionparameter\c!location}}\tophangfloat {\tempfloatwidth\wd\float_content_box \ifparfloat - \hbox{\locatesidefloat{\box\float_caption_box}}% + \hbox{\locate_side_float {\box\float_caption_box}}% \dofloatboxbetweenstack - \hbox{\hbox {\box\float_content_box }}% + \hbox{\hbox {\box\float_content_box}}% \else - \hbox{\locatetextfloat{\box\float_caption_box}} + \setfloathsize + \hbox{\locate_text_float {\box\float_caption_box}} \dofloatboxbetweenstack - \hbox{\float_align_content {\box\float_content_box }}% + \hbox{\float_align_content{\box\float_content_box}}% \fi}} \def\dofloatboxnormalbotstackbuilder {\expanded{\doifinset{\v!overlay}{\floatcaptionparameter\c!location}}\bothangfloat {\tempfloatwidth\wd\float_content_box \ifparfloat - \hbox{\hbox {\box\float_content_box }}% + \hbox{\hbox {\box\float_content_box}}% \dofloatboxbetweenstack - \hbox{\locatesidefloat{\box\float_caption_box}}% + \hbox{\locate_side_float {\box\float_caption_box}}% \else - \hbox{\float_align_content {\box\float_content_box }}% + \setfloathsize + \hbox{\float_align_content{\box\float_content_box}}% \dofloatboxbetweenstack - \hbox{\locatetextfloat{\box\float_caption_box}}% + \hbox{\locate_text_float {\box\float_caption_box}}% \fi}} \def\dofloatboxgridtopstackbuilder @@ -1534,13 +1536,14 @@ \setbox\scratchbox\vbox {\tempfloatwidth\wd\float_content_box \ifparfloat - \locatesidefloat{\box\float_caption_box}% + \locate_side_float {\box\float_caption_box}% \vss\dofloatboxbetweenstack - \hbox {\box\float_content_box }% + \hbox {\box\float_content_box}% \else - \locatetextfloat{\box\float_caption_box}% + \setfloathsize + \locate_text_float {\box\float_caption_box}% \vss\dofloatboxbetweenstack - \float_align_content {\box\float_content_box }% + \float_align_content{\box\float_content_box}% \fi}% \getnoflines{\dimexpr\htdp\scratchbox-10\scaledpoint\relax}% get rid of inaccuracy \vbox to \noflines\lineheight{\unvbox\scratchbox}} @@ -1550,13 +1553,14 @@ \setbox\scratchbox\vbox {\tempfloatwidth\wd\float_content_box \ifparfloat - \hbox {\box\float_content_box }% + \hbox {\box\float_content_box}% \vss\dofloatboxbetweenstack - \locatesidefloat{\box\float_caption_box}% + \locate_side_float {\box\float_caption_box}% \else - \float_align_content {\box\float_content_box }% + \setfloathsize + \float_align_content{\box\float_content_box}% \vss\dofloatboxbetweenstack - \locatetextfloat{\box\float_caption_box}% + \locate_text_float {\box\float_caption_box}% \fi}% \getnoflines{\dimexpr\htdp\scratchbox-10\scaledpoint\relax}% get rid of inaccuracy \vbox to \noflines\lineheight{\unvbox\scratchbox}} @@ -1570,13 +1574,14 @@ \vbox to \noflines\lineheight {\tempfloatwidth\wd\float_content_box \ifparfloat - \locatesidefloat{\box\float_caption_box}% + \locate_side_float {\box\float_caption_box}% \vss\dofloatboxbetweenstack\vss - \hbox {\box\float_content_box }% + \hbox {\box\float_content_box}% \else - \locatetextfloat{\box\float_caption_box}% + \setfloathsize + \locate_text_float {\box\float_caption_box}% \vss\dofloatboxbetweenstack\vss - \float_align_content {\box\float_content_box }% + \float_align_content{\box\float_content_box}% \fi}} \def\dofloatboxstretchbotstackbuilder @@ -1588,13 +1593,14 @@ \vbox to \noflines\lineheight {\tempfloatwidth\wd\float_content_box \ifparfloat - \hbox {\box\float_content_box }% + \hbox {\box\float_content_box}% \vss\dofloatboxbetweenstack\vss - \locatesidefloat{\box\float_caption_box} + \locate_side_float {\box\float_caption_box} \else - \float_align_content {\box\float_content_box }% + \setfloathsize + \float_align_content{\box\float_content_box}% \vss\dofloatboxbetweenstack\vss - \locatetextfloat{\box\float_caption_box}% + \locate_text_float {\box\float_caption_box}% \fi}} \def\dofloatboxtopbuilder @@ -1626,7 +1632,7 @@ \processcommacommand[\floatcaptionparameter\c!location]\docommand \executeifdefined{\??kj:\floatcaptionarrangement}{\getvalue{\??kj:\s!default}}}} -\def\locatetextfloat +\def\locate_text_float {\let\next\float_align_caption \expanded{\processallactionsinset[\floatcaptionparameter\c!location]} [ \v!left=>\let\next\relocatecaptionleft, @@ -1731,15 +1737,16 @@ \float_make_complete_caption}}}% \dostoptagged} +\def\locate_side_float#1% + {\begingroup + \alignstrutmode\zerocount + \hsize\tempfloatwidth \forgetall + \alignedline{\floatparameter\c!location}\v!middle{#1}% + \endgroup} + \def\build_side_float_box {\let\float_align_content\relax \let\float_align_caption\relax - \def\locatesidefloat##1% - {\begingroup - \alignstrutmode\zerocount - \hsize\tempfloatwidth \forgetall - \alignedline{\floatparameter\c!location}\v!middle{##1}% - \endgroup}% \build_float_box} \newif\ifparfloat |