Dynamic headings & query heading information
Am 07.02.2014 um 15:45 schrieb Andreas Schneider
Hello,
again I'm working on a technical manual and decided to use ConTeXt to do the job. Since I'm a developer, I always try to do things as flexible as possible.
I'm currently struggling to achieve two things:
1) a macro (that will print a list) should also add a heading. However, the heading should always be one level beneath the current heading and without numbering. Example: within a \section it should be a \subsubject, within a \chapter it should be a \subject, and so on.
\definesectionlevels[extra][title,subject,subsubject,subsubsubject] \setuphead[chapter][color=red] \setuphead[section][color=green] \setuphead[subsection][color=blue] \define\PlaceList {\startsectionlevel[extra][title=List] % \stopsectionlevel} \starttext \startsectionlevel[title=Chapter 1] \PlaceList \startsectionlevel[title=Section 1.1] \startsectionlevel[title=Subsection 1.1.1] \stopsectionlevel \startsectionlevel[title=Subsection 1.1.2] \stopsectionlevel \stopsectionlevel \startsectionlevel[title=Section 1.2] \stopsectionlevel \stopsectionlevel \startsectionlevel[title=Chapter 2] \startsectionlevel[title=Section 2.1] \PlaceList \startsectionlevel[title=Subsection 2.1.1] \stopsectionlevel \startsectionlevel[title=Subsection 2.1.2] \stopsectionlevel \stopsectionlevel \startsectionlevel[title=Section 2.2] \stopsectionlevel \stopsectionlevel \stoptext Wolfgang
Am 07.02.2014 um 15:45 schrieb Andreas Schneider
2) another macro should build an index at the end of the document. I use Lua to keep a list of all database tables referenced within the document (together with some metadata) and save it in the jobpasses struct. Now I also want to track the chapters, sections, etc where these references are, to be able to see, where a database table is used.
To solve these two problems, I'm looking for information about the current heading. The level and the associated reference name. If I have the level, I can keep my own list of necessary heading types (subject, subsubject, ...) and just get the one at level+1 to write the heading using lua (tex.sprint(....)). With the reference name I can obviously solve 2), since I then can simply keep a list for each db table in the jobpasses structure.
You can try the \currentstrcuture… commands but I don’t know if the are meant as user level commands. \starttext \chapter{Chapter} \starttabulate \NC Name \EQ \currentstructurename \NC\NR \NC Level \EQ \currentstructurelevel \NC\NR \stoptabulate \section{Section} \starttabulate \NC Name \EQ \currentstructurename \NC\NR \NC Level \EQ \currentstructurelevel \NC\NR \stoptabulate \stoptext Wolfgang
participants (2)
-
Andreas Schneider
-
Wolfgang Schuster