summaryrefslogtreecommitdiff
path: root/tex/context/base/page-mix.mkiv
diff options
context:
space:
mode:
Diffstat (limited to 'tex/context/base/page-mix.mkiv')
-rw-r--r--tex/context/base/page-mix.mkiv48
1 files changed, 20 insertions, 28 deletions
diff --git a/tex/context/base/page-mix.mkiv b/tex/context/base/page-mix.mkiv
index ef26c5f70..56a1249ca 100644
--- a/tex/context/base/page-mix.mkiv
+++ b/tex/context/base/page-mix.mkiv
@@ -59,7 +59,7 @@
%\c!align=, % inherit
%\c!before=,
%\c!after=,
- %\c!rule=\v!none,
+ %\c!separator=\v!none,
%\c!setups=,
\c!frame=\v!off,
\c!strut=\v!no,
@@ -69,6 +69,7 @@
\c!maxwidth=\makeupwidth,
\c!grid=\v!tolerant,
\c!step=.25\lineheight, % needs some experimenting
+ %\c!splitmethod=\v!fixed, % will be default
\c!method=\ifinner\s!box\else\s!otr\fi] % automatic as suggested by WS
\let\startmixedcolumns\relax % defined later
@@ -163,7 +164,8 @@
\definemixedcolumns
[\s!itemgroupcolumns]
[\c!n=\itemgroupparameter\c!n,
- \c!rule=\v!off,
+ \c!separator=\v!none,
+ \c!splitmethod=\v!none,
\c!balance=\v!yes]
\unexpanded\def\strc_itemgroups_start_columns
@@ -294,7 +296,7 @@
\unexpanded\def\page_mix_command_inject_separator
{\bgroup
\hss
- \csname\??mixedcolumnsseparator\mixedcolumnsparameter\c!separator\endcsname
+ \csname\??mixedcolumnsseparator\mixedcolumnsparameter\c!separator\endcsname % was \c!rule
\hss
\egroup}
@@ -487,10 +489,17 @@
\usealignparameter\mixedcolumnsparameter
\usesetupsparameter\mixedcolumnsparameter}
+% \setvalue{\??mixedcolumnsstop\s!otr}%
+% {\par
+% \ifcase\c_page_mix_otr_nesting\or
+% \c_page_mix_routine\c_page_mix_routine_balance
+% \page_otr_trigger_output_routine
+% \fi}
+
\setvalue{\??mixedcolumnsstop\s!otr}%
{\par
\ifcase\c_page_mix_otr_nesting\or
- \c_page_mix_routine\c_page_mix_routine_balance
+ \doif{\mixedcolumnsparameter\c!balance}\v!yes{\c_page_mix_routine\c_page_mix_routine_balance}%
\page_otr_trigger_output_routine
\fi}
@@ -518,34 +527,13 @@
strutht = \number\strutht,
strutdp = \number\strutdp,
threshold = \number\d_page_mix_threshold,
+ splitmethod = "\mixedcolumnsparameter\c!splitmethod",
balance = "#1",
alternative = "\mixedcolumnsparameter\c!alternative",
grid = \ifgridsnapping true\else false\fi,
}}%
\deadcycles\zerocount}
-% \unexpanded\def\page_mix_routine_package
-% {\ctxcommand{mixfinalize()}%
-% \setbox\b_page_mix_collected\vbox \bgroup
-% \ifvoid\b_page_mix_preceding \else
-% \box\b_page_mix_preceding
-% \global\d_page_mix_preceding_height\zeropoint
-% \nointerlineskip
-% \fi
-% \hskip\d_page_mix_leftskip
-% \page_mix_hbox to \d_page_mix_max_width \bgroup
-% \letmixedcolumnsparameter\c!strut \v!no
-% \letmixedcolumnsparameter\c!align \empty % probably not needed as we could use a simple variant
-% \letmixedcolumnsparameter\c!setups\empty
-% \dorecurse\c_page_mix_n_of_columns {%
-% \inheritedmixedcolumnsframed{\page_mix_command_package_column}%
-% \ifnum\recurselevel<\c_page_mix_n_of_columns
-% \page_mix_command_inject_separator
-% \fi
-% }%
-% \egroup
-% \egroup}
-
\unexpanded\def\page_mix_routine_package
{\ctxcommand{mixfinalize()}%
\setbox\b_page_mix_collected\vbox \bgroup
@@ -557,9 +545,13 @@
\hskip\d_page_mix_leftskip
\page_mix_hbox to \d_page_mix_max_width \bgroup
\dorecurse\c_page_mix_n_of_columns{%
- % \inheritedmixedcolumnsframed{\page_mix_command_package_column}% needs reset of strut, align, setups etc
- \setbox\scratchbox\page_mix_command_package_column % needs packaging anyway
+ % needs packaging anyway
+ \setbox\scratchbox\page_mix_command_package_column
+ % for the moment a quick and dirty patch .. we need to go into the box (hence the \plusone) .. a slowdowner
+ \page_lines_add_numbers_to_box\scratchbox\recurselevel\c_page_mix_n_of_columns\plusone
+ % the framed needs a reset of strut, align, setups etc
\inheritedmixedcolumnsframedbox\currentmixedcolumns\scratchbox
+ % optional
\ifnum\recurselevel<\c_page_mix_n_of_columns
\page_mix_command_inject_separator
\fi