\documentclass[seminar,german]{info1thesis}
% possible types: seminar, practical (bachelor, master, zula)
% Für Bachelor-, Master-, und Zulassungsarbeiten die Vorlage my-bachelor-master-zula.tex verwenden!
% possible languages: english, german

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\graphicspath{{figures/}}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\title{Titel der Arbeit} % Geben Sie hier den Titel Ihrer Arbeit an.

\author{Max Musterle} % Geben Sie Ihren Namen an.

\semester{WS 20XX/20YY} % Passen Sie hier das Semester an, in dem Sie die Arbeit abgeben.
\submissiondate{TT. Monat 20YY} % Passen Sie hier das Abgabedatum an.

\supervisors{% Geben Sie die Namen aller Betreuer an, getrennt durch das Makro '\and'.
Prof.\ Dr.\ Alexander Wolff \and
Dr.\ Be TreuerInZwei \and
Be TreuerInDrei, M.\,Sc.
}


\begin{document}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Einleitung}
Seminararbeiten und Praktikumsberichte an unserem Lehrstuhl sollen in dieser \LaTeX{}-Vorlage erstellt werden.
Dazu stellt die DocumentClass (erste Zeile) Parameter für die verschiedenen Arbeitsformen
(\verb+seminar, practical+) 
zur Verfügung.
Für Abschlussarbeiten sollte stattdessen die Vorlage (\verb+my-bachelor-master-zula.tex+) verwendet werden.

The localization of PDF bookmarks and such can be changed documentwide using the \verb+english+ parameter.

\subsection{Git}
Falls Sie zu zweit an Ihrer Seminarausarbeitung arbeiten, lohnt es
sich, auf dem
\href{https://gitlab2.informatik.uni-wuerzburg.de/}{Informatik-GitLab}
ein Repository mit dem Typ der Arbeit und Ihren Namen (also zum
Beispiel ``\verb+seminarausarbeitung-mueller-schmidt+'') anzulegen.
Dieser Vorlage liegt eine Datei namens \verb+.gitignore+ bei, welche
\verb+git+ davon abhält, \LaTeX{}-Hilfsdateien mit ins Repository zu
schieben.  Sollten Sie weitere Dateien im Repository-Ordner ablegen,
welche nicht für alle gedacht sind und daher nicht hochgeladen werden
sollten, können Sie die Dateinamen oder Ordner in \verb+.gitignore+
aufnehmen.  Zum Beispiel sollte der Ordner mit den Leitfäden nicht mit
ins Repository geladen werden~-- genausowenig wie die PDF-Datei von
Ihrer Ausarbeitung, die Sie mithilfe von \LaTeX\ erzeugen.

\subsection{Umgebungen}
Wer bei uns eine Arbeit schreibt, kommt um Definitionen, Sätze, Beweise, Abbildungen und Tabellen nicht herum.

\dots

\begin{definition}
  Dies ist eine \demph{Definition}, welche sich sehr leicht erstellen lässt.
\end{definition}

Eine kurze Überleitung von einer Definition zu einem Satz hilft dem
Leser zu verstehen, wohin die Reise gehen soll.

Manchmal braucht man auch noch ein Lemma, damit der Beweis dann leichter von der Hand geht.

\begin{lemma}[Andres Lemma] % Beachte, dass man sowohl Lemmata als auch Sätzen in der Regel aber keine Nmane
 Ein Lemma vorneweg erleichtert die Beweisführung.
 \label{lem:andre}
\end{lemma}
\begin{proof}
 Nach dem Distributivgesetz gilt:
 
 \[ (a+d) \cdot c = ac + dc \]
\end{proof}

\begin{theorem}[Finkscher Hauptsatz] \label{thm:fink}
  Wichtige und grundlegende Sätze lassen sich leicht hervorheben.
\end{theorem}
\begin{proof}
  Der Satz gilt offensichtlich, denn nach \cref{lem:andre} gilt:
  \begin{equation*}
    \sum_{i = 1}^{n} 1 = n
  \end{equation*}
  Zudem wird der Beweis automatisch mit einem q.e.d.-Symbol\footnote{Nach Möglichkeit sollte vermieden werden, dass der Beweis mit einer Leerzeile abgeschlossen wird, so wie es beim Beweis von \cref{lem:andre} der Fall ist. Das kann zum Beispiel durch Hinzufügen einer Floskel wie "`Damit ist die Aussage des Satzes bewiesen."' errreicht werden. Übrigens funktionieren Fußnoten genau so. Wichtig ist hier, dass direkt vor dem Kommando kein Leerzeichen oder eine Leerzeile ist.} beendet.
\end{proof}

Auch wenn wir \cref{lem:andre} und \cref{thm:fink} einen Namen verpasst haben, macht man das in der Regel aber eher nicht.

\begin{corollary}
 Aus einem Satz lassen sich oft einfache Resultate ableiten, die dann in einem Korollar festgehalten werden.
\end{corollary}


\subsection{Verweise}
Auf Sätze, wie z.B.\ \cref{thm:fink}, lässt sich mithilfe des Befehls \verb+\cref{labelname}+ verweisen, wenn man in der Satz-Umgebung einen "`Label"' mit \verb+\label{labelname}+ gesetzt hat.  
Genauso können wir auf den nächsten Abschnitt, also \cref{sec:leichtigkeit}, verweisen. Ist ein Verweis besonders weit weg, kann man \verb+\cpageref{labelname}+ verwenden, 
um dem Leser zu sagen, auf welche Seite er springen muss -- \cref{sec:leichtigkeit} ist auf \cpageref{sec:leichtigkeit}.
Wir benutzen hier das Paket (\verb+cleveref+), welches nicht nur die Nummer sondern auch automatischen das richtige Label hinzufügt. Benötigt man nur die Nummer, so verwendet man \verb+\ref{labelname}+.
Üblicherweise beginnt man einen Labelnamen mit dem Typ der Umgebung, auf die man verweist, also z.B.\ \verb+\label{fig:trapez}+ für eine Abbildung (engl.\ \emph{figure}).  
Ach ja, zum Hervorheben (engl.\ \emph{emphasize}) eines \demph{neuen Begriffs} verwendet man den Befehl \verb+\demph{neuer Begriff}+, wenn der neue Begriff zum ersten Mal verwendet wird.


\subsection{Gleitlemente}
\label{sec:leichtigkeit}

Gleitelemente (oder auch \emph{floats}) \emph{gleiten} durch das
Dokument, und \LaTeX{} ermittelt selbstständigt eine geeignete Stelle
im PDF, um diese anzuzeigen.  Die wichtigsten Gleitelemente sind
Abbildungen (\verb+figure+), Algorithmen (\verb+algorithm+) und
Tabellen (\verb+table+).

In diesem Abschnitt erläutern wir die einzelnen Gleitelemente.  Eine
Übersicht über die verschiedenen Gleitregeln findet sich am Ende in
\cref{tab:floatparameters}.

\subsubsection{Abbildungen}
Abbildungen, wie z.B.\ \cref{fig:trapez}, sind schnell eingefügt.  
\emph{Wichtig:} Fügen Sie eine Abbildung immer erst nach der ersten Referenz auf die Abbildung ein!

\begin{figure}[h] % oft benutzt man einfach die Kombination [htbp]
  \centering
  \includegraphics[page=3]{trapez}
  \caption{Das ist eine Abbildung. Sie floatet nach der Regel \emph{here} (h), d.h.\ \LaTeX{} wird versuchen die Abbildung möglichst direkt vor dem untigen Absatz ("`Im Allgemeinen\dots"') zu platzieren. Weitere Positionierungsregeln werden in \cref{tab:floatparameters} erläutert.} 
  \label{fig:trapez}
\end{figure}

Im Allgemeinen braucht man die Endung der Bilddatei beim Einbinden mit dem Paket \verb+\includegraphics+ nicht mitanzugeben.
Es empfiehlt sich, alle Bilddateien in einen Unterordner (z.B.\ \verb+figures/+) abzulegen.  
In mehrteilige Abbildungen kann man mit dem Paket \verb+subcaption+ jede mit einer eigenen Bildunterschrift versehen.  
Man kann sich dann im Text sowohl auf die Teilabbildungen (z.B.\ \cref{fig:trapez-eins}) als auch auf die Gesamtabbildung (z.B.\ \cref{fig:zwei-trapeze}) beziehen.

Bei Abbildungen ist die Bildunterschrift üblicherweise unter der
eigentlichen Grafik.  Für alle Gleitelemente gilt, dass das
\verb+\label{...}+ direkt nach der \verb+\caption{...}+ gesetzt wird,
damit bei einem Click auf die Referenz (\verb+\cref{...}+) auch an die
richtige Stelle gesprungen wird (und nicht etwa auf den Absatz
darüber).
\emph{Wichtig:} Man sollte sich im Text auf jede Abbildung wenigstens
einmal beziehen.

\begin{figure}[bp]
  \begin{subfigure}{.48\textwidth}
    \centering
    \includegraphics[page=1]{trapez}
    \caption{Die erste Teilabbildung.}
    \label{fig:trapez-eins}
  \end{subfigure}
  \hfill % \hfill sorgt dafür, dass die obere Abbildung an den linken Rand rutscht und die untere Abbildung entsprechend an den rechten. Dies geht nur, weil hier keine Leerzeilen sind (die neue Absätze definieren würden).
  \begin{subfigure}{.48\textwidth}
    \centering
    \includegraphics[page=2]{trapez}
    \caption{Die zweite Teilabbildung.}
    \label{fig:trapez-zwei}
  \end{subfigure}
  \caption{Das ist eine Abbildung, die aus zwei Teilen besteht. Sie versucht erst \emph{bottom} platziert zu werden, ansonsten erzeugt sie eine \emph{float page}.}
  \label{fig:zwei-trapeze}
\end{figure}

\subsubsection{Algorithmen}

Mit der \verb+algorithm+-Umgebung (aus dem Paket
\verb+algorithm2e.sty+) ist es nicht schwer, Algorithmen in Pseudocode
zu setzen, siehe \cref{alg:binsearch}.

\begin{algorithm}[t]
  \SetKw{True}{true}
  \SetKw{False}{false}
  \caption{BinäreSuche(int[] $A$, int $n$, int $x$)}
  \label{alg:binsearch}
  \Input{sortiertes Feld $A$, Länge $n$, gesuchtes Element $x$}
  \Output{\True genau dann, wenn $x$ in $A$ enthalten ist}
  
  $l = 0$ \;
  $r = n-1$ \;
  
  \While{$l \le r$}{
    $m = \lfloor (l + r)/2 \rfloor$ \;
    \If{$A[m] == x$}{
      \Return \True \;
    }
    \ElseIf{$x < A[m]$}{
      $r = m - 1$ \;
    }
    \Else{
      $l = m + 1$ \;
    }
  }
  \Return \False
\end{algorithm}

Das gleiche geht problemlos auch ohne Zeilennummern, dazu benutzt man einfach in der \verb+algorithm+-Umgebung den Befehl \verb+\LinesNotNumbered+.

\subsubsection{Tabellen}

Um \LaTeX{} etwas in seiner Entscheidung zu beeinflussen, haben wir
die Möglichkeit, für jedes Gleitelement einen oder mehrere
Positionierungsparameter anzugeben.  Eine Übersicht findet sich in
\cref{tab:floatparameters}.

\begin{table}[tb]
 \caption{Positionierungsparameter für Gleitelemente. Diese Tabelle
   selbst hat die Wahl zwischen \emph{top} und \emph{bottom}.}
 \medskip
 \label{tab:floatparameters}
 \centering
 \begin{tabularx}{0.9\textwidth}{clX}
   \toprule
   & Wert & Erklärung\\
   \midrule
   \verb+[t]+  & \demph{top} & Das Element wird oben auf einer Seite
   angezeigt. \\
   \verb+[b]+  & \demph{bottom} & Das Element wird unten auf einer
   Seite angezeigt. \\
   \verb+[p]+  & \demph{page} & Das Element wird auf einer neuen Seite
   angezeigt. Diese Seite wird auch \demph{float page} genannt; sie
   kann mehrere \verb+[p]+-Elemente beherbergen. \\ 
   \verb+[h]+  & \demph{here} & Das Element wird nah an der Stelle
   angezeigt, an der es im Code definiert ist. Das kann irgendwo auf
   der Seite sein. \\
   \bottomrule
 \end{tabularx}
\end{table}

Innerhalb der eigentlichen ``Tabelle'' befindet sich ein \verb+tabularx+-Element, dass den Inhalt darstellt.
Elemente dieses Typs haben diverse Vorteile gegenüber normalen \verb+tabular+-Elementen.
Zum einen lässt sich die Breite der Tabelle festlegen (hier $90\%$ der Textbreite), zum anderen stehen neben den klassischen zentrierten, links- oder rechtsbündigen (\verb+l,r,c+) Spalten auch Spalten mit fester Breite zur verfügung.
Diese finden auch in \cref{tab:floatparameters} Verwendung. 
Besonders zu beachten ist, dass sich Text in \verb+p+ oder \verb+X+ Spalten wie text in normalen Text-Absätzen verhält, also mit automatischem Zeilenumbruch und Silbentrennung.

\subsection{Literaturverweise}

Auch Verweise auf andere Arbeiten, wie die von Mustermann und Musterfrau \cite{mustermann+etal-11}, sind ganz einfach.  
Wenn es von einem Artikel eine Konferenzversion \cite{bdln-lhod-02} und eine Zeitschriftenversion \cite{bdln-odgvel-05} gibt, so sollten Sie stets die Zeitschriftenversion (oder ein Buch \cite{gj-cigtn-79}) zitieren.
Tragen Sie bei einem Konferenzartikel neben Titel, Namen der Autoren und des Tagungsbandes gegebenenfalls auch die Namen der Herausgeber in die bib-Datei ein. 
ISBN-Nummern sind nicht nötig.  
Eine große Hilfe beim Identifizieren eier Quelle ist der Digital Object Identifier%
\footnote{\href{https://www.doi.org/}{https://www.doi.org/}}
-- kurz \demph{DOI} genannt.
Sofern möglich, sollte stets der DOI einer zitierten Arbeit angegeben werden.
Seien Sie vorsichtig mit Umlauten \cite{bkns-blol-10} und Unterstrichen in der bib-Datei.

\emph{Wichtig:} Zitieren Sie so, dass der Satz, in dem ein Zitat vorkommt, auch ohne das Zitat noch Sinn ergibt; 
das Zitat soll eine Zusatzinformation sein. 
\begin{description}
\item{Gut:} Binucci et al.\ \cite{bdln-odgvel-05} beschäftigen sich mit der Beschriftung von Graphen.  
\item{Schlecht:} \cite{bdln-odgvel-05} beschäftigt sich mit der Beschriftung von Graphen.
\end{description}

Möchte man einen clickbaren Link auf eine Website, wie zum Beispiel \href{https://www.openstreetmap.de/}{OpenStreetMap} oder \href{http://www.graphdrawing.org/}{http://www.graphdrawing.org/} setzen, verwendet man einfach \verb+\href{link}{name}+.

\subsection{Geladene Pakete}
Folgende Pakete werden von der Klasse \verb+info1thesis+ automatisch mittels \verb+\usepackage+ geladen:
\begin{itemize}
\item \sloppy
  \verb+caption+ mit den Optionen
  \verb+font=small+, \verb+format=hang+, \verb+labelfont=bf+,
  \verb+figurename=Fig.+, \verb+tablename=Tab.+
\item \verb+subcaption+ mit \verb+labelfont=normalfont+
\item \verb+algorithm2e+ mit \verb+linesnumbered+, \verb+algoruled+,
  \verb+longend+, \verb+vlined+
\item \verb+hyperref+ mit \verb+bookmarks+, \verb+bookmarksnumbered+,
  \verb+pdfusetitle+, \verb+pdfencoding=auto+
 \item \verb+amsmath+, \verb+amsfonts+, \verb+amssymb+, \verb+amsthm+,
  \verb+graphicx+, \verb+xcolor+, \verb+enumerate+, \verb+booktabs+
\end{itemize}

Um ein einheitliches Aussehen der Abschlussarbeiten zu gewährleisten, sollte an diesen Parametern nichts geändert werden.


\section{Fallstricke}
\label{sec:notes}

Einige Sachen sollte man im \LaTeX{}-Code vermeiden, um ein gut
gesetztes Dokument zu erhalten.  Schauen Sie sich dafür bitte auch die
Schreibkonventionen an, welche im Ordner mit den Leitfäden
(\verb+guides/+) zu finden sind.

In \cref{tab:badbox} sehen wir eine klassische \demph{badbox}, also ein
Element, das zu klein für seinen Inhalt ist.  Mit einer Spalte vom Typ
\verb+p+ oder \verb+X+ wäre das nicht passiert.

\begin{table}[h]
 \caption{Der Inhalt einer Tabelle sollte mit Bedacht gewählt werden.}
 \label{tab:badbox}
 \medskip
 \begin{tabular}{ll}
 \toprule
  Hier ein kleines Beispiel: &
  Dieser Text wird sehr lang, wahrscheinlich sogar zu lang für eine Zeile. So können Teile des Texts nicht nur über die Tabelle sondern auch über die Seite hinausragen.\\
  \bottomrule
 \end{tabular}
\end{table}

Auch unschön sind Zeilenumbrüche in Formeln, die sich im Fließtext befinden. 
$G=(V,E)$ ein Graph ist ein klassisches Beispiel dafür.
Zu allem Überfluss fängt der vorherige Satz auch noch mit Formelsatz an -- besser wäre ``Sei $G=\dots$'' gewesen.
Möchte man verhindern, dass Formeln umgebrochen werden, setzt man ihren Inhalt in geschweifte Klammern.

Packt man den Inhalt in geschweifte Klammern, bleibt alles in einer Zeile. 
Sei ${G=(V,E)}$ ein Graph ist ein klassisches Beispiel dafür.
Achtet man nun aber genau auf den rechten Rand dieses Absatzes, so sieht man, dass die Formel über den Rand des Blocksatzes hinausragt -- wir können also das selbe Problem wie oben haben.

In beiden Fällen hilft oft ein einfaches Umstellen der Satzbausteine oder ein kurzes Füllwort.

Setzt man eine Fußnote nach einem Whitespace 
\footnote{Whitespaces sind insbesondere Zeilenumbrüche und Leerzeichen.}, erhält man einen unschönen Abstand zwischen der Markierung und dem Wort, auf das sich die Fußnote wahrscheinlich bezieht.

Punkte sind nicht immer Satzenden, und das sollte man \LaTeX{} auch mitteilen!
Es gibt einen typographischen Unterschied zwischen \verb+Prof. Wolff+ und \verb+Prof.\ Wolff+, der besondern beim Reservieren von Platz sichtbar wird.

Möchte man verhindern, dass Wort und Referenz-Link in unterschiedlichen Zeilen laden, sollte man statt eines normalen Leerzeichens eine Tilde (\verb+~+) verwenden.


\section{Hinweise für Seminararbeiten}

Eine Seminarausarbeitung sollte auf keinen Fall nur eine "`Übersetzung"' der Originalarbeit sein, sondern ihr gegenüber einen Mehrwert aufweisen.
Hier ein paar Denkanstöße:
\begin{itemize}
\item Versuchen Sie die Darstellung zu vereinfachen und insbesondere Beweise verständlicher zu gestalten.
Wenn man einen Beweis zum ersten Mal liest, gibt es oft Stellen, die man nicht auf Anhieb versteht.
Schildern Sie solche Stellen ausführlicher als in der Originalarbeit!
Oft ist es auch hilfreich, eine zusätzliche Illustration hinzuzufügen, den Ablauf eines Algorithmus anhand eines Beispiels zu erläutern usw.
\item Es geht \emph{nicht} darum die \emph{gesamte} Originalarbeit ausführlicher darzustellen -- Sie sollen sich ja schließlich auch an ein Seitenlimit halten.
Es ist Teil Ihrer Aufgabe die wichtigsten Ideen der Originalarbeit zu identifizieren und eben jene sauber und ausführlich darzustellen.
Eher nebensächliche Aspekte können abgekürzt oder sogar ausgelassen werden. Zum Beispiel können Beweise mancher Lemmata ausgelassen oder nur skizziert werden (\verb+\begin{proof}[Beweisskizze]+ \dots\verb+\end{proof}+).
Besprechen Sie Ihre Ideen mit Ihrer BetreuerIn!
\item Diskutieren Sie Fragen, die in der Originalarbeit offen gelassen wurden! Warum funktioniert der angegebene Algorithmus nur für positive Kantengewichte? Was müsste man beachten, wenn auch negative Kantengewichte zugelassen sind?
\item Oft haben die Artikel, die im Rahmen eines Seminars besprochen werden, ein gemeinsames Oberthema. Stellen Sie in Ihrer Arbeit Querbezüge zu den verwandten Artikeln her!
\item Führen Sie eine eigene Literaturrecherche durch! In der Einleitung und dem Schlussteil Ihrer Ausarbeitung sollten Sie nicht nur auf Artikel verweisen, die auch in der Originalarbeit referenziert werden. Prüfen Sie insbesondere, ob die vorliegende Arbeit bereits von anderen Autoren zitiert wurde und in welchem Kontext. Dazu kann man z.B.\ die Webseite \href{https://scholar.google.de/}{Google Scholar} verwenden (dort nach dem Artikel suchen und dann auf "`Zitiert von:"' klicken).
\end{itemize}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\clearpage
\bibliographystyle{mybabalpha-fl}
\bibliography{mybib}


\end{document}
