summaryrefslogtreecommitdiff
path: root/tex/context/base/mkiv/strc-reg.mkiv
diff options
context:
space:
mode:
Diffstat (limited to 'tex/context/base/mkiv/strc-reg.mkiv')
-rw-r--r--tex/context/base/mkiv/strc-reg.mkiv26
1 files changed, 23 insertions, 3 deletions
diff --git a/tex/context/base/mkiv/strc-reg.mkiv b/tex/context/base/mkiv/strc-reg.mkiv
index 559e1bd42..1ab7d8ae0 100644
--- a/tex/context/base/mkiv/strc-reg.mkiv
+++ b/tex/context/base/mkiv/strc-reg.mkiv
@@ -939,6 +939,18 @@
\fi
\popcurrentregister}
+\newconditional\c_strc_registers_following
+
+\appendtoks
+ \edef\p_compress{\registerparameter\c!compress}%
+ \ifx\p_compress\v!text
+ \settrue\c_strc_registers_following
+ \letregisterparameter\c!compress\v!yes
+ \else
+ \setfalse\c_strc_registers_following
+ \fi
+\to \everyplaceregister
+
\unexpanded\def\registerpagerange#1#2#3#4#5#6#7#8% #1:class #2:processor content, content todo: -- configurable
{\pushcurrentregister{#1}%
\edef\p_pagenumber{\registerparameter\c!pagenumber}%
@@ -949,9 +961,17 @@
\dostarttagged\t!registerfrompage\empty
\withregisterpagecommand{#2}{#3}{#4}{#5}%
\dostoptagged
- \registeronepagerangeseparator
- \dostarttagged\t!registertopage\empty
- \withregisterpagecommand{#2}{#6}{#7}{#8}%
+ \ifconditional\c_strc_registers_following
+ \ifnum#3=\numexpr#6-1\relax
+ \labeltext{following:\s!singular}%
+ \else
+ \labeltext{following:\s!plural}%
+ \fi
+ \else
+ \registeronepagerangeseparator
+ \dostarttagged\t!registertopage\empty
+ \withregisterpagecommand{#2}{#6}{#7}{#8}%
+ \fi
\dostoptagged
\dostoptagged
\fi