如何使emacs在字体锁定模式下呈现数学组合字符?

时间:2011-05-12 14:00:01

标签: emacs font-lock font-lock-mode

我正在尝试让emacs在字体锁定模式下正确呈现数学组合字符,例如分音符,条形码等。目标是能够编写像x_dot这样的数学内容并将其显示为“ẋ”,或将x_bar显示为“x̄”。

这是我到目前为止所做的,它主要起作用。

 (font-lock-add-keywords 
  nil 
  `(("\\<\\(\\w\\)\\(_dot\\)\\>" 
     (0 (progn (compose-region (match-beginning 1) (match-end 2) 
                  (concatenate 'string (match-string 1) " ̇" )) nil)))))

但是:我在组合角色之前看到了一个视觉神器角色。在执行上述操作后,通过在* scratch *缓冲区中写入“x_dot”或类似内容来测试它。

这个神器像幽灵一样出现。在编写像“o”和“ - ”这样的普通字符时不会发生这种情况,如下例所示。

 (font-lock-add-keywords 
  nil 
  `(("\\<\\(\\w\\)\\(_dash\\)\\>" 
     (0 (progn (compose-region (match-beginning 1) (match-end 2) 
                  (concatenate 'string (match-string 1) "-" )) nil)))))

然后在某处输入“x_dash”。

发生了什么事?

1 个答案:

答案 0 :(得分:2)

对于它的价值,你的第一个例子在OS X上我最前沿的Emacs中没有工件的情况下工作得很好。你可能会看到一个特定于你的平台的emacs UI和/或字体库的渲染怪癖。如果您发布有关您正在运行的Emacs的更多信息,那么比我更专业的人可能能够确认问题。