Exporting to PDF in org mode

Table of Contents


清明时节雨纷纷,路上行人欲断魂。借问酒家何处有,牧童遥指杏花村。 – 杜牧《清明》1


简介

这篇文章介绍如何配置一下 Emacs 使其能输出 PDF 文件。

使用的环境

使用的环境是 OSX 10.12 版本,Emacs 的版本为 25.1.1, org mode 的版本为 9.0.3,需要安装 MacTex 其他环境没有测试。

如何配置

  • 在你的 .emacs 或 .emacs.d/init.el 上添加对 xelatex 的支持,上面装的 MacTex 会装这个。添加代码如下
(setenv "PATH" (concat (getenv "PATH") ":/usr/local/texlive/2016/bin/x86_64-darwin/"))
(setq exec-path (append exec-path '("/usr/local/texlive/2016/bin/x86_64-darwin/")))
  • 同样在配置文件上应该配置使用 xelatex, 输出中文 pdf。org-mode 默认调用的是 pdflatex, 因此需要重新设置编译引擎为 xelatex
(setq org-latex-pdf-process '("xelatex -interaction nonstopmode %f" "xelatex -interaction nonstopmode %f"))

注意:如果你使用的是 spacemacs 你需要将上面的配置加到 user config 里面,同时还要将上面的代码放到:

(after-load 'org )

里面,否则上面的代码不会生效。

  • 输出中文,需要在开头添加如下的
#+LATEX_HEADER: \usepackage{fontspec}
#+LATEX_HEADER: \setmainfont{XXX}

其中 XXX 可以替换成你想使用的字体,例如 Songti SC

其他问题

在导出 pdf 的时候,在目录中会出现烦人的红框,类似这样:

20190523_085919_15212Cap.png

解决方法很简单,在 org 文件开头加:

#+latex_header: \hypersetup{colorlinks=true,linkcolor=blue}

linkcolor 设置成自己喜欢的颜色即可。

参考:

Footnotes:

1

写于 2017 清明,碰巧今天也细雨蒙蒙,故引用此诗纪念。