latex-packages/mkessler-math.sty

164 lines
4.5 KiB
TeX
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{mkessler-math}[2021/03/31 - Math package]
%%%%%%Provides the basic math packages used for my lecture-note write-ups
%The language to pass to babel
\newif\ifenglish\englishtrue
\DeclareOption{german}{\englishfalse}
\DeclareOption{english}{\englishtrue}
%If beamer shall be activated
\newif\ifbeamer\beamerfalse
\DeclareOption{beamer}{\beamertrue}
\DeclareOption{nobeamer}{\beamerfalse}
\DeclareOption*{\PackageWarning{mkessler-math}{Unknown '\CurrentOption'}}
\ProcessOptions\relax
\RequirePackage[\ifenglish english \else ngerman\fi]{babel}
\RequirePackage[T1]{fontenc}
% When using utf8x, we have to load ucs and inputenc with utf8x option and must exclude bibtex
% When not using utf8x (plan utf8), we must NOT load ucs, and then load inputenc with utf8-option as well as bibtex
% also, when using plain utf8, we want to load the newunicodechar package
\RequirePackage[utf8]{inputenc}
\RequirePackage{newunicodechar}
\newunicodechar{α}{\ensuremath\alpha}
\newunicodechar{β}{\ensuremath\beta}
\newunicodechar{γ}{\ensuremath\gamma}
\newunicodechar{δ}{\ensuremath\delta}
\newunicodechar{ε}{\ensuremath\epsilon}
\newunicodechar{ζ}{\ensuremath\zeta}
\newunicodechar{η}{\ensuremath\eta}
\newunicodechar{θ}{\ensuremath\theta}
\newunicodechar{ι}{\ensuremath\iota}
\newunicodechar{κ}{\ensuremath\kappa}
\newunicodechar{λ}{\ensuremath\lambda}
\newunicodechar{μ}{\ensuremath\mu}
\newunicodechar{ν}{\ensuremath\nu}
\newunicodechar{ξ}{\ensuremath\xi}
\newunicodechar{π}{\ensuremath\pi}
\newunicodechar{ρ}{\ensuremath\rho}
\newunicodechar{σ}{\ensuremath\sigma}
\newunicodechar{τ}{\ensuremath\tau}
\newunicodechar{υ}{\ensuremath\upsilon}
\newunicodechar{φ}{\ensuremath\phi}
\newunicodechar{χ}{\ensuremath\chi}
\newunicodechar{ψ}{\ensuremath\psi}
\newunicodechar{ω}{\ensuremath\omega}
\RequirePackage[backend=biber,style=alphabetic]{biblatex}
\RequirePackage{csquotes}
\RequirePackage{anyfontsize}
\RequirePackage{lmodern}
\RequirePackage{etoolbox}
\RequirePackage{amsmath}
\RequirePackage{mathtools}
\RequirePackage{amsthm}
\RequirePackage{amssymb}
\RequirePackage{comment}
\RequirePackage{soul}
\RequirePackage{caption}
\RequirePackage{subcaption}
\RequirePackage{latexsym}
\RequirePackage{mathrsfs}
\ifbeamer\else
\RequirePackage[shortlabels]{enumitem}
\fi
\RequirePackage{wrapfig}
%Pgfplots
\RequirePackage{pgfplots}
\pgfplotsset{compat=1.7}
% TIKZ
\RequirePackage{tikz}
\usetikzlibrary{calc, intersections, through, quotes, angles, babel, positioning, snakes}
%\RequirePackage{tkz-euclide}
\RequirePackage[export]{adjustbox}
%Commutative diagrams
\RequirePackage{tikz-cd}
%%for small diagrams, similar to tikz-cd
\usepackage{xy} % for small diagrams, e.g. arrows
\xyoption{all}
%%Theorems needed in any case (fancy or not fancy theorems)
% Für Formeln
\RequirePackage{mathabx}
\RequirePackage{faktor}
\RequirePackage[mathscr]{eucal}
\RequirePackage{blindtext}
\RequirePackage{tabto}
\RequirePackage{lastpage} %\pageref{LastPage} for reference on the last page
% Für Tabulatoren
\RequirePackage{pdfpages} % PDF-Dateien einbinden
% Für Zeilenumbruch
\RequirePackage{microtype}
\RequirePackage{changepage}
\RequirePackage{esint}
\RequirePackage{IEEEtrantools}
\RequirePackage[ngerman,ruled,vlined]{algorithm2e}
%%% Custom commands
%%Load additional operators
\RequirePackage{mkessler-operators}
%Short commands for \mathbb{}
\newcommand{\C}{\ensuremath{\mathbb{C}}}
\newcommand{\F}{\ensuremath{\mathbb{F}}}
\newcommand{\K}{\ensuremath{\mathbb{K}}}
\newcommand{\N}{\ensuremath{\mathbb{N}}}
\newcommand{\Q}{\ensuremath{\mathbb{Q}}}
\newcommand{\R}{\ensuremath{\mathbb{R}}}
\newcommand{\Z}{\ensuremath{\mathbb{Z}}}
%Paired Delimiters
\DeclarePairedDelimiter\ceil{\lceil}{\rceil}
\DeclarePairedDelimiter\floor{\lfloor}{\rfloor}
%Norm and absolute value
%Make them scaling by default and have \abs*{} as the non-scaling version of the command
\DeclarePairedDelimiter\abs{\lvert}{\rvert}
\makeatletter
\let\oldabs\abs
\def\abs{\@ifstar{\oldabs}{\oldabs*}}
\DeclarePairedDelimiter\norm{\lVert}{\rVert}
\let\oldnorm\norm
\def\norm{\@ifstar{\oldnorm}{\oldnorm*}}
\makeatother
%%%Fixes of common misbehaviour
%Proper Degree command
\renewcommand{\degree}{^\circ}
% Always put limits under \limit
\let\oldlim\lim\def\lim{\oldlim\limits}
\newcommand{\emphasize}[1]{{\color{red} #1}}
%For setting counters of itemns in \enemerate
\makeatletter
\newcommand\setItemnumber[1]{\setcounter{enum\romannumeral\@enumdepth}{\numexpr#1-1\relax}}
\makeatother