From 975f89961802a753d6db1238743a8d6a99d7dfcc Mon Sep 17 00:00:00 2001 From: Erich Schubert Date: Fri, 17 May 2024 19:01:22 +0200 Subject: [PATCH] Import --- .gitignore | 298 ++++++++++++++++++++++++++++++ abarbeit.cls | 167 +++++++++++++++++ abschlussarbeit.tex | 157 ++++++++++++++++ anmeldung.tex | 131 +++++++++++++ bewertung.tex | 62 +++++++ bilder/pyplot1.png | Bin 0 -> 22480 bytes bilder/pyplot2.pdf | Bin 0 -> 5523 bytes bilder/schlechte-qualitaet.png | Bin 0 -> 10080 bytes bilder/tu-dortmund-logo.pdf | Bin 0 -> 6455 bytes code/pyplot1.py | 4 + code/pyplot2.py | 8 + generiert/friendly.tex | 102 ++++++++++ generiert/pyplot1.tex | 6 + generiert/pyplot2.tex | 10 + gestaltung.tex | 327 +++++++++++++++++++++++++++++++++ literatur.bib | 39 ++++ zusammenfassung.tex | 4 + 17 files changed, 1315 insertions(+) create mode 100644 .gitignore create mode 100644 abarbeit.cls create mode 100644 abschlussarbeit.tex create mode 100644 anmeldung.tex create mode 100644 bewertung.tex create mode 100644 bilder/pyplot1.png create mode 100644 bilder/pyplot2.pdf create mode 100644 bilder/schlechte-qualitaet.png create mode 100644 bilder/tu-dortmund-logo.pdf create mode 100644 code/pyplot1.py create mode 100644 code/pyplot2.py create mode 100644 generiert/friendly.tex create mode 100644 generiert/pyplot1.tex create mode 100644 generiert/pyplot2.tex create mode 100644 gestaltung.tex create mode 100644 literatur.bib create mode 100644 zusammenfassung.tex diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..1aeda36 --- /dev/null +++ b/.gitignore @@ -0,0 +1,298 @@ +## Core latex/pdflatex auxiliary files: +*.aux +*.lof +*.log +*.lot +*.fls +*.out +*.toc +*.fmt +*.fot +*.cb +*.cb2 +.*.lb + +## Intermediate documents: +*.dvi +*.xdv +*-converted-to.* +# these rules might exclude image files for figures etc. +# *.ps +# *.eps +# *.pdf + +## Generated if empty string is given at "Please type another file name for output:" +.pdf + +## Bibliography auxiliary files (bibtex/biblatex/biber): +*.bbl +*.bcf +*.blg +*-blx.aux +*-blx.bib +*.run.xml + +## Build tool auxiliary files: +*.fdb_latexmk +*.synctex +*.synctex(busy) +*.synctex.gz +*.synctex.gz(busy) +*.pdfsync + +## Build tool directories for auxiliary files +# latexrun +latex.out/ + +## Auxiliary and intermediate files from other packages: +# algorithms +*.alg +*.loa + +# achemso +acs-*.bib + +# amsthm +*.thm + +# beamer +*.nav +*.pre +*.snm +*.vrb + +# changes +*.soc + +# comment +*.cut + +# cprotect +*.cpt + +# elsarticle (documentclass of Elsevier journals) +*.spl + +# endnotes +*.ent + +# fixme +*.lox + +# feynmf/feynmp +*.mf +*.mp +*.t[1-9] +*.t[1-9][0-9] +*.tfm + +#(r)(e)ledmac/(r)(e)ledpar +*.end +*.?end +*.[1-9] +*.[1-9][0-9] +*.[1-9][0-9][0-9] +*.[1-9]R +*.[1-9][0-9]R +*.[1-9][0-9][0-9]R +*.eledsec[1-9] +*.eledsec[1-9]R +*.eledsec[1-9][0-9] +*.eledsec[1-9][0-9]R +*.eledsec[1-9][0-9][0-9] +*.eledsec[1-9][0-9][0-9]R + +# glossaries +*.acn +*.acr +*.glg +*.glo +*.gls +*.glsdefs +*.lzo +*.lzs +*.slg +*.slo +*.sls + +# uncomment this for glossaries-extra (will ignore makeindex's style files!) +# *.ist + +# gnuplottex +*-gnuplottex-* + +# gregoriotex +*.gaux +*.glog +*.gtex + +# htlatex +*.4ct +*.4tc +*.idv +*.lg +*.trc +*.xref + +# hyperref +*.brf + +# knitr +*-concordance.tex +# TODO Uncomment the next line if you use knitr and want to ignore its generated tikz files +# *.tikz +*-tikzDictionary + +# listings +*.lol + +# luatexja-ruby +*.ltjruby + +# makeidx +*.idx +*.ilg +*.ind + +# minitoc +*.maf +*.mlf +*.mlt +*.mtc[0-9]* +*.slf[0-9]* +*.slt[0-9]* +*.stc[0-9]* + +# minted +_minted* +*.pyg + +# morewrites +*.mw + +# newpax +*.newpax + +# nomencl +*.nlg +*.nlo +*.nls + +# pax +*.pax + +# pdfpcnotes +*.pdfpc + +# sagetex +*.sagetex.sage +*.sagetex.py +*.sagetex.scmd + +# scrwfile +*.wrt + +# svg +svg-inkscape/ + +# sympy +*.sout +*.sympy +sympy-plots-for-*.tex/ + +# pdfcomment +*.upa +*.upb + +# pythontex +*.pytxcode +pythontex-files-*/ + +# tcolorbox +*.listing + +# thmtools +*.loe + +# TikZ & PGF +*.dpth +*.md5 +*.auxlock + +# titletoc +*.ptc + +# todonotes +*.tdo + +# vhistory +*.hst +*.ver + +# easy-todo +*.lod + +# xcolor +*.xcp + +# xmpincl +*.xmpi + +# xindy +*.xdy + +# xypic precompiled matrices and outlines +*.xyc +*.xyd + +# endfloat +*.ttt +*.fff + +# Latexian +TSWLatexianTemp* + +## Editors: +# WinEdt +*.bak +*.sav + +# Texpad +.texpadtmp + +# LyX +*.lyx~ + +# Kile +*.backup + +# gummi +.*.swp + +# KBibTeX +*~[0-9]* + +# TeXnicCenter +*.tps + +# auto folder when using emacs and auctex +./auto/* +*.el + +# expex forward references with \gathertags +*-tags.tex + +# standalone packages +*.sta + +# Makeindex log files +*.lpz + +# xwatermark package +*.xwm + +# REVTeX puts footnotes in the bibliography by default, unless the nofootinbib +# option is specified. Footnotes are the stored in a file with suffix Notes.bib. +# Uncomment the next line to have this generated file ignored. +#*Notes.bib + diff --git a/abarbeit.cls b/abarbeit.cls new file mode 100644 index 0000000..bc2168e --- /dev/null +++ b/abarbeit.cls @@ -0,0 +1,167 @@ +\NeedsTeXFormat{LaTeX2e}[1994/06/01] +\ProvidesClass{abschlussarbeit}[2024/05/17 abschlussarbeit] +%% Author: Erich Schubert +%% Version 0.1, 2024/05/17 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\RequirePackage{ifthen} +\RequirePackage{iftex} +\newif\ifTUDO@english\TUDO@englishtrue % Default to English +\newif\ifTUDO@fira\TUDO@firafalse % Default to Linux Libertine +\newif\ifTUDO@onehalfspacing\TUDO@onehalfspacingfalse % No extra spacing +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% OPTIONEN (zzgl. KOMA-Script-Optionen, https://komascript.de/~mkohm/scrguide.pdf): +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\RequirePackage{xkeyval} +% "german" to write in German +\DeclareOptionX{german}{\TUDO@englishfalse} +% "deutsch" to write in German +\DeclareOptionX{deutsch}{\TUDO@englishfalse} +% "english" to write in English +\DeclareOptionX{english}{\TUDO@englishtrue} +% "libertine" for Linux Libertine font (default) +\DeclareOptionX{libertine}{\TUDO@firafalse} +% "fira" for Fira fonts +\DeclareOptionX{fira}{\TUDO@firatrue} +% "onehalfspacing" to use one-half spacing +\DeclareOptionX{onehalfspacing}{\TUDO@onehalfspacingtrue} +% pass other options to Koma script +\DeclareOptionX*{\PassOptionsToClass{\CurrentOption}{scrbook}} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\ProcessOptionsX\relax +% Load Koma script book class, with some default values +\LoadClass[a4paper,12pt,parskip=half-,DIV=13,BCOR=10mm,bibliography=totoc,listof=totoc,headings=small]{scrbook} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\usepackage[utf8]{inputenc} % default by now anyway, but csquotes complains otherwise +\usepackage[T1]{fontenc} +%%% Babel und csquotes laden +\ifTUDO@english + \usepackage[german,english]{babel} + \usepackage[autostyle=true]{csquotes} +\else + \usepackage[english,ngerman]{babel} + \usepackage[autostyle=true,german=quotes]{csquotes} +\fi + +%%% Zeilenabstand +\ifTUDO@onehalfspacing + \usepackage[onehalfspacing]{setspace} % Nur wenn der Gutachter darauf besteht. +\fi + +%%% Schrift: Linux Libertine + Inconsolata, alternativ alles Fira +\ifTUDO@fira + % Alternative Schrift: alles in Fira + \usepackage[sfdefault,medium,lining,scaled=.9]{FiraSans} + \usepackage[medium,lining,scaled=.9]{FiraMono} + \usepackage[italic,basic,noparenthesis]{mathastext} + \ifpdftex + \usepackage{newtxsf} % pdflatex version + \else % LuaLaTeX / XeLaTeX + \usepackage[math-style=TeX,warnings-off={mathtools-colon,mathtools-overbracket}]{unicode-math} + \setmathfont{TeX Gyre Pagella Math}[Scale=MatchLowercase] + \setmathfont{Fira Sans}[range={up/{num,latin,Latin,greek,Greek},% + \mathexclam,\mathplus,\pm,\div,\minus,\mathpercent,\mathampersand,% + \mathquestion,\mathatsign,\increment,\less,\equal,\greater,\ne,\leq,% + \geq,\matheth,\ell,\partial},% + Script=Latin,script-features={}, sscript-features={}] + \setmathfont{Fira Sans Italic}[range={it/{latin,Latin,greek,Greek}}, Script=Latin, script-features={}, sscript-features={}] + \fi +\else % Default: Fira nur für Titelseite, sonst Linux Libertine + Inconsolata + \usepackage[medium,lining,scaled=.9]{FiraSans} % Für Titelseite + \usepackage{libertine} + \usepackage[libertine]{newtxmath} + \ifpdftex + \usepackage[narrow]{inconsolata} + \else % LuaLaTeX / XeLaTeX version + \usepackage{fontspec}\setmonofont{inconsolata}[FakeStretch=0.9] + \fi +\fi + +\usepackage{graphicx} +\usepackage[svgnames]{xcolor} +\usepackage{url} +\definecolor{LinkColor}{RGB}{92,128,17} % Abgedunkelte TU-Farbe +\usepackage[colorlinks=true,linkcolor=LinkColor,urlcolor=LinkColor,citecolor=LinkColor,anchorcolor=LinkColor,pdfborder={0 0 0}]{hyperref} % ohne Rand +\usepackage{booktabs} +\usepackage{enumitem}\setlist{nosep} +\usepackage{amsmath,mathtools} + +%%%% Mehr line breaks in URLs erlauben +\AtBeginDocument{ +\mathchardef\UrlBigBreakPenalty=100\relax\def\UrlBigBreaks{\do\:\do@url@hyp\do\-\do\/} +\ifcsname biburlsetup\endcsname % falls kein biblatex +\let\@oldbiburlsetup\biburlsetup\renewcommand*{\biburlsetup}{\@oldbiburlsetup\mathchardef\UrlBigBreakPenalty=100\relax\def\UrlBigBreaks{\do\:\do@url@hyp\do\-\do\/}}% +\fi +} + +\clubpenalty=3000 \widowpenalty=3000 \displaywidowpenalty=3000 % Optional: Witwenzeilen und Waisenzeilen vermeiden. Sie können diese Zeile auskommentieren, wenn das Layout dann schöner ist! +\raggedbottom % keine großen Abstände um seiten vertikal voll zu machen, macht freien Platz sichtbarer + +%%%% Table of contents: keine farbigen links, kein one-half spacing +\addtocontents{toc}{\protect\hypersetup{linkcolor=black}} + +\ifcsname setstretch\endcsname +\RequirePackage{xpatch} +%\xapptocmd{\frontmatter}{\setstretch{1}\KOMAoptions{DIV=current}}{}{} % Vorwort might be fine in 1.5 +\xapptocmd{\mainmatter}{\setstretch{1.5}\KOMAoptions{DIV=current}}{}{} +\xapptocmd{\nackmatter}{\setstretch{1}\KOMAoptions{DIV=current}}{}{} +\fi + +%%%% Titelseite +\RequirePackage[absolute]{textpos} +\DeclareRobustCommand{\maketitle}{% +\ifcsname erstgutachterIn\endcsname\else\errmessage{\\erstgutachterIn nicht gesetzt}\fi +\ifcsname zweitgutachterIn\endcsname\else\errmessage{\\zweitgutachterIn nicht gesetzt}\fi +\ifcsname arbeitsgruppe\endcsname\else\errmessage{\\arbeitsgruppe nicht gesetzt}\fi +\bgroup +\pagenumbering{alph} +\begin{titlepage}\firalight +\ifcsname hypersetup\endcsname\hypersetup{linkcolor=black}\fi% Links nicht hervorheben +\ifcsname setstretch\endcsname\setstretch{1}\fi% Kein one-half-spacing +\KOMAoptions{DIV=current}% +\begin{textblock*}{57.6mm}(23.7mm,11.6mm)% +\includegraphics[width=57.6mm]{bilder/tu-dortmund-logo.pdf}% +\end{textblock*} +%\tikz[remember picture,overlay]{\node[anchor=north west,xshift=23.7mm,yshift=-11.6mm,inner sep=0pt] at (current page.north west){\includegraphics[width=57.6mm]{bilder/tu-dortmund-logo.pdf}}}% + +\vspace*{4cm} +\bgroup +\centering +\makeatletter +{\Large \@subject} \\ +\vspace*{1cm} +{\bfseries\Large \@title} \\ +\vspace*{1cm} +\@author\\ +%\matrikelnummer{}\\ +\vspace*{5mm} +\@date +\par +\makeatother +\egroup + +\vfill +\bgroup +\raggedright +Betreuung: \\ +\erstgutachterIn{} \\ +\zweitgutachterIn{} +\egroup + +\vspace*{2.5cm} +\begin{minipage}[b]{.5\linewidth}\raggedright +\arbeitsgruppe{} +\end{minipage} +\hfill +% OPTIONAL bei Kooperation mit anderen Lehrstuehlen, falls definiert +\ifcsname kooperation\endcsname +\begin{minipage}[b]{.49\linewidth}\raggedleft +\kooperation{} +\end{minipage} +\fi +\end{titlepage} +\egroup +\KOMAoptions{DIV=current} % recompute with previous font +} + +\endinput diff --git a/abschlussarbeit.tex b/abschlussarbeit.tex new file mode 100644 index 0000000..2f963c8 --- /dev/null +++ b/abschlussarbeit.tex @@ -0,0 +1,157 @@ +\documentclass[german]{abarbeit} +% If you write in English, set the option "english" instead of "german". +%%%%%%%%%%%%%%%%%%%%%%%%%%%% Zusätzliche Pakete +% Notizen, mit "disable" ausblendbar +\usepackage[textsize=scriptsize]{todonotes} +% Für Grafiken per latex-code bspw. TikZ und pgfplots: +\usepackage{tikz} +\usepackage{pgfplots} +% Pseudocode bspw. eines der folgenden Pakete, nach Wahl +%\usepackage[plain,chapter]{algorithm} +%\usepackage{algorithmic} +%\usepackage{algorithm2e} +% minted: Syntaxhighlighting, benötigt aber pygmentize +%\usepackage{minted} +\usepackage{fancyvrb} % für pygment-Beispiele +\fvset{listparameters=\setlength{\topsep}{0pt}\setlength{\partopsep}{0pt}} % Abstände bei Verbatim vermeiden +\usepackage[aboveskip=5pt,belowskip=5pt]{subcaption} % für subfigures + +%%%%%%%%%%%%%%%%%%%%%%%%%%%% Eigene Makros, hier ein paar Beispiele +\newcommand{\argmin}{\operatorname*{arg\,min}} +\newcommand{\argmax}{\operatorname*{arg\,max}} +\newcommand{\norm}[1]{\lVert {#1}\rVert} +\newcommand{\sprod}[2]{\left<{#1},{#2}\right>} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%% Literaturmanagement +\usepackage[backend=biber, % moderneres backend als bibtex + style=alphabetic, % Alphabetischer Stil besser bei viel Literatur + doi=true, isbn=true, url=true, % DOI, ISBN und URLs anzeigen + maxnames=3, minnames=1, % Ab 4 Autoren bei Quellenangaben et al. verwenden + maxbibnames=99, minbibnames=99, % Literaturverzeichnis vollständig +]{biblatex} +\addbibresource{literatur.bib} % Dateiname der Literaturdatenbank(en) +\let\cite=\textcite % Bevorzugte Zitierweise ist mit Autorennamen, aber \parencite ist auch ok! + +%%%%%%%%%%%%%%%%%%%%%%%%%%%% METADATEN +\subject{Bachelorarbeit oder Masterarbeit} +\title{Titel der Abschlussarbeit} +\author{Vorname Nachname} +\date{\today} % Abgabedatum eintragen +\newcommand{\matrikelnummer}{123456} +\newcommand{\erstgutachterIn}{Prof.{} Dr.{} Erich Schubert} +\newcommand{\zweitgutachterIn}{Name des Zweitgutachters} +\newcommand{\arbeitsgruppe}{ +Technische Universität Dortmund \\ +Fakultät für Informatik\\ +Data Mining Arbeitsgruppe \\ +\href{https://dm.cs.tu-dortmund.de/}{https://dm.cs.tu-dortmund.de/}% URL, aber als Text +} +%\newcommand{\kooperation}{ % OPTIONAL +%In Kooperation mit:\\ +%Fakultätsname\\ +%Lehrstuhl-/Institutsbezeichnung +%} + +\begin{document} +\maketitle +\frontmatter +%%%%%%%%%%%%%%%%%%%%%%%%%%%% ABSTRACT +\chapter*{Kurzfassung} +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, +was ist der neue Beitrag? +Das schreibt man sinnvoller am Ende, wenn die eigentliche Arbeit abgeschlossen +ist, und man den gesamten Inhalt kennt. + +%%%% Inhaltsverzeichnis +\tableofcontents + +\mainmatter +\chapter{Einleitung} + +Sie können die Arbeit in Deutsch oder Englisch schreiben. Setzen sie dazu die korrekte Option am Anfang des Dokumentes, damit die Überschriften sowie die Silbentrennung entsprechend eingestellt werden. + +Sinnvollerweise fängt die Arbeit mit einer Einleitung an, in der Sie den +Kontext der Arbeit beschreiben. In folgenden Kapiteln werden in der Regel +zunächst Vorarbeiten besprochen, dann die neue Methodik, Experimente und eine +Zusammenfassung. + +Beachten Sie den üblichen Schreibstil bei \emph{wissenschaftlichen} Arbeiten. +Zu \href{https://www.tu-dortmund.de/forschung/forschungsethik/gute-wissenschaftliche-praxis/}{guter wissenschaftlicher Praxis} +und Redlichkeit gehört insbesondere, dass Sie keine fremden Inhalte als ihre eigenen ausgeben. +Wenn Sie sich auf fremde Beiträge beziehen, benennen Sie die Quellen und schreiben Sie +so, dass \emph{nicht} der Eindruck entsteht, dies wären ihre eigenen Leistungen. +Insbesondere experimentelle Ergebnisse aus anderen Arbeiten sind -- leider -- +oft mit Vorsicht zu genießen, und nicht immer reproduzierbar. + +Das in der akademischen Literatur häufige \enquote{man} (im Englischen einfacher \enquote{we}) ist in der Regel +als \enquote{Autorinnen, Autoren, Leserinnen und Leser} zu interpretieren, und bezeichnet nicht nur die Autorinnen und Autoren einer Quelle. +Die erste Person ist nur üblich, wenn die Subjektivität einer Aussage betont werden soll. +Verwenden Sie bei Quellen bevorzugt die echten \emph{Namen}. +Mit dem \texttt{\textbackslash{}citeauthor\{\}} Kommando können Sie dabei +peinliche Tippfehler vermeiden. + +Allgemeine Hinweise zum Schreiben von Studien- und Abschlussarbeiten finden Sie unter anderem in folgenden beiden Lehrbüchern, +auf die Sie über VPN zugreifen können sollten: + +\begin{quote}% Eigentlich kein echtes Zitat, aber trotzdem schöner wenn man die Quellenangaben so setzt. +\AtNextCite{\defcounter{maxnames}{99}} % hier kein et al. +\fullcite{Deininger2017} + +\fullcite{Voss2022} +\end{quote} + +%%%%%%% Am besten für jedes Kapitel eine eigene Datei! +\input{anmeldung.tex} + +\input{gestaltung.tex} + +\input{bewertung.tex} + +\input{zusammenfassung.tex} + +\backmatter +% Literaturverzeichnis +\printbibliography + +% OPTIONAL: Abbildungsverzeichnis +\iffalse +\listoffigures +\fi +% OPTIONAL: Algorithmenverzeichnis, je nach package +\iffalse +\ifcsname listofalgorithms\endcsname +\listofalgorithms +\fi\fi + +%%%%% Optionaler Anhang +\appendix +%\input{anhang.tex} + +\chapter*{Verwendete Hilfsmittel} + +Folgende Hilfsmittel wurden beim Erstellen der Arbeit eingesetzt:\todo{ggf. entfernen} + +\begin{itemize} +\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 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 Im Zweifelsfalle den Betreuer fragen! +\item Wenn die Liste leer ist, können Sie sie natürlich auch weglassen. +\end{itemize} +%bspw. \include{anhang.tex} + +% Eidesstattliche Versicherung +\cleardoublepage +\IfFileExists{Eidesstattliche_Versicherung.pdf}{\bgroup\pagestyle{empty}\includepdf{Eidesstattliche_Versicherung.pdf}\egroup}{ +\chapter*{Eidesstattliche Versicherung} +Laden Sie die aktuelle Erklärung vom Dezernat 4.3 +herunter, und unterzeichnen Sie diese. + +\url{https://www.tu-dortmund.de/eidesstattliche-versicherung} + +Sie können die Datei dann hier per \texttt{\textbackslash{}includepdf\{Eidesstattliche\_Versicherung.pdf\}} einbinden (siehe source). +} + +\end{document} diff --git a/anmeldung.tex b/anmeldung.tex new file mode 100644 index 0000000..7f69059 --- /dev/null +++ b/anmeldung.tex @@ -0,0 +1,131 @@ +\chapter{Themenfindung und Anmeldung} + +Aktuelle und genauere Informationen: +\url{https://cs.tu-dortmund.de/studium/im-studium/weitere-lehrveranstaltungen/abschlussarbeiten/} + +\section{Themen für Abschlussarbeiten} + +Abschlussarbeiten werden von einem/einer Professor*in, einem/einer +Juniorprofessor*in oder einem habilitierten Mitglied der Fakultät für +Informatik ausgegeben und betreut. + +Themenvorschläge finden Sie auf den Webseiten der jeweiligen Arbeitsgruppen. + +Sie können \emph{eigene Themen vorschlagen}, auch mit externen Partnern. +Sprechen Sie dazu thematisch passende Hochschullehrer*innen an. +Ob ein Thema die Anforderungen erfüllt entscheidet der/die jeweilige Hochschullehrer*in. + +Orientieren Sie sich an den Themenvorschlägen und den Themen abgeschlossener Arbeiten, +um einen Eindruck zu bekommen wie hier die Erwartungen sind. + +Für Abschlussarbeiten in Industriekooperationen ist ggf.{} ein längerer Vorlauf nötig, +insbesondere wenn es um non-disclosure agreements (NDAs) und ähnliches geht, +die von der Rechtsabteilung geprüft werden müssen. +Für solche Arbeiten ist es allgemein empfehlenswert wenn sich zunächst die Industriepartner +mit einem/einer Hochschullehrer*in verständigen, \emph{bevor} das Thema Studierenden angeboten wird, +um keine unnötigen Wartezeiten zu verursachen. + +\section{Exposé} + +Es hat sich bewährt dass noch \emph{vor der Anmeldung} ein Exposé erstellt wird. + +Dieses kurze Dokument (ca.{} 2-4 Seiten) dient dazu, die Aufgabenstellung +genauer festzulegen und zu dokumentieren, damit klar ist dass der/die Bearbeiter*in des Themas +dieses genauso verstanden hat wie der/die Aufgabensteller*in. + +Überlegen Sie sich in diesem Zuge auch, ob sie auf Englisch oder auf Deutsch schreiben wollen. +Bedenken Sie, dass auf Deutsch schnell ein ziemlicher Kauderwelsch entsteht, da +die Fachbegriffe auf Englisch sind, und es oft keine gängige Übersetzung gibt. +Zudem fällt es den meisten leichter in Englisch einen einfachen Satzbau zu verwenden, +während Sie in Deutsch zu unnötig komplizierten \enquote{Schachtelsätzen} neigen. + +\pagebreak[2] +Das Exposé sollte umfassen: +\begin{itemize} +\item +Vorläufiger Titel der Arbeit +\item +Problemstellung und kurzer Stand der Forschung +\item +Forschungsfragen, die in der Arbeit beantwortet werden sollen und Konzept für einen Lösungsansatz der untersucht werden soll, Methodik +\item +ggf.{} Plan auf welchen Daten und wie die Ergebnisse evaluiert werden sollen +\item +Vorgehensweise und Zeitplan +\item +Startliteratur +\end{itemize} + +Oft können Teile des Exposé später für die Ausarbeitung weiterverwendet werden. + +Forschungsfragen sollen idealerweise \textbf{spezifisch} (konkret), \textbf{präzise}, \textbf{komplex} (nicht nur ja/nein), +\textbf{machbar}, \textbf{verifizierbar oder falsifizierbar} und \textbf{relevant} für die Informatik sein. + +Bei der Evaluation achten Sie insbesondere auf die Wahl von geeigneten +\enquote{baselines}, einfachen Vergleichsverfahren mit denen Sie Referenzwerte +etablieren können um die Ergebnisse besser einschätzen zu können. + +Besprechen Sie das Exposé mit ihren Betreuer*innen! + +\section{Zeitplan} + +Ihr Exposé sollte auch einen Zeitplan beinhalten. +Das Zeitfenster für eine Bachelorarbeit beträgt 4 Monate (17 Wochen). +Ein möglicher Zeitplan für eine empirische Arbeit ist in Tabelle~\ref{tab:Zeitplan} dargestellt. +Bei einer Masterarbeit verlängern sich die Zeiträume entsprechend. + +Planen Sie genug Puffer ein für Fehlersuche und um anschließend alle Experimente erneut starten zu können... + +\begin{table}[bt] +\centering +\caption{Zeitplanvorschlag für eine empirische Arbeit}\label{tab:Zeitplan} +\begin{tabular}{@{}cp{60mm}p{70mm}@{}} +\toprule +\textbf{Wo.} & \textbf{Aufgabe} & \textbf{Textarbeit} \\ +\midrule + 1 & Literaturrecherche & Verwandte Arbeiten schreiben \\ + 2 & Literaturrecherche,\newline Programmieren & Verwandte Arbeiten schreiben \\ + 3 & Programmieren & Verwandte Arbeiten schreiben \\ + 4 & Programmieren & Hauptteil schreiben \\ + 5 & Programmieren & Hauptteil schreiben \\ + 6 & Programmieren, Debugging & Hauptteil schreiben \\ + 7 & Debugging, Programmieren & Hauptteil schreiben \\ + 8 & Debugging, (Programmieren) & Hauptteil schreiben \\ +\midrule + 9 & Evaluation, Debugging & Verwandte Arbeiten, Hauptteil \\ +10 & Evaluation, Debugging & Verwandte Arbeiten, Auswertung \\ +11 & Evaluation, Plots & Auswertung schreiben\\ +12 & Evaluation, Plots,\newline Evaluation überprüfen & Auswertung schreiben\\ +13 & Evaluation, Plots & Einleitung und Schlussfolgerungen\\ +14 & Feinschliff Plots & Text zur Grammatik und Rechtschreibkontrolle an Freunde, Familie, etc. \\ +15 & Quellen überprüfen & Korrekturen und Feinschliff\\ +16 & Fertig & Korrekturen und Feinschliff\\ +\midrule +17 & Fertig & Puffer \\ +\bottomrule +\end{tabular} +\end{table} + +\section{Prozess} + +Die Anmeldung einer Arbeit erfolgt (Stand Anfang 2024) in der Regel wie folgt: + +\begin{enumerate} +\item +Der/die Zweitgutachter*in stellt den \textbf{Antrag auf Zweitbegutachtung} (mit Name des/der Student*in sowie Titel). +\item +Der Prüfungsausschuss (bei Standardfällen kommissarisch durch den/die Vorsitzende*n) bestimmt die Gutachter*innen. +\item +Die zentrale Prüfungsverwaltung prüft die Zulassungsvoraussetzungen (Mindestzahl an ECTS, etc.) und erstellt den \textbf{Laufzettel}. +\item +Der/die Erstgutachter*in unterzeichnet den Laufzettel, damit beginnt die Bearbeitungszeit. +\item +Gegen Ende der Bearbeitungszeit, auch nach Abgabe, halten Sie einen Abschlussvortrag im Oberseminar der Arbeitsgruppe. +\item +Die Abgabe erfolgt in Exabase. Hier laden Sie die PDF ihrer Arbeit, die Eidesstattliche Versicherung, +und möglichst ein Archiv mit den relevanten Daten ihrer Arbeit (bspw.{} Quellcode, Protokolle, Skripte -- alles was für die Reproduzierbarkeit nötig ist) hoch. +\item +Die Gutachter*innen bewerten die Arbeit und laden ein Gutachten in Exabase hoch. +\item +Wenn die Gutachten vorliegen \emph{und} Sie ihren Abschlussvortrag gehalten haben, ist die Prüfungsleistung abgeschlossen. +\end{enumerate} diff --git a/bewertung.tex b/bewertung.tex new file mode 100644 index 0000000..506103b --- /dev/null +++ b/bewertung.tex @@ -0,0 +1,62 @@ +\chapter{Bewertung von Abschlussarbeiten} + +An der Fakultät für Informatik wird derzeit keine schematisierte Bewertung eingesetzt, +sondern die Gutachterinnen und Gutachter bewerten die Arbeit in einem Gutachten. +Dabei können sie individueller auf die etwaigen Besonderheiten der Arbeiten eingehen +(bspw.{} Probleme bei den Themenstellungen berücksichtigen). +Aber auch je nach Typ der Arbeit können hier unterschiedliche Gewichtungen entstehen. +Bei theoretischen Arbeiten, empirischen Arbeiten, oder Literaturarbeiten werden unterschiedliche +Gewichtungen der einzelnen Aspekte notwendig sein. + +Im Folgenden finden Sie eine Übersicht über typische Faktoren, die die Bewertung beeinflussen. +Eine ausführlichere Diskussion der Anforderungen und Bewertungskriterien finden Sie +beispielsweise bei \textcite{Voss2022}, \textcite{Deininger2017} oder \textcite{Boles21}. + +\paragraph*{Eigeninitiative und Selbständigkeit} +Arbeiten, die von Studierenden in hoher Autonomie vorangetrieben werden, werden in der Regel +besser bewertet als Arbeiten bei denen eine große Unterstützung durch die Betreuenden notwendig ist. +Keinesfalls sollten Sie aber auf regelmäßige Treffen verzichten! Hiermit ist gemeint dass sie proaktiv +die Arbeit voranbringen, und die Betreuenden werden sich freuen wenn Sie jede Woche Fortschritte berichten. +Dies beginnt oft schon bei der Themenfindung -- viele sehr gute Arbeiten beginnen mit eigenen Ideen +der Studierenden. + +Eine Arbeit, die mit Ach und Krach nur die Mindestanforderungen bei einem einfachen erreicht, wird natürlich anders +bewertet werden als eine Arbeit die über die gesetzten Ziele hinausgegangen ist, oder ein besonders schweres Thema in Angriff genommen hat. + +\paragraph*{Systematische und wissenschaftliche Arbeitsweise} +Für eine wissenschaftliche Arbeit sollen Sie zielgerichtet vorgehen, beispielsweise Forschungsfragen stellen, +diese bearbeiten, und anschließend mit geeigneten Experimente die Ergebnisse kritisch validieren. +Auch in ihrer Ausarbeitung sollte eine klare Struktur erkennbar sein, die das wissenschaftliche Vorgehen +nachvollziehbar macht. Experimente sind geeignet automatisiert, so dass sie leicht repliziert und auf neue +Datensätze angewendet werden können. + +Vielen hilft es dabei, bereits beim Exposé Forschungsfragen zu formulieren und geeignete Experimente zu +konzipieren diese zu verifizieren oder zu falsifizieren. Auch ein Zeitplan -- mit ausreichendem Puffer +am Ende der Bearbeitungszeit -- ist dabei hilfreich. +Die Betreuenden helfen Ihnen dabei sicher gerne. + +\paragraph*{Recherche und Dokumentation} +Es soll nachvollziehbar sein, dass Sie die Aufgabenstellung verstanden, und nötige Vorarbeiten recherchiert haben. +In der Arbeit soll dokumentiert sein, wie Sie zu ihren Schlüssen gekommen sind. Dazu werden die nötigen +Schritte logisch und verständlich, aber dennoch prägnant und zielführend präsentiert, gegebenenfalls durch +geeignete Beispiele und Abbildungen unterstützt. +In der Regel werden Sie dazu weitere relevante Literatur identifizieren müssen. +Bei einer Arbeit deren Fokus auf Literatur liegt, sind hier die Ansprüche natürlich wesentlich höher, +als bei einer Arbeit bei der die Literatur weitgehend vorgegeben ist! + +\paragraph*{Wissenschaftliche Form} +Aussagen sind durch korrekte Quellenangaben belegt, dabei ist die Herkunft der Ideen anhand der Quellenangaben +und des Literaturverzeichnisses leicht nachvollziehbar (\enquote{lege artis}, nach den \enquote{Regeln der Kunst} der Informatik). +Bei Bedarf werden Aussagen angemessen kritisch hinterfragt, diskutiert, und verifiziert bevor sie übernommen werden. +Fachbegriffe (bspw.{} effizient, effektiv, signifikant, skalierbar) werden angemessen eingesetzt und ggf.{} belegt. +Der Schreibstil und die Sprache entsprechen den Anforderungen einer wissenschaftlichen Arbeit, die Ausarbeitung ist sauber und gut lesbar. +Die Lesenden werden mitgenommen und motiviert den Ausführungen der Arbeit zu folgen. + +Negativ hingegen fallen Arbeiten auf, bei denen beispielsweise die Einleitung +im auf Hochglanz polierten und mit Superlativen gespickten ChatGPT-Stil geschrieben ist (\enquote{meticulously}, \enquote{intricate}, und \enquote{commendable} sind beispielsweise Wörter die ChatGPT übermäßig verwendet),\footnote{Zum Einsatz von ChatGPT beachten Sie auch die Eidesstattliche Versicherung, die sie unterzeichnen müssen, und den Abschnitt \enquote{KI-Schreibwerkzeuge und wissenschaftliches Fehlverhalten} im Rechtsgutachten von \textcite{10.13154/294-9734} sowie die Handreichung zu ChatGPT der TU Dortmund, \url{https://digitale-lehre.tu-dortmund.de/tools/chatgpt/}.} +der Hauptteil dafür dann voller Rechtschreib- und Grammatikfehler ist, und keine zwei Formeln die gleiche Notation verwenden. +Viele Quellen sind Internetquellen fragwürdiger Qualität, und es ist nicht klar welche Aussagen damit belegt werden sollen, +und ob die Quellen diese Aussagen überhaupt untermauern können. + +\medskip +Schlussendlich wird aber jede Arbeit durch die Gutachter:innen individuell gewürdigt, und diese können hier auf individuelle Besonderheiten Rücksicht nehmen. \ No newline at end of file diff --git a/bilder/pyplot1.png b/bilder/pyplot1.png new file mode 100644 index 0000000000000000000000000000000000000000..9139e1c339f9e58da61a7cacb36a58e26b2b8032 GIT binary patch literal 22480 zcmeFZWmr&a7dE&_l`iQ9K@w{xd@2L`!ddrQXwL5Pjf|1dJ8GoB)dmZY-$%?GZDDkEN5eb-+gbHM&?}Ck~$cqJwg;)Ih{`?sEQ#|Y}^89&`bN{g6cgWF3ytug@7L>+JRd!xrm{(wKuep}ug&fXkyjbVnme_|*dkFzafg9q)YhrUA zmvmyxNJvRZBOhnVpJQfaWlhWdfq6?_UOt_V+Z+Cn$7}fi|N8%--B3xx8W1QN45_b| zb#-%-jbiV%3k(d*WH8lHeE9GpCKgtz2A3oE-S1dKB{s2~Dv6iRVPm%-(?ZYt^fvb6 z1)lta@cgN7Xvk@HKi+7LmH3>Sn>$jrxwXZ6KtEh+H`NqMCo(h!f6pseT_5(>M?mxG07rBh)yNXW>3nR_`o z3CYUJc4cYt-c1xGjgODla!>a6$E6N!5~f3qy2@@JQ~SXKKbz_U+;GWV?SvDob3~1s zGpz-lCvNPVoN`&eANOXei@w;LHv90r?iEg7w?dUccuGo2N0=%YfA0i4+>dUS+}G^N z+C}DspYO*1%AKO(*7jBircBMxC*k4YiIwcI6gC;iH>Q?!6CCwCTDim6)79k-(^%@v z=_jEkz)i;FU}Y^NSNuroR%OsVHs)+cIKC5QM#JQ>O&S#ym8*S<$b8Z;ZVV*VqQ~g9 z5bUxLWMGI!kM)k&HrM#dPzf6+=eZ*D_VUGoLTzSIFrM}!-Jx@f`RQX~{O-;>PRq7zUeJbYKBmcNKYFLxrcH-7tr;?>5_u<|e z@yG7Kk}*#@9UYzhy_&O;g}eZCRQ8I?-bcGD4OS&1<|i*!hszLeu${*Tn=_ZMT#+>} zFi2>Ib)~1LkApRoPdjL8YEHi4OqQ{;yT0uvnU{k^`2YJ?tFFFfGKtflQtmHHZ#h!HAoeoO z*9k*@ElWCJd{OF@yM!^tCVE{6265sJL;j?^k;BA59)-uIeXUlurA40?B3cx@>7nCQLoJ-qQFx@e;NiqRV+@%9knYYcvl?yst3HH zQ_lAN8SVTH>M%-L1tq&%FyPk@dFOC(=DRFoHdZDc|Gj+Wy;Mh=8=iljX8(!h6%Ueo zjPcEwJV1LDIXz^~@P+lyWZLi>JG2U|=ZwAXEzm}+2GV1CYAaOUrGEQ*6P;^XZo!E> z*H^mtq$&N6wQWVZ?dZwyQwZ^Qo#jk)ouR+ddMF+DXoV?Mnb=x>rlbaFig9A+_t2%P@2l-#wVJ8J!=vT80`1Ph<2 z7@Ca>kUym|yjmgiR%NHgST?vY({m+Kt^8*z=`21G?8&Dq+}z&IDNZW2dFb)9_|PoA z&tGxnLdI89B~FIowUL!tzl7t|C~vHTcP%w)SH+1)N!2q39Mh>oIRtR`Ul^s-s5sIG zG+|ntbC)a*T$v(7_7|CB{n=Pqn|sTT7e*=%KK8&Y-t^r_t)3mJm6xCPzMVz8E~i3+ zjGhc#gcmgK*PYsGD2wWvHh%f_?C*Aq_cqBX@U_aAMo`ICjwm$Sxxy^d5-RYmSJ$w- zKSI!&cJ15RwuyyvV2jRn!J?9lF{^tD<|W=#7Nl#MnB&cEw=$Mnk7=RQM6~N0tou4K z>KVPX;ibRx53tZ*xgy+4=P8~uF8EI^JmjeRWSF)Ot5%iVjEt0Y@W#@DVaG|o8O-kP zQj+=-@wy-%{J17D>I(f;{(7Bj#^1f>cs(x)b|#X( z6Vf+-Dmgwg%PJabpO5^Z(V`M+BK&^r|1B)T2lhGaXJK1U%`5m#>Q8k^48)L$TQ>S9 zwB4)4HP9xOc_Z&&L4_`N{qKMxem zwc$|EElqrJDpavk)DOVvQc=Kp!BSd5_l)k|fPJ>SBRyE|^IvXT&2UIvqF-<_)EOyd zZd_6(<0u)v{-X!Z(^U2SU2}Jb%$aT8wbP5QaJs^ZDQj0aZ>y{KTt?TUezYvA6BP7^ zW8bxuIXAon*3*b-(R_H|_SiOssNI}~PS-OUbs$d91+HayaS~ndi+=x59=m$UIoF9I z;yD&MX{2PPwMEnH#~+CImun(|8vQ01-yEV@u~?L2D!$-dS(0xCyDm?=7Z9vIW~#`< zFc3Y4z zGKN72b)3war^j&9YV>nHSE~+TsnFwj5w{4B%A3Ut%2C)E>O9~#g@l9xLqZy(F5Ssp zuxk!yQc_osbXpp#soClL)zfp`yAa1`TrVWu(ce!69ys>6=tnS>$?`x!oQMr0 zVl-O$VxZdN1|_dS$n^9y-J7AA)sXYGtxH5~6{UF1!C54;Yh2=BzugLbOqcz1aQ$&! zvNR6qJJKr@1(Vh;UA%blwYN7CLL-3tsKnZ8>&e2x!mYb^EsJab77P?W?>GC9mzs*9 z__3hf9Dm!oqg1Gk3Q@uUb9F9GKAmZ2niMm|AUJ=%_8gPD_uID=*#=d##>U3f0_Ft2 ze*MaBrl6u~=`zClBHF9#DrjCIH}E_#LuAy|NjEn)vztYPg(u7Ak{cpeypwLYJZ|tO zES*b!ncdvj+-&kA=;HqVRQPq%77}j5YWk~Mx$<}K-tDh0B}&&+j{C*WIlg!@_jeC4 zY2V))u+kaN z>|LMPezN^NUq2eM zKXlpbN)}c>Z2|9tF(MFxy4YJ1a{A=etvndW(xuy`blM0**N7Yz1hTfu+tV?>15ucO zx3e5iBc$q$e*F1P!Dh2Kg zSh7LxtDY|20z~{W!~+iPSpTV~My#xh;(+)rHEfPJ*f{dmJ)PHpQ3iTrDtv0BwEYe_ zcnFo`<@MPFYREELpN%hOHzkSS=$&Bn&cI{ZmYE`$JGu{ki%eCRTuPfFA&r#%7IqpM zp05`s{~i3f&zA>epT7+g)T6Gt_u^v0-Tg%w7G!+XSmNY)7L1^`l-@NI7MoUC{uid$ zJB~42^(m;P!En1adFTdcDz*-DejN4Iw|FJrw-@e+@Iy%Gi2B8Uw%mJ}=fu2K8@Xuo zbw|+FXPh14atlQFd_X!7-JdU^ztS*ePJBQ{lqkTQk*R%+Vm*VU2| z^3ADNjW8Y{OvHrNPjzT{Uf*eepuu?%<#0AgNGbE$;-t0Iyk@3E0A3sBnBL{RJb9%w z^I@EzA3Okw!)t1R7Agblj?2P*CQnr2(EvPcq`}YKA3sLAiq9)T1v~l-CL%kP-t;!+ zM`_JKEH4_D#G*K&X_gAPaUx)xbCfbT2M=5ShQ|iAA@;uy1g$jRQ8(y0&qPcWVqG?y zXi0~k@``|{*EpqylQyAU+bhBWlZ;fo*`lh>77Wl$E1FIf`9J38QBE@7W>% zH2ZdDUmW&(<|9|ydNY&z#4uD7^T-$gg)a|lox|(4;5Sk8CYtaO@3zZKf|)iA$@vbQ zJH*_7S`A4>+S1O!(w> zy?6cK5o@}6e3kqHSW~((v zX<~aHBp+iu$gg0-nn=@}u!tm8!Xx}^!b#diH3&yhNTw0*_TCl+LqIMT?EH(eG9$}U zCS*L=gC2*SH7zUJjOOa2)zc)YL=mrnt6&MwlgMrLH8E%t#5f`K&>uXl#7pGK@yRNp zbs@Y!0>hBwr_^8C-t)=Jz`a;}Z(r)D^6!kNG*^lfua|FqMqHmI;bf#P{lLt$Re5%C z^{Gx}#ZDLx9KxM1Pc54I&*5VrJuq*56Abnx!$}n7XzOsI#xnSoFd#^+$3oV|MkHi@ z}4pBj@(FQ0J75`u zgT{?V4qv~~zU+J;bLqqpi)E0PQU((V311ITS@L@Ye#Z9eUGxSOUeD=yJwiK+FP)@m zOIxlE*>=ybUwlu0v18-n0$-4=U$Gn1oCo3Aq&Z9>oKZ5RXMqI5*1ZJbVli{b@FLh3 z(sHV+tH}-Dto#zsx-RsU6EVU;(}T1RPle+n3&%8&48pnj4{Z6tnA-R6`?j>);?^ll z*Kf`MJOy}Upwy0ypP%1$$f^W|S1oOAmJW$38FK3C>IwI<9{7Rabpp4ZXq;VK=H=ZuJ`8e>yB2#J!Bo7~TU*kn8^qa*frNV;AW3{5rtpcCS`z((z5nzOoH@h#T~!kX#Eg| z?uVBr&lG??`TF&W?|tvrJ`QM*Y6Hox1w;+NWjstzK|MhRr)(;Z<} z`%)Fy2w$kfnHYfrMJ<~6fBuZy^Z8!UDxIh;a}2Lx*v?Wvo0u4lZVu%~#nAen(VV-g>y?qg_V=9>6co7bPXv(C(7f^U!_L+%#>2uTsJ*dP=`c8_`!9I1uN?D}DDLPh zX3$!mXlIs}zilqus$C#LjI58h7}Y(^WD|45&?~dQWZwS%^}{U9iLe{1rIQ6$-r=z+ zhLld89|xMih>tq^k!Q6DW%|)0|9v#Fd_CkqQ>I&QnN(w^EMHuMpcO|=!z@nZ#2j$V z`{&P}uG5i9>j!fmrgAG*%NIBPOH0I_c|RAVop&r3PGAcnTJW!y99Hi)t=BsDpMZQ* zYRrV@B!TSWc@e6LQk%Dbe)8ZM0f|#sSQzo{9S+j+AMCTa$<5UEVr$m8DTJnPDmps) zx=9lOx9+#|uqBsycoczVAi(wAi96VuGl7E;^*9uS5%`|>aRdEfyt_Q8fB45Tl3iK) z5e>U4n$3`5+xCb<=%SNfZ??2|wweU%LM8-8)yHIruEPnAtfv(o#~8r%#_!i`kp@SBugK zIcci`T%i|zQrj)tTrv0>94EKgnV4X_sr>FQ6WbI6NBTvhsJ1ex+<%ddZA(vG%?URa z9r4Af$o)~*nbkVf$Ej0An$eW-{s|i{q^L;db%Ka52`Sf2g?k@&Vo%R0iuQdmJiLI`6TLB**W29f*?0IU}%-o811$DpnmWAApRL|@eshXQG zZ)xqQ-93-A+ProOt)%e_Y*Am4yzg`WlaQ^0`jqwP@kEz4vhdY*8QqS?FqakOXCZ>1ht9S#dR80Nd3gp|M{b6DQc>78lB)OZ{eRl~#Y9>uTN6K8ZQid~e{NtjaRSxJDd3RYg{6&WYFqH#e$N9wytIkj)Le%m@}nry0#9;ae+ zd-qyjPaWwl3Api$_MUcv4%`mFd=Y1#KHwmC8EMZm*qo|i!&oB9QQ7zF-M`-;F672n zK`DT*+2t5x^xub%H*75f#|3*I!VbJ2zL8BOsDg3`tO7L}s4FkOd3A3Vjh^5qSlu>f zi9Z=(q(4t{acF8}iCL19I*LS3ZBQUu=X>tv+s1Bb1!MUAu3Gktc|;yDW&QuaD*Aaj zgO@I6X8Xn_2&~eQp_iD2Ql{Ko{iXpmMT(qU5e?T-=ij64U+|LFwLXm#mN>8bq!=dl z4xN~eHSSY=nrUt{1Qg0WX?-5yTu4!?+T$Jx?8PsqcnLugYo2F`S90pYGkE`E=l=Pv zkrxqW<1rYLB$F#V@WSixLY`#ZCwCeDkR$6)Te+|yQW5XmQpnH7QF?sZ!ouS>3g#hc1l2oqAe}iYn%w{z#`q(=ah7FagN!O(7eGiJ~j8k z^CCQC9nQi8Bb{zn<}OL%Z!-Q4&2d|wn}5$N5=(vtyOD&CksZhhWHhspI}>vS3*sv9wD|KK3USIVitN5ATcut3LRS1t_0 zJY8!p;)^en;v4Q4uf;8I7_g$&TfEPH zlI=7y_7{4y(A8qzVrcrU5W2v|9UWwUo0^q%NUf(UBr!A5-~2nRRozvPG11k- zq^up!80S}3{J$QWr!VsYdJDW&5OZdWi`b5>GXqZh;m?wQKBw|2im%A*z0ZvFbp2nL zRX!YFNb5ev&nCANPm`tzd&RX%$B3;OO0M#*k9o!P%ir1ei0`!K7)y2q+^^~4%||pc z*1JTFbz9%^F%>7iVg|ZaeWWXdS69=_&5vBV=hA=z#@#!28q$@cNvNsMD@Wx!ul&i9 zGKX|JFf7bpGfUxvl*jt$%Qbz+yZ;A9N!D$~jlEjr0a=7|8U<(PUl*HBopZltd&92T zLghp@)`$ux9{>kbTC@vIl`FzJ+uMI6xs0Niz|`D)@->w~?V8uwOCaO5!570$ZotABRwMn3;C@2fe0!GP*!PjYun$L z>dtv20_BvFtHJ+G;=NTeDypfb$DKd$G;b4o`t|9&-kxhtNvH^(hw37c)zKS`wqpxo zu-W~M*Vkcx--MYu?4MWx4bgu^Qj+1#n>SXwP>do%Ns0USdoG3#7C+aDoq6yoGIiv- zs9L}whd|WcEb6wV*JI8i@R3p*SKb)ua_#_b?;k&YtZ!{SFY4^XUO_Xr7GsZXIUZ9Q zYJo1QRH;?)HG~c=nDbE4>b_;5tb8FcF>!ol#p8#Grx-9yKv?+#=V5(taKOMcit#kD z_f}BxUD?C#4!wavvkZt}scD}{4b2m=5Q&&BC0p7;Cn6nWYH~8-{rf-WW3%lE*WLGR zMQ_|N+=$!X-*1)5Q~cj)1Bd?_38>zI5K-h!U_hxLO3>3E&7(fk!!@ z0^yGT1%cJ_x8DKs2>_VLMU;9HFmKCelzzEunJD>^5;&nB1t!hw-AYWxP=<3|Et|`3 zZi^Q$B2jF7nC#J!@3G3;ytoQ2a z#6%cX=N*2u#s?xdxc;wbr^sRgOc@J{%fi;ffmTD`jpw^kT~~_x*LR0(rr<&qGmupzSR_}HO%;- zFNX=<1zfd@vG5xNYx9ez!QCXaOFacH4V}A2P2{aQbtwmJ>lLqaFPaL0sJhmCok>N|h5MtqfMb3H2Dm z0_W{_lgqqAiZ0r!XRR-(R{`F<0Z6qzlwmqRN@|s_PsC(q)E&*$Ec;##aewrJ)xXM9 zxhhIHC_pJg24Q7g`;{5R`p2X)3;uWnmcA{rJ8&U^VCmg1|(?S|n*Sib7h361ZYnNV?fAqrVGS7vs@A=Yce zd$45tBJk4~_{@VL0VZ-NzZWUX<~;irb$g})Qp0w%P$Sv!sJfmW8#^yLjc6l3%^e+F z3Ob$^J1%kk-8DIddu*D^1;fnE-O`JfxxG#ACsU7{Q@L_sA)~cGI!_h_Efc2+p14l; zIDo%mNv#Qok(gnm&)9BdlgY-C7`7A2HKDKmLf?Pkr{Egm5V5V7s_9z!JOdT71CF+825nuv`?e5oC0v3CboKpMhOF8;r!S zEqojm{oZh}*KYqQYr=NIqia;+UQQ__fH6^)c+m|?U-Gbb?h<;ohK{^2TpbK|FKGTt zGlXZO7#}!jO7OUucjDXmM{N#D*1FYGyTr5LK$PIng_phz9bzCF{2ddO1qP4@rsZzI z2^9usjjyIPHC$%_*NlZ8lTezAOUUvF1C%YLhU?H7;_Ad~bnJ0rpm<4cZI)Ywf zO`J%K58nG?itV_&xtYPgoWs5PC>!1CBy;7~`LXSZo4|$xPErE%6;{oO;;S$-s6AV5 zQSgXXwnbUdSi4Q9{G^P4Xu<}NxiW2n)#k_`K0BJ=1ZYyI|4Q{C! zv03AS)AMk&Jf)&vva@`-N8IoT+tH-1*=}9$(su^l*S9e}U(zX^Wo{K9Q6q7}tmjX~ zuLXtfXcx!Ab)FX0RXXD!UU@@e<5KtZ)&&^J+9I)6Iuz3yMZRMGCJKt_jFQC4n8}m# zOirY*xT|oR0fpa;Ol34&zQGANw43lz;cxy!mnZTFkjqe?zg>rU%UNM5yUE7-X%!`3 z0KCYw-~RU3f(=AXqi^Bo6CNgp ztN{)j>Z(yA-Qrn8!=%FlmT1_Y|1%Tw+sH~2106~9P)Wbl8gKm9r#qyyw0Jq1!SnML zKx$1DHcM@`u%YCb)%ti{p9%0jo)tzL3itDt1pI} zueBC@KPk;Ll$NW=YEc>OzA#f!8}UG_<9qMdtD2#|b9@ z(4Z`+RgrA+|5%ap=A)D5)X#1YMEkS41-~756-z_s0#ZY!Z^H*i+)8J+NZ=i2W@dcx zcmKk-F@SG?+O#~}p#W8VFiR(~J78k9OH40H(i+R#e7Lg|nV3ibN2LByabo&sbgTzZ z*Z*R(rI+fx#*9H1d?0wuUHNMZ#&%z4Ue4wwV7kunUNG6h$$!VLY~>kac97-~TL{p> z^~DS0f8KIg?KU?xO-=+bDT4BejEpS*+3za^)O^TVf@Z~oOWzEdIWDK9N$78j@e z^5u)wZpP=&tWr{^LE$4%`?a^X2M#Pd>(m9*V1VK96_(ee^QLf zX$lEuEU_HqZ)|L2W@VjBlTMKKk`lK1b8_~N9u{0*`;LH$qP_NmdopByK)8Ze{gRZHH?d{x=(~=Ll(m4w3zCD z<%pGf$&(BVId5!mu;QR)U#Lu^Lj6&||DzXsGJ9(wx42&wKW%8&(hi(sC1V$^V0;_( z(X4YKSKbeYH(2Z2E5}MPftC#oOsh?R=w z@~wxjSNH;OI@rrn`eBf$+G^f$J#@}Jxbqz{Z2EsdNJBlp_6E|_$`8)B!P9Dp!ugwj zo%vJqw8598cjO-UXfRp(%U9l+>T7LHF?FP%njltIjY0;_*8CfLn0kp1To;AIP9s;0 zFxUeGz>h`VG{}6;KQZ>m0YzD_`4h~J9qtPw%v{3QK2Ss?Cq40lcZWfKWAd0983!r` z$RBcWbZ;%DCRpit`0C}R{KiKAXgSiS34?!T30<5EEtMLz5RBj0jcLtWm6h+M0o?}o zAIq}cwGBV1{{*aFN_=K9cIBw`VbRvh4{)Sn2$=thKB%YP>$*$S z`i<|-_t{#tejq7H#a`)W{Il-id;#jGrxL~~ul`yuyV!J2Dn$3> zSG3f70xvxRX|&fZ0^h#)JJpdMU`sy^r}p_k@-*P`9dnGH2ZemgEsw^M4Qgt<%+A5yjtxlv_ZLINU>YMpRmE^qoGtX~rmkxjF`~LUIZ-A_QKB)MD zm)&3cn>9o-><{^y@Wq<}Ln7xc%>>v#7avysJ|UR=RJ4QtT3ghbgPP_DGwl6fArPtq zfcrWYKUj0H6)JIir@QXS@5sxmGJK_dzmeBVjvi*{GyeFEKmH#PZzZMIX(F5+9B7Ua zl%b*Qx{zy&$ZRG{B#IhdLI+F(()h>1FZ2qbXa?ZDqa0}NkjCweCJs~!)1_v8 zwj_Ixjnbwdk!4@*F*OL&VArh)@R`+vsaEN+sW>k}ZeZLKxrM%-P^WSRJ7lLFbwCSj zufSK78-t|#+N-LO_33#j#Jk2y^q;53f#(t1N%xCVLrLcl*B2V186GSF!24|r)RYzT z!ht1bWi}iQsiFmhS3e6w4h$K5esY@(8%a0r&3xmXriN*HHnsn_!29j)O1|SGBG9_w zfkR}ql6VlpWdF~^WO{wDi$DDHUR31iX*?N$fP6{`SZ91;^S`6^3JXu!Typ+@RF14)m(JSO*n)H#SN+l#Y7|HFk50p51J0N~D5 zR2Ums|3^!y%aR}E+4UD3p9-B8HP|z(-yv^Eb<%_%qVmf(JSM9H81u8UA>?yeIruf? zkyAy(`*sxfIA}@;=6xD%rMn{o#p&^xyUkq7%Ers=j1g}Ukq5IVdZ2v+#dSQQFXVYzm2FIc51sF6kh2AC zgs}*Y?ZU55=Lrd412O36DCoRAU^i$|Vl@PkRGvSDMMIY+)5f6WJL6$-s$P=cN2sOD_quA zmt*Ce&2RDYvKJ4NZ2l^5u&|iLW04QLT#}8uW-X0_?6>Mq*gDvefgjnrRmhO-#zao; zYuw;JG2${-yh{-ASAfLy9FMShsWWIK--R-WO-G-1PCn6{) zSZg8peejmpY8ZjMyP*wez&84K0*uf3&dK)@`TyZq3Sz3MsA2*oDQA4ZL1- z(PjsQHL0&(zh>d)ZaZ|))1wD5{YDd=jnVdecmGZzl5bRp+4e#D%xy9nD}wz(o=RA) zU&*ih9ak=42Ck<4K%~1Ma2~hn)JpiDuXNp={aC6Yvq4Ph1j5po^HWn;#kwBdEqcnz zKNZ+qwaDn`f}=TAb-i}?_G)J55uMhNc(uTwmgPSQN_pqtpe_yelw2> zMrYCuDrIG5YAJV77z_5EiTS?}l_vh`<;%64AKWn!?Mm0{ZhNbtb-w3578Hpl!5jZSg|MV#kK+?^pr4^V5zU!Uq7;<) zh?bTX0iy&pov>vs5cp3eIi#c*uWDx38lG-aRc`;fGe1-DYKGnxmWgs1ltlZRv>fKVhO`9rz2N(%E z$RxGIB#HD*+0cbyAjx+KrV_oD6MtY$crr-lKwu$7$<2ed=j4Y?{JE@n7 z7$oFES18o$^oj${19V(ei@9GH2`^?@k>}D}X{BO#bF2Hb{Pg_oue4oIJ5GLHrV|_p zQAu16F4}SG%!Bo@YAOHv+vt$SQ>m=r?)`3KQr@G(%MnmLAu9%uxrhw{mzxjr;n}Uq zt8tmF@4!j&KKCkLaZ8^KRJSsB<1dxukJt zLlH17PD-E{ZQ53HO+n9Ws1f$&4Y1k4pB3uwFZpF3-{u~C z&jwF7pjdPwn7dWCrfNIR1E15KqnsX{1?BuqP|dwJu;*JIMEqM<00h|IZFQcV3`n#G z;OFXas3!X5;G&YF*zwTKUL2HQ0%@2rf2*sr8RawD_X3oVvOH#Wsux!F*eH~N{BBGb4bCmby+ZH#o+wbhzsuj`e>C9}c@xfbPy(jHgVxv6 zj#x2}pD#Bf+_o#h_k>NX(S@^Sq|;U>({fk3oCl2-!<&}b0))&db>CCURf2^AS0NrQG1V>yx;4oFs2gNI(NZWKGFGR;@`H|>{ zM}2iW=9*zf#(_YL?5YWXH}3kv0R}@cNPBafue2hw05ZYRgVS`lD$dQ&dlK;Q9LlT% z>e&Zq40vT351%;_fpXLS(1X@qJ{vC=GU;Rn7!Ea1#0e ztI15CJ>W$v$8G%UZ9&|6nNKNTSv<$C<@7e6li@7HU+^6sy#P38>IJjMe($wsw7oD9 z2Bogk{T~=D{CVft%cBYxanZFD5ugHwRk{u?!@%5gFd3OuT2Ag4M%0kN?(kL0fpS(+x!XxPceZm#a$AAoio z-6t1gqy!19c~sCtx(5AVbnCX3=U2FC zLOMc%J`G5c^7L8Yj$7>*r-P?Vn&zd4JNq83PF{NiOK*bI=k_ z^yCSoS*TPdnU=FMmV(fQFz<+M@jSRf;n~#|840p6I)u;VA!Wzg-+_ek>@9!VFx`(E zXpk5u&!gRS5;|zH0XI090$AS9xXu98!Yr!_sP$WbwPoI6xF$Gx@Ee}}P@TgB!UaIH z)7t2yBY-Qu!xRLiHhiGA*N0;h+26kfp{n2D2lJHbpCR2?ZsUUmSn_a1P+Tqik73@A zUjb`zLQ0P8X(~_PE}5HgZ1VK7W>#Dst@gUydu4R{W^Xt8ih-7{RaYl_ zY-BvNoiqR7Rsoo3($a@9bCabF4GUl>)+Q_fD+h+jPe-875BpxPizB7NM9}LQMx_Pu zq*ttZAU1rjM+FNxJ;-9Arq4u;(+=*?pieA^KU;3N2*_w$kE1;@|Jq@u+zNDh@n(x* zBl{;SCwwm~RN+3;!+nlqu+_|3UkmVOfr-L=C%<&=eS``wLvW@XRK2s}yT zU@HEGYtK3LCq)UErH%_4e*XTlS-)9MOI$k+H$O{qdwf=acKenM_PCQT zzg+h}8$nCsidz@}A(O-H1=oX_SPX4Np#ut~-cOz{ff10UwVzyS2S z5P%}?`{0MTxIq01=i()?HgkcmU%z%$z1$N%%F4XE2PAe z-Re~sh=UeGZM6VZBQ9&X;@O}bZL3QXhLO%}=uCL#^FenE?yFaQf11Af@WC+Q#M9IB zGLQ9GqD3&}HQ9Uj2tVITFdq@I9hX6y4VL=zlt4lGP4}8&DD7*&vj)2_XlZGU1ZjsX z<oy$XrT^aSFT8==Ow-`oW8!f=(gk<^kE19;HyQR&~Qa9Ru9yQ}Xg ztEe2pbJKZ-*iRRL>B>~#KVgZ z_xELTGz|s+XlZEJcV~|C=0GY3oNE2ohgr7G3@&;b+V5_^CS_C9v%|Limx7kAIpOuo zBrh!!ooI+>>&i;F+VQr3vU}#GdQTU(IA!-G2HxCy^0T1;#b_FG*5i%Xiu$3QU9|k4h#>kS)PiDj^1ct3m@O=ly25{8FBi37RKG$^3OlAGBUMh z;oZ=kijvf<-B9hwKkg=7w|8jrIlkR?Du_kc&H-7+pUVIUBE$Dm0N;TCs-fnyL#QEZ z9}IkZO0M!jDl|Kr8!dA{ z*J|G!dm-nEyX3|O8{7D7T2olGSzN^;a@RbertSm9B+w;{2H)vW#$aV4?5vHNC`TaU zB?}qoPEqJy;JWd+@^CSWTHNt6v?=A=O)2{MY4<5zyK?230O$D8T21)uthvNa?|rnr z$J$}Gt$^{qjt;cCx?=j`63RY)%!-GH_uppMgC+3x>UAUQo*IGxSB2@h>+dWPIiy*T zb!dcGBhca%8U@){}2$)sU!&JJ+RY$H-Es08+P!h3ONJ&AF89H87Di zfWv?g&3 zd(r+T@@uPFUd*IUTo7^3K@;GqAP)hQFtHFofe$JSjikT{}#NMOTpfOM5)!@``!*ERApC zb8BbTZTZI#ImDn-eEnDB%{Uq=OdZ_QxAr7idmqRdg6RW+bPhM9mx0Ww?-CxTg1v_! z>mwlF(vc|kiFXy}rX~iATKLxkc!`XDFeVdyrbDCOYA}{|k`4mB5;utDjVDQBq*)&U z%1%AxX?i+eL=pWo_t+D9b9$=O{v;ntq2dus%s*<&G&8#6Jpo z5D1iTk@nHa85|v69z9)U*CI%Lt_cLVjZ}MWdA97GgO|3{c?WETY!H$0dfZG}AXh^W zfL*mqW2Qye8Wl8434A7ljFw`Wn4!^lYn%!u?$B1ME$>K}2p?)l%jHxi^OXK9JuIZ+ z3iPR~^ok(#4{t0^pU-?4HScQL0IfEBTOTE%bJh<86RnIiK9Q-3bKxzcw%8H3>dZ&z zgZkIXE<|CYx>OWGfflp7pha;80;tE@N_{sg8&uu%Cx2?gHrxP&mTtQjPS6B9Q>Tzq zU!oMW(G^f(m-<=Vk-PA^5`O6Z@0S&}pDQUr>#^};*_D83ded5d7i!#re0H~(Peq=y zJL+;mVY{|!ZMA-IlNNoKWjjwD`mPryScgY$%rhbzC_T*(9B7T;Gm~NQEq zO3?&7!rhkfh^8r$9tjt@uUcz4D|r1jc+?Qivl3z^RA;!}Y-fxngQcPySAAR5*KGty z^&6qAVkQtU)&Efz13>|}s^@zjw66a%vj`QI^?s5zYAqmxx_bU}-DL@*GS0Eu zvx5mZDnm<&K{7>{$Z9b3D&Rr0`c(2K>G8WXHbiz0;BO|IQB1(o3b{)PX>Z7L_wQV? zS401uLQT->>vyV+_5JsKfzGtsi%NoK3VBEFMH#p?A|g!9Qy-S)9?A(QZm;_1dASJq zHkrtpN~)F*L;Lps{7}vK5ybg85`;F0tIZMDT`y?{=(Kzl-M#ZC`Xz=- zbukunkI61&*VlYjnuKfDpwpg*%c|5|Gb7(?P0J}{kU-}1iI~tA4D@L0irw6!8z{Df zR};R!XI>fahPmez5hg1q3G7(JW`gV8(8WvQw4_d?$}wggE4E1?ifr(;0RmhsNAV<- zkGYapNm+AeG#qP=0KQjX$KvW)&sdzXrV6m(GAb273o}um3T4f|44vii# zlGhI$8{_sC@nd4vC~qGlY3I^J@r`#B$Ls?!9ww({F99}xT# zPzV}>%j2T7$z!O&=;>92jFNbI2XcctqHc>TK+Q5c;5H_31HMn1iM;#bKl*%6X;BNP z$rcM)E4=1nqZHuSFu5Q{ikAQQS+DP(v}3x;?PIVWzDfOlVXH>!)$b#G1c9KIKVN-I z9{0r?!p}y~VDUm#iqcZT|Es?_^cftl?w;6$*a!7TeY9*tq%hDfsp*gaK_4!P-%!lr4ZxBx} ztpDs}+SMbL3wmQr&tJ2#06y{En2cjXUB_^{mo-=^+(* zmltNFx{8CysPbx6y7n{Q4P2iKyxM(f{U`xv-G3cRzSk3M(RC+_ZNPC_0;&D26RIN; zF!|=up-jfij!!>ywGfW}u_psLw^0m6P7z*B*(avt%1^{=wH)P`|DI{?Nb)eg>q&x1 z-InAT6q~?Gd zDkx>QbP8qR{gF7&z_ledK88q-sXY<=al(mnfteTldQf zr2TZKZplQPiQ*4+Kq65Ts9+fMrM3c~R2L2Hn zs)$XyQ=g#Zo#RD0)=vi#B;#QtuZoxY^1I%U);vIBdGv$Mj%v=JZH*M|xJIQkEG!d+ z%{F7z45$(oK5qhY??CC31=Tpom(B?$z%j4?y2Crs`{h2$4==Mp?F7G~kk_$cMPiE0Ucw< z$A)8Q-5Pd~OYWup3{jd2TJ7NSM%$~QdJ_W^MFlV?dt=Q3OrC)smBLv?MfcOD92^|r z>nJ|WOkVWx4H$OM{fTqOyCpRWkR`2F?HM34Zf@eBZdw2HJkJ>BiGJS(ZTDUtE+Ys1 z?8-ksh)E);+c^ZB=L~A$lN)FooWiv`ABs0Ox|lz!y2#_aFor4-K*hTDA7AbW!~h4` zC5AQPjehXb9+p2|$;W>ok^f z)0fZe9|~^m{PDD@v;X&+b1G>W`AH~EnkYPku1yKg7A_@40~~0=wF*;Lma$=S*yZEjpY-s&v*Z@R0$dHsL>T7vd>OPcrZ-;XaZ zhiq>jY}UdLImn5o zwH~j<B&>u>%!E&nF>KeO+JpG{@QGMohxBO1-317Y84eC2W9&DpxKhCOwES zqXDY{Diccbe7!IDKi_5eiGHcUaC0Bhp11Gbu`n}_7dGpyieaEkLY%bMsZ%u>>mnZL zZBTIbIlRPa?1hP>N@8ANSO=)+Qt}IlUi-U2zm>Yqb1tXLc~!G#$r*hYeB89QmuG{Z z8?d{??CtfoG4f=+Zofdwx9wE5nl+Uvk78!78cch9ner+-)BWH8>22H%mt1t80zqY; z6~M`wdhDpXzwqtW{Mg5KPn{TOy$*z{46CgJqU)~Zv1cMoOw`_XCB8>>aI#v@LJTNAZSq62&J+h7DCHmO7U8# z$|=aDf|>;(fFTJg9jwtrk%ej?v3TGGBKHwM7hJ$7EK`gJkO&eEBZOl@0!hez({Yd4 z*>-0C-kJQ7%zHd}-}iZb&-4C%-|uH`O!-Xy#cFVu*xSYer!|_;iR5+b)+N*F5YUTI zvqRbSki!*u%1Y13(`&s?VG1N$Xz4pVpM+1A-uf@vt4!|qY}5Q1``4@uxDGELr({-ygxdI&)^;k?yL+R#sMo zwETSQewi$QYqD_RW5}zSvw63LA%xK4_3ICrzzRzUTkIh&3$=HH5Gq5##); z?Y{m+Yh2n_MmIb8$y=27HsDXoS!L^3u<2F6-}*OvZk`EB>dSwf@F!d&_O} z!yQ)rW*z*^`BO1E$=-=@IGCKS-nnB;FkQB6?UwmyC*&>+yF@7Z@e_^e6f;lhRVb$Vg%hI*l)W=1&F9XyPnnitOUWVf6U@x7XSVFpnlbt+ya`)}5 zls}kL2-LK1Zn(n$?b%$sacdq&zdCWrKX>m+QA_q;_NB}QZYZ4sEoJeB6<8;OB!&W& zZw|m*YI&&M`24mtThBK3(hYlmXlqmXT&fW+0ylvJBohvVEaSt0|MAneK&_GLIk@Ll z)zyzgqPrnnOb+*j6UKNXz3<+g4Wia9r*O=NyRXu2p>U3ZC!}il02t#Q6(w74If(?# zmzmccgHZ5(F{dKVC&w0(=X&J6@~>Tkc8{~sqJg2Ic~U3ynSGqb5+Ku7n3!{H@p+sb>1xG04Fym@T1PYwh+dHJZGBAsZ-oa9N% zH1>wrJU+mqhPP%CU)CnsX>~e#+IxTb6;b5)o6{!N5CKY=noae(sUY}pA#ohO!!^|S z4XV~IbiLZug-3(nMCK#^C{*{c;SBe5cQ>*D3{EH%`dA2fJT~mjOXts@k4;UV*a_3n zQB|m~5BK#~C<3Kjd%@G8PCAcB8(3z<3X^}Kc3vmCxRoXZe2yv=03=a$`&rN5K8-GY zuTa=E%+AQg45d<8vj2XL6b!qa+Yg0uEL?y8@dcK4oFcDBkY1UVo0rFU)%+~i*^lp% z5^uJ)%x(>ZlXbA2-xDnbt4B5{V9jPW>xXx-GUqNbe;F;kw2Qm}GErLKHhN;AVg$sM zC_+3`jAqx5FZjUQTfvMTj^6@Zww05U8HB9h>6DHBbjYDfmK{_a`@;5Q>k%J}bG*Yq zQF~7V1kH~xtrKC@#S z$iBvUhURa;&KwRHd8QOr7Qz~DYHFGWF+!MJT$s1gZ?XFF4H3pD59FN%gnwvj+h-0& zrU+6Q47=9~xt#u3br@P?HNwLfmJ$&i`Cf)+e5^r7gNh*`I+zE@8)l1y9fE4q-hC{j z-QDNly51>@p%x9+E&L_)PmOg+W8cAS+h*?sLW!lJmk+cHSdSy7Mtj)3jTxaTmIr#W zn<3*$rgTbFzpGNa8WqiwcL>NmGYvq6eFl3|dU|@;2hvQ@=JJRtaeMa-PD3ZNrb6XN zA}s)DNGvc|q67l2lO*|LEP+Nlb2%JAK+Q6PnYTc|T&0q-^vk)!J+-Pt*UE+lHyD!d z0;4C^5s5@I-PF4?uQd`2mt@nyc0t2X`!_y5_lFtA^X7f|_1E)uqDwpr`1Ct2*Q7H> z>9xjp-^|m0pE!~N_tKBMDn@QJK{ou;F1L}P}0m3LgI{Ieto;^{nHYCz^ zWb4b7gD*l^A!5050{Rx2N5-O76PK|xb5qmRperr5dlY@%(rv%R=aFY}`Fz`gf&!6K zPr@aaxV|RGX05ia@Xnn~{aA)u3&>iTSd7XFgDRiI#l^+9^IezgB}M)Z3?V2xXH$@k zrR#}rnXrsSCM6|J!%1s#o4;wL<%RaaZmZD@$^!KXZ0^5Cal$q+2;*mr#nhr{^18FzDl*aVyC5 zse2@m_NlMt0oI+&p~aG=eV{y8`if*Y>7R8vT@>OyKpBDLgrVIp zGAiRR(N1`nxUQw2IPnCNkl}kmN9Rg67Bx0DR@T(ySxwnDY3_V?F&4Pz6Ye51dZxtSC&Z$qhZW`CwaC)MY_HjGK3MP|}){aF)$}*Xm%p_qESwux-6=ac;5C#Z_1e1U$qLqiD6!3wH zC63I%`7+?E3Cr&-rTP;?z7*C7v5UbU!QjXE+m4kanh(o3F zaE$5ws#Hk4Sv3|2%Q`uOC~TY>!{|56ZdUlR*+%|J!burtHn=^m)tzo zc)oLq7boMpy1i*tgB|82mF;y&y#Dd)Zkx{i_eM@Xlydi0+r9RptE*18U%BhPbLZ=r z)hj!jfAjC^{Jm4XW_g#mpy{)nCl2jhzG~L~9qBJmKj19imXlifdq~heX7$#b$BNp{ zu=uW#3+#^6M|f8|W@g>5T~!os8LNta*5sRVH0w z?pL=qUv4k3v)kKv_CP~xT%f7!m`kT&OjT6N&}-)_?|k7uXRabDX_eQcwfwUDnUC}EfJdcQ9w%)7rR>J8)9d&Z8|_DD#JBI??Nkuwb=mjk zC3)+_>lLb5=E)sl@s08SUe-A1)Zs;vl5~7uLgVSkb-_1EUabDewynY|=X&iVab4FM zNkwN~;31zEZHkPmaZh#>MsAKUZ1sGy{ODP?WTQo?p$EL}FE+jQ@0u25JRcwHUR|DD zut>3o@GmckZEv1l^UbDd&10Kxd7iRv<(J-1E;k5|%Q}?qk}_e%uE^3wLl2Ko%xd3T z^Y==JJ$IZt$KIZC-y`j==-Ib=zDp)Fmrocza%HfxSaR;?3zfSnyw9c2Hp>tNT=aBK zwtkqAbI1OkXvfa#c|9RhGJlGmJR-CHp1$e+j7oFSvec?Y8@vYL69aF$c9wdjuDx>Z z$mF3-UC}bv$=e+2RFCz?hL6gbajDjXpg7MjQf8ZOnn_$u8x!N1pe+lnzTRdSIY(F@ zoo7e{ik4Mo4W1)fCU=^CT~e8FMb?%{o$)cxT3{;kEu8oK&`x_|Vx+(IoFSIps}0S@ zjH|N^)0cS^UGL)PB^Dejx6f(xuR7(CBlpX7m5TmTe{{Ep@1C?BGq>p-_472cu^2hn z#3+CNseDJiMOpq7XVHehrr|%vZ>s4|GBq*IK61x+{*2M>-_M?Fh%oiVb3eHehHJHgb^+oAMKgiE)4Z7eF%pIox&1r{> z8>80y?)D7zN(?i7nz(!XS2GG-qn3`b76;^K)o=FI`-nXiH)rm8nMrYJMWl6Eqx~f# zVePqy(p$47E@wqH<&Bmtqc1CGn}r-VHgGszBGW4i85Jj`_jN zwuq;557xxo`TQSOJ~FI2nQl5H;rm+|#};P%D@*iv{7zYEPowE=W?6@5ddd0SE^);h zt5Y6C-t-GFUOL2iPeJlw$1j@ly^3S9C8AWJd27%Z%!yLC+O6=+Nu%HL^&No z(WK9UdFtBi=@s`9hu$B$#wT~w&Y_k^5^GOp5B|w{;<2Gl9@Zn`6GvRz&@lK!VPl}f z_l-i;`fIl~c{kgXK0O}Y{qml9bl|CrUmiBHGMGE$k8v)G^Zh-;LKe_fentxCOIBai z%TlkIr+sdaQZ`)C-oD7d^3yIVX}d|;-%VQ=Up`d+sn4vNQ=$t+J1WbE-?(r??7n`< zOeb<{aA&q8J4>=wvdn@#l2%f z)S3$JtWZW_xP!L3SrA+SiCK^|gE0i3zzBk*p@QPQB}+haK4@W!w33nMxWn|~_luH- z)rqc3OkI9$`DMsi?_Jg#8x4{Q{C_jMxJ$ewa#C{CZ{q^?<}c3oa=q=^ly-D_?%3|> z`hKk^1Uxqtlh5fnuwZJrohv!%`}b(}zIrO)e%SxChxI7OX(MWd>u`^ae|-IIqmNH= z=buY+ZDK03h}aFq=c?x0=*8+Sood7WCLH6lD(98UsvYZQY-ziwUww2+(X!Gs<)W|i zBK|${b;-!1{2xkF^6{5-s%e8(Goer+kwiHsJZAD`~u#8p?j+RsIS2@Pfmx}i9Rkn{(P!y!-byUAYR^(Z1%zU zl!TDscOy2ey^$2JIQh-(Wp|e@9Bz8M-rajb_M`3R)mzy4`!9#u zVfK4u)9tYO8XW=kVc~3b9kWWmafQ#VeJ_F^KmE>)xl4@7TdQ9iCp-D2*Ni;!=D3oN zckZqj?QLkpS6euZD-xHE>DWHl=J_rnk+a=Ua>&Ipdz@2dioEO7=HV`z+SV`KzecFSq{Ufe;f zVzp0>{tE);dz!gQ<*w2YR;iZCS$AX~rAqA>Ay&eC+*REBOwwq_L67Ogsw7Hjv|6FW zh~6Ig%??J(fQ8+}QK%t*4|gq#4{UL?%0jVPDb;kjmRv6KB>dkzp>7xC^MK|X8eB~) z&cWx%peUfZ;1yr2@khau%aO_%LZK zt8LZs#nMo91gxMvD!e^QX!IUvS{=)1EcMrB03*x9;VO(G|0{#ot0d@5AP~aVLW`gm z3leGJD2|@TO2Z@67?*?l^*zFg1I|KHiM>2r#v(6ztJx@D^srDIr%?(M(uD451ZjvA z3dCqG_kRJL|1Tes)}Cr8iUB{-2sjMI$M{?tBZTlx2qzu@iVo6C;5?0>q;acoYprrZEP9hLaToCgwx*(KH_d1@HiT3dz8SwMdOzG%3IYln~|! zftJK*9-$ot+Br1PG7Nz+G^sHbJhYw=bOGKp z7wo_T8fZQ=HbuHZJtX_9~V0#Lq;5!9)3ibz05x@^@2z+>m z7IFiR-Z0PI7f*oEjTwE+{iQLo27bOVLR`sEqWjWKZZO@He+HxT8G~;Sw>X$y>NR z`IltSd-sy*ETK~j-{x^04c{Vl`*~-=Lbo^uds#$D(X=0of2f2)fof3wEp}-Rg;11S!j=MAG{{XK8 BO27aB literal 0 HcmV?d00001 diff --git a/bilder/schlechte-qualitaet.png b/bilder/schlechte-qualitaet.png new file mode 100644 index 0000000000000000000000000000000000000000..329d9a770438e126e6052b0e7a257fd5c84b029f GIT binary patch literal 10080 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 E1JMs`vH$=8 literal 0 HcmV?d00001 diff --git a/bilder/tu-dortmund-logo.pdf b/bilder/tu-dortmund-logo.pdf new file mode 100644 index 0000000000000000000000000000000000000000..9a861990703ddf6863567b4d57aca1d0ab50e260 GIT binary patch literal 6455 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 a*XXKNo@h7<{U>X2sFWy>n_Ep^9r%9{hJYLZ literal 0 HcmV?d00001 diff --git a/code/pyplot1.py b/code/pyplot1.py new file mode 100644 index 0000000..4d68519 --- /dev/null +++ b/code/pyplot1.py @@ -0,0 +1,4 @@ +import numpy as np, matplotlib.pyplot as plt +x = np.arange(-1.3, 1.3, .01) +plt.plot(x, x**2) +plt.savefig("bilder/pyplot1.png") diff --git a/code/pyplot2.py b/code/pyplot2.py new file mode 100644 index 0000000..f51c454 --- /dev/null +++ b/code/pyplot2.py @@ -0,0 +1,8 @@ +import numpy as np, matplotlib.pyplot as plt +plt.rcParams["font.family"] = ["Linux Libertine O", "sans-serif"] +plt.rcParams["font.size"] = 12 +plt.rcParams["figure.figsize"] = (4,3) # inches +x = np.arange(-1.3, 1.3, .01) +plt.plot(x, x**2) +plt.tight_layout() +plt.savefig("bilder/pyplot2.pdf") diff --git a/generiert/friendly.tex b/generiert/friendly.tex new file mode 100644 index 0000000..d45866f --- /dev/null +++ b/generiert/friendly.tex @@ -0,0 +1,102 @@ + +\makeatletter +\def\PY@reset{\let\PY@it=\relax \let\PY@bf=\relax% + \let\PY@ul=\relax \let\PY@tc=\relax% + \let\PY@bc=\relax \let\PY@ff=\relax} +\def\PY@tok#1{\csname PY@tok@#1\endcsname} +\def\PY@toks#1+{\ifx\relax#1\empty\else% + \PY@tok{#1}\expandafter\PY@toks\fi} +\def\PY@do#1{\PY@bc{\PY@tc{\PY@ul{% + \PY@it{\PY@bf{\PY@ff{#1}}}}}}} +\def\PY#1#2{\PY@reset\PY@toks#1+\relax+\PY@do{#2}} + +\@namedef{PY@tok@w}{\def\PY@tc##1{\textcolor[rgb]{0.73,0.73,0.73}{##1}}} +\@namedef{PY@tok@c}{\let\PY@it=\textit\def\PY@tc##1{\textcolor[rgb]{0.38,0.63,0.69}{##1}}} +\@namedef{PY@tok@cp}{\def\PY@tc##1{\textcolor[rgb]{0.00,0.44,0.13}{##1}}} +\@namedef{PY@tok@cs}{\def\PY@tc##1{\textcolor[rgb]{0.38,0.63,0.69}{##1}}\def\PY@bc##1{{\setlength{\fboxsep}{0pt}\colorbox[rgb]{1.00,0.94,0.94}{\strut ##1}}}} +\@namedef{PY@tok@k}{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.00,0.44,0.13}{##1}}} +\@namedef{PY@tok@kp}{\def\PY@tc##1{\textcolor[rgb]{0.00,0.44,0.13}{##1}}} +\@namedef{PY@tok@kt}{\def\PY@tc##1{\textcolor[rgb]{0.56,0.13,0.00}{##1}}} +\@namedef{PY@tok@o}{\def\PY@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}} +\@namedef{PY@tok@ow}{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.00,0.44,0.13}{##1}}} +\@namedef{PY@tok@nb}{\def\PY@tc##1{\textcolor[rgb]{0.00,0.44,0.13}{##1}}} +\@namedef{PY@tok@nf}{\def\PY@tc##1{\textcolor[rgb]{0.02,0.16,0.49}{##1}}} +\@namedef{PY@tok@nc}{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.05,0.52,0.71}{##1}}} +\@namedef{PY@tok@nn}{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.05,0.52,0.71}{##1}}} +\@namedef{PY@tok@ne}{\def\PY@tc##1{\textcolor[rgb]{0.00,0.44,0.13}{##1}}} +\@namedef{PY@tok@nv}{\def\PY@tc##1{\textcolor[rgb]{0.73,0.38,0.84}{##1}}} +\@namedef{PY@tok@no}{\def\PY@tc##1{\textcolor[rgb]{0.38,0.68,0.84}{##1}}} +\@namedef{PY@tok@nl}{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.00,0.13,0.44}{##1}}} +\@namedef{PY@tok@ni}{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.84,0.33,0.22}{##1}}} +\@namedef{PY@tok@na}{\def\PY@tc##1{\textcolor[rgb]{0.25,0.44,0.63}{##1}}} +\@namedef{PY@tok@nt}{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.02,0.16,0.45}{##1}}} +\@namedef{PY@tok@nd}{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.33,0.33,0.33}{##1}}} +\@namedef{PY@tok@s}{\def\PY@tc##1{\textcolor[rgb]{0.25,0.44,0.63}{##1}}} +\@namedef{PY@tok@sd}{\let\PY@it=\textit\def\PY@tc##1{\textcolor[rgb]{0.25,0.44,0.63}{##1}}} +\@namedef{PY@tok@si}{\let\PY@it=\textit\def\PY@tc##1{\textcolor[rgb]{0.44,0.63,0.82}{##1}}} +\@namedef{PY@tok@se}{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.25,0.44,0.63}{##1}}} +\@namedef{PY@tok@sr}{\def\PY@tc##1{\textcolor[rgb]{0.14,0.33,0.53}{##1}}} +\@namedef{PY@tok@ss}{\def\PY@tc##1{\textcolor[rgb]{0.32,0.47,0.09}{##1}}} +\@namedef{PY@tok@sx}{\def\PY@tc##1{\textcolor[rgb]{0.78,0.36,0.04}{##1}}} +\@namedef{PY@tok@m}{\def\PY@tc##1{\textcolor[rgb]{0.25,0.63,0.44}{##1}}} +\@namedef{PY@tok@gh}{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.00,0.00,0.50}{##1}}} +\@namedef{PY@tok@gu}{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.50,0.00,0.50}{##1}}} +\@namedef{PY@tok@gd}{\def\PY@tc##1{\textcolor[rgb]{0.63,0.00,0.00}{##1}}} +\@namedef{PY@tok@gi}{\def\PY@tc##1{\textcolor[rgb]{0.00,0.63,0.00}{##1}}} +\@namedef{PY@tok@gr}{\def\PY@tc##1{\textcolor[rgb]{1.00,0.00,0.00}{##1}}} +\@namedef{PY@tok@ge}{\let\PY@it=\textit} +\@namedef{PY@tok@gs}{\let\PY@bf=\textbf} +\@namedef{PY@tok@ges}{\let\PY@bf=\textbf\let\PY@it=\textit} +\@namedef{PY@tok@gp}{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.78,0.36,0.04}{##1}}} +\@namedef{PY@tok@go}{\def\PY@tc##1{\textcolor[rgb]{0.53,0.53,0.53}{##1}}} +\@namedef{PY@tok@gt}{\def\PY@tc##1{\textcolor[rgb]{0.00,0.27,0.87}{##1}}} +\@namedef{PY@tok@err}{\def\PY@bc##1{{\setlength{\fboxsep}{\string -\fboxrule}\fcolorbox[rgb]{1.00,0.00,0.00}{1,1,1}{\strut ##1}}}} +\@namedef{PY@tok@kc}{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.00,0.44,0.13}{##1}}} +\@namedef{PY@tok@kd}{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.00,0.44,0.13}{##1}}} +\@namedef{PY@tok@kn}{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.00,0.44,0.13}{##1}}} +\@namedef{PY@tok@kr}{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.00,0.44,0.13}{##1}}} +\@namedef{PY@tok@bp}{\def\PY@tc##1{\textcolor[rgb]{0.00,0.44,0.13}{##1}}} +\@namedef{PY@tok@fm}{\def\PY@tc##1{\textcolor[rgb]{0.02,0.16,0.49}{##1}}} +\@namedef{PY@tok@vc}{\def\PY@tc##1{\textcolor[rgb]{0.73,0.38,0.84}{##1}}} +\@namedef{PY@tok@vg}{\def\PY@tc##1{\textcolor[rgb]{0.73,0.38,0.84}{##1}}} +\@namedef{PY@tok@vi}{\def\PY@tc##1{\textcolor[rgb]{0.73,0.38,0.84}{##1}}} +\@namedef{PY@tok@vm}{\def\PY@tc##1{\textcolor[rgb]{0.73,0.38,0.84}{##1}}} +\@namedef{PY@tok@sa}{\def\PY@tc##1{\textcolor[rgb]{0.25,0.44,0.63}{##1}}} +\@namedef{PY@tok@sb}{\def\PY@tc##1{\textcolor[rgb]{0.25,0.44,0.63}{##1}}} +\@namedef{PY@tok@sc}{\def\PY@tc##1{\textcolor[rgb]{0.25,0.44,0.63}{##1}}} +\@namedef{PY@tok@dl}{\def\PY@tc##1{\textcolor[rgb]{0.25,0.44,0.63}{##1}}} +\@namedef{PY@tok@s2}{\def\PY@tc##1{\textcolor[rgb]{0.25,0.44,0.63}{##1}}} +\@namedef{PY@tok@sh}{\def\PY@tc##1{\textcolor[rgb]{0.25,0.44,0.63}{##1}}} +\@namedef{PY@tok@s1}{\def\PY@tc##1{\textcolor[rgb]{0.25,0.44,0.63}{##1}}} +\@namedef{PY@tok@mb}{\def\PY@tc##1{\textcolor[rgb]{0.25,0.63,0.44}{##1}}} +\@namedef{PY@tok@mf}{\def\PY@tc##1{\textcolor[rgb]{0.25,0.63,0.44}{##1}}} +\@namedef{PY@tok@mh}{\def\PY@tc##1{\textcolor[rgb]{0.25,0.63,0.44}{##1}}} +\@namedef{PY@tok@mi}{\def\PY@tc##1{\textcolor[rgb]{0.25,0.63,0.44}{##1}}} +\@namedef{PY@tok@il}{\def\PY@tc##1{\textcolor[rgb]{0.25,0.63,0.44}{##1}}} +\@namedef{PY@tok@mo}{\def\PY@tc##1{\textcolor[rgb]{0.25,0.63,0.44}{##1}}} +\@namedef{PY@tok@ch}{\let\PY@it=\textit\def\PY@tc##1{\textcolor[rgb]{0.38,0.63,0.69}{##1}}} +\@namedef{PY@tok@cm}{\let\PY@it=\textit\def\PY@tc##1{\textcolor[rgb]{0.38,0.63,0.69}{##1}}} +\@namedef{PY@tok@cpf}{\let\PY@it=\textit\def\PY@tc##1{\textcolor[rgb]{0.38,0.63,0.69}{##1}}} +\@namedef{PY@tok@c1}{\let\PY@it=\textit\def\PY@tc##1{\textcolor[rgb]{0.38,0.63,0.69}{##1}}} + +\def\PYZbs{\char`\\} +\def\PYZus{\char`\_} +\def\PYZob{\char`\{} +\def\PYZcb{\char`\}} +\def\PYZca{\char`\^} +\def\PYZam{\char`\&} +\def\PYZlt{\char`\<} +\def\PYZgt{\char`\>} +\def\PYZsh{\char`\#} +\def\PYZpc{\char`\%} +\def\PYZdl{\char`\$} +\def\PYZhy{\char`\-} +\def\PYZsq{\char`\'} +\def\PYZdq{\char`\"} +\def\PYZti{\char`\~} +% for compatibility with earlier versions +\def\PYZat{@} +\def\PYZlb{[} +\def\PYZrb{]} +\makeatother + diff --git a/generiert/pyplot1.tex b/generiert/pyplot1.tex new file mode 100644 index 0000000..143665b --- /dev/null +++ b/generiert/pyplot1.tex @@ -0,0 +1,6 @@ +\begin{Verbatim}[commandchars=\\\{\}] +\PY{k+kn}{import} \PY{n+nn}{numpy} \PY{k}{as} \PY{n+nn}{np}\PY{o}{,} \PY{n+nn}{matplotlib}\PY{n+nn}{.}\PY{n+nn}{pyplot} \PY{k}{as} \PY{n+nn}{plt} +\PY{n}{x} \PY{o}{=} \PY{n}{np}\PY{o}{.}\PY{n}{arange}\PY{p}{(}\PY{o}{\PYZhy{}}\PY{l+m+mf}{1.3}\PY{p}{,} \PY{l+m+mf}{1.3}\PY{p}{,} \PY{l+m+mf}{.01}\PY{p}{)} +\PY{n}{plt}\PY{o}{.}\PY{n}{plot}\PY{p}{(}\PY{n}{x}\PY{p}{,} \PY{n}{x}\PY{o}{*}\PY{o}{*}\PY{l+m+mi}{2}\PY{p}{)} +\PY{n}{plt}\PY{o}{.}\PY{n}{savefig}\PY{p}{(}\PY{l+s+s2}{\PYZdq{}}\PY{l+s+s2}{bilder/pyplot1.png}\PY{l+s+s2}{\PYZdq{}}\PY{p}{)} +\end{Verbatim} diff --git a/generiert/pyplot2.tex b/generiert/pyplot2.tex new file mode 100644 index 0000000..ab798a4 --- /dev/null +++ b/generiert/pyplot2.tex @@ -0,0 +1,10 @@ +\begin{Verbatim}[commandchars=\\\{\}] +\PY{k+kn}{import} \PY{n+nn}{numpy} \PY{k}{as} \PY{n+nn}{np}\PY{o}{,} \PY{n+nn}{matplotlib}\PY{n+nn}{.}\PY{n+nn}{pyplot} \PY{k}{as} \PY{n+nn}{plt} +\PY{n}{plt}\PY{o}{.}\PY{n}{rcParams}\PY{p}{[}\PY{l+s+s2}{\PYZdq{}}\PY{l+s+s2}{font.family}\PY{l+s+s2}{\PYZdq{}}\PY{p}{]} \PY{o}{=} \PY{p}{[}\PY{l+s+s2}{\PYZdq{}}\PY{l+s+s2}{Linux Libertine O}\PY{l+s+s2}{\PYZdq{}}\PY{p}{,} \PY{l+s+s2}{\PYZdq{}}\PY{l+s+s2}{sans\PYZhy{}serif}\PY{l+s+s2}{\PYZdq{}}\PY{p}{]} +\PY{n}{plt}\PY{o}{.}\PY{n}{rcParams}\PY{p}{[}\PY{l+s+s2}{\PYZdq{}}\PY{l+s+s2}{font.size}\PY{l+s+s2}{\PYZdq{}}\PY{p}{]} \PY{o}{=} \PY{l+m+mi}{12} +\PY{n}{plt}\PY{o}{.}\PY{n}{rcParams}\PY{p}{[}\PY{l+s+s2}{\PYZdq{}}\PY{l+s+s2}{figure.figsize}\PY{l+s+s2}{\PYZdq{}}\PY{p}{]} \PY{o}{=} \PY{p}{(}\PY{l+m+mi}{4}\PY{p}{,}\PY{l+m+mi}{3}\PY{p}{)} \PY{c+c1}{\PYZsh{} inches} +\PY{n}{x} \PY{o}{=} \PY{n}{np}\PY{o}{.}\PY{n}{arange}\PY{p}{(}\PY{o}{\PYZhy{}}\PY{l+m+mf}{1.3}\PY{p}{,} \PY{l+m+mf}{1.3}\PY{p}{,} \PY{l+m+mf}{.01}\PY{p}{)} +\PY{n}{plt}\PY{o}{.}\PY{n}{plot}\PY{p}{(}\PY{n}{x}\PY{p}{,} \PY{n}{x}\PY{o}{*}\PY{o}{*}\PY{l+m+mi}{2}\PY{p}{)} +\PY{n}{plt}\PY{o}{.}\PY{n}{tight\PYZus{}layout}\PY{p}{(}\PY{p}{)} +\PY{n}{plt}\PY{o}{.}\PY{n}{savefig}\PY{p}{(}\PY{l+s+s2}{\PYZdq{}}\PY{l+s+s2}{bilder/pyplot2.pdf}\PY{l+s+s2}{\PYZdq{}}\PY{p}{)} +\end{Verbatim} diff --git a/gestaltung.tex b/gestaltung.tex new file mode 100644 index 0000000..ea65fa3 --- /dev/null +++ b/gestaltung.tex @@ -0,0 +1,327 @@ +\chapter{Gestaltung der Arbeit} +\section{Zielgruppe} + +Die Zielgruppe einer Arbeit sind in der Regel Studierende im gleichen Studienverlauf wie Sie. +Inhalte aus dem Pflichtstudium oder vorausgesetzten Modulen können Sie daher +als bekannt voraussetzen, und für diese sind auch meist keine Quellenangaben +notwendig (bspw.{} QuickSort können Sie ohne Quellenangabe nennen). +Bei einer Seminararbeit können Sie auch Grundlagen aus dem Rahmenthema als bekannt voraussetzen. +Bei Abschlussarbeiten können Sie auch Vertiefungsmodule der Arbeitsgruppe als Grundwissen ansehen, +dass sie nicht wiederholen müssen. + +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 +Originalquellen kennen oder bevorzugen. Um den Rückgriff auf diese zu vereinfachen, sollten +sie wie üblich zitiert sein. + +\section{Sprache} +Laden Sie die passenden Sprachpakete mit \texttt{babel}. Das letztgenannte Sprachpaket legt dabei die Hauptsprache der Arbeit fest. +Mit der korrekten Sprache werden bestimmte Überschriften (bzw.{} \enquote{Literaturverzeichnis}) richtig erzeugt, +der Anführungszeichenstil angepasst, und insbesondere die \emph{korrekte Silbentrennung} aktiviert. + +\begin{otherlanguage}{english} +You can temporarily switch the language to obtain correct hyphenation in other +languages. Simply use an \texttt{otherlanguage} environment. +This also affects quotes and citations, e.g., \enquote{\textcite{Deininger2017}} is now quoted differently. +\end{otherlanguage} + +Es mag ihnen auf den ersten Blick einfacher \emph{erscheinen}, auf Deutsch zu schreiben. +Da aber ein Großteil der Quellen und Fachbegriffe auf Englisch ist, kommt dann schnell ein ziemlicher Kauderwelsch heraus, +auch bekannt als \enquote{Denglisch}. Des Weiteren neigen die meisten auf +Deutsch zu \enquote{Schachtelsätzen}, worunter die Lesbarkeit stark leidet, +während es auf Englisch den meisten leichter fällt, einen einfacheren Satzbau +zu verwenden. +Viele der Schwierigkeiten mit geschlechtergerechter Sprache entfallen +ebenfalls, wenn Sie auf Englisch schreiben, insbesondere wenn man auf den +Plural (they statt he/she) ausweichen kann. +Eine sogenannte \enquote{Generalklausel} erfüllt nicht das Ziel, +sprachinduzierte Stereotype aufzulösen. +Für Sie besteht aber aktuell wohl keine Verpflichtung zum Gendern, lediglich +eine Empfehlung, und daher wird dies nicht bei der Benotung berücksichtigt.% +\footnote{Siehe: \url{https://gleichstellung.tu-dortmund.de/themen/geschlechtergerechte-sprache/}} +Es empfiehlt sich dennoch, dies zu üben. + +Wenn Sie später einmal eine wissenschaftliche Arbeit international +veröffentlichen wollen -- beispielsweise Teile ihrer Masterarbeit -- +wird dies auf Englisch erfolgen müssen, damit sie auch gelesen wird. +Daher ist es eine gute Übung, bereits bei Seminar- und Bachelorarbeiten auf Englisch zu schreiben. +Zudem gibt es für Englisch meist die besseren Werkzeuge bspw.{} zur Grammatikprüfung. + +Auf jeden Fall sollten Sie in ihrem Editor eine \emph{Rechtschreibprüfung} installieren und einsetzen! +Es empfiehlt sich auch, schwierige Sätze mit einer Grammatikprüfung zu validieren. +Auch Verwandte, Bekannte und Mitstudierende können helfen, Fehler zu finden. +Rechtschreib- und Grammatikfehler hinterlassen immer einen schlechten ersten Eindruck. + +\section{\LaTeX{}-Vorlage} + +%In diesem Seminar wird erwartet, dass die zur Verfügung gestellte \LaTeX{}-Vorlage verwendet wird. +Mit Hinblick auf die Anforderungen der Disziplin, insbesondere Formelsatz +und Quellenangaben, ist \LaTeX{} derzeit Mittel der Wahl. +Auch wenn einzelne Studierende eine Konvertierung von Markdown nach \LaTeX{} bevorzugen, +so gewinnt man damit nur sehr wenig -- die in Markdown möglichen Formatierungen sind +auch in \LaTeX{} kein großer Mehraufwand, und der Umweg über Markdown bietet +hier daher nahezu keine Vorteile. + +\section{Literatur} + +Legen Sie bereits \textit{beim Lesen} eine Literaturdatenbank an, +sinnvollerweise im Bibtex-Format. Saubere Bibtex-Einträge finden +Sie für einen Großteil der Informatik-Literatur auf \url{https://dblp.org/}. +Das Open-Source Werkzeug JabRef (\url{https://jabref.org/}) kann bequem aus DBLP importieren. +Nichts ist ärgerlicher, als wenn Sie eine verwendete Quelle selbst nicht mehr wiederfinden! + +\emph{Kopieren Sie nicht aus anderen Werken.} Wörtliche Zitate sind in der Informatik +eher unüblich. Wenn Sie wirklich etwas aus einer Quelle übernehmen (bspw.{} eine Grafik), +fügen Sie \textbf{immer als erstes die Quellenangabe} ein, dann vergessen Sie das nicht. +Wörtliche Übernahmen setzen Sie \emph{sofort in Anführungszeichen}. +Auch ein automatisches Paraphrasieren ist \emph{nicht empfehlenswert}. +Sie sollen zeigen, dass Sie die Quelle verstanden haben, nicht dass Sie +Strg+C kennen. Plagiate sind nicht akzeptabel! +Geben Sie dazu die Inhalte mit ihren eigenen Worten wieder -- dann kann man beim +genauen Lesen bspw.{} nachvollziehen, warum Sie zu einem anderen Ergebnis gekommen sind. + +\texttt{biblatex} (mit \texttt{biber}) ist eine modernere und konfigurierbare Alternative zu dem +klassischen \texttt{bibtex}, das Sie in vielen Anleitungen noch finden. +Deswegen setzen wir in dieser Vorlage auf biblatex. + +Kontrollieren Sie das Literaturverzeichnis! Hier finden sich oft peinliche Fehler. +So fand ich einmal in einem Literaturverzeichnis den fehlerhaften Autorinnennamen +\enquote{Petra \mbox{Stein-Sven} Vollnhals} statt der korrekten Angabe +\enquote{Petra Stein} und \enquote{Sven Vollnhals}, wo sich jemand auf +Google Scholar verlassen hat, das hier eine fehlerhafte Quellenangabe generiert hat. + +Mit den Kommandos \texttt{\textbackslash{}textcite\{\}} und +\texttt{\textbackslash{}parencite\{\}} können Sie Quellen zitieren. +Dabei ist bei der Verwendung als Subjekt in einem Satz die Verwendung von +Beispiel: \textcite{Deininger2017} bzw.{} am Ende eines Satzes~\parencite{Voss2022}. + +Das Kommando \texttt{\textbackslash{}fullcite\{\}} erlaubt auch eine komplette +Angabe im Fließtext (siehe oben), was sich aber nur für herausragende Quellen +anbietet (bspw.{} die Hauptquelle einer Seminar- oder Bachelorarbeit). + +Quellenangaben mit \texttt{\textbackslash{}textcite\{\}} kommen an die richtige +Stelle im Satzbau, oftmals ist dies das Subjekt am Anfang des Satzes. +Ein Satz sollte ohne die Klammern immer noch Sinn ergeben, daher sollte +\texttt{\textbackslash{}parencite\{\}} nur verwendet werden, wenn es grammatikalisch nicht mitgelesen werden muss. +Quellenangaben die sich nur auf einen Begriff beziehen direkt hinter diesen. +Beziehen sie sich jedoch auf den ganzen Satz, so kommen sie in der Regel vor das Satzzeichen. +Manche Autor*innen nutzen Quellenangaben nach dem letzten Satzzeichen, wenn sie sich auf den gesamten Absatz beziehen. + +Internetquellen sind mit Vorsicht zu handhaben, denn die Webseiten können sich jederzeit ändern. +Deswegen müssen Sie das Zugriffsdatum mit angeben. Idealerweise sichern sie eine Kopie der Seite, +entweder bei ihren Unterlagen oder mit einem Archivdienst wie \url{https://web.archive.org/} oder \url{https://archive.is/}. +Zudem lassen sich Autor*innen nicht immer klar identifizieren. Sind Autor*innen genannt, beispielsweise bei einem Zeitungsartikel, +dann \emph{müssen} Sie diesen aber auch in der Quellenangabe nennen. +Wikipedia \emph{hat} ein Zitationswerkzeug, mit dem Sie einen Link zu einer spezifischen Version der Seite erstellen können, +kann aber dennoch Fehler in den BibTeX-Einträgen enthalten. + +\section{Aufzählungen} + +Da dies keine PowerPoint-Präsentation ist, werden sie selten Aufzählungen benötigen. +\begin{itemize} +\item einfach mehrere \texttt{\textbackslash{}item}s erstellen +\item auch nicht komplizierter als Markdown... +\end{itemize} + +\noindent % keine ganze Zeile +Natürlich gibt auch nummerierte Aufzählungen. +\begin{enumerate} +\item Eins +\item Zwei +\end{enumerate} + +Aus Platzgründen ist es oftmals aber geschickt, Aufzählungen im Text eingebettet zu verwenden: \texttt{(1)\textasciitilde Eins, (2)\textasciitilde Zwei}. + +\section{Schriftsatz und Typografie} + +Weder im Deutschen noch im Englischen macht man Leerzeichen von Satzzeichen. +Nach einem Satzzeichen wird ein größerer Abstand verwendet, dies macht aber \LaTeX{} +automatisch. Um das zu verhindern -- bspw.{} bei Abkürzungen -- können Sie entweder +\texttt{.\{\}} verwenden, oder ein geschütztes Leerzeichen \texttt{\textasciitilde}. +Geschützte Leerzeichen sind des weiteren hilfreich (1)~vor Quellenangaben, d.h., \texttt{\textasciitilde\textbackslash{}parencite\{\}}, +(2)~bei um einen Zeilenumbruch innerhalb von logischen Einheiten zu verhindern +(bspw.{} \texttt{in 3\textasciitilde{}Dimensionen.}), oder um unschöne Umbrüche am Ende eines Satzes +oder in einer Aufzählung zu verhindern (bspw.{} \texttt{(1)~vor Quellenangaben}). +Leere Klammern~\texttt{\{\}} sind auch bei Makros oft hilfreich um Ambiguitäten zu vermeiden. +Möchten Sie den Zeilenumbruch bspw.{} in einem Algorithmennamen vermeiden, so +können Sie mit \texttt{\textbackslash{}mbox\{QuickSort\}} einen Umbruch verhindern. + +Unterscheiden Sie zwischen einem Bindestrich (data-set), der mathematischen Operation ($a-b$), +einem Gedankenstrich (--), und einem langen Strich (---). +Um Text zu betonen nutzen Sie vorwiegend \texttt{\textbackslash{}emph\{\}} statt \textbf{Fettdruck}, +während \underline{Unterstriche} als veraltet gelten. +Mit \texttt{\textbackslash{}enquote\{\}} können Sie korrekte Anführungszeichen setzen, +\enquote{auch wenn diese \enquote{geschachtelt} sind.} +Apostrophen sind im Deutschen fast nur als Auslassungszeichen richtig, nicht etwa bei jedem Genitiv oder gar Plural. + +\section{Tabellen} + +In Tabelle~\ref{tab:Beispiele} sehen Sie ein Beispiel für eine Tabelle als Fließobjekt auf der Seite. +Aufgrund der Plazierungslogik von \LaTeX{} ist es meist geschickt, die Tabelle am Anfang des +Abschnitts in dem sie verwendet werden soll einzufügen. + +\begin{table}[h!] +\caption{Tabellen haben ihre Beschreibung in der Regel oben (Bilder unten), und es werden nur +sparsam Linien verwendet.} +\label{tab:Beispiele} +\begin{tabular*}{\linewidth}{@{}llr@{.}l@{~}l@{}} +\toprule +Links & Rechts & \multicolumn{3}{c}{ausgerichtete Zahlen} \\ +\midrule +links & rechts & 123 & 45 & ms \\ +links & rechts & 3 & 45 & s \\ +\bottomrule +\end{tabular*} +\end{table} + +Mit den Buchstaben \texttt{bth} können Sie die +Platzierung steuern. Die ``here'' (\texttt{h}) Platzierung ist dabei eher ungewöhnlich. +Fließobjekte am Anfang \texttt{t} oder Ende \texttt{b} einer Seite spart in der Regel Platz +aufgrund der nötigen Abstände vor und nach eines Fließobjektes. Bei einer echten Verwendung +im Text kann es passender sein, nur ein \texttt{tabular} einzusetzen. +Versehen Sie jede Tabelle mit einem \texttt{\textbackslash{}label\{tab:uniqueid\}}, +dann erhalten Sie mit \texttt{Tabelle\textasciitilde{}\textbackslash{}ref\{tab:uniqueid\}} +eine automatische Referenz darauf. + +\section{Bilder und Grafiken} + +Bilder können in \LaTeX{} mit dem Kommando \texttt{\textbackslash{}includegraphics} eingebunden werden. +Dabei bieten sich für \texttt{pdflatex} die Dateiformate \texttt{.png}, +\texttt{.jpg} und \texttt{.pdf} (für Vektorgrafiken) an. +Bilder werden in der Regel als Fließobjekt in einer \texttt{\textbackslash{}figure}-Umgebung +platziert, im Gegensatz zu Tabellen steht hierbei die \texttt{\textbackslash{}caption} +aber unterhalb. Die Verwendung von \texttt{\textbackslash{}label} und \texttt{\textbackslash{}ref} ist analog. + +\begin{figure}[bt!h]\centering +\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.} +\label{fig:screenshots} +\end{figure} + +Achten Sie unbedingt auf eine ausreichende Bildqualität! +Ein Bildschirmfoto sieht oftmals gedruckt auf einmal sehr schlecht aus, insbesondere ein Bildschirmfoto von Text. Wenn ihr System dabei Subpixel-Antialiasing einsetzt können unerwünschte Farbschlieren entstehen (vgl.{} Abbildung~\ref{fig:screenshots}). Überlegen Sie, ob sie nicht das gewünschte Material (1)~als Text, (2)~als Vektorgrafik, oder (3)~hochauflösend erstellen können. Bspw.{} können Sie im Browser den Zoom erhöhen bevor Sie einen Screenshot einer Webseite machen. + +\begin{figure}[bt!]\centering +\begin{tikzpicture} +\begin{axis}[axis lines=left,xlabel=$x$,ylabel={$f(x)$}] +\addplot[domain=-1.3:1.3, samples=100, color=blue, very thick]{x^2}; +\addlegendentry{$x^2$} +\end{axis} +\end{tikzpicture} +\caption{Diagramm einer Parabel mit \texttt{pgfplots}, wodurch die Schriften und -größen des Dokuments verwendet werden.} +\label{fig:parabel} +\end{figure} + +Mit den Paketen \texttt{tikz} und \texttt{pgfplots} lassen sich auch komplexe Grafiken und Diagramme +in \LaTeX{} selbst \enquote{programmieren}. +Abbildung~\ref{fig:parabel} zeigt eine Parabel mit \texttt{pgfplots}, die so erzeugte Grafik ist konsistent mit dem Rest des Dokuments. +Ein wesentlicher Vorteil dabei ist, dass dann die Schriften im Dokument konsistent sind, +und man beispielsweise mathematische Formeln problemlos in Beschriftungen verwenden kann. + +Aber auch mit Python's \texttt{matplotlib} kann man gute Qualität erzielen. Man sollte dann die Schriftart, Schriftgröße, und Größe des Bildes passend einstellen, und im PDF-Format ausgeben. +Den Qualitätsunterschied können Sie in Abbildung~\ref{fig:pyplot} sehen. Matplotlib kann auch direkt nach \texttt{.tex} ausgeben, bspw.{} für die \texttt{pgfplots} Bibliothek. + +\begin{figure} +\begin{subfigure}{.5\textwidth}\centering +\includegraphics[width=\linewidth]{bilder/pyplot1.png} +\caption{Einfacher Python-Plot, Ergebnis} +\end{subfigure} +\begin{subfigure}{.5\textwidth}\centering +\includegraphics[width=\linewidth]{bilder/pyplot2.pdf} +\caption{PDF Python-Plot, Ergebnis} +\end{subfigure} +\\ +% Eigentlich an Dokumentanfang, hier nur im Beispiel inline +% pygmentize -f latex -S friendly > generiert/friendly.tex +\input{generiert/friendly.tex} +\begin{subfigure}{\textwidth} +% pygmentize code/pyplot1.py -O full -o generiert/pyplot1.tex +% alternativ: paket "minted" verwenden +\input{generiert/pyplot1.tex}% +\caption{Einfacher Python-Plot}% +\end{subfigure} +\\ +\begin{subfigure}{\textwidth} +% pygmentize code/pyplot2.py -O full -o generiert/pyplot2.tex +% alternativ: paket "minted" verwenden +\input{generiert/pyplot2.tex}% +\caption{Verbesserter Python-Plot}% +\end{subfigure} +\caption{Qualitätsunterschiede bei Matplotlib.} +\label{fig:pyplot} +\end{figure} + +\section{Code und Pseudocode} + +Für Programmcode und Pseudocode gibt es zahlreiche Lösungen. Probieren Sie aus, +welcher Ansatz ihnen am Besten gefällt. +Das Python-Programm \texttt{pygments} kann Quellcode in verschiedenen Sprachen formatieren (siehe Abbildung~\ref{fig:pyplot}), +und auch als \LaTeX{}-Fragment ausgeben. Das Paket \texttt{minted} ruft automatisch +\texttt{pygmentize} auf, was aber die Laufzeit erhöht und die Option \texttt{-shell-escape} benötigt. +Daher kann es elegant sein, Code-Fragmente automatisch mit einer klassischen \texttt{Makefile} und \texttt{pygmentize} +zu übersetzen und lediglich bei \texttt{\textbackslash{}input} einzubinden. +Das Paket \texttt{listings} scheint hier etwas einfacher zu nutzen zu sein. + +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. + +\section{Formeln} + +\LaTeX{} ist insbesondere bekannt für den hervorragenden Formelsatz. +\begin{align*} +\sum_{i=1}^N \frac{1}{i} &= 1 + \frac12 + \frac13 + \cdots +\intertext{ist die harmonische Reihe. Für $N\rightarrow \infty$ gilt} +\sum_{i=1}^\infty \frac{1}{i} &\rightarrow \infty +\;. +\end{align*} +Durch Verwendung der \texttt{align*} Umgebung sind die Formeln mit \texttt{\&} aneinander ausgerichtet. + +Der Mathemodus sollte dabei nicht für \emph{Kursivdruck} ($Kursivdruck$?) missbraucht werden. +Der Ausdruck \texttt{\$abc\$} ist gleichbedeutend mit \texttt{\$a b c\$}, das Produkt der drei Variablen $a$, $b$ und $c$. +Text und Funktionsnamen in Formeln können je nach Kontext mit \texttt{\textbackslash{}text\{natürliche Sprache\}}, +\texttt{\textbackslash{}mathrm\{name\}} oder \texttt{\textbackslash operatorname\{operator\}} formatiert werden +(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). +Für häufige Notation bietet es sich dabei an, eigene Makros zu definieren: +\begin{verbatim} +\newcommand{\argmin}{\operatorname*{arg\,min}} +\newcommand{\argmax}{\operatorname*{arg\,max}} +\newcommand{\norm}[1]{\lVert {#1}\rVert} +\newcommand{\sprod}[2]{\left<{#1},{#2}\right>} +\end{verbatim} +um bequemer folgendes Ergebnis zu erhalten: +\begin{align*} +\operatorname*{arg\,min}_x \, \lVert {x} \rVert +\\ +\lVert {x} \rVert^2 = \left< {x}, {x} \right> +\end{align*} + +Makros erlauben es insbesondere, die Notation nachträglich noch leicht anzupassen. + +\section{Kürzen} + +Spätestens wenn Sie einmal eine eigene Publikation schreiben wollen, werden Sie +eine Seitenzahlbegrenzung erfüllen müssen. Typischerweise haben Konferenzen eine +maximale Seitenzahl (begrenzte früher die Druckkosten, heute begrenzt das +Hauptsächlich den oft enormen Aufwand der Gutachter*innen). + +Ein paar Tricks mit denen man \LaTeX{}-Dokumente oft kürzer bekommt: +\begin{itemize} +\item Platzierung von Grafiken und Tabellen: wenn diese im Fließtext \enquote{schwimmen}, +so kommt in der Regel oben \emph{und} unten ein Abstand hinzu. +Die -- übliche! -- Platzierung oben oder unten auf der Seite (mit \texttt{[tb]}) +spart oft eine Zeile. +\item Suchen Sie nach kurzen Zeilen am Ende von Paragraphen. +Oft kann bereits das Entfernen oder Tauschen von einem Wort ausreichen, um eine Zeile zu sparen +\item Ungünstige Spalten- und Seitenumbrüche. Viele Stile vermeiden Witwen- und Waisenzeilen. +Das Kürzen um eine Zeile kann durch Kaskadierungseffekte dann schon einen erheblichen Unterschied +machen, wenn so mehrere Zeilen und ein Paragraphenabstand auf die vorherige Seite rutschen. +Achten Sie auf vergrößerte Abstände bei Überschriften und Formeln, sowie am Ende einer Spalte, +diese weisen oft darauf hin, dass ein Kürzen an dieser Stelle mehrere Zeilen +von der nächsten Seite holen kann. +\item Formeln sind schwer umzubrechen. Hier kann es manchmal helfen mit kleinen Änderungen +etwas Platz zu sparen, bspw.{} mit \texttt{\textbackslash{}nolimits} und \texttt{\textbackslash{}textstyle}: +$$ +\sum_{x=1}^N \frac{1}{x} \text{ vs. } \sum\nolimits_{x=1}^N \frac{1}{x} \text{ vs. } \textstyle\sum\nolimits_{x=1}^N \frac{1}{x} +$$ +\end{itemize} diff --git a/literatur.bib b/literatur.bib new file mode 100644 index 0000000..e6bff15 --- /dev/null +++ b/literatur.bib @@ -0,0 +1,39 @@ +@book{Voss2022, + title = {Wissenschaftliches Arbeiten: ... leicht verständlich!}, + author = {Voss, R\"{o}diger}, + ISBN = {978-3-83-858812-4}, + DOI = {10.36198/9783838588124}, + publisher = {utb GmbH}, + year = {2022}, + month = jun +} + +% Auch wenn die URL nach einer DOI aussieht, so hat dieses Buch keine echte DOI! +@book{Deininger2017, + title = {Studienarbeiten}, + author = {Deininger, Marcus and Lichter, Horst and Ludewig, Jochen and + Schneider, Kurt}, + publisher = {vdf Hochschulverlag AG}, + ISBN = {978-3-72-813812-5}, + URL = {https://elibrary.utb.de/doi/book/10.5555/9783728138125}, + edition = 6, + month = may, + year = 2017 +} + +@techreport{10.13154/294-9734, + title = {Didaktische und rechtliche Perspektiven auf KI-gestütztes Schreiben in der Hochschulbildung}, + author = {Salden, Peter}, + doi = {10.13154/294-9734}, + publisher = {Ruhr-Universit\"{a}t Bochum}, + year = {2023}, +} + +% Graue Literatur +@misc{Boles21, + title = {Leitfaden zur Durchführung von Bachelor-Abschlussarbeiten}, + author = {Dietrich Boles}, + year = {2021}, + howpublished = {Universität Oldenburg}, + url = {https://uol.de/f/2/dept/informatik/download/studium/Leitfaden-Bachelorarbeit.pdf}, +} diff --git a/zusammenfassung.tex b/zusammenfassung.tex new file mode 100644 index 0000000..573e8ae --- /dev/null +++ b/zusammenfassung.tex @@ -0,0 +1,4 @@ +\chapter{Zusammenfassung und Ausblick} + +Fassen Sie ihre Ergebnisse nochmal zusammen, und geben Sie einen Ausblick was +Sie weiter untersuchen würden, wenn Sie mehr Zeit dafür hätten.