我在两台 Xubuntu 14.04 计算机上安装了auctex
和emacs
软件包,两台计算机都工作正常。 Emacs 本身在两者上都可以正常工作,但现在auctex
安装了软件包后,当我加载 TeX 文件(即使只是一个空文件)时,我需要六秒的加载时间auctex
,每次加载 TeX 文件时我都必须经历这一过程。
这是正常的吗?
如果没有,我可以做什么来减少这个时间?
我在互联网上搜索过,但没有发现任何结果,只是文件解析可能需要很长时间,但事实并非如此,因为我启用了保存和加载解析文件的功能。
我正在使用 Emacs 24 和 AUCTeX 11.87
*messages*
编辑:对于新打开的 TeX 文件,缓冲区的输出如下所示:
("emacs" "hi.tex")
Loading 00debian-vars...done
Loading /etc/emacs/site-start.d/50auctex.el (source)...
Loading /usr/share/emacs/site-lisp/auctex.el (source)...done
Loading /usr/share/emacs/site-lisp/preview-latex.el (source)...done
Loading /etc/emacs/site-start.d/50auctex.el (source)...done
Loading /etc/emacs/site-start.d/50autoconf.el (source)...done
Loading /etc/emacs/site-start.d/50cmake-data.el (source)...done
Loading /etc/emacs/site-start.d/50dictionaries-common.el (source)...
Loading /var/cache/dictionaries-common/emacsen-ispell-dicts.el (source)...
Error while loading 50dictionaries-common: Symbol's value as variable is void: debian-aspell-only-dictionary-alist
Loading /etc/emacs/site-start.d/50latex-cjk-common.el (source)...
Loading cjk-enc...done
Loading /etc/emacs/site-start.d/50latex-cjk-common.el (source)...done
Loading /etc/emacs/site-start.d/50latex-cjk-thai.el (source)...done
For information about GNU Emacs and the GNU system, type C-h C-a.
(New file)
Applying style hooks... done
exchange-point-and-mark: No mark set in this buffer [6 times]
exchange-point-and-mark: No mark set in this buffer
答案1
LaTeX/P 是 PDF 小模式下的 LaTeX 模式。我从来没有遇到过 AUCTeX 的问题(而且我从 emacs v22 开始就使用它),所以我真的不认为 AUCTeX in se 是你的问题。
当您使用 -q 启动 emacs 时,它不会加载任何初始化文件。有关详细信息,请参阅文档。
如果您使用的是 Linux,我会尝试从源代码重新安装 emacs。我从来不相信软件包存储库能够真正工作。 (大部分不信任来自于已经使用了四年多的 TeX 软件包。)如果您使用的是 windoze,请从 FSF 的 ftp 服务器进行安装。如果您使用的是 Mac,请从 emacsformacosx.com 安装
答案2
调试启动缓慢问题的一般方法是使用 emacs 的中断信号(https://emacs.stackexchange.com/questions/506/debugging-a-frozen-emacs)
- 跑步
emacs --debug-init
- 使用以下命令查找进程的 pid
ps -ef | grep emacs
- 向进程发送中断信号
kill -SIGUSR2 $PID
- 这会导致 emacs 显示回溯
- 在互联网上搜索此回溯中任何明显的内容
- 否则,开始尝试手动运行其中一些函数,看看它们为什么慢。
您可能还对 emacs stackexchange 感兴趣。 (我不确定我自己对 stackexchange 碎片的看法......)
答案3
一种解决方法是暂停 Emacs,C-z
然后使用 shell 命令fg
恢复,而不是退出。