在自定义标题页上使用 \title、\author 和 \date 的值

在自定义标题页上使用 \title、\author 和 \date 的值

我正在尝试创建自己的标题页。

有没有办法利用标题页内的\title\author和命令?\date

例如:

...
\title{Something Cool}
\author{Cool Dude}
\date{\today}

\begin{document}
\begin{titlepage}

The title is \title
It was written by \author on \date

\end{titlepage}
\end{document}

基本上,我只是想知道是否有办法利用存储在\title\author标题\date页中的信息。

答案1

\title和宏分别将其参数保存到、和中。您可以在以下情况下使用这些宏\author\date\@title\@author\@date\makeatletter。然后使用\makeatother. 请注意它们被 清除\maketitle

\title{Example}
\author{Me}
\date{\today}

% ...

\makeatletter
\begin{titlepage}

The title is \@title
It was written by \@author\space on \@date

\end{titlepage}
\makeatother

答案2

titling该包提供了多种用户友好的方式来修改标题页。

它提供宏\thetitle\theauthor可以\thedate在文档的任何位置重复使用。

它允许您在单个文档中拥有\title\author\date及其自身的多个实例。 (如果您不使用,则会在使用、和的值后清除它们[参见马丁的回答]。)\maketitletitling\maketitle\@title\@author\@date

它还提供了各种挂钩来修改所有组成部分的格式。

答案3

我对您的问题的理解如下:如何访问文档中某个位置的标题、作者和日期字段的值。我建议使用以下 MWE 作为答案,这样就无需在序言之外使用\makeatletter... :\makeatother

\documentclass{article}
\title{Something}
\author{Somebody}
\date{Sometime}

\makeatletter
\let\newtitle\@title
\let\newauthor\@author
\let\newdate\@date
\makeatother

\begin{document}
\maketitle

Later in the document \ldots we access the variables again:
\newtitle, \newauthor, and \newdate.

\end{document}

答案4

另一种可能性是定义元数据。例如

\def\myauthor{Author} % Author
\def\mycoauthor{} % co-author
\def\mytitle{Title} % title
\def\mydate{Date} % date
%....
\begin{titlepage}

The title is \mytitle
It was written by \myauthor on \mydate

\end{titlepage}

相关内容