这肯定是一个非常愚蠢的问题,但我在这里做错了什么?据我所知,字符串是相等的,因此测试应该成功,但我得到的却是不成功。
\documentclass{article}
\ExplSyntaxOn
\str_new:N \g_test_str
\NewDocumentCommand{\Test}{m}
{
\str_set:Nn \g_test_str { #1 }
\noindent
Input is #1 \newline
String is \g_test_str \newline
\str_if_eq:nnTF { \g_test_str }{test}{test successful}{test not successful}
}
\ExplSyntaxOff
\begin{document}
\Test{test}
\end{document}
谢谢你的帮助
答案1
你需要V
变体来接收五变量:
\documentclass{article}
\ExplSyntaxOn
\str_new:N \l_test_str
\NewDocumentCommand {\Test} {m} {
\str_set:Nn \l_test_str {#1}
\noindent
Input~ is~ #1 \newline
String~ is~ \l_test_str \newline
\str_if_eq:VnTF \l_test_str {test} {test~ successful} {test~ not~ successful}
}
\ExplSyntaxOff
\begin{document}
\Test{test}
\end{document}
否则未扩展的字符串“ \l_test_str
”和“test
”,结果是不是平等的。
我还重命名了你的变量,因为它是本地变量,而不是全局变量。