summaryrefslogtreecommitdiff
path: root/tex/context/base/mkiv/strc-ref.mkvi
diff options
context:
space:
mode:
authorHans Hagen <pragma@wxs.nl>2020-03-30 14:22:51 +0200
committerContext Git Mirror Bot <phg@phi-gamma.net>2020-03-30 14:22:51 +0200
commit8dcafbcc0fbdde27cf480584450516602daacd42 (patch)
treee86361c3ded314bfa4be74fba251e187b6fdfe67 /tex/context/base/mkiv/strc-ref.mkvi
parentdd8e1bab358884db6ba3f2373f515fbcc991e5ee (diff)
downloadcontext-8dcafbcc0fbdde27cf480584450516602daacd42.tar.gz
2020-03-30 13:35:00
Diffstat (limited to 'tex/context/base/mkiv/strc-ref.mkvi')
-rw-r--r--tex/context/base/mkiv/strc-ref.mkvi39
1 files changed, 31 insertions, 8 deletions
diff --git a/tex/context/base/mkiv/strc-ref.mkvi b/tex/context/base/mkiv/strc-ref.mkvi
index e774117fa..42327686b 100644
--- a/tex/context/base/mkiv/strc-ref.mkvi
+++ b/tex/context/base/mkiv/strc-ref.mkvi
@@ -737,6 +737,29 @@
\def\dummyreference{{\tttf ??}}
\def\emptyreference{{\tttf !!}}
+\installtextracker
+ {structures.referencing.show}
+ {\let\strc_references_dummy\strc_references_dummy_yes}
+ {\let\strc_references_dummy\strc_references_dummy_nop}
+
+\def\strc_references_dummy_nop
+ {\dummyreference}
+
+\def\strc_references_dummy_yes
+ {\dummyreference
+ \margindata
+ [\referencingparameter\c!labelalternative]% alternative?
+ [\c!style=\referencingparameter\c!labelstyle,
+ \c!color=\referencingparameter\c!labelcolor]
+ {\askedreference}}
+
+\let\strc_references_dummy\strc_references_dummy_nop
+
+\setupreferencing
+ [\c!labelalternative=\v!inleft,
+ \c!labelcolor=darkred,
+ \c!labelstyle=\smallinfofont]
+
%D To prevent repetitive messages concerning a reference being defined, we set such
%D an unknown reference to an empty one after the first encounter.
%D
@@ -971,9 +994,9 @@
\def\strc_references_get_reference[#key][#label]% #key = number page title text default realpage ...
{\ifsecondargument
- \doifelsereferencefound{#label}{\clf_filterreference{#key}}\dummyreference
+ \doifelsereferencefound{#label}{\clf_filterreference{#key}}\strc_references_dummy
\else
- \dummyreference
+ \strc_references_dummy
\fi}
\let\ref\getreference
@@ -1143,12 +1166,12 @@
\unexpanded\def\atpage[#label]% todo
{\doifcheckedpagestate{#label}%
- {\goto{\labeltext \v!precedingpage }[#label]}%
- {\goto{\labeltext \v!hencefore }[#label]}%
+ {\goto{\labeltext\v!precedingpage}[#label]}%
+ {\goto{\labeltext\v!hencefore}[#label]}%
{\ignorespaces}%
- {\goto{\labeltext \v!hereafter }[#label]}%
- {\goto{\labeltext \v!followingpage }[#label]}%
- {\goto{\labeltexts\v!page\dummyreference}[#label]}}
+ {\goto{\labeltext\v!hereafter}[#label]}%
+ {\goto{\labeltext\v!followingpage}[#label]}%
+ {\goto{\labeltexts\v!page\strc_references_dummy}[#label]}}
% Someone requested this but in retrospect didn't need it so we keep it as example.
% Beware: a node is injected which is why we add ignorespaces!
@@ -1262,7 +1285,7 @@
% inefficient: double resolve
\doifelsereferencefound{#label} % we need to resolve the text
{\goto{\referencesequence}[#label]}
- {\let\currentreferencecontent\dummyreference
+ {\let\currentreferencecontent\strc_references_dummy
\goto{\referencesequence}[#label]}%
\strc_references_stop_goto}