在动态变量中使用动态变量

在动态变量中使用动态变量

我正在查看以下示例: 如何在 LaTeX 中声明动态变量名称?动态条件变量

当我尝试创建动态变量时,似乎仍然会出错。这是一个最小(失败)示例,我认为这应该有助于展示我正在尝试做的事情。

\documentclass[12pt]{article}                                                                           
\usepackage{amsmath}

%%%
% Create a variable
% And a subscript with that variable
\newcommand\mypartialordergenerator[2]{% {Basename}{subscript}
    \expandafter\DeclareMathOperator{\csname #1\endcsname}{#2}
    \expandafter\newcommand{\csname #1 A\endcsname}{A_{\csname #1\endcsname}}
}

%%%
% Should create
%
% \DeclareMathOperator{\para}{PARA}
% \newcommand{\paraA}{A_{\para}}
\mypartialordergenerator{para}{PARA}

\begin{document}

    Neither \para nor \paraA works =/

\end{document}                

我认为我基本上在使用这些命令时做了一些坏事\expandafter。有什么想法吗?

谢谢

答案1

\expandafter\DeclareMathOperator{

尝试扩展{,但显然没有成功。您需要扩展\csname。只需删除那些括号即可。

#1和之间的空格也A应该删除。

\newcommand\mypartialordergenerator[2]{% {Basename}{subscript}
    \expandafter\DeclareMathOperator\csname #1\endcsname{#2}%
    \expandafter\newcommand\csname #1A\endcsname{A_{\csname #1\endcsname}}%
}

相关内容