diff options
author | Hans Hagen <pragma@wxs.nl> | 2021-12-30 19:47:30 +0100 |
---|---|---|
committer | Context Git Mirror Bot <phg@phi-gamma.net> | 2021-12-30 19:47:30 +0100 |
commit | 9b1c3470a7a222ef9ae20106d750c4a0127819a7 (patch) | |
tree | 746f1a65eb69b87ea33e07ab4730540a8a8d50c9 /tex/context/base/mkxl/page-sid.mkxl | |
parent | cefe8d703dd66048fa9d259b697609bd539a7bce (diff) | |
download | context-9b1c3470a7a222ef9ae20106d750c4a0127819a7.tar.gz |
2021-12-30 19:03:00
Diffstat (limited to 'tex/context/base/mkxl/page-sid.mkxl')
-rw-r--r-- | tex/context/base/mkxl/page-sid.mkxl | 55 |
1 files changed, 49 insertions, 6 deletions
diff --git a/tex/context/base/mkxl/page-sid.mkxl b/tex/context/base/mkxl/page-sid.mkxl index fb1022c2a..1ff587120 100644 --- a/tex/context/base/mkxl/page-sid.mkxl +++ b/tex/context/base/mkxl/page-sid.mkxl @@ -46,6 +46,7 @@ \newdimen \d_page_sides_rightoffset %newbox \b_page_sides_bottom +\newbox \b_page_sides_spill_over \newcount \c_page_sides_lines_done \newcount \c_page_sides_checks_done @@ -57,6 +58,7 @@ \newconditional \c_page_sides_short \newconditional \c_page_sides_flag \newconditional \c_page_sides_shape_down +\newconditional \c_page_sides_keep_together \newdimen \d_page_sides_shift \newdimen \d_page_sides_extrashift @@ -294,7 +296,7 @@ \box\floatbox % somehow we need this \scratchbox magic, but at least it's the same as the % tracer now - \setbox\scratchbox\emptybox + \setbox\scratchbox\emptyhbox \wd\scratchbox\hsize \ht\scratchbox\d_page_sides_bottomtotal \box\scratchbox @@ -387,7 +389,6 @@ \fi \global\d_page_sides_downshift\zeropoint} - %D We have a few virtual dimensions. I'm not sure what to do with \type %D {\pagedepth} and \type {\pageshrink} in the next two. If we ever need %D that it will become options. @@ -448,7 +449,10 @@ \penalty\zerocount % works too \else %\tracingpages\plusone \tracingonline\plustwo + \begingroup + \pageboundarypenalty\plustenthousand \pageboundary % becomes a penalty (after triggering the callback) (experimental!) + \endgroup %\tracingpages\zerocount \fi \page_otr_command_set_vsize} % new, no longer really needed @@ -895,6 +899,40 @@ \prevdepth\strutdp} %\ignoreparskip} +% \def\page_sides_handle_float#1% +% {\page_sides_initialize_checker +% \page_sides_check_horizontal_skips +% \page_sides_check_vertical_skips +% \page_sides_apply_horizontal_shift +% \page_sides_check_previous_float +% \page_sides_inject_before +% \page_sides_inject_dummy_lines +% \page_sides_relocate_float{#1}% +% \page_sides_apply_vertical_shift +% \page_sides_analyse_space +% \ifconditional\c_page_floats_room +% \global\setfalse\c_page_sides_delayed +% % we're ok +% \else +% \global\settrue\c_page_sides_delayed +% \global\c_page_sides_m_of_lines\c_page_sides_n_of_lines +% \ifcase\c_page_sides_page_method +% \page_otr_fill_and_eject_page +% \or +% \page_otr_force_new_page_one +% \else +% \page_otr_fill_and_eject_page +% \fi +% \global\c_page_sides_n_of_lines\c_page_sides_m_of_lines +% \page_sides_analyse_space +% %\page_sides_inject_before +% \page_sides_inject_dummy_lines +% \fi +% \page_sides_place_float +% \global\setfalse\c_page_sides_delayed +% \page_sides_check_floats_reset +% \page_sides_wrapup} + \def\page_sides_handle_float#1% {\page_sides_initialize_checker \page_sides_check_horizontal_skips @@ -910,16 +948,21 @@ \global\setfalse\c_page_sides_delayed % we're ok \else + \ifconditional\c_page_sides_keep_together + \clf_interceptsamepagecontent\b_page_sides_spill_over + \fi \global\settrue\c_page_sides_delayed \global\c_page_sides_m_of_lines\c_page_sides_n_of_lines \ifcase\c_page_sides_page_method - \page_otr_fill_and_eject_page + \page_otr_fill_and_eject_page \or - \page_otr_force_new_page_one + \page_otr_force_new_page_one \else - \page_otr_fill_and_eject_page + \page_otr_fill_and_eject_page + \fi + \ifvoid\b_page_sides_spill_over\else + \box\b_page_sides_spill_over \fi - \global\c_page_sides_n_of_lines\c_page_sides_m_of_lines \page_sides_analyse_space %\page_sides_inject_before \page_sides_inject_dummy_lines |