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