我对我的科学报告养成了一些习惯,所以我开发了一些个性化的命令。
首先,我在序言中定义我需要的所有变量,如下所示:
\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