On 24-2-2010 8:50, Steffen Wolfrum wrote:

Am 23.02.2010 um 23:27 schrieb Hans Hagen:

On 23-2-2010 21:18, Steffen Wolfrum wrote:

The need is easily described:

\placelist[chapter, section,...][file=MyFile]

In old MkII times all information for a table of content was read from the 
".tuo" file.
For making manual changes in needed a way to define from *which* tuo file the 
placelist command reads its information:
so I could copy the original tuo file, give it another name (MyFile) and define 


.... thus each \placelist run would read from that paticular MyFile.tuo

The quoted code above was written by Hans to provide a way to implement a kind 
of \placelist[chapter, section,...][file=MyFile] in MkII.

the file= option will not come back, at least not soon, as we now have a 
completely different way of dealing with tables of contents (and actually all 
multipass data)

(ok, you can adapt copy the tuc file and replace the list table but as much 
more goes into the list it's no fun; also way more information goes into the 
lists and there are references to shared data that basically makes a no-go)

what we have already is a way to add userdata (which works if you use the 
structured \startchapter ... commands) and when placing a list you can use user 
entries; if you only need to replace a specific list entry you can do


so you have a different title and listentry and marking and reference and 
bookmark and ..

There is an important side-effect in the way I use it in MkII:
The  idea is to run the table of contents independently from typesetting an 
entire book.

For example:
- you have a big book, each typesetting run takes quite long
- as you also have many headings the table of contents is 17 pages
- now you see an ugly page-brake at bottom of page 10
- but if the entire vertical spacing of this page would be reduced a bit then 
this page-break would look better.

What I'd do now in MkII is such (trial-and-error loop):
0) the table of content is created by a \placelist command in a separate 
"contents.tex" component
1) for testing purposes I now copy the tuo file and point (via \def\FrozenTUO) 
the placelist run to this file
2) in this test-tuo file I hook in a command for reducing the vertical space 
(baseline/parskip) of my problematic contents page
3) I run the contents.tex file again to see if the result is as desired
4) if it is not, I do step 2) and 3) again
5) finally, if the result is as desired, I write the command (that gave me that 
desired vertical space) via \writebetweenlist directly to the original 
chapter's files.
6) now I point the \placelist run back again to the original tuo file: thus I 
can be save that whenever there will be additions/changes in the book, I can 
generate are table of contents with the updated pagenumbers (but also via 
writebetweenlist with my content's correction).

why not put a stoptext just after the toc then and run with --once?

that way the tuc file will not be overwritten and you have a short run

                                          Hans Hagen | PRAGMA ADE
              Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
     tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com
                                             | www.pragma-pod.nl
If your question is of interest to others as well, please add an entry to the 

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