2010-03-26 69 views
25

我想知道如何在乳胶中获得文档标题,以便在文档的其他地方使用。我只是想能够回应它。如何获得乳胶文档标题的价值?

+0

我确信有一种让每个页面的标题都有标题的方法。随着fancyhdr或回忆录文件类。所以这些文件将包含一个答案。虽然我不知道足以提取信息......(我刚刚搜索fancyhdr.sty为“标题”,但没有点击,虽然......) – Seamus 2010-03-27 23:58:51

+2

这不是一个真正的问题吗?答案是'\ makeatletter \ @title \ makeatother'。 – isomorphismes 2014-06-04 03:50:50

+3

确实。如果这个问题有任何问题,应该将它移到tex堆栈交换站点。 – nedned 2014-06-04 08:49:14

回答

23

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

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

然后使用\THETITLE

您可以通过其他方式:\def\MYTITLE{...}然后\title{\MYTITLE},然后再次使用\MYTITLE

+2

谢谢,这样做的窍门,尽管我必须将定义放在'\ makeatletter'和'\ makeatother'中,这开始是一个很大的努力。所以既然我只需要再次使用这个标题,那就没什么意义了。如果有更合理的解决方案,这将会很好。 – nedned 2010-03-28 09:36:03

+2

您可以通过其他方式执行:\ def \ MYTITLE {...}然后\ title {\ MYTITLE},然后再次使用\ MYTITLE。 – lhf 2010-03-29 00:25:47

+0

@lhf,你能否把这个选项放在你的答案中?我现在可以真正使用它。 – 2013-01-18 07:43:54

14

我已经成功地写了一个新的命令。

\newcommand{\mytitle}{...} 

\title{\mytitle} 
+0

找到这个比选定的答案更整齐清晰。 – gustafbstrom 2015-08-10 13:43:43

0

回答为tex.stackexchange.com站点(提示:titling封装)。 (我不知道如何将问题标记为在SE网站上重复)