如何获取latex中文档标题的值?

发布于 2024-08-26 20:21:43 字数 53 浏览 3 评论 0原文

我想知道如何在 LaTex 中获取文档标题,以便在文档的其他地方使用。我只是希望能够回应它。

I am wondering how I can get the document title in LaTex, for use elsewhere in the document. I just want to be able to echo it.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

绮烟 2024-09-02 20:21:43

使用 \@title 不起作用,因为 \maketitle 会清除 \@title。这对我来说似乎很愚蠢,但事实就是如此。一种解决方案是重新定义 \title 以将标题保存在其他位置。例如,

\def\title#1{\gdef\@title{#1}\gdef\THETITLE{#1}}

然后使用 \THETITLE

您也可以采用相反的方式: \def\MYTITLE{...} 然后 \title{\MYTITLE} 然后使用 \MYTITLE再次。

Using \@title does not work because \maketitle clears \@title. This seems silly to me but that's the way it is. One solution is to redefine \title to save the title somewhere else. For instance,

\def\title#1{\gdef\@title{#1}\gdef\THETITLE{#1}}

then use \THETITLE.

You can do the other way around: \def\MYTITLE{...} then \title{\MYTITLE} and later use \MYTITLE again.

深海不蓝 2024-09-02 20:21:43

我刚刚编写了一个新命令就成功了。

\newcommand{\mytitle}{...}

\title{\mytitle}

I had success just writing a new command.

\newcommand{\mytitle}{...}

\title{\mytitle}
平生欢 2024-09-02 20:21:43

有一个名为 authoraftertitle 的包正是这样做的

\documentclass{article}
\usepackage{authoraftertitle}
\setlength\parindent{0 pt}

\begin{document}

\title{a good title}
\author{a better author}
\date{the best date}

\maketitle

the title is: \textbf{\MyTitle} \\
the author is: \textbf{\MyAuthor} \\
the data is: \textbf{\MyDate} \\

\end{document}

There is a package called authoraftertitle that does exactly this

\documentclass{article}
\usepackage{authoraftertitle}
\setlength\parindent{0 pt}

\begin{document}

\title{a good title}
\author{a better author}
\date{the best date}

\maketitle

the title is: \textbf{\MyTitle} \\
the author is: \textbf{\MyAuthor} \\
the data is: \textbf{\MyDate} \\

\end{document}
居里长安 2024-09-02 20:21:43

这是一个解决方法...

\let\titleoriginal\title           % save original \title macro
\renewcommand{\title}[1]{          % substitute for a new \title
    \titleoriginal{#1}%               % define the real title
    \newcommand{\thetitle}{#1}        % define \thetitle
}

\title{This is my title}

\begin{document}
\thetitle
\end{document}

这里忽略了标题的简短版本...

This is a workaround...

\let\titleoriginal\title           % save original \title macro
\renewcommand{\title}[1]{          % substitute for a new \title
    \titleoriginal{#1}%               % define the real title
    \newcommand{\thetitle}{#1}        % define \thetitle
}

\title{This is my title}

\begin{document}
\thetitle
\end{document}

The short version of the title was ignored here...

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文