diff options
Diffstat (limited to 'tex/context/base/page-txt.mkvi')
-rw-r--r-- | tex/context/base/page-txt.mkvi | 112 |
1 files changed, 52 insertions, 60 deletions
diff --git a/tex/context/base/page-txt.mkvi b/tex/context/base/page-txt.mkvi index dc445e0e1..c86597338 100644 --- a/tex/context/base/page-txt.mkvi +++ b/tex/context/base/page-txt.mkvi @@ -430,9 +430,6 @@ \global\setfalse\resyncaftertextline \fi} -\def\getspecificlayouttext#vertical#horizontal#what% - {\csname\namedlayoutelementhash{#vertical:#horizontal}#what\endcsname} - % \settext[header][text][middle][xxx][yyy] \def\settextcontent @@ -477,6 +474,8 @@ %D macros. These are hooked into the general purpose token %D list registers mentioned before. +\def\ignoredlinebreak{\unskip\space\ignorespaces} + \def\page_layouts_place_text_line_indeed#vertical#height% {\let\currentlayouttextline#vertical% \ifdim#height>\zeropoint\relax % prevents pagenumbers when zero height @@ -694,26 +693,26 @@ % associated. This is a rather messy test but better than the MkII % way where we use states and keep settings. -\let\m_page_layouts_page_number_location \relax -\let\m_page_layouts_page_number_location_v\relax -\let\m_page_layouts_page_number_location_h\relax -\let\m_page_layouts_page_number_location_x\relax +\let\m_page_layouts_page_number_location_ \relax +\let\m_page_layouts_page_number_location__v\relax +\let\m_page_layouts_page_number_location__h\relax +\let\m_page_layouts_page_number_location__x\relax -\def\page_layouts_place_page_number % also elsewhere .. beware, not \unexpanded else - {\strc_pagenumbers_place_location} % test below fails +\def\page_layouts_place_page_number % also elsewhere .. beware, not \unexpanded else + {\placelocationpagenumber} % test below fails \def\page_layouts_reset_page_number_location - {\ifx\m_page_layouts_page_number_location_v\relax\else - \edef\currentlayoutelement{\m_page_layouts_page_number_location_v:\m_page_layouts_page_number_location_h}% - \edef\page_layouts_previous_page_number_locator{\detokenizedlayoutelementparameter\m_page_layouts_page_number_location_x}% + {\ifx\m_page_layouts_page_number_location__v\relax\else + \edef\currentlayoutelement{\m_page_layouts_page_number_location__v:\m_page_layouts_page_number_location__h}% + \edef\page_layouts_previous_page_number_locator{\detokenizedlayoutelementparameter\m_page_layouts_page_number_location__x}% \doif{\meaning\page_layouts_previous_page_number_locator}{\meaning\page_layouts_place_page_number} - {\resetlayoutelementparameter\m_page_layouts_page_number_location_x}% + {\resetlayoutelementparameter\m_page_layouts_page_number_location__x}% \fi} \def\page_layouts_set_page_number_location - {\edef\currentlayoutelement{\m_page_layouts_page_number_location_v:\m_page_layouts_page_number_location_h}% - \letlayoutelementparameter\m_page_layouts_page_number_location_x\page_layouts_place_page_number - \ifx\m_page_layouts_page_number_location_x\c!marginedgetext + {\edef\currentlayoutelement{\m_page_layouts_page_number_location__v:\m_page_layouts_page_number_location__h}% + \letlayoutelementparameter\m_page_layouts_page_number_location__x\page_layouts_place_page_number + \ifx\m_page_layouts_page_number_location__x\c!marginedgetext \let\page_layouts_place_extra_text_left \page_layouts_place_page_number_left \let\page_layouts_place_extra_text_right\page_layouts_place_page_number_right \else @@ -722,39 +721,38 @@ \fi} \def\page_layouts_identify_page_number_location - {\let\m_page_layouts_page_number_location_v\v!footer - \let\m_page_layouts_page_number_location_h\v!text - \let\m_page_layouts_page_number_location_x\c!middletext - \processallactionsinset[\directpagenumberingparameter\c!location] - [ \v!header=>\let\m_page_layouts_page_number_location_v\v!header, - \v!footer=>\let\m_page_layouts_page_number_location_v\v!footer, - \v!middle=>\let\m_page_layouts_page_number_location_h\v!text - \let\m_page_layouts_page_number_location_x\c!middletext, - \v!left=>\let\m_page_layouts_page_number_location_h\v!text - \let\m_page_layouts_page_number_location_x\c!lefttext, - \v!right=>\let\m_page_layouts_page_number_location_h\v!text - \let\m_page_layouts_page_number_location_x\c!righttext, - \v!inleft=>\let\m_page_layouts_page_number_location_h\v!margin - \let\m_page_layouts_page_number_location_x\c!lefttext, - \v!inright=>\let\m_page_layouts_page_number_location_h\v!margin - \let\m_page_layouts_page_number_location_x\c!righttext, - \v!inmargin=>\let\m_page_layouts_page_number_location_h\v!margin - \def\m_page_layouts_page_number_location_x{\ifdoublesided\c!margintext\else\c!righttext\fi}, - \v!margin=>\let\m_page_layouts_page_number_location_h\v!margin - \def\m_page_layouts_page_number_location_x{\ifdoublesided\c!margintext\else\c!righttext\fi}, - \v!atmargin=>\let\m_page_layouts_page_number_location_h\v!text - \let\m_page_layouts_page_number_location_x\c!marginedgetext, - \v!marginedge=>\let\m_page_layouts_page_number_location_h\v!text - \let\m_page_layouts_page_number_location_x\c!marginedgetext]} - -\unexpanded\def\strc_pagenumbers_set_location - {\edef\p_strc_pagenumbers_location{\directpagenumberingparameter\c!location}% - \ifx\p_strc_pagenumbers_location\m_page_layouts_page_number_location + {\let\m_page_layouts_page_number_location__v\v!footer + \let\m_page_layouts_page_number_location__h\v!text + \let\m_page_layouts_page_number_location__x\c!middletext + \processallactionsinset[\@@nmlocation] + [ \v!header=>\let\m_page_layouts_page_number_location__v\v!header, + \v!footer=>\let\m_page_layouts_page_number_location__v\v!footer, + \v!middle=>\let\m_page_layouts_page_number_location__h\v!text + \let\m_page_layouts_page_number_location__x\c!middletext, + \v!left=>\let\m_page_layouts_page_number_location__h\v!text + \let\m_page_layouts_page_number_location__x\c!lefttext, + \v!right=>\let\m_page_layouts_page_number_location__h\v!text + \let\m_page_layouts_page_number_location__x\c!righttext, + \v!inleft=>\let\m_page_layouts_page_number_location__h\v!margin + \let\m_page_layouts_page_number_location__x\c!lefttext, + \v!inright=>\let\m_page_layouts_page_number_location__h\v!margin + \let\m_page_layouts_page_number_location__x\c!righttext, + \v!inmargin=>\let\m_page_layouts_page_number_location__h\v!margin + \def\m_page_layouts_page_number_location__x{\ifdoublesided\c!margintext\else\c!righttext\fi}, + \v!margin=>\let\m_page_layouts_page_number_location__h\v!margin + \def\m_page_layouts_page_number_location__x{\ifdoublesided\c!margintext\else\c!righttext\fi}, + \v!atmargin=>\let\m_page_layouts_page_number_location__h\v!text + \let\m_page_layouts_page_number_location__x\c!marginedgetext, + \v!marginedge=>\let\m_page_layouts_page_number_location__h\v!text + \let\m_page_layouts_page_number_location__x\c!marginedgetext]} + +\unexpanded\def\dosetpagenumberlocation + {\ifx\@@nmlocation\m_page_layouts_page_number_location_ % unchanged \else - \let\m_page_layouts_page_number_location\p_strc_pagenumbers_location + \let\m_page_layouts_page_number_location_\@@nmlocation \page_layouts_reset_page_number_location - \ifx\p_strc_pagenumbers_location\empty + \ifx\@@nmlocation\empty % set otherwise \else \page_layouts_identify_page_number_location @@ -766,12 +764,9 @@ {\begingroup \setbox\scratchbox\hbox{\ignorespaces\layoutelementparameter\c!marginedgetext\removeunwantedspaces}% \ifzeropt\wd\scratchbox\else - \edef\p_strc_pagenumbers_width{\directpagenumberingparameter\c!width}% - \ifx\p_strc_pagenumbers_width\empty - \box\scratchbox\tfskip - \else - \hbox to \p_strc_pagenumbers_width{\box\scratchbox\hss}% - \fi + \doifelsenothing\@@nmwidth + {\box\scratchbox\tfskip} + {\hbox to \@@nmwidth{\box\scratchbox\hss}}% \fi \endgroup} @@ -779,16 +774,13 @@ {\begingroup \setbox\scratchbox\hbox{\ignorespaces\layoutelementparameter\c!marginedgetext\removeunwantedspaces}% \ifzeropt\wd\scratchbox\else - \edef\p_strc_pagenumbers_width{\directpagenumberingparameter\c!width}% - \ifx\p_strc_pagenumbers_width\empty - \tfskip\box\scratchbox - \else - \hbox to \p_strc_pagenumbers_width{\hss\box\scratchbox}% - \fi + \doifelsenothing\@@nmwidth + {\tfskip\box\scratchbox} + {\hbox to \@@nmwidth{\hss\box\scratchbox}}% \fi \endgroup} -\strc_pagenumbers_set_location % initializes +\dosetpagenumberlocation % will go to page-box.mkiv @@ -847,7 +839,7 @@ \kern\dimexpr\leftmarginwidth+\leftmargindistance\relax \fi \endgroup - \page_postprocessors_page{#2}% + \mkprocesspagecontents{#2}% \settextpagecontent\b_page_layouts_element{#1}{#2}% \page_backgrounds_add_to_text\b_page_layouts_element \page_grids_add_to_box\b_page_layouts_element |