AUCTeX:如何在自定义数学环境中启用子标和上标的自动扩展

AUCTeX:如何在自定义数学环境中启用子标和上标的自动扩展

在问题的帮助下如何添加自定义数学环境我教过 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))))

相关内容