M. *_* B. 4 emacs macros tex substitution
我的问题是通过在emacs中编写TeX来实现的,但与TeX系统本身无关.
我的目标是在emacs中设置缩写以用其unicode字符替换某些(TeX)宏,例如在我在emacs中键入TeX时自动将α与α一起使用.
我计划使用缩写系统实现这一目标.虽然以下缩写可以正常工作(用\ test替换测试):
("test" "\\test" nil 0)
Run Code Online (Sandbox Code Playgroud)
可以做我想要的缩写,即:
("\\alpha" "A" nil 0)
Run Code Online (Sandbox Code Playgroud)
要么
("\\\\beta" "B" nil 0)
Run Code Online (Sandbox Code Playgroud)
我输入\ alpha或\ beta时没有应用.
(我可以通过替换"alpha"本身并删除一个前面的字符来回避这个问题,但我想保留在没有反斜杠的情况下键入alpha并且不应用此缩写规则的选项.)
用α替换\ alpha的缩写的正确形式是什么?
您需要更改:regexp缩写表的属性.
(abbrev-table-put <your-abbrev-table> :regexp "\\(\\\\[a-z0-9@]+\\)")
Run Code Online (Sandbox Code Playgroud)
唯一的问题是,在向后看的匹配的正则表达式中,您不能在开头有可选字符.因此,要么更改语法类别\(但是您不需要对缩写表进行任何特殊处理),要么必须选择让此表中的所有缩写以反斜杠开头还是不反斜杠.
但是为什么不使用输入法插入unicode字符?
| 归档时间: |
|
| 查看次数: |
221 次 |
| 最近记录: |