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」のみを選択) で実行してみましたが、変化はありませんでした。

sync表示用のデフォルトコマンドとしてEvince without を設定するにはどうすればよいですか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)

関連情報