> I meant: the functionality is in place. you call latex a few > times on the same document and than you get the correctly > formatted document. With groff this sure does not work > this way.
Okay, I see what you mean. However, to be fair to groff as a typesetting engine, this sort of functionality is not really the job of groff's core formatter ("gtroff"), but rather of the macro package ("ms", "mm", "me", etc.; just as the macro package "LaTeX" is to the formatter "TeX"). And the reason it currently does not work with the macro packages distributed with groff is not an issue having to do with the underlying operating principles of gtroff, but rather simply that nobody has yet bothered to implement this type of functionality in those macro packages. > If so it would be _very_ nice to have the functionality > integrated in the distribution. my point was: you can do all > this in latex out of the box, while in groff you can't. Agreed. However, if you're curious, I did implement LaTeX-style cross-referencing in my own experimental groff macro package (http://www.usm.uni-muenchen.de/people/hoffmann/roff/). The code is not very well documented and the table of contents mechanism is a hack (I believe it's pretty much equivalent to what you're doing. I've been meaning to clean this up [*] but still haven't gotten around to it), but there's a document describing how it's meant to be used (it's called "test" because this was the document I used to test the functionality of the macros during implementation). Feel free to take ideas and code from there, I can imagine many people will be grateful if you'd decide to implement cross-referencing in your favorite standard macro package for groff. [*] doing it better is indeed possible, see http://www.nabble.com/Re%3A-moving-TOC-to-start-p980846.html > it's not the disk space. for me it's an indication (not proof) > of unreasonable complexity for the task at hand. it's not > important but I simply wanted to mention it. and there _are_ > old machines with small disks around, still. I don't think this is because a few functions are implemented in a very complex way, but simply because of the *huge* number of contributed macro packages for an extremely wide range of tasks (sort of like the situation with emacs). Regarding small machines, I can positively state that LaTeX (version 2.09) runs usably on an 8088 with 640k(!) memory and a 20M(!) harddisk (under DOS). I'm not sure we can do this with groff (but then again, we don't really need to). > but certainly I've never wanted to 'program in postscript'. > I prefer a bit more high level languages... Hehe. Postscript *is* a pretty high-level language, something of a cross between Lisp and Forth.