删除致谢和目录之间的空白页?

删除致谢和目录之间的空白页?

我在“致谢”和“目录”之间看到一个空白页。我该如何删除它?我使用了某个地方的模板。序言如下:

\documentclass[openany,12pt]{ubthesis}
\usepackage{amssymb}
\usepackage{amsfonts}
\usepackage{srcltx}
\usepackage{graphicx}
\usepackage{amsmath}
\usepackage{epsfig}
\usepackage{dsfont}
\usepackage{url}
\usepackage{color, soul}
\usepackage{natbib}
\usepackage{lscape}
\usepackage{subfigure}
\usepackage{amsthm}
\usepackage{indentfirst}
\usepackage[subfigure]{graphfig}
\usepackage{float}
\floatstyle{plaintop}
\restylefloat{table} 
\usepackage{setspace}
\usepackage{booktabs}
\usepackage{tikz} 
\usepackage[export]{adjustbox} 
\usepackage[titletoc]{appendix}
\usepackage{listings} 
\usepackage{color} 
\definecolor{mygreen}{RGB}{28,172,0} 
\definecolor{mylilas}{RGB}{170,55,241}
\input{gams.tex}%newly added 0803

\pagestyle{plain}
\setulcolor{red}
\bibpunct[, ]{(}{)}{;}{a}{,}{,}
\def\bibfont{\small}
\def\bibsep{\smallskipamount}
\def\bibhang{24pt}
\def\newblock{\ }
\def\BIBand{and}

\widowpenalty=10000
\clubpenalty=10000
\raggedbottom

\newtheorem{theorem}{Theorem}[chapter]
\renewcommand{\thetheorem}{\arabic{chapter}.\arabic{theorem}}  
\newtheorem{acknowledgment}[theorem]{Acknowledgment}
\newtheorem{algorithm}[theorem]{Algorithm}
\newtheorem{axiom}[theorem]{Axiom}
\newtheorem{case}[theorem]{Case}
\newtheorem{claim}[theorem]{Claim}
\newtheorem{conclusion}[theorem]{Conclusion}
\newtheorem{conjecture}[theorem]{Conjecture}
\newtheorem{corollary}[theorem]{Corollary}
\renewcommand{\thecorollary}{\arabic{chapter}.\arabic{corollary}}
\newtheorem{criterion}[theorem]{Criterion}
\newtheorem{definition}[theorem]{Definition}
\newtheorem{example}[theorem]{Example}
\newtheorem{exercise}[theorem]{Exercise}
\newtheorem{lemma}[theorem]{Lemma}
\newtheorem{notation}[theorem]{Notation}
\newtheorem{problem}[theorem]{Problem}
\newtheorem{prop}{Proposition}[chapter]
\newtheorem{remark}[theorem]{Remark}
\newtheorem{solution}[theorem]{Solution}
\newtheorem{summary}[theorem]{Summary}
\renewenvironment{proof}{\bf Proof:}{}

答案1

假设这ubthesis.cls是布法罗大学的文档类,可在以下网址下载http://gitorious.org/ubthesis/mainline/trees/master/latex,这是一个基于标准book类的文档类。

因此,它以预定义的选项加载openright,即分段命令\chapter只能从奇数页开始。此外,许多命令被重新定义,以便\cleardoublepage在每种情况下添加。

看一下ubthesis.cls你就会注意到环境acknowledgements定义为:

\renewenvironment{acknowledgements}
{
\chapter*{Acknowledgements}
\markboth
{\MakeUppercase{Acknowledgements}}
{\MakeUppercase{Acknowledgements}}
\addcontentsline{toc}{chapter}{Acknowledgements}
}
{
\cleardoublepage
}

话虽如此,删除致谢和目录之间的空白页的最简单方法是:

  1. 在之前添加\begin{acknowledgements}

    \let\savecleardoublepage\cleardoublepage
    \let\cleardoublepage\clearpage 
    
  2. 之后添加此内容\tableofcontents

    \let\cleardoublepage\savecleardoublepage
    

这样,我们就改变了\cleardoublepage致谢之前的含义,并在目录之后恢复它。

thesis.tex以下 MWE 是从ubthesis源生成的文件的修改版本(可以执行您想要的操作) :

\documentclass[10pt]{ubthesis}

\title{My Title}

\author{My Name}

\conferral{\today}

\dept{redundancy}

\degree{phd}

\begin{document}
\begin{titlepage}
\maketitle
\end{titlepage}

\begin{ubfrontmatter}
\makecopyright
\cleardoublepage

\let\savecleardoublepage\cleardoublepage        % save the meaning of \cleardoublepage
\let\cleardoublepage\clearpage                  % let \cleardoublepage act as \clearpage

\begin{acknowledgements}
These are my acknowledgements
\end{acknowledgements}

\tableofcontents

\let\cleardoublepage\savecleardoublepage        % restore the meaning of \cleardoublepage

\cleardoublepage
\listoffigures
\cleardoublepage
\listoftables
\cleardoublepage
\begin{abstract}
This is my abstract
\end{abstract}
\end{ubfrontmatter}

\chapter{Introduction}

\begin{ubbackmatter}
\references[Bibliography]{}
\end{ubbackmatter}

\end{document}

评论

  1. 我建议不要修改原始行为,因为这是一个论文模板,布法罗大学可能希望你按照他们编写的方式使用它。
  2. 如果你坚持要修改原始行为:为单个页面更改此类内容不是一个好习惯。最好修改整个文档的行为,方法是将

    \let\cleardoublepage\clearpage
    

    在序言中,或者,如果您不介意有一份片面的文档,请ubthesis.cls使用以下选项加载oneside

    \documentclass[10pt,oneside]{ubthesis}
    

请注意,在这种情况下,ubthesis.cls使用选项加载openany

\documentclass[10pt,openany]{ubthesis}

是不够的,因为很多命令在类文件中被重新定义,所以要\cleardoublepage在它们的末尾添加。

相关内容