我正在使用TeXnicCenter编辑LaTeX文档。
我现在想删除某个标记(例如,emph{blabla}
},它在我的文档中多次出现,但不是标记的内容(所以在这个例子中,我想删除所有强调)。
最简单的方法是什么?
也可能正在使用Windows 7上易于使用的其他程序。
编辑:为了回应正则表达式建议,重要的是它可以处理嵌套标记。
编辑2:我真的想从文本文件中删除标记,而不仅仅是禁用它。
答案 0 :(得分:4)
使用正则表达式执行s/\\emph\{([^\}]*)\}/\1/g
之类的操作。如果您不熟悉正则表达式,则说:
s -- replace
/ -- begin match section
\\emph\{ -- match \emph{
( -- begin capture
[^\}]* -- match any characters except (meaning up until) a close brace because:
[] a group of characters
^ means not or "everything except"
\} -- the close brace
and * means 0 or more times
) -- end capture, because this is the first (in this case only) capture, it is number 1
\} -- match end brace
/ -- begin replace section
\1 -- replace with captured section number 1
/ -- end regular expression, begin extra flags
g -- global flag, meaning do this every time the match is found not just the first time
这是Perl语法,因为这是我熟悉的。以下perl“one-liners”将完成两项任务
perl -pe 's/\\emph\{([^\}]*)\}/\1/g' filename
将“测试”将文件打印到命令行
perl -pi -e 's/\\emph\{([^\}]*)\}/\1/g' filename
会更改文件。
您的编辑器中可能有类似的命令,但如果没有,这将(应该)起作用。
答案 1 :(得分:1)
Crowley应该已经添加了这个作为答案,但如果你替换所有\ emph {我应该能够做到这一点而不会打扰其他内容,我会为他做到这一点。它仍然会在括号中,但除非你做了一些奇怪的事情,否则它无关紧要。
正则表达式将是一个简单的s/\\emph\{/\{/g
,但编辑器中的搜索和替换也会做到这一点。
编辑:对不起,在正则表达式中使用了错误的大括号,现在修复了。
答案 2 :(得分:1)
\renewcommand{\emph}[1]{#1}
答案 3 :(得分:0)
任何合理的高级编辑器都应该允许您使用regular expressions进行搜索/替换,将emph{bla}
替换为bla
等。