Hi Jordan, Jordan Geoghegan wrote on Sat, Nov 02, 2019 at 05:44:23PM -0700:
> I've thought about learning latex and mandoc and all the fancy > tools, but I've just never gotten around to it. Actually, both mandoc(1) and mdoc(7) are off-topic in this thread. You cannot use either for writing a book, neither the mdoc(7) language nor the mandoc(1) program supports any of the important features. That said, the obvious answer for the OP is of course the "textproc/groff" port (disclosure: which i maintain). The roff(7) language and the troff programm is what people in the UNIX world always used for writing books and journal articles, and it is very much alive even after the roff language celebrated its 55th birthday this year. I'm in the habit of using it to prepare slides for conference talks (with textproc/gpresent), for example, and i'm not the only only one. The "textproc/heirloom-doctools" port is a serious contender for a top-quality typesetting system (though not recommended as a manual page viewer). In some finer points of typography, it is better than groff; for example, it supports paragraph-at-once filling. But admittedly, groff is more actively maintained, so unless you know exactly why you prefer Heirloom troff, i'd suggest you try groff first. And finally, the only thing that is seriously wrong with the "print/texlive" port is how ridiculously large it is. All the same, i used it often to write journal articles, letters, invoices, and the like, and still use it now and then. As long as you only *use* macro packages, groff is *much* easier to use than LaTeX (not least because the quality of documentation of groff is vastly superior to LaTeX, and LaTeX documentation is so extremely huge and fragmented that it's a terrible challenge to find anything you need). But once you start modifying macro packages or writing your own macros, i.e. once you enter into real programming, then it turns out LaTeX is easier to program than roff(7) because the syntax and semantics of the low-level roff(7) language are, let's put it politely, quite unusual and surprising in many details. I know that because i did write a non-trivial LaTeX module and because i do maintain one of the larger roff macro packages, upstream at groff, and besides, i did implement considerable parts of the roff language in /usr/src/usr.bin/mandoc/roff.c. Most certainly, it is *much* easier to get good typography out of groff or LaTeX (no matter which one) than out of LibreOffice or any similar abomination. Yours, Ingo