The idea of having one text, kept in an easily edited format that is viable in the long-term, that can be outputted into whatever the format du jour is — HTML, EPUB, MOBI, PDF, RTF, whatever — remains as frustratingly elusive in 2017 as it was in 2007. Things have not gotten better.
Of course, LaTeX is an option, though tweaking the default containers to something you prefer and using a non-default type face requires incantations at the Merlin-level. Keeping a document in Markdown and then converting it to HTML and then adding CSS is, to my mind, a preferable option, if only because I understand CSS in a way that I do not understand LaTeX, but the ability to create printed versions remains something that requires using Prince (expensive) or wkhtmltopdf (wonky) to do. (See rachelandrew.co.) In addition, I have not found a reliable way to suppress the impulse of most implementations of Markdown to convert any line that begins with any number into a numbered list.