Halo orang-orang baik Emacs!
Saya mengalami masalah saat mengekspor simbol matematika unicode dari buffer (mode-org) ke file pdf.
1. Deskripsi Masalah:
Simbol dimasukkan ke buffer sebagai karakter unicode (melalui metode input TEX atau matematika perusahaan )
Berikut ini adalah demonstrasi kode sumber:
#+TITLE: Unicode characters export test
#+AUThor:
#+date:
Unicode characters:
ℝ ℤ ℕ ⇒ ∈ ∀
Same symbols in latex format:
$$\Bbb{R} \Bbb{Z} \Bbb{N} \Rightarrow \in \forall$$
File .tex yang dihasilkan termasuk simbol 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}
File pdf tidak:
2. Hal yang saya coba sejauh ini:
Xelatex dan unicode-math: Ini termasuk dalam jawaban dari Rasmus. Di sini saya harus mengakui: Saya tidak menggunakan versi pengembangan mode-org yang dia sebutkan. (gagal menginstalnya) Saya sudah mencoba xelatex dan unicode-math. Versi mode Org saya adalah 8.2.10.
#+latex_compiler: xelatex
#+latex_header: \usepackage{libertine}
#+latex_header: \usepackage{unicode-math}
Termasuk ini dalam file memperkenalkan pesan yang tidak begitu indah bukan file pdf.
kompilasi org-lateks: file PDF ./unicode_export_test.pdf tidak diproduksi: [paket error]
Saya telah memeriksa instalasi unicode-math yang benar:
~ $ kpsewhich unicode-math.sty
/usr/share/texlive/texmf-dist/tex/latex/unicode-math/unicode-math.sty
Instalasi Xelatex adalah versi terbaru:
~ $ 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.
instal versi pengembangan dari mode-org: (gagal) Mengikuti Bagaimana saya tetap mengikuti perkembangan tepi pendarahan? - tutorial saya sudah bisa (saya pikir) mengunduhnya dan mengompilasinya. Karena saya tidak tahu bagaimana cara memberitahu Emacs untuk menjalankan versi ini, Emacs menjalankan Org-mode versi 8.2.10 (release_8.2.10 @ /usr/local/share/emacs/24.4/lisp/org/). Saya telah mencoba menambahkan baris berikut ke konfigurasi saya.
(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)
Tanpa hasil yang menyenangkan.
Mencari di internet: Solusi tidak ditemukan.
Mengalahkan diriku sendiri karena bodoh: Tidak membantu.
3. Pertanyaan: Bagaimana cara mengekspor karakter unicode dari mode-org ke pdf?
- Apakah saya harus mengkonfigurasi beberapa variabel mode-org?
- Kompilasi dengan penerjemah Lateks yang berbeda?
- Ada ide lain?
- Jika versi pengembangan memperbaiki ini .... Bagaimana saya bisa menginstalnya?
Jawaban:
Anda membutuhkan file lateks untuk digunakan
\usepackage[utf8x]{inputenc}
daripada default\usepackage[utf8]{inputenc}
. Ini berfungsi dengan lateks standar (pdf).Untuk ekspor org untuk menghasilkan ini, Anda harus mengatur variabel
org-latex-inputenc-alist
sesuai. Sebagai contoh:Agar variabel dapat didefinisikan, Anda mungkin perlu
(require 'ox-latex)
terlebih dahulu.Sayangnya, ini hanya mendukung satu set huruf matematika terbatas. Banyak lagi yang bisa didukung termasuk
\usepackage[mathletters]{ucs}
. Ini harus muncul sebeluminputenc
barang, jadi Anda tidak bisa menggunakan a#+latex_header:
. Cara untuk melakukannya adalah dengan menambahkannya di kepalaorg-latex-default-packages-alist
.Perhatikan bahwa
ucs
dokumentasi (biasanya tersedia melaluitexdoc ucs
) memperingatkan tentangmathletters
opsi:Jika Anda ingin pengaturan itu hanya berlaku untuk file saat ini daripada secara global, Anda dapat mendefinisikannya sebagai file variabel lokal . Tambahkan yang berikut di dekat akhir file:
eval
adalah variabel pseudo yang memungkinkan untuk mengeksekusi kode lisp ketika file tersebut dimuat.sumber
Ω Θ Γ ω
tidak diekspor. Menebak akan ada lebih banyak simbol yang tidak akan diekspor.ox-latex.el
mana "LaTeX Back-End untuk Mesin Ekspor Org" didefinisikan. Haruskah saya menyebutkan saya menggunakan lateks pertama kali pada tahun 1995 dan perlahan - lahan pindah ke unicode?Anda hanya perlu memuat dukungan unicode yang tepat di LaTeX via
unicode-math
danfontspec
. Maka Anda harus mengkompilasi denganxelatex
ataulualatex
.Lihat docstring dari variabel-variabel berikut:
org-latex-packages-alist
,org-latex-pdf-process
danorg-latex-compiler
(yang terakhir diperkenalkan di Org 9).Dalam versi pengembangan Org Anda dapat melakukan sesuatu seperti ini:
sumber
Process completed with errors: [package error]
ide bagaimana cara memperbaikinya, atau mendapatkan deskripsi kesalahan yang lebih spesifik?Dua cara:
1) Entah menulis ekspresi TeX yang tepat (bukan unicode) dan biarkan org hanya menampilkannya sebagai karakter utf-8 (dengan
C-c C-x \
). http://orgmode.org/manual/Special-symbols.htmlAtau 2) Muat paket TeX yang menerjemahkan karakter utf-8 Anda ke dalam ekspresi matematika yang tepat. Misalnya https://www.ctan.org/pkg/unicode-math?lang=en .
sumber
#+latex_header: \usepackage{unicode-math}
. Tetapi paket ini tidak bekerja untuk saya.