Otared Kavian mailto:otared@gmail.com 22. Januar 2018 um 19:53 Hi all,
I have a list of speakers (and abstracts of their talk) in a rather long document, and the name of each speaker is written to a register named speakers. Then with the command \getparameters[Talk] I get the name of each speaker and try to write it to the register with
\speakers{\TalkSpeakerName}
You have to add \expanded, i.e. \expanded{\speakers{...}}.
Indeed this does not work to obtain the result I am looking for: the sorting is indeed under the letter « t », and most importantly the register gets only the last name in the list instead of getting each speaker name.
The following is a (not so minimal…) example. Can anyone help me in this matter?
When you replace \getparameters with \setvariables you can set a command which is applied each time when you set new values. \defineregister[speakers] \setupregister [speakers] [style=sansbold, n=2] \startbuffer[pagetalk] \doflushatpar {\expanded{\speakers{\getvariable{talk}{speakername}}}% \expanded{\pagereference[talk:\getvariable{talk}{speakername}]}}% \starttabulate[|f{\bi}l|p|] \NC Speaker \EQ \getvariable{talk}{speakername} \NC\NR \NC Title \EQ \getvariable{talk}{title} \NC\NR \NC Time \EQ \getvariable{talk}{time} \NC\NR \NC Room \EQ \getvariable{talk}{room} \NC\NR \HL \stoptabulate \stopbuffer \setvariable{talk}{set}{\getbuffer[pagetalk]} \showframe[text][text] \starttext \setvariables [talk] [speakername={Gauss}, title={Remarks on Number Theory}, time={10:30}, room={A}] The talk about Gauss was on \at{page}[talk:Gauss]. \completeregister[speakers] \stoptext Wolfgang