I've written what could be the largest man page in the world, and possibly the only one that auto-numbers its sections down to three levels. I've written a bunch of smaller ones over the years, and when contributing patches to GNU programs, I did a tiny bit of Info documenting.<p>I can say with confidence that the language used for Info documentation is vastly superior to the nroff/troff language. Man pages are not suitable for writing large manuals. It didn't stop me, but what I'm doing is not really scalable.<p>To get a decent HTML version I had to maintain my own fork of the man2html program (a particular one of them; there exist more than one, and all suck in different ways). That program is not enough; there is considerable custom post-processing done on the HTML output, to add a bettr table of contents and internal hyperlinks and such.<p>I wrote numerous macros for all the necessary markup needed in a manual. The macros have weird syntax. I wrote a lint tool to check the 95,000+ line document for errors in the uses of these macros, which frequently occur.<p>I also wrote a minor tool which I use as a filter in CGIT which renders man pages. (It's not used for that one; that's too large and complex.) E.g. if you look at this small page, you can see it in action:<p><a href="https://www.kylheku.com/cgit/cppawk/tree/cppawk.1" rel="nofollow noreferrer">https://www.kylheku.com/cgit/cppawk/tree/cppawk.1</a><p>you see it as if you were reading it in man, rather than the source code, which you can see in the "plain" view. The line numbers are wrong: they are calculated from the original source. So while the rendered page ends at 250-something lines, the line numbers keep going past 400. There is no way a CGIT filter can indicate that it has completely munged the input into a different form, which has fewer lines.<p>So the summary of man pages is: awful language + next to nonexistent tooling for publishing quality documents in multiple formats.<p>On the topic of troff, it's the GNU project which holds up that language: it provides a program called GNU Roff (groff). If you ever render a man page to PDF, that's likely what you will be using. So, in a way, GNU is committed to the troff language as much as to Info.<p>But GNU projects would be crazy to switch from Info to man; it's an unthinkable regression.