Hallo gute Leute von Emacs!
Ich habe Probleme beim Exportieren von Unicode-mathematischen Symbolen aus dem Puffer (org-mode) in eine PDF-Datei.
1. Problembeschreibung:
Symbole werden als Unicode-Zeichen in den Puffer eingefügt (über die TEX-Eingabemethode oder Firmenmathematik )
Hier ist eine Demonstration des Quellcodes:
#+TITLE: Unicode characters export test
#+AUThor:
#+date:
Unicode characters:
ℝ ℤ ℕ ⇒ ∈ ∀
Same symbols in latex format:
$$\Bbb{R} \Bbb{Z} \Bbb{N} \Rightarrow \in \forall$$
Produzierte .tex-Datei enthält Unicode-Symbole:
% 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}
PDF-Datei funktioniert nicht:
2. Dinge, die ich bisher ausprobiert habe:
Xelatex und Unicode-Mathematik: Dies ist in der Antwort von Rasmus enthalten. Hier muss ich zugeben: Ich verwende keine von ihm erwähnte Entwicklungsversion von org-mode. (konnte nicht installiert werden) Ich habe es trotzdem mit xelatex und Unicode-Mathe versucht. Meine Version des Org-Modus ist 8.2.10.
#+latex_compiler: xelatex
#+latex_header: \usepackage{libertine}
#+latex_header: \usepackage{unicode-math}
Wenn Sie dies in die Datei aufnehmen, erhalten Sie eine nicht so schöne Nachricht, sondern eine PDF-Datei.
org-latex-compile: PDF-Datei ./unicode_export_test.pdf wurde nicht erstellt: [package error]
Ich habe die korrekte Installation von Unicode-Mathematik überprüft:
~ $ kpsewhich unicode-math.sty
/usr/share/texlive/texmf-dist/tex/latex/unicode-math/unicode-math.sty
Die Installation von Xelatex ist die neueste 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.
Installieren Sie die Entwicklungsversion von org-mode: (fehlgeschlagen) Folgen Wie halte ich mich über die Entwicklung auf dem Laufenden? - Tutorial Ich konnte es (glaube ich) herunterladen und kompilieren. Da ich keine Ahnung habe, wie Emacs diese Version ausführen soll, führt Emacs die Version 8.2.10 im Org-Modus aus (release_8.2.10 @ /usr/local/share/emacs/24.4/lisp/org/). Ich habe versucht, meiner Konfiguration folgende Zeilen hinzuzufügen.
(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)
Ohne erfreuliches Ergebnis.
Internet durchsuchen: Lösung wurde nicht gefunden.
Ich habe mich selbst geschlagen, weil ich dumm war. Hat nicht geholfen.
3. Frage: Wie exportiere ich Unicode-Zeichen von org-mode nach pdf?
- Muss ich eine Organisationsvariable konfigurieren?
- Mit anderem Latexinterpreter kompilieren?
- Irgendwelche anderen Ideen?
- Wenn die Entwicklungsversion dies behebt ... Wie kann ich es installieren?
Antworten:
Sie müssen die Latexdatei verwenden,
\usepackage[utf8x]{inputenc}
anstatt die Standarddatei zu verwenden\usepackage[utf8]{inputenc}
. Dies funktioniert mit Standard (pdf) Latex.Damit der org-Export dies erzeugt, müssen Sie die Variable
org-latex-inputenc-alist
entsprechend einstellen . Beispielsweise:Damit die Variable definiert werden kann, müssen Sie möglicherweise
(require 'ox-latex)
zuerst.Leider unterstützt dies nur einen begrenzten Satz mathematischer Buchstaben. Viel mehr kann durch Einbeziehung unterstützt werden
\usepackage[mathletters]{ucs}
. Dies muss vor deminputenc
Zeugs stehen, damit Sie nicht einfach a verwenden können#+latex_header:
. Eine Möglichkeit, dies zu tun, besteht darin, es an der Spitze von hinzuzufügenorg-latex-default-packages-alist
.Beachten Sie, dass die
ucs
Dokumentation (normalerweise verfügbar übertexdoc ucs
) vor dermathletters
Option warnt :Wenn diese Einstellungen nicht global, sondern nur für die aktuelle Datei gelten sollen, können Sie sie als lokale Dateivariablen definieren . Fügen Sie am Ende der Datei Folgendes hinzu:
eval
ist eine Pseudovariable, mit der beim Laden der Datei Lisp-Code ausgeführt werden kann.quelle
Ω Θ Γ ω
werden nicht exportiert. Es wird mehr Symbole geben, die nicht exportiert werden.ox-latex.el
in der die "LaTeX-Back-End für Org-Export-Engine" definiert ist. Sollte ich erwähnen, dass ich 1995 zum ersten Mal Latex verwendet habe und langsam auf Unicode umsteige?Sie müssen lediglich die richtige Unicode-Unterstützung in LaTeX über
unicode-math
und ladenfontspec
. Dann müssten Sie mitxelatex
oder kompilierenlualatex
.Siehe das docstring der folgenden Variablen:
org-latex-packages-alist
,org-latex-pdf-process
undorg-latex-compiler
(letzteres ist eingeführt in Org 9).In der Entwicklungsversion von Org könnten Sie so etwas tun:
quelle
Process completed with errors: [package error]
Ideen, wie ich das beheben kann, oder eine genauere Fehlerbeschreibung?Zwei Möglichkeiten:
1) Schreiben Sie entweder richtige TeX-Ausdrücke (anstelle von Unicode) und lassen Sie org sie einfach als utf-8-Zeichen (mit ) anzeigen
C-c C-x \
. http://orgmode.org/manual/Special-symbols.htmlOder 2) Laden Sie ein TeX-Paket, das Ihre utf-8-Zeichen in die richtigen mathematischen Ausdrücke übersetzt. Zum Beispiel https://www.ctan.org/pkg/unicode-math?lang=de .
quelle
#+latex_header: \usepackage{unicode-math}
. Aber dieses Paket funktioniert bei mir nicht.