815 lines
12 KiB
Plaintext
815 lines
12 KiB
Plaintext
global !p
|
|
|
|
# thanks to gilles castel
|
|
|
|
def math():
|
|
return vim.eval('vimtex#syntax#in_mathzone()') == '1'
|
|
|
|
def env(name):
|
|
[x,y] = vim.eval("vimtex#env#is_inside('" + name + "')")
|
|
return x != '0' and y != '0'
|
|
endglobal
|
|
|
|
# General
|
|
|
|
snippet beg "Begin / End" bA
|
|
\\begin{$1}
|
|
$2
|
|
\\end{$1}$0
|
|
endsnippet
|
|
|
|
snippet pac "Package" b
|
|
\usepackage[$1]{$2}$0
|
|
endsnippet
|
|
|
|
snippet template "Basic template" b
|
|
\documentclass[$1]{$2}
|
|
|
|
$3
|
|
|
|
\begin{document}
|
|
$0
|
|
\end{document}
|
|
endsnippet
|
|
|
|
snippet item "Itemize" bA
|
|
\begin{itemize}
|
|
\item $0
|
|
\end{itemize}
|
|
endsnippet
|
|
|
|
snippet enum "Enumerate" bA
|
|
\begin{enumerate}
|
|
\item $0
|
|
\end{enumerate}
|
|
endsnippet
|
|
|
|
snippet alph "Alphabet Enumerate" bA
|
|
\begin{enumerate}[label= (\alph*)]
|
|
\item $1
|
|
\end{enumerate} $0
|
|
endsnippet
|
|
|
|
snippet desc "Description" bA
|
|
\begin{description}
|
|
\item[$1] $2
|
|
\end{description} $0
|
|
endsnippet
|
|
|
|
snippet table "Table" b
|
|
\begin{table}[${1:htpb}]
|
|
\centering
|
|
\caption{$2}
|
|
\label{tab:$3}
|
|
\begin{tabular}{${5:c}}
|
|
$6${5/((?<=.)c|l|r)|./(?1: & )/g}
|
|
\end{tabular}
|
|
\end{table} $0
|
|
endsnippet
|
|
|
|
priority 100
|
|
snippet ... "Ldots" iA
|
|
\ldots
|
|
endsnippet
|
|
|
|
snippet ~~ "Sim" iA
|
|
\sim
|
|
endsnippet
|
|
|
|
snippet section "Section" bA
|
|
\sect{$1}$0
|
|
endsnippet
|
|
|
|
snippet chapter "Chapter" bA
|
|
\chapter{$1}$0
|
|
endsnippet
|
|
|
|
snippet part "Part" bA
|
|
\part{$1}$0
|
|
endsnippet
|
|
|
|
snippet theorem "Theorem" bA
|
|
\begin{theorem}[$1]
|
|
$2
|
|
\end{theorem} $0
|
|
endsnippet
|
|
|
|
snippet definition "Definition" bA
|
|
\begin{definition}[$1]
|
|
$2
|
|
\end{definition} $0
|
|
endsnippet
|
|
|
|
snippet example "Example" bA
|
|
\begin{eg}[$1]
|
|
$2
|
|
\end{eg} $0
|
|
endsnippet
|
|
|
|
# Math
|
|
|
|
snippet sm "Math" wA
|
|
$${1}$`!p
|
|
if t[2] and t[2][0] not in [',', '.', '?', '-', ' ']:
|
|
snip.rv = ' '
|
|
else:
|
|
snip.rv = ''
|
|
`$2
|
|
endsnippet
|
|
|
|
snippet dm "Display Math" wA
|
|
|
|
\[
|
|
$1
|
|
\] $0
|
|
endsnippet
|
|
|
|
snippet ali "Align" bA
|
|
\begin{align*}
|
|
${1:${VISUAL}}
|
|
\end{align*} $0
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet => "Implies" Ai
|
|
\implies
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet =< "Implied by" Ai
|
|
\impliedby
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet iff "Iff" Ai
|
|
\iff
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet `(?<!\\)bm` "Bm" rwAi
|
|
\bm{$1}$0
|
|
endsnippet
|
|
|
|
snippet `(?<!\\)emph` "Emphasize" rwAi
|
|
\emph{$1}$0
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet `(?<!\\)sqrt` "Square root" rwAi
|
|
\sqrt{$1}$0
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet `(?<!\\)box` "Boxed" rwAi
|
|
\boxed{$1}$0
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet lll "L" iA
|
|
\ell
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet xx "Cross" iA
|
|
\times
|
|
endsnippet
|
|
|
|
priority 100
|
|
context "math()"
|
|
snippet ** "Cdot" iA
|
|
\cdot
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet norm "Norm" iA
|
|
\|$1\|$0
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet nabl "Nabla" iA
|
|
\nabla
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet \\\ "Set minus" iA
|
|
\setminus
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet mcal "mathcal" iA
|
|
\mathcal{$1}$0
|
|
endsnippet
|
|
|
|
priority 100
|
|
context "math()"
|
|
snippet -> "To" iA
|
|
\to
|
|
endsnippet
|
|
|
|
priority 200
|
|
context "math()"
|
|
snippet <-> "Leftrightarrow" iA
|
|
\leftrightarrow
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet !> "Maps to" iA
|
|
\mapsto
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet set "Set" wA
|
|
\left\\{ $1 \right\\} $0
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet || "Mid" iA
|
|
\mid
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet cc "Subset" wA
|
|
\subset
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet notin "Not in" iA
|
|
\not\in
|
|
endsnippet
|
|
|
|
priority 10
|
|
context "math()"
|
|
snippet inn "In" iA
|
|
\in
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet NN "Natural" iA
|
|
\N
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet Nn "Cap" iA
|
|
\cap
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet isect "Cap" iA
|
|
\cap
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet UU "Cup" iA
|
|
\cup
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet union "Cup" iA
|
|
\cup
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet uuu "Big cup" iA
|
|
\bigcup{${1:i \in ${2: I}}} $0
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet nnn "Big cap" iA
|
|
\bigcap{${1:i \in ${2: I}}} $0
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet OO "Empty Set" iA
|
|
\varnothing
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet RR "Real" iA
|
|
\R
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet QQ "Rational" iA
|
|
\Q
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet ZZ "Integer" iA
|
|
\Z
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet HH "H" iA
|
|
\mathbb{H}
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet DD "D" iA
|
|
\mathbb{D}
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet <! "Normal" iA
|
|
\triangleleft
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet <> "Diamond" iA
|
|
\diamond
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet '(?<!i)sts' "Text Subscript" irA
|
|
_\text{$1} $0
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet tt "Text" iA
|
|
\text{$1}$0
|
|
endsnippet
|
|
|
|
priority 200
|
|
context "math()"
|
|
snippet rowvec "Row Vector" iA
|
|
\mqty[$1]$0
|
|
endsnippet
|
|
|
|
priority 200
|
|
context "math()"
|
|
snippet cvec "Column Vector" iA
|
|
\begin{pmatrix} ${1:x}_${2:1}\\\\ \vdots\\\\ $1_${2:n} \end{pmatrix}
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet case "Cases" wA
|
|
\begin{case}
|
|
$1
|
|
\end{cases} $0
|
|
endsnippet
|
|
|
|
priority 10
|
|
context "math()"
|
|
snippet "bar" "Bar" riA
|
|
\overline{$1}$0
|
|
endsnippet
|
|
|
|
priority 100
|
|
context "math()"
|
|
snippet "([a-zA-Z])bar" "Bar" riA
|
|
\overline{`!p snip.rv = match.group(1)`}
|
|
endsnippet
|
|
|
|
priority 10
|
|
context "math()"
|
|
snippet "hat" "Hat" ri
|
|
\hat{$1}$0
|
|
endsnippet
|
|
|
|
priority 100
|
|
context "math()"
|
|
snippet "([a-zA-Z])hat" "Hat" ri
|
|
\hat{`!p snip.rv = match.group(1)`}
|
|
endsnippet
|
|
|
|
priority 10
|
|
context "math()"
|
|
snippet "vec" "Vec" riA
|
|
\vec{$1}$0
|
|
endsnippet
|
|
|
|
priority 100
|
|
context "math()"
|
|
snippet "([a-zA-Z])vec" "Vec" riA
|
|
\vec{`!p snip.rv = match.group(1)`}
|
|
endsnippet
|
|
|
|
priority 100
|
|
context "math()"
|
|
snippet '(?<!\\)(sin|cos|arccot|cot|csc|ln|log|exp|star|perp|arcsin|arccos|arctan|arccot|arccsc|arcsec)' "Functions" rwA
|
|
\\`!p snip.rv = match.group(1)`
|
|
endsnippet
|
|
|
|
priority 1000
|
|
context "math()"
|
|
snippet `(?<!\\)epsi` "Epsilon" rwA
|
|
\epsilon
|
|
endsnippet
|
|
|
|
priority 500
|
|
context "math()"
|
|
snippet '(?<!\\)(alpha|beta|gamma|Delta|delta|epsilon|zeta|eta|Theta|theta|iota|kappa|Lambda|lambda|mu|nu|Xi|Pi|pi|varpi|Sigma|sigma|tau|Phi|phi|varphi|chi|Psi|psi|Omega|omega)' "Greek" rwA
|
|
\\`!p snip.rv = match.group(1)`
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet '(?<!\\)xxi' "Xi" rwA
|
|
\xi
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet '(?<!\\)rho' "Rho" rwA
|
|
\rho
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet // "Fraction" iA
|
|
\\frac{${VISUAL}}{$1}$0
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet / "Fraction" i
|
|
\\frac{${VISUAL}}{$1}$0
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet '((\d+)|(\d*)(\\)?([A-Za-z]+)((\^|_)(\{\d+\}|\d))*)/' "Symbol Fraction" wrA
|
|
\\frac{`!p snip.rv = match.group(1)`}{$1}$0
|
|
endsnippet
|
|
|
|
priority 1000
|
|
context "math()"
|
|
snippet '^.*\)/' "() Frac" 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 __ "Full Subscript" iA
|
|
_{$1}$0
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet '([A-Za-z])(\d)' "Subscript" wrA
|
|
`!p snip.rv = match.group(1)`_`!p snip.rv = match.group(2)`
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet '([A-Za-z])(\d\d)' "Subscript 2" wrA
|
|
`!p snip.rv = match.group(1)`_{`!p snip.rv = match.group(2)`}
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet xnn "Subscript xn" iA
|
|
x_{n}
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet ynn "Subscript yn" iA
|
|
y_{n}
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet xii "Subscript xi" iA
|
|
x_{i}
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet yii "Subscript yi" iA
|
|
y_{i}
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet xjj "Subscript xj" iA
|
|
x_{j}
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet yjj "Subscript yj" iA
|
|
y_{j}
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet xp1 "Subscript x n+1" iA
|
|
x_{n+1}
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet xp1 "Subscript y n+1" iA
|
|
y_{n+1}
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet xmm "Subscript xm" iA
|
|
x_{m}
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet ymm "Subscript ym" iA
|
|
y_{m}
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet x_ "Subscript x" iA
|
|
x_{$1}$0
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet y_ "Subscript y" iA
|
|
y_{$1}$0
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet == "Equals" iA
|
|
&= $1 \\\\$0
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet != "Not Equals" iA
|
|
\neq
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet ceil "Ceil" iA
|
|
\left\lceil $1 \right\rceil $0
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet floor "Floor" iA
|
|
\left\lfloor $1 \right\rfloor$0
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet pmat "Paren Matrix" iA
|
|
\begin{pmatrix} $1 \end{pmatrix} $0
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet matr "Bracket Matrix" iA
|
|
\begin{bmatrix} $1 \end{bmatrix} $0
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet Bmat "Brace Matrix" iA
|
|
\begin{Bmatrix} $1 \end{Bmatrix} $0
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet vmat "Vert Matrix" iA
|
|
\begin{vmatrix} $1 \end{vmatrix} $0
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet () "Parenthesis" iA
|
|
\left( ${1:${VISUAL}} \right) $0
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet lr "Parenthesis" i
|
|
\left( ${1:${VISUAL}} \right) $0
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet lr( "Parenthesis" i
|
|
\left( ${1:${VISUAL}} \right) $0
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet lr| "Verticals" i
|
|
\left| ${1:${VISUAL}} \right| $0
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet lr{ "Braces" i
|
|
\left\\{ ${1:${VISUAL}} \right\\} $0
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet lrb "Braces" i
|
|
\left\\{ ${1:${VISUAL}} \right\\} $0
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet lr[ "Brackets" i
|
|
\left[ ${1:${VISUAL}} \right] $0
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet lra "Angled" iA
|
|
\left<${1:${VISUAL}} \right>$0
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet conj "Conjugate" iA
|
|
\overline{$1}$0
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet sr "Square" iA
|
|
^2
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet cb "Cube" iA
|
|
^3
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet invs "Inverse" iA
|
|
^{-1}
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet compl "Complement" iA
|
|
^{c}
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet tp "To the power" iA
|
|
^{$1}$0
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet bp "Paren to the power" iA
|
|
^{($1)}$0
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet sum "Bounded Sum" w
|
|
\sum_{${1:n=${2:1}}}^{${3:\infty}} $4
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet prod "Product" w
|
|
\prod_{${1:n=${2:1}}}^{${3:\infty}} $4
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet ssum "Sum Symbol" w
|
|
\sum $1
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet lim "Limit" w
|
|
\lim_{${1:n} \to ${2:\infty}} $0
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet ooo "Infinity" iA
|
|
\infty
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet limsup "Limit Supremum" w
|
|
\limsup_{${1:n} \to ${2:\infty}} $0
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet part "Partial Derivative" w
|
|
\pdv[$1]{${2:v}}{${3:x}} $0
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet `(?<!\\)dd` "Differential" rwA
|
|
\dd{$1}$0
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet dv "Derivative" wA
|
|
\dv{$1}{$2}$0
|
|
endsnippet
|
|
|
|
priority 300
|
|
context "math()"
|
|
snippet int "Definite Integral" w
|
|
\int_{${1:-\infty}}^{${2:\infty}} $3
|
|
endsnippet
|
|
|
|
priority 300
|
|
context "math()"
|
|
snippet iint "Indefinite Integral" w
|
|
\int $1
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet <= "Less than or equal" iA
|
|
\le
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet >= "Greater than or equal" iA
|
|
\ge
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet >> "Greater greater" iA
|
|
\gg
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet << "Less less" iA
|
|
\ll
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet EE "There exists" iA
|
|
\exists
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet AA "For all" iA
|
|
\forall
|
|
endsnippet
|
|
|
|
snippet plot "Plot" w
|
|
\begin{figure}[$1]
|
|
\centering
|
|
\begin{tikzpicture}
|
|
\begin{axis}[
|
|
xmin= ${2:-10}, xmax= ${3:10},
|
|
ymin= ${4:-10}, ymax = ${5:10},
|
|
axis lines = middle,
|
|
]
|
|
\addplot[domain=$2:$3, samples=${6:100}]{$7};
|
|
\end{axis}
|
|
\end{tikzpicture}
|
|
\caption{$8}
|
|
\label{${9:$8}}
|
|
\end{figure} $0
|
|
endsnippet
|
|
|
|
snippet nn "Tikz node" w
|
|
\node[$5] (${1/[^0-9a-zA-Z]//g}${2}) ${3:at (${4:0,0}) }{$${1}$};
|
|
$0
|
|
endsnippet
|
|
|
|
snippet problem "Problem" biA
|
|
\pbl{$1}
|
|
$0
|
|
endsnippet
|
|
|
|
# English
|
|
|
|
snippet ltable "Long table" b
|
|
\begin{longtable}{${1:|p{5cm}|p{10cm}|}}
|
|
\hline
|
|
$2
|
|
\hline
|
|
\end{longtable} $0
|
|
endsnippet
|
|
|
|
snippet '(?<!\\)---' "Hline" rwA
|
|
\hline
|
|
endsnippet
|
|
|
|
snippet '(?<!\\)--' "Dash" rw
|
|
\---
|
|
endsnippet
|
|
|
|
# Code
|
|
|
|
snippet bsc "Blank Inline Code" wA
|
|
\texttt{${1}}`!p
|
|
if t[2] and t[2][0] not in [',', '.', '?', '-', ' ']:
|
|
snip.rv = ' '
|
|
else:
|
|
snip.rv = ''
|
|
`$2
|
|
endsnippet
|
|
|
|
snippet ssc "Inline Code" wA
|
|
\inlinecode{${1}}{${2}}`!p
|
|
if t[2] and t[2][0] not in [',', '.', '?', '-', ' ']:
|
|
snip.rv = ' '
|
|
else:
|
|
snip.rv = ''
|
|
`$3
|
|
endsnippet
|
|
|
|
snippet dc "Block Code" wA
|
|
\begin{listing}[${1:H}]
|
|
\caption{$2}
|
|
\label{lst:$3}
|
|
\begin{code}{$4}
|
|
$5
|
|
\end{code} $0
|
|
\end{listing}
|
|
endsnippet
|
|
|
|
snippet impc "Import Code" wA
|
|
\begin{listing}[${1:H}]
|
|
\caption{$2}
|
|
\label{lst:$3}
|
|
\importcode{$4}{$5}$0
|
|
\end{listing}
|
|
endsnippet
|
|
|
|
# Pres
|
|
|
|
snippet frame "Frame" bA
|
|
\begin{frame}{$1}
|
|
$2
|
|
\end{frame} $0
|
|
endsnippet
|