texmf/tex/latex/ngutils/ngutils.sty
2026-05-11 22:10:47 +02:00

124 lines
3.3 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{\Pe}{\ensuremath{\mathrm{P}}}
\newcommand{\NPe}{\ensuremath{\mathrm{NP}}}
\newcommand{\Oh}{\ensuremath{\mathcal{O}}}
\newcommand{\oh}{\ensuremath{\scriptstyle{\mathcal{O}}}}
\newcommand{\Eh}{\ensuremath{\mathrm{E}}}
\newcommand{\Var}{\ensuremath{\mathrm{Var}}}
\newcommand{\pot}{\ensuremath{\mathcal{P}}}
\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}
}
\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}
}