xr no puede encontrar referencias en un documento externo

xr no puede encontrar referencias en un documento externo

lo intentéusa el paquete xrpara obtener referencias cruzadas entre archivos.

Mi documento principal es book.tex:

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

\begin{document}

\chapter{Beginning}
\label{ch1}

Foo

\input{chapter2.tex}

\end{document}

book.tex incluye el capítulo2.tex:

\chapter{End}
\label{ch2}

Bar

Mi documento secundario es suplementario.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 se compila bien, pdflatex book.texpero cuando me latex supplement.texquedo atascado

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

Todos los archivos están en el mismo directorio y los estoy ejecutando pdflatexy latexen ese directorio sin usar el indicador -output-directory. También probé el xr-hyperpaquete.

¿Qué más debo hacer para que suplementar.tex recoja las referencias de book.tex (y su archivo incluido capítulo2.tex)?

Respuesta1

El estado actual de la técnica es que \label-\(page)ref -mecanismo delLaTeX2e-kernel es modificado por elhiperreferencia-paquete.

Por lo tanto, si book.tex carga elhiperreferencia-paquete, entonces se requiere que suplementar.tex

  1. carga elhiperreferencia-paquete también.
  2. carga elxr-hiper-paquete en lugar delxr-paquete.
    (Elxr-hiper-El paquete debe cargarse antes delhiperreferencia-paquete.)

(En la plataforma utilizada por mí (MiKTeX 2.9) elpunto de poder-class parece funcionar sólo cuando se compila en modo dvi, generando un archivo .dvi que hace que el YaP del dvi-previewer de MiKTeX falle, pero que puede convertirse sin problemas a través de dvips a un archivo postscript que a su vez se puede convertir a través de ps2pdf a un archivo .pdf).

libro.tex:

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

\begin{document}

\chapter{Beginning}
\label{ch1}

Foo

\input{chapter2.tex}

\end{document}

capítulo2.tex:

\chapter{End}
\label{ch2}

Bar

suplemento.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}

Por cierto: si deseas utilizar elproyector-clase, esto funciona también usando laxr-hiper-paquete en lugar delxr-paquete.

En este caso, suplementar.tex podría verse así:

\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}

información relacionada