I always had a problem in exporting org mode files to odt format
and finally I have found the reason of the problem and a solution.

I use org mode within emacs 23.3.1 on Ubuntu 12.04 LTS
(all tools standard distribution).

The otd export elisp file is placed here:


If I understand correctly, it searches for the styles and schemas
starting from there:

(defconst org-odt-lib-dir (file-name-directory load-file-name))
(defconst org-odt-styles-dir
  (let* ((styles-dir1 (expand-file-name "../etc/styles/" org-odt-lib-dir))
         (styles-dir2 (expand-file-name "./etc/styles/" org-odt-lib-dir))

(defcustom org-export-odt-schema-dir
  (let ((schema-dir (expand-file-name
                     "../contrib/odt/etc/schema/" org-odt-lib-dir)))

This does not work with the configuration above, because:

A) the schema files are at a completely different location
B) the style files are entirely missing
C) the call to "load-file-name" for some reason fails, preventing
    the whole file from being loaded

As a workaround, I copied over the style files, manually
fixed "org-odt-styles-dir" and " org-export-odt-schema-dir" in
org-odt.el,  and commented out the line which causes
problem (C).

This works - but a more flexible solution should be found so
that org-odt does not break again.

I hope this can be useful to the org community - although it might
be that in the meantime somebody else already fixed the problem.

Fabio Rinaldi

Reply via email to