Files
dotfiles/nvim/ultisnips/tex/tex.snippets
T
2025-12-23 19:52:39 +01:00

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