Bonjour les bons gens d'Emacs!
J'ai du mal à exporter des symboles mathématiques unicode du tampon (mode org) vers un fichier pdf.
1. Description du problème:
Les symboles sont insérés dans le tampon sous forme de caractères Unicode (via la méthode de saisie TEX ou les mathématiques de l'entreprise )
Voici une démonstration du code source:
#+TITLE: Unicode characters export test
#+AUThor:
#+date:
Unicode characters:
ℝ ℤ ℕ ⇒ ∈ ∀
Same symbols in latex format:
$$\Bbb{R} \Bbb{Z} \Bbb{N} \Rightarrow \in \forall$$
Le fichier .tex produit comprend des symboles Unicode:
% Created 2016-03-04 Pá 21:01
\documentclass[11pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{fixltx2e}
\usepackage{graphicx}
\usepackage{longtable}
\usepackage{float}
\usepackage{wrapfig}
\usepackage{rotating}
\usepackage[normalem]{ulem}
\usepackage{amsmath}
\usepackage{textcomp}
\usepackage{marvosym}
\usepackage{wasysym}
\usepackage{amssymb}
\usepackage{hyperref}
\tolerance=1000
\date{}
\title{Unicode characters export test}
\hypersetup{
pdfkeywords={},
pdfsubject={},
pdfcreator={Emacs 24.4.1 (Org mode 8.2.10)}}
\begin{document}
\maketitle
\tableofcontents
Unicode characters:
ℝ ℤ ℕ ⇒ ∈ ∀
Same symbols in latex format:
$$\Bbb{R} \Bbb{Z} \Bbb{N} \Rightarrow \in \forall$$
% Emacs 24.4.1 (Org mode 8.2.10)
\end{document}
Le fichier PDF ne:
2. Ce que j'ai essayé jusqu'à présent:
Xelatex et unicode-math: Ceci est inclus dans la réponse de Rasmus. Ici, je dois admettre: je n'utilise pas la version de développement du mode org qu'il mentionne. (échec de l'installation) J'ai quand même essayé xelatex adn unicode-math. Ma version du mode Org est la 8.2.10.
#+latex_compiler: xelatex
#+latex_header: \usepackage{libertine}
#+latex_header: \usepackage{unicode-math}
L'inclusion de ce fichier dans le fichier introduit un message pas si agréable à la place.
org-latex-compile: le fichier PDF ./unicode_export_test.pdf n'a pas été produit: [erreur de package]
J'ai vérifié l'installation correcte d'Unicode-math:
~ $ kpsewhich unicode-math.sty
/usr/share/texlive/texmf-dist/tex/latex/unicode-math/unicode-math.sty
L'installation de Xelatex est la dernière version:
~ $ sudo apt-get install texlive-xetex
Reading package lists... Done
Building dependency tree
Reading state information... Done
texlive-xetex is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 16 not upgraded.
installer la version de développement de org-mode: (échoué) Suite Comment puis-je me tenir au courant du développement de pointe? - tutoriel J'ai pu (je pense) le télécharger et le compiler. Comme je ne sais pas comment dire à Emacs d'exécuter cette version, Emacs exécute la version 8.2.10 en mode Org (release_8.2.10 @ /usr/local/share/emacs/24.4/lisp/org/). J'ai essayé d'ajouter des lignes suivantes à ma configuration.
(add-to-list 'load-path (expand-file-name "~/elisp/org-mode/lisp"))
(remove 'load-path (expand-file-name "/usr/local/share/emacs/24.4/lisp/org/"))
(add-to-list 'auto-mode-alist '("\\.\\(org\\|org_archive\\|txt\\)$" . org-mode))
(require 'org)
Sans résultat agréable.
Recherche sur Internet: la solution est introuvable.
Se battre pour être stupide: n'a pas aidé.
3. Question: Comment exporter des caractères Unicode du mode org vers pdf?
- Dois-je configurer une variable de mode organisationnel?
- Compiler avec différents interprètes Latex?
- D'autres idées?
- Si la version de développement corrige cela .... Comment puis-je l'installer?
Réponses:
Vous avez besoin du fichier latex à utiliser
\usepackage[utf8x]{inputenc}
plutôt que celui par défaut\usepackage[utf8]{inputenc}
. Cela fonctionne avec du latex standard (pdf).Pour que l'export org le génère, vous devez définir la variable en
org-latex-inputenc-alist
conséquence. Par exemple:Pour que la variable soit définie, vous devrez peut-être d'
(require 'ox-latex)
abord.Malheureusement, cela ne prend en charge qu'un ensemble limité de lettres mathématiques. Beaucoup plus peut être soutenu en incluant
\usepackage[mathletters]{ucs}
. Cela doit apparaître avant leinputenc
truc, donc vous ne pouvez pas simplement utiliser un#+latex_header:
. Une façon de le faire est de l'ajouter à la tête deorg-latex-default-packages-alist
.Notez que la
ucs
documentation (généralement disponible viatexdoc ucs
) met en garde contre l'mathletters
option:Si vous souhaitez que ces paramètres s'appliquent uniquement au fichier actuel plutôt que globalement, vous pouvez les définir en tant que variables locales de fichier . Ajoutez ce qui suit vers la fin du fichier:
eval
est une pseudo variable permettant d'exécuter du code lisp lors du chargement du fichier.la source
Ω Θ Γ ω
ne sont pas exportés. En supposant qu'il y aura plus de symboles qui ne seront pas exportés.ox-latex.el
où le "moteur back-end LaTeX pour Org Export Engine" est défini. Dois-je mentionner que j'ai utilisé du latex pour la première fois en 1995 et que je passe lentement à l'unicode?Il vous suffirait de charger le support Unicode approprié dans LaTeX via
unicode-math
etfontspec
. Ensuite, vous devrez compiler avecxelatex
oulualatex
.Voir la docstring des variables suivantes:
org-latex-packages-alist
,org-latex-pdf-process
etorg-latex-compiler
(ce dernier est introduit dans Org 9).Dans la version de développement d'Org, vous pouvez faire quelque chose comme ceci:
la source
Process completed with errors: [package error]
idées sur la façon de résoudre ce problème ou d'obtenir une description d'erreur plus spécifique?Deux façons de procéder:
1) Soit écrivez des expressions TeX appropriées (au lieu d'unicode) et laissez org simplement les afficher en caractères utf-8 (avec
C-c C-x \
). http://orgmode.org/manual/Special-symbols.htmlOu 2) Chargez un package TeX qui traduit vos caractères utf-8 dans les expressions mathématiques appropriées. Par exemple https://www.ctan.org/pkg/unicode-math?lang=en .
la source
#+latex_header: \usepackage{unicode-math}
. Mais ce package ne fonctionne pas pour moi.