退出前退出 \ newcommand

退出前退出 \ newcommand

我需要防止命令重新处理参数。如果条件满足,是否有办法在结束之前退出命令,就像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}{}
} 

这是个变通方法,但确实有效。谢谢,祝您有美好的一天 :-)

相关内容