-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathlatex_suite.js
350 lines (310 loc) · 21 KB
/
latex_suite.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
[
// Math mode
{trigger: "mk", replacement: "$$0$", options: "tAw"},
{trigger: "dm", replacement: "$$\n$0\n$$", options: "tAw"},
{trigger: "beg", replacement: "\\begin{$0}\n$1\n\\end{$0}", options: "mA"},
// Greek letters
{trigger: "@a", replacement: "\\alpha", options: "mA"},
{trigger: "@A", replacement: "\\alpha", options: "mA"},
{trigger: "@b", replacement: "\\beta", options: "mA"},
{trigger: "@B", replacement: "\\beta", options: "mA"},
{trigger: "@c", replacement: "\\chi", options: "mA"},
{trigger: "@C", replacement: "\\chi", options: "mA"},
{trigger: "@g", replacement: "\\gamma", options: "mA"},
{trigger: "@G", replacement: "\\Gamma", options: "mA"},
{trigger: "@d", replacement: "\\delta", options: "mA"},
{trigger: "@D", replacement: "\\Delta", options: "mA"},
{trigger: "@e", replacement: "\\epsilon", options: "mA"},
{trigger: "@E", replacement: "\\epsilon", options: "mA"},
{trigger: ":e", replacement: "\\varepsilon", options: "mA"},
{trigger: ":E", replacement: "\\varepsilon", options: "mA"},
{trigger: "@z", replacement: "\\zeta", options: "mA"},
{trigger: "@Z", replacement: "\\zeta", options: "mA"},
{trigger: "@t", replacement: "\\theta", options: "mA"},
{trigger: "@T", replacement: "\\Theta", options: "mA"},
{trigger: "@k", replacement: "\\kappa", options: "mA"},
{trigger: "@K", replacement: "\\kappa", options: "mA"},
{trigger: "@l", replacement: "\\lambda", options: "mA"},
{trigger: "@L", replacement: "\\Lambda", options: "mA"},
{trigger: "@m", replacement: "\\mu", options: "mA"},
{trigger: "@M", replacement: "\\mu", options: "mA"},
{trigger: "@r", replacement: "\\rho", options: "mA"},
{trigger: "@R", replacement: "\\rho", options: "mA"},
{trigger: "@s", replacement: "\\sigma", options: "mA"},
{trigger: "@S", replacement: "\\Sigma", options: "mA"},
{trigger: "ome", replacement: "\\omega", options: "mA"},
{trigger: "@o", replacement: "\\omega", options: "mA"},
{trigger: "@O", replacement: "\\Omega", options: "mA"},
{trigger: "@u", replacement: "\\upsilon", options: "mA"},
{trigger: "@U", replacement: "\\Upsilon", options: "mA"},
{trigger: "([^\\\\])(${GREEK}|${SYMBOL})", replacement: "[[0]]\\[[1]]", options: "rmA", description: "Add backslash before greek letters and symbols"},
// Insert space after greek letters and symbols, etc
{trigger: "\\\\(${GREEK}|${SYMBOL}|${SHORT_SYMBOL})([A-Za-z])", replacement: "\\[[0]] [[1]]", options: "rmA"},
{trigger: "\\\\(${GREEK}|${SYMBOL}) sr", replacement: "\\[[0]]^{2}", options: "rmA"},
{trigger: "\\\\(${GREEK}|${SYMBOL}) cb", replacement: "\\[[0]]^{3}", options: "rmA"},
{trigger: "\\\\(${GREEK}|${SYMBOL}) rd", replacement: "\\[[0]]^{$0}$1", options: "rmA"},
{trigger: "\\\\(${GREEK}|${SYMBOL}) hat", replacement: "\\hat{\\[[0]]}", options: "rmA"},
{trigger: "\\\\(${GREEK}|${SYMBOL}) dot", replacement: "\\dot{\\[[0]]}", options: "rmA"},
{trigger: "\\\\(${GREEK}) bar", replacement: "\\bar{\\[[0]]}", options: "rmA"},
{trigger: "\\\\(${GREEK}|${SYMBOL}) vec", replacement: "\\vec{\\[[0]]}", options: "rmA"},
{trigger: "\\\\(${GREEK}|${SYMBOL}) tilde", replacement: "\\tilde{\\[[0]]$0}", options: "rmA"},
{trigger: "\\\\(${GREEK}|${SYMBOL}) und", replacement: "\\underline{\\[[0]]}", options: "rmA"},
{trigger: "\\\\(${GREEK}),\\.", replacement: "\\boldsymbol{\\[[0]]}", options: "rmA"},
{trigger: "\\\\(${GREEK})\\.,", replacement: "\\boldsymbol{\\[[0]]}", options: "rmA"},
// Operations
{trigger: "te", replacement: "\\text{$0}", options: "m"},
{trigger: "text", replacement: "\\text{$0}", options: "mA"},
{trigger: "bf", replacement: "\\mathbf{$0}", options: "mA"},
{trigger: "sr", replacement: "^{2}", options: "mA"},
{trigger: "cb", replacement: "^{3}", options: "mA"},
{trigger: "rd", replacement: "^{$0}$1", options: "mA"},
{trigger: "_", replacement: "_{$0}$1", options: "mA"},
{trigger: "sts", replacement: "_\\text{$0}", options: "rmA"},
{trigger: "sq", replacement: "\\sqrt{ $0 }$1", options: "mA"},
{trigger: "//", replacement: "\\frac{$0}{$1}$2", options: "mA"},
{trigger: "ee", replacement: "e^{ $0 }$1", options: "mA"},
{trigger: "rm", replacement: "\\mathrm{$0}$1", options: "mA"},
{trigger: "conj", replacement: "^{*}", options: "mA"},
{trigger: "trace", replacement: "\\mathrm{Tr}", options: "mA"},
{trigger: "det", replacement: "\\det", options: "mA"},
{trigger: "re", replacement: "\\mathrm{Re}", options: "mAw"},
{trigger: "im", replacement: "\\mathrm{Im}", options: "mAw"},
{trigger: "([a-zA-Z]),\\.", replacement: "\\mathbf{[[0]]}", options: "rmA"},
{trigger: "([a-zA-Z])\\.,", replacement: "\\mathbf{[[0]]}", options: "rmA"},
{trigger: "([A-Za-z])(\\d)", replacement: "[[0]]_{[[1]]}", options: "rmA", description: "Auto letter subscript", priority: -1},
{trigger: "([A-Za-z])_(\\d\\d)", replacement: "[[0]]_{[[1]]}", options: "rmA"},
{trigger: "\\hat{([A-Za-z])}(\\d)", replacement: "hat{[[0]]}_{[[1]]}", options: "rmA"},
{trigger: "\\\\mathbf{([A-Za-z])}(\\d)", replacement: "\\mathbf{[[0]]}_{[[1]]}", options: "rmA"},
{trigger: "\\\\vec{([A-Za-z])}(\\d)", replacement: "\\vec{[[0]]}_{[[1]]}", options: "rmA"},
{trigger: "([a-zA-Z])bar", replacement: "\\bar{[[0]]}", options: "rmA"},
{trigger: "([a-zA-Z])hat", replacement: "\\hat{[[0]]}", options: "rmA"},
{trigger: "([a-zA-Z])ddot", replacement: "\\ddot{[[0]]}", options: "rmA", priority: 3},
{trigger: "([a-zA-Z])dot", replacement: "\\dot{[[0]]}", options: "rmA", priority: 1},
{trigger: "([a-zA-Z])vec", replacement: "\\vec{[[0]]}", options: "rmA"},
{trigger: "([a-zA-Z])tilde", replacement: "\\tilde{[[0]]}", options: "rmA"},
{trigger: "([a-zA-Z])und", replacement: "\\underline{[[0]]}", options: "rmA"},
{trigger: "bar", replacement: "\\bar{$0}$1", options: "mA"},
{trigger: "hat", replacement: "\\hat{$0}$1", options: "mA"},
{trigger: "dot", replacement: "\\dot{$0}$1", options: "mA"},
{trigger: "ddot", replacement: "\\ddot{$0}$1", options: "mA", priority: 2},
{trigger: "cdot", replacement: "\\cdot", options: "mA", priority: 2},
// {trigger: "vec", replacement: "\\vec{$0}$1", options: "mA"},
{trigger: "tilde", replacement: "\\tilde{$0}$1", options: "mA"},
{trigger: "und", replacement: "\\underline{$0}$1", options: "mA"},
{trigger: "([^\\\\])(arcsin|arccos|arctan|arccot|arccsc|arcsec|sin|cos|tan|cot|csc|sec)", replacement: "[[0]]\\[[1]]", options: "rmA"},
{trigger: "\\\\(arcsin|arccos|arctan|arccot|arccsc|arcsec|sin|cos|tan|cot|csc|sec)([A-Za-gi-z])", replacement: "\\[[0]] [[1]]", options: "rmA"}, // Insert space after trig funcs. Skips letter "h" to allow sinh, cosh, etc.
{trigger: "\\\\(arcsinh|arccosh|arctanh|arccoth|arcsch|arcsech|sinh|cosh|tanh|coth|csch|sech)([A-Za-z])", replacement: "\\[[0]] [[1]]", options: "rmA"}, // Insert space after trig funcs
{trigger: "\\\\(neq|geq|leq|gg|ll|sim)([0-9]+)", replacement: "\\[[0]] [[1]]", options: "rmA"}, // Insert space after inequality symbols
// Visual operations
{trigger: "U", replacement: "\\underbrace{ ${VISUAL} }_{ $0 }", options: "mA"},
{trigger: "O", replacement: "\\overbrace{ ${VISUAL} }^{ $0 }", options: "mA"},
{trigger: "B", replacement: "\\underset{ $0 }{ ${VISUAL} }", options: "mA"},
{trigger: "C", replacement: "\\cancel{ ${VISUAL} }", options: "mA"},
{trigger: "K", replacement: "\\cancelto{ $0 }{ ${VISUAL} }", options: "mA"},
{trigger: "S", replacement: "\\sqrt{ ${VISUAL} }", options: "mA"},
// Symbols
{trigger: "oo", replacement: "\\infty", options: "mA"},
{trigger: "sum", replacement: "\\sum", options: "mA"},
{trigger: "prod", replacement: "\\prod", options: "mA"},
{trigger: "lim", replacement: "\\lim ${0:\\limits}_{ ${1:n} \\to ${2:\\infty} } $3", options: "mA"},
{trigger: "([^\\\\])pm", replacement: "[[0]]\\pm", options: "rm"},
{trigger: "([^\\\\])mp", replacement: "[[0]]\\mp", options: "rm"},
{trigger: "+-", replacement: "\\pm", options: "mA"},
{trigger: "-+", replacement: "\\mp", options: "mA"},
{trigger: "...", replacement: "\\dots", options: "mA"},
{trigger: "<->", replacement: "\\leftrightarrow ", options: "mA"},
{trigger: "->", replacement: "\\to", options: "mA"},
{trigger: "!>", replacement: "\\mapsto", options: "mA"},
{trigger: "invs", replacement: "^{-1}", options: "mA"},
{trigger: "\\\\\\", replacement: "\\setminus", options: "mA"},
{trigger: "||", replacement: "\\mid", options: "mA"},
{trigger: "and", replacement: "\\cap", options: "mA"},
{trigger: "orr", replacement: "\\cup", options: "mA"},
{trigger: "s\\cap ", replacement: "\\sqcap", options: "mA"},
{trigger: "s\\cup ", replacement: "\\sqcup", options: "mA"},
{trigger: "buu", replacement: "\\bigcup", options: "mA"},
{trigger: "bsu", replacement: "\\bigsqcup", options: "mA"},
{trigger: "bnn", replacement: "\\bigcap", options: "mA"},
{trigger: "inn", replacement: "\\in", options: "mA"},
{trigger: "notin", replacement: "\\not\\in", options: "mA"},
{trigger: "\\subset eq", replacement: "\\subseteq", options: "mA"},
{trigger: "eset", replacement: "\\emptyset", options: "mA"},
{trigger: "set", replacement: "\\{ $0 \\}$1", options: "mA"},
{trigger: "=>", replacement: "\\implies", options: "mA"},
{trigger: "=<", replacement: "\\impliedby", options: "mA"},
{trigger: "iff", replacement: "\\iff", options: "mA"},
{trigger: "e\\xi sts", replacement: "\\exists", options: "mA", priority: 1},
{trigger: "===", replacement: "\\equiv", options: "mA"},
{trigger: "Sq", replacement: "\\square", options: "mA"},
{trigger: "!=", replacement: "\\neq", options: "mA"},
{trigger: ">=", replacement: "\\geq", options: "mA"},
{trigger: "<=", replacement: "\\leq", options: "mA"},
{trigger: ">>", replacement: "\\gg", options: "mA"},
{trigger: "<<", replacement: "\\ll", options: "mA"},
{trigger: "~~", replacement: "\\sim", options: "mA"},
{trigger: "\\sim ~", replacement: "\\approx", options: "mA"},
{trigger: "prop", replacement: "\\propto", options: "mA"},
{trigger: "nabl", replacement: "\\nabla", options: "mA"},
{trigger: "del", replacement: "\\nabla", options: "mA"},
{trigger: "xx", replacement: "\\times", options: "mA"},
{trigger: "**", replacement: "\\cdot", options: "mA"},
{trigger: "para", replacement: "\\parallel", options: "mA"},
{trigger: "xnn", replacement: "x_{n}", options: "mA"},
{trigger: "xii", replacement: "x_{i}", options: "mA"},
{trigger: "xjj", replacement: "x_{j}", options: "mA"},
{trigger: "xp1", replacement: "x_{n+1}", options: "mA"},
{trigger: "ynn", replacement: "y_{n}", options: "mA"},
{trigger: "yii", replacement: "y_{i}", options: "mA"},
{trigger: "yjj", replacement: "y_{j}", options: "mA"},
{trigger: "([\\a-zA-Z0-9]+)i", replacement: "[[0]]_i", options: "rm"},
{trigger: "([\\a-zA-Z0-9]+)j", replacement: "[[0]]_j", options: "rm"},
{trigger: "([\\a-zA-Z0-9]+)n", replacement: "[[0]]_n", options: "rm"},
{trigger: "([\\a-zA-Z0-9]+)k", replacement: "[[0]]_k", options: "rm"},
{trigger: "mscr", replacement: "\\mathscr{$0}$1", options: "mA"},
{trigger: "mcal", replacement: "\\mathcal{$0}$1", options: "mA"},
{trigger: "mbb", replacement: "\\mathbb{$0}$1", options: "mA"},
{trigger: "([\\a-zA-Z0-9]+)cal", replacement: "\\mathcal{[[0]]}", options: "rmA"},
{trigger: "([\\a-zA-Z0-9]+)scr", replacement: "\\mathscr{[[0]]}", options: "rmA"},
{trigger: "([\\a-zA-Z0-9]+)bb", replacement: "\\mathbb{[[0]]}", options: "rmA"},
{trigger: "ell", replacement: "\\ell", options: "mA"},
{trigger: "lll", replacement: "\\ell", options: "mA"},
{trigger: "LL", replacement: "\\mathcal{L}", options: "mA"},
{trigger: "HH", replacement: "\\mathcal{H}", options: "mA"},
{trigger: "CC", replacement: "\\mathbb{C}", options: "mA"},
{trigger: "RR", replacement: "\\mathbb{R}", options: "mA"},
{trigger: "ZZ", replacement: "\\mathbb{Z}", options: "mA"},
{trigger: "NN", replacement: "\\mathbb{N}", options: "mA"},
{trigger: "II", replacement: "\\mathbb{1}", options: "mA"},
{trigger: "\\mathbb{1}I", replacement: "\\hat{\\mathbb{1}}", options: "mA"},
{trigger: "AA", replacement: "\\forall", options: "mA"},
{trigger: "BB", replacement: "\\mathbf{B}", options: "mA"},
{trigger: "EE", replacement: "\\exists", options: "mA"},
// Unit vectors
{trigger: ":i", replacement: "\\mathbf{i}", options: "mA"},
{trigger: ":j", replacement: "\\mathbf{j}", options: "mA"},
{trigger: ":k", replacement: "\\mathbf{k}", options: "mA"},
{trigger: ":x", replacement: "\\hat{\\mathbf{x}}", options: "mA"},
{trigger: ":y", replacement: "\\hat{\\mathbf{y}}", options: "mA"},
{trigger: ":z", replacement: "\\hat{\\mathbf{z}}", options: "mA"},
// Derivatives
{trigger: "par", replacement: "\\frac{ \\partial ${0:y} }{ \\partial ${1:x} } $2", options: "m"},
{trigger: "pa2", replacement: "\\frac{ \\partial^{2} ${0:y} }{ \\partial ${1:x}^{2} } $2", options: "mA"},
{trigger: "pa3", replacement: "\\frac{ \\partial^{3} ${0:y} }{ \\partial ${1:x}^{3} } $2", options: "mA"},
{trigger: "pa([A-Za-z])([A-Za-z])", replacement: "\\frac{ \\partial [[0]] }{ \\partial [[1]] } ", options: "rm"},
{trigger: "pa([A-Za-z])([A-Za-z])([A-Za-z])", replacement: "\\frac{ \\partial^{2} [[0]] }{ \\partial [[1]] \\partial [[2]] } ", options: "rm"},
{trigger: "pa([A-Za-z])([A-Za-z])2", replacement: "\\frac{ \\partial^{2} [[0]] }{ \\partial [[1]]^{2} } ", options: "rmA"},
{trigger: "de([A-Za-z])([A-Za-z])", replacement: "\\frac{ \\mathrm{d}[[0]] }{ \\mathrm{d}[[1]] } ", options: "rm"},
{trigger: "de([A-Za-z])([A-Za-z])2", replacement: "\\frac{ \\mathrm{d}^{2}[[0]] }{ \\mathrm{d}[[1]]^{2} } ", options: "rmA"},
{trigger: "ddt", replacement: "\\frac{\\mathrm{d}}{\\mathrm{d}t} ", options: "mA"},
// Integrals
{trigger: "oinf", replacement: "\\int_{0}^{\\infty} $0 \\, \\mathrm{d}${1:x} $2", options: "mA"},
{trigger: "infi", replacement: "\\int_{-\\infty}^{\\infty} $0 \\, \\mathrm{d}${1:x} $2", options: "mA"},
{trigger: "dint", replacement: "\\int_{${0:0}}^{${1:\\infty}} $2 \\, \\mathrm{d}${3:x} $4", options: "mA"},
{trigger: "oint", replacement: "\\oint", options: "mA"},
{trigger: "iiint", replacement: "\\iiint", options: "mA"},
{trigger: "iint", replacement: "\\iint", options: "mA"},
{trigger: "int", replacement: "\\int $0 \\, \\mathrm{d}${1:x} $2", options: "mA"},
// Physics
{trigger: "kbt", replacement: "k_{B}T", options: "mA"},
// Quantum mechanics
{trigger: "hba", replacement: "\\hbar", options: "mA"},
{trigger: "dag", replacement: "^{\\dagger}", options: "mA"},
{trigger: "o+", replacement: "\\oplus ", options: "mA"},
{trigger: "ox", replacement: "\\otimes ", options: "mA"},
{trigger: "otimes", replacement: "\\otimes ", options: "mA"}, // Handle conflict with "im" snippet
{trigger: "bot", replacement: "\\bigotimes{$0} ", options: "mA"},
{trigger: "bra", replacement: "\\bra{$0} $1", options: "mA"},
{trigger: "ket", replacement: "\\ket{$0} $1", options: "mA"},
{trigger: "brk", replacement: "\\braket{ $0 | $1 } $2", options: "mA"},
{trigger: "\\\\bra{([^|]+)\\|", replacement: "\\braket{ [[0]] | $0 ", options: "rmA", description: "Convert bra into braket"},
{trigger: "\\\\bra{(.+)}([^ ]+)>", replacement: "\\braket{ [[0]] | $0 ", options: "rmA", description: "Convert bra into braket (alternate)"},
{trigger: "outp", replacement: "\\ket{${0:\\psi}} \\bra{${0:\\psi}} $1", options: "mA"},
// == Matrix ==
// ==== Static Matrix ====
{trigger: "pmat", replacement: "\\begin{pmatrix}\n$0\n\\end{pmatrix}", options: "MA"},
{trigger: "bmat", replacement: "\\begin{bmatrix}\n$0\n\\end{bmatrix}", options: "MA"},
{trigger: "vecC", replacement: "\\begin{bmatrix} ${1:x}_1 \\\\ ${1:x}_2 \\\\ \\vdots \\\\ ${1:x}_{${2:n}} \\end{bmatrix}", options: "mA"},
{trigger: "vecR", replacement: "\\begin{bmatrix} ${1:x}_1, ${1:x}_2, \\cdots, ${1:x}_${{2:n}} \\end{bmatrix}$0", options: "mA"},
{trigger: "Bmat", replacement: "\\begin{Bmatrix}\n$0\n\\end{Bmatrix}", options: "MA"},
{trigger: "vmat", replacement: "\\begin{vmatrix}\n$0\n\\end{vmatrix}", options: "MA"},
{trigger: "Vmat", replacement: "\\begin{Vmatrix}\n$0\n\\end{Vmatrix}", options: "MA"},
{trigger: "matrix", replacement: "\\begin{matrix}\n$0\n\\end{matrix}", options: "MA"},
{trigger: "pmat", replacement: "\\begin{pmatrix}$0\\end{pmatrix}", options: "nA"},
{trigger: "bmat", replacement: "\\begin{bmatrix}$0\\end{bmatrix}", options: "nA"},
{trigger: "Bmat", replacement: "\\begin{Bmatrix}$0\\end{Bmatrix}", options: "nA"},
{trigger: "vmat", replacement: "\\begin{vmatrix}$0\\end{vmatrix}", options: "nA"},
{trigger: "Vmat", replacement: "\\begin{Vmatrix}$0\\end{Vmatrix}", options: "nA"},
{trigger: "matrix", replacement: "\\begin{matrix}$0\\end{matrix}", options: "nA"},
{trigger: "case", replacement: "\\begin{cases}\n$0\n\\end{cases}", options: "mA"},
{trigger: "align", replacement: "\\begin{align}\n$0\n\\end{align}", options: "mA"},
{trigger: "array", replacement: "\\begin{array}{c}\n$0\n\\end{array}", options: "mA"},
// Brackets
{trigger: "avg", replacement: "\\langle $0 \\rangle $1", options: "mA"},
{trigger: "norm", replacement: "\\left\\| $0 \\right\\|$1", options: "mA", priority: 1},
{trigger: "mod", replacement: "|$0|$1", options: "mA"},
{trigger: "(", replacement: "(${VISUAL})", options: "mA"},
{trigger: "[", replacement: "[${VISUAL}]", options: "mA"},
{trigger: "{", replacement: "{${VISUAL}}", options: "mA"},
{trigger: "(", replacement: "($0)$1", options: "mA"},
{trigger: "{", replacement: "{$0}$1", options: "mA"},
{trigger: "[", replacement: "[$0]$1", options: "mA"},
{trigger: "ceil", replacement: "\\left\\lceil $0 \\right\\rceil $1", options: "mA"},
{trigger: "floor", replacement: "\\left\\lfloor $0 \\right\\rfloor$1", options: "mA"},
{trigger: "@)", replacement: "\\left( $0 \\right) $1", options: "mA"},
{trigger: "@|", replacement: "\\left| $0 \\right| $1", options: "mA"},
{trigger: "@\\", replacement: "\\left. $0 \\right|_{$1}$2", options: "mA"},
{trigger: "@}", replacement: "\\left\\{ $0 \\right\\} $1", options: "mA"},
{trigger: "set", replacement: "\\{ $1 \\}$0", options: "mA"},
{trigger: "@]", replacement: "\\left[ $0 \\right] $1", options: "mA"},
{trigger: "@>", replacement: "\\left< $0 \\right> $1", options: "mA"},
// Misc
{trigger: "tayl", replacement: "${0:f}(${1:x} + ${2:h}) = ${0:f}(${1:x}) + ${0:f}'(${1:x})${2:h} + ${0:f}''(${1:x}) \\frac{${2:h}^{2}}{2!} + \\dots$3", options: "mA"},
{trigger: /iden(\d)/, replacement: (match) => {
const n = match[1];
let arr = [];
for (let j = 0; j < n; j++) {
arr[j] = [];
for (let i = 0; i < n; i++) {
arr[j][i] = (i === j) ? 1 : 0;
}
}
let output = arr.map(el => el.join(" & ")).join(" \\\\\n");
output = `\\begin{pmatrix}\n${output}\n\\end{pmatrix}`;
return output;
}, options: "mA", description: "N x N identity matrix"},
//LaTeX-like Theorem & Equation Referencer for Obsidian
{trigger: "prf", replacement: "`\\begin{proof}`\n\n$0\n\n`\\end{proof}`", options: "wt"},
{trigger: "prff", replacement: "`\\begin{proof}[Proof of [[]].]`\n\n$0\n\n`\\end{proof}`", options: "t"},
{trigger: "sln", replacement: "`\\begin{proof}[Solution.]`\n\n$0\n\n`\\end{proof}`", options: "t"},
{trigger: "slnf", replacement: "`\\begin{proof}[Solution of [[]].]`\n\n$0\n\n`\\end{proof}`", options: "t"},
{trigger: "als", replacement: "`\\begin{proof}[Analysis.]`\n\n$0\n\n`\\end{proof}`", options: "t"},
{trigger: "alsf", replacement: "`\\begin{proof}[Analysis of [[]].]`\n\n$0\n\n`\\end{proof}`", options: "t"},
{ trigger: "axm", replacement: "> [!axiom] $0\n> $1", options: "t" },
{ trigger: "def", replacement: "> [!definition] $0\n> $1", options: "t" },
{ trigger: "lem", replacement: "> [!lemma] $0\n> $1", options: "t" },
{ trigger: "prp", replacement: "> [!proposition] $0\n> $1", options: "t" },
{ trigger: "thm", replacement: "> [!theorem] $0\n> $1", options: "t" },
{ trigger: "cor", replacement: "> [!corollary] $0\n> $1", options: "t" },
{ trigger: "clm", replacement: "> [!claim] $0\n> $1", options: "t" },
{ trigger: "asm", replacement: "> [!assumption] $0\n> $1", options: "t" },
{ trigger: "exm", replacement: "> [!exm] $0\n> $1", options: "t" },
{ trigger: "exr", replacement: "> [!exercise] $0\n> $1", options: "t" },
{ trigger: "cnj", replacement: "> [!conjecture] $0\n> $1", options: "t" },
{ trigger: "hyp", replacement: "> [!hypothesis] $0\n> $1", options: "t" },
{ trigger: "rmk", replacement: "> [!remark] $0\n> $1", options: "t" },
{ trigger: "axiom", replacement: "> [!axiom] $0\n> $1", options: "t" },
{ trigger: "definition", replacement: "> [!definition] $0\n> $1", options: "t" },
{ trigger: "lemma", replacement: "> [!lemma] $0\n> $1", options: "t" },
{ trigger: "proposition", replacement: "> [!proposition] $0\n> $1", options: "t" },
{ trigger: "theorem", replacement: "> [!theorem] $0\n> $1", options: "t" },
{ trigger: "corollary", replacement: "> [!corollary] $0\n> $1", options: "t" },
{ trigger: "claim", replacement: "> [!claim] $0\n> $1", options: "t" },
{ trigger: "assumption", replacement: "> [!assumption] $0\n> $1", options: "t" },
{ trigger: "example", replacement: "> [!exm] $0\n> $1", options: "t" },
{ trigger: "exercise", replacement: "> [!exercise] $0\n> $1", options: "t" },
{ trigger: "conjecture", replacement: "> [!conjecture] $0\n> $1", options: "t" },
{ trigger: "hypothesis", replacement: "> [!hypothesis] $0\n> $1", options: "t" },
{ trigger: "remark", replacement: "> [!remark] $0\n> $1", options: "t" },
// admonition
{trigger: "adprf", replacement: "```ad-proof\n`\\begin{proof}`\n\n$0\n\n`\\end{proof}`\n```", options: "t"},
]