在外部宏定义中定义参数化宏的最简单方法是什么

在外部宏定义中定义参数化宏的最简单方法是什么

我经常想将一些参数传递给定义带有参数的内部宏的宏定义。例如

\def\outmac #1,#2.{%
    \def\argone{#1}
    \def\argtwo{#2}
    \def\inmac #1,#2.{Parameters are 1:#1 and 2:#2,
        while outer parameters are 1:\argone, 2:\argtwo.}
}

所以我可以\outmac a,b.\inmac c,d.

Parameters are 1:c and 2:d, while outer parameters are 1:a, 2:b.

换句话说:对\outmacshould 的调用定义了行为方式\inmac

问候

英戈

答案1

\def\outmac #1,#2.{%
    \def\inmac ##1,##2.{Parameters are 1:##1 and 2:##2,
        while outer parameters are 1:#1, 2:#2.}%
}

相关内容