首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >latex-mode / font-lock:有什么方法可以获得超过三(3)个级别的高亮显示吗?

latex-mode / font-lock:有什么方法可以获得超过三(3)个级别的高亮显示吗?
EN

Stack Overflow用户
提问于 2013-05-20 01:45:56
回答 1查看 232关注 0票数 0

使用latex模式,有什么方法可以获得超过三(3)个级别的突出显示吗?

我想控制超过三个级别的突出显示,然而,似乎latex模式可能被限制为三(3)个级别。我这么说是因为Emacs在尝试第四个级别时会抱怨-- Error during redisplay: (jit-lock-function 1) signaled (wrong-type-argument listp prepend)。下面只是一个尝试控制四(4)级的示例,它给出了上面列出的错误消息。

代码语言:javascript
复制
(defvar lawlist-face-a (make-face 'lawlist-face-a))
(set-face-attribute 'lawlist-face-a nil :foreground "orange")

(defvar lawlist-face-b (make-face 'lawlist-face-b))
(set-face-attribute 'lawlist-face-b nil :foreground "cyan")

(defvar lawlist-face-c (make-face 'lawlist-face-c))
(set-face-attribute 'lawlist-face-c nil :foreground "blue")

(defvar lawlist-face-d (make-face 'lawlist-face-d))
(set-face-attribute 'lawlist-face-d nil :foreground "red")


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

("\\(\\\\begin\\|\\\\end\\)\\(\{\\)\\(document\\)\\(\}\\)" (1 lawlist-face-a) (2 lawlist-face-b) (3 lawlist-face-c) (4 lawlist-face-d) prepend)

))

我尝试添加(setq font-lock-support-mode 'lazy-lock-mode),这导致了冻结。我还尝试添加了(setq font-lock-maximum-decoration t),但似乎没有任何明显的效果。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-20 02:17:09

prepend原子需要位于带引号的列表之外,作为font-lock-add-keywords的最后一个参数

代码语言:javascript
复制
(font-lock-add-keywords
 'latex-mode
 '(("\\(\\\\begin\\|\\\\end\\)\\(\{\\)\\(document\\)\\(\}\\)" (1 lawlist-face-a) (2 lawlist-face-b) (3 lawlist-face-c) (4 lawlist-face-d)))
 'prepend)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16637594

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档