4 Open Source Tools for Personal Publishing

23 May, 2022

Anyone remember the term desktop publishing (DTP for short)? It first came into the wider lexicon in the 1980s, and referred to the ability to use software on desktop computer to layout, typeset, and print, your own material like flyers, newsletters, books, and like.

It’s been years since I’ve heard term desktop publishing uttered by anyone, but still goes on. Nowadays, though, a lot of that publishing is electronic only — publishing non fiction books, novels and short story collections, reports, and such in formats like PDF and EPUB.

Let’s take a quick look at four open source tools that you can use to publish your words and ideas, whether for sale or just for sharing.


Sigil is a WYSIWYG tool for creating and editing EPUB files. It does EPUB and nothing else.

Using Sigil is easy. Fire it up and create the shell of a new ebook. Then, add chapters. You can write in a very basic word processor-like interface, or edit the book’s HTML directly (remember that an EPUB is basically a contain for HTML files).

You can add or import multiple chapters, add a cover image, include custom fonts, and change the look of your book using Cascading Style Sheets (CSS for short). You can also add images, which are saved with the file.

Sigil also has several other useful tools. There’s a built-in spelling checker, a function that generates a table of contents, a built-in EPUB validator, a metadata editor, and plugins.

LibreOffice Writer

My first foray into DTP was in the early 1990s with WordPerfect 5.1. Yes, the DOS version. The process, guided by the book Desktop Publishing with WordPerfect 5.1, was painful. Very painful. But I was able to get things done. You’d think that would have scared me off using a word processor for personal publishing. It hasn’t/

LibreOffice Writer is a lot easier to use that WordPerfect 5.1 and its results are better. You might not get pinpoint typography, as some dedicated publishing tools do, but Writer is more than good enough for most of us and most of our needs. I know a few people who’ve published books written with Writer, and I’ve done so myself.

The key to using Writer for publishing isn’t to fire it up and start typing. Instead, start with a template.

You also need to structure your writing with chapters and sections, as well as applying styles rather than using bespoke formatting. And you’re not limited to creating one monolithic document, either. Instead, you can create a master document and work on individual chapters or sections as separate files. Use the master document to pull them together into a whole.

When you’re ready to publish, you can can generate a PDF or an EPUB file with a click or two. As part of the process to create both types of files, you can add metadata before you publish the file.


If you want precise typesetting and don’t mind working in a text editor, then the LaTeX typesetting system might be worth looking at. It’s been used for decades to publish articles, reports, books, and more. The results can be pleasing to the eye and elegant in their simplicity.

LaTeX is essentially a markup language that you process using a variety of tools. You can generate PDFs and EPUBs from LaTeX source files, and you can even create something akin to a master document (like the ones you would with LibreOffice Writer) to combine individual chapters or sections into a whole without creating a long document.

Out of the box, the stock output from LaTeX is OK but lacks some visual panache. You can use templates and document classes to change the look and feel of your documents.


pandoc isn’t, at least on the surface, a publishing tool. It’s more a digital Swiss Army Knife to convert between file formats. Using pandoc, you can publish books that are formatted with several markup languages, including Markdown.

pandoc can generate EPUB files out of the box, and can produce PDFs either using LaTeX or with a couple of PDF generation tools. As with Sigil, you can use a CSS file to add formatting to the books that you produce in both of those formats.

As pandoc is a command line tool, you need to remember (at the very least) a handful of options. Or more, depending on what you need to do. If you don’t regularly create a PDF or an EPUB, it’s easy to forget those options. You should consider writing a script to encapsulate the options that you use.

Final Thoughts

The four tools I just looked at aren’t the only open source publishing applications out there. They’re definitely not for everyone or for every purpose. But if you want to publish a book (sort or long) for fun or for profit, you should consider giving those four tools a look.

Scott Nesbitt