目标 :
我想创建一个可以动态更新的变量。
语境 :
我的文档的每一章都有一个特定的关键字(实际上是一个 bibtex 条目)。有时,我需要打印它,或将其用作另一个命令的参数。所以我需要定义一个存储关键字的第一个命令,以及另一个打印关键字的命令。因此,对于每个新章节,关键字都会发生变化,变量也会发生变化。
迄今为止 :
这是我(认为我)需要的命令:
\newcommand{\aNewChapter}[2]{%
\textbf{#1} % The title of the chapter
\setVariable{#2} % The definition of the variable
}
\newcommand{\setVariable}[1]{#1}
\newcommand{\printVariable}{???}
\begin{document}
\aNewChapter{The first chapter}{keyword1}
Some text...
\printVariable % this should, in this case, print 'keyword1'
The rest of the text
\end{document}
这个想法似乎并不复杂,但我找不到任何解决方案来实现它。如果我手动设置变量而不是使用参数,那会很容易。但我需要这种“动态”的做法。问题是我不知道如何打印它。
这似乎太简单了,我几乎感觉问这个问题很蠢……
答案1
以下是根据我的评论得出的完整示例:
\documentclass{article}
\newcommand{\aNewChapter}[2]{%
\textbf{#1} % The title of the chapter
\setVariable{#2} % The definition of the variable
}
\newcommand\myVariable{}
\newcommand{\setVariable}[1]{\renewcommand{\myVariable}{#1}}
\newcommand{\printVariable}{\myVariable}
\begin{document}
\aNewChapter{The first chapter}{keyword1}
Some text...
\printVariable % this should, in this case, print 'keyword1'
The rest of the text
\end{document}
如果这不是您想要的,您应该改进问题。