Cross Referencing

From ConTeXt wiki
Revision as of 20:54, 1 November 2012 by Zenlima (talk | contribs)
Page in progress...

References in a (academic) text are either interal (linking to an other point inside the same document) or external (linking to a entity of the bibliography that points to a different document).

Here are some concrete example cross references:

"Classic" style "New" style
(↑ = external link - ↗ = internal link)
[XYZ] (↑XYZ) and
if directly addressed ↑XYZ
[XYZ, p. 23] (↑XYZ, p. 23)
↑XYZ, p. 23,
[XYZ, p. 22] and [ABC, p. 22-45] (↑XYZ, p. 22, and ↑ABC, p. 22-45)
Abbildung 2.2 ↗Abbildung 2.2
Abbildung 2.2 auf Seite 23 ↗Abbildung 2.2 auf Seite 23
(Absatz 2.4.9/12 auf Seite 23 bis 2.4.2/10 auf Seite 25) (↗Absatz 2.4.9/12 auf Seite 23 bis ↗Absatz 2.4.2/10 auf Seite 25)
(siehe Abs. 3/21) (siehe ↗Absatz 3/21)
(siehe Absätze 3.1/35 und 3.1/38) (siehe Absätze ↗3.1/35 und ↗3.1/38)

This cross references have following structure in common:

left refprefix label ref detail refsuffix right
(
(siehe
Absätze
und
bis


[
Abbildung
Absatz
Abs.
XYZ
2.2
2.2 auf Seite 23
2.4.9/12 auf Seite 23
2.4.2/10 auf Seite 25
3/21
, p. 23 ] )

Referencing

For cross reference the method \crossref is created. It has follow syntax:

\crossref[#2]
\crossref[#1][#2]

#1	type	   	= *internal external none
	left		= ..text..
	right    	= ..text..
	label		= ..text..
	detail 		= ..text..

#2	<reference>

Here a simple usage example:


Settings

Often references (or links) are printed in a different color than the normal text. In pararef the colors can be set via three paramters:

  • crossrefColor for the entire reference text,
  • crossreffixColor for the color of the prefix and suffix if different from crossrefColor
  • crossrefrefColor for the detail, ref itself and ref details

They are defined as parameters of the module:

\usemodule[crossref][refColor=...,reffixColor=...,refrefColor=...]
...

The brackets and text part for \crossref can also be adjusted or extended with other languages:

\setupcrossreftext[internalPrefix={}]
\setupcrossreftext[internalSuffix={}]
\setupcrossreftext[externalPrefix={\[}]
\setupcrossreftext[externalSuffix={\]}]
\setupcrossreftext[cz][atpageLeft={ na straně }]
\setupcrossreftext[cz][atpageRight={ }]
\setupcrossreftext[de][atpageLeft={ auf Seite }]
\setupcrossreftext[de][atpageRight={}]
\setupcrossreftext[en][atpageLeft={ on page }]
\setupcrossreftext[en][atpageRight={}]

If you want to change the "classic" style of referencing to the "new" style you only need:

\setupcrossreftext[internalPrefix={}]
\setupcrossreftext[internalSuffix={}]
\setupcrossreftext[externalPrefix={}]
\setupcrossreftext[externalSuffix={}]