文章预览
问题来自:https://ask.latexstudio.net/ask/question/17468.html 如问题描述,已知一个 clist 为 \clist_set:N \l__skyrmion_tmp_clist { explorer, fishrows*, eureka, admin, skyrmion } 其中第二个 item 为 fishrows,其后面带有 star (*) 那么我要实现一个判断,函数名为 \bool_if_item_star:nTF ,同时对其封装 \NewDocumentCommand \skyrmionif { m } { \clist_item:Nn \l__skyrmion_tmp_clist { #1}~is~ \bool_if_item_star:nTF { \clist_item:Nn \l__skyrmion_tmp_clist { #1} } { True } { False } } 也就是说,此时 \skyrmionif{1} 会输出 explorer is false, \skyrmionif{2} 会输出 fishrows is true. 需要注意的是还要保障带有 star (*) 的 item,其输出不会带有star,即 不希望 \skyrmionif{2} 输出 fishrows* is true. 雾月方案 直接上代码。 \documentclass{article} \ExplSyntaxOn \quark_new:N \q__skyrmion_mark \quark_new:N \q__skyrmion_stop \prg
………………………………