summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/context/base/mkiv/strc-flt.mkvi
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/context/base/mkiv/strc-flt.mkvi')
-rw-r--r--Master/texmf-dist/tex/context/base/mkiv/strc-flt.mkvi82
1 files changed, 46 insertions, 36 deletions
diff --git a/Master/texmf-dist/tex/context/base/mkiv/strc-flt.mkvi b/Master/texmf-dist/tex/context/base/mkiv/strc-flt.mkvi
index d6a6723d7be..d9fd359c668 100644
--- a/Master/texmf-dist/tex/context/base/mkiv/strc-flt.mkvi
+++ b/Master/texmf-dist/tex/context/base/mkiv/strc-flt.mkvi
@@ -211,7 +211,7 @@
\let\strc_floats_define_saved\definefloat
-\unexpanded\def\definefloat
+\unexpanded\overloaded\def\definefloat
{\dotripleempty\strc_floats_define}
\def\strc_floats_define[#1][#2][#3]% name+plural+parent | name+parent+settings
@@ -397,7 +397,7 @@
\glet\currentfloatsynchronize\m_strc_counters_last_registered_synchronize
%
% \iflocation
- % \attribute\destinationattribute\currentfloatattribute\relax
+ % \c_attr_destination\currentfloatattribute\relax
% \fi
\currentfloatsynchronize
\strc_floats_make_complete_caption
@@ -844,7 +844,8 @@
{\strc_floats_set_local_hsize
\floatparameter\c!inner
\postponenotes} % new
- {\dostoptagged
+ {\page_postprocessors_linenumbers_box\nextbox % for aditya
+ \dostoptagged
\strc_floats_finish_placement}
\vbox}
@@ -1229,7 +1230,7 @@
\let\doifoddpagefloatelse \doifelseoddpagefloat
\appendtoks
- \let\rightorleftpageaction\doifelserightpagefloat
+ \overloaded\frozen\let\rightorleftpageaction\doifelserightpagefloat
\to \everyinsidefloat
% \let\movesidefloat\gobbleoneargument
@@ -1623,7 +1624,7 @@
\setbox\b_strc_floats_caption\hbox % text
{\floatcaptionparameter\c!command{\box\b_strc_floats_caption}}%
\strc_floats_set_caption_dimensions\b_strc_floats_caption
- \moveboxontogrid\b_strc_floats_caption{\floatcaptionparameter\c!grid}\d_strc_floats_caption_height
+ %\moveboxontogrid\b_strc_floats_caption{\floatcaptionparameter\c!grid}\d_strc_floats_caption_height
%\page_backgrounds_add_local_to_box\b_strc_floats_caption
\strc_floats_build_box
\fi
@@ -2202,6 +2203,8 @@
{\box\floatbox}}}
% special purpose: used in floatcombinations
+%
+% todo : keep float content and caption separated in local
\newbox\b_strc_floats_separate_content
\newbox\b_strc_floats_separate_caption
@@ -2210,37 +2213,44 @@
{\settrue\c_floats_adapt_to_caption_width
\settrue\c_floats_store_minimal_package}
+% \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}}
+
+%D Remark for \LMTX: we don't want to migrate inserts here so we unpack
+%D (could be a flag). When migrated, the inserts end up in the vertical
+%D list and we no longer have just a box (but inserts and lines again).
+
+% \def\strc_floats_build_box_separate_split#1%
+% {\setbox\scratchbox\vpack{#1}%
+% \setbox\scratchbox\vbox\bgroup
+% \unvpack\scratchbox
+% \setbox\scratchbox\lastbox % can have (unmigrated) inserts
+% \unvpack\scratchbox
+% \setbox\scratchbox\lastbox % can have (unmigrated) inserts
+% \unvpack\scratchbox
+% \setbox\scratchbox\lastbox % can have (unmigrated) inserts
+% \splittopskip\zeropoint
+% \global\setbox\b_strc_floats_separate_content\vsplit\scratchbox to \onepoint
+% \global\setbox\b_strc_floats_separate_caption\vsplit\scratchbox to \onepoint
+% \egroup
+% \global\setbox\b_strc_floats_separate_content\vpack
+% {\unvbox\b_strc_floats_separate_content
+% \setbox\scratchbox\lastbox
+% \unvbox\scratchbox}%
+% \global\setbox\b_strc_floats_separate_caption\tpack
+% {\unvbox\b_strc_floats_separate_caption
+% \setbox\scratchbox\lastbox
+% \unvbox\scratchbox}}
+
\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\bgroup
- \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
- \egroup
- \global\setbox\b_strc_floats_separate_content\vpack
- {\unvbox\b_strc_floats_separate_content
- \setbox\scratchbox\lastbox
- \unvbox\scratchbox}%
- \global\setbox\b_strc_floats_separate_caption\tpack
- {\unvbox\b_strc_floats_separate_caption
- \setbox\scratchbox\lastbox
- \unvbox\scratchbox}}
+ {\savebox\??localfloatstack{\number\numexpr\c_strc_localfloats_n+1\relax:a}{\box\b_strc_floats_content}%
+ \savebox\??localfloatstack{\number\numexpr\c_strc_localfloats_n+1\relax:b}{\box\b_strc_floats_caption}}
+
+\unexpanded\def\strc_floats_build_box_separate_split#1%
+ {\global\setbox\b_strc_floats_separate_content\vpack{\foundbox\??localfloatstack{\number#1:a}}%
+ \global\setbox\b_strc_floats_separate_caption\tpack{\foundbox\??localfloatstack{\number#1:b}}}
% \def\strc_floats_build_box_step#1%
% {\doifdefined{\??floatbuilder#1}{\def\floatcaptionarrangement{#1}\quitcommalist}}
@@ -2339,7 +2349,7 @@
\strc_floats_check_caption_content
\strc_floats_prepare_side_caption
\setbox\b_strc_floats_caption\hbox{\floatcaptionparameter\c!command{\box\b_strc_floats_caption}}% \hpack ?
- \moveboxontogrid\b_strc_floats_caption{\floatcaptionparameter\c!grid}\d_strc_floats_caption_height
+ %\moveboxontogrid\b_strc_floats_caption{\floatcaptionparameter\c!grid}\d_strc_floats_caption_height
%\page_backgrounds_add_local_to_box\b_strc_floats_caption
\strc_floats_build_side_box
\fi