使用脚本宏在 TexStudio 中进行多次查找和替换

使用脚本宏在 TexStudio 中进行多次查找和替换

我正在将 TexStudio 与 MikTex 结合使用。我定期使用至少两个包来创建某些列表。比如说,在一个包中,我必须使用\begin{exam}\end{exam}来开始和结束列表并 \item创建列表项。在另一个包中,\begin{test}\end{test}以及\choice执行相同操作。还有一些其他类似的命令,但有所不同。两者中的主题(项目内容)完全相同。我正在使用它们Find and Replace将一个转换为另一个。仔细操作需要时间,需要进行一些替换整个单词一些区分大小写等等。

问题:有没有办法在 TexStudio 中使用带有脚本的宏来创建一个可以用于整个文档并一次性完成所有替换的宏?

尝试:在 TexStudio 用户手册中TexStudio 使用手册它提到 在此处输入图片描述

我试过使用editor.replace("\item","\choice"),但没有用。我不知道我是否遵循了正确的语法,以及应该输入什么缩写扳机

在此处输入图片描述

任何帮助都将不胜感激。

答案1

将其粘贴到“LaTeX 内容”下:

%SCRIPT
options = "g"
scope = editor.document().cursor(0, 0, -1);
editor.replace("\\item",options,scope,"\\choice")

请注意,反斜杠\需要转义(即输入两次),否则,脚本将搜索单词item,而不是\item。这会产生不良效果,例如将item正常段落中的 s 更改为\choices,并将更改\begin{itemize}为。\begin{choiceize}

代表g全局,如果您希望宏\item在每次调用宏时仅搜索并替换一个,请省略它。

我应该注意到,这是一种非常粗糙的搜索和替换方式(您确定要全部更改\items\choice吗?)可以进行更复杂的替换(例如,通过使用变量来限制范围scope:当前它搜索全部的文档),但随后你必须更精确地描述你的用例(并提供一个示例供我测试)。

在您的情况下,缩写和触发器可以留空。

图像

相关内容