xr kann keine Referenzen im externen Dokument finden

xr kann keine Referenzen im externen Dokument finden

Ich versuchte zuVerwenden Sie das XR-Paketum Querverweise zwischen Dateien zu erhalten.

Mein primäres Dokument ist book.tex:

\documentclass[a4paper,10pt]{scrbook}
\usepackage{hyperref}

\begin{document}

\chapter{Beginning}
\label{ch1}

Foo

\input{chapter2.tex}

\end{document}

book.tex enthält chapter2.tex:

\chapter{End}
\label{ch2}

Bar

Mein sekundäres Dokument ist supplement.tex:

\documentclass{powerdot}

\usepackage{xr}

\externaldocument{book}

\begin{document}

\begin{slide}{Slide Title}
Reference A: \ref{ch1} page \pageref{ch1}

Reference B: \ref{ch2} page \pageref{ch2}
\end{slide}

\end{document}

book.tex kompiliert problemlos mit pdflatex book.tex, aber wenn ich latex supplement.texnicht weiterkomme mit

LaTeX Warning: Reference `ch1' on page 1 undefined on input line 13.
LaTeX Warning: Reference `ch2' on page 1 undefined on input line 13.

Alle Dateien befinden sich im selben Verzeichnis und ich führe es pdflatexin latexdiesem Verzeichnis aus, ohne das Flag -output-directory zu verwenden. Ich habe auch das xr-hyperPaket ausprobiert.

Was muss ich sonst noch tun, damit supplement.tex die Referenzen aus book.tex (und der darin enthaltenen Datei chapter2.tex) übernimmt?

Antwort1

Der aktuelle Stand der Technik ist, dass der \label- \(page)ref-Mechanismus derLaTeX2e-Kernel wird geändert durch denHyperref-Paket.

Wenn book.tex also dieHyperref-Paket, dann ist es erforderlich, dass supplement.tex

  1. lädt dieHyperref-Paket auch.
  2. lädt dieXR-Hyper-Paket anstelle desxr-Paket.
    (DasXR-Hyper-Paket muss geladen werden, bevor dieHyperref-Paket.)

(Auf der von mir verwendeten Plattform (MiKTeX 2.9)Powerdot-class scheint nur beim Kompilieren im DVI-Modus zu funktionieren und erzeugt eine DVI-Datei, die den DVI-Vorschauer YaP von MiKTeX zum Absturz bringt, die aber problemlos über dvips in eine Postscript-Datei umgewandelt werden kann, die wiederum über ps2pdf in eine PDF-Datei umgewandelt werden kann.)

buch.tex:

\documentclass[a4paper,10pt]{scrbook}
\usepackage{hyperref}

\begin{document}

\chapter{Beginning}
\label{ch1}

Foo

\input{chapter2.tex}

\end{document}

kapitel2.tex:

\chapter{End}
\label{ch2}

Bar

ergänzung.tex:

\documentclass{powerdot}
\usepackage{xr-hyper}
\usepackage{hyperref}

\externaldocument{book}

\begin{document}

\begin{slide}{Slide Title}
Reference A: \ref{ch1} page \pageref{ch1}

Reference B: \ref{ch2} page \pageref{ch2}
\end{slide}

\end{document}

Übrigens: Wenn Sie dieProjektor-Klasse, dies funktioniert auch mit demXR-Hyper-Paket anstelle desxr-Paket.

In diesem Fall könnte supplement.tex folgendermaßen aussehen:

\documentclass{beamer}
\usepackage{xr-hyper}
\usepackage{hyperref}

\externaldocument{book}

\begin{document}

Reference A: \ref{ch1} page \pageref{ch1}

Reference B: \ref{ch2} page \pageref{ch2}

\end{document}

verwandte Informationen