我目前正在写我的学士论文,我有点困惑为什么 \mainmatter 在我的表格列表和我的第一章“简介”之间创建了一个空白页。我使用 thesisclass 作为我的 documentclass,而 openany 没有帮助。对于目录和标题页,我使用了:
\frontmatter
\pagenumbering{roman}
在我使用 \listoftables 命令之后:
\mainmatter
\pagenumbering{arabic}
每当我注释掉 \mainmatter 和 \pagenumbering{arabic} 时,就没有空白页了。
谢谢你!
编辑:我从我的大学得到了一个 LaTeX 模板,它非常复杂,所以我不确定以下内容是否包含所有重要内容,但这里有一个小例子。我有一个 thesisclass.cls 文档,其中包含:
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{thesisclass}
\LoadClass[a4paper,11pt,titlepage,openany]{scrbook}
我的主要 tex 文档包含:
\documentclass{thesisclass}
\includeonly{%
titlepage,
text/introduction,
text/declaration,
text/appendix
}
\begin{document}
\frontmatter
\pagenumbering{roman}
\include{titlepage}
\tableofcontents
\listoffigures \addcontentsline{toc}{chapter}{List of Figures}
\listoftables \addcontentsline{toc}{chapter}{List of Tables}
\mainmatter
\pagenumbering{arabic}
\chapter{Introduction}
blablablablabla
\end{document}
答案1
假设您的自定义类没有重新定义\mainmatter
& Co.,并且它们的定义是scrbook
,那么问题在于 会\mainmatter
检查单面或双面打印,但会忽略openany
。您可以通过暂时将相应的标志设置为 false 来欺骗它
\documentclass[openany]{scrbook}
\begin{document}
\frontmatter
foo
\makeatletter
\@twosidefalse
\mainmatter
\@twosidetrue
\makeatother
baz
\end{document}
然而,我不会这么做
即使如此openany
,在双面打印中,奇数页在右侧,偶数页在左侧也是很常见的。你在这里似乎要求破坏这种习惯性的页码编号。我认为这是糟糕的风格。
旁注:\frontmatter
已经\pagenumbering{roman}
,并且\mainmatter
已经\pagenumbering{arabic}
,因此无需再次写这些。
答案2
KOMA-Script 作者对此问题的回答可以在以下位置找到:如何防止 scrbook 中的左页出现空白?,“过渡到新的页码样式”部分:
\frontmatter
在使用和的过程中更改页码样式时\mainmatter
,还可能会插入空白的左页。这种情况恰好发生在前部在右页结束的情况下,例如第 iii 页。由于主要部分始终从第 1 页开始,因此不可避免地必须插入空白的左页。这是因为奇数页始终是右页。如果没有插入空白的左页,双面打印件会在后页(即左页)上打印右页。从此时起,所有边距都将不正确。由于这个可能产生的空白页是必需的,因此不应将其关闭。当然,这有一些技巧,但我强烈建议不要这样做。如果您不想要这个空白页,您真的不想要双面文档,应该将其设置
twoside=false
为\documentclass
。