1
0
Fork 0
mirror of synced 2024-11-16 05:55:35 -05:00
ultimate-vim/sources_non_forked/vim-snippets/UltiSnips/tex.snippets
2024-01-07 16:14:20 +01:00

390 lines
6.8 KiB
Text

##########
# GLOBAL #
##########
global !p
def create_table(snip):
rows = snip.buffer[snip.line].split('x')[0]
cols = snip.buffer[snip.line].split('x')[1]
int_val = lambda string: int(''.join(s for s in string if s.isdigit()))
rows = int_val(rows)
cols = int_val(cols)
offset = cols + 1
old_spacing = snip.buffer[snip.line][:snip.buffer[snip.line].rfind('\t') + 1]
snip.buffer[snip.line] = ''
final_str = old_spacing + "\\begin{tabular}{|" + "|".join(['$' + str(i + 1) for i in range(cols)]) + "|}\n"
for i in range(rows):
final_str += old_spacing + '\t'
final_str += " & ".join(['$' + str(i * cols + j + offset) for j in range(cols)])
final_str += " \\\\\\\n"
final_str += old_spacing + "\\end{tabular}\n$0"
snip.expand_anon(final_str)
def add_row(snip):
row_len = int(''.join(s for s in snip.buffer[snip.line] if s.isdigit()))
old_spacing = snip.buffer[snip.line][:snip.buffer[snip.line].rfind('\t') + 1]
snip.buffer[snip.line] = ''
final_str = old_spacing
final_str += " & ".join(['$' + str(j + 1) for j in range(row_len)])
final_str += " \\\\\\"
snip.expand_anon(final_str)
endglobal
###############
# ENVIRONMENT #
###############
snippet lemma "Lemma" bi
\begin{lemma}
${0:${VISUAL}}
\end{lemma}
endsnippet
snippet prop "Proposition" bi
\begin{prop}[$1]
${0:${VISUAL}}
\end{prop}
endsnippet
snippet thrm "Theorem" bi
\begin{theorem}[$1]
${0:${VISUAL}}
\end{theorem}
endsnippet
snippet post "postulate" bi
\begin{postulate}[$1]
${0:${VISUAL}}
\end{postulate}
endsnippet
snippet prf "Proof" bi
\begin{myproof}[$1]
${0:${VISUAL}}
\end{myproof}
endsnippet
snippet def "Definition" bi
\begin{definition}[$1]
${0:${VISUAL}}
\end{definition}
endsnippet
snippet nte "Note" bi
\begin{note}[$1]
${0:${VISUAL}}
\end{note}
endsnippet
snippet prob "Problem" bi
\begin{problem}[$1]
${0:${VISUAL}}
\end{problem}
endsnippet
snippet corl "Corollary" bi
\begin{corollary}[$1]
${0:${VISUAL}}
\end{corollary}
endsnippet
snippet example "Example" bi
\begin{example}[$1]
${0:${VISUAL}}
\end{example}
endsnippet
snippet notion "Notation" bi
\begin{notation}[$1]
$0${VISUAL}
\end{notation}
endsnippet
snippet conc "Conclusion" bi
\begin{conclusion}[$1]
$0${VISUAL}
\end{conclusion}
endsnippet
snippet fig "Figure environment" bi
\begin{figure}[${1:htpb}]
\centering
${2:\includegraphics[width=0.8\textwidth]{$3}}
\caption{${4:$3}}
\label{fig:${5:${3/\W+/-/g}}}
\end{figure}
endsnippet
snippet abs "abstract environment" b
\begin{abstract}
${0:${VISUAL}}
.\end{abstract}
endsnippet
snippet tab "tabular / array environment" b
\begin{${1:t}${1/(t)$|(a)$|(.*)/(?1:abular)(?2:rray)/}}{${2:c}}
$0${2/(?<=.)(c|l|r)|./(?1: & )/g}
\end{$1${1/(t)$|(a)$|(.*)/(?1:abular)(?2:rray)/}}
endsnippet
snippet table "Table environment" b
\begin{table}[${1:htpb}]
\centering
\caption{${2:caption}}
\label{tab:${3:label}}
\begin{${4:t}${4/(t)$|(a)$|(.*)/(?1:abular)(?2:rray)/}}{${5:c}}
$0${5/(?<=.)(c|l|r)|./(?1: & )/g}
\end{$4${4/(t)$|(a)$|(.*)/(?1:abular)(?2:rray)/}}
\end{table}
endsnippet
########
# MATH #
########
snippet cc "subset" w
\subset
endsnippet
snippet inn "in " w
\in
endsnippet
snippet Nn "cap" w
\cap
endsnippet
snippet UU "cup" w
\cup
endsnippet
snippet uuu "bigcup" w
\bigcup_{${1:i \in ${2: I}}} $0
endsnippet
snippet nnn "bigcap" w
\bigcap_{${1:i \in ${2: I}}} $0
endsnippet
snippet HH "H" w
\mathbb{H}
endsnippet
snippet DD "D" w
\mathbb{D}
endsnippet
snippet inmath "Inline Math" w
\\(${1}\\) $0
endsnippet
snippet dm "Display Math" w
\[
${1:${VISUAL}}
\]$0
endsnippet
snippet frac "Fraction" w
\frac{$1}{$2}$0
endsnippet
snippet compl "Complement" i
^{c}
endsnippet
snippet ss "Super Script" i
^{$1}$0
endsnippet
snippet __ "subscript" Aw
_{$1}$0
endsnippet
snippet srt "Square Root" wi
\sqrt{${1:${VISUAL}}}$0
endsnippet
snippet srto "... Root" wi
\sqrt[$1]{${2:${VISUAL}}}$0
endsnippet
snippet ceil "Ceil" w
\left\lceil $1 \right\rceil $0
endsnippet
snippet floor "Floor" w
\left\lfloor $1 \right\rfloor$0
endsnippet
snippet pmat "Pmat" w
\begin{pmatrix} $1 \end{pmatrix} $0
endsnippet
snippet bmat "Bmat" w
\begin{bmatrix} $1 \end{bmatrix} $0
endsnippet
snippet lrb "left\{ right\}" i
\left\\{ ${1:${VISUAL}} \right\\} $0
endsnippet
snippet lra "leftangle rightangle" wi
\left<${1:${VISUAL}} \right>$0
endsnippet
snippet conj "conjugate" w
\overline{$1}$0
endsnippet
snippet sum "sum" w
\sum_{n=${1:1}}^{${2:\infty}} ${3:a_n z^n}
endsnippet
snippet taylor "taylor" w
\sum_{${1:k}=${2:0}}^{${3:\infty}} ${4:c_$1} (x-a)^$1 $0
endsnippet
snippet lim "limit" w
\lim_{${1:n} \to ${2:\infty}}
endsnippet
snippet limsup "limsup" w
\limsup_{${1:n} \to ${2:\infty}}
endsnippet
snippet prod "product" w
\prod_{${1:n=${2:1}}}^{${3:\infty}} ${4:${VISUAL}} $0
endsnippet
snippet part "d/dx" w
\frac{\partial ${1:V}}{\partial ${2:x}} $0
endsnippet
snippet ooo "\infty" w
\infty
endsnippet
snippet rij "mrij" i
(${1:x}_${2:n})_{${3:$2}\\in${4:\\N}}$0
endsnippet
snippet => "Implies" w
\implies
endsnippet
snippet =< "Implied by" w
\impliedby
endsnippet
snippet iff "iff" w
\iff
endsnippet
snippet == "Equals" w
&= $1 \\\\
endsnippet
snippet != "Not Equal" w
\neq
endsnippet
snippet <= "leq" w
\le
endsnippet
snippet >= "geq" w
\ge
endsnippet
snippet nn "Tikz node" w
\node[$5] (${1/[^0-9a-zA-Z]//g}${2}) ${3:at (${4:0,0}) }{$${1}$};
$0
endsnippet
snippet lll "l" w
\ell
endsnippet
snippet xx "cross" Aw
\times
endsnippet
snippet '(?<!\\)(sin|cos|arccot|cot|csc|ln|log|exp|star|perp)' "ln" rw
\\`!p snip.rv = match.group(1)`
endsnippet
snippet <! "normal" Aw
\triangleleft
endsnippet
snippet "((\d|\w)+)invs" "inverse" Awr
`!p snip.rv = match.group(1)`^{-1}
endsnippet
snippet !> "mapsto" Aw
\mapsto
endsnippet
##########
# TABLES #
#########
pre_expand "create_table(snip)"
snippet "gentbl(\d+)x(\d+)" "Generate table of *width* by *height*" r
endsnippet
pre_expand "add_row(snip)"
snippet "tr(\d+)" "Add table row of dimension ..." r
endsnippet
###########
# POSTFIX #
###########
snippet bar "bar" wi
\bar{${1:${VISUAL}}}$0
endsnippet
snippet "\<(.*?)\|" "bra" wri
\bra{`!p snip.rv = match.group(1).replace('q', f'\psi').replace('f', f'\phi')`}
endsnippet
snippet "\|(.*?)\>" "ket" wri
\ket{`!p snip.rv = match.group(1).replace('q', f'\psi').replace('f', f'\phi')`}
endsnippet
snippet "(.*)\\bra{(.*?)}([^\|]*?)\>" "braket" Awri
`!p snip.rv = match.group(1)`\braket{`!p snip.rv = match.group(2)`}{`!p snip.rv = match.group(3).replace('q', f'\psi').replace('f', f'\phi')`}
endsnippet
#############
# PRE-AMBLE #
#############
snippet pac "usepackage - removes square braces if options removed" b
\usepackage`!p snip.rv='[' if t[1] else ""`${1:options}`!p snip.rv = ']' if t[1] else ""`{${2:package}}$0
endsnippet
snippet docls "Document Class" bA
\documentclass{$1}$0
endsnippet
#########
# OTHER #
#########
snippet acl "Acroynm expanded" bi
\acl{${1:acronym}}
endsnippet
snippet ac "Acroynm normal" bi
\ac{${1:acronym}}
endsnippet
# vim:ft=snippets: