关于语句(\IfEqCase),我如何将其设置为同时测试同一命令的多个用例而不嵌套,例如,我试图定义一个需要 3 个参数的新命令:
\newcommand{\TRIALL}[3][]{%
\IfEqCase{#1}{%
{B}{\textbf}%
{U}{\uline}%
{I}{\textit}%
{E}{\emph}%
}[\PackageError{TRIAL}{Undefined option to TRIAL: #1}{}]%
\IfEqCase{#2}{%
{l}{^^^^200d{#1{^^^^200d#3}}}%
{b}{^^^^200d#1{^^^^200d#3^^^^200d}^^^^200d}%
{r}{#1{#3^^^^200d}^^^^200d}%
{i}{#1{#3}}%
}[\PackageError{TRIAL}{Undefined option to TRIAL: #2}{}]%
}%
但是,我需要一种格式,可以在同一行同时定义 {#1} 和 {#2} 的情况,因为命令定义需要一组不能嵌套的命令
我需要类似的东西:
\IfEqCase{#1,#2}{%
{B,L}{{^^^^200d\textbf{^^^^200d#3}}%}
此设置是为了缩写“Salim Bou”描述的命令,强调阿拉伯文本字符 我想设置它,以便我可以创建单个命令来添加下划线、粗体甚至斜体,以及同时使用这些选项的任意组合,除了框架选项之外。我更喜欢定义带有可选参数的命令,而不是定义一组命令,这样我的代码会更简洁。对于 MWE,您可以参考 Salim Bou 发布的答案