Otared Kavian mailto:otared@gmail.com 27. Januar 2018 um 12:31
Hi Wolfgang,
Thanks again! Indeed
\defineexpandable\authorpicture{hacker.jpg}
solves the problem in the simplified case I was reporting. However in the real case, the file « hacker.jpg » is in fact a file which depends on other variables, and when I include \defineexpandable in the \getvariable environment then it does not work anymore: saying
\defineexpandable\authorpicture{\getvariable{talk}{picture}} or \defineexpandable\authorpicture{\expanded{\getvariable{talk}{picture}}} or \defineexpandable\authorpicture{\expandafter\getvariable{talk}{picture}} does not solve the problem.
Below is a minimal example showing the issue (with what you taught me last week…).
Best regards: OK
\starttext \startbuffer[pagetalk] \starttabulate[|f{\bi}l|p|][before=]% \NC Speaker \EQ \getvariable{talk}{speakerfirstname} {\sc \getvariable{talk}{speakername}} \NC\NR \NC Title \EQ \getvariable{talk}{title} \NC\NR \stoptabulate \defineexpandable\authorpicture{\getvariable{talk}{picture}} \placefigure[here][]{} {\externalfigure[\authorpicture]}
You can put the \getvariable command in \externalfigure. \startplacefigure[location=here] \externalfigure[\getvariable{talk}{picture}] \stopplacefigure
\page \stopbuffer
\setvariable{talk}{set}{\getbuffer[pagetalk]}
\setvariables[talk]% [speakername={Hacker}, title={Up to date hacking}, picture=hacker.jpg ] You’re missing a coma after “picture=hacker.jpg” which results in “jpeg ” (which a space at the end) as file extension for the image.
Wolfgang