153 lines
4.5 KiB
TeX
153 lines
4.5 KiB
TeX
\NeedsTeXFormat{LaTeX2e}
|
|
\ProvidesPackage{ngutils}[2025/12/24 Never's LaTeX utils]
|
|
|
|
\RequirePackage[ngerman]{babel}
|
|
\RequirePackage{graphicx}
|
|
\RequirePackage{tabularx}
|
|
\RequirePackage{booktabs}
|
|
\RequirePackage{listings}
|
|
|
|
|
|
\lstnewenvironment{pseudocode}[1][] %defines the algorithm listing environment
|
|
{
|
|
\renewcommand{\lstlistingname}{Algorithmus}
|
|
\lstset{ %this is the stype
|
|
mathescape=true,
|
|
columns=fullflexible,
|
|
basicstyle=\normalfont,
|
|
identifierstyle=\scshape,
|
|
keywordstyle=\bfseries,
|
|
keywords={, new, if, then, else, while, for, in, to, up, down, foreach, do, return},
|
|
commentstyle=\itshape,
|
|
comment=[l]//,
|
|
delim=[is][\normalfont]{|}{|},
|
|
tabsize=3,
|
|
frame=tb,
|
|
framerule=1pt,
|
|
#1 % this is to add specific settings to an usage of this environment (for instnce, the caption and referable label)
|
|
}
|
|
}
|
|
{}
|
|
|
|
\newcommand{\seilpmi}{\ensuremath{\Longleftarrow}}
|
|
|
|
\newcommand\NN{\ensuremath{\mathbb{N}}}
|
|
\newcommand\ZZ{\ensuremath{\mathbb{Z}}}
|
|
\newcommand\QQ{\ensuremath{\mathbb{Q}}}
|
|
\newcommand\RR{\ensuremath{\mathbb{R}}}
|
|
\newcommand\CC{\ensuremath{\mathbb{C}}}
|
|
\newcommand\PP{\ensuremath{\mathbb{P}}}
|
|
|
|
\newcommand\Oh{\ensuremath{\mathcal{O}}}
|
|
\newcommand\oh{\ensuremath{\scriptstyle{\mathcal{O}}}}
|
|
\newcommand\Eh{\ensuremath{\mathrm{E}}}
|
|
\newcommand\Var{\ensuremath{\mathrm{Var}}}
|
|
\newcommand\argmax{\ensuremath{\mathrm{arg\,max}}}
|
|
\newcommand\argmin{\ensuremath{\mathrm{arg\,min}}}
|
|
|
|
\newcommand\parens[1]{\ensuremath{\left(#1\right)}}
|
|
\newcommand\brackets[1]{\ensuremath{\left[#1\right]}}
|
|
\newcommand\braces[1]{\ensuremath{\left\{#1\right\}}}
|
|
\newcommand\angled[1]{\ensuremath{\left\langle#1\right\rangle}}
|
|
|
|
\newcommand\tup[1]{\parens{#1}}
|
|
\newcommand\ivl[1]{\brackets{#1}}
|
|
\newcommand\set[1]{\braces{#1}}
|
|
\newcommand\arr[1]{\angled{#1}}
|
|
\newcommand\abs[1]{\ensuremath{\lvert#1\rvert}}
|
|
\newcommand\norm[1]{\ensuremath{\lVert#1\rVert}}
|
|
\newcommand\ceil[1]{\ensuremath{\lceil#1\rceil}}
|
|
\newcommand\floor[1]{\ensuremath{\lfloor#1\rfloor}}
|
|
|
|
\newcommand\alg[2]{{\normalfont\scshape#1}{\normalfont(#2)}}
|
|
\newcommand\algt[1]{{\normalfont\scshape#1}}
|
|
\newcommand\com[1]{{\normalfont\itshape/\!\!/ #1}}
|
|
|
|
|
|
\newenvironment{algorithmic}[1][1em]{
|
|
\begin{minipage}[t]{\dimexpr\linewidth}
|
|
\bfseries
|
|
\begin{tabbing}
|
|
\hspace{#1}\=\hspace{#1}\=\hspace{#1}\=\hspace{#1}\=\hspace{#1}\=\hspace{#1}\=\hspace{#1}\=\hspace{#1}\=\kill
|
|
}{%
|
|
\end{tabbing}
|
|
\end{minipage}
|
|
}
|
|
|
|
% \newenvironment{algorithm}[1][1em]{
|
|
% \begin{center}
|
|
% \begin{minipage}[t]{\dimexpr\linewidth}
|
|
% \bfseries
|
|
% \begin{tabbing}
|
|
% \hspace{#1}\=\hspace{#1}\=\hspace{#1}\=\hspace{#1}\=\hspace{#1}\=\hspace{#1}\=\hspace{#1}\=\hspace{#1}\=\kill
|
|
% }{%
|
|
% \end{tabbing}
|
|
% \end{minipage}
|
|
% \end{center}
|
|
% }
|
|
|
|
\makeatletter
|
|
\newcounter{algorithm}% the counter
|
|
\renewcommand*\thealgorithm{\arabic{algorithm}}% the default format for the counter
|
|
\newcommand*\fps@algorithm{tbp}% default floating options
|
|
\newcommand*\ftype@algorithm{4}% float type number, needs to be a power of 2; % \ftype@figure=1, \ftype@table=2
|
|
\newcommand*\ext@algorithm{loa}% extension of file for the list of schemes
|
|
\newcommand*\fnum@algorithm{\algorithmname\nobreakspace\thealgorithm}% used in caption
|
|
\newcommand*\algorithmname{Algorithmus}% the name
|
|
\newcommand*\listalgorithmname{Algorithmenverzeichnis}% the name of the list
|
|
\newenvironment{algorithm}{\@float{algorithm}}{\end@float}% the environment
|
|
\newenvironment{algorithm*}{\@dblfloat{algorithm}}{\end@dblfloat}% the starred % version for twocolumn documents
|
|
\newcommand*\listofalgorithms{% the list of schemes
|
|
\section*{\listalgorithmname}
|
|
\@mkboth
|
|
{\MakeUppercase\listalgorithmname}
|
|
{\MakeUppercase\listalgorithmname}
|
|
\@starttoc{\ext@algorithm} }
|
|
\let\l@algorithm\l@figure % layout of list is the same as for figures
|
|
\makeatother
|
|
|
|
\newlength{\theoremskip}
|
|
\setlength{\theoremskip}{6em}
|
|
|
|
\newcommand{\theoremfont}{\normalfont\bfseries}
|
|
\newcommand{\definitionfont}{\normalfont\bfseries}
|
|
|
|
\newenvironment{theoremic}[2][\theoremfont]{
|
|
{#1 #2}
|
|
\hfill
|
|
\begin{minipage}[t]{\the\dimexpr\linewidth-\theoremskip\relax}
|
|
}{
|
|
\end{minipage}
|
|
}
|
|
|
|
\newenvironment{theorem}{
|
|
\begin{theoremic}{Satz.}
|
|
}{
|
|
\end{theoremic}
|
|
}
|
|
|
|
\newenvironment{lemma}{
|
|
\begin{theoremic}{Lemma.}
|
|
}{
|
|
\end{theoremic}
|
|
}
|
|
|
|
\newenvironment{proof}{
|
|
\begin{theoremic}{Beweis.}
|
|
}{
|
|
\end{theoremic}
|
|
}
|
|
|
|
\newenvironment{definition}{
|
|
\begin{theoremic}[\definitionfont]{Definition.}
|
|
}{
|
|
\end{theoremic}
|
|
}
|
|
|
|
\newenvironment{example}{
|
|
\begin{theoremic}[\definitionfont]{Beispiel.}
|
|
}{
|
|
\end{theoremic}
|
|
}
|
|
|
|
|