我使用Emacs與AucTeX(運行Ubuntu 10.04,如果有的話)。Emacs/Auctex:自動啓用/禁用LaTeX數學模式
有誰知道是否有一種方法來自動啓用乳膠數學模式(AucTeX的次要模式),如果該點在任何數學環境(即在$...$
,一個$$...$$
,begin{equation}...\end{equation}
,等等) ?
我想有一個相對簡單的答案,因爲語法突出顯示使用相同的標準着色數學的東西,但我找不到任何東西。
我使用Emacs與AucTeX(運行Ubuntu 10.04,如果有的話)。Emacs/Auctex:自動啓用/禁用LaTeX數學模式
有誰知道是否有一種方法來自動啓用乳膠數學模式(AucTeX的次要模式),如果該點在任何數學環境(即在$...$
,一個$$...$$
,begin{equation}...\end{equation}
,等等) ?
我想有一個相對簡單的答案,因爲語法突出顯示使用相同的標準着色數學的東西,但我找不到任何東西。
如果andre-r的答案不滿足您,下面是一些代碼,它設置`
在文本模式下自插入,並在數學模式下充當數學模式前綴。 LaTeX-math-mode
必須是off。
(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)
以下改進留作練習:
使它成爲一個次要的模式。
使其對於意外輸入更加強大(我只測試了基本操作)。
如果用戶按下未綁定的按鍵序列,則顯示更好的錯誤消息。
如果用戶按C-h
或f1
顯示幫助。
LaTeX-math-mode
是「用於輸入具有許多數學符號的文本的特殊次要模式」。(對於那些不知道如何操作的人,例如按「A」鍵即可)。所以我猜想,如果你不打算進入數學計算,那也不會傷害它。
信息頁面,因此建議:
(add-hook 'LaTeX-mode-hook 'LaTeX-math-mode)
恕我直言,唯一的缺點是,你必須按兩次前綴:``得到`,至少與標準前綴`在LaTeX-math-abbrev-prefix
定製工作。