我正在将Emacs与AucTeX结合使用(运行Ubuntu 10.04,如果这很重要的话).
有没有人知道是否有办法自动启用LaTeX-math-mode(AucTeX的次要模式),如果该点在任何数学环境中(即a $...$,a $$...$$,begin{equation}...\end{equation}等等)?
我想有一个相对简单的答案,因为语法高亮使用相同的标准来着色数学的东西,但我找不到任何东西.
如果andre-r的答案不满足你,这里有一些代码设置`为在文本模式下自我插入并在数学模式中充当数学模式前缀.LaTeX-math-mode必须要离开.
(defun LaTeX-maybe-math ()
"If in math mode, act as a prefix key for `LaTeX-math-keymap'.
Otherwise act as `self-insert-command'."
(interactive)
(if (texmathp)
(let* ((events (let ((overriding-local-map LaTeX-math-keymap))
(read-key-sequence "math: ")))
(binding (lookup-key LaTeX-math-keymap events)))
(call-interactively binding))
(call-interactively 'self-insert-command)))
(define-key LaTeX-mode-map "`" 'LaTeX-maybe-math)
Run Code Online (Sandbox Code Playgroud)
以下改进留作练习:
使它成为次要模式.
使其对意外输入更加稳健(我只测试了基本操作).
如果用户按下未绑定的键序列,则显示更好的错误消息.
如果用户按C-h或,则显示帮助f1.
| 归档时间: |
|
| 查看次数: |
2174 次 |
| 最近记录: |