Circulate - the template and scripts for turning your plain text into Docbook, and ultimately an online book or a pdf.
Docbook is a markup language, like HTML, that allows a writer to easily and freely self-publish professional articles and books, complete with linked table of contents, title page, and even an index, using a pre-built template (called a "schema"). This means that the writer gets to spend more time writing and less time managing page layout, re-arranging chapters, and drowning in seas of text.
Writers don't want to learn a markup language, or if they do, they don't want to have to worry about XML tags when they're trying to write half-way intelligent and creative prose. Circulate encourages them to ignore marking up their text initially, and to just write. In plain text. In their favourite and most familiar text editor or word processor.
After the work is finished, the writer will use a Perl script to convert the plain text into Docbook markup. A shell script creates the Docbook header, and a Makefile handles the build. The result: a professional quality PDF document (or html, rtf, plain text, etc), self-published e-book ready for distribution.
If this sounds like a good solution for your publishing needs, then download the Circulate project now. Included are HOWTO files, a simple shell script, a Makefile, and the example book project structure.
If this method sounds backwards and arcane, contorted and perverted, shameful and horrifying, then you should check out the very very elegant Publican from the good people over at Fedora Linux. The down side of it is that you'll mostly need to write markup as you go, but some brains are wired to be able to do that, and Publican makes some very very nice-looking books and even exports straight to the hot new epub format!