for thmenv <- @⟨theorem,lemma,exercise,definition,corollary,example⟩ for thmprefix <- @⟨@thmenv:thm,lem,exe,def,cor,exa⟩ block auto start -- {{{ Environments string begin name environment snip \begin{$1} $0 \end{$1} -- }}} block auto !math start -- {{{ Environments & lists & their elements for env <- @⟨enumerate,itemize,align*⟩ string @⟨@env:olist,ulist,dm⟩ name @⟨@env:ordered list,unordered list,display math⟩ snip \begin{@env} $0 \end{@env} string proof snip \begin{proof}$?1⟨[Proof of @^⟨$1⟩]⟩ $0 \end{proof} string ciff name cases for ⟺ snip \begin{enumerate} \item[$\implies$]$1, \item[$\impliedby$]$2, \end{enumerate} $0 string item snip \item$|1⟨,[$1] $0⟩ -- }}} block text import common/math-phrases -- {{{ References string ref snip \ref{$1}$0 string r@thmprefix snip \ref{@thmprefix:$1}$0 string pref snip (\ref{$1})$0 string pr@thmprefix snip (\ref{@thmprefix:$1})$0 -- }}} block auto -- {{{ Delimiters string " name quote snip ``$1''$0 string $ name inline math snip \$$1\$$0 -- }}} string forcecr desc Force the content onto a new line snip {\ \\\} block math -- {{{ Sigma/Pi notation for shorthand <- @⟨sum,prod⟩ for symbol <- @⟨@shorthand:sigma,pi⟩ for operation <- @⟨@shorthand:sum,product⟩ string b@shorthand name @symbol @operation desc Write out a @operation using big @symbol notation snip \\@symbol{$|1⟨$1 = $2,$1⟩}^$|2⟨{$2},\infty$2⟩ $0 -- }}} -- {{{ Matrices for matkind <- @⟨matrix,determinant⟩ for matenv <- @⟨@matkind:bmatrix,vmatrix⟩ for shorthand <- @⟨@matkind:mat,det⟩ string 2@shorthand name 2x2 @matkind snip \begin{@matenv} $1 & $2 \\\\ $3 & $4 \end{@matenv} string 3@shorthand name 3x3 @matkind snip \begin{@matenv} $1 & $2 & $3 \\\\ $4 & $5 & $6 \\\\ $7 & $8 & $9 \end{@matenv} -- }}} -- {{{ Equations for createabbr <- @⟨false,true⟩ for operator <- @⟨@createabbr: @⟨eq,lt,gt⟩, @⟨neq,defas,leq,geq,iip,iib,iff⟩ ⟩ for symbol <- @⟨@createabbr: @⟨@operator:=,<,>⟩, @⟨@operator:\neq,\coloneq,\leq,\geq,\implies,\impliedby,\iff⟩ ⟩ block auto abbr @⟨@createabbr:op-@operator,@operator⟩ @symbol string a@operator name align at @operator snip &@symbol $0 block start string al@operator name aligned @operator snip \\\\ $1 &@symbol $2 $0 string cr@operator name start with @operator snip \\\\&@symbol $0 block start string eqsystem name system of equations snip \left\{ \begin{array}{rl} $0 \end{array} \right\} -- }}} -- {{{ Explanations block end for suffix <- @⟨add,sub,rmul,pow,inv⟩ string ex@suffix snip && \lrb{\square @⟨@suffix: + $1, - $1, \cdot $1, ^{$1}, ^{-1}, ⟩}$0 for prefix <- @⟨neg,mul,ln⟩ string ex@prefix snip && \lrb{@⟨@prefix:-,$1,\ln⟩ \square}$0 string exdiv snip && \lrb{\frac \square {$1}}$0 string exint snip && \lrb{\int\square \dif $1}$0 string exdint snip && \lrb{\int_{$1}^{$2}\square \dif $3}$0 for kind <- @⟨texpl,extrin,exbound,exdef⟩ string @kind snip && \lrb{\text{@⟨@kind: $1, triangle inequality on $$1$, $$1$ is bounded, definition of $$1$, ⟩}}$0 -- }}} block auto word -- {{{ Shorthands -- {{{ Constants for constkind <- @⟨default,shortened⟩ for constant <- @⟨@constkind: @⟨star,delta,Delta,pi,tau,psi,phi,rho,sigma,alpha,beta,theta,gamma,omega,Omega,half,ordop,land,lor⟩, @⟨lam,eps,iinf⟩ ⟩ for expansion <- @⟨@constkind: @constant, @⟨@constant:lambda,epsilon,ifty⟩ ⟩ for operator <- @⟨,e,s⟩ string @operator@constant snip @⟨@operator:,^,_⟩\\@expansion -- }}} -- {{{ Logic abbr frl \forall abbr exs \exists abbr nope \bot abbr yee \top -- }}} -- {{{ Set-theory abbr card \# abbr ccap \cap abbr ccup \cup abbr iin \in abbr nin \not\in abbr nuls \varnothing abbr ortco ^\bot abbr sdiff \setminus abbr sinter ^\circ abbr smul \times abbr speq \supseteq abbr spt \supset abbr sseq \subseteq abbr sst \subset -- }}} -- {{{ Numbers abbr niinf -\ifty abbr eniinf ^{-\ifty} abbr sniinf _{-\ifty} abbr ccan \cancel abbr mul \cdot abbr nlnl \pm abbr limsup \lim\sup -- }}} -- {{{ Misc abbr oball \ball abbr vsm \vecspace abbr mangle \measuredangle abbr com \circ -- }}} -- {{{ Fonts abbr bb \mathbb abbr cal \mathcal -- }}} -- }}} -- {{{ Sets for set <- @⟨N,Z,Q,I,R,C,P,F⟩ abbr @⟨@set:nats,ints,rats,irats,rrea,comp,ppri,ffie⟩ \mathbb @set string set desc Create a set by escaping the brackets snip \{$1\} -- }}} -- {{{ Operators for noperator <- @⟨ordop,land,lor,equiv,pmod,ldots,cdots,perp,angle,sup⟩ abbr @noperator \\@noperator for operator <- @⟨overline,hat,bar,abs,norm,prob,diprod,sin,cos,sqrt,ln,lrb,zmod,gen,diam,prob⟩ string @operator snip \\@operator$|1⟨{$1}, $0⟩ for bioperator <- @⟨iprod,frac,binom,dist⟩ string @bioperator snip \\@bioperator$|1⟨ $1,{$1}⟩$|2⟨ $2,{$2}⟩ $0 -- }}} block auto -- {{{ Subscripts & exponents pattern (.*)e@⟨t(%a),(%d)⟩ name auto exponent snip @0^@1 $0 pattern (.*)so(%a) name auto subscript snip @0_@1 $0 pattern (\?[%a]+)(%d) name auto digt subscript snip @0_@1 $0 string ss name subscript snip _{$1} $0 string ee name exponent snip ^{$1} $0 -- }}} -- {{{ Postfix notation block !word abbr .inv ^{-1} abbr .neg _- abbr .pos _+ abbr .t ^T -- }}} -- {{{ Limits & integrals for limtarget <- @⟨anything,zero,infinity,negative infinity⟩ for prefix <- @⟨@limtarget:,z,i,n⟩ for limtargetsymbol <- @⟨@limtarget:$2,0,\infty,-\infty⟩ string @prefix⋄lim name limit to @limtarget snip \lim_{$1 \to @limtargetsymbol} $0 string intd name definite integral snip \int_{$|1⟨$1,-\infty$1⟩}^$|2⟨{$2},\infty$2⟩ $3 \dif $0 string inti name indefinite integral snip \int $1 \dif $0 -- }}}