如何创建 TeXstudio 宏以对所有我想要的矩阵应用“对齐列”
在了解了这个命令后,Align Columns
我立即爱上了它,并创建了一个快捷方式(Ctrl + Alt + T
== Alt Gr + T
)以便快速使用它。到目前为止一切顺利。
最近我了解到我可以使用 TeXstudio 的宏执行命令,而不仅仅是用它来插入预定义文本。
此时我问是否可以使整个Search
手动Align Columns
过程自动化。
我找到了有关它的以下信息:
- 使用 texstudio 自动对齐代码
- 在 Latex 编辑器中对齐表格
- 在 texstudio 中使用脚本宏进行多次查找替换
- texstudio/wiki/脚本/
- 用户手册_en.html#SECTION33
不幸的是,我无法安装,latexindent
所以我必须找到解决方法,而且我对语法了解不够,无法从头开始创建。
我搜索了信息并尝试了一些,但我不知道如何Align Columns
在环境中执行任何快捷方式之类的操作MACRO
。
这个想法是这样的
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{equation}
\begin{split}
\begin{pmatrix}
a & b \\
c & d
\end{pmatrix} \\
\begin{bmatrix}
a & b \\
c & d
\end{bmatrix} \\
\begin{Bmatrix}
a & b\\
c & d
\end{Bmatrix} \\
\begin{vmatrix}
a & b \\
c & d
\end{vmatrix} \\
\begin{Vmatrix}
a & b \\
c & d
\end{Vmatrix} \\
\end{split}
\end{equation}
\end{document}
应用宏,下面是我放的草图
%SCRIPT
options = "g"
scope = editor.document().cursor(0, 0, -1);
editor.find("matrix", options, scope, "");
//eval("AlignColumns");
//eval("Ctrl + Alt + T");
//editor.findNext();
并获得与手动使用Search
( F3
) 和Align Columns
( Alt Gr + T
) 整个文档相同的结果。
添加array
、、和其他使用的环境tabular
也会很有趣。split
&
答案1
非常简单的宏来解决
花了一段时间,但我找到了 TeXstudio 命令app.simulateKeyPress("<Keys>")
。
将我需要的查找与我已经定义的快捷方式(“Ctrl + Alt + T”)相结合,我可以将我手动使用的相同组合模拟为由于宏的快捷方式而形成的单个组合键。
%SCRIPT
editor.find("matrix", true, true, false, false);
app.simulateKeyPress("Ctrl+Alt+T");
//editor.findNext();
我必须按两次我选择的快捷键(Shift+F1
),因为我只是在寻找单词matrix
。
我承认这不是最优雅的解决方案,我只是结合了两个工具。也许比我更有技能的人可以想出更好的解决方案,在单词列表中搜索或一些我不知道的其他技巧。