% -----------------------------------------------------------------------------
% Warining Filter
% -----------------------------------------------------------------------------
\usepackage{silence}
% https://tex.stackexchange.com/questions/451192/file-english-ieee-lbx-not-found-ignoring-mapping-english-english-ieee
\WarningFilter{biblatex}{File 'english-ieee.lbx'}

% http://packages.oth-regensburg.de/ctan/macros/latex/contrib/regstats/regstats.pdf
\usepackage[proof=false,left=true,timer=true]{regstats}[2012/01/07]%

% include packages

% Debugging
% https://texblog.org/2011/02/26/generating-dummy-textblindtext-with-latex-for-testing/
\usepackage{blindtext}

% -----------------------------------------------------------------------------
% basics
% -----------------------------------------------------------------------------
\usepackage[english]{babel}  % language setting
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage[backend=biber,style=ieee]{biblatex} % for biblatex; comment out if using bibtex; used until 2018-04-18
%\usepackage[citestyle=alphabetic,style=alphabetic,backend=biber]{biblatex}
\usepackage{csquotes} 	% for biblatex, avoids a warning about babel/polyglossia
\usepackage{setspace}  % to set line spacing
\usepackage{lettrine} 	% Starting a paragraph with a big letter ...

% -----------------------------------------------------------------------------
% math
% -----------------------------------------------------------------------------
\usepackage{amsmath,amssymb,amsthm,amsfonts}
\usepackage{mathtools}  		% for \DeclarePairedDelimiter to declare functions with auto-sizing braces
\usepackage{nicefrac}  			% for nice fractions like 1/4
\usepackage{IEEEtrantools}  % for \IEEEeqnarray [retainorgcmds]

% -----------------------------------------------------------------------------
% colors
% -----------------------------------------------------------------------------
\usepackage{color} %required for headers
\usepackage[table]{xcolor}  % for tikz caption symbols (rgb colors); table option for colored tables
\usepackage{soul}  % for \hl{} to highlight text
\usepackage{balance}

% -----------------------------------------------------------------------------
% graphics basics
% -----------------------------------------------------------------------------
\usepackage{graphicx}

\usepackage[format=plain,font=footnotesize]{caption}  % necessary for subcaption; resize caption; optional: labelfont=bf,textfont=it
%\usepackage{caption}  % necessary for subcaption; resize caption
\usepackage{subcaption}
\captionsetup[sub]{font=footnotesize}  	% set the subcaption caption text size
\captionsetup[table]{belowskip=5pt}  		% increase space between table caption and table


% -----------------------------------------------------------------------------
% PGF/tikz/matlab2tikz
% -----------------------------------------------------------------------------

% tikz plots:
\usepackage{tikz, pgfplots}
\pgfplotsset{compat=newest}
%\pgfplotsset{/pgf/number format/use comma}  			% german decimal comma
\pgfplotsset{/pgf/number format/1000 sep={}}  		% german 1000 separater: none
\pgfplotsset{/pgf/number format/precision=4}  		% mehr Nachkommastellen bei den Tick-Labels zulassen, ohne Nullen zu erzwingen
% \pgfplotsset{/pgf/number format/fixed zerofill}   % Nullen in den Nachkommastellen erzwingen
% \pgfplotsset{/pgf/number format/fixed} 					  % ?
\usetikzlibrary{plotmarks, arrows.meta}  					% from matlab2tikz example
\usetikzlibrary{fit,positioning,arrows,automata}  % NEW !!!
\usetikzlibrary{bayesnet}													% NEW !!!
\usepgfplotslibrary{patchplots}  									% from matlab2tikz example
\pgfplotsset{plot coordinates/math parser=false}  % allow text strings for coordinate labels (?)
\newlength\figurewidth  													% not needed when tikzscale is in use
\newlength\figureheight  													% not needed when tikzscale is in use
\usepackage{tikzscale}  													% scale tikz nicely with includegraphics
\usepackage{grffile}  														% from matlab2tikz example

% tikz externalization:
\usepgfplotslibrary{external} 
\tikzexternalize[prefix=externalize/]  % set the output directory for externalized tikz graphics (must exist)
% pdflatex: call pdflatex with -shell-escape to externalize automatically
% lualatex: activate this line:
%\tikzset{external/system call={lualatex -shell-escape -halt-on-error -interaction=batchmode -jobname "\image" "\texsource"}}  % LuaLaTeX configuration for externalization
\tikzexternaldisable  % disable default externalization of every figure; re-enabled individually using custom macros \mytikzexton (before \begin{figure}) and \mytikzextoff (after \end{figure})


% -----------------------------------------------------------------------------
% units
% -----------------------------------------------------------------------------
\usepackage{siunitx}
%\sisetup{per=frac, fraction=nice, exponent-product=\cdot}
%\sisetup{locale=DE}

% -----------------------------------------------------------------------------
% extend enumerations, lists of symbols, acronyms, automatic references
% -----------------------------------------------------------------------------
\usepackage{enumerate}  % add an optional customization parameter to enumerate
%\usepackage{listofsymbols}  % for \newsym to define symbols (without arguments), see macro file
%\usepackage[nohyperlinks]{acronym} %options: printonlyused, nolist
%\usepackage[]{acro}
%\usepackage{cleveref}  % the combination of hyperref and cleveref breaks \eqref -> include cleveref after hyperref?!?

% -----------------------------------------------------------------------------
% extend tables
% -----------------------------------------------------------------------------
% from https://tex.stackexchange.com/questions/12672/which-tabular-packages-do-which-tasks-and-which-packages-conflict

% basics:
\usepackage{array}  	 	% more flexible column formatting; fix some spacing issues
\usepackage{booktabs}  	% better vertical spacing; better rules; designed for tables without vertical lines
\usepackage{tabularx}  	% tabularx as replacement for tabular, providing the X column type to fill the table width and break lines automatically
\usepackage{multirow}  	% table cells spanning multiple rows
% tabulary, multirow, ...
\newcolumntype{Y}{>{\centering\arraybackslash}X}
% multi-page:
% \usepackage{longtable}  % tabulars that can split across tables

% color and fancy features:
%\usepackage{colortbl}  % colored table backgrounds; automatically loaded by xcolor with table option

% -----------------------------------------------------------------------------
% algorithms
% -----------------------------------------------------------------------------
\usepackage[chapter, Algorithmus]{algorithm}  % floating environment for algorithms; chapter labels algorithms per chapter; Algorithmus sets the german title
\usepackage{algorithmicx}  % formatting of algorithms
\usepackage{algpseudocode}  % the algorithmicx algpseudocode layout
\usepackage{setspace}  % for \setstretch within \algorithmic to increase the line spacing

%\usepackage{layouts}
% -----------------------------------------------------------------------------
% hyperref
% -----------------------------------------------------------------------------
\usepackage[bookmarks=true, 
            unicode=true, 
						colorlinks=true, 
						hidelinks, 
						linktoc=all]{hyperref}
% -----------------------------------------------------------------------------
% custom page layout
% -----------------------------------------------------------------------------
\usepackage[left=2.5cm,right=2cm, vmargin=3cm]{geometry}  % load geometry after hyperref
%%%\usepackage{fancyhdr} %set header and footer
%\usepackage[explicit]{titlesec} %format section titles: explicit option to be able to use the argument in the definition 
%\usepackage[titles]{tocloft} %format toc

\usepackage[
automake, 			% Glossar automatisch via restricted shell escapes erzeugen 
acronym,				% Abkürzungsverzeichnis erstellen  
nonumberlist, 	% keine Seitenzahlen anzeigen		
toc,						% show up in table of contents
]{glossaries}
\usepackage{glossary-mcols}
%\renewcommand{\glsnamefont}[1]{\rmfamilytextmd{#1}}		%Text nicht fett


\newglossary{symbols}{sym}{sbl}{Notational Conventions}
\makeglossaries
\newlength\textwidthcm
\textwidthcm=.03514598035146\textwidth

\usepackage{scrhack} 	% regarding: Class scrbook Warning: \float@addtolists detected!
											% recommondation to use this package
