我是新手。在我的文档中运行以下 \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 间隔解决了该问题。这有点丑陋,因为它使日期太靠近其正上方的学校名称。
如果有人有更优雅的解决方案,我现在将使用该解决方案(是否可以防止移动到新页面?添加的页面是空白的,因此几乎没有任何意义!)。我现在将其标记为答案,但如果有人有更优雅的解决方案,我会将其标记为答案。