\def\gooditem{\item[{$\color{neutral_red}\bullet$}]}
\def\baditem{\item[{$\color{neutral_green}\bullet$}]}

% put an explanation above an equal sign
% [1]: equality sign (or anything else)
% 2: text (not in math mode!)
\newcommand{\explUnderEq}[2][=]{%
    \underset{\substack{\uparrow\\\mathrlap{\text{\hspace{-1em}#2}}}}{#1}}
\newcommand{\explOverEq}[2][=]{%
    \overset{\substack{\mathrlap{\text{\hspace{-1em}#2}}\\\downarrow}}{#1}}

% COMMON SYMBOLS WITH SUPER/SUBSCRIPTS, VECTOR ARROWS ETC.
\def\Grad{\vec{\nabla}}
\def\Div{\vec{\nabla} \cdot}
\def\Rot{\vec{\nabla} \times}
\def\vecr{\vec{r}}
\def\vecx{\vec{x}}
\def\kB{k_\text{B}}
\def\EFermi{E_\text{F}}
\def\Evalence{E_\text{v}}
\def\Econd{E_\text{c}}
\def\Egap{E_\text{gap}}
\def\masse{m_\textrm{e}}
\def\Four{\mathcal{F}}  % Fourier transform
\def\Lebesgue{\mathcal{L}}  % Lebesgue
\def\O{\mathcal{O}} 
\def\PhiB{\Phi_\text{B}}
\def\PhiE{\Phi_\text{E}}


% SYMBOLS
\def\R{\mathbb{R}}
\def\C{\mathbb{C}}
\def\Z{\mathbb{Z}}
\def\N{\mathbb{N}}
% caligraphic
\def\calE{\mathcal{E}}
% upright
\def\txA{\text{A}}
\def\txB{\text{B}}
\def\txC{\text{C}}
\def\txD{\text{D}}
\def\txE{\text{E}}
\def\txF{\text{F}}
\def\txG{\text{G}}
\def\txH{\text{H}}
\def\txI{\text{I}}
\def\txJ{\text{J}}
\def\txK{\text{K}}
\def\txL{\text{L}}
\def\txM{\text{M}}
\def\txN{\text{N}}
\def\txO{\text{O}}
\def\txP{\text{P}}
\def\txQ{\text{Q}}
\def\txR{\text{R}}
\def\txS{\text{S}}
\def\txT{\text{T}}
\def\txU{\text{U}}
\def\txV{\text{V}}
\def\txW{\text{W}}
\def\txX{\text{X}}
\def\txY{\text{Y}}
\def\txZ{\text{Z}}

\def\txa{\text{a}}
\def\txb{\text{b}}
\def\txc{\text{c}}
\def\txd{\text{d}}
\def\txe{\text{e}}
\def\txf{\text{f}}
\def\txg{\text{g}}
\def\txh{\text{h}}
\def\txi{\text{i}}
\def\txj{\text{j}}
\def\txk{\text{k}}
\def\txl{\text{l}}
\def\txm{\text{m}}
\def\txn{\text{n}}
\def\txo{\text{o}}
\def\txp{\text{p}}
\def\txq{\text{q}}
\def\txr{\text{r}}
\def\txs{\text{s}}
\def\txt{\text{t}}
\def\txu{\text{u}}
\def\txv{\text{v}}
\def\txw{\text{w}}
\def\txx{\text{x}}
\def\txy{\text{y}}
\def\txz{\text{z}}
% complex, may be changed later to idot or upright...
\def\I{i}

% SPACES
\def\sdots{\,\dots\,}
\def\qdots{\quad\dots\quad}
\def\qRarrow{\quad\Rightarrow\quad}

% DELIMITERS
\DeclarePairedDelimiter{\abs}{\lvert}{\rvert}
\DeclarePairedDelimiter{\floor}{\lfloor}{\rfloor}
\DeclarePairedDelimiter{\ceil}{\lceil}{\rceil}

% OPERATORS
\DeclareMathOperator{\e}{e}
\DeclareMathOperator{\T}{T}  % transposed
\DeclareMathOperator{\sgn}{sgn}
\DeclareMathOperator{\tr}{tr}
\DeclareMathOperator{\const}{const}
\DeclareMathOperator{\erf}{erf}
\DeclareMathOperator{\erfc}{erfc}
\DeclareMathOperator{\cov}{cov}
% diff, for integrals and stuff
% \DeclareMathOperator{\dd}{d}
\renewcommand*\d{\mathop{}\!\mathrm{d}}
% functions with paranthesis
\newcommand\CmdWithParenthesis[2]{
    #1\left(#2\right)
}
\newcommand\Exp[1]{\CmdWithParenthesis{\exp}{#1}}
\newcommand\Sin[1]{\CmdWithParenthesis{\sin}{#1}}
\newcommand\Cos[1]{\CmdWithParenthesis{\cos}{#1}}
\newcommand\Order[1]{\CmdWithParenthesis{\mathcal{O}}{#1}}
