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 x != '0' endglobal snippet time "Date" `date +%F` endsnippet snippet box "Box" `!p snip.rv = '┌' + '─' * (len(t[1]) + 2) + '┐'` │ $1 │ `!p snip.rv = '└' + '─' * (len(t[1]) + 2) + '┘'` $0 endsnippet snippet bg "environment" bA \begin{$1} $2 \end{$1} $0 endsnippet snippet mk "inline math" wA $ ${1} $`!p if t[2] and t[2][0] not in [',', '.', '?', '-', ' ']: snip.rv = ' ' else: snip.rv = '' `$2 endsnippet snippet dm "displayed math" wA \[ $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 context "math()" snippet sq "^2" i ^2 endsnippet context "math()" snippet cb "^3" iA ^3 endsnippet context "math()" snippet td "superscript" iA ^{$1}$0 endsnippet context "math()" 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()" priority 1000 snippet math "mathematica block" w math $1 math$0 endsnippet context "math()" priority 10000 snippet 'math(.*)math' "evaluate mathematica" wr `!p import subprocess code = 'ToString[' + match.group(1) + ', TeXForm]' snip.rv = subprocess.check_output(['wolframscript', '-code', code]) ` endsnippet context "math()" priority 10 snippet "bar" "bar" riA \overline{$1}$0 endsnippet context "math()" priority 100 snippet "([a-zA-Z])bar" "bar" riA \overline{`!p snip.rv=match.group(1)`} endsnippet context "math()" priority 10 snippet "hat" "hat" riA \hat{$1}$0 endsnippet context "math()" priority 100 snippet "([a-zA-Z])hat" "hat" riA \hat{`!p snip.rv=match.group(1)`} endsnippet context "math()" snippet "(\\?\w+)(,\.|\.,)" "Vector postfix" riA \vec{`!p snip.rv=match.group(1)`} endsnippet context "math()" snippet -> "arrow" A \to endsnippet snippet par "par" b \paragraph{$1}$0 endsnippet snippet sec "section" bA \section{$1}$0 endsnippet snippet ssec "section" bA \subsection{$1}$0 endsnippet snippet sssec "section" bA \subsubsection{$1}$0 endsnippet snippet emu "emu" \begin{enumerate} \item $1 \end{enumerate} $0 endsnippet snippet item "imem" \begin{itemize} \item $1 \end{itemize} endsnippet snippet def "def" \dfn{$1}{ $0 } endsnippet snippet pro "proof" \begin{proof} $1 \end{proof} $0 endsnippet snippet theo "theo" \begin{theorem} $1 \end{theorem} $0 endsnippet snippet article "article" \section{$1} \subsection{background} $2 \subsection{Objective} $3 \subsection{Model Architecture} $4 \begin{itemize} \item $5 \end{itemize} endsnippet context "math()" snippet "(\w+)\s+(\w+)\s+diff" "auto diff" wrA \diff{\dif `!p snip.rv = match.group(1)`}{\dif `!p snip.rv = match.group(2)`}$0 endsnippet context "math()" snippet phi "phi" iA \varphi endsnippet context "math()" snippet diff "diff" iA \diff{$1}{$2} endsnippet context "math()" snippet int "int" \int $1 \dif $2 endsnippet context "math()" snippet iint "int" \iint_{D} $1 \dif $2 \dif $3 endsnippet context "math()" snippet iiint "int" \iiint_{\omega} $1 \dif $1 \dif $2 \dif $3 endsnippet context "math()" snippet inte "inte" \int^{$1}_{$2} $3 \dif $4 endsnippet context "math()" snippet for "forall" \forall $0 endsnippet context "math()" snippet ex "ex" \exists $0 endsnippet context "math()" snippet eps "eps" \epsilon $0 endsnippet context "math()" snippet part "partial" iW \frac{\partial $1}{\partial $2}$0 endsnippet context "math()" snippet sume "sum env" \sum_{$1}^{$2} $3 endsnippet context "math()" snippet a "alpha" iW \alpha endsnippet context "math()" snippet b "beta" iW \beta endsnippet context "math()" snippet g "gamma" iW \gamma endsnippet context "math()" snippet G "Gamma" iW \Gamma endsnippet context "math()" snippet p "psi" iW \psi endsnippet context "math()" snippet P "Psi" iW \Psi endsnippet context "math()" snippet pow "power" i ^{$1}$0 endsnippet context "math()" snippet sub "sub" i _{$1}$0 endsnippet context "math()" snippet ali "aligned" i \left\\{ \begin{aligned} $1 \\\ \end{aligned} \right. endsnippet context "math()" snippet o "omega" i \omega endsnippet context "math()" snippet bf "mathbf" i \mathbf $0 endsnippet context "math()" snippet * "cdot" \cdot endsnippet snippet nssec "subsection*" \subsection*{$0} endsnippet snippet nsssec "subsection*" \subsubsection*{$0} endsnippet context "math()" snippet S "Sigam" i \Sigma endsnippet context "math()" snippet lr "left and right" i \left$1 $0 \right$2 endsnippet