Referring to labels in other documents

  • labels
  • references

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

snippet.latex
\usepackage{xr}
\externaldocument{volume1}

will load all the references from volume1 into your present document.

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:

snippet.latex
\usepackage{xr}
\externaldocument[V1-]{volume1}

loads the references from volume1, but prefixes every one with the string V1-. So you would refer to the introduction to volume 1 as:

snippet.latex
\usepackage{xr}
\externaldocument[V1-]{volume1}
...
... the introduction to volume1 (\ref{V1-introduction})...

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:

snippet.latex
\usepackage{xr-hyper}
\usepackage{hyperref}
\externaldocument[V1-]{volume1}
...
... the \nameref{V1-introduction})...

and the name reference will appear as an active link to the “introduction” chapter of volume1.pdf.

To link to a PDF document on the Web, for which you happen to have the .aux file, write:

snippet.latex
\usepackage{xr-hyper}
\usepackage{hyperref}
\externaldocument[V1-]{volume1}[http://mybook.com/volume1.pdf]
...
... the \nameref{V1-introduction})...

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

snippet.latex
\usepackage{zref-xr,zref-user}
\zexternaldocument*{xr02}
...
\zref{foo}

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.

This website uses cookies for visitor traffic analysis. By using the website, you agree with storing the cookies on your computer.More information

Creative Commons Lizenzvertrag Edit this page Old revisions Sitemap Backlinks RSS feed Impressum Flattr this