如何创建 TeXstudio 宏以对所有我想要的矩阵应用“对齐列”

如何创建 TeXstudio 宏以对所有我想要的矩阵应用“对齐列”

如何创建 TeXstudio 宏以对所有我想要的矩阵应用“对齐列”

在了解了这个命令后,Align Columns我立即爱上了它,并创建了一个快捷方式(Ctrl + Alt + T== Alt Gr + T)以便快速使用它。到目前为止一切顺利。

最近我了解到我可以使用 TeXstudio 的宏执行命令,而不仅仅是用它来插入预定义文本。

此时我问是否可以使整个Search手动Align Columns过程自动化。

我找到了有关它的以下信息:

不幸的是,我无法安装,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

我承认这不是最优雅的解决方案,我只是结合了两个工具。也许比我更有技能的人可以想出更好的解决方案,在单词列表中搜索或一些我不知道的其他技巧。

在此处输入图片描述

相关内容