Otared Kavian
22. Januar 2018 um 21:39
Hi Wolfgang,

Thank you very much for your reply and your wise advice to use the \setvariable mechanism. It is indeed much more convenient to use for what I intend to do.

The only remaining problem is that when several talks are included in my file (in the following example there three of them), then the entries to the register are correct but the associated pagenumbers are incorrect and are given the last pagenumber: in the following example all three talks are given the pagenumber 4 in the register. Is there something I am doing wrong?
I moved the link for the page number to the next paragraph because putting the reference command into the tabulate environment hasn’t worked but in your example the first paragraph starts on the last page. This was necessary because the \pagereference starts a new paragraph which results in an empty line before the table. A way to fix the page number is to omit the \doflushatpar command, the table itself can be moved upwards by a line with a negative vertical skip (\vskip-<dimension>).

\startbuffer[pagetalk]
 %\blank
  \expanded{\pagereference[talk:\getvariable{talk}{speakername}]}%
  \expanded{\speakers{\getvariable{talk}{speakername}}}%
  \vskip-\lineheight
  \starttabulate[|f{\bi}l|p|][before=]%
  \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

Wolfgang