在问题的帮助下如何添加自定义数学环境我教过 AUCTeXIEEEeqnarray
和它的星号对应项是数学环境。我在自己的.emacs
;; teach auctex IEEEeqnarray
(add-hook 'LaTeX-mode-hook 'add-my-latex-environments)
(defun add-my-latex-environments ()
(LaTeX-add-environments
'("IEEEeqnarray" LaTeX-env-label)
'("IEEEeqnarray*" LaTeX-env-label)))
在custom-set-variables
我添加的部分中
(custom-set-variables
'(font-latex-math-environments (quote ("display" "displaymath" "equation" "eqnarray" "gather" "multline" "align" "alignat" "xalignat" "IEEEeqnarray" "IEEEeqnarray*")))
最后让 reftex 知道了这一点
;; Additionally, reftex code to recognize this environment as an equation
(setq reftex-label-alist
'(("IEEEeqnarray" ?e nil nil t)
("IEEEeqnarray*" ?e nil nil t)))
您还可以在以下网址找到更多 emacs 定制内容如何在 LaTeX 中排版方程式
现在我的问题是:
我怎样才能教会 AUCTeX 在这些自定义环境中自动扩展下标和上标?
在我的开始.emacs
我设定
(setq TeX-electric-sub-and-superscript t) ; auto-expand sub- and superscript
但是,即使我IEEEeqnarray
使用上述自定义将环境集成到 AUCTeX 中,它也不会自动扩展这些环境中的_
和^
符号,就像在中一样eqnarray
。我喜欢这个功能,并且在我的自定义数学环境中也需要它。
答案1
Electric 上标和下标用于texmathp
确定何时运行。该函数由您可以自定义的变量控制。如果您在自定义接口之外设置它, texmathp-tex-commands
则需要调用它。texmathp-compile
将以下内容添加到您的custom-set-variables
并重新启动 Emacs 应该可以解决问题。
'(texmathp-tex-commands (quote (("IEEEeqnarray" env-on) ("IEEEeqnarray*" env-on))))