When producing a set of inter-related documents, you’ll often want to refer to labels in another document of the set; but LaTeX, of its own accord, doesn’t permit this.
So the package xr was written: if you say
will load all the references from volume1 into your present document.\usepackage{xr} \externaldocument{volume1}
But what if the documents both have a section labelled
“introduction
” (likely enough, after all)? The
package provides a means to transform all the imported labels, so you
don’t have to change label names in either document. For example:
loads the references from volume1, but prefixes every one with the string V1-. So you would refer to the introduction to volume 1 as:\usepackage{xr} \externaldocument[V1-]{volume1}
To have the facilities of xr working with hyperref, you need xr-hyper. For simple hyper-cross-referencing (i.e., to a local PDF file you’ve just compiled), write:\usepackage{xr} \externaldocument[V1-]{volume1} ... ... the introduction to volume1 (\ref{V1-introduction})...
and the name reference will appear as an active link to the “introduction” chapter of volume1.pdf.\usepackage{xr-hyper} \usepackage{hyperref} \externaldocument[V1-]{volume1} ... ... the \nameref{V1-introduction})...
To link to a PDF document on the Web, for which you happen to have the .aux file, write:
Heiko Oberdiek’s experimental zref bundle includes a hyper-crossreferencing mechanism using its zref-xr module. Usage is closely modelled on xr and xr-hyper; a trivial example (from a comp.text.tex posting) is\usepackage{xr-hyper} \usepackage{hyperref} \externaldocument[V1-]{volume1}[http://mybook.com/volume1.pdf] ... ... the \nameref{V1-introduction})...
The module provides all the facilities of the older packages, and can deal both with “traditional” LaTeX labels and with zref’s style of labels.\usepackage{zref-xr,zref-user} \zexternaldocument*{xr02} ... \zref{foo}
This question on the Web: http://www.tex.ac.uk/cgi-bin/texfaq2html?label=extref