![当列表项在 LaTex 中作为参数传递时,如何检查它是否为空?](https://linux22.com/image/455115/%E5%BD%93%E5%88%97%E8%A1%A8%E9%A1%B9%E5%9C%A8%20LaTex%20%E4%B8%AD%E4%BD%9C%E4%B8%BA%E5%8F%82%E6%95%B0%E4%BC%A0%E9%80%92%E6%97%B6%EF%BC%8C%E5%A6%82%E4%BD%95%E6%A3%80%E6%9F%A5%E5%AE%83%E6%98%AF%E5%90%A6%E4%B8%BA%E7%A9%BA%EF%BC%9F.png)
我正在尝试创建一个使用 \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}