texstudio/texmaker 中的宏使用标签包围选定的文本

texstudio/texmaker 中的宏使用标签包围选定的文本

当您对选定的文本使用 texstudio 中的某些预定义快捷键时,它会用适当的标签(这是正确的术语吗?)包装文本。例如,假设我突出显示Hello World并按下 Ctrl+i,它就会变成\textit{Hello World}

这非常方便,因为您不必移动结束标记。我想知道是否有办法编写宏来实现类似的行为。非常感谢。

[编辑] 发现了一个类似的回答问题:使用 TexStudio 中的宏脚本删除选定的文本

答案1

谢谢你的建议!我找到了类似的问题和答案这里作为参考,脚本如下所示。

%SCRIPT
txt = cursor.selectedText()
editor.write("\\underline{"+txt+"}")
cursor.clearSelection()

答案2

在 Texmaker 中您可以使用用户标签为了达成这个。

  1. 前往菜单用户 > 用户标签 > 编辑用户标签
  2. 在左侧选择一个空闲位置(例如菜单 1:)
  3. 在右侧输入宏的任意名称菜单项文本框(例如粗体)
  4. 在 Latex 内容框中输入您的代码(例如\textbf{@}

在此处输入图片描述

@ 符号是占位符。插入用户标签时,第一个 @ 符号将被当前选定的文本替换。

现在我只需选择我想要包围的文本,然后按Shift+F1或从菜单中选择适当的标签。(F1 因为它是我的情况下的第一个条目,快捷方式显示在菜单中。)

欲了解更多信息请查看:Texmaker 文档:用户标签

答案3

我不熟悉上述编辑器的宏编程功能,但我使用自动热键-此脚本应适用于所有编辑器。以下只是一个例子。

F2::
Send ^c
Send \textbf{{}{}}{LEFT}
Send ^v
Return

相关内容