An oldie but a goodie: troff
(with the memorandum macros) -- also known as groff
, the GNU roff type-setting system.
It's text typed with a text editor (you can read it). You don't even have to include macros, simply leave a blank line to start a new paragraph. You can do all the things you do with a word processor; tables, lists, graphs, table of contents, you name it.
The manual pages in Linux are (mostly) done with the "man" macros for nroff/troff
gunzip -c /usr/man/man1/troff.1.gz | pg (or more or less)
to see what the source text looks like.
You can "pretty print" manual pages with
man -t troff | gv -
man -t troff | lp [-d printername]
You can write a book (such as Kernighan and Ritchie, The C Programming Language
) entirely using the macros (K&R prepared the manuscripts using the macros as did many more publications).
The output of troff
is PostScript (the output of nroff
is text for a terminal). And, as you probably know, PostScript is the language of typesetters. And, if you've got PostScript, PDF is child's play.
Personally, I've done some... quite large, say, documents this way (couple of hundred pages). Frankly, I fell that word processors are a pain in the hiney and prefer to "just type the thing" and add some formatting directions as I go. You mileage, of course, may vary.
You might like it, you might hate it but it's still worth a look-see.
Hope this helps some.