第一部分

第一部分

我在 Windows 上使用 TeXnic Cener。我的 latex 文档是文章格式。最初,我有以下标题页:

    \documentclass{article}
    \setcounter{tocdepth}{3}
    \begin{document}
    \title{Some title}

    \author{My Name}
    \date{\today}
    \maketitle

     \thispagestyle{empty}

     \clearpage
     \tableofcontents
      \clearpage

然后,为了在标题页添加更多结构,我做了以下修改:

     \begin{document}
     \title{Some title}

      \author{My Name}


     \paragraph{}
     \large \centerline{My Report}
     \centerline{for the purpose}
     \centerline{\date{\today}}
     \normalsize


      \maketitle

     \thispagestyle{empty}

     \clearpage
     \tableofcontents
     \clearpage

问题是,日期出现在两个地方:旧地方和新地方。我完全删除了日期并尝试了以下操作:

  1. 重启 texnic 中心
  2. 重启我的笔记本电脑
  3. 删除生成的 pdf 文件以便重新创建它。

似乎什么都不起作用,日期仍然显示在原来的位置。我还想提一下,在将日期添加到上述任何代码之前,日期根本没有显示。

在此先感谢您的任何建议。

答案1

几件事。首先,您必须使用\date{}。如果您删除它,因为它在定义中是硬编码的,因此\maketitle将打印今天的日期。您应该使用\today而不是\date{\today}。此外,由于\centerline是 TeX 命令,您应该使用\centering(即 LaTeX)并将整个内容括在一个组中,以便限制范围。

有了这些,你的代码就变成了

\documentclass{article}
\begin{document}
\title{Some title}

\author{My Name}
\date{}

\paragraph{}
{%   <-- starts a group
\large \centering
My Report \par
for the purpose \par
\today \par
}%   <-- ends that group

\maketitle

\thispagestyle{empty}

\clearpage
\tableofcontents
\clearpage
\end{document}

给予

在此处输入图片描述

编辑以解决该评论。

您可以使用重新定义\maketitle或使用titling包。以下是使用第二种选项的尝试。

\documentclass{article}
\usepackage{titling}
\begin{document}
\pretitle{%
    \begin{center}\LARGE
    \begin{minipage}{\textwidth}
        \large \centering
        My Report \par\vskip 0.5em
        for the purpose \par\vskip 0.5em
        \today \par
    \end{minipage}
    \vskip 1em
}
\posttitle{\par\end{center}\vskip 0.5em}
\title{Some title}

\author{My Name}
\date{}

\maketitle

\thispagestyle{empty}

\clearpage
\tableofcontents
\clearpage
\end{document}

在此处输入图片描述

这是一个更简单的版本,它在内部添加了额外的细节\title

\documentclass{article}
\begin{document}
\title{{%   <-- starts a group
\large
My Report \\[0.75ex]
for the purpose \\[0.75ex]
\today \\[0.5em]
}%   <-- ends that group
Some title}

\author{My Name}
\date{}

\maketitle

\thispagestyle{empty}

\clearpage
\tableofcontents
\clearpage
\end{document}

答案2

此答案使用titling包进行设置。第一部分回答了原始问题,该问题的标题分布在前两页。第二部分回答了在回应 Harish Kumar 的答案的评论中提出的次要问题。

第一部分

\maketitle两次使用不同的设置,在使用新命令之间恢复默认设置\restoredefaults

\documentclass{article}
\usepackage{titling}
\newcommand{\restoredefaults}{%
  \pretitle{\begin{center}\LARGE}
  \posttitle{\par\end{center}\vskip 0.5em}
  \preauthor{\begin{center}
  \large \lineskip 0.5em%
  \begin{tabular}[t]{c}}
  \postauthor{\end{tabular}\par\end{center}}
  \predate{\begin{center}\large}
  \postdate{\par\end{center}}}
\begin{document}
  \pretitle{\large\centering}
  \posttitle{\par}
  \preauthor{\large\centering}
  \postauthor{\par}
  \predate{\large\centering}
  \postdate{\par}
  \title{for the purpose}
  \author{My Report}
  \maketitle
  \newpage
  \restoredefaults
  \title{Some title}
  \author{My Name}
  \date{}% for empty date with \maketitle
  \maketitle
  \thispagestyle{empty}
  \clearpage
  \tableofcontents
  \clearpage
\end{document}

分割标题

第二部分

以下解决方案使用\maketitlehookafrom 的功能\titling并设置两个新命令\purpose{}\preliminarytitle{}来保存相关信息。每个命令都有一个强制参数。今天的日期是硬编码的,尽管如果您愿意,您显然可以更改它。

\documentclass{article}
\usepackage{titling}
\newcommand{\purpose}[1]{%
  \renewcommand{\docpurpose}{#1}}
\newcommand{\prelimtitle}[1]{%
  \renewcommand{\docprelimtitle}{#1}}
\newcommand{\docpurpose}{}
\newcommand{\docprelimtitle}{}
\renewcommand{\maketitlehooka}{%
  \centering
  \large
  \docpurpose\par
  \docprelimtitle\par
  \today\par}
\begin{document}
  \purpose{for the purpose}
  \prelimtitle{My Report}
  \title{Some title}
  \author{My Name}
  \date{}% for empty date with \maketitle
  \maketitle
  \thispagestyle{empty}
  \clearpage
  \tableofcontents
  \clearpage
\end{document}

统一称号

如果您希望附加信息位于标题其余部分的上方,请将长度设置\droptitle为适当的值。

相关内容