2011-05-12 51 views
3

我想讓emacs在字體鎖定模式下正確渲染數學組合字符,例如diaeresis,over bar等。目標是能夠寫出像x_dot這樣的數學數據,並將其顯示爲「ẋ」,或將x_bar顯示爲「x̄」。如何讓emacs在字體鎖定模式下渲染數學組合字符?

這是我到目前爲止,它主要是工作。

(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」。

這是怎麼回事?

回答

2

對於它的價值,您的第一個示例在OS X的Emacs上我的流血邊緣Emacs中沒有工件效果很好。您可能會看到特定於您平臺的emacs UI和/或字體庫的渲染特性。如果您發佈更多關於您正在運行的Emacs的信息,那麼比我更專家的人可能會確認問題。

+0

我在ubuntu上用emacs 23.2測試了這個例子,看到了同樣的問題。 – jtahlborn 2011-05-14 11:13:06

+0

是的,我也使用emacs 23.2在Ubuntu上。我會看看我是否可以追查真正的問題... – ivar 2011-05-16 08:58:22