使用AUCTeX在Emacs中运行viewdvi后自动对焦xdvi


1

我已经使用带有AUCTeX模式的emacs来编辑我的乳胶文件几天了,但有些东西真的让我烦恼。应该是这样,每当我执行Cc Cc RET时,它会编译文件,如果重复命令,它会查看xdvi中的输出。它也被设置为迷你模式TeX-source-specials-mode,所以不是在xdvi中打开一个新窗口,而是只重新加载已经打开的窗口,将它带到前面,然后将我发送到指针在emacs中的任何位置(转发搜索)。

现在问题是:
即使xdvi窗口被带到前面,它也没有集中注意力。相反,emacs窗口保持焦点(这是任何键盘输入的位置)。我一直忘记这一点,这导致我在尝试浏览xdvi时意外编辑源文件。更不用说我被迫使用alt-tab来聚焦xdvi,如果我只想回到emacs,则两次使用alt-tab。

有没有解决这个问题的方法?每当我从emacs运行view命令时,我只想让xdvi聚焦。

编辑:我发现我可以使用命令wmctrl -a main(main是xdvi窗口的标题)来关注xdvi窗口。如何设置emacs以自动将此命令添加到view命令的末尾?


更新了问题
马拉巴尔巴2010年

Answers:


1

这是您的问题的替代解决方案(如果我是正确的:立即查看您新编译的文档):只需在新缓冲区中打开您的dvi文件,并将其设置为自动恢复模式。现在,每次你编译文档时,这个缓冲区应该显示更改,而不需要留下emacs,它的平铺纯度。注意,您可能希望尝试使用pdf作为编译输出; 至少在我看来,自动还原对pdf的响应速度要快得多。


1

这对我来说不太适用,因为我的emacs窗口有tex文件作为它的名字。这意味着wmctrl给予emacs焦点而不是xdvi。

但是,稍微修改一下就固定了它。我改为添加以下行:

%d && wmctrl -a xdvik #

0

经过大量的挖掘,我觉得我找到了一种方法。感觉有点笨重,所以随意提出一个更好的方法。

默认视图命令由“xdvi”组成,后跟一些变量定义的参数,后跟文件名。文件名前的最后一个参数由变量“ Tex Source Specials View Editor Flags ”定义,其默认值为:“ - editor”%cS“ ”(没有最外面的引号)。

我在这个变量的末尾添加了字符串“ %d && wmctrl -a $(echo%d | sed -e's / .dvi // g')# ”(再次,没有引号)。请记住,这是文件名前面的view命令中的最后一个参数。

  • %d用于替换xdvi命令所必需的dvi文件的名称。
  • &&结束xdvi(view)命令。
  • wmctrl -a将焦点放在标题为的窗口上:( echo %d | sed -e 's/.dvi//g'这是没有.dvi扩展名的dvi文件的名称)。
  • 最后,告诉我们

    bash忽略接下来发生的一切。在我们的例子中,这是emacs在所有这些之后自动附加的文件名。

为了编辑这个变量,我使用了emacs定制菜单。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.