后知后觉:cdlatex
以前一直用 emacs+auctex 写 tex 文档,基本上比较满意了。部分编译,数学公
式预览,check 具体检查语法错误,再加上自己写一个小模板,基本的编辑都用上
了,也觉得比较顺手。只是有时候输入数学公式的时候比较郁闷,会少了 $ 符号
这样的。今天网上乱逛的时候,发现了一个叫 cdlatex 的东西,看了一下,虽然
有些功能和 auctex 重复,但是也别有一番风味。
cdlatex 主页虽然很久没有更新了,作者说是自己实现一些 auctex 的功能是因为自己
不知道 auctex。下载稍微试了一下,发现在很多方面,比 auctex 显得方便。
数学输入,只要使用 ` 键,如果不明白输入的话,会出现一个 buffer, 里面式
一些公式的提示,直接输入快捷键就是,该 buffer 完成使命之后会自动消失。不
过 auctex 的 math-mode 也有相似的快捷键,貌似没有这么直观就是。
一些环境等的 abbreviation, 使用神奇的 tab 键,比如 sn 就会出现
\section{} 并且光标停留在 {} 中,还有很多很多,之前这样的也是通过快捷键
输入的, C-c C-s 然后在 echo buffer 中就会出现一些提示,按照提示输入,达
到相同的效果,不过算下, 输入 \section{} 的话,击键次数明显多了。。。
此外其他的还有一些,比如补全,输入 { 会自动补全 }, $ 也会自动配对等。以
前这些功能我都是通过自己定义的 skeleton 实现的。有时候考虑也没有这么全面。
当然,这个刚刚开始用,很多的功能还不明了,不过也已经喜欢上这个插件了。
最后,贴一下自己关于 tex 的配置。(基本都是网上搜集的,出处不记得了,也就
不写了…)
- (require 'tex-site)
- (setq TeX-auto-save t)
- (setq TeX-parse-self t)
- (setq-default TeX-master nil)
- (add-hook 'LaTeX-mode-hook 'LaTeX-install-toolbar)
- (add-hook 'LaTeX-mode-hook 'turn-on-auto-fill)
- (add-hook 'LaTeX-mode-hook 'turn-on-reftex)
- (add-hook 'LaTeX-mode-hook
- '(lambda ()
- (outline-minor-mode 1)))
- (add-hook 'LaTeX-mode-hook
- (lambda()
- (add-to-list 'TeX-command-list
- '("XeLaTeX" "%`xelatex%(mode)%' %t" TeX-run-TeX nil t))
- (setq TeX-command-default "XeLaTeX")
- (setq TeX-save-query nil )
- (setq TeX-show-compilation t)
- ))
- (autoload 'cdlatex-mode "cdlatex" "CDLaTeX Mode" t)
- (autoload 'turn-on-cdlatex "cdlatex" "CDLaTeX Mode" nil)
- (add-hook 'LaTeX-mode-hook 'turn-on-cdlatex) ; with AUCTeX LaTeX mode
- ;; CDLaTeX conflicts key bindings [C-c -] with RefTeX.
- ;; Beacause [C-c =] equals to [C-c -] in RefTeX, so I rebind it to CDLaTeX.
- (add-hook 'LaTeX-mode-hook
- (function (lambda ()
- (define-key LaTeX-mode-map
- (kbd "C-c -") 'cdlatex-item))))

