我尝试使用\thetitle
、\theauthor
和包\thedate
的titling
,但是它们都不起作用。MWE:
\documentclass{article}
\usepackage{titling}
\begin{document}
\thetitle \theauthor \thedate
\end{document}
(更新后的 MWE 见下文)
返回三个错误:
! 未定义的控制序列。 l.6 \标题 \作者 \日期 ! 未定义的控制序列。 l.6 \标题 \作者 \日期 ! 未定义的控制序列。 l.6 \标题 \作者 \日期
我正在使用 MiKTeX 2.9(pdfTeX 1.40.12)和最新版本的titling
,这里是\listfiles
输出:
*文件列表* article.cls 2007/10/19 v1.4h 标准 LaTeX 文档类 size10.clo 2007/10/19 v1.4h 标准 LaTeX 文件(尺寸选项) titling.sty 2009/09/04 v2.1d maketitle 排版
编辑:
显然,我愚蠢地忘记在上面的 MWE 中定义\title
、\author
和\date
。不过,这不是我原始文档中的问题。完整的 MWE(仍然会产生相同的错误)应该如下所示:
\documentclass{article}
\author{John Doe}
\title{Foo Bar}
\date{\today}
\usepackage{titling}
\begin{document}
\thetitle \theauthor \thedate
\end{document}
答案1
这有效:
\documentclass{article}
\usepackage{titling}
\author{A. N. Author}
\title{A title}
\date{\today}
\begin{document}
\maketitle
\thetitle \theauthor \thedate
\end{document}
您必须指定数据,否则数据不可用。
当然标题必须加载包前定义标题、作者和日期。
答案2
该titling
包需要被调用前 \title
和都已定义。为了在任何源中首先获取元数据,我通常不会在它前面放置任何包,但在这里这似乎是必要的。以下示例有效\author
:\date
\documentclass{article}
\usepackage{titling}
\author{John Doe}
\title{Foo Bar}
\date{\today}
\begin{document}
\thetitle \theauthor \thedate
\end{document}
有趣的是,如果您没有另行指定,则\thedate
不会自动发挥作用\today
,即使会假定日期是今天。\maketitle
答案3
您需要先定义作者、标题和日期的值,然后才能调用它们,例如
\documentclass{article}
\usepackage{titling}
\title{this}
\author{him}
\date{13 July 2025}
\begin{document}
\thetitle \theauthor \thedate
\end{document}