3

今天的问题很简单——我希望答案同样简单。

在 TextMate 中,我习惯了将当前环境或命令更改为其加星标版本的键盘快捷键。Emacs/AUCTeX 中有类似的东西吗?

4

2 回答 2

2

正如Kilian Foth所指出的,您可以编写一个函数来以这种方式修改环境:

(defun LaTeX-star-environment ()
  "Convert the current environment to its starred version."
  (interactive)
  ;; Add a star to the current environment.
  (LaTeX-modify-environment (concat (LaTeX-current-environment) "*")))

如果您重复该命令,此函数将继续*在当前环境中添加星号 ( )。

如果您希望一个函数在当前环境尚未加星标时为当前环境加星标,如果已加星标则取消星标,您可以使用以下函数:

(defun LaTeX-star-environment-dwim ()
  "Convert between the starred and the not starred version of the current environment."
  (interactive)
  ;; If the current environment is starred.
  (if (string-match "\*$" (LaTeX-current-environment))
      ;; Remove the star from the current environment.
      (LaTeX-modify-environment (substring (LaTeX-current-environment) 0 -1))
    ;; Else add a star to the current environment.
    (LaTeX-modify-environment (concat (LaTeX-current-environment) "*"))))

您可以通过将其包含在 .emacs 中并分别执行M-x LaTeX-star-environmentorLaTeX-star-environment-dwim或将函数绑定到键来使用任一函数。

于 2012-05-10T10:44:11.083 回答
1

LaTeX-current-environment显然不是,但是使用and编写一个小函数来做到这一点很容易LaTeX-modify-environment。(我现在没有 emacs,抱歉。)

于 2012-05-10T09:36:24.520 回答