I am currently in the process of writing a thesis at university. Both the university and my assigned supervisor require the thesis to:
- be in MS Word document format, ie.
doc
ordocx
- contain some formal boilerplate at the beginning, the templates for which are only available in said format - a title page, a formal statement of the thesis' originality, etc, and which must follow those templates exactly in layout, fonts, and so on
- be in a particular font at a particular size (Times New Roman 12pt to be exact)
- fulfill other stylistic requirements (paragraphs must be indented with a tab at their beginning)
As a programmer, I've been spoiled by modern plaintext editors and have been avoiding WYSIWYG editors like Word or LibreOffice Writer like the plague for years - doing anything more complicated than filling out a form is torture with this kind of tool, as I always end up fighting the editor instead of focusing on the content I'm writing. Changing the style of one paragraph might change all paragraphs, adding one character or line too many might blow up the whole intricate layout and strew text over two pages where one page was, it's an extremely unintuitive and frustrating experience all around. Compressed formats like ODT or DOC are also not VCS-friendly, which is a drawback, as I'd like to be able to keep a copy in a Git repo and see readable diffs.
As my thesis is going to be about software, I will likely need inline monospace sections, links to internet sources, and code listing blocks, preferably with language-appropriate syntax highlighting. Doing these things manually in LO or Word would be extremely tedious, repetitive, and error-prone. Asciidoc seems to fit my use case perfectly, but neither ODT nor any Word-compatible format is supported as an asciidoctor output target. Markdown would also be acceptable, though it lacks the ability to manually mark page breaks.
Has anyone had experience with converting either Asciidoc or Markdown to DOCX, ODT, or a compatible format? Right now I'm seriously considering writing my own plain text/light markup → FODT (flat XML ODT) converter and then manually converting the output of that to DOCX because in all likelihood it would take me less time than learning how to use a WYSIWYG editor effectively.
On a tangent, is there a way to programmatically merge two DOCX or ODT documents? If so, I could manually fill out the boilerplate templates and then join them to the document proper.
Sounds like you'd like pandoc: