我需要防止命令重新处理参数。如果条件满足,是否有办法在结束之前退出命令,就像return
在 JavaScript 函数中一样:
function calculateSomething(param) {
if (!param) {
return // <---- leave the function
}
// go on with the function
}
因此在 LaTeX 中我设想如下内容:
\newcommand{\mycommand}[1] {
\ifthenelse{\equal{#1}{what I want}}
{
%%%exit%%% <--- stop processing and out
}
{
\color{red}{#1}
}
}
答案1
感谢您的回复。解决方案是将选项定义为唯一的 - 这样执行所有代码就不会导致错误。
\newcommand{\marker}[3][] {
\ifthenelse{\equal{#2}{todo} \and \equal{\statustodo}{show}}{{\color{blue}#3}}{}
\ifthenelse{\equal{#2}{todo} \and \equal{\statustodo}{hide}}{#1}{}
\ifthenelse{\equal{#2}{todo} \and \equal{\statustodo}{mask}}{#3}{}
\ifthenelse{\equal{#2}{deprecated} \and \equal{\statusdeprecated}{show}}{{\color{red}#3}}{}
\ifthenelse{\equal{#2}{deprecated} \and \equal{\statusdeprecated}{hide}}{#1}{}
\ifthenelse{\equal{#2}{deprecated} \and \equal{\statusdeprecated}{mask}}{#3}{}
}
这是个变通方法,但确实有效。谢谢,祝您有美好的一天 :-)