我正在尝试创建自己的标题页。
有没有办法利用标题页内的\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
及其自身的多个实例。 (如果您不使用,则会在使用、和的值后清除它们[参见马丁的回答]。)\maketitle
titling
\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}