2013-05-02 36 views
0

这感觉很像应该已经某处讨论一个问题,我大概只能太愚蠢找到它:(AUCTeX:删除所有字体

我已经定义了自己的功能\jf{}并希望删除这一切在整个缓冲区一次。例如:

bla bla bla \jf{colourful text} bla bla bla bla bla \jf{more colourful text} bla bla 
bla bla \jf{colour is great} bla bla bla bla bla \jf{so great} bla bla 

应该由一些快捷键变成这样:

bla bla bla colourful text bla bla bla bla bla more colourful text bla bla bla 
bla bla colour is great bla bla bla bla bla so great text bla bla bla 

是否有AUCTeX的方式来做到这一点? 感谢您的帮助。

+0

在网络上有几个tex代码剥离器需要一些修改才能正常工作 - 由bash和perl制作。没有什么是完美的,但如果你定期这样做,那将是一个开始的地方。然后,您可以在完成后发布成品:http://tex.stackexchange.com/questions/102397/most-efficient-method-to-strip-all-of-the-latex-code-from-a -document – lawlist 2013-05-06 04:54:46

回答

0

最快捷的方法是使用正则表达式(regexp)。使用

M-x replace-regexp <RET> \\jf{\(.?\)} <RET> \1 

这将使Emacs的替换模式\jf{some text}some text匹配任何内容。

+0

感谢您的回答,@Yossarian,但它对我来说无法正常工作。如果在同一行中有两个字体调用,则删除第一个和第二个右括号中的左括号。 但是我的一个朋友找到了解决办法: 'M-X的查询替换,正则表达式 \\ JF {\([^}] * \)} \ 1 ' 这似乎很好地工作。无论如何,谢谢你推动我朝着正确的方向前进。 – panuffel 2013-05-14 12:40:37