Hi again Wolfgang, I think I understood what is going wrong with my example after your hint: I have to remove all spaces around the separator and remove also the braces around each entry. That is the following works fine: \startseplisttalk Hacker;Up to date hacking;hacker.jpg Hacker;Up to date hacking;hacker.jpg \stopseplisttalk while the following does not (as far as the filename is concerned): \startseplisttalk {Hacker};{Up to date hacking};{hacker.jpg} Hacker ; Up to date hacking ; hacker.jpg \stopseplisttalk Is there a way to make the \defineseparatedlist command to be more tolerant for the filename? Best regards: OK
On 30 Jan 2018, at 16:28, Otared Kavian
wrote: On 30 Jan 2018, at 15:54, Wolfgang Schuster
mailto:schuster.wolfgang@gmail.com> wrote: […]
Use the command key which grabs the content of each column as argument (i.e. your commands needs as many arguments as your table has columns):
\defineseparatedlist [seplisttalk] [separator={;}, command=\maketalk]
Thanks Wolfgang! That fixes the issues concerning the entries which are text, but now the filename is not understood by the command \maketalk: here is the modified code:
%% begin database-command.tex \usemodule[database]
\starttext \startbuffer[pagetalk] \starttabulate[|f{\bi}l|p|][before=]% \NC Speaker \EQ \goto{{\sc \getvariable{talk}{speakername}}}[fig:\getvariable{talk}{speakername}] \NC\NR \NC Title \EQ \getvariable{talk}{title} \NC\NR \stoptabulate \startplacefigure[number=no] \externalfigure[\getvariable{talk}{picture}] \stopplacefigure \page \stopbuffer
\setvariable{talk}{set}{\getbuffer[pagetalk]}
\define[3]\maketalk{% \setvariables[talk]% [speakername={#1}, title={#2}, picture={#3}, ]}
\defineseparatedlist[seplisttalk] [separator={;}, command=\maketalk]
\startseplisttalk {Hacker} ; {Up to date hacking} ; {hacker.jpg} Hacker ; Up to date hacking ; hacker.jpg \stopseplisttalk
\stoptext %% end database-command.tex