如何在LaTeX模式下设置新关键字

时间:2013-06-14 00:31:58

标签: emacs

有一个针对LaTeX的expl3库,其功能如下:

\fp_new:N
\fp_set:Nn

我正在使用LaTeX模式,它们显示如下:

enter image description here

如何让它以关键字颜色显示整个函数并忽略其中的下划线符号?

我试过了:

(font-lock-add-keywords 'LaTeX-mode
  '(("\fp_new:N" . font-lock-keyword-face)))

但它没有帮助。

1 个答案:

答案 0 :(得分:2)

我安装了AUCTeX。以下是一些示例 - 第二组引用将为空而不是波浪形或方括号。我个人更喜欢定义自己的字体和我自己的关键字,这是一种不同的格式。

;; \EFFECT{[font-lock-function-name-face]}
(setq font-latex-match-function-keywords
    '(
        ("newcommandx" "*|{\\[[{")
    )
 )


;; \EFFECT{[font-lock-constant-face]}
(setq font-latex-match-reference-keywords
    '(
        ("fancypagestyle" "[{")
        ("fancyfoot" "[{")
    )
 )


;; \EFFECT{[font-lock-type-face]}
(setq font-latex-match-textual-keywords
    '(
        ("parentext" "{")
        ("hybridblockquote" "[{")
        ("parskip" "")
    )
)


;; \EFFECT{[font-lock-variable-name-face]}
(setq font-latex-match-variable-keywords
    '(
        ("newgeometry" "[{")
        ("quotingsetup" "[{")
    )
)


;; \font-latex-warning-face
(setq font-latex-match-warning-keywords
    '(
        ("fixme" "{") 
    )
)


;; only affects inside wavy brackets
(setq font-latex-user-keyword-classes
          '(("my-warning-commands"
                (("fixme" "{"))
                (:foreground "purple" :background "yellow")
                command)))

这是另一个使用我自己的字体面的例子:

(defvar lawlist-regular (make-face 'lawlist-regular))
(set-face-attribute 'lawlist-regular nil :background "white" :foreground "black" :font "Courier" :height 180)


(font-lock-add-keywords 'latex-mode '(

("INCLUDE\\|REVISED" 0 lawlist-red t)

("\\(foo\\)-\\(bar\\)" (1 lawlist-super-orange t) (2 lawlist-super-cyan t))

("\\(hello\\) \\(World\\)" (1 lawlist-super-orange t) (2 lawlist-super-blue t))

) 'prepend)