expl3 空标记列表

expl3 空标记列表

我确信这一定是非常简单的事情但我却无法理解。

以下代码输出F。它不应该输出 吗T

\documentclass{article}
\usepackage{expl3}
\begin{document}

\ExplSyntaxOn


\tl_new:N \otherlist
\tl_clear_new:N \otherlist

\tl_if_empty:nTF {\otherlist} {T} {F}


\ExplSyntaxOff

\end{document}

答案1

测试\tl_if_empty:NTF \l_bob_otherlist_tl {}{}只看到空的标记列表\l_bob_otherlist_tl,但\tl_if_empty:nTF {\l_bob_otherlist_tl} {}{}在以 分隔的“列表”中看到一个标记{...}

例如,查看和\tl_count:n宏的区别\tl_count:N

\documentclass{article}
\usepackage{expl3}
\begin{document}

\ExplSyntaxOn


\tl_new:N \l_bob_otherlist_tl


First:  \tl_if_empty:nTF \l_bob_otherlist_tl {T} {F}
\par
Second: \tl_if_empty:NTF \l_bob_otherlist_tl {T} {F}
\par
Third: \tl_if_empty:nTF {\l_bob_otherlist_tl} {T} {F}
\par
\par
Counting~with~n: \tl_count:n {\l_bob_otherlist_tl}
\par
Counting~with~N: \tl_count:N \l_bob_otherlist_tl
\tl_set:Nn \l_bob_otherlist_tl {Foo}
\par
After~setting:\par
First:  \tl_if_empty:nTF \l_bob_otherlist_tl {T} {F}
\par
Second: \tl_if_empty:NTF \l_bob_otherlist_tl {T} {F}
\par
Third: \tl_if_empty:nTF {\l_bob_otherlist_tl} {T} {F}
\par
Counting~with~n: \tl_count:n {\l_bob_otherlist_tl}
\par
Counting~with~N: \tl_count:N \l_bob_otherlist_tl


\ExplSyntaxOff

\end{document}

由于已经提供了一个空的、干净的列表,所以没有\tl_clear_new:N必要。\tl_new:N

相关内容