變更 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 without 設定sync為預設檢視指令pdf

[1]Emacs 23.4.1 和 AUCTeX 11.85-1 但我對emacs-snapshot 24.3.50.1.

答案1

解決方案:用於`TeX-view-program-list'定義新的檢視器描述(其中包含不同步的 Evince 指令)。這個新命令將覆蓋`TeX-view-program-list-builtin'(其中包含有問題的命令)中定義的 Evince 描述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)

相關內容