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 ...
\def\FrozenTUO{MyFile}
.... 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
\startchapter[title=whatever,list=whocares,bookmark=...]
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). That's why in MkIV I look for a way to point placelist to a specified file. Steffen