Hola buenas personas de Emacs!
Tengo problemas para exportar símbolos matemáticos Unicode desde el búfer (modo org) a un archivo pdf.
1. Descripción del problema:
Los símbolos se insertan en el búfer como caracteres unicode (a través del método de entrada TEX o matemática de la compañía )
Aquí está la demostración del código fuente:
#+TITLE: Unicode characters export test
#+AUThor:
#+date:
Unicode characters:
ℝ ℤ ℕ ⇒ ∈ ∀
Same symbols in latex format:
$$\Bbb{R} \Bbb{Z} \Bbb{N} \Rightarrow \in \forall$$
El archivo .tex producido incluye símbolos 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}
El archivo PDF no:
2. Cosas que he probado hasta ahora:
Xelatex y matemática unicode: Esto se incluye en la respuesta de Rasmus. Aquí tengo que admitir: no estoy usando la versión de desarrollo del modo org que está mencionando. (no se pudo instalar) De todos modos, he intentado xelatex y unicode-math. Mi versión del modo Org es 8.2.10.
#+latex_compiler: xelatex
#+latex_header: \usepackage{libertine}
#+latex_header: \usepackage{unicode-math}
Incluir esto en el archivo introduce un mensaje no tan encantador en lugar de un archivo pdf.
org-latex-compile: el archivo PDF ./unicode_export_test.pdf no se produjo: [error del paquete]
He verificado la instalación correcta de matemáticas unicode:
~ $ kpsewhich unicode-math.sty
/usr/share/texlive/texmf-dist/tex/latex/unicode-math/unicode-math.sty
La instalación de Xelatex es la versión más nueva:
~ $ 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.
instale la versión de desarrollo del modo org: (fallido) Siguiente ¿Cómo me mantengo al día con el desarrollo de última generación? - Tutorial que he podido (creo) descargarlo y compilarlo. Como no tengo idea de cómo decirle a Emacs que ejecute esta versión, Emacs ejecuta la versión 8.2.10 del modo Org (release_8.2.10 @ /usr/local/share/emacs/24.4/lisp/org/). He intentado agregar las siguientes líneas a mi configuración.
(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)
Sin resultado agradable.
Buscando en Internet: no se encontró la solución.
Golpeándome por ser estúpido: no ayudó.
3. Pregunta: ¿Cómo exportar caracteres Unicode de org-mode a pdf?
- ¿Tengo que configurar alguna variable del modo org?
- Compilar con diferentes intérpretes de látex?
- ¿Alguna otra idea?
- Si la versión de desarrollo soluciona esto ... ¿Cómo puedo instalarlo?
Respuestas:
Necesita usar el archivo de látex en
\usepackage[utf8x]{inputenc}
lugar del predeterminado\usepackage[utf8]{inputenc}
. Esto funciona con látex estándar (pdf).Para que la exportación de la organización genere esto, debe establecer la variable en
org-latex-inputenc-alist
consecuencia. Por ejemplo:Para definir la variable, es posible que
(require 'ox-latex)
primero necesite .Desafortunadamente, esto solo admite un conjunto limitado de letras matemáticas. Se puede soportar mucho más mediante la inclusión
\usepackage[mathletters]{ucs}
. Esto tiene que aparecer antes de lasinputenc
cosas, por lo que no puede usar a#+latex_header:
. Una forma de hacerlo es agregarlo a la cabeza deorg-latex-default-packages-alist
.Tenga en cuenta que la
ucs
documentación (generalmente disponible a través detexdoc ucs
) advierte sobre lamathletters
opción:Si desea que esas configuraciones se apliquen solo al archivo actual en lugar de a nivel global, puede definirlas como variables locales de archivo . Agregue lo siguiente cerca del final del archivo:
eval
es una pseudo variable que permite ejecutar código lisp cuando se carga el archivo.fuente
Ω Θ Γ ω
no se exportan. Adivinando habrá más símbolos que no se exportarán.ox-latex.el
donde se define el "LaTeX Back-End para Org Export Engine". ¿Debo mencionar que utilicé látex por primera vez en 1995 y me estoy mudando lentamente a Unicode?Solo necesitaría cargar el soporte Unicode adecuado en LaTeX a través de
unicode-math
yfontspec
. Entonces necesitarías compilar conxelatex
olualatex
.Ver la cadena de documentación de las siguientes variables:
org-latex-packages-alist
,org-latex-pdf-process
yorg-latex-compiler
(este último se introduce en Org 9).En la versión de desarrollo de Org podrías hacer algo como esto:
fuente
Process completed with errors: [package error]
alguna idea de cómo solucionar esto u obtener una descripción de error más específica.Dos caminos a seguir:
1) Escriba expresiones TeX adecuadas (en lugar de unicode) y deje que la organización las muestre como caracteres utf-8 (con
C-c C-x \
). http://orgmode.org/manual/Special-symbols.htmlO 2) Cargue un paquete TeX que traduzca sus caracteres utf-8 en las expresiones matemáticas adecuadas. Por ejemplo https://www.ctan.org/pkg/unicode-math?lang=en .
fuente
#+latex_header: \usepackage{unicode-math}
. Pero este paquete no me funciona.