我正在尝试创建一个使用 \listofitems 包接受两个列表的命令,其中第一个列表是可选的。
在命令中,我想检查可选列表中的第一个条目是否为“空白”,根据 \listofitems 文档,这意味着它要么是“空的,要么是空格”。我的可选列表“\opt”的默认值是 [ , -, -]。因此,据我了解,第一个条目将是:“ ”,因此它将是空白。但是,\ifblank 和 \notblank 似乎都读作其他内容?可能吗?
我很茫然,这里有一些代码可以证明我在说什么:
\documentclass{article}
\usepackage{etoolbox}
\usepackage{listofitems}
\newcommand{\myCommand}[2][ , -, -]{
\setsepchar{, }
\readlist\opt{#1}
\readlist\args{#2}
\noindent Using $\backslash$ifblank: \\
\ifblank{\opt[1]}{$\backslash$opt[1] is blank!}{$\backslash$opt[1] is not blank! Here it is: "\opt[1]"} \\ \\
Using $\backslash$notblank: \\
\notblank{\opt[1]}{$\backslash$opt[1] is not blank! Here it is: "\opt[1]"}{$\backslash$opt[1] is blank!} \\ \\
Test of $\backslash$ifblank: \\
\ifblank{ }{yep.}{nope.} \\
Test of $\backslash$notblank: \\
\notblank{ }{nope.}{yep.}
}
\begin{document}
\myCommand{blah, blah}
\end{document}