如何配置 Emacs 和 AUCTeX 执行正向和反向搜索

如何配置 Emacs 和 AUCTeX 执行正向和反向搜索

我在 Ubuntu 系统上安装了emacs23AucTeX我想更改默认的 pdf 查看器emacs并启用正向和反向搜索。我该怎么做?

我想通过发布答案来分享我使用 emacs 的知识和经验。我仅针对键盘快捷键进行了以下操作。如果可以将其扩展到这样一种方式,我会很高兴:如果我在 emacs 中双击我的源,我的 pdf 就会生成(向前搜索),而当我双击 pdf 中的某些文本时,它会到达源中的大致位置(向后搜索)。它真的很棒,占用空间更少,是我用过的最好的编辑器。

答案1

此过程将设置 Emacs、AUCTeX 和 Okular 查看器来处理集成的正向和反向搜索。(这些说明已在 Debian 系统上测试)

  1. 安装 Emacs。要安装 Emacs,请打开终端并输入命令:

    sudo apt-get install emacs
    
  2. 安装 AUCTeX。

    在 Emacs 中,运行M-x package install RET auctex RET

    要测试安装是否成功,只需打开.texEmacs 文件,您就会看到有关 LaTeX 的新菜单。

    在此处输入图片描述

  3. 安装 Okular。

    sudo apt-get install okular
    
  4. 如果尚未完成,请使用 emacs 打开一个 tex 文件。

  5. 在 LaTeX 菜单中,转到“自定义 AUCTeX”并单击“扩展此菜单”。
  6. 然后再次转到 LaTeX,“自定义 AUCTeX”,转到“Tex 命令”子菜单并单击包含的“Tex 命令”项。
  7. 在 Emacs 中运行

    M-x customize-group RET TeX-command RET
    

    您现在位于“Tex 命令组”配置缓冲区中。向下滚动直到到达“Tex Pdf 模式”。其值为关闭(零);单击“切换”按钮以激活此模式。单击“状态”按钮并选择“保存以供将来会话使用”。AUCTeX 现在将使用 编译您的 TeX 文件pdflatex

    你应该看到类似这样的内容: 在此处输入图片描述

    对于“保存以供将来使用”,也可以选择带有绿色向下箭头的按钮。完成后,您的信息.emacs将会相应更新。

    在此处输入图片描述

  8. 仍然在“Tex 命令组”配置缓冲区中,一直向下滚动并单击名为“Tex 视图”的特殊项。在“Tex 视图组”缓冲区中,您需要做两件事:

    • 激活 PDF 和 TeX 文件之间的关联模式,并
    • 声明一个可以读取这些关联的 PDF 查看器。
  9. 要激活关联模式:

    1. 项“Tex Source Correlate Method”,单击“Value Menu”按钮并选择“synctex”并保存以供将来会话使用,
    2. 项“Tex Source Correlate Start Server”,选择“始终”并保存,
    3. 项目“Tex Source Correlate Mode”,将其打开并保存。
  10. 要将 Okular 设置为默认 PDF 查看器:

    1. 笔记:仅当您使用 AUCTeX 11.87 或更低版本时才需要这样做,在这种情况下,您确实应该将软件包升级到较新的版本)项目,Tex View Program List然后单击 INS
      • 姓名:Okular
      • 选择:Command
      • 命令:okular --unique %o#src:%n%b
    2. 项目Tex View Program Selection,然后单击INS

      • 选择:Single predicate
      • 单一谓词:output-pdf
      • 觀看者:Okular

        如果您刚刚将 Okular 添加到 Tex View 程序列表,则可能不会出现此选项。重新启动 Emacs 或Set for Current Session使其显示出来。

  11. 设置并保存两者以供将来的会话使用。

  12. 要配置 Okular:在 Okular 窗口中,转到“设置”菜单,项“配置 Okular”、“编辑器”,选择 Emacs 客户端。

  13. 要使用从 Emacs 到 Okular 的正向搜索,只需点击C-c C-v工具栏上的眼镜按钮即可调用查看器。Okular 会将其显示在 pdf 的目标行上。

  14. 要使用从 Okular 到 Emacs 的反向搜索,请确保已启用浏览工具(在 Okular 的工具菜单中);然后只需按下 Shift+鼠标左键单击 pdf 即可。Emacs 将出现并将光标定位在 TeX 源的目标行上。


附注:AUCTeX 还可以使用 跳转到日志文件中生成的错误C-c `。如果此按键引发错误,请参阅使用 AUCTeX 时出现不明确的错误消息寻找基于 Emacs(即跨平台,适用于主要发行版)的解决方案。

答案2

下列的苏巴姆·索尼说明将添加以下几行到您的.emacs

(custom-set-variables
 ;; custom-set-variables was added by Custom.
 ;; If you edit it by hand, you could mess it up, so be careful.
 ;; Your init file should contain only one such instance.
 ;; If there is more than one, they won't work right.
 '(TeX-source-correlate-method (quote synctex))
 '(TeX-source-correlate-mode t)
 '(TeX-source-correlate-start-server t)
 '(TeX-view-program-list (quote (("Okular" "okular --unique %o#src:%n%b"))))
 '(TeX-view-program-selection (quote ((engine-omega "dvips and gv") (output-dvi "xdvi") (output-pdf "Okular") (output-html "xdg-open")))))
(custom-set-faces
 ;; custom-set-faces was added by Custom.
 ;; If you edit it by hand, you could mess it up, so be careful.
 ;; Your init file should contain only one such instance.
 ;; If there is more than one, they won't work right.
 )

相关内容