我正在使用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
给出
注释掉\usepackage{tocloft}
现在的空白页,正如预期的那样,标题和目录之间会显示一个空白页。
Linux 上的 TL 2019
答案1
环境在其末尾titlepage
添加了一个\clearpage
。因此,额外的显式\clearpage
不会添加额外的空白页 - 无论是有还是没有包tocloft
。但如果没有页面,tocloft
TOC 将作为章节添加并\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}