当列表项在 LaTex 中作为参数传递时,如何检查它是否为空?

当列表项在 LaTex 中作为参数传递时,如何检查它是否为空?

我正在尝试创建一个使用 \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}

相关内容