No haga nada si la columna CSV está vacía. ¿Cómo puedo lograrlo?

No haga nada si la columna CSV está vacía. ¿Cómo puedo lograrlo?

MWE (en realidad no totalmente MWE, pero creo que es más fácil ver lo que sucede de esta manera):

\documentclass{article}
\usepackage{csvsimple}
\usepackage{graphicx}

\begin{document}
\setlength\unitlength{1cm}

\csvreader[head to column names]{jobname2.csv}{}{%
\vfill
\artist

\includegraphics[height=37mm]{\filenameone}

\includegraphics[height=37mm]{\filenametwo}

\comment
}
\end{document}

Contenido de jobname2.csv:

artist,filenameone,filenametwo,comment
Foo,example-image-a,example-image-b,Nothing
Foobar,example-image-a,,Something

Cuando no hay nada en la filenametwocolumna, no quiero que se haga nada (no estoy seguro de cómo expresarlo correctamente).

Respuesta1

csvsimpleproporciona una macro \ifcsvstrequal{X}{Y}{equal}{not equal}para ejecutar código condicionalmente si los dos parámetros Xy Yson iguales o no (básicamente una \ifxde dos \edeflistas de tokens). Puedes usar esa macro en tu ejemplo sin la necesidad de paquetes adicionales como xstring:

\documentclass{article}

\usepackage{filecontents}
\begin{filecontents*}{\jobname.csv}
artist,filenameone,filenametwo,comment
Foo,example-image-a,example-image-b,Nothing
Foobar,example-image-a,,Something
Bar,,example-image-b,Anything
\end{filecontents*}

\usepackage{csvsimple}
\usepackage{graphicx}

\begin{document}
\setlength\unitlength{1cm}

\csvreader[head to column names]{\jobname.csv}{}{%
\vfill
\artist

\ifcsvstrequal{\filenameone}{}{(no first image)}{%
    \includegraphics[height=37mm]{\filenameone}
}
\ifcsvstrequal{\filenametwo}{}{(no second image)}{%
    \includegraphics[height=37mm]{\filenametwo}
}

\comment
}
\end{document}

ingrese la descripción de la imagen aquí

información relacionada