305 lines
6.7 KiB
Plaintext
305 lines
6.7 KiB
Plaintext
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
|
|
-- }}}
|