我的问题与目录、图表列表和目录的页数有关。除了这一点之外,我的 .pdf 中的所有内容都运行良好!我不明白为什么!你能帮助我吗?
以下是我的主要内容:
\begin{document}
\hyphenation{Com-po-si-to-ri}
\hyphenation{Giu-sep-pe}
\hyphenation{Ba-lu-stra-des}
\renewcommand{\chaptermark}[1]{\markboth{#1}{}}
\renewcommand{\sectionmark}[1]{\markright{\thesection\ #1}}
\fancyhf{}
\fancyhead[LE,RO]{\bfseries\thepage}
\fancyhead[LO]{\bfseries\rightmark}
\fancyhead[RE]{\bfseries\leftmark}
\renewcommand{\headrulewidth}{0.5pt}
\renewcommand{\footrulewidth}{0pt}
\addtolength{\headheight}{0.5pt}
\fancypagestyle{plain}{
\fancyhead{}
\renewcommand{\headrulewidth}{0pt} % e la linea
}
\includepdf[pages={1}]{Frontespizio.pdf}
\newpage
\thispagestyle{empty}
\clearpage{\pagestyle{empty}\cleardoublepage}
\selectlanguage{english}
\tableofcontents
\clearpage{\pagestyle{empty}\cleardoublepage}
\listoffigures
\clearpage{\pagestyle{empty}\cleardoublepage}
\listoftables
\clearpage{\pagestyle{empty}\cleardoublepage}
\large
\setcounter{secnumdepth}{-1}
\selectlanguage{italian}
\input{Sommario}
\clearpage{\pagestyle{empty}\cleardoublepage}
\selectlanguage{english}
\input{Acronym.tex}
\clearpage{\pagestyle{empty}\cleardoublepage}
\input{Abstract}
\clearpage{\pagestyle{empty}\cleardoublepage}
\input{Introduction.tex}
\clearpage{\pagestyle{empty}\cleardoublepage}
\clearpage
\setcounter{secnumdepth}{3}
\setcounter{tocdepth}{4}
\onehalfspacing
\input{Iso.tex}
\clearpage{\pagestyle{empty}\cleardoublepage}
\input{Literature.tex}
\clearpage{\pagestyle{empty}\cleardoublepage}
\input{Storia.tex}
\clearpage{\pagestyle{empty}\cleardoublepage}
\input{IRMeasurement.tex}
\clearpage{\pagestyle{empty}\cleardoublepage}
\input{ComputerModelling.tex}
\clearpage{\pagestyle{empty}\cleardoublepage}
\input{Discussion.tex}
\clearpage{\pagestyle{empty}\cleardoublepage}
\input{Conclusions.tex}
\clearpage{\pagestyle{empty}\cleardoublepage}
\input{Bibliografia.tex}
\clearpage{\pagestyle{empty}\cleardoublepage}
\input{Ringraziamenti.tex}
\clearpage{\pagestyle{empty}\cleardoublepage}
\end{document}
答案1
您需要至少两到三次(或更多)LaTeX 运行才能获得正确的目录:
在一次 LaTeX 运行期间,会发生以下情况:
\begin{document}
:.aux
读取文件,忽略目录或图表列表的条目(因为\let\@writefile\@gobbletwo
)。\tableofcontents
//\listoffigures
调用\listoftables
(\@startoc{<ext>}
=<ext>
、toc
或lof
)lot
。它读取文件
\jobname.<ext>
,并设置目录(或...的列表)。已
\jobname.<ext>
清除并打开以供写入。
\chapter
,,,... 内部调用 \addcontentsline{}{...}{...} \addtocontents{}{...}\section
\ @writefile{}{...} .aux \tableofcontents` 并调用朋友。\caption
and
. These write
commands into the
file. This can also happen before
\end{document}
。最后一页输出后,.aux
关闭文件并重新读入。现在\@writefile{<ext>}{<contents>}
执行命令,并将<contents>
写入相应\jobname.<ext>
文件或忽略,如果\jobname.<ext>
没有打开。例如,如果有图题,但没有\listoffigures
调用 ,则\jobname.lof
不会写入。
这意味着打印的目录(图表列表等)具有上次 LaTeX 运行的状态。在第一次 LaTeX 运行中,\jobname.<ext>
尚未写入,目录和列表为空。因此最低要求是二LaTeX 运行。
如果目录和列表没有单独编号,那么可能会出现条目太多,页数多于空列表所需的页数的情况。然后列表后面的页码会随着列表中所有后续条目的增加而增加。然后需要再次运行 LaTeX。
例如,两侧设置如下\cleardoublepage
:
\begin{document}
\tableofcontents
\cleardoublepage
\chapter{...}
...
空目录需要一页用于标题(Contents
)和一页空白页(因为\cleardoublepage
)。目录长三页:
第一次运行 LaTeX:
1. Page: Contents <otherwise empty> 2. Page: <empty> 3. Page: Chapter 1 ...
第二次 LaTeX 运行:
1. Page: Contents, Chapter 1 -> page 3, <other entries> 2. Page: <other entries> 3. Page: <other entries> 4. Page: <empty> 5. Page: Chapter 1 ...
因此页码是错误的,但 LaTeX 不会发出警告。
第三次 LaTeX 运行:
1. Page: Contents, Chapter 1 -> page 5, <other entries> 2. Page: <other entries> 3. Page: <other entries> 4. Page: <empty> 5. Page: Chapter 1 ...
现在,目录是正确的。
重新运行警告
如果需要对目录和其他列表再次运行 LaTeX,则 LaTeX 不会发出警告。有一个包使用rerunfilecheck
(DVI 或 PDF 模式)在作业开始和结束时对辅助文件计算 MD5 校验和。如果发生更改,则包会打印重新运行警告:\pdfmdfivesum
pdfTeX
\documentclass{book}
\usepackage[starttoc]{rerunfilecheck}
\newcommand*{\cleardoubleemptypage}{%
\clearpage
\begingroup
\pagestyle{empty}%
\cleardoublepage
\endgroup
}
\begin{document}
Title page
\cleardoubleemptypage
\tableofcontents
\cleardoubleemptypage
\listoffigures
\cleardoubleemptypage
\listoftables
\cleardoubleemptypage
\chapter{First chapter}
\begin{figure}
\caption{First figure}
\end{figure}
\addtocontents{toc}{\protect\clearpage}% short for many \chapter/\section/... entries
\chapter{Second chapter}
\addtocontents{toc}{\protect\clearpage}% short for many \chapter/\section/... entries
\chapter{Third chapter}
\end{document}
第一次和第二次运行都会产生警告:
Package rerunfilecheck Warning: File `test.toc' has changed. Rerun.
Package rerunfilecheck Warning: File `test.lof' has changed. Rerun.
第三次运行成功,没有任何警告。