目录中编号错误,长度超过一页

目录中编号错误,长度超过一页

我尝试了所有我能找到的带有\cleardoublepage\newpage等的东西;他们大多使用\addcontentsline。我不需要使用它,因为listof=totoc已经将它放入了目录中,所以即使我使用\addcontentsline它,我也会得到相同的结果。

\documentclass[
    fontsize=11pt,
    DIV10,
    ngerman,
    paper=a4, 
    twoside=false,
    titlepage,
    parskip=half,
    listof=totoc,
    bibliography=totoc,
    index=totoc,
    captions=tableheading,
    foottotes=multiple,
    final
]{scrartcl}

\usepackage[
    automark,
    headsepline,
    ilines
]{scrpage2}

\usepackage[ngerman]{babel}
\usepackage[babel,german=quotes]{csquotes}
\usepackage[dvips]{graphicx}

\begin{document} 
\ofoot{\pagemark}
\pagenumbering{Roman}
\clearpage
\tableofcontents
\clearpage
\listoffigures
\clearpage
\pagenumbering{arabic}
\section{Test}
\label{sec:Test}

Test

\subsection{Test}
\label{sec:Test}

\begin{figure}[H] 
\centering
\caption{Testfig}
\label{fig:testfig}
\end{figure}

\subsection{Test}
\label{sec:Test}
\subsection{Test}
\label{sec:Test}
\subsection{Test}
\label{sec:Test}
\subsection{Test}
\label{sec:Test}
\subsection{Test}
\label{sec:Test}
\subsection{Test}
\label{sec:Test}
\subsection{Test}
\label{sec:Test}
\subsection{Test}
\label{sec:Test}
\subsection{Test}
\label{sec:Test}
\subsection{Test}
\label{sec:Test}
\subsection{Test}
\label{sec:Test}
\subsection{Test}
\label{sec:Test}
\subsection{Test}
\label{sec:Test}
\subsection{Test}
\label{sec:Test}
\subsection{Test}
\label{sec:Test}
\subsection{Test}
\label{sec:Test}
\subsection{Test}
\label{sec:Test}
\subsection{Test}
\label{sec:Test}
\subsection{Test}
\label{sec:Test}
\subsection{Test}
\label{sec:Test}
\subsection{Test}
\label{sec:Test}
\subsection{Test}
\label{sec:Test}
\subsection{Test}
\label{sec:Test}
\subsection{Test}
\label{sec:Test}
\subsection{Test}
\label{sec:Test}
\subsection{Test}
\label{sec:Test}
\subsection{Test}
\label{sec:Test}
\subsection{Test}
\label{sec:Test}
\subsection{Test}
\label{sec:Test}
\subsection{Test}
\label{sec:Test}
\subsection{Test}
\label{sec:Test}
\subsection{Test}
\label{sec:Test}
\subsection{Test}
\label{sec:Test}
\subsection{Test}
\label{sec:Test}
\subsection{Test}
\label{sec:Test}
\subsection{Test}
\label{sec:Test}
\subsection{Test}
\label{sec:Test}
\subsection{Test}
\label{sec:Test}
\subsection{Test}
\label{sec:Test}
\subsection{Test}
\label{sec:Test}
\subsection{Test}
\label{sec:Test}

\end{document}

答案1

您的示例为我显示了目录中正确的页面条目。您仅将您的问题描述为“[w] 目录中的数字错误,长度超过一页”。我猜你的数字在两页的目录中偏离(太低)了一个(或者更一般地说,偏离了 [目录页数 - 1])。解决方案是编译你的 LaTeX 文档(至少)時間:

  • 第一次运行后,文档包含一个空白的单页目录;

  • 第二次运行后(读取了第一的运行 (run),文档包含一个目录 (ToC),其中的页面条目反映了第一个运行的目录长度 (即一页的目录);

  • 第三次运行后(读取了第二运行),ToC 页面条目反映了正确的 ToC 长度。

答案2

好的,以下是 sharelatex.com 为我提供的解决方案:

有时我们的编译器没有意识到需要再次运行 latex 才能使目​​录编号正确。尝试在代码中的某处添加以下行:\phantom{\cite{?}}。这包括一个不存在的不可见引用,并将诱使我们的编译器运行最大次数。

答案3

我遇到过类似的问题...目录有 3 页长,但前言中的页面超链接(罗马数字)不正确,指向错误的页面。我尝试通过\setcounter{page}{7}手动设置页码来修复它,但没有效果,而且目录中的罗马数字也这样被搞乱了。

解决方案是: - 不使用任何\setcounter{page}{7}(或除 7 以外的任何其他数字)在前言中手动设置页码。即使目录长度超过一两页,它也至少会在页眉中正确编号前言的所有页面。

  1. \phantomsection在每个条目前放置一个。
  2. 使用\addcontentsline{toc}{chapter}{Table of Contents blabla}创建目录条目。
  3. 添加前言章节(摘要或致谢,通过、 、\include\tableofcontents其他方式)\listoffigures\listoftables
  4. 使用\mtcaddchapter以使 minitoc 不同步(否则它们稍后会被放置在错误的章节中)。
  5. 让我们\cleardoublepage来看一下每个章节。

对于我来说,这种方式效果很好,页码和超链接都没问题。

例子:

\phantomsection

\addcontentsline{toc}{chapter}{Table of Contents}

\mtcaddchapter

\tableofcontents

\cleardoublepage

对前言的每一章重复此循环。

\cleardoublepage就我的情况而言,由于目录长达 3 页,因此缺少的内容会导致错误的超链接指向 2 页之外的页面。

相关内容