How to Self Publish a Book

Off and on for the past several years, I’ve been writing a free book to help authors to self publish a book. I’ve had a version up on a separate blog for a while, but I’ve been finishing it and editing and reformatting and such, and now I’m posting the book on this site. It is probably the nerdiest way to prep your files for self publishing, but it is totally slick and once you get it up and running, it is super easy.

How to Self Publish a Book

If you have any comments, questions, suggestions, or corrections for the book, please post them here.

5 thoughts on “How to Self Publish a Book

  1. Hi storyhack, thank you for this very illuminating post. I have a lot of prior experience in writing LateX-based papers, so I have decided to write my first book directly in markdown (couldn’t figure out a clean way to generate HTML from LateX memoir class). In your blog post with the step-by-step rundown, I did not find any mention of how to include backmatter with links to other books and a mailing list sign-up. Will I need to write these separately in HTML, and then generate everything together using Calibre?
    Also, my tentative workflow is: write the novel in markdown -> input to Calibre to generate HTML or ePUB-> then generate .mobi, seem reasonable?

    1. I put the backmatter as just another chapter in my books. I also use the url I want as both the link text and the target in my markdown. That way I know people will see it. For example – []( No extra conversion steps needed.

  2. In case it is still relevant, we do a double workflow from XeLaTeX’s memoir documents: 1) PDF for paper printing, 2) HTML [pandoc -f latex -t html] and then EPUB/MOBI [calibre: ebook-convert .html .epub/.mobi] after adjusting some minor things in the HTML generated by pandoc. Sometimes, we have some really complex texts which are not very well converted by any tool at all, but this is our basic setup. Perhaps, you should add some tweaks of your own and play with the options and flags.

Leave a Reply

Your email address will not be published. Required fields are marked *