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 template "Basic template" b \documentclass[a4paper]{article} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} \usepackage{textcomp} \usepackage[dutch]{babel} \usepackage{amsmath, amssymb} % figure support \usepackage{import} \usepackage{xifthen} \pdfminorversion=7 \usepackage{pdfpages} \usepackage{transparent} \newcommand{\incfig}[1]{% \def\svgwidth{\columnwidth} \import{./figures/}{#1.pdf_tex} } \pdfsuppresswarningpagegroup=1 \begin{document} $0 \end{document} endsnippet snippet beg "begin{} / end{}" bA \\begin{$1} $0 \\end{$1} endsnippet priority 100 snippet ... "ldots" iA \ldots endsnippet snippet table "Table environment" b \begin{table}[${1:htpb}] \centering \caption{${2:caption}} \label{tab:${3:label}} \begin{tabular}{${5:c}} $0${5/((?<=.)c|l|r)|./(?1: & )/g} \end{tabular} \end{table} endsnippet snippet fig "Figure environment" b \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 enum "Enumerate" bA \begin{enumerate} \item $0 \end{enumerate} endsnippet snippet item "Itemize" bA \begin{itemize} \item $0 \end{itemize} endsnippet snippet desc "Description" b \begin{description} \item[$1] $0 \end{description} endsnippet snippet pac "Package" b \usepackage[${1:options}]{${2:package}}$0 endsnippet snippet => "implies" Ai \implies endsnippet snippet =< "implied by" Ai \impliedby endsnippet context "math()" snippet iff "iff" Ai \iff endsnippet snippet mk "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 snippet ali "Align" bA \begin{align*} ${1:${VISUAL}} .\end{align*} endsnippet context "math()" snippet // "Fraction" iA \\frac{$1}{$2}$0 endsnippet snippet / "Fraction" i \\frac{${VISUAL}}{$1}$0 endsnippet context "math()" snippet '((\d+)|(\d*)(\\)?([A-Za-z]+)((\^|_)(\{\d+\}|\d))*)/' "symbol frac" 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 '([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 snippet sympy "sympyblock " w sympy $1 sympy$0 endsnippet priority 10000 snippet 'sympy(.*)sympy' "sympy" wr `!p from sympy import * x, y, z, t = symbols('x y z t') k, m, n = symbols('k m n', integer=True) f, g, h = symbols('f g h', cls=Function) init_printing() snip.rv = eval('latex(' + match.group(1).replace('\\', '').replace('^', '**').replace('{', '(').replace('}', ')') + ')') ` endsnippet priority 1000 snippet math "mathematicablock" w math $1 math$0 endsnippet priority 10000 snippet 'math(.*)math' "math" wr `!p import subprocess code = match.group(1) code = 'ToString[' + code + ', TeXForm]' snip.rv = subprocess.check_output(['wolframscript', '-code', code]) ` endsnippet snippet == "equals" iA &= $1 \\\\ endsnippet snippet != "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 snippet pmat "pmat" iA \begin{pmatrix} $1 \end{pmatrix} $0 endsnippet snippet bmat "bmat" iA \begin{bmatrix} $1 \end{bmatrix} $0 endsnippet context "math()" snippet () "left( right)" iA \left( ${1:${VISUAL}} \right) $0 endsnippet snippet lr "left( right)" i \left( ${1:${VISUAL}} \right) $0 endsnippet snippet lr( "left( right)" i \left( ${1:${VISUAL}} \right) $0 endsnippet snippet lr| "left| right|" i \left| ${1:${VISUAL}} \right| $0 endsnippet snippet lr{ "left\{ right\}" i \left\\{ ${1:${VISUAL}} \right\\} $0 endsnippet snippet lrb "left\{ right\}" i \left\\{ ${1:${VISUAL}} \right\\} $0 endsnippet snippet lr[ "left[ right]" i \left[ ${1:${VISUAL}} \right] $0 endsnippet snippet lra "leftangle rightangle" iA \left<${1:${VISUAL}} \right>$0 endsnippet context "math()" snippet conj "conjugate" iA \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 context "math()" snippet sq "\sqrt{}" iA \sqrt{${1:${VISUAL}}} $0 endsnippet context "math()" snippet sr "^2" iA ^2 endsnippet context "math()" snippet cb "^3" iA ^3 endsnippet context "math()" snippet td "to the ... power" iA ^{$1}$0 endsnippet context "math()" snippet rd "to the ... power" iA ^{($1)}$0 endsnippet snippet __ "subscript" iA _{$1}$0 endsnippet snippet ooo "\infty" iA \infty endsnippet snippet rij "mrij" i (${1:x}_${2:n})_{${3:$2}\\in${4:\\N}}$0 endsnippet snippet <= "leq" iA \le endsnippet snippet >= "geq" iA \ge endsnippet context "math()" snippet EE "geq" iA \exists endsnippet context "math()" snippet AA "forall" iA \forall endsnippet context "math()" snippet xnn "xn" iA x_{n} endsnippet context "math()" snippet ynn "yn" iA y_{n} endsnippet context "math()" snippet xii "xi" iA x_{i} endsnippet context "math()" snippet yii "yi" iA y_{i} endsnippet context "math()" snippet xjj "xj" iA x_{j} endsnippet context "math()" snippet yjj "yj" iA y_{j} endsnippet context "math()" snippet xp1 "x" iA x_{n+1} endsnippet context "math()" snippet xmm "x" iA x_{m} endsnippet snippet R0+ "R0+" iA \\R_0^+ 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} endsnippet snippet nn "Tikz node" w \node[$5] (${1/[^0-9a-zA-Z]//g}${2}) ${3:at (${4:0,0}) }{$${1}$}; $0 endsnippet context "math()" snippet mcal "mathcal" iA \mathcal{$1}$0 endsnippet snippet lll "l" iA \ell endsnippet context "math()" snippet nabl "nabla" iA \nabla endsnippet context "math()" snippet xx "cross" iA \times endsnippet priority 100 snippet ** "cdot" iA \cdot endsnippet context "math()" snippet norm "norm" iA \|$1\|$0 endsnippet priority 100 context "math()" snippet '(? "to" iA \to endsnippet priority 200 context "math()" snippet <-> "leftrightarrow" iA \leftrightarrow endsnippet context "math()" snippet !> "mapsto" iA \mapsto endsnippet context "math()" snippet invs "inverse" iA ^{-1} endsnippet context "math()" snippet compl "complement" iA ^{c} endsnippet context "math()" snippet \\\ "setminus" iA \setminus endsnippet snippet >> ">>" iA \gg endsnippet snippet << "<<" iA \ll endsnippet snippet ~~ "~" iA \sim endsnippet context "math()" snippet set "set" wA \\{$1\\} $0 endsnippet snippet || "mid" iA \mid endsnippet context "math()" snippet cc "subset" Ai \subset endsnippet snippet notin "not in " iA \not\in endsnippet context "math()" snippet inn "in " iA \in endsnippet snippet NN "n" iA \N endsnippet snippet Nn "cap" iA \cap endsnippet snippet UU "cup" iA \cup endsnippet snippet uuu "bigcup" iA \bigcup_{${1:i \in ${2: I}}} $0 endsnippet snippet nnn "bigcap" iA \bigcap_{${1:i \in ${2: I}}} $0 endsnippet snippet OO "emptyset" iA \O endsnippet snippet RR "real" iA \R endsnippet snippet QQ "Q" iA \Q endsnippet snippet ZZ "Z" iA \Z endsnippet snippet "hokje" iA \diamond endsnippet context "math()" snippet '(?