如何在 Emacs 中预览 LaTeX?

如何在 Emacs 中预览 LaTeX?

我想要一个与 SO 类似的布局,我目前使用它作为我的编辑器,但我希望找到这样的工具。我更喜欢 vi,所以很难让 preview-latex 与 emacs 一起工作。我不知道它是否是正确的工具,但我想在输入一些较长的 latex 方程式后立即看到内容,而无需编译周期。我如何预览 LaTeX?

附言:我正在使用 obsd 和 ubuntu。

答案1

在 Emacs 中预览文本的最常见包是 Preview TeX,该包现已内置于 AUCTeX 中

http://gnu.org/software/auctex

它适用于 latex 和 pdflatex。在 LaTeX 缓冲区中,只需键入 Cc Cp Cb,或在菜单中执行 Preview->for buffer。

一个更简单但效率更低的替代方法是使用 X-Symbol 包:

http://x-symbol.sourceforge.net/

这个包只显示特殊符号(例如数学运算符或希腊字母),仅此而已。这个包似乎也不再开发了。

答案2

抱歉,我不知道 SO 是什么,但你听说过吗latexmk? 每次保存 *.tex 文件时,它都会重新运行 pdftex 或其他程序。我没有预览,而是执行以下操作:

  1. 打开 Emacs,Cx Cf => 新文件,输入 LaTeX 文件的一些骨架(包括)\end{document},保存(Cx Cs),第一次编译(Cc Cc RET)并在查看器中打开它(再次 Cc Cc RET)。
  2. 我打开一个命令窗口(如果你使用 Linux,你就知道我的意思;如果你使用 Windows,则是 cmd.exe),导航到包含我的 LaTeX 文件的文件夹并输入latexmk -pvc -pdf filename.tex然后 latexmk 编译我的文档每次我在 Emacs 中保存新版本时都会重复此操作。

如果您使用一个能够在每次更改时从硬盘重新加载 pdf 的 pdf 查看器(okular、evince、适用于 Windows 的 sumatra……),那么您就可以非常接近即时预览。

亚历山大

答案3

另一个选项是 LaTeX Preview Pane。它支持并排编辑和预览您的 LaTeX 文档。它还支持在缓冲区中突出显示错误,类似于 flymake。

Emacs Wiki页面:http://www.emacswiki.org/emacs/LaTeXPreviewPane

答案4

我编写了一些 elisp 来简化使用 pdflatex 编译和查看 latex 文件:

(defun reload-pdf ()
  (interactive
  (let* ((fname buffer-file-name)
        (fname-no-ext (substring fname 0 -4))
        (pdf-file (concat fname-no-ext ".pdf"))
        (cmd (format "pdflatex %s" fname)))
    (delete-other-windows)
    (split-window-horizontally)
    (split-window-vertically)
    (shell-command cmd)
    (other-window 2)
    (find-file pdf-file)
    (balance-windows))))

(global-set-key "\C-x\p" 'reload-pdf)

现在,您不需要再输入两次 (Cc Cc RET),只需在保存文件后输入 (Cx p RET) 即可。

希望这可以帮助!

相关内容