在 Emacs 和 AUCTeX 中更改视图命令(pdf 模式)

在 Emacs 和 AUCTeX 中更改视图命令(pdf 模式)

我的 Emacs 和 AUCTeX[1] 版本使用

TeX-evince-sync-view

用于查看pdf。

由于某种原因,此命令不起作用。Evince 已启动,但 Emacs 冻结,并且出现错误

Couldn't find the Evince instance for file XXX

我没有时间去调试它,而且我不需要这个sync功能。

因此,我尝试pdf以一种老式的(简单)方式(不使用sync)进行查看。我尝试了此代码(几年前曾经使用过):

(setq TeX-view-program-list '(("Evince" "evince --page-index=%(outpage) %o")))
(setq TeX-view-program-selection '((output-pdf "Evince")))

但 Emacs 没有任何变化。(我仍然有有问题的命令

TeX-evince-sync-view

作为默认命令。

我尝试使用图形界面(Tools>customize AUCTeX>Tex Command>TeX view>Tex-view-program-selection选择“仅”Evince)做同样的事情,但没有变化。

我如何将 Evince 设置sync为默认查看命令pdf

[1]Emacs 23.4.1 和 AUCTeX 11.85-1 但是我也有同样的问题emacs-snapshot 24.3.50.1

答案1

解决方案:使用`TeX-view-program-list'来定义新的查看器描述(其中包含不带同步的 Evince 命令)。此新命令将覆盖 中定义的 Evince 描述`TeX-view-program-list-builtin'(其中包含有问题的命令TeX-evince-sync-view)。

要做到这一点:

M-x customize-variable <RET> TeX-view-program-list <RET>
  <INS>
    Name = Evince
    Command = evince --page-index=%(outpage) %o

我不知道为什么 .emacs 中的这段代码不起作用:

(setq TeX-view-program-list '(("Evince" "evince --page-index=%(outpage) %o")))

答案2

通过配置,我发现以下工作:

(defun my-LaTeX-mode()
  (add-to-list 'TeX-view-program-list '("Evince" "evince --page-index=%(outpage) %o"))
  (setq TeX-view-program-selection '((output-pdf "Evince")))
  ; Other mode specific config
  )
(add-hook 'LaTeX-mode-hook 'my-LaTeX-mode)

相关内容