![使用 emacs 进行编译并更新 docview 中的视图](https://linux22.com/image/290473/%E4%BD%BF%E7%94%A8%20emacs%20%E8%BF%9B%E8%A1%8C%E7%BC%96%E8%AF%91%E5%B9%B6%E6%9B%B4%E6%96%B0%20docview%20%E4%B8%AD%E7%9A%84%E8%A7%86%E5%9B%BE.png)
我在 Ubuntu 14.04 下使用带有 AUCTeX 的 Emacs。我的框架被分成两个窗口,如下所示:
------------------------------
| | |
| | |
| 1 | 2 |
| | |
| | |
------------------------------
目前,C-c C-c
仅编译窗口 1 中的 TeX 文件并在窗口 2 中显示错误(如果有)。
如果“docview”没有任何错误,我希望此命令在窗口 2 中自动加载已编译的 pdf。
顺便说一句,我目前必须在调用后按“Enter” C-c C-c
(为了验证我想要使用我的默认编译器的事实),是否可以删除这个验证部分?
我知道我应该修改我的.emacs
文件,但是我对这些配置文件很不舒服......
答案1
对于您的第一个问题(很遗憾您没有将两者分开!),我建议建议该TeX-command-sentinel
功能。 (我现在没有足够的时间来调查这个问题;您希望日志缓冲区在成功编译后显示 pdf 的部分可能有点棘手,但绝对可行。问题可能是现有 Emacs 中的窗口配置相当不稳定。有一些 Emacs 软件包可以解决这个问题,但我都不知道。如果有人能解决这个问题,请随时编辑这个答案!)
对于你的第二个问题(你真的应该把它们分开!),试试这个:
(define-key TeX-mode-map (kbd "C-c C-z")
(lambda ()
(interactive)
(TeX-command TeX-command-default 'TeX-master-file)))
这可能不是有史以来最强大的代码(例如,它无法编译该区域),但它将(在 AUCTeX 中通常未使用的)C-c C-z
键序列绑定到在当前缓冲区的主文件上运行默认的 TeX 命令。
令人惊讶的是,调用这个C-c C-c
建议的东西是棘手的:负责这个的命令是TeX-command-query
,它包含负责的逻辑选择要运行的命令和交互式查询。非常糟糕的做法。人们可以 (a) 复制粘贴此函数的第一部分并更改最后一部分,或者 (b) 建议此函数completing-read
暂时更改的含义(更糟糕的做法!)。(事实上,最好向 AUCTeX 开发人员提交功能请求,将此功能一分为二!说到拆分,如果每个问题只有一个问题,这个网站的效果最好。)
顺便说一句,请不要使用该.emacs
文件;最好使用~/.emacs.d/init.el
。
顺便说一下²,我有没有提过最好分开你的二问题二本网站上的条目?
答案2
我建议不要这样做。关心“它看起来怎么样”会分散你对内容的注意力。(La)TeX 的优势在于它首先是一个组织系统内容,打印渲染应该是最后一步。