我正在使用 XeLatex,文档类别是ctexart
。我的文章不需要日期。我尝试了\date{}
和\date{\empty}
和\date{\vspace{-3em}}
,但它们只删除了日期而不包括空格。似乎还剩下很大的空间。
我想删除与之关联的空间。你能帮我一下吗?谢谢!
答案1
您需要重新定义\maketitle
命令
默认情况下它的定义如下
\def\@maketitle{%
\newpage
\null
\vskip 2em%
\begin{center}%
\let \footnote \thanks
{\LARGE \@title \par}%
\vskip 1.5em%
{\large
\lineskip .5em%
\begin{tabular}[t]{c}%
\@author
\end{tabular}\par}%
\vskip 1em%
{\large \@date}%
\end{center}%
\par
\vskip 1.5em
}
因此,如果您添加一个条件来检查是否为\@date
,\empty
那么您将实现您想要的。
\documentclass{ctexart}
\usepackage{lipsum} % <=== just for \lipsum dummy text
\makeatletter
\renewcommand{\maketitle}{
\thispagestyle{empty} % <=== prevent page numberring on this page
\newpage\null\vskip 2em%
\begin{center}%
\let \footnote \thanks
{\LARGE \@title \par}%
\vskip 1.5em%
{\large
\lineskip .5em%
\begin{tabular}[t]{c}%
\@author
\end{tabular}\par}%
\vskip 1em%
\ifx\@date\empty
\vspace{-2em} % <==== change spacing here
\else
{\large \@date}%
\fi
\end{center}%
\par
\vskip 1.5em
}
\makeatother
\title{My title}
\author{Author of the document}
\date{} % <=== is empty
\begin{document}
\maketitle
\lipsum[1] % <=== lipsum dummy text
\end{document}
当\date
不为空时,例如
\date{\today}
它像往常一样工作