添加 tocloft 时 \clearpage 不起作用

添加 tocloft 时 \clearpage 不起作用

我正在使用scrbook和使用\begin{titlepage}\end{titlepage}来制作书名。之后,\clearpage在制作之前添加\tableofcontents,这样 toc 就不会显示在第二页,而是在第三页。

tocloft 这一切都没有问题,除了添加我需要制作本地目录的包时。

这是一个已知问题吗?如何避免\clearpage被忽略并继续使用此包?这是一个 MWE

\documentclass[11pt]{scrbook}%    
\usepackage{tocloft}    
\begin{document}

\frontmatter
  \begin{titlepage}
     \begin{center}
        \textbf{My book title here}
     \end{center}
   \end{titlepage}

\clearpage %add another \clearpage after this also have no effect

\setcounter{tocdepth}{1} % for main TOC, only show chapter/section
\tableofcontents    
\mainmatter    
\chapter{Introduction}
\section{first section}    
\end{document}

使用编译lualatex foo.tex给出

Mathematica 图形

注释掉\usepackage{tocloft}现在的空白页,正如预期的那样,标题和目录之间会显示一个空白页。

Mathematica 图形

Linux 上的 TL 2019

答案1

环境在其末尾titlepage添加了一个\clearpage。因此,额外的显式\clearpage不会添加额外的空白页 - 无论是有还是没有包tocloft。但如果没有页面,tocloftTOC 将作为章节添加并\cleardoubleoddpage在其开始之前使用一个。因此,如果删除包,则会在标题页和 TOC 之间得到一个空白页tocloft

tocloft免责声明:不建议与 KOMA-Script 类一起使用。

但如果你确实想要/需要使用包tocloft,你可以添加titles到包选项中tocloft

\documentclass[11pt]{scrbook}
\usepackage[titles]{tocloft}% <- changed
\begin{document}

\frontmatter
  \begin{titlepage}
     \begin{center}
        \textbf{My book title here}
     \end{center}
   \end{titlepage}

\setcounter{tocdepth}{1} % for main TOC, only show chapter/section
\tableofcontents    
\mainmatter    
\chapter{Introduction}
\section{first section}    
\end{document}

或者您可以在目录之前使用\cleardoublepage或:\cleardoubleoddpage

\documentclass[11pt]{scrbook}
\usepackage{tocloft}
\begin{document}

\frontmatter
  \begin{titlepage}
     \begin{center}
        \textbf{My book title here}
     \end{center}
   \end{titlepage}

\cleardoubleoddpage% <- changed
\setcounter{tocdepth}{1}
\tableofcontents    
\mainmatter    
\chapter{Introduction}
\section{first section}    
\end{document}

您可以在标题页和目录之间向页面添加一些不可见的内容。然后可以使用\clearpage

\documentclass[11pt]{scrbook}
\usepackage{tocloft}
\begin{document}

\frontmatter
  \begin{titlepage}
     \begin{center}
        \textbf{My book title here}
     \end{center}
   \end{titlepage}

\mbox{}\thispagestyle{empty}\clearpage% <- changed
\setcounter{tocdepth}{1}
\tableofcontents    
\mainmatter    
\chapter{Introduction}
\section{first section}    
\end{document}

相关内容