이것이 나의 첫 번째 질문입니다. 규칙을 따르지 않았다면 죄송합니다.
나는 가지고있다:
나는 pdflatex (Linux의 TeX Live)를 사용하여 책 수업에서 매뉴얼을 작성하고 있습니다. 각 장은 별도의 tex 파일(Chapter1.tex,Chapter2.tex).
또한 각 부분의 목차를 생성하기 위해 minitoc 패키지를 사용하고 있습니다. 주요 목차와 각 부분의 목차를 생성하는 명령도 별도의 tex 파일에 저장됩니다(maintoc.tex,parttoc.tex).
나는 필요하다:
전체 문서를 컴파일한 후 별도의 PDF 파일을 얻기 위해 \includeonly를 사용합니다(덕분에우편). hyperref 및 zref-xr 패키지를 사용하면 서로 다른 장에 해당하는 서로 다른 PDF 간의 올바른 하이퍼링크를 얻을 수 있습니다.하지만주요 목차와 각 부분의 목차 링크가 깨졌습니다.
최소한의 작업 예:
main.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
Chapter1.tex:
\ifdefined\tosplit
\zexternaldocument*{chapter2}
\fi
\chapter{The first chapter}
\label{chap:first}
See chapter~\ref{chap:second}.
Chapter2.tex:
\ifdefined\tosplit
\zexternaldocument*{chapter1}
\fi
\chapter{The second chapter}
\label{chap:second}
See chapter~\ref{chap:first}.
내가 사용하는 명령 순서는 다음과 같습니다.
- pdflatex -jobname=tmp main && mv tmp.pdf main.pdf (x2)
- pdflatex -jobname=tmp "\def\tosplit{1}\includeonly{maintoc}\input{main}" && mv tmp.pdf maintoc.pdf
- pdflatex -jobname=tmp "\def\tosplit{1}\includeonly{parttoc}\input{main}" && mv tmp.pdf parttoc.pdf
- pdflatex -jobname=tmp "\def\tosplit{1}\includeonly{chapter1}\input{main}" && mv tmp.pdf Chapter1.pdf
- pdflatex -jobname=tmp "\def\tosplit{1}\includeonly{chapter2}\input{main}" && mv tmp.pdf Chapter2.pdf
나는 노력했다조언저자로부터하이코 오버디크hyperref 및 zref 패키지. 솔직히 나에게는 명확하지 않지만 두 개의 PDF(TOC 및 나머지)만 없으면 작동하고 그렇지 않으면 작동하지 않습니다. 항상 PDF 하나만 열려고 시도하지만 PDF가 너무 많습니다.