Cheatsheets/patterns/echodefs.sty
Sebastian Lenzlinger a3656787b1 SYNC
2024-01-31 00:49:19 +01:00

258 lines
8.0 KiB
TeX

\ProvidesPackage{echodefs}
%-----------------------------------------------------------------------------
% PROCESS PACKAGE OPTIONS
%-----------------------------------------------------------------------------
\DeclareOption{matit}{
\providecommand{\vect}[1]{\ensuremath{\bm{{#1}}}}
\providecommand{\mat}[1]{\ensuremath{\bm{{#1}}}}
}
\DeclareOption{matnotit}{
\providecommand{\vect}[1]{\ensuremath{\mathbf{#1}}}
\providecommand{\mat}[1]{\ensuremath{\mathbf{#1}}}
}
\ExecuteOptions{matit}
\ProcessOptions\relax
%-----------------------------------------------------------------------------
% EXTERNAL PACKAGES
%-----------------------------------------------------------------------------
% Common commands and definitions
\RequirePackage{amsmath}
\RequirePackage{amssymb}
\RequirePackage{amsthm}
\RequirePackage{latexsym}
\RequirePackage{verbatim}
\RequirePackage{graphicx}
\RequirePackage{algorithm}
\RequirePackage{algpseudocode}
\RequirePackage{enumerate}
\RequirePackage{bm}
\RequirePackage{hyperref}
\RequirePackage{mathtools}
% \RequirePackage{xcolor}
\RequirePackage{tikz}
\RequirePackage[framemethod=tikz]{mdframed}
\RequirePackage{multicol}
%-----------------------------------------------------------------------------
% CUSTOM ENVIRONMENTS
%-----------------------------------------------------------------------------
\newtheorem{theorem}{Theorem}
% \newtheorem{proposition}{Proposition}
\newtheorem{lemma}{Lemma}
\newtheorem{corollary}{Corollary}
\newtheorem{proposition}{Proposition}
\newtheorem{problem}{Problem}
\newtheorem{definition}{Definition}
% \newenvironment{eqali}{
% \begin{equation}
% \begin{aligned}
% }
% {
% \end{aligned}
% \end{equation}
% }
%-----------------------------------------------------------------------------
% REFERENCING AND CITING COMMANDS
%-----------------------------------------------------------------------------
\providecommand{\eref}[1]{\eqref{eq:#1}}
\providecommand{\cref}[1]{Chapter~\ref{chap:#1}}
\providecommand{\sref}[1]{Section~\ref{sec:#1}}
\providecommand{\fref}[1]{Figure~\ref{fig:#1}}
\providecommand{\sfref}[1]{Fig.~\ref{subfig:#1})}
\providecommand{\tref}[1]{Table~\ref{tab:#1}}
\providecommand{\aref}[1]{Algorithm~\ref{alg:#1}}
\providecommand{\lref}[1]{Lemma~\ref{lem:#1}}
\providecommand{\thref}[1]{Theorem~\ref{thm:#1}}
%-----------------------------------------------------------------------------
% SET SYMBOLS
%-----------------------------------------------------------------------------
\providecommand{\RR}{\ensuremath{\mathbb{R}}}
\providecommand{\CC}{\ensuremath{\mathbb{C}}}
\providecommand{\NN}{\ensuremath{\mathbb{N}}}
\renewcommand{\SS}{\ensuremath{\mathbb{S}}}
\providecommand{\ZZ}{\ensuremath{\mathbb{Z}}}
\providecommand{\PP}{\ensuremath{\mathbb{P}}}
\providecommand{\QQ}{\ensuremath{\mathbb{Q}}}
\providecommand{\EE}{\ensuremath{\mathbb{E}}}
%-----------------------------------------------------------------------------
% MATH MACROS
%-----------------------------------------------------------------------------
\providecommand{\abs}[1]{{\left|#1\right|}}
\providecommand{\norm}[1]{\left\lVert#1\right\rVert}
\providecommand{\expect}[1]{\mathbb{E}\left[#1\right]}
\providecommand{\bignorm}[1]{\left\lVert#1\right\rVert}
\providecommand{\inprod}[1]{\left\langle#1\right\rangle}
\providecommand{\set}[1]{\left\{#1\right\}}
\providecommand{\seq}[1]{\left<#1\right>}
\providecommand{\bydef}{\overset{\text{def}}{=}}
\providecommand{\diag}{\mathop{\mathrm{diag}}}
\providecommand{\rank}{\mathop{\mathrm{rank}}}
\providecommand{\conv}{\ast}
\providecommand{\circonv}[1]{\circledast_{#1}}
\providecommand{\parder}[2]{{\partial{#1} \over \partial{#2}}}
\providecommand{\parderr}[2]{{\partial^2{#1} \over \partial{#2}^2}}
\providecommand{\Rint}{\int_{\R}}
\providecommand{\di}{\ensuremath{\mathrm{d}}}
\providecommand{\e}{\ensuremath{\mathrm{e}}}
\providecommand{\I}{\ensuremath{\mathrm{j}}}
\providecommand{\epi}[1]{\e^{\hspace{1pt}\I{#1}}}
\providecommand{\eni}[1]{\e^{-\I{#1}}}
\providecommand{\T}{\ensuremath{T}}
\providecommand{\rect}{\ensuremath{\mathrm{rect}}}
\providecommand{\tri}{\ensuremath{\mathrm{tri}}}
\providecommand{\sign}{\ensuremath{\mathrm{sign}}}
\DeclareMathOperator*{\argmin}{arg\,min}
\DeclareMathOperator*{\argmax}{arg\,max}
\DeclareMathOperator*{\minimize}{minimize}
\DeclareMathOperator*{\maximize}{maximize}
% Functions
\providecommand{\tri}{\ensuremath{\mathrm{tri}}}
% Vector analysis
% \renewcommand{\div}{\nabla} % Conflicts with mathabx
\providecommand{\grad}{\nabla}
% Some calligraphic letters
\providecommand{\calS}{\mathcal{S}}
\providecommand{\calP}{\mathcal{P}}
\providecommand{\calR}{\mathcal{R}}
\providecommand{\calH}{\mathcal{H}}
\providecommand{\calM}{\mathcal{M}}
\providecommand{\calV}{\mathcal{V}}
\providecommand{\calF}{\mathcal{F}}
\providecommand{\calG}{\mathcal{G}}
\providecommand{\calO}{\mathcal{O}}
\providecommand{\calX}{\mathcal{X}}
\providecommand{\calY}{\mathcal{Y}}
\providecommand{\calL}{\mathcal{L}}
\providecommand{\calJ}{\mathcal{J}}
\providecommand{\calN}{\mathcal{N}}
\providecommand{\calU}{\mathcal{U}}
\providecommand{\calT}{\mathcal{T}}
\providecommand{\calI}{\mathcal{I}}
\providecommand{\calC}{\mathcal{C}}
\providecommand{\calD}{\mathcal{D}}
%-----------------------------------------------------------------------------
% MATRICES AND VECTORS
%-----------------------------------------------------------------------------
\providecommand{\wh}[1]{\ensuremath{\widehat{#1}}}
\providecommand{\wt}[1]{\ensuremath{\widetilde{#1}}}
\providecommand{\mA}{\mat{A}}
\providecommand{\mB}{\mat{B}}
\providecommand{\mC}{\mat{C}}
\providecommand{\mD}{\mat{D}}
\providecommand{\mE}{\mat{E}}
\providecommand{\mF}{\mat{F}}
\providecommand{\mH}{\mat{H}}
\providecommand{\mI}{\mat{I}}
\providecommand{\mJ}{\mat{J}}
\providecommand{\mK}{\mat{K}}
\providecommand{\mL}{\mat{L}}
\providecommand{\mN}{\mat{N}}
\providecommand{\mM}{\mat{M}}
\providecommand{\mO}{\mat{O}}
\providecommand{\mP}{\mat{P}}
\providecommand{\mQ}{\mat{Q}}
\providecommand{\mR}{\mat{R}}
\providecommand{\mS}{\mat{S}}
\providecommand{\mU}{\mat{U}}
\providecommand{\mV}{\mat{V}}
\providecommand{\mT}{\mat{T}}
\providecommand{\mW}{\mat{W}}
\providecommand{\mG}{\mat{G}}
\providecommand{\mX}{\mat{X}}
\providecommand{\mY}{\mat{Y}}
\providecommand{\mZ}{\mat{Z}}
\providecommand{\mGamma}{\mat{\Gamma}}
\providecommand{\mPi}{\mat{\Pi}}
\providecommand{\mSigma}{\mat{\Sigma}}
\providecommand{\mOmega}{\mat{\Omega}}
\providecommand{\mXi}{\mat{\Xi}}
\providecommand{\mDelta}{\mat{\Delta}}
\providecommand{\mLambda}{\mat{\Lambda}}
\providecommand{\mPhi}{\mat{\Phi}}
\providecommand{\va}{\vect{a}}
\providecommand{\vb}{\vect{b}}
\providecommand{\vc}{\vect{c}}
\providecommand{\vd}{\vect{d}}
\providecommand{\ve}{\vect{e}}
\providecommand{\vf}{\vect{f}}
\providecommand{\vE}{\vect{E}}
\providecommand{\vF}{\vect{F}}
\providecommand{\vg}{\vect{g}}
\providecommand{\vh}{\vect{h}}
\providecommand{\vk}{\vect{k}}
\providecommand{\vm}{\vect{m}}
\providecommand{\vn}{\vect{n}}
\providecommand{\vl}{\vect{l}}
\providecommand{\vp}{\vect{p}}
\providecommand{\vq}{\vect{q}}
\providecommand{\vr}{\vect{r}}
\providecommand{\vs}{\vect{s}}
\providecommand{\vt}{\vect{t}}
\providecommand{\vu}{\vect{u}}
\providecommand{\vw}{\vect{w}}
\providecommand{\vU}{\vect{U}}
\providecommand{\vx}{\vect{x}}
\providecommand{\vy}{\vect{y}}
\providecommand{\vz}{\vect{z}}
\providecommand{\vi}{\vect{i}}
\providecommand{\vj}{\vect{j}}
\providecommand{\vv}{\vect{v}}
\providecommand{\veta}{\vect{\eta}}
\providecommand{\vchi}{\vect{\chi}}
\providecommand{\vX}{\vect{X}}
\providecommand{\vY}{\vect{Y}}
\providecommand{\vgamma}{\vect{\gamma}}
\providecommand{\vdelta}{\vect{\delta}}
\providecommand{\vlambda}{\vect{\lambda}}
\providecommand{\vmu}{\vect{\mu}}
\providecommand{\vomega}{\vect{\omega}}
\providecommand{\vsigma}{\vect{\sigma}}
\providecommand{\vxi}{\vect{\xi}}
\providecommand{\valpha}{\vect{\alpha}}
\providecommand{\vphi}{\vect{\phi}}
\providecommand{\vzero}{\vect{0}}
\providecommand{\vone}{\vect{1}}
% symbols with wide hats
\providecommand{\whu}{\wh{u}} \providecommand{\whf}{\wh{f}}
% symbols with wide tildas
\providecommand{\w}{\omega}
\endinput