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 snippet beg "begin{} / end{}" bA \\begin{$1} $2 \\end{$1}$0 endsnippet 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 sc "Code" wA \texttt{${1}}`!p if t[2] and t[2][0] not in [',', '.', '?', '-', ' ']: snip.rv = ' ' else: snip.rv = '' `$2 endsnippet snippet dc "Display Code" wA \begin{lstlisting}[$1] $2 \end{lstlisting} $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:caption}} \label{tab:${3:label}} \begin{tabular}{${5:c}} $6${5/((?<=.)c|l|r)|./(?1: & )/g} \end{tabular} \end{table} $0 endsnippet snippet ltable "Long table" b \begin{longtable}{${1:|p{5cm}|p{10cm}|}} \hline $2 \hline \end{longtable} $0 endsnippet snippet --- "hline" iA \hline endsnippet