![xstring :\IfStrEq 和宏作为字符串](https://linux22.com/image/480105/xstring%20%3A%5CIfStrEq%20%E5%92%8C%E5%AE%8F%E4%BD%9C%E4%B8%BA%E5%AD%97%E7%AC%A6%E4%B8%B2.png)
我不明白 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
解决了该问题。