kleinzeug

This commit is contained in:
Erich Schubert 2024-05-22 12:36:42 +02:00
parent c35228eeed
commit 1b402e32ca
5 changed files with 45 additions and 24 deletions

View File

@ -1,7 +1,7 @@
\NeedsTeXFormat{LaTeX2e}[1994/06/01] \NeedsTeXFormat{LaTeX2e}[1994/06/01]
\ProvidesClass{abschlussarbeit}[2024/05/17 abschlussarbeit] \ProvidesClass{abarbeit}[2024/05/22 abarbeit]
%% Author: Erich Schubert %% Author: Erich Schubert
%% Version 0.1, 2024/05/17 %% Version 0.1.1, 2024/05/22
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\RequirePackage{ifthen} \RequirePackage{ifthen}
\RequirePackage{iftex} \RequirePackage{iftex}
@ -143,7 +143,7 @@
\vfill \vfill
\bgroup \bgroup
\raggedright \raggedright
Betreuung: \\ Begutachtung: \\
\erstgutachterIn{} \\ \erstgutachterIn{} \\
\zweitgutachterIn{} \zweitgutachterIn{}
\egroup \egroup
@ -156,7 +156,7 @@ Betreuung: \\
% OPTIONAL bei Kooperation mit anderen Lehrstuehlen, falls definiert % OPTIONAL bei Kooperation mit anderen Lehrstuehlen, falls definiert
\ifcsname kooperation\endcsname \ifcsname kooperation\endcsname
\begin{minipage}[b]{.49\linewidth}\raggedleft \begin{minipage}[b]{.49\linewidth}\raggedleft
\kooperation{} \kooperation{}%
\end{minipage} \end{minipage}
\fi \fi
\end{titlepage} \end{titlepage}

View File

@ -46,16 +46,16 @@ Fakultät für Informatik\\
Data Mining Arbeitsgruppe \\ Data Mining Arbeitsgruppe \\
\href{https://dm.cs.tu-dortmund.de/}{https://dm.cs.tu-dortmund.de/}% URL, aber als Text \href{https://dm.cs.tu-dortmund.de/}{https://dm.cs.tu-dortmund.de/}% URL, aber als Text
} }
%\newcommand{\kooperation}{ % OPTIONAL \newcommand{\kooperation}{ % OPTIONAL, einfach weglassen
%In Kooperation mit:\\ In Kooperation mit:\\
%Fakultätsname\\ Fakultätsname\\
%Lehrstuhl-/Institutsbezeichnung Lehrstuhl-/Institutsbezeichnung
%} }
\begin{document} \begin{document}
\maketitle \maketitle
\frontmatter \frontmatter
%%%%%%%%%%%%%%%%%%%%%%%%%%%% ABSTRACT %%%%%%%%%%%%%%%%%%%%%%%%%%%% ABSTRACT, nicht jede*r Betreuer*in erwartet das
\chapter*{Kurzfassung} \chapter*{Kurzfassung}
An dieser Stelle bitte eine kurze Zusammenfassung der Ergebnisse (nicht jedoch An dieser Stelle bitte eine kurze Zusammenfassung der Ergebnisse (nicht jedoch
der Struktur) des Dokuments. Was erfährt man, wenn man ihr Dokument gelesen hat, der Struktur) des Dokuments. Was erfährt man, wenn man ihr Dokument gelesen hat,
@ -136,8 +136,8 @@ Folgende Hilfsmittel wurden beim Erstellen der Arbeit eingesetzt:\todo{ggf. entf
\item Texteditor, Rechtschreibprüfung, Grammatikprüfung im üblichen Umfang müssen nicht erwähnt werden. \item Texteditor, Rechtschreibprüfung, Grammatikprüfung im üblichen Umfang müssen nicht erwähnt werden.
\item Entwicklungsumgebung, Versionskontrollsystem etc.{} müssen im Normalfall ebenfalls nicht erwähnt werden. \item Entwicklungsumgebung, Versionskontrollsystem etc.{} müssen im Normalfall ebenfalls nicht erwähnt werden.
\item Programmiersprachen, -Versionen, etc.{} sofern nicht vorne bereits erwähnt können Sie hier natürlich aufzählen, aber es ist viel eleganter wenn Sie den verwendeten Quellcode mit abgeben, inkl.{} README um ihre Ergebnisse zu reproduzieren. \item Programmiersprachen, -Versionen, etc.{} sofern nicht vorne bereits erwähnt können Sie hier natürlich aufzählen, aber es ist viel eleganter wenn Sie den verwendeten Quellcode mit abgeben, inkl.{} README um ihre Ergebnisse zu reproduzieren.
\item ChatGPT möglichst nur in Absprache mit dem Betreuer, den Umfang der Verwendung hier dokumentieren (siehe Eidesstattliche Versicherung!). \item ChatGPT möglichst nur nach Absprache einsetzen, den Umfang der Verwendung hier dokumentieren (siehe Eidesstattliche Versicherung!).
\item Im Zweifelsfalle den Betreuer fragen! \item Im Zweifelsfalle die Betreuer*innen fragen!
\item Wenn die Liste leer ist, können Sie sie natürlich auch weglassen. \item Wenn die Liste leer ist, können Sie sie natürlich auch weglassen.
\end{itemize} \end{itemize}
%bspw. \include{anhang.tex} %bspw. \include{anhang.tex}

4
code/macros.tex Normal file
View File

@ -0,0 +1,4 @@
\newcommand{\argmin}{\operatorname*{arg\,min}}
\newcommand{\argmax}{\operatorname*{arg\,max}}
\newcommand{\norm}[1]{\lVert {#1}\rVert}
\newcommand{\sprod}[2]{\left<{#1},{#2}\right>}

6
generiert/macros.tex Normal file
View File

@ -0,0 +1,6 @@
\begin{Verbatim}[commandchars=\\\{\}]
\PY{k}{\PYZbs{}newcommand}\PY{n+nb}{\PYZob{}}\PY{k}{\PYZbs{}argmin}\PY{n+nb}{\PYZcb{}}\PY{n+nb}{\PYZob{}}\PY{k}{\PYZbs{}operatorname}\PY{k}{*}\PY{n+nb}{\PYZob{}}arg\PY{k}{\PYZbs{},}min\PY{n+nb}{\PYZcb{}}\PY{n+nb}{\PYZcb{}}
\PY{k}{\PYZbs{}newcommand}\PY{n+nb}{\PYZob{}}\PY{k}{\PYZbs{}argmax}\PY{n+nb}{\PYZcb{}}\PY{n+nb}{\PYZob{}}\PY{k}{\PYZbs{}operatorname}\PY{k}{*}\PY{n+nb}{\PYZob{}}arg\PY{k}{\PYZbs{},}max\PY{n+nb}{\PYZcb{}}\PY{n+nb}{\PYZcb{}}
\PY{k}{\PYZbs{}newcommand}\PY{n+nb}{\PYZob{}}\PY{k}{\PYZbs{}norm}\PY{n+nb}{\PYZcb{}}[1]\PY{n+nb}{\PYZob{}}\PY{k}{\PYZbs{}lVert} \PY{n+nb}{\PYZob{}}\PYZsh{}1\PY{n+nb}{\PYZcb{}}\PY{k}{\PYZbs{}rVert}\PY{n+nb}{\PYZcb{}}
\PY{k}{\PYZbs{}newcommand}\PY{n+nb}{\PYZob{}}\PY{k}{\PYZbs{}sprod}\PY{n+nb}{\PYZcb{}}[2]\PY{n+nb}{\PYZob{}}\PY{k}{\PYZbs{}left}\PYZlt{}\PY{n+nb}{\PYZob{}}\PYZsh{}1\PY{n+nb}{\PYZcb{}},\PY{n+nb}{\PYZob{}}\PYZsh{}2\PY{n+nb}{\PYZcb{}}\PY{k}{\PYZbs{}right}\PYZgt{}\PY{n+nb}{\PYZcb{}}
\end{Verbatim}

View File

@ -10,7 +10,7 @@ Bei Abschlussarbeiten können Sie auch Vertiefungsmodule der Arbeitsgruppe als G
dass sie nicht wiederholen müssen. dass sie nicht wiederholen müssen.
Versuchen Sie ihre Arbeit so zu erstellen, dass sie einen \emph{Mehrwert} für diese Zielgruppe Versuchen Sie ihre Arbeit so zu erstellen, dass sie einen \emph{Mehrwert} für diese Zielgruppe
liefert, und für diese \emph{gut verständlich} ist. Der Betreuer hingegen wird in der Regel die liefert, und für diese \emph{gut verständlich} ist. Die Betreuer*innen hingegen werden in der Regel die
Originalquellen kennen oder bevorzugen. Um den Rückgriff auf diese zu vereinfachen, sollten Originalquellen kennen oder bevorzugen. Um den Rückgriff auf diese zu vereinfachen, sollten
sie wie üblich zitiert sein. sie wie üblich zitiert sein.
@ -195,7 +195,7 @@ aber unterhalb. Die Verwendung von \texttt{\textbackslash{}label} und \texttt{\t
\begin{figure}[bt!h]\centering \begin{figure}[bt!h]\centering
\includegraphics[width=.8\textwidth]{bilder/schlechte-qualitaet.png} \includegraphics[width=.8\textwidth]{bilder/schlechte-qualitaet.png}
\caption{Screenshots sehen eigentlich immer schlecht aus, aber gerade Subpixel-Antialiasing (links) führt zu unschönen Farbschlieren.} \caption{Screenshots sehen eigentlich immer unscharf aus, aber gerade Subpixel-Antialiasing (links) führt zu unschönen Farbschlieren.}
\label{fig:screenshots} \label{fig:screenshots}
\end{figure} \end{figure}
@ -206,7 +206,7 @@ Wenn ihr System dabei Subpixel-Antialiasing einsetzt können unerwünschte Farbs
\begin{figure}[bt!]\centering \begin{figure}[bt!]\centering
\begin{tikzpicture} \begin{tikzpicture}
\begin{axis}[axis lines=left,xlabel=$x$,ylabel={$f(x)$}] \begin{axis}[axis lines=left,xlabel=$x$,ylabel={$f(x)$},ymax=1.8]
\addplot[domain=-1.3:1.3, samples=100, color=blue, very thick]{x^2}; \addplot[domain=-1.3:1.3, samples=100, color=blue, very thick]{x^2};
\addlegendentry{$x^2$} \addlegendentry{$x^2$}
\end{axis} \end{axis}
@ -238,14 +238,14 @@ Den Qualitätsunterschied können Sie in Abbildung~\ref{fig:pyplot} sehen. Matpl
% pygmentize -f latex -S friendly > generiert/friendly.tex % pygmentize -f latex -S friendly > generiert/friendly.tex
\input{generiert/friendly.tex} \input{generiert/friendly.tex}
\begin{subfigure}{\textwidth} \begin{subfigure}{\textwidth}
% pygmentize code/pyplot1.py -O full -o generiert/pyplot1.tex % pygmentize code/pyplot1.py -o generiert/pyplot1.tex
% alternativ: paket "minted" verwenden % alternativ: paket "minted" verwenden
\input{generiert/pyplot1.tex}% \input{generiert/pyplot1.tex}%
\caption{Einfacher Python-Plot}% \caption{Einfacher Python-Plot}%
\end{subfigure} \end{subfigure}
\\ \\
\begin{subfigure}{\textwidth} \begin{subfigure}{\textwidth}
% pygmentize code/pyplot2.py -O full -o generiert/pyplot2.tex % pygmentize code/pyplot2.py -o generiert/pyplot2.tex
% alternativ: paket "minted" verwenden % alternativ: paket "minted" verwenden
\input{generiert/pyplot2.tex}% \input{generiert/pyplot2.tex}%
\caption{Verbesserter Python-Plot}% \caption{Verbesserter Python-Plot}%
@ -265,8 +265,13 @@ Daher kann es elegant sein, Code-Fragmente automatisch mit einer klassischen \te
zu übersetzen und lediglich bei \texttt{\textbackslash{}input} einzubinden. zu übersetzen und lediglich bei \texttt{\textbackslash{}input} einzubinden.
Das Paket \texttt{listings} scheint hier etwas einfacher zu nutzen zu sein. Das Paket \texttt{listings} scheint hier etwas einfacher zu nutzen zu sein.
Bei \emph{wissenschaftlichen} Arbeiten ist allerdings meist \emph{Pseudocode} zu bevorzugen, eine Abschlussarbeit
soll eben \emph{keine Softwaredokumentation} sein. Während im Bereich Software-Engineering hier das Einbinden von
echtem Code von Interfaces passend sein kann, wird bei algorithmischen Arbeiten sicherlich ein Pseudocode passender
sein, der die algorithmischen Aspekte sichtbarer macht und Implementierungsdetails abstrahiert.
Für Pseudocode sind auch die Pakete \texttt{algorithmicx}, \texttt{algpseudocode} und \texttt{algorithm2e} populär. Für Pseudocode sind auch die Pakete \texttt{algorithmicx}, \texttt{algpseudocode} und \texttt{algorithm2e} populär.
Wählen Sie eine Lösung die ihnen optisch und von der Syntax her gefällt. Wählen Sie eine Lösung die ihnen optisch und von der Syntax gefällt.
\section{Formeln} \section{Formeln}
@ -286,12 +291,18 @@ Text und Funktionsnamen in Formeln können je nach Kontext mit \texttt{\textback
(vgl.{} $funktion_1$, $\text{funktion}_1$, $\mathrm{funktion}_1$, $\operatorname{funktion}_1$ (vgl.{} $funktion_1$, $\text{funktion}_1$, $\mathrm{funktion}_1$, $\operatorname{funktion}_1$
-- der Unterschied zwischen den letzten drei hängt von den eingestellten Schriften sowie dem Kontext ab). -- der Unterschied zwischen den letzten drei hängt von den eingestellten Schriften sowie dem Kontext ab).
Für häufige Notation bietet es sich dabei an, eigene Makros zu definieren: Für häufige Notation bietet es sich dabei an, eigene Makros zu definieren:
\begin{verbatim} %\begin{verbatim}
\newcommand{\argmin}{\operatorname*{arg\,min}} %\newcommand{\argmin}{\operatorname*{arg\,min}}
\newcommand{\argmax}{\operatorname*{arg\,max}} %\newcommand{\argmax}{\operatorname*{arg\,max}}
\newcommand{\norm}[1]{\lVert {#1}\rVert} %\newcommand{\norm}[1]{\lVert {#1}\rVert}
\newcommand{\sprod}[2]{\left<{#1},{#2}\right>} %\newcommand{\sprod}[2]{\left<{#1},{#2}\right>}
\end{verbatim} %\end{verbatim}
\bgroup
% Eigentlich an Dokumentanfang, hier nur im Beispiel inline
% pygmentize -f latex -S friendly > generiert/friendly.tex
\input{generiert/friendly.tex}
\input{generiert/macros.tex}%
\egroup
um bequemer folgendes Ergebnis zu erhalten: um bequemer folgendes Ergebnis zu erhalten:
\begin{align*} \begin{align*}
\operatorname*{arg\,min}_x \, \lVert {x} \rVert \operatorname*{arg\,min}_x \, \lVert {x} \rVert