看起来 latex-suite 在没有闭合括号的情况下自动缩进是错误的,例如下面的 $[0,1)$ 就是问题的原因:
\begin{equation}
f(x),\quad x\in[0,1)
\end{equation}
将缩进至
\begin{equation}
f(x),\quad x\in[0,1)
\end{equation}
有办法解决吗?(如果我用 $[0,1]$ 替换 $[0,1)$,那么缩进就会再次起作用)。
更新
我只安装了一个插件,即vim-latex
或latex-suite
(这是旧名称吗?)。过了一会儿,我发现问题是由以下行引起的vim-latex\indent\tex.vim
if g:tex_indent_brace
" Add a 'shiftwidth' after a "{" or "[" while there are not "}" and "]"
" after them. \m for magic
if line =~ '\m\(\(\[[^\]]*\)\|\({[^}]*\)\)$'
"let ind = ind + &sw
endif
" Remove a 'shiftwidth' after a "}" or "]" while there are not "{" and "["
" before them. \m for magic
if cline =~ '\m^\(\([^[]*\]\)\|\([^{]*}\)\)'
"let ind = ind - &sw
endif
endif
如您所见,我注释掉了 和 两行if...endif
,这将停止{
和 的缩进[
。我的示例将输出 (do gg = G
):
\begin{equation}
f(x),\quad x\in[0,1)
\end{equation}
但是,它也会搞乱一些东西,例如
\newcommand{set}[1]{%
\left\{#1\right\}%
}
而不是
\newcommand{set}[1]{%
\left\{#1\right\}%
}
所以,仍然需要一些解决方案来解决这个问题。