I have an excel table with several entries describing documents in an archive. Then I wanted to convert the whole table into formatted paragraphs in which every row appears as a unit. I then produced a command with 14 arguments. From here: How to define a command that takes more than 9 arguments Until now, I am satisfied with the result. Now I want to introduce a condition: When some specific field is empty then the whole field should not appear. In this case: Some Notes are empty. How Can I eliminate the Notes in this instance (exemple: 1st one). I tried with \IfNoValue and with \ifblank, but did not work. Also, I have read in different posts that this is not the way to go. Do you have any other way I can represent the table into paragraphs?
\documentclass{article}
\usepackage{xparse}
\usepackage{etoolbox}
\ExplSyntaxOn
\NewDocumentCommand{\NewWeirdCommand}{mmm}
{% #1 = command to define, #2 = number of arguments, #3 = replacement text
\cs_new:Npn #1
{
\tl_set:Nn \l__simon_parse_args_tl { #3 }
\__simon_parse_args:n { #2 }
}
}
\NewDocumentCommand{\Arg}{m}
{
\seq_item:Nn \l__simon_parse_args_seq { #1 }
}
\tl_new:N \l__simon_parse_args_tl
\seq_new:N \l__simon_parse_args_seq
\int_new:N \l__simon_parse_args_int
\cs_new_protected:Nn __simon_parse_args:n
{
\seq_clear:N \l__simon_parse_args_seq
\int_zero:N \l__simon_parse_args_int
__simon_parse_arg:n { #1 }
}
\cs_new_protected:Nn __simon_parse_arg:n
{
\int_incr:N \l__simon_parse_args_int
\int_compare:nNnTF { \l__simon_parse_args_int } > { #1 }
{
\tl_use:N \l__simon_parse_args_tl
}
{
__simon_parse_arg_aux:nn { #1 }
}
}
\cs_new_protected:Nn __simon_parse_arg_aux:nn
{
\seq_put_right:Nn \l__simon_parse_args_seq { #2 }
__simon_parse_arg:n { #1 }
}
\ExplSyntaxOff
\NewWeirdCommand{\donnee}{14}{%
\noindent\textbf{Carton:} \Arg{11}\hfill \textbf{Numero:} \Arg{1}\hfill \textbf{Image:} \Arg{12} \hfill \textbf{Année:} {\bf\Arg{6}}\%
\textbf{Type:} \Arg{2}: ``{\it \Arg{3}}'' \ %
\textbf{Auteur:} \Arg{7} \ \textbf{Défense:} \Arg{9} \ %(\Arg{8})
\textbf{Origine:} \Arg{4} \hspace{1cm} \textbf{Recours:} \Arg{5} \%
\textbf{Notes:} \Arg{13}
}
\begin{document}
\donnee{31}{Crime}{Escravizar pessoa livre}{Ville}{NI}{1856}{João António de Sousa Moranha}{H}{António Joaquim Monteiro}{H}{1}{3128}{}{} \
\donnee{32}{Crime}{Furto}{Ville}{NI}{1856}{Ministério Público; Feleno José neto Alberto}{H}{Sanango, escravo de António Joaquim Monteiro}{H}{1}{3129}{Furto praticado pelos escravos de Antonio Joaquim Monteiro, no distrito da Catumbela}{} \
\donnee{33}{Crime}{Autos crime}{Ville}{NI}{1856}{Ministério Público}{NI}{Paisano João Pilartes da Silva}{H}{1}{3130}{Auto de notícia do paisano João Pilarte da Silva implicado na guerra que ultimamente invadiu o distrito de Quilengues}{} \
\donnee{34}{Cível}{Justificação}{Ville}{NI}{1856}{António Martins Bastos}{H}{NI}{NI}{1}{3131}{}{} \
\donnee{35}{Cível}{Execução}{Ville}{NI}{1856}{Ministério Público}{NI}{António Macedo Moreira de Campos}{H}{1}{3132}{Execução por décimas}{} \
\donnee{57}{Cível}{Execução}{Ville}{NI}{1856}{Ministério Público}{NI}{Bernardino Fernandes Silva}{H}{1}{3154}{Sem capa, informações obtidas da petição; execução fiscal; réu passou letra inconclusa}{} \
\donnee{87}{Cível}{Reivindicação}{Ville}{NI}{1856}{Cabinda Fernando da Costa Carmo}{H}{Dona da escrava - Dona Anna Martins de Sant Anna}{M}{1}{3184}{}{} \
\donnee{36}{Crime}{Furto de escravos}{Ville}{Ville}{1857}{Ministério Público}{NI}{Jose Rodrigues Suame; Semamba Dom Cosme; Fernando da Cunha; José Macombo; todos pretos Cabindas}{H}{1}{3133}{Recurso por furto de três escravos pertencentes a Dona Maria Dias de Jesus}{} \
\donnee{37}{Crime}{Mandar amarrar um preto livre}{Ville}{NI}{1857}{Ministério Público}{NI}{André Velasco Galiano; Guilhermino Jozé Jeremias}{H}{1}{3134}{Autos de busca e corpo de delito contra André Vellasco Galiano pelo crime de mandar amarrar um preto sertanejo, livre, de nome Cacumba}{} \
\end{document}
\clist_item:nn{a,b,c,d}{3}will returncthe third item. – David Carlisle May 06 '21 at 16:33