我创建了一个这样的宏:
\newcommand{\showsection}[2]{
\ifstrequal{#2}{}{}{\section{#1} #2}
}
在文档中应该这样使用:
\showsection{Books}{
Do you know any good books?
}
如果#2
为空,如下面这种情况,则不会显示部分标题:
\showsection{Books}{
}
不幸的是,里面的一些宏有时会显示为空白,但不知何故却有东西穿过了。也许是多余的空格?看不到任何文字。我把%
放在里面的每一行宏后面。在这种情况下,我怎样才能让章节标题消失?
答案1
开头后面有一个行尾字符{
,导致出现空格。最好检查参数是否为单个空格,而不是为空。您可以自己在参数中添加一个空格,以确保测试对于真正的空内容为真。
您还应该在宏定义中的%
任何位置{
或}
行末添加。
\newcommand{\showsection}[2]{%
\ifstrequal{ #2}{ }{}{\section{#1} #2}%
}