定义动态变量

定义动态变量

目标 :

我想创建一个可以动态更新的变量。

语境 :

我的文档的每一章都有一个特定的关键字(实际上是一个 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}

如果这不是您想要的,您应该改进问题。

相关内容