Emacs使用dvi2tty而不是evince来打开dvi

时间:2010-06-25 14:17:04

标签: emacs latex

我开始再次使用emacs进行LateX编辑。在这些日子里,它自动配置为C-c C-f将使用*.dvi打开相应的evince文件。使用最新版本的emacs,它不会做同样的事情。有没有办法用evince打开doc? (我确信有办法。毕竟是emacs。)

谢谢!

3 个答案:

答案 0 :(得分:2)

我将此代码与auctex-mode一起使用:

;; use evince for dvi and pdf viewer
;; evince-dvi backend should be installed
(setq TeX-view-program-selection
      '((output-dvi "DVI Viewer")
        (output-pdf "PDF Viewer")
        (output-html "Google Chrome")))
(setq TeX-view-program-list
      '(("DVI Viewer" "evince %o")
        ("PDF Viewer" "evince %o")
        ("Google Chrome" "google-chrome %o")))

你没有提到你是使用auctex-mode还是与Emacs捆绑在一起的旧乳胶模式。

答案 1 :(得分:2)

根据您使用的是AUCTeX还是emacs的默认LaTeX模式,可以使用不同的配置选项进行设置。我建议您使用customize-browse查看它们,因为配置字符串可能非常密集。

使用AUCTeX

浏览到Emacs> Wp> Tex> AUCTeX> Tex Command> TeX View> TeX查看程序选择。更改output-dvi查看器。

普通乳胶模式 浏览器到Emacs> Wp> Tex> Tex View> Tex Dvi View Command。

此外,我建议不要直接硬编码evince,而是在桌面环境中配置xdg-open并配置您首选的dvi-viewer。那么你需要担心将来只有一个地方可以配置它。

答案 2 :(得分:1)

即使使用正确的视图命令设置,我也遇到了同样的问题。我从屏幕内的shell启动了Emacs守护程序。然后我用emacsclient使用X窗口连接到服务器。 AucTeX会检查两个设置,看看你是否正在使用一个窗口系统,并且我在启动服务器的屏幕内都是nil或undefined($ DISPLAY变量和(window-system))。

所以在我的例子中,从在X窗口中运行的shell启动Emacs守护程序解决了这个问题。

我想如果AucTeX分别检查每个Emacs帧的变量会有所帮助,因为服务器的启动位置和使用AucTeX的客户端(tty或X)无关紧要。