配置组织模式以使用LuaLaTeX

时间:2017-01-10 12:02:42

标签: unicode emacs latex org-mode

我正在使用emacs' org-mode排版注释并通过LaTeX将其导出为pdf。一切正常,除非我使用Unicode符号,例如

\begin{equation}
  \left( \frac{P^2}{2m} + V(x,y,z) \right) Ψ = E Ψ
\end{equation}

我使用Ψ。使用#+latex_compiler: lualatex

(setq org-latex-pdf-process
      '("lualatex -shell-escape -interaction nonstopmode %f"
        "lualatex -shell-escape -interaction nonstopmode %f")) 

我已经设法使用LuaLaTeX将更多或更少的问题导出到PDF,但公式(C-c C-x C-l)的预览完全打破了带有Unicode符号的公式。

我需要在emacs配置中进行哪些更改才能在org-mode中使用LuaLaTeX来处理与LaTeX相关的所有?

2 个答案:

答案 0 :(得分:2)

将以下代码添加到init文件中(注意,它会在org-preview-latex-process-alist的值中添加一个元素,因此在加载org之后必须添加此代码 - 您可能还需要(要求' org)):

;; lualatex preview
(setq org-latex-pdf-process
  '("lualatex -shell-escape -interaction nonstopmode %f"
    "lualatex -shell-escape -interaction nonstopmode %f")) 

(setq luamagick '(luamagick :programs ("lualatex" "convert")
       :description "pdf > png"
       :message "you need to install lualatex and imagemagick."
       :use-xcolor t
       :image-input-type "pdf"
       :image-output-type "png"
       :image-size-adjust (1.0 . 1.0)
       :latex-compiler ("lualatex -interaction nonstopmode -output-directory %o %f")
       :image-converter ("convert -density %D -trim -antialias %f -quality 100 %O")))

(add-to-list 'org-preview-latex-process-alist luamagick)

(setq org-preview-latex-default-process 'luamagick)

我必须添加一个启用数学的字体(XITS),所以org文件本身现在看起来像这样:

#+LATEX_HEADER: \usepackage{unicode-math}
#+LATEX_HEADER: \setmainfont{XITS}
#+LATEX_HEADER: \setmathfont{XITS Math}
#+LATEX_HEADER: \setmathfont[range={\mathcal,\mathbfcal},StylisticSet=1]{XITS Math}

* A formula for lua
\begin{equation}
  \left( \frac{P^2}{2m} + V(x,y,z) \right) Ψ = E Ψ
\end{equation}

导出为PDF和预览似乎都有效。

答案 1 :(得分:0)

我将Windows 10与Emacs 26.1结合使用,@ NickD的解决方案对我来说几乎没有什么小变化

(setq org-latex-pdf-process
  '("lualatex -shell-escape -interaction nonstopmode %f"
    "lualatex -shell-escape -interaction nonstopmode %f"))

(setq luamagick '(luamagick :programs ("lualatex" "magick")
       :description "pdf > png"
       :message "you need to install lualatex and imagemagick."
       :use-xcolor t
       :image-input-type "pdf"
       :image-output-type "png"
       :image-size-adjust (1.0 . 1.0)
       :latex-compiler ("lualatex -interaction nonstopmode -output-directory %o %f")
       :image-converter ("magick convert -density %D -trim -antialias %f -quality 100 %O")))

(add-to-list 'org-preview-latex-process-alist luamagick)

(setq org-preview-latex-default-process 'luamagick)

使用full document here.代替convertconvert不起作用,因为有一个名为convert.exe的默认Windows程序