xr не могу найти ссылки во внешнем документе

xr не могу найти ссылки во внешнем документе

Я попыталсяиспользуйте пакет xrдля получения перекрестных ссылок между файлами.

Мой основной документ — book.tex:

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

\begin{document}

\chapter{Beginning}
\label{ch1}

Foo

\input{chapter2.tex}

\end{document}

book.tex включает chapter2.tex:

\chapter{End}
\label{ch2}

Bar

Мой вторичный документ — 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 прекрасно компилируется с использованием, pdflatex book.texно когда я latex supplement.texзастреваю с

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

Все файлы находятся в одном каталоге, и я запускаю pdflatexи latexв этом каталоге без использования флага -output-directory. Я также попробовал пакет xr-hyper.

Что еще мне нужно сделать, чтобы supplement.tex взял ссылки из book.tex (и включенного в него файла chapter2.tex)?

решение1

Текущее состояние дел таково, что \label- \(page)ref-механизмLaTeX2e-ядро модифицируетсягиперреф-упаковка.

Таким образом, если book.tex загружаетгиперреф-package, то требуется, чтобы supplement.tex

  1. загружает лигиперреф- также пакет.
  2. загружает лиxr-гипер-пакет вместохр-пакет.
    (xr-гипер-пакет должен быть загружен догиперреф-упаковка.)

(На используемой мной платформе (MiKTeX 2.9)powerdot-class, похоже, работает только при компиляции в режиме dvi, создавая файл .dvi, который приводит к сбою YaP-предпросмотрщика MiKTeX, но который без проблем можно преобразовать с помощью dvips в файл postscript, который в свою очередь можно преобразовать с помощью ps2pdf в файл .pdf.)

книга.текс:

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

\begin{document}

\chapter{Beginning}
\label{ch1}

Foo

\input{chapter2.tex}

\end{document}

глава2.tex:

\chapter{End}
\label{ch2}

Bar

дополнение.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}

Кстати: Если вы хотите использоватьпроектор-класс, это также работает с использованиемxr-гипер-пакет вместохр-упаковка.

В этом случае supplement.tex может выглядеть так:

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

Связанный контент