如何简化 AucTeX 中数学字体的插入?

如何简化 AucTeX 中数学字体的插入?

这本质上是一个修改过的问题1但改用数学字体。

我想要一个 AucTex 命令来添加到我的命令中以.emacs执行以下操作:

如果我在数学环境之外,例如equation或在美元符号对之外$,如果我按下`1 C$\mathbb{C}$@则插入到@表示光标位置的缓冲区中。但是,如果我在数学环境中或一对美元符号内,则只会\mathbb{C}@插入。我想做`2 C同样的事情`1 C,但\mathcal改为。插入数学字体非常常见,所以这会节省一点时间。我尝试修改@的答案乔达诺但我做不到。

答案1

也许您可以使用 AUCTeX 提供的字体说明符功能:当您处于数学模式并按下 时C-c C-f C-a,它会插入\mathcal{@},如果您标记一部分文本,例如C,并按下按键,它会插入\mathcal{C@}(捐赠光标位置)。通过点击 ,@您可以获得相同的结果。按键存储在 中,预定义如下:\mathbbC-c C-f C-bLaTeX-font-list

(defcustom LaTeX-font-list
  '((?\C-a ""              ""  "\\mathcal{"    "}")
    (?\C-b "\\textbf{"     "}" "\\mathbf{"     "}")
    (?\C-c "\\textsc{"     "}")
    (?\C-e "\\emph{"       "}")
    (?\C-f "\\textsf{"     "}" "\\mathsf{"     "}")
    (?\C-i "\\textit{"     "}" "\\mathit{"     "}")
    (?\C-l "\\textulc{"    "}")
    (?\C-m "\\textmd{"     "}")
    (?\C-n "\\textnormal{" "}" "\\mathnormal{" "}")
    (?\C-r "\\textrm{"     "}" "\\mathrm{"     "}")
    (?\C-s "\\textsl{"     "}" "\\mathbb{"     "}")
    (?\C-t "\\texttt{"     "}" "\\mathtt{"     "}")
    (?\C-u "\\textup{"     "}")
    (?\C-w "\\textsw{"     "}")
    (?\C-d "" "" t))
  "Font commands used with LaTeX2e.  See `TeX-font-list'.")

答案2

结果比我想象的要简单。要获得所需的效果\mathcal,只需将以下内容添加到.emacs

(defun my-LaTeX-math-cal (char dollar)
  (interactive "*c\nP")
  (if (texmathp)
      (LaTeX-math-cal char dollar)
    (LaTeX-math-cal char t))
    )

然后绑定到任意快捷方式。对和 也my-LaTeX-math-cal可以执行类似的操作。\mathbb\mathfrak

相关内容