在使用 emacs+AUCTeX 时,我想考虑一个包含main.tex
许多的项目include
。是否有可能以某种方式从加载的缓冲区中打开包含的文件main.tex
?以某种方式让 emacs 理解这一点
\include{./path/to/foo}
是main.tex
一个文件名(带有相对路径),当光标在花括号内时,通过单击它或按下某些键绑定来打开它?
下一步可能是一个“额外”问题,即在 emacs 中集成一些“项目管理器”,其中列出了包含的文件,并且可以浏览项目组件。这听起来合理吗?可行吗?有什么想法吗?
答案1
我使用find-file-at-point
。它也适用于#include
C 中的 s,有时也适用import
于 Python 中的 s、URL 等。
(global-set-key (kbd "C-x f") 'find-file-at-point) ;; I hardly ever set the fill-column
答案2
使用reftex
,C-c =
将打开一个小目录。编译文档后,reftex 应该包含所包含文件的节标题。您可以使用此菜单打开所包含的文件。事实上,如果您在特定部分按下 Enter 键,reftex 将打开所包含的文件并将指针放在该部分的开头。
答案3
如果您在包含的文件末尾指定了 TeX-master,emacs/AUC-TeX 也会自动加载相应的“main.tex”(至少在我的版本中是这样)。当然,这不是您想要的,但我认为为子文件设置 TeX-master 是个好主意:您也可以直接编译它们,然后 emacs 在正确的主文件上调用 pdflatex 等。
对于“浏览器”,我使用“speedbar”,它为您提供直接(树状)的所有文件的列表,您可以轻松跳转到文件内的章节/小节等。