summaryrefslogtreecommitdiff
path: root/tex/context/base/mkiv/strc-ref.mkvi
diff options
context:
space:
mode:
authorContext Git Mirror Bot <phg42.2a@gmail.com>2016-03-04 00:15:09 +0100
committerContext Git Mirror Bot <phg42.2a@gmail.com>2016-03-04 00:15:09 +0100
commit60687b77ba7082f7c554c4163c5cc31df97ea243 (patch)
treecdd467755084b1d99551f67ec1cb2f8e975be654 /tex/context/base/mkiv/strc-ref.mkvi
parent62676780b4363d25d7a247f39484b1e4a34ef7b7 (diff)
downloadcontext-60687b77ba7082f7c554c4163c5cc31df97ea243.tar.gz
2016-03-03 23:33:00
Diffstat (limited to 'tex/context/base/mkiv/strc-ref.mkvi')
-rw-r--r--tex/context/base/mkiv/strc-ref.mkvi53
1 files changed, 29 insertions, 24 deletions
diff --git a/tex/context/base/mkiv/strc-ref.mkvi b/tex/context/base/mkiv/strc-ref.mkvi
index 0bf6623a0..4821c6832 100644
--- a/tex/context/base/mkiv/strc-ref.mkvi
+++ b/tex/context/base/mkiv/strc-ref.mkvi
@@ -216,7 +216,7 @@
% beware, the structures.references.set writes a
\setnextinternalreference
\strc_references_start_destination_nodes
- \clf_setreferenceattribute
+ \clf_setdestinationattribute
{%
references {%
internal \nextinternalreference
@@ -278,7 +278,7 @@
\else
\strc_references_start_destination_nodes
\setnextinternalreference
- \clf_setreferenceattribute
+ \clf_setdestinationattribute
{%
references {%
internal \nextinternalreference
@@ -307,7 +307,7 @@
\setnextinternalreference
\edef\m_strc_references_user{#user}%
\edef\m_strc_references_text{#text}%
- \clf_setreferenceattribute
+ \clf_setdestinationattribute
{%
references {%
internal \nextinternalreference
@@ -393,10 +393,9 @@
{\iflocation
\strc_references_start_destination_nodes
\setnextinternalreference
- \clf_setreferenceattribute
+ \clf_setdestinationattribute
{%
references {%
- % block {\currentsectionblock}%
view {\interactionparameter\c!focus}%
\ifx\referenceprefix\empty\else
prefix {\referenceprefix}%
@@ -420,7 +419,7 @@
{\iflocation
\strc_references_start_destination_nodes
\setnextinternalreference
- \clf_setreferenceattribute
+ \clf_setdestinationattribute
{%
references {%
view {\interactionparameter\c!focus}%
@@ -439,7 +438,7 @@
\xdef\currentdestinationattribute{\number\attributeunsetvalue}%
\fi}
-\def\strc_references_get_simple_page_reference#label%
+\def\strc_references_get_simple_reference#label%
{\iflocation
\clf_injectreference
{\referenceprefix}%
@@ -455,21 +454,6 @@
\xdef\currentreferenceattribute{\number\attributeunsetvalue}%
\fi}
-\def\strc_references_get_simple_internal_reference#internal%
- {\iflocation
- \clf_injectinternalreference
- #internal
- {%
- height \ht\strutbox
- depth \dp\strutbox
- \extrareferencearguments
- }%
- \relax
- \xdef\currentreferenceattribute{\number\lastreferenceattribute}%
- \else
- \xdef\currentreferenceattribute{\number\attributeunsetvalue}%
- \fi}
-
%D \macros
%D {contentreference}
%D
@@ -850,9 +834,11 @@
\def\getinternalorderreference#kind#name%
{\clf_currentreferenceorder{#kind}{#name}}
-\def\thisissomeinternal#kind#name% only for old time sake
+\def\thisissomeinternal#kind#name% only for old time sake, will go away
{\begingroup
- \clf_setinternalreference reference {#kind:#name}\relax
+ \clf_setinternalreference
+ reference {#kind:#name}% no view
+ \relax
\hbox attr \destinationattribute\lastdestinationattribute{}%
\endgroup}
@@ -1600,6 +1586,25 @@
%\egroup\unhbox\referencebox}
\endgroup}
+\def\strc_references_goto_internal#content#dummy[#internal]% #dummy gobbles spaces
+ {\dontleavehmode
+ \begingroup
+ \global\lastsavedreferenceattribute\attributeunsetvalue
+ \attribute\referenceattribute\attributeunsetvalue
+ \iflocation
+ \setstrut % can be option
+ \strc_references_get_simple_reference{internal(#internal)}%
+ \global\lastsavedreferenceattribute\currentreferenceattribute
+ \attribute\referenceattribute\currentreferenceattribute
+ \setlocationattributes
+ \dostarttagged\t!link\empty
+ #content%
+ \dostoptagged
+ \else
+ #content%
+ \fi
+ \endgroup}
+
\unexpanded\def\startgoto[#label]%
{\dontleavehmode
\begingroup