标题的 \thetitle、\theauthor 和 \thedate 不起作用

标题的 \thetitle、\theauthor 和 \thedate 不起作用

我尝试使用\thetitle\theauthor和包\thedatetitling,但是它们都不起作用。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}

相关内容