diff options
author | Hans Hagen <pragma@wxs.nl> | 2018-10-10 21:09:32 +0200 |
---|---|---|
committer | Context Git Mirror Bot <phg@phi-gamma.net> | 2018-10-10 21:09:32 +0200 |
commit | 9f36318b0e571bcbc93dc2112d01bbf2178ed020 (patch) | |
tree | d6b075357717f7fde0bdf73aa364dbbca5417c50 /tex/context/base/mkiv/page-sid.mkiv | |
parent | 753dd0cbafc567d4960c5fc4888ccb4e2302c64d (diff) | |
download | context-9f36318b0e571bcbc93dc2112d01bbf2178ed020.tar.gz |
2018-10-08 17:52:00
Diffstat (limited to 'tex/context/base/mkiv/page-sid.mkiv')
-rw-r--r-- | tex/context/base/mkiv/page-sid.mkiv | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/tex/context/base/mkiv/page-sid.mkiv b/tex/context/base/mkiv/page-sid.mkiv index 812196e6f..303b77af2 100644 --- a/tex/context/base/mkiv/page-sid.mkiv +++ b/tex/context/base/mkiv/page-sid.mkiv @@ -81,6 +81,9 @@ \newdimen \d_page_sides_progression +\newcount \c_page_sides_m_of_lines +\newconditional \c_page_sides_delayed + \newif \iftracesidefloats % public (might change) %D Defaults: @@ -764,7 +767,7 @@ \prevdepth\strutdp} %\ignoreparskip} -\def\page_sides_handle_float#1% grid (4) is rather experimental +\def\page_sides_handle_float#1% {\page_sides_initialize_checker \page_sides_check_horizontal_skips \page_sides_check_vertical_skips @@ -776,8 +779,11 @@ \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 @@ -785,11 +791,13 @@ \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} @@ -797,8 +805,7 @@ {% we need to do this aftergroup \aftergroup\par \aftergroup\ignoreparskip - \aftergroup\ignorespaces - } + \aftergroup\ignorespaces} \def\page_sides_check_floats_indeed {\page_sides_analyse_progress @@ -857,6 +864,10 @@ \unexpanded\def\page_sides_check_floats_set {\edef\p_sidethreshold{\floatparameter\c!sidethreshold}% + \ifconditional\c_page_sides_delayed + % For Alan's hanging right float that moved to the next page. + \d_page_sides_progress\zeropoint + \fi \ifx\p_sidethreshold\v!old \d_page_sides_progression\dimexpr\d_page_sides_progress+\strutht-\roundingeps\relax \c_page_sides_n_of_hang\d_page_sides_progression |