From 974640d66e61e81cb197ad96fdff7b08343e4c5a Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sat, 6 Mar 2021 21:58:15 +0000 Subject: context git-svn-id: svn://tug.org/texlive/trunk@58167 c570f23f-e606-0410-a88d-b1316a301751 --- .../texmf-dist/tex/context/base/mkiv/pack-com.mkiv | 83 +++++++++++++++++----- 1 file changed, 67 insertions(+), 16 deletions(-) (limited to 'Master/texmf-dist/tex/context/base/mkiv/pack-com.mkiv') diff --git a/Master/texmf-dist/tex/context/base/mkiv/pack-com.mkiv b/Master/texmf-dist/tex/context/base/mkiv/pack-com.mkiv index fe622509a10..17675fa7ab6 100644 --- a/Master/texmf-dist/tex/context/base/mkiv/pack-com.mkiv +++ b/Master/texmf-dist/tex/context/base/mkiv/pack-com.mkiv @@ -77,11 +77,15 @@ \to \everyinsidefloat \newcount\c_pack_combinations_nesting % local + \newcount\c_pack_combinations_x % global \newcount\c_pack_combinations_y % global \newcount\c_pack_combinations_max % global -\newbox \b_pack_combinations_captions % global -\newbox \b_pack_combinations_temp % global + +\newdimen\d_pack_combinations_ht % global + +\newbox \b_pack_combinations_captions % global % can go +\newbox \b_pack_combinations_temp % global % can go \newbox \b_pack_combinations_content % local \newbox \b_pack_combinations_caption % local @@ -95,6 +99,9 @@ \newcount\c_pack_combinations_x_saved \newcount\c_pack_combinations_y_saved \newcount\c_pack_combinations_max_saved + +\newdimen\d_pack_combinations_ht_saved + \newbox \b_pack_combinations_captions_saved \newbox \b_pack_combinations_temp_saved \newbox \b_pack_combinations_content_saved @@ -108,6 +115,7 @@ \c_pack_combinations_x_saved \c_pack_combinations_x \c_pack_combinations_y_saved \c_pack_combinations_y \c_pack_combinations_max_saved\c_pack_combinations_max + \d_pack_combinations_ht_saved \d_pack_combinations_ht \setbox\b_pack_combinations_captions_saved\box\b_pack_combinations_captions \setbox\b_pack_combinations_temp_saved \box\b_pack_combinations_temp \setbox\b_pack_combinations_content_saved \box\b_pack_combinations_content @@ -121,6 +129,7 @@ \global\c_pack_combinations_x \c_pack_combinations_x_saved \global\c_pack_combinations_y \c_pack_combinations_y_saved \global\c_pack_combinations_max\c_pack_combinations_max_saved + \global\d_pack_combinations_ht \d_pack_combinations_ht_saved \global\setbox\b_pack_combinations_captions\box\b_pack_combinations_captions_saved \global\setbox\b_pack_combinations_temp \box\b_pack_combinations_temp_saved \setbox\b_pack_combinations_content \box\b_pack_combinations_content_saved @@ -360,7 +369,7 @@ \to \everydefinecombination \def\pack_combinations_pickup - {\dostarttagged\t!combinationpair\empty + {\dostarttagged\t!combinationpair\empty % better make this text \dostarttagged\t!combinationcontent\empty \assumelongusagecs\pack_combinations_pickup_content_indeed} @@ -474,37 +483,72 @@ \pack_combinations_flush_captions \egroup} +% \def\pack_combinations_save_caption +% {\global\setbox\b_pack_combinations_captions\hpack +% {\hpack{\box\b_pack_combinations_caption}% +% \unhbox\b_pack_combinations_captions}} +% +% \def\pack_combinations_flush_captions +% {\noalign +% {\ifdim\ht\b_pack_combinations_captions>\zeropoint +% \nointerlineskip % indeed +% \combinationparameter\c!inbetween +% \global\c_pack_combinations_x\c_pack_combinations_max +% \glet\pack_combinations_flush_captions_indeed\pack_combinations_flush_captions_yes +% \else +% \global\setbox\b_pack_combinations_captions\emptybox +% \glet\pack_combinations_flush_captions_indeed\pack_combinations_flush_captions_nop +% \fi}% +% \pack_combinations_flush_captions_indeed +% \crcr} +% +% \def\pack_combinations_flush_captions_yes +% {\global\setbox\b_pack_combinations_captions\hpack +% {\unhbox\b_pack_combinations_captions +% \global\setbox\b_pack_combinations_temp\lastbox}% +% \box\b_pack_combinations_temp +% \global\advance\c_pack_combinations_x\minusone\relax +% \ifnum\c_pack_combinations_x>\zerocount +% \expandafter\pack_combinations_flush_captions_yes_followup +% \else +% \global\setbox\b_pack_combinations_captions\emptybox +% \fi} + +\installcorenamespace{combinationcaption} + \def\pack_combinations_save_caption - {\global\setbox\b_pack_combinations_captions\hpack - {\hpack{\box\b_pack_combinations_caption}% - \unhbox\b_pack_combinations_captions}} + {\ifdim\htdp\b_pack_combinations_caption>\d_pack_combinations_ht + \global\d_pack_combinations_ht\htdp\b_pack_combinations_caption + \fi + \savebox{\??combinationcaption:\number\c_pack_combinations_nesting}{\number\c_pack_combinations_x}{\box\b_pack_combinations_caption}} \def\pack_combinations_flush_captions {\noalign - {\ifdim\ht\b_pack_combinations_captions>\zeropoint + {\ifdim\d_pack_combinations_ht>\zeropoint \nointerlineskip % indeed \combinationparameter\c!inbetween \global\c_pack_combinations_x\c_pack_combinations_max \glet\pack_combinations_flush_captions_indeed\pack_combinations_flush_captions_yes \else - \global\setbox\b_pack_combinations_captions\emptybox \glet\pack_combinations_flush_captions_indeed\pack_combinations_flush_captions_nop \fi}% \pack_combinations_flush_captions_indeed \crcr} \def\pack_combinations_flush_captions_yes - {\global\setbox\b_pack_combinations_captions\hpack - {\unhbox\b_pack_combinations_captions - \global\setbox\b_pack_combinations_temp\lastbox}% - \box\b_pack_combinations_temp - \global\advance\c_pack_combinations_x\minusone\relax - \ifnum\c_pack_combinations_x>\zerocount + {\vpack to \d_pack_combinations_ht\bgroup + \foundbox{\??combinationcaption:\number\c_pack_combinations_nesting}{\number\c_pack_combinations_x}% + \vss + \egroup + \global\advance\c_pack_combinations_x\minusone + \ifnum\c_pack_combinations_x>\zerocount % \c_pack_combinations_max \expandafter\pack_combinations_flush_captions_yes_followup \else - \global\setbox\b_pack_combinations_captions\emptybox + \global\d_pack_combinations_ht\zeropoint + \initializeboxstack{\??combinationcaption:\number-\c_pack_combinations_nesting}% \fi} + \let\pack_combinations_flush_captions_nop\donothing \def\pack_combinations_flush_captions_yes_followup @@ -539,8 +583,15 @@ \let\stopfloatcombination\relax +% \unexpanded\def\pack_combinations_float_hack_a#1% +% {\strc_floats_build_box_separate_split{\getlocalfloat{#1}}% +% \box\b_strc_floats_separate_content} + +% \unexpanded\def\pack_combinations_float_hack_b#1% +% {\box\b_strc_floats_separate_caption} + \unexpanded\def\pack_combinations_float_hack_a#1% - {\strc_floats_build_box_separate_split{\getlocalfloat{#1}}% + {\strc_floats_build_box_separate_split{#1}% \box\b_strc_floats_separate_content} \unexpanded\def\pack_combinations_float_hack_b#1% -- cgit v1.2.3