单独文件中的目录包含指向许多文件的正确超链接

单独文件中的目录包含指向许多文件的正确超链接

这是我在这里的第一个问题。如果不符合规则,请见谅。

我有:

我正在用 pdflatex(Linux 下的 TeX Live)在书籍类中编写手册。每章都存储在单独的 tex 文件中(第一章.tex第二章.tex)。

此外,我还使用 minitoc 包来创建每个部分的目录。生成主目录和每个部分的目录的命令也存储在单独的 tex 文件中(主目录部分目录)。

我需要:

编译整个文档后,我使用 \includeonly 获取单独的 pdf 文件(感谢邮政)。使用 hyperref 和 zref-xr 包,我获得了与不同章节相对应的不同 pdf 之间的正确超链接,主目录和每个部分目录中的链接已损坏。

最小工作示例:

主要.tex:

\documentclass[12pt,oneside]{book}
\usepackage{minitoc}
\usepackage{hyperref}

\ifdefined\tosplit
    \usepackage{zref-xr}
    \zxrsetup{toltxlabel}
\fi

\begin{document}
    \include{maintoc}
    \include{parttoc}
    \include{chapter1}
    \include{chapter2}
\end{document}

maintoc.tex:

\doparttoc
\tableofcontents

parttoc.tex:

\part{The first and last part}
\parttoc

第一章.tex:

\ifdefined\tosplit
    \zexternaldocument*{chapter2}
\fi

\chapter{The first chapter}
\label{chap:first}
See chapter~\ref{chap:second}.

第2章.tex:

\ifdefined\tosplit
    \zexternaldocument*{chapter1}
\fi

\chapter{The second chapter}
\label{chap:second}
See chapter~\ref{chap:first}.

我使用的命令顺序:

  1. pdflatex -jobname=tmp main && mv tmp.pdf main.pdf (x2)
  2. pdflatex -jobname=tmp "\def\tosplit{1}\includeonly{maintoc}\input{main}" && mv tmp.pdf maintoc.pdf
  3. pdflatex -jobname=tmp "\def\tosplit{1}\includeonly{parttoc}\input{main}" && mv tmp.pdf parttoc.pdf
  4. pdflatex -jobname=tmp "\def\tosplit{1}\includeonly{chapter1}\input{main}" && mv tmp.pdf chapter1.pdf
  5. pdflatex -jobname=tmp "\def\tosplit{1}\includeonly{chapter2}\input{main}" && mv tmp.pdf chapter2.pdf

我试过建议作者海科·奥伯迪克hyperref 和 zref 包。老实说,我不太清楚,但除非你只有两个 pdf(TOC 和其余部分),否则它就无法工作。它总是尝试只打开一个 pdf,但我有很多 pdf。

相关内容