我想添加一个新的字体说明符,以便我可以例如使用它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
字符?\^i
(C-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
,然后尝试:
- 按下
INS
按钮插入新条目 - 在
Prefix
字段中输入:aaa
- 在
Suffix
字段中输入:bbb
- 在
Key
字段中输入:(C-q C-x
这将C-x
在缓冲区中插入一个文字,C-q
代表(quoted-insert)
) - 点击
Apply And Save
顶部。 - 回到您的
.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)