diff options
author | Karl Berry <karl@freefriends.org> | 2016-04-22 22:14:39 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2016-04-22 22:14:39 +0000 |
commit | fc4466b32ed330a956ac603b00fd145524cff49a (patch) | |
tree | 2c50e2b8de13aa9233b2c76dffe201558f169e86 /Master/texmf-dist/tex/context/base/mkiv/page-fac.mkiv | |
parent | 50e2368597d5f6fe2057195d0ae6a9f2044923e4 (diff) |
context (22apr16)
git-svn-id: svn://tug.org/texlive/trunk@40691 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/context/base/mkiv/page-fac.mkiv')
-rw-r--r-- | Master/texmf-dist/tex/context/base/mkiv/page-fac.mkiv | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/context/base/mkiv/page-fac.mkiv b/Master/texmf-dist/tex/context/base/mkiv/page-fac.mkiv new file mode 100644 index 00000000000..88789abe9fb --- /dev/null +++ b/Master/texmf-dist/tex/context/base/mkiv/page-fac.mkiv @@ -0,0 +1,87 @@ +%D \module +%D [ file=page-fac, % moved from page-ini +%D version=2011.12.07, % 2000.10.20, +%D title=\CONTEXT\ Page Macros, +%D subtitle=Facing Pages, +%D author=Hans Hagen, +%D date=\currentdate, +%D copyright={PRAGMA ADE \& \CONTEXT\ Development Team}] +%C +%C This module is part of the \CONTEXT\ macro||package and is +%C therefore copyrighted by \PRAGMA. See mreadme.pdf for +%C details. + +\writestatus{loading}{ConTeXt Page Macros / Facing Pages} + +\unprotect + +%D \macros +%D {setupoppositeplacing,startopposite} +%D +%D \starttyping +%D \starttext +%D test \startopposite \blackrule[width=3cm,height=4cm] \stopopposite test +%D test \startopposite \blackrule[width=3cm,height=4cm] \stopopposite test +%D \stoptext +%D \stoptyping + +\newbox \b_page_facings_content +\newconditional\c_page_facings_busy + +\installcorenamespace{oppositeplacing} + +\installsetuponlycommandhandler \??oppositeplacing {oppositeplacing} + +\unexpanded\def\startopposite + {\dowithnextboxcontent + {\hsize\makeupwidth}% + {\global\setbox\b_page_facings_content\vbox + {\ifvoid\b_page_facings_content + \directoppositeplacingparameter\c!before + \else + \directoppositeplacingparameter\c!inbetween + \unvbox\b_page_facings_content + \fi + \box\nextbox}}% + \vbox\bgroup} + +\unexpanded\def\stopopposite + {\egroup} + +\def\page_facings_finish + {\ifvoid\b_page_facings_content \else + \global\setbox\b_page_facings_content\vbox to \makeupheight + {\unvbox\b_page_facings_content + \directoppositeplacingparameter\c!after + \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 + +\setupoppositeplacing + [\c!state=\v!start, + \c!before=, + \c!inbetween=\blank, + \c!after=] + +\protect \endinput |