Daniel Szmulewicz wrote: > I understand that org-latex derives the encoding from the buffer. > In the ".tex” file produced by the exporter, I see this line: > \usepackage[utf8]{inputenc} > > However, I would like to set it to: > \usepackage[utf8x]{inputenc} > > I need to account for special French spacing characters: “espaces > insécables." > > Old tricks to achieve this with previous org-mode versions don’t seem to > work. > What is the best way to export an org buffer and have it set to utf8x with > the latest org-mode version?
AFAICT, when using the `utf8' option to `inputenc' (and not `utf8x' which should be avoided, as it uses `ucs' which is no longer maintained), we have 2 solutions to support the UTF-8 non-breaking space: - Convert it in Org mode, when exporting (via a filter) #+begin_src emacs-lisp ;; filter for non-breaking spaces (defun leuven--latex-filter-nbsp (text backend info) "Convert non-breaking spaces when exporting to LaTeX/Beamer." (when (memq backend '(latex beamer)) (replace-regexp-in-string " " "~" text))) (add-to-list 'org-export-filter-plain-text-functions 'leuven--latex-filter-nbsp) #+end_src - or Convert it in LaTeX: #+begin_src emacs-lisp :tangle no ;; convert `nbsp' to its LaTeX equivalent (add-to-list 'org-latex-packages-alist (concat "\\ifdefined\\DeclareUnicodeCharacter{" "\\DeclareUnicodeCharacter{00A0}{~}" "}\\fi") t) #+end_src I think that the first one is "better", though its problem is that, being done by a filter (hence, on the user-side), sharing an Org file is not easy anymore (without sharing the filter to be added to the personal .emacs file). Best regards, Seb -- Sebastien Vauban