summaryrefslogtreecommitdiffstats
path: root/tex/.config/tex/jesse_macros.sty
diff options
context:
space:
mode:
Diffstat (limited to 'tex/.config/tex/jesse_macros.sty')
-rw-r--r--tex/.config/tex/jesse_macros.sty104
1 files changed, 104 insertions, 0 deletions
diff --git a/tex/.config/tex/jesse_macros.sty b/tex/.config/tex/jesse_macros.sty
new file mode 100644
index 0000000..e27fa25
--- /dev/null
+++ b/tex/.config/tex/jesse_macros.sty
@@ -0,0 +1,104 @@
+% vim:foldmarker=<<<,>>>
+% <<< headers
+\def\headers#1#2#3{\lhead{#1}\chead{#2}\rhead{#3}}
+% >>>
+
+% <<< Blackboard bold
+\DeclareSymbolFont{AMSb}{U}{msb}{m}{n}
+\DeclareMathSymbol{\N}{\mathbin}{AMSb}{"4E}
+\DeclareMathSymbol{\Z}{\mathbin}{AMSb}{"5A}
+\DeclareMathSymbol{\R}{\mathbin}{AMSb}{"52}
+\DeclareMathSymbol{\Q}{\mathbin}{AMSb}{"51}
+\DeclareMathSymbol{\I}{\mathbin}{AMSb}{"49}
+\DeclareMathSymbol{\C}{\mathbin}{AMSb}{"43}
+% >>>
+
+% <<< jeff's algorithm/code stuff
+% <<< algorithm environment
+\def\begin@lgo{\begin{minipage}{1in}\begin{tabbing}
+ \quad\=\qquad\=\qquad\=\qquad\=\qquad\=\qquad\=\qquad\=\kill}
+\def\end@lgo{\end{tabbing}\end{minipage}}
+
+\newenvironment{algorithm}
+ {\begin{tabular}{|l|}\hline\begin@lgo}
+ {\end@lgo\\\hline\end{tabular}}
+
+\def\beginc@de{\noindent\begin{center}\begin{minipage}{1in}\tt
+ \begin{tabbing}~~~~\=~~~~\=~~~~\=~~~~\=~~~~\=~~~~\=~~~~\=\kill}
+\def\endc@de{\end{tabbing}\end{minipage}\end{center}}
+
+\newenvironment{code}{\beginc@de}{\endc@de}
+% >>>
+
+% <<< algorithm definitions that handle highlighting and indentation
+\def\algoname#1{\textbf{\textsc{#1}}}
+\def\algotitle#1{\+\underline{\algoname{#1}}}
+\def\cif{\+\textbf{if} }
+\def\cthen{\textbf{then} }
+\def\celse{\+\textbf{else} }
+\def\creturn{\-\textbf{return} }
+\def\cwhile{\+\textbf{while} }
+\def\cdo{\textbf{do} }
+\def\cfor{\+\textbf{for} }
+\def\cbreak{\-\textbf{break} }
+% >>>
+% >>>
+
+% <<< more jeff's stuff for easier grouping symbols
+% <<< small grouping symbols
+\def\floor#1{\lfloor #1 \rfloor}
+\def\ceil#1{\lceil #1 \rceil}
+\def\seq#1{\langle #1 \rangle}
+\def\set#1{\{ #1 \}}
+\def\abs#1{\mathopen| #1 \mathclose|} % use instead of $|x|$
+\def\norm#1{\mathopen\| #1 \mathclose\|} % use instead of $\|x\|$
+\def\indic#1{\big[#1\big]} % indicator variable; Iverson notation
+ % e.g., Kronecker delta = [x=0]
+% >>>
+
+% <<< large grouping symbols
+\def\Floor#1{\left\lfloor #1 \right\rfloor}
+\def\Ceil#1{\left\lceil #1 \right\rceil}
+\def\Seq#1{\left\langle #1 \right\rangle}
+\def\Set#1{\left\{ #1 \right\}}
+\def\Abs#1{\left| #1 \right|}
+\def\Norm#1{\left\| #1 \right\|}
+\def\Paren#1{\left( #1 \right)} % need better macro name!
+\def\Brack#1{\left[ #1 \right]} % need better macro name!
+\def\Indic#1{\left[ #1 \right]} % indicator variable; Iverson notation
+% >>>
+% >>>
+
+% <<< displaystyle operators (also from jeff)
+\def\Frac#1#2{{\displaystyle\frac{#1}{#2}}}
+\def\Sum{\sum\limits}
+\def\Prod{\prod\limits}
+\def\Union{\bigcup\limits}
+\def\Inter{\bigcap\limits}
+\def\Lor{\bigvee\limits}
+\def\Land{\bigwedge\limits}
+\def\Lim{\lim\limits}
+\def\Max{\max\limits}
+\def\Min{\min\limits}
+% >>>
+
+% <<< cs421 stuff
+% <<< conversion symbols
+\def\alphaconv{\hspace{0.7em}\alpha\hspace{-1.4em}\longrightarrow}
+\def\betared{\hspace{0.7em}\beta\hspace{-1.4em}\longrightarrow}
+\def\etared{\hspace{0.7em}\eta\hspace{-1.4em}\longrightarrow}
+\def\l#1#2{\lambda #1.#2}
+% >>>
+
+% <<< prof gunter's macros for type inference
+\def\type#1#2#3{#1\vdash #2:#3}
+% >>>
+% >>>
+
+% <<< proof macros
+\def\iff#1#2{\begin{itemize}\item[\em If:]#1\item[\em Only if:]#2\end{itemize}}
+% >>>
+
+% <<< other symbols
+\def\nsubset{\hspace{0.4em}/\hspace{-0.9em}\subset}
+% >>>