[dev-context] page-brk.mkiv
Wolfgang Schuster
schuster.wolfgang at googlemail.com
Tue Feb 14 23:16:08 CET 2012
Hi,
\def\page_tests_test[#1][#2]% don't change, only add more methods
{\relax % needed before \if
\ifconditional\c_page_breaks_enabled
% new from here
\ifcase\testpagetrigger
\endgraf
\or\ifvmode
\dosomebreak\allowbreak
\else % indeed?
\vadjust{\allowbreak}%
\endgraf
\fi\fi
% till here
\ifdim\pagegoal<\maxdimen \relax
\ifdim\pagetotal<\pagegoal \relax
\d_page_tests_test\dimexpr
#1\lineheight
+\pagetotal
\ifdim\lastskip<\parskip+\parskip\fi
- \ifthirdargument+#2\fi
+ \ifsecondargument+#2\fi
\relax
\ifcase\testpagemethod
\ifdim\d_page_tests_test>.99\pagegoal
\penalty-\plustenthousand
\fi
\or
\ifdim\dimexpr\d_page_tests_test-\pagegoal\relax>-\lineheight
\penalty-\plustenthousand
\fi
\or
\getnoflines\pagegoal
\ifdim\dimexpr\d_page_tests_test-\noflines\lineheight\relax>-\lineheight
\penalty-\plustenthousand
\fi
\or % same as 0 but more accurate
\ifdim\dimexpr\d_page_tests_test-10\scaledpoint\relax>\pagegoal
\penalty-\plustenthousand
\fi
\fi
\else\ifnum\c_page_tests_mode=\plusthree
\page_tests_flush_so_far
\fi\fi
\else\ifnum\c_page_tests_mode=\plusone
\goodbreak
\fi\fi
\else
\endgraf
\fi}
Wolfgang
More information about the dev-context
mailing list