使用 \( 和 \) 在 AUCTeX 中进入数学模式

使用 \( 和 \) 在 AUCTeX 中进入数学模式

正如指出的那样这个答案,建议使用\(和进入 LaTeX 的内联数学模式。但是,与 相比,这会花费更长的时间。\)$

有没有办法让它使用起来更快emacs+auctex?你们是如何做到更快地输入的?

答案1

我用yasnippet. 用于插入片段的超棒包。有 latex 片段你可以使用。事实上,已经有一个书面片段可以插入你要求的内容。

答案2

正如所述其文档TeX-insert-dollar,AUCTeX 提供了在输入“$”时插入两个字符串TeX-electric-math并调整点位置至字符串之间的功能。

可以将以下 elisp 添加到钩子上LaTeX-mode以插入“\(”和“\)”,然后在输入不匹配的“$”(即“$”未关闭现有的数学环境)时将点放在左括号后面:

(add-hook 'LaTeX-mode-hook
          (lambda () (set (make-variable-buffer-local 'TeX-electric-math)
                  (cons "\\(" "\\)"))))

答案3

您可以在文件中设置键绑定.emacs。此定义基于中的TeX-insert-braces( C-c{)的定义tex.el

(add-hook 'LaTeX-mode-hook
  '(lambda ()
    (define-key TeX-mode-map "\C-cm" 'TeX-insert-inline-math)
    (defun TeX-insert-inline-math (arg)
      "Like TeX-insert-brackes but for \(...\)" (interactive "P")
      (if (TeX-active-mark)
        (progn
          (if (< (point) (mark)) (exchange-point-and-mark))
          (insert "\\)")
          (save-excursion (goto-char (mark)) (insert "\\(")))
          (insert "\\(")
          (save-excursion
            (if arg (forward-sexp (prefix-numeric-value arg)))
            (insert "\\)"))))))

答案4

按下$AUCTeX 运行TeX-insert-dollar,其行为由变量控制,TeX-electric-math该变量可以设置为使用任意一对符号而不是默认的一对$

相关内容