![查找并替换 TeXStudio 的宏](https://linux22.com/image/454295/%E6%9F%A5%E6%89%BE%E5%B9%B6%E6%9B%BF%E6%8D%A2%20TeXStudio%20%E7%9A%84%E5%AE%8F.png)
我正在使用 TeXstudio 和 TeX Live。我正在尝试排版我使用 Pandoc 从 ePub 转换为 LaTeX 文档的文档。我现在面临的问题是,在 ePub 中,我相信创建者插入了一个命令来使每个页面都不同;而在 LaTeX 中,现在有一个“弹出”的命令,例如:
\protect\hypertarget{part00XX.htmlux5cux23page_YY}{}{}
其中 XX 是零件编号,YY 是页码。
由于本文档有 200 多页,我不希望手动替换此命令的每次出现。为此,我尝试编写一个宏来搜索文档并替换任何此类出现(请注意,这是我第一次尝试编写宏,下面的宏是从使用脚本宏在 TexStudio 中进行多次查找和替换):
%SCRIPT
options = "g"
scope = editor.document().cursor(0, 0, -1);
editor.replace("\\protect\\hypertarget\{part(\d).htmlux5cux23page_(\d)\}\{\}\{\}",options,scope,"")
当我用实际数字而不是 来试验这一点时(\d)
,它起作用了;然而,当我添加了 时 (\d)
,它却不起作用。
如何让这个宏在整个文档中通用,以便我可以删除所有“页码”命令?或者有更好的方法来解决此问题?
问题解答
谢谢大家的评论。我没有意识到正则表达式可以用于查找和替换。
我从你的评论 Frabjous 中复制了推荐的脚本,并且它起作用了。