128 lines
2.1 KiB
Plaintext
128 lines
2.1 KiB
Plaintext
global !p
|
|
def math():
|
|
return vim.eval('vimtex#syntax#in_mathzone()') == '1'
|
|
|
|
def comment():
|
|
return vim.eval('vimtex#syntax#in_comment()') == '1'
|
|
|
|
def env(name):
|
|
[x,y] = vim.eval("vimtex#env#is_inside('" + name + "')")
|
|
return x != '0' and y != '0'
|
|
|
|
endglobal
|
|
|
|
snippet beg "begin{} / end{}" bA
|
|
\\begin{$1}
|
|
$0
|
|
\\end{$1}
|
|
endsnippet
|
|
|
|
|
|
priority 100
|
|
snippet ... "dots" iA
|
|
\dots
|
|
endsnippet
|
|
|
|
snippet km "Math" wA
|
|
$${1}$`!p
|
|
if t[2] and t[2][0] not in [',', '.', '?', '-', ' ']:
|
|
snip.rv = ' '
|
|
else:
|
|
snip.rv = ''
|
|
`$2
|
|
endsnippet
|
|
|
|
snippet dm "Math" wA
|
|
\[
|
|
${1:${VISUAL}}
|
|
\] $0
|
|
endsnippet
|
|
|
|
|
|
context "math()"
|
|
snippet '([A-Za-z])(\d)' "auto subscript" wrA
|
|
`!p snip.rv = match.group(1)`_`!p snip.rv = match.group(2)`
|
|
endsnippet
|
|
|
|
#context "math()"
|
|
#snippet '([A-Za-z])_(\d\d)' "auto subscript2" wrA
|
|
#`!p snip.rv = match.group(1)`_{`!p snip.rv = match.group(2)`}
|
|
#endsnippet
|
|
|
|
context "math()"
|
|
snippet '([A-Za-z])_' "auto subscript2" wrA
|
|
`!p snip.rv = match.group(1)`_{$1}$0
|
|
endsnippet
|
|
|
|
snippet enum "Enumerate" bA
|
|
\begin{enumerate}
|
|
\item $0
|
|
\end{enumerate}
|
|
endsnippet
|
|
|
|
snippet item "Itemize" bA
|
|
\begin{itemize}
|
|
\item $0
|
|
\end{itemize}
|
|
endsnippet
|
|
|
|
snippet sum "sum" w
|
|
\sum_{n=${1:1}}^{${2:\infty}} ${3:a_n z^n}
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet mat "Matrice symbol" A
|
|
\mathcal{M}_{${1:n},${2:p}}(${3:\mathbb{R}})$0
|
|
endsnippet
|
|
|
|
snippet pmat "pmat" bA
|
|
\begin{pmatrix}
|
|
$0
|
|
\end{pmatrix}
|
|
endsnippet
|
|
|
|
snippet // "Fraction" iA
|
|
\\frac{$1}{$2}$0
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet '((\d+)|(\d*)(\\)?([A-Za-z]+)((\^|_)(\{\d+\}|\d))*)/' "Fraction" wrA
|
|
\\frac{`!p snip.rv = match.group(1)`}{$1}$0
|
|
endsnippet
|
|
|
|
context "math()"
|
|
priority 1000
|
|
snippet '^.*\)/' "() Fraction" wrA
|
|
`!p
|
|
stripped = match.string[:-1]
|
|
depth = 0
|
|
i = len(stripped) - 1
|
|
while True:
|
|
if stripped[i] == ')': depth += 1
|
|
if stripped[i] == '(': depth -= 1
|
|
if depth == 0: break;
|
|
i -= 1
|
|
snip.rv = stripped[0:i] + "\\frac{" + stripped[i+1:-1] + "}"
|
|
`{$1}$0
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet text "text zone" A
|
|
\text{ $1 }$0
|
|
endsnippet
|
|
|
|
snippet def "definition" bA
|
|
\begin{definition}[$1]
|
|
$0
|
|
\end{definition}
|
|
endsnippet
|
|
|
|
snippet space "space" i
|
|
\hspace{3ex} $0
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet bar "overline bar" iA
|
|
\overline{$1}$0
|
|
endsnippet
|