Am 02.10.2014 um 19:42 schrieb Rik Kabel <cont...@rik.users.panix.com>:

> On 2014-10-02 05:18, Wolfgang Schuster wrote:
>> There is a example on the wiki. You have to set your own values with the 
>> second argument of the \startchapter etc. command, to display the entry in 
>> the roc you have to write your own layout where you access it with the 
>> \structurelistuservariable command.
>> 
>> http://wiki.contextgarden.net/Generate_Authorlist_from_Head_Content
>> 
>> Wolfgang
>> 
> This example fails for me using the current (2014-09-27) standalone beta and 
> with TL14. The failure is that the list of authors is presented as a grid 
> without contents.
> 
> Changing any of the lines in the example that construct the table cells, such 
> as
> \bTD \structureuservariable{author} \eTD
> to
> \bTD xx \structureuservariable{author} \eTD
> results in a table with the new text, but no user variable text, showing that 
> the \structureuservariable commands are not returning any text in this 
> example.
> 
> Has something relevant changed since the example was prepared (2010-11 or 
> earlier)?
> 
> (A pointer to useful descriptions of \structureuservariable and 
> \structurelistuservariable would also be welcome. In the wiki, the 
> startsection command description describes the former, but I have come across 
> no comprehensive description for either in the documentation.)

First you have to make a distinction between the values which are set with the 
first and second argument of \startchapter, \startsection etc.  While the first 
argument takes only certain keys, e.g. title, bookmark etc. you’re free to 
choose your own keys for the second argument because they are considered 
userdata.  The point of this userdata is to give users a way to specify 
information which are printed in the table of content or in the header, to 
access these values context provides two commands.  When you create a new 
layout for the table of contents you can use the \structurelistuservariable 
command which takes the name of the key with the information as argument and 
when you create a new header layout you can use the \structureuservariable 
command.


\define[3]\ChapterListCommand
  {\starttabulate
   \NC Number \NC #1 \NC\NR
   \NC Title  \NC #2 \NC\NR
   \NC Page   \NC #3 \NC\NR
   \TB[medium]
   \NC File   \NC \structurelistuservariable{file} \NC\NR
   \stoptabulate}

\setuplist[chapter][alternative=command,command=\ChapterListCommand]

\define[2]\ChapterHeadCommand
  {\startframed[align=flushleft,strut=no]
     \starttabulate[before=,after=]
     \NC Number \NC #1 \NC\NR
     \NC Title  \NC #2 \NC\NR
     \TB[medium]
     \NC File   \NC \structureuservariable{file} \NC\NR
     \stoptabulate
   \stopframed}

\setuphead[chapter][command=\ChapterHeadCommand]

\starttext

\completecontent

\startchapter[title=Knuth example][file=knuth.tex]
\input knuth
\stopchapter

\startchapter[title=Zapf example][file=zapf.tex]
\input zapf
\stopchapter

\stoptext

Wolfgang

___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the 
Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://tex.aanhet.net
archive  : http://foundry.supelec.fr/projects/contextrev/
wiki     : http://contextgarden.net
___________________________________________________________________________________

Reply via email to