我使用 vim(和 vim latex-suite)来编辑乳胶文档。经常发生的事情是需要将内联方程更改为显示方程,如下所示。我开始:
The most important equation is \(f(x)=x^2,\) but most disagree.
并以:
The most important equation is
\begin{equation*}
f(x)=x^2,
\end{equation*}
but most disagree.
将光标放在“=”上,我很高兴调用一个函数来实现结果,并且我可能会弄清楚如何自己编辑缩进和间距,所以输出就足够了
The most important equation is
\begin{equation*}
f(x)=x^2,
\end{equation*}
but most disagree.
理想情况下,以相反方向工作的函数(显示方程到内联方程)也会很棒,但首先要做的是。FWIW,我正在使用surround.vim 插件,它似乎非常适合\(\)中的周围文本,但我不确定它是否可以用来检测/突出显示乳胶方程。HTML标签似乎有这个功能,但我还没有看到它为乳胶实现。任何帮助将不胜感激。
[编辑:]
为了澄清我在寻找什么,我想说的是是否可以使用surround.vim 进行自定义不对称引号/括号检测。这就是我知道该怎么做。在我的 ~/.vimrc 文件中,我有一行
autocmd FileType tex let b:surround_101 = "\\(\r\\)"
然后,当我编辑 tex 文件时,我有以下内容:
This is a $word in$ a some text.
[ ]
我可以在正常模式下输入:
cs$e
我得到
This is a \(word in\) a some text.
[ ]
同样,如果我有
This is a <p>word in</p> a some text.
[ ]
我可以在正常模式下输入:
cste
我得到
This is a \(word in\) a some text.
[ ]
我想做的是从此开始:
This is a \(word in\) a some text.
[ ]
对此:
This is a \foo word in \bar a some text.
[ ]
我想知道这是否可以使用环绕.vim。例如,关于这个:
This is a \(word in\) a some text.
[ ]
我试过了
cse$
但这并没有像我希望的那样将 \(word in\) 更改为 $word in$。如果这不可能与环绕.vim,那将是一种耻辱,因为它已经具有我想要用于乳胶方程式的 HTML 标记的确切功能,所以看起来我必须为乳胶重新编码相同的功能从零开始的方程。