diff options
Diffstat (limited to 'tex/context/base/page-fac.mkiv')
-rw-r--r-- | tex/context/base/page-fac.mkiv | 48 |
1 files changed, 19 insertions, 29 deletions
diff --git a/tex/context/base/page-fac.mkiv b/tex/context/base/page-fac.mkiv index 88789abe9..fef1cd5ac 100644 --- a/tex/context/base/page-fac.mkiv +++ b/tex/context/base/page-fac.mkiv @@ -25,21 +25,19 @@ %D \stoptext %D \stoptyping -\newbox \b_page_facings_content -\newconditional\c_page_facings_busy +\newbox\b_page_facings_content -\installcorenamespace{oppositeplacing} - -\installsetuponlycommandhandler \??oppositeplacing {oppositeplacing} +\unexpanded\def\setupoppositeplacing + {\dodoubleargument\getparameters[\??np]} \unexpanded\def\startopposite {\dowithnextboxcontent {\hsize\makeupwidth}% {\global\setbox\b_page_facings_content\vbox {\ifvoid\b_page_facings_content - \directoppositeplacingparameter\c!before + \@@npbefore \else - \directoppositeplacingparameter\c!inbetween + \@@npinbetween \unvbox\b_page_facings_content \fi \box\nextbox}}% @@ -49,34 +47,26 @@ {\egroup} \def\page_facings_finish - {\ifvoid\b_page_facings_content \else + {\ifvoid\b_page_facings_content\else \global\setbox\b_page_facings_content\vbox to \makeupheight {\unvbox\b_page_facings_content - \directoppositeplacingparameter\c!after + \@@npafter \vss}% \fi} \def\page_facings_flush - {\ifconditional\c_page_facings_busy - \ifvoid\b_page_facings_content \else - \page_facings_flush_indeed - \fi - \fi} - -\def\page_facings_flush_indeed - {\ifnum\realpageno>\plusone - \begingroup - \pageornamentstate\plusone % tricky - \page_facings_finish - \page_boxes_shipout{\page_boxes_constructed_page\box\b_page_facings_content}% - \endgroup - \else - \global\setbox\b_page_facings_content\emptybox - \fi} - -\appendtoks - \doifelse{\directoppositeplacingparameter\c!state}\v!start\settrue\setfalse\c_page_facings_busy -\to \everysetupoppositeplacing + {\doif\@@npstate\v!start + {\ifvoid\b_page_facings_content\else + \ifnum\realpageno>\plusone + \begingroup + \pageornamentstate\plusone % tricky + \page_facings_finish + \page_boxes_shipout{\page_boxes_constructed_page\box\b_page_facings_content}% + \endgroup + \else + \global\setbox\b_page_facings_content\emptybox + \fi + \fi}} \setupoppositeplacing [\c!state=\v!start, |