Create docx documents from org mode
              ===================================

 Last edited: $Date: 2021/05/30 16:30:52 $

                 Plain text is the best format
                 -----------------------------

 In my spare time I write articles and other content. Depending
 on the publisher, this has to be either  in  odt  or  in  docx
 format.

 Of  course, I like to write those texts in a decent editor and
 write in a plain text format.

 For several years I have used an  awk  script  that  converted
 text  from  a  markdownish  format to fodt, see [Advantages of
 FODT format in LibreOffice](http://box.matto.nl/advantages-of-
 fodt-format-in-libreoffice.html).

 This  created  sometimes  some  issues with special characters
 like '<' and '>'. For this reason I abandoned this method  and
 started  to  use  Pandoc  for the conversion. This way I could
 still write in plain text (in Markdown format)  with  all  the
 advantages  of  using  plain  text,  like  the option to use a
 decent editor, and the use of version control tools.

 Another very important element of writing  in  plain  text  is
 that  the  writer  can  fully focus on the content and doesn't
 have  to  worry  about  bullet-size,   paragraph   formatting,
 indention  et  cetera.  The  formatting  is done afterward, by
 tools like Groff, LaTeX, Markdown.pl and so on.

                         Emacs org mode
                         --------------

 A couple of months ago I decided to learn to use  Emacs  after
 using Vi and Vim for more than two decades. Org-mode is one of
 the lures of Emacs, and it comes  with  some  powerful  export
 functionalities.

 Out  of  the  box,  org  mode can export to the odt format and
 creates a very rich document.

 Unfortunately,  the  default  formatting  does  not  fit   the
 requirements  of  the  publishers  I  work  with. It has to be
 trimmed down a bit.

                  Changing some export options
                  ----------------------------

 At the first lines of any org file we can enter some meta-data
 options.  It  turns  out  we can use this to make the document
 looks more like what the publisher expects.

 ### Disable title and author lines

 With the following line we disable the creation of  the  title
 line  and  the  author  line  at  the  top of the odt- or docx
 document:

   #+OPTIONS: title:nil author:nil

 Of course, if you want to have the title and the name  of  the
 author  at  the  top  of  your document, you can add something
 like:

   #+OPTIONS: title: To be and not to be
   #+OPTIONS: author: Cat Schroedinger

 ### Disable table of contents (toc)

 With the following line we disable the  creation  of  the  TOC
 (table of contents) in the odt- or docx document:

   #+OPTIONS: toc:nil

 ### Prevent superscript and subscript

 In  my  texts I sometimes have to use underscores ( _ ), which
 in a normal org-mode export results in a  mix  of  superscript
 and subscript. To prevent this and have the underscores appear
 just like in the org file, at the following line:

   #+OPTIONS: ^:nil

 ### Prevent numbering of headings

 Normally, the  headings  of  your  org  file  will  result  in
 numbered headings in your export.

 This can be turned of with the following option:

   #+OPTIONS: num:nil

 ### Wrap up

 Combined,  this  gives the following lines of meta-data at the
 top of the org file:

   #+OPTIONS: title:nil author:nil
   #+OPTIONS: toc:nil
   #+OPTIONS: ^:nil
   #+OPTIONS: num:nil

 It not necessary to have this split out  over  several  lines,
 but it helps the readability and adaptability.

                   Block of mono-spaced font
                   -------------------------

 It  is  easy  to  create a block of text that will be shown as
 mono-spaced in the resulting export.

 - Mark a region
 - Hit Ctrl-c Ctrl-, (that is: control comma)

 Emacs will show a list of options, choose s for src.

 This will put markers at the edges of the region:

   #+begin_src
   ...
   #+end_src

                     Org mode export to odt
                     ----------------------

 Out of the box, org mode exports to the odt file format.

 For this, use the key binding "Ctrl-c  Ctrl-e  o  o",  or,  in
 Emacs notation: "C-c C-e o o".

                    Org mode export to docx
                    -----------------------

 Without  additional configuration, org mode exports to the odt
 file format.

 This is great, because odt is a real open format, unlike  docx
 (Microsoft  had  to  bribe several groups of people to get the
 docx format faulty recognized as "open").

 Unfortunately, for many people the odt format is confusing and
 for those, we have to convert the odt format into docx.

 Emacs  will  gladly  take care of this conversion, when we add
 the following line to the Emacs configuration (like  e.g.,  in
 ~/.emacs, or ~/.emacs.d/init.el):

   (setq org-odt-preferred-output-format "docx")

 For  this  to work, you have to have LibreOffice installed (or
 perhaps OpenOffice, I haven't tried that).

 Advantages of using org mode to create an odt or docx document
 --------------------------------------------------------------

 There are several advantages to use  org  mode  to  convert  a
 plain text document into a odt file or a docx file.

 - No need to install Pandoc, just Emacs is sufficient.
 - Export right from within Emacs (with: "Ctrl-c Ctrl-e o o").
 - Good integration of the RCS workflow in Emacs (just loop
   through the RCS cycle with: "Ctrl-x v v").
 - Org mode is a excellent tool for outlining
 - Fits nicely in a general "everything in org mode" workflow.

 Give it a try!

 NB:  If  you  don't  use  RCS, you can of course use any other
 version control system.