xstring :\IfStrEq 和宏作为字符串

xstring :\IfStrEq 和宏作为字符串

我不明白 xstring 中的 \IfStrEq 如何工作。

为什么此代码不显示“这是文本”?

\documentclass[10pt,a4paper,twoside]{article}
\usepackage{xparse}
\usepackage{xstring}
    
\DeclareDocumentCommand \field {} {text}
    
\begin{document}
  \IfStrEq{\field}{text}{This is text}{Why this is not text?}
\end{document}

答案1

这是因为\field受到保护( 的正常行为\DeclareDocumentCommand)。使用\def解决了该问题。

相关内容