diff options
Diffstat (limited to 'tex/context/base/page-mar.mkiv')
-rw-r--r-- | tex/context/base/page-mar.mkiv | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/tex/context/base/page-mar.mkiv b/tex/context/base/page-mar.mkiv index 464b4f9bb..3eac9b1d4 100644 --- a/tex/context/base/page-mar.mkiv +++ b/tex/context/base/page-mar.mkiv @@ -60,12 +60,16 @@ #2]% \setuvalue{#1}{\dohandlemarginline{#1}}} -\def\marginlineparameter #1{\csname\??im\??im\currentmarginline#1\endcsname} -\def\marginlineexecuter #1#2{\executeifdefined{\??im\??im\currentmarginline#1}{#2}} +\def\marginlineparameter#1{\csname\??im\??im\currentmarginline#1\endcsname} -\def\dohandlemarginline#1% #2 +\def\marginlineexecuter#1#2% + {\dostarttagged\t!margintext\currentmarginline + \executeifdefined{\??im\??im\currentmarginline#1}{#2}% + \dostoptagged} + +\def\dohandlemarginline#1%#2% {\def\currentmarginline{#1}% - \csname\s!do\??im\??im\executeifdefined{\??im\??im#1\c!location}\v!left\endcsname{#1}} % {#2} + \csname\s!do\??im\??im\executeifdefined{\??im\??im#1\c!location}\v!left\endcsname{#1}}% {#2} \def\doleftmarginline#1#2% #1 is redundant (we can remove it when we group dohandlemarginline; maybe ... {\pushindentation @@ -284,7 +288,9 @@ \@@imbefore \dostartattributes{\??im\margincontenttag}\c!style\c!color\empty \dosetupstrut[\margincontentstrut]% was: \setstrut % yes or no + \dostarttagged\t!margintextblock\currentmargincontent % margincontenttag \begstrut#3\endstrut\endgraf + \dostoptagged \xdef\margincontentstrutheight{\the\strutht}% so that it's known outside the framed \dostopattributes \@@imafter}% @@ -676,7 +682,7 @@ \noexpand \doinmargin[\executeifdefined{\??im\margincontenttag\c!location}\@@imlocation][\v!normal][\margincontenttag][\margincontenttag][#2]% \to \collectedmargintexts \doglobal \appendtoks - {#3}% + {#3}% argument to previously appended \doinmargin \to \collectedmargintexts} \def\doflushmargincontents % plural |