为什么我在这个非常简单的 mwe 中会出现这个错误?

为什么我在这个非常简单的 mwe 中会出现这个错误?

为什么在这个非常简单的 mwe 中会出现此错误?似乎在book类 two 中也出现了相同的错误。

\documentclass[notoc]{tufte-book}
\setcounter{secnumdepth}{3}
\setcounter{tocdepth}{3}

\begin{document}

\tableofcontents
\chapter{Introduction}

\startcontents[chapters]
\printcontents[chapters]{}{1}{}

\section{Historical Overview}
\section{The CUDA Model}
\section{A Lattice Boltzmann Solver}

\addtocontents{toc}{text}

\chapter{chap3}
\section{My Overview}
\end{document}

答案1

您需要在章节行前插入段落分隔符。由于不允许直接使用 \par,因此请使用 \endgraf:

\documentclass[notoc]{tufte-book}
\setcounter{secnumdepth}{3}
\setcounter{tocdepth}{3}

\begin{document}

\tableofcontents
\chapter{Introduction}

\startcontents[chapters]
\printcontents[chapters]{}{1}{}

\section{Historical Overview}
\section{The CUDA Model}
\section{A Lattice Boltzmann Solver}

\addtocontents{toc}{text\endgraf}

\chapter{chap3}
\section{My Overview}
\end{document}

答案2

它源于.toc通过以下方式在文件内部引入随机文本

\addtocontents{toc}{text}

如果您希望这样做,请通过随后发出来确保文本是独立的\par

以下最小示例重现了该问题:

\documentclass{article}

\begin{document}

\tableofcontents

\section{A section}

\addcontents{toc}{text}% Error
%\addtocontents{toc}{text\par}% No error

\section{Another section}

\end{document}

相关内容