![\bool_if_p:N 和 \bool_if:NTF 之间有什么区别](https://linux22.com/image/462519/%5Cbool_if_p%3AN%20%E5%92%8C%20%5Cbool_if%3ANTF%20%E4%B9%8B%E9%97%B4%E6%9C%89%E4%BB%80%E4%B9%88%E5%8C%BA%E5%88%AB.png)
答案1
这是有记录的,但不是针对这个特定的功能,而是在开始时,适用于所有expl3
条件:
该:NTF
形式是一个分支条件,你可以像这样使用它:
\bool_if:NTF \l_my_bool
{ <code if true> }
{ <code if false> }
并且_p:N
形式是“谓词”条件,并且你可以将其用作布尔表达式的一部分:
% vvvvvvvvvvvv
\bool_if:nTF { \bool_if_p:N \l_my_bool || \tl_if_exist_p:N \l_my_tl }
{ <code if true> }
{ <code if false> }
简而言之:谓词形式返回一个值,而分支形式执行一些代码。
l3regex
请注意,谓词形式在不可扩展的条件函数(例如条件)中不可用。