![Latex:在 vim 中自定义语法突出显示](https://linux22.com/image/1433864/Latex%EF%BC%9A%E5%9C%A8%20vim%20%E4%B8%AD%E8%87%AA%E5%AE%9A%E4%B9%89%E8%AF%AD%E6%B3%95%E7%AA%81%E5%87%BA%E6%98%BE%E7%A4%BA.png)
我制作了一些自定义命令,以便更容易地编写方程式块:
% Equation starters
\newcommand{\eqn}[1]{\begin{equation} #1 \end{equation}}
\newcommand{\eqns}[1]{\begin{equation*} #1 \end{equation*}}
\newcommand{\eqna}[1]{\begin{align} #1 \end{align}}
\newcommand{\eqnas}[1]{\begin{align*} #1 \end{align*}}
这是为了
\begin{equation}
e^{i \tau} = 1
\end{equation}
简化为
\eqn{
e^{i \tau} = 1
}
在第二行中,\eqn{} 块内的语法高亮显示是错误的,因为 vim 没有意识到这是数学运算。现在,我只需要告诉 vim 我做了什么。但我不知道怎么做。
答案1
我最终找到了答案。我在 .vimrc 中使用一行代码自定义了语法,如下所示:
" Add custom equation delimiters to syntax highlighting.
au FileType tex syn region texMathZoneZ matchgroup=texStatement start="\\eqn{" start="\\eqns{" start="\\eqna{" start="\\eqnas{" matchgroup=texStatement end="}" end="%stopzone\>" contains=@texMathZoneGroup
奇迹般有效!