summaryrefslogtreecommitdiff
path: root/tex/context/base/strc-ren.mkiv
diff options
context:
space:
mode:
Diffstat (limited to 'tex/context/base/strc-ren.mkiv')
-rw-r--r--tex/context/base/strc-ren.mkiv40
1 files changed, 37 insertions, 3 deletions
diff --git a/tex/context/base/strc-ren.mkiv b/tex/context/base/strc-ren.mkiv
index fdf8fb7f4..34903dfa0 100644
--- a/tex/context/base/strc-ren.mkiv
+++ b/tex/context/base/strc-ren.mkiv
@@ -135,7 +135,7 @@
\unexpanded\def\strc_rendering_place_head_number_and_text
{\strc_rendering_start_placement
\setheadmarking
- \doiftextelse\getheadnumber
+ \doifelsetext\getheadnumber
\dosettructureheadnumbercontent
\doresettructureheadnumbercontent
\ifconditional\c_strc_sectioning_empty
@@ -422,7 +422,7 @@
{\dodoubleargument\strc_rendering_define_placement}
\def\strc_rendering_define_placement[#1][#2]%
- {\doifnextbgroupelse
+ {\doifelsenextbgroup
{\strc_rendering_define_placement_yes[#1][#2]}%
{\strc_rendering_define_placement_nop[#1][#2]}}
@@ -516,6 +516,11 @@
\fi
\endgroup}
+\def\fakedheadnumber{\vphantom{0}} % needed for mathplus
+
+\unexpanded\def\fakeheadnumbercontent
+ {\hbox to \zeropoint{\let\getheadnumber\fakedheadnumber\headnumbercontent}}
+
\unexpanded\def\strc_rendering_inject_number_and_text
{\edef\p_command{\headparameter\c!command}% assumes \unexpanded definition
\ifx\p_command\empty
@@ -608,6 +613,7 @@
\hsize\headtextwidth
\fi
\noindent
+ \fakeheadnumbercontent % will also be done in the other ones (force consistency with numbered)
\fi
\headtextcontent
}
@@ -629,7 +635,7 @@
\hbox {
\hfill
\headnumbercontent
- \doifrightpageelse{
+ \doifelserightpage{
\scratchdistance\leftmargindistance
} {
\scratchdistance\rightmargindistance
@@ -637,6 +643,8 @@
\hskip\dimexpr\d_strc_rendering_local_leftoffset+\scratchdistance\relax
}
}
+ \else
+ \fakeheadnumbercontent % will also be done in the other ones (force consistency with numbered)
\fi
\headtextcontent
}
@@ -650,6 +658,30 @@
% \directsetup{\??headrenderings:\v!vertical:\v!inmargin}
% \stopsetups
+%D This one is for head based numbering usage: foo 1.2 and so:
+
+\defineheadalternative
+ [\v!reverse]
+ [\c!alternative=\v!vertical,
+ \c!renderingsetup=\??headrenderings:\v!reverse]
+
+\startsetups[\??headrenderings:\v!reverse]
+ \vbox {
+ \headsetupspacing
+ \noindent
+ \begstrut
+ \setfalse\headisdisplay % so a kind of mix
+ \headtextcontent
+ \ifconditional\headshownumber
+ \kern\headnumberdistance
+ \headnumbercontent
+ \else
+ \fakeheadnumbercontent
+ \fi
+ \endstrut
+ }
+\stopsetups
+
\defineheadalternative
[\v!middle]
[\c!alternative=\v!vertical,
@@ -665,6 +697,8 @@
\strut
\headnumbercontent
\par
+ \else
+ \fakeheadnumbercontent % will also be done in the other ones (force consistency with numbered)
\fi
\begstrut
\headtextcontent