1
2
3
4
5
6
7
8
9
10
11
12
13
14\startmodule[referencesshow]
15
16\unprotect
17
18
19
20\enabletrackers[nodes.references.show,nodes.destinations.show]
21
22\enablehiddenbackground
23
24\appendhiddenbackground{tracereferences}
25
26\defineoverlay
27 [tracereferences]
28 [\directsetup{trace:references:onpage}]
29
30\startluacode
31 local pagelist = structures.references.tracedpages
32
33 function commands.getreferencesonpage(n)
34 n = tonumber(n)
35 if n then
36 local pagedata = pagelist[n]
37 if pagedata then
38 context("%s references",#pagedata)
39 context.blank()
40 for i=1,#pagedata do
41 local details = pagedata[i]
42 local prefix = details[1]
43 local reference = details[2]
44
45
46 context("%s : %s",prefix == "" and "-" or prefix,reference)
47 context.par()
48 end
49 else
50 context("no references")
51 end
52 else
53 context("no valid page")
54 end
55 end
56
57\stopluacode
58
59\definecolor
60 [trace:references:onpage]
61 [b=.5,a=1,t=.25]
62
63\defineframed
64 [trace:references:onpage]
65 [\c!offset=2\exheight,
66
67 \c!frame=\v!off,
68 \c!background=\v!color,
69 \c!backgroundcolor=trace:references:onpage,
70 \c!align=\v!normal]
71
72\startsetups trace:references:onpage
73 \vbox to \vsize \bgroup
74 \infofont
75 \vskip\dimexpr\topspace\headerheight2\exheight\relax
76 \hbox to \hsize \bgroup
77 \doifoddpageelse\hss{\hskip\dimexpr\cutspace2\exheight\relax}
78 \directlocalframed [
79 trace:references:onpage
80 ] {
81 \ctxcommand{getreferencesonpage(\the\realpageno)}
82 }
83 \doifoddpageelse{\hskip\dimexpr\cutspace2\exheight\relax}\hss
84 \egroup
85 \vss
86 \egroup
87\stopsetups
88
89\protect
90
91\continueifinputfile{sreferencesshow.mkiv}
92
93\usemodule[art01]
94
95\setupinteraction
96 [state=start]
97
98\setuppagenumbering
99 [alternative=doublesided]
100
101\starttext
102
103\title {Contents}
104
105\placelist[chapter]
106
107\setupreferenceprefix[zero]
108
109\chapter[crap]{foo}
110
111\setupreferenceprefix[one]
112
113test \pagereference[whatever]
114
115\dorecurse{5}{
116 \placefigure
117 [here][bar 1.#1]
118 {xx}{\framed{xx #1}}
119}
120
121\setupreferenceprefix[two]
122
123\dorecurse{5}{
124 \placefigure
125 [here][bar 2.#1]
126 {xx}{\framed{xx #1}}
127}
128
129\in{checked}[bar 1.1]
130\in{checked}[bar 2.1]
131
132\stoptext
133 |