如何检查脆弱宏值是否为空或不会使用纯 TeX 条件创建文本?

如何检查脆弱宏值是否为空或不会使用纯 TeX 条件创建文本?

类似的问题已经问过了这里,但对于诸如此类的脆弱命令尚未得到解答。\@author

\author检测是否已使用值调用的正确方法是什么:

\usepackage{ifthen}
\usepackage{xifthen}
\usepackage{etoolbox}

\makeatletter

\ifXXXXXX{\@author}%
{%  
    author set \par
}{%
    author not set at all \par
    or set to \{\} () \par
    or to {\textbackslash}empty
}%

\makeatother

答案1

\@author通常不是一个脆弱的命令(我想这取决于作者的名字)但是测试它的价值与脆弱/稳健的区别无关。

初始化宏,比如

\let\@author\@empty

然后稍后测试它是否仍然具有该值

\ifx\@author\@empty
    still empty
 \else
     author has been set
 \fi

相关内容