dotfiles/nvim/ultisnips/tex.snippets
2023-02-08 03:04:29 -05:00

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