Last active
November 24, 2025 11:54
-
-
Save wesleyel/ded4aa451683d8a9d3b72eb8df795407 to your computer and use it in GitHub Desktop.
markdown.hsnips
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| global | |
| // JavaScript helpers (cleaned) | |
| function gen_matrix(nrow, ncol) { | |
| let results = ""; | |
| let order = 1; | |
| for (let i = 0; i < nrow; i++) { | |
| results += " "; | |
| for (let j = 0; j < ncol - 1; j++) { | |
| results += "$" + order.toString() + " & "; | |
| order++; | |
| } | |
| results += "$" + order.toString() + " \\\\" + "\\"; | |
| order++; | |
| } | |
| return results; | |
| } | |
| function gen_matrix_transposed(nrow, ncol) { | |
| let results = ""; | |
| for (let i = 0; i < nrow; i++) { | |
| results += " "; | |
| let j = 0; | |
| for (; j < ncol - 1; j++) { | |
| results += "$" + (i + j * ncol + 1).toString() + " & "; | |
| } | |
| results += "$" + (i + j * ncol + 1).toString() + " \\\\" + "\\"; | |
| } | |
| return results; | |
| } | |
| function tes_matrix(nrow, ncol, t) { | |
| let results = ""; | |
| let order = 1; | |
| for (let i = 0; i < nrow; i++) { | |
| results += "\t"; | |
| for (let j = 0; j < ncol - 1; j++) { | |
| if (order > 1) { | |
| results += "${" + order.toString() + ":" + t[order - 2] + "}\t & "; | |
| } else { | |
| results += "$" + order.toString() + " & "; | |
| } | |
| order++; | |
| } | |
| results += "$" + order.toString() + " \\\\" + "\\ "; | |
| order++; | |
| } | |
| return results; | |
| } | |
| function createTable(rows, cols) { | |
| let ret = ""; | |
| let order = 1; | |
| for (let i = 0; i < parseInt(rows) + 2; i++) { | |
| for (let j = 0; j < parseInt(cols); j++) { | |
| if (i === 1) { | |
| ret += "|---"; | |
| } else { | |
| ret += "| $" + order.toString() + " "; | |
| order++; | |
| } | |
| } | |
| ret += "|\n"; | |
| } | |
| return ret; | |
| } | |
| function gen_matrix_with_tabstops(nrow, ncol, varname = 'x') { | |
| let results = ""; | |
| let idx = 1; | |
| for (let r = 0; r < nrow; r++) { | |
| let row = []; | |
| for (let c = 0; c < ncol; c++) { | |
| row.push("${" + idx + ":" + varname + "_{" + idx + "}}"); | |
| idx++; | |
| } | |
| results += " " + row.join(ncol === 1 ? " \\\\" : " & "); | |
| if (r !== nrow - 1) { | |
| results += " \\\\" + "\\"; | |
| } | |
| } | |
| return results.trim(); | |
| } | |
| endglobal | |
| # == Fraction Match == | |
| snippet // "Fraction" iAm | |
| \\frac{${1:${VISUAL}}}{$2}$0 | |
| endsnippet | |
| snippet `((\d+)|(\d*)(\\)?([A-Za-z!]+)((\^|_)(\{\d+\}|\d))*)/` "Fraction no ()" iAm | |
| \frac{``rv = m[1]``}{$1}$0 | |
| endsnippet | |
| priority 200 | |
| snippet `(?<=\s)(\\mu|\\alpha|\\sigma|\\rho|\\beta|\\gamma|\\delta|\\zeta|\\eta|\\varepsilon|\\theta|\\iota|\\kappa|\\vartheta|\\lambda|\\nu|\\pi|\\rho|\\tau|\\upsilon|\\phi|\\chi|\\psi|\\omega|\\Gamma|\\Delta|\\Theta|\\Lambda|\\Xi|\\Pi|\\Sigma|\\Upsilon|\\Phi|\\Psi|\\Omega|[A-Za-z]{1,2})?(_[A-Za-z0-9]|_\{[^}]+\})?(\^[A-Za-z0-9]|\^\{[^}]+\})?(_[A-Za-z0-9]|_\{[^}]+\})?(\([^)]+\))(_[A-Za-z0-9]|_\{[^}]+\})?(\^[A-Za-z0-9]|\^\{[^}]+\})?(_[A-Za-z0-9]|_\{[^}]+\})?\/` "Fraction with ()" iAm | |
| ``rv = "\\frac{" + m.slice(1, m.length).join('') + "}{$1}$2"`` | |
| endsnippet | |
| # == Hat Operation == | |
| # ==== Auto Capture Hat Operation ==== | |
| snippet `(\\?[a-zA-Z]\w*({?\w*})?)(hbar|BAR)` "Bar" iAm | |
| \overline{``rv = m[1] + m[2] + m[3]``} | |
| endsnippet | |
| snippet `(\\?[a-zA-Z]\w*({?\w*})?)(htd|TD)` "tilde" iAm | |
| \tilde{``rv = m[1]``} | |
| endsnippet | |
| snippet `(\\?[a-zA-Z]\w*({?\w*})?)bar` "bar" iAm | |
| \bar{``rv = m[1]``} | |
| endsnippet | |
| snippet `(\\?[a-zA-Z]\w*({?\w*})?)(hat|HAT)` "hat" iAm | |
| \hat{``rv = m[1]``} | |
| endsnippet | |
| snippet `(\\?[a-zA-Z]\w*({?\w*})?)(hvec)` "Vector postfix" iAm | |
| \vec{``rv = m[1]``} | |
| endsnippet | |
| snippet `(\\?[a-zA-Z]\w*({?\w*})?)(rta)` "Vector postfix" iAm | |
| \overrightarrow{``rv = m[1]``} | |
| endsnippet | |
| snippet `(\\?[a-zA-Z]\w*({?\w*})?)(dot)` "dot" iAm | |
| \dot{``rv = m[1]``} | |
| endsnippet | |
| priority 1000 | |
| snippet `(\\?[a-zA-Z]\w*({?\w*})?)(hdd)` "ddot" iAm | |
| \ddot{``rv = m[1]``} | |
| endsnippet | |
| # ===== Static Hat Operation ==== | |
| snippet hbar "bar" iAm | |
| \overline{$1}$0 | |
| endsnippet | |
| snippet hat "hat" iAm | |
| \hat{$1}$0 | |
| endsnippet | |
| snippet hsq "\sqrt{}" iAm | |
| \sqrt{${1}}$0 | |
| endsnippet | |
| # == Superscript Operation == | |
| snippet invs "inverse" iAm | |
| ^{-1} | |
| endsnippet | |
| snippet dig "digree" iAm | |
| ^{\circ} | |
| endsnippet | |
| priority 10000 | |
| snippet TR "inverse" iAm | |
| ^{\mathsf{T}} | |
| endsnippet | |
| snippet CL "complement" iAm | |
| ^{c} | |
| endsnippet | |
| snippet R+ "R0+" iAm | |
| R_0^+ | |
| endsnippet | |
| snippet pow "power" iAm | |
| ^{${1:2}}$0 | |
| endsnippet | |
| snippet tp "to the ... power" iAm | |
| ^{${1:2}}$0 | |
| endsnippet | |
| snippet sr "square" iAm | |
| ^{2}$0 | |
| endsnippet | |
| # == Subscript Operation == | |
| snippet td "subscript" iAm | |
| _{${1}}$0 | |
| endsnippet | |
| snippet sb "subscript" iAm | |
| _{${1:2}}$0 | |
| endsnippet | |
| snippet `(})(\d)\2` "auto subscript" iAm | |
| `` rv = m[1] + "_" + m[2]`` | |
| endsnippet | |
| snippet `([A-Za-z])(\d)` "auto subscript" iAm | |
| `` rv = m[1] + "_" + m[2]`` | |
| endsnippet | |
| priority 100 | |
| snippet `([A-Za-z])_(\d{2})` "auto subscript" iAm | |
| `` rv = m[1] + "_{" + m[2] + "}$0" `` | |
| endsnippet | |
| priority 100 | |
| snippet `([A-Za-z])S(\d)` "auto subscript" iAm | |
| `` rv = m[1] + "_{" + m[2] + "$1}$2"`` | |
| endsnippet | |
| snippet `\b(?<!\\)([A-Za-z}])([a-z])\2` "auto subscript 2" iAm | |
| `` rv = m[1] + "_" + m[2].substring(0, 1) `` | |
| endsnippet | |
| snippet `\b(?<!\\)([A-Za-z}])S([a-z])\2` "auto subscript 2" iAm | |
| `` rv = m[1] + "_{" + m[2].substring(0, 1) + "$1}$2"`` | |
| endsnippet | |
| # Custom: Add more greek letters | |
| snippet `(\\mu|\\alpha|\\sigma|\\rho|\\beta|\\gamma|\\delta|\\zeta|\\eta|\\varepsilon|\\epsilon|\\theta|\\iota|\\kappa|\\vartheta|\\lambda|\\nu|\\pi|\\rho|\\tau|\\upsilon|\\phi|\\chi|\\psi|\\omega|\\Gamma|\\Delta|\\Theta|\\Lambda|\\Xi|\\Pi|\\Sigma|\\Upsilon|\\Phi|\\Psi|\\Omega)([a-z])\2` "auto subscript for greek letter" iAm | |
| `` rv = m[1] + "_" + m[2].substring(0, 1) `` | |
| endsnippet | |
| snippet `(\\mu|\\alpha|\\sigma|\\rho|\\beta|\\gamma|\\delta|\\zeta|\\eta|\\varepsilon|\\epsilon|\\theta|\\iota|\\kappa|\\vartheta|\\lambda|\\nu|\\pi|\\rho|\\tau|\\upsilon|\\phi|\\chi|\\psi|\\omega|\\Gamma|\\Delta|\\Theta|\\Lambda|\\Xi|\\Pi|\\Sigma|\\Upsilon|\\Phi|\\Psi|\\Omega)S([a-z])\2` "auto subscript for greek letter" iAm | |
| `` rv = m[1] + "_{${1:" + m[2].substring(0, 1) + "}}$2"`` | |
| endsnippet | |
| # == Font Operation == | |
| # ==== Static Operation ==== | |
| snippet txt "text" iAm | |
| \text{$1}$0 | |
| endsnippet | |
| snippet tit "text it" iAm | |
| \textit{$1}$0 | |
| endsnippet | |
| snippet mcal "mathcal" im | |
| \mathcal{$1}$0 | |
| endsnippet | |
| snippet mbb "mathbb" iAm | |
| \mathbb{$1}$0 | |
| endsnippet | |
| snippet mbf "mathbf" iAm | |
| \mathbf{$1}$0 | |
| endsnippet | |
| snippet mbm "mathbm" iAm | |
| \mathbm{$1}$0 | |
| endsnippet | |
| snippet KK "^K" iAm | |
| ^{\mathrm{K}} | |
| endsnippet | |
| snippet TT "^T" iAm | |
| ^{\mathrm{T}} | |
| endsnippet | |
| snippet HH "^H" iAm | |
| ^{\mathrm{H}} | |
| endsnippet | |
| snippet RR "R" iAm | |
| \mathbb{R} | |
| endsnippet | |
| snippet NN "N" iAm | |
| \mathbb{N} | |
| endsnippet | |
| snippet ZZ "Z" iAm | |
| \mathbb{Z} | |
| endsnippet | |
| snippet ZZ "Z" iAm | |
| \mathbb{Z} | |
| endsnippet | |
| snippet QQ "Q" iAm | |
| \mathbb{Q} | |
| endsnippet | |
| snippet CC "C" iAm | |
| \mathbb{C} | |
| endsnippet | |
| # ==== Dynamic Operation ==== | |
| priority 100 | |
| snippet `(\\?[a-zA-Z]\w*({?\w*})?)(bf|BF)` "mathbf" iAm | |
| \mathbf{``rv = m[1]``} | |
| endsnippet | |
| priority 100 | |
| snippet `(\\?[a-zA-Z]\w*({?\w*})?)(bm|BM)` "mathbm" iAm | |
| \bm{``rv = m[1]``} | |
| endsnippet | |
| snippet 0bm "0bm" iAm | |
| \bm{0} | |
| endsnippet | |
| snippet 1bm "1bm" iAm | |
| \bm{1} | |
| endsnippet | |
| priority 100 | |
| snippet `(\\?[a-zA-Z]\w*({?\w*})?)(bs)` "boldsymbol" iAm | |
| \boldsymbol{``rv = m[1]``} | |
| endsnippet | |
| priority 100 | |
| snippet `(\\?[a-zA-Z]\w*({?\w*})?)(sf)` "mathsf" iAm | |
| \mathsf{``rv = m[1]``} | |
| endsnippet | |
| priority 100 | |
| snippet `(\\?[a-zA-Z]\w*({?\w*})?)(frak)` "mathfrak" iAm | |
| \mathfrak{``rv = m[1]``} | |
| endsnippet | |
| priority 100 | |
| snippet `(\\?[a-zA-Z]\w*({?\w*})?)cal` "mathcal" iAm | |
| \mathcal{``rv = m[1].toUpperCase()``}$0 | |
| endsnippet | |
| priority 100 | |
| snippet `(?<!\\)\b([a-zA-Z]+)rm` "mathrm" iAm | |
| \mathrm{``rv = m[1]``} | |
| endsnippet | |
| priority 100 | |
| snippet `(?<!\\)\b([a-zA-Z]+)opn` "operatorname" iAm | |
| \operatorname{``rv = m[1]``} | |
| endsnippet | |
| priority 100 | |
| snippet `(\\?[a-zA-Z]\w*({?\w*})?)bb` iAm | |
| \mathbb{``rv = m[1]``}$0 | |
| endsnippet | |
| # == Auto Symbol == | |
| snippet oo "\infty" iAmm | |
| \infty | |
| endsnippet | |
| snippet ... "cdots" iAm | |
| \cdots | |
| endsnippet | |
| snippet `(\d\d+)\.\.` "0, 1, 2, ..., n" iAm | |
| ``rv = m[1].split('').map((d) => "${1:_}" + d + "${2:, }").join('');``\cdots${3:${2:, }${1:_}n} | |
| endsnippet | |
| snippet `(\d\d+),` "0, 1, 2" iAm | |
| ``rv = m[1].split('').map((d) => "${1:_}" + d).join("${2:, }");`` | |
| endsnippet | |
| snippet <> "hokje" iA | |
| \diamond | |
| endsnippet | |
| # +... -> , \cdots | |
| # - ... -> , \cdots | |
| # add a space if there already is one. | |
| priority 101 | |
| snippet `(?<=[-+])\s*\.\.\.` "smart cdots" imA | |
| \cdots | |
| endsnippet | |
| # It seems that \ldots is only used when , ..., | |
| # ,... -> , \ldots | |
| # , ... -> , \ldots | |
| priority 101 | |
| snippet `(?<=,)(\s*)\.\.\.` "smart ldots" imA | |
| \ldots | |
| endsnippet | |
| snippet ** "dot multiply" iAm | |
| \cdot | |
| endsnippet | |
| snippet +- "pm" iAm | |
| \pm | |
| endsnippet | |
| snippet -+ "mp" iAm | |
| \mp | |
| endsnippet | |
| snippet odot "odot" iAm | |
| \odot | |
| endsnippet | |
| priority 101 | |
| snippet xx "cross" iAm | |
| \times | |
| endsnippet | |
| snippet eps "epsilon" iAm | |
| \epsilon | |
| endsnippet | |
| priority 100 | |
| snippet veps "varepsilon" iAm | |
| \varepsilon | |
| endsnippet | |
| priority 100 | |
| snippet ell "ell" iAm | |
| \ell | |
| endsnippet | |
| priority 100 | |
| snippet log "log" iAm | |
| \log | |
| endsnippet | |
| snippet bin "binom" iAm | |
| \binom{$1}{$2} | |
| endsnippet | |
| snippet oth "otherwise" iAm | |
| \text{otherwise} | |
| endsnippet | |
| snippet star "star" iAm | |
| ^{*} | |
| endsnippet | |
| snippet `(?<!\\)(oint|iiint|iint|int)` "integrate" iAm | |
| \\``rv = m[1]`` | |
| endsnippet | |
| snippet `(?<!\\)(sum|min|max|argmin|argmax|sup|inf)` "sum|min|max|argmin|argmax|sup|inf" iAm | |
| \\``rv = m[1]`` | |
| endsnippet | |
| snippet `(?<!\\)(sin|cos|tan|arccot|cot|csc|ln|exp|det|perp|arcsin|arccos|arctan|arccot|arccsc|arcsec|ell|nabla|notin|not)` "function" iAm | |
| \\``rv = m[1]`` | |
| endsnippet | |
| snippet `(?<!\\)(mu|alpha|sigma|rho|beta|Beta|gamma|delta|pi|zeta|eta|varepsilon|theta|iota|kappa|vartheta|lambda|nu|pi|rho|tau|upsilon|varphi|phi|chi|psi|omega|Gamma|Delta|Theta|Lambda|Xi|Pi|Sigma|Upsilon|Phi|Psi|Omega)` "greek" iAm | |
| \\``rv = m[1]`` | |
| endsnippet | |
| # ==== Space Symbol ==== | |
| snippet `(?<!\\)(quad)` "ln" iAm | |
| \\``rv = m[1]`` | |
| endsnippet | |
| # ==== Logic Symbol ==== | |
| snippet empty "empty" iAm | |
| \empty | |
| endsnippet | |
| priority 200 | |
| snippet inn "in" iAm | |
| \in | |
| endsnippet | |
| priority 200 | |
| snippet `\\ln ?ot` "in" iAm | |
| \lnot | |
| endsnippet | |
| snippet sse "subseteq" iAm | |
| \subseteq | |
| endsnippet | |
| snippet sqs "sqsubset" iAm | |
| \sqsubseteq | |
| endsnippet | |
| snippet tto "to" iAm | |
| \to | |
| endsnippet | |
| priority 200 | |
| snippet ott "leftarrow" iAm | |
| \leftarrow | |
| endsnippet | |
| priority 200 | |
| snippet `(?<!\\)(cap|cup|land|lor|lnot|oplus|ominus|otimes|sqcap|sqcup|vdash|models)` "logic operator" iAm | |
| \\``rv = m[1]`` | |
| endsnippet | |
| priority 200 | |
| snippet `(?<=\b|\d+)(?<!\\)(bot|top|dagger)` "logic symbols" iAm | |
| \\``rv = m[1]`` | |
| endsnippet | |
| snippet -> "to" iAm | |
| \to | |
| endsnippet | |
| snippet !> "mapsto" iAm | |
| \mapsto | |
| endsnippet | |
| snippet => "implies" iAm | |
| \implies | |
| endsnippet | |
| snippet =< "implied by" iAm | |
| \impliedby | |
| endsnippet | |
| priority 200 | |
| snippet iff "if and only if" iAm | |
| \iff | |
| endsnippet | |
| snippet EE "exist" iAm | |
| \exists | |
| endsnippet | |
| snippet AA "forall" iAm | |
| \forall | |
| endsnippet | |
| snippet bec "because" iAm | |
| \because | |
| endsnippet | |
| snippet thr "therefore" iAm | |
| \therefore | |
| endsnippet | |
| # ==== Possibility Symbol ==== | |
| snippet Pr "Pr" iAm | |
| \operatorname{Pr} | |
| endsnippet | |
| snippet Var "Var" iAm | |
| \operatorname{Var} | |
| endsnippet | |
| snippet Cov "Cov" iAm | |
| \operatorname{Cov} | |
| endsnippet | |
| snippet Exp "Expected" iAm | |
| \mathbb{E} | |
| endsnippet | |
| # ==== Compare Symbol ==== | |
| snippet -- "setminus" iAm | |
| \setminus | |
| endsnippet | |
| snippet >= "greater than" iAm | |
| \ge $0 | |
| endsnippet | |
| snippet dis "displaystyle" iAm | |
| \displaystyle | |
| endsnippet | |
| snippet <= "less than" iAm | |
| \le $0 | |
| endsnippet | |
| snippet != "no equals" iAm | |
| \neq | |
| endsnippet | |
| snippet == " constan equals" iAm | |
| \equiv | |
| endsnippet | |
| snippet sim "sim" iAm | |
| \sim | |
| endsnippet | |
| snippet `\\sim eq` "simeq" iAm | |
| \simeq | |
| endsnippet | |
| snippet ~~ " Amppro equals" iAm | |
| \approx | |
| endsnippet | |
| snippet ~= " Amppro equals2" iAm | |
| \cong | |
| endsnippet | |
| snippet >> ">>" iAm | |
| \gg | |
| endsnippet | |
| snippet << "<<" iAm | |
| \ll | |
| endsnippet | |
| # == Auto Environment == | |
| # ==== Auto Math Mode ==== | |
| snippet lm "inline Math" wA | |
| $${1}$$0 | |
| endsnippet | |
| snippet dm "display Math" wA | |
| $$ | |
| ${1} | |
| $$$0 | |
| endsnippet | |
| snippet eqt "equation" wA | |
| \begin{equation} | |
| ${1} | |
| \end{equation} | |
| endsnippet | |
| snippet eqs "equation*" wA | |
| \begin{equation*} | |
| ${1} | |
| \end{equation*} | |
| endsnippet | |
| # ==== Common Environment ==== | |
| snippet case "cases" iAm | |
| \begin{cases} $1, & $2 \\\\ $3, & $4 \end{cases} | |
| endsnippet | |
| snippet ali "aligned" iAm | |
| \begin{aligned} | |
| $1 \\\\ | |
| \end{aligned} | |
| endsnippet | |
| # == Auto Adaptive Close == | |
| snippet ceil "ceil" iAm | |
| \left\lceil $1 \right\rceil $0 | |
| endsnippet | |
| snippet floor "floor" iAm | |
| \left\lfloor $1 \right\rfloor$0 | |
| endsnippet | |
| priority 100 | |
| snippet @) "left( right)" Aim | |
| \left( ${1} \right) $0 | |
| endsnippet | |
| priority 100 | |
| snippet @| "left| right|" Aim | |
| \left| ${1} \right| $0 | |
| endsnippet | |
| priority 100 | |
| snippet @\ "left. right|" Aim | |
| \left. ${1} \right|_{${2}}$0 | |
| endsnippet | |
| priority 100 | |
| snippet @} "left\{ right\}" Aim | |
| \left\\{ ${1} \right\\} $0 | |
| endsnippet | |
| priority 100 | |
| snippet set "\{ \}" Aim | |
| \\{ ${1} \\}$0 | |
| endsnippet | |
| priority 100 | |
| snippet @] "left[ right]" Aim | |
| \left[ ${1} \right] $0 | |
| endsnippet | |
| priority 100 | |
| snippet @> "leftangle rightangle" iAm | |
| \left<${1} \right>$0 | |
| endsnippet | |
| priority 200 | |
| snippet norm iAm | |
| \left\| ${1} \right\|$2 | |
| endsnippet | |
| # == Snippet == | |
| # ==== General Snippet ==== | |
| # ====== Lite Snippet ====== | |
| snippet tag "tag" iAm | |
| \tag{$1} | |
| endsnippet | |
| snippet xyb "Auto (x, y)" iAm | |
| (x, y) | |
| endsnippet | |
| snippet xyzb "Auto (x, y ,z)" iAm | |
| (x, y, z) | |
| endsnippet | |
| priority 100 | |
| snippet `\b([a-zA-Z])n(\d)` "x[n+1]" iAm | |
| ``rv = m[1]``_{${1:n}+``rv = m[2]``}$0 | |
| endsnippet | |
| # Unkown | |
| snippet rij "mrij" iAm | |
| (${1:x}_${2:n})_{${3:$2} \\in ${4:N}}$0 | |
| endsnippet | |
| priority 200 | |
| snippet abs "absolute value" iAm | |
| \left\vert ${1} \right\vert $0 | |
| endsnippet | |
| snippet beg "begin{} / end{}" bA | |
| \\begin{$1} | |
| $0 | |
| \\end{$1} | |
| endsnippet | |
| # ======== N Series ======== | |
| priority 100 | |
| snippet comma "comma" iAm | |
| ${1:\\alpha}_1,${1:\\alpha}_2,\\cdots,${1:\\alpha}_${2:n} | |
| endsnippet | |
| priority 100 | |
| snippet plus "plus" iAm | |
| ${1:k}_1${2:\\alpha}_1+${1:k}_2${2:\\alpha}_2+\\cdots+${1:k}_${3:n}${2:\\alpha}_${3:n} | |
| endsnippet | |
| snippet `\b([ijk])=n` "i=1,2,\cdots,n" iAm | |
| ``rv = m[1]``=1,2,\cdots,n | |
| endsnippet | |
| # ======== Common Operator Snippet ======== | |
| snippet taylor "taylor" iAm | |
| \sum_{${1:k}=${2:0}}^{${3:\infty}} ${4:c_$1} (x-a)^$1 $0 | |
| endsnippet | |
| snippet `(?<!\\)lim` "limit" iAm | |
| \lim_{${1:n} \to ${2:\infty}} | |
| endsnippet | |
| snippet `(?<!\\)prod` "product" iAm | |
| \prod_{${1:n=${2:1}}}^{${3:\infty}} ${4:${VISUAL}}$0 | |
| endsnippet | |
| snippet `(?<!\\)part` "d/dx" iAm | |
| \frac{\partial ${1:V}}{\partial ${2:x}}$0 | |
| endsnippet | |
| priority 300 | |
| snippet `(?<!\\)diff` "d/dx" iAm | |
| \frac{\mathrm{d}${1:y}}{\mathrm{d}${2:x}}$0 | |
| endsnippet | |
| priority 400 | |
| snippet `(?<!\\)2diff` "d/dx" iAm | |
| \frac{\mathrm{d}^2${1:y}}{\mathrm{d}${2:x}^2}$0 | |
| endsnippet | |
| priority 400 | |
| snippet `(?<!\\)3diff` "d/dx" iAm | |
| \frac{\mathrm{d}^3${1:y}}{\mathrm{d}${2:x}^3}$0 | |
| endsnippet | |
| priority 300 | |
| snippet `dd` "dd" iAm | |
| \mathrm{d} | |
| endsnippet | |
| snippet buu "bigcup" iAm | |
| \bigcup_{${1:i \in ${2: I}}} $0 | |
| endsnippet | |
| snippet bnn "bigcap" iAm | |
| \bigcap_{${1:i \in ${2: I}}} $0 | |
| endsnippet | |
| priority 100 | |
| snippet dint "integral" iAm | |
| \int_{${1:-\infty}}^{${2:\infty}} ${3} \\mathrm{d}${4:x}$0 | |
| endsnippet | |
| priority 200 | |
| snippet `c(o|n)?(l|n)?(b|c)?int` "s egral" iAm | |
| `` | |
| let final = "\\"; // init | |
| let isO = m[1] == "o"; | |
| (isO) ? final += "o" : "" // o option | |
| let b = 1; | |
| let isL = m[2] == "l"; | |
| (m[3] == 'b') ? b = 2 : (m[3] == 'c') ? b = 3 : 1; | |
| for (let i = 0; i < b - 1; i++) { | |
| final += "i"; | |
| } | |
| final += "int"; | |
| final += ((b >= 2) || (b != 1 && !isO && isL)) ? "\\limits" : ""; | |
| let r = (b == 3) ? "E" : (b == 1 && (isL || isO)) ? "C" : "R"; | |
| final += ((b >= 2) || isO || (b == 1 && isL)) ? "_{${1:" + r + "}}" : "_{${1:-\\infty}}^{${2:\\infty}}"; | |
| let x = (b == 2) ? "A" : (b == 3) ? "V" : (b == 1 && isL) ? "s" : "x"; | |
| final += " ${3} \\mathrm{d}${4:" + x + "}$0"; | |
| rv = final; | |
| `` | |
| endsnippet | |
| # Custom: Can add more defined operator | |
| priority 100 | |
| snippet `(?<![\a-zA-Z])(rank|trace|svd|eye|ones|orth|rows|cols|zeros|diag|rref|hstack|vstack|nullspace|eigen|dim|lcm|gcd|atan2|softmax|eig|sign|const)` "math function" iAm | |
| \\operatorname{``rv = m[1]``} | |
| endsnippet | |
| # ====== Big Snippet ====== | |
| snippet bigdef "Big function" iAm | |
| \begin{equation$6} | |
| \begin{aligned} | |
| $1\colon $2 &\longrightarrow $3 \\\\ | |
| $4 &\longmapsto $1($4) = $5 | |
| \end{aligned} | |
| \end{equation$6}$0 | |
| endsnippet | |
| priority 300 | |
| snippet bigmin "Optimization problem" iAm | |
| \begin{equation$4} | |
| \begin{aligned} | |
| \min &\quad ${1:f(x)}\\\\ | |
| \text{s.t.} &\quad ${2:g(x)} \leq 0\\\\ | |
| &\quad ${3:h(x)} = 0\\\\ | |
| \end{aligned} | |
| \end{equation$4}$0 | |
| endsnippet | |
| priority 300 | |
| snippet bigmax "Optimization problem" iAm | |
| \begin{equation$4} | |
| \begin{aligned} | |
| \max &\quad ${1:f(x)}\\\\ | |
| \text{s.t.} &\quad ${2:g(x)} \leq 0\\\\ | |
| &\quad ${3:h(x)} = 0\\\\ | |
| \end{aligned} | |
| \end{equation$4}$0 | |
| endsnippet | |
| priority 300 | |
| snippet Argmin "Optimization problem" iAm | |
| \begin{aligned} | |
| \argmin_{${1:\beta}} | |
| &\quad ${2:f(x)} \\\\ | |
| \text{s.t.} | |
| &\quad ${3:g(x) > 0} \\\\ | |
| \end{aligned} | |
| endsnippet | |
| priority 300 | |
| snippet Argmax "Optimization problem" iAm | |
| \begin{aligned} | |
| \argmax_{${1:\beta}} | |
| &\quad ${2:f(x)} \\\\ | |
| \text{s.t.} | |
| &\quad ${3:g(x) > 0} \\\\ | |
| \end{aligned} | |
| endsnippet | |
| snippet deff "Definition of function" iAm | |
| $1\colon ${2:\\mathbb{R\}} \to ${3:\\mathbb{R\}}, ${4:x} \mapsto $0 | |
| endsnippet | |
| snippet iid "independent and identical distribution" iAm | |
| \overset{\text{i.i.d.}}{\sim} | |
| endsnippet | |
| snippet defe "define equal" iAm | |
| \overset{\underset{\mathrm{def}}{}}{=} | |
| endsnippet | |
| snippet deft "define triangleq" iAm | |
| \triangleq | |
| endsnippet | |
| # == Matrix == | |
| # ==== Static Matrix ==== | |
| snippet pmat "pmat" wm | |
| \begin{pmatrix} ${1: } \end{pmatrix} $0 | |
| endsnippet | |
| snippet bmat "pmat" wm | |
| \begin{bmatrix} ${1: } \end{bmatrix} $0 | |
| endsnippet | |
| priority 300 | |
| snippet vecrs "row vector series" iAm | |
| \begin{bmatrix} ${1:x}_1, ${1:x}_2, \cdots, ${1:x}_${2:n} \end{bmatrix}$0 | |
| endsnippet | |
| priority 300 | |
| snippet veccs "column vector series" iAm | |
| \begin{bmatrix} ${1:x}_1 \\ ${1:x}_2 \\ \vdots \\ ${1:x}_${2:n} \end{bmatrix} | |
| endsnippet | |
| priority 300 | |
| snippet vecvs "row vector series without brace" iAm | |
| ${1:x}_1, ${1:x}_2, \cdots, ${1:x}_${2:n}$0 | |
| endsnippet | |
| priority 300 | |
| snippet `vecr([1-9])` "row vector 1-9 (tabstops)" iiAm | |
| \begin{bmatrix}`` | |
| let n = parseInt(m[1]); | |
| let parts = []; | |
| for (let i = 1; i <= n; i++) { | |
| parts.push("${1:x}_{" + i + "}"); | |
| } | |
| rv = parts.join(" & "); | |
| ``\end{bmatrix}$0 | |
| endsnippet | |
| priority 300 | |
| snippet `vecc([1-9])` "column vector 1-9 (tabstops)" iiAm | |
| \begin{bmatrix}`` | |
| let n = parseInt(m[1]); | |
| let parts = []; | |
| for (let i = 1; i <= n; i++) { | |
| parts.push("${1:x}_{" + i + "}"); | |
| } | |
| rv = parts.join(" \\\\" + "\\"); | |
| ``\end{bmatrix}$0 | |
| endsnippet | |
| priority 300 | |
| snippet `vecv([1-9])` "row vector without brackets 1-9 (tabstops)" iiAm | |
| `` | |
| let n = parseInt(m[1]); | |
| let parts = []; | |
| for (let i = 1; i <= n; i++) { | |
| parts.push("${1:x}_{" + i + "}"); | |
| } | |
| rv = parts.join(", "); | |
| ``$0 | |
| endsnippet | |
| priority 300 | |
| snippet omis "omission" iAm | |
| \\begin{bmatrix}${1:1}&${2:1}&\\cdots&${4:1}\\\\${5:1}&${6:1}&\\cdots&${8:1}\\\\\\vdots&\\vdots&\\ddots&\\vdots\\\\${13:1}&${14:1}&\\cdots&${16:1}\\end{bmatrix} | |
| endsnippet | |
| priority 300 | |
| snippet submat "omission" iAm | |
| \\begin{bmatrix} | |
| ${1:a}_{11} & ${1:a}_{12} & \\cdots & ${1:a}_{1n} \\\\ | |
| ${1:a}_{21} & ${1:a}_{22} & \\cdots & ${1:a}_{2n} \\\\ | |
| \\vdots & \\vdots & \\ddots & \\vdots \\\\ | |
| ${1:a}_{n1} & ${1:a}_{n2} & \\cdots & ${1:a}_{nn} | |
| \\end{bmatrix} | |
| endsnippet | |
| priority 300 | |
| snippet subplusmat "omission" iAm | |
| \\begin{bmatrix} | |
| ${1:a}_{11}+${2:b}_{11} & ${1:a}_{12}+${2:b}_{12} & \\cdots & ${1:a}_{1n}+${2:b}_{1n} \\\\ | |
| ${1:a}_{21}+${2:b}_{21} & ${1:a}_{22}+${2:b}_{22} & \\cdots & ${1:a}_{2n}+${2:b}_{2n} \\\\ | |
| \\vdots & \\vdots & \\ddots & \\vdots \\\\ | |
| ${1:a}_{n1}+${2:b}_{n1} & ${1:a}_{n2}+${2:b}_{n2} & \\cdots & ${1:a}_{nn}+${2:b}_{nn} | |
| \\end{bmatrix} | |
| endsnippet | |
| snippet jacobi "jacobi" iAm | |
| \\begin{bmatrix}\\frac{\\partial ${1:f}_1}{\\partial ${2:x}_1}&\\frac{\\partial ${1:f}_1}{\\partial ${2:x}_2}&\\cdots&\\frac{\\partial ${1:f}_1}{\\partial ${2:x}_${3:n}}\\\\\\frac{\\partial ${1:f}_2}{\\partial ${2:x}_1}&\\frac{\\partial ${1:f}_2}{\\partial ${2:x}_2}&\\cdots&\\frac{\\partial ${1:f}_2}{\\partial ${2:x}_${3:n}}\\\\\\vdots&\\vdots&\\ddots&\\vdots\\\\\\frac{\\partial ${1:f}_${3:m}}{\\partial ${2:x}_1}&\\frac{\\partial ${1:f}_${3:m}}{\\partial ${2:x}_2}&\\cdots&\\frac{\\partial ${1:f}_${3:m}}{\\partial ${2:x}_${3:n}}\\end{bmatrix} | |
| endsnippet | |
| # ==== Dynamic Matrix ==== | |
| priority 300 | |
| snippet `(b|p|v)mata([1-9])` "bmatrix" iiAm | |
| \\begin{``rv = m[1]``matrix}`` | |
| let len = m[2]; | |
| let results = ""; | |
| for (var i=0; i<len; i++){ | |
| results += "$1 &".repeat(len-1) + " $1 \\\\\\\\"; | |
| } | |
| rv = results; | |
| ``\\end{``rv = m[1]``matrix}$0 | |
| endsnippet | |
| priority 300 | |
| snippet `(b|p|v)mat([1-9])` "bmatrix" iiAm | |
| \\begin{``rv = m[1]``matrix}`` | |
| rv = gen_matrix(m[2],m[2]); | |
| ``\\end{``rv = m[1]``matrix}$0 | |
| endsnippet | |
| priority 2000 | |
| snippet `(b|p|v)matr([1-9]{1})` "bmatrix" iiAm | |
| \\begin{``rv = m[1]``matrix}`` | |
| rv = gen_matrix_transposed(m[2],m[2]); | |
| ``\\end{``rv = m[1]``matrix}$0 | |
| endsnippet | |
| priority 300 | |
| snippet `vec([1-9])` "col vector" iiAm | |
| \\begin{bmatrix}`` | |
| rv = gen_matrix(m[1], 1); | |
| ``\\end{bmatrix}$0 | |
| endsnippet | |
| priority 300 | |
| snippet `vecr([1-9])` "row vector" iiAm | |
| \\begin{bmatrix}`` | |
| rv = gen_matrix(1, m[1]); | |
| ``\\end{bmatrix}$0 | |
| endsnippet | |
| # == General == | |
| snippet \box "Box" | |
| ``rv = '┌' + '─'.repeat(t[0].length + 2) + '┐'`` | |
| │ $1 │ | |
| ``rv = '└' + '─'.repeat(t[0].length + 2) + '┘'`` | |
| endsnippet | |
| priority 300 | |
| snippet `table(\d)(\d)` "create table with rows and columns" wA | |
| `` | |
| rv = createTable(m[1], m[2]); | |
| `` | |
| endsnippet |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment