假设我有一个如下的序言:
\newif\ifShowThings
\ShowThingstrue
\newcommand{\showcommand}[1]{
\ifShowThings
#1 % if the variable is true, then just print the argument, otherwise do nothing
\fi
}
如果我像这样写序言,那么\showcommand{...}
就会被一次定义,这取决于我ShowThings
在开始时赋予的值。
我想要的是能够更改ShowThings
文档内部的值,以便 \showcommand{...} 根据调用位置的不同而有不同的行为。我该怎么做?
答案1
你的说法是不正确的。正如你所定义的,它会在每次使用时\showcommands
检查其值\ifShowthings
,它不会在定义点检查它(\ifShowthings
甚至不需要在\showcommands
定义点进行定义。)
但要注意空格,您当前的定义总是在开头插入一个空格标记。
\newcommand{\showcommand}[1]{%
\ifShowThings
#1 % if the variable is true, then just print the argument, otherwise do nothing
\fi
}
然后您就可以在文档中使用\ShowThingstrue
或。\ShowThingsfalse