AUCTeX 中的自定义字体说明符

AUCTeX 中的自定义字体说明符

我想添加一个新的字体说明符,以便我可以例如使用它C-c C-f C-a来插入\textcolour{blue}{*} 这可能吗?

答案1

LaTeX-font-list使用自定义变量M-x customize-variable RET LaTeX-font-list RET

请注意C-a已预设。您可以更改该条目或为您的命令选择另一个键。然后添加\textcolour{blue}{asPrefix}as Suffix,并点击Apply and Save

为了选择一个密钥,这些是 AUCTeX 预设的密钥(下一个版本将跟踪 LaTeX 内核 2020-02-02 中的更改):

(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))
    ...

为了在自定义缓冲区中设置所选字符,您必须遵循本指南

2.3.3.3 控制字符语法

控制字符可以使用另一种读取语法来表示。它由问号后跟反斜杠、插入符号和相应的非控制字符(大写或小写)组成。例如,和都是?\^I字符?\^iC-i其值为 9 的字符)的有效读取语法。

^您可以使用而不是C-;因此,?\C-i相当于?\^I?\^i
?\^I ⇒ 9 ?\C-I ⇒ 9

不用担心你在 init 文件中看到的数字。再次从参考手册

2.3.3 字符类型

Emacs Lisp 中的字符只不过是一个整数。换句话说,字符由其字符代码表示。例如,字符 A 表示为整数 65。

答案2

M-x customize-variable RET LaTeX-font-list RET

您应该看到,AUCTeX 定义的大多数字段Key几乎是不可见的(取决于您的颜色主题),这是因为这里显示了关键内容就像它,所以像的东西C-a是不可见的。所以,你必须插入非图形字符(例如 control-c) 自己在customize缓冲区中。假设您想要绑定C-c C-f C-x到插入aaa[your text]bbb,然后尝试:

  1. 按下INS按钮插入新条目
  2. Prefix字段中输入:aaa
  3. Suffix字段中输入:bbb
  4. Key字段中输入:(C-q C-x这将C-x在缓冲区中插入一个文字,C-q代表(quoted-insert)
  5. 点击Apply And Save顶部。
  6. 回到您的.tex文件,M-x TeX-normal-mode使其生效(这应该加载样式挂钩和所有内容。)。

注意:您不能在这些字段中填写 emacs-lisp 表达式。

事实上,将Key字段设置为类似的东西更容易(也更安全) x,这会将您的PREFIX[your text]SUFFIX对绑定到键C-c C-f x

或者,如果你更喜欢 lisp:

(add-to-list 'LaTeX-font-list '(?a "\\myFontA{" "}"))
;;bind to C-c C-f a
(add-to-list 'LaTeX-font-list '(?b "\\myFontB{" "}"))   
;;bind to C-c C-f b

;;Sometimes you need the following. This reload the 'LaTeX-font-list
;; (TeX-normal-mode)

相关内容