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

Reply via email to