连接两个字符串以创建新命令

连接两个字符串以创建新命令

我对我的科学报告养成了一些习惯,所以我开发了一些个性化的命令。

首先,我在序言中定义我需要的所有变量,如下所示:

\newcommand{\cvba}{Cv_{\beta/\alpha}}
\newcommand{\za}{z_{\alpha}}
...

然后我以“eq:”开始所有等式标签,如下例所示:

\begin{equation}
  \za = \frac{1000.-T}{34}
  \label{eq:za}
\end{equation}

最后,我设置了一个命令,它允许我从变量引用环境方程内的定义:

\newcommand{\eref}[2]{\hyperref[eq:#1]{#2}}

在这个例子中,za将指向前面的等式:

\begin{equation}
  \cvba = \eref{za}{\za}+12
  \label{eq:cvba}
\end{equation}

我的问题是,我想让我的新命令eref更容易、更轻松使用,比如它只需要一个参数。

我尝试这样定义它:

\newcommand{\eref}[1]{\hyperref[eq:#1]{\#1}}

显然它不起作用,因为\#被理解为一个特定的字符。

所以我的问题是:“我如何连接两个字符串来创建一个新命令?”

如果有帮助的话,我的变量的名称可以改变,例如它们可以是\var_varname这样的,新的命令如下所示:

\newcommand{\eref}[1]{\hyperref[eq:#1]{\var_#1}}

答案1

代替

\var_#1

你要

\csname var_#1\endcsname

相关内容