>So, I do understand how generate the ToC at the end, and I'll probably >grok .so, but what is needed to extract the ToC into a separate file? Is >there anything in nroff supporting that, or were you just referring to a >set of homegrown tools? Nroff isn't a document formatter, it's an interpretive programming language in which one can write document formatters. Everything is either home grown, or borrowed from someone else who homegrew it. As you might expect, there is a great deal of folklore in the nroff community about the ways you implement stuff using the stone axes and chisels that nroff provides. (I guess I qualify, having been using it since about 1973.) The usual way to generate a TOC is to use .tm directives which write the TOC to the standard error, which you capture in a file using the usual Unix shell redirection. Then you rerun nroff using .so to include that file up at the front where the TOC goes. Rather than trying to format the TOC as it's generated, I always write out macro calls which will be expanded as the included file is read, e.g.: .Tc 2 4.2 12 "Efficient lossless packet compression" In this example, this is second level heading 4.2 on page 12. It's easy enough to generate whatever sort of TOC you want, and the usual nroff page break stuff does the pagination. Now, of course, this means that the TOC in your ouput is actually the TOC from the last time you ran nroff, so there's the possibility of version skew. It's not hard to have your script or makefile compare the old and new TOC files, notice that the current TOC is different from the one you used, and tell you to run it again. If this all seems like a gross complicated crock, well, yeah, what do you expect from something designed to run on PDP-11s in the 1970s? That's why we love it so. R's, John PS: When I write books, I write and proof them in nroff and use a little perl script to translate it to docbook before sending it off to the publisher. _______________________________________________ Ietf mailing list Ietf@xxxxxxxx https://www.ietf.org/mailman/listinfo/ietf