空白页导致第一页重复。

空白页导致第一页重复。

我是新手。在我的文档中运行以下 \maketitle 命令后,我得到了一个空白的、有编号的页面。

这是我正在使用的报告类的一部分吗?我该如何删除空白页?

\def\maketitle{%\begin{titlepage}
\thispagestyle{empty}
\let\footnotesize\small \let\footnoterule\relax \setcounter{page}{0}
\null
\vfil
\begin{center}
\title{Final Year Project Interim Report\\[0.5cm]\rule{4cm}{1pt}\\[0.7cm]
\textbf{\projecttitle}}\\[1cm]
\author{\LARGE \studentname}\\[0.5cm]\rule{4cm}{1pt}\\[0.5cm]
\textsf{\Large  Blah[0.5cm]
\textsf{\Large  \textbf{Supervisor:}  \supervisorname}\\[0.5cm]
\textsf{\Large  \textbf{Mentor:}  \moderatorname}\\[1.8cm]
\includegraphics[height=6cm]{logo}\\[1cm]
\textsf{\Large Blah\vfill
\normalsize \today}
\end{center}
\vfil
\null
%\end{titlepage}
}

我突然意识到我可能没有提供足够的信息。如果是这样,请告诉我。

编辑:(尽可能简单的)工作示例:

tex 文件:

\documentclass[]{final_report}
\usepackage{graphicx}
\usepackage{hyperref}


\def\studentname{asdn}
\def\projecttitle{asd}
\def\supervisorname{asd}
\def\moderatorname{asd}

\begin{document}

\maketitle
\tableofcontents\pdfbookmark[0]{Table of Contents}{toc}\newpage



\label{endpage}

\end{document}

\end{article}

cls 文件:

\ProvidesClass{final_report}
\LoadClass[11pt, titlepage]{report}
\usepackage[paperwidth=21cm,paperheight=29.7cm,includehead,headheight=1.5cm,pdftex,hmargin={3cm,2.5cm},vmargin={0cm,2cm},]{geometry} 
\setlength{\parindent}{0cm} 
\renewcommand{\baselinestretch}{1.2}
\parskip=1em

\renewcommand{\contentsname}{Table of Contents}

\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhf{}
\fancyhead[LO]{\small\textsf{\projecttitle}}
\fancyhead[RO]{\small\textsf{\studentname}}
\renewcommand{\headrulewidth}{0.1pt}
\fancyfoot[CO]{\small\textsf{Page \thepage~of~\pageref{endpage}}}



\def\ps@plain{%
      \let\@oddhead\@empty
      \def\@oddfoot{\normalfont\hfil\small\textsf{Page \thepage~of~\pageref{endpage}}\hfil}%
      \def\@evenfoot{\normalfont\hfil\small\textsf{Page \thepage~of~\pageref{endpage}}\hfil}}


\renewcommand{\normalsize}{\fontsize{11pt}{11pt}\selectfont}
\renewcommand{\title}[1]{\textsf{\Huge{#1}}}
\renewcommand{\author}[1]{\textsf{\Huge{#1}}}
\newcommand{\subtitle}[1]{\textsf{\textbf{\Large{#1}}}}
\newcommand{\abstractheading}[1]{\textsf{\textbf{\LARGE{#1}}}}
\newcommand{\code}[1]{\texttt{\footnotesize{#1}}}

\renewcommand{\section}{\@startsection
{section}%                    % the name
{1}%                          % the level
{0mm}%                        % the indent
{10.6mm}%             % the beforeskip
{4.2mm}%           % the afterskip
{\LARGE\bfseries\sffamily}}  % the style

\renewcommand{\subsection}{\@startsection
{subsection}%                    % the name
{2}%                          % the level
{0mm}%                        % the indent
{6.4mm}%             % the beforeskip
{1.1mm}%           % the afterskip
{\Large\bfseries\sffamily}}  % the style

\renewcommand{\subsubsection}{\@startsection
{subsubsection}%                    % the name
{3}%                          % the level
{0mm}%                        % the indent
{4.2mm}%             % the beforeskip
{1.1mm}%           % the afterskip
{\normalsize\bfseries\sffamily}}  % the style

%\renewcommand\chapter{
%  %\thispagestyle{empty}
%  \pagestyle{fancy}
%  \doublespacing
%  \global\@topnum\z@
%  \@afterindentfalse
%  \secdef\@chapter\@schapter
%}

\renewcommand\chapter{
\if@openright\cleardoublepage\else\clearpage\fi
                    \thispagestyle{plain}%
                    \global\@topnum\z@
                    \@afterindentfalse
                    \secdef\@chapter\@schapter}

%% Chapter headings should be centered, uppercase, and at the top of the page.
\def\@makechapterhead#1{%
  { \parindent \z@ \raggedright \normalfont
    %\centering
    \ifnum \c@secnumdepth >\m@ne
        \huge\textsf{\@chapapp\space \thechapter:}
        % \par\nobreak
        %\vskip 20\p@
    \fi
    \interlinepenalty\@M
    \huge \bfseries \textsf{#1}\par\nobreak
    \rule{5cm}{0.5pt}
    \vskip 20\p@
  } }

\def\@makeschapterhead#1{%
  %\vspace*{50\p@}%
  { \parindent \z@ \raggedright
    %\centering
    \normalfont
    \interlinepenalty\@M
    \huge \bfseries  \textsf{#1}\par\nobreak
    \rule{5cm}{0.5pt}
    \vskip 20\p@

  }}

 \renewenvironment{abstract}{%
      \chapter*{\abstractname}%
      \addcontentsline{toc}{chapter}{\abstractname}
 }


\makeatletter
\renewcommand{\l@chapter}{\bfseries\@dottedtocline{1}{0em}{2.3em}}
\renewcommand{\l@section}{\normalfont\@dottedtocline{2}{2em}{2.3em}}
\renewcommand{\l@subsection}{\normalfont\@dottedtocline{3}{2em}{2.3em}}
\renewcommand{\l@subsubsection}{\normalfont\@dottedtocline{4}{2em}{2.3em}}
\makeatother

    \def\maketitle{%\begin{titlepage}
    \thispagestyle{empty}
    \let\footnotesize\small \let\footnoterule\relax \setcounter{page}{0}
    \null
    \vfil
    \begin{center}
    \title{bla\\[0.5cm]\rule{4cm}{1pt}\\[0.7cm]
    \textbf{\projecttitle}}\\[1cm]
    \author{\LARGE \studentname}\\[0.5cm]\rule{4cm}{1pt}\\[0.5cm]
    \textsf{\Large blah[0.5cm]}
    \textsf{\Large  \textbf{Supervisor:}  \supervisorname}\\[0.5cm]
    \textsf{\Large  \textbf{Mentor:}  \moderatorname}\\[1.8cm]
    \includegraphics[height=6cm]{logo}\\[1cm]
    \textsf{\Large blah\\\vfill
    \normalsize \today}
    \end{center}
    \vfil
    \null
    %\end{titlepage}
    }

\pagestyle{plain}

答案1

评论显示问题已解决,但似乎不知道具体是什么解决了它。这里有一个“答案”,以防止将来将问题算作未解决。这是社区 wiki,所以任何人如果有任何有用的话都可以添加。

答案2

我弄清楚了问题所在(事实证明,这是 .cls 文件的问题)

不幸的是,我创建的示例没有重现该问题(尽管我发誓在发布之前检查时确实重现了!)。我真的把匿名化/简化了我的示例,弄得一团糟!

问题是由于 projecttitle、supervisorname 和 moderatorname 的组合对于模板而言太长(尽管它们不是特别长!)而引起的。

我认为这肯定被推到了另一页。我已通过移除 \null 间隔解决了该问题。这有点丑陋,因为它使日期太靠近其正上方的学校名称。

如果有人有更优雅的解决方案,我现在将使用该解决方案(是否可以防止移动到新页面?添加的页面是空白的,因此几乎没有任何意义!)。我现在将其标记为答案,但如果有人有更优雅的解决方案,我会将其标记为答案。

相关内容