我正在使用经过修改的BYU 论文模板作为我的论文。
这个模板有两个不受欢迎的功能我想消除:
- 该模板会在各个地方创建空白页。例如,在第一页(标题)之后和摘要之后等等。该模板还会在某些章节之后创建空白页。我认为这是为了确保在双面纸上打印时,新章节不会从页面背面开始。简而言之,我想删除所有空白页。
- 在目录中,我想删除标题、摘要、致谢和目录。
答案1
为了实现您的目标,您的文档结构应该类似于:
\documentclass[..,honors,etd,openany,..]{BYUPhys}
\let\oldToC\tableofcontents
\renewcommand{\tableofcontents}{{% Remove ToC entries
\renewcommand{\addcontentsline}[3]{}\oldToC}}
\let\oldmakepreliminarypages\makepreliminarypages
\renewcommand{\makepreliminarypages}{{% Remove ToC entries
\renewcommand{\addcontentsline}[3]{}\oldmakepreliminarypages}}
%...
\begin{document}
%...
\makepreliminarypages
\renewcommand{\clearemptydoublepage}{\clearpage}
%...
\end{document}
以下是对正在发生的事情的简短讨论:
为了解决空白页问题,您需要做几件事:
使用
etd
文档类别的选项(显然是 BYU 特有的提交类型)删除论文“初步页面”部分中的空白页:\documentclass[..,etd,...]{BYUPhys} %...
\renewcommand{\clearemptydoublepage}{\clearpage}
立即插入\makepreliminarypages
以删除目录周围的空白页:\begin{document} %... \makepreliminarypages \renewcommand{\clearemptydoublepage}{\clearpage} %...
使用
openany
文档类的选项删除每章的空白页:\documentclass[..,openany,..]{BYUPhys} %...
在文档序言中添加
\let\oldToC\tableofcontents \renewcommand{\tableofcontents}{{% Remove ToC entries \renewcommand{\addcontentsline}[3]{}\oldToC}} \let\oldmakepreliminarypages\makepreliminarypages \renewcommand{\makepreliminarypages}{{% Remove ToC entries \renewcommand{\addcontentsline}[3]{}\oldmakepreliminarypages}}
这会暂时重新定义与内容相关的宏,
\addcontentsline
使其不执行任何操作(吞噬其 3 个强制参数)。请注意两个命令重新定义内的分组(双括号)。默认情况下,目录中不包含标题、摘要或致谢,但在honors
类选项下,它们会包含。
以下是对正在发生的事情的详细讨论:
删除空白页:
文档
etd
类选项定义了适当的“清除页面”宏:\DeclareOption{etd}{ \renewcommand{\clearemptydoublepage}{\clearpage}
\makepreliminarypages
重新定义\clearemptydoublepage
上述内容以重新插入空白页:\newcommand{\makepreliminarypages}{ \singlespace \changepage{0.5in}{}{}{}{}{}{-0.2in}{-0.3in}{} \BYUtitlepage \abstractpage \acknowledgmentspage \renewcommand{\clearemptydoublepage}{\cle@remptydoublep@ge}% <-------- ! \changepage{-0.5in}{}{}{}{}{}{0.2in}{0.3in}{} \doublespace }
通过插入上述建议
\renewcommand
,我们覆盖了这个重新定义以维持不插入更多空白页的现状。自从
BYUPhys.cls
加载默认book
文档类并且没有重新定义\chapter
,我们可以在那里查看以进行任何更改。book.cls
定义\chapter
为\newcommand\chapter{\if@openright\cleardoublepage\else\clearpage\fi \thispagestyle{plain}% \global\@topnum\z@ \@afterindentfalse \secdef\@chapter\@schapter}
它会插入到文档类选项
\cleardoublepage
下openright
。因此,对于常规的\clearpage
,我们使用openany
选项。
\tableofcontents
默认在目录中插入一些内容:\let\TEMPtableofcontents\tableofcontents \renewcommand{\tableofcontents}{ \clearemptydoublepage \singlespace \providecommand\phantomsection{} \phantomsection \addcontentsline{toc}{chapter}{Table of Contents}% <-------- ! \TEMPtableofcontents \clearemptydoublepage \doublespace }
\makepreliminarypages
,在目录(标题、摘要和致谢)之前设置了初步页面,包括类似的用法\addcontentsline
:\DeclareOption{honors}{ \renewcommand{\makepreliminarypages}{ \changepage{0.5in}{-0.5in}{}{0.5in}{}{}{-0.2in}{-0.3in}{} \providecommand\phantomsection{} \phantomsection \addcontentsline{toc}{chapter}{Title and signature page}% <-------- ! \honorstitlepage \providecommand\phantomsection{} \phantomsection \addcontentsline{toc}{chapter}{Abstract}% <-------- ! \honorsabstractpage \honorsacknowledgmentspage% <-------- ! (hidden, but in there...) \renewcommand{\clearemptydoublepage}{\cle@remptydoublep@ge} \changepage{-0.5in}{}{}{}{}{}{0.2in}{0.3in}{} \doublespace } }
通过重新定义
\addcontentsline
暂时不执行任何操作,上面标记的行不执行任何操作。