Commit 2db4d1fb authored by Robert Czechowski's avatar Robert Czechowski

Add LaTeX-Template für Einsendung

parent 560af55f
\documentclass[a4paper,10pt]{scrartcl}
\usepackage[ngerman]{babel}
\documentclass[a4paper,10pt,ngerman]{scrartcl}
\usepackage{babel}
\usepackage[T1]{fontenc}
\usepackage[utf8x]{inputenc}
\usepackage{geometry}
\usepackage[a4paper,margin=2.5cm]{geometry}
% mehr pakete: mathe-modus, code-environment, geometry
% Die nächsten drei Felder bitte anpassen:
\newcommand{\Name}{Team: ??? / Name} % Teamname oder eigenen Namen angeben
\newcommand{\Einsendenummer}{???}
\newcommand{\Aufgabe}{Aufgabe 1: \LaTeX-Dokument}
\title{Aufgabe 1: \LaTeX-Dokument}
\author{Max Mustermännchen}
% Kopf- und Fußzeilen
\usepackage{scrlayer-scrpage}
\setkomafont{pageheadfoot}{\textrm}
\ifoot{\Name}
\cfoot{\thepage}
\chead{\Aufgabe}
\ofoot{Einsendenummer: \Einsendenummer}
% Für mathematische Befehle und Symbole
\usepackage{amsmath}
\usepackage{amssymb}
% Für Bilder
\usepackage{graphicx}
% Für Algorithmen
\usepackage{algpseudocode}
% Für Quelltext
\usepackage{listings}
\usepackage{color}
\definecolor{mygreen}{rgb}{0,0.6,0}
\definecolor{mygray}{rgb}{0.5,0.5,0.5}
\definecolor{mymauve}{rgb}{0.58,0,0.82}
\lstset{
keywordstyle=\color{blue},commentstyle=\color{mygreen},
stringstyle=\color{mymauve},rulecolor=\color{black},
basicstyle=\footnotesize\ttfamily,numberstyle=\tiny\color{mygray},
captionpos=b, % sets the caption-position to bottom
keepspaces=true, % keeps spaces in text
numbers=left, numbersep=5pt, showspaces=false,showstringspaces=true,
showtabs=false, stepnumber=2, tabsize=2, title=\lstname
}
\lstdefinelanguage{JavaScript}{ % JavaScript ist als einzige Sprache noch nicht vordefiniert
keywords={break, case, catch, continue, debugger, default, delete, do, else, finally, for, function, if, in, instanceof, new, return, switch, this, throw, try, typeof, var, void, while, with},
morecomment=[l]{//},
morecomment=[s]{/*}{*/},
morestring=[b]',
morestring=[b]",
sensitive=true
}
% Diese beiden Pakete müssen als letztes geladen werden
%\usepackage{hyperref} % Anklickbare Links im Dokument
\usepackage{cleveref}
% Daten für die Titelseite
\title{\Aufgabe}
\author{\Name\\Einsendenummer: \Einsendenummer}
\date{\today}
\begin{document}
\maketitle
\tableofcontents
\section{Lösungsidee}
Der Aufgabentext selbst soll hier \emph{nicht} noch einmal abgedruckt werden.
Die Idee der Lösung sollte hieraus vollkommen ersichtlich werden, ohne das auf die eigentliche Implementation Bezug genommen wird.
Der Text wird am besten mit Unterüberschriften strukturiert:
\subsection{Unterüberschrift}
\subsubsection{Unter-Unterüberschrift}
\paragraph{Benannter Absatz} Lorem ipsum.
\subsection{Mathematik}
\begin{align}
a_0 & := 2 + 3 \\
& = 3^2 - 2^2
\end{align}
\begin{align}\label{eq:toll}
\sum_{i=0}^3 i = \prod_{i=1}^3 i = \frac{12}{2} = \sqrt[3]{216}
\end{align}
\begin{align*}
f(x) \propto x^2 \Leftrightarrow \exists r \in \mathbb R : \forall x: f(x) = r * x^2 \Rightarrow x \in \mathcal{O}(x^2)
\end{align*}
Mathematische Formeln erhalten normalerweise eine Nummer, die man referenzieren kann.
In \cref{eq:toll} zum Beispiel ist jeder Term gleich $6$.
Mathematische Formeln können auch im Fließtext gesetzt werden: $\sum_{i=0}^3 i = \prod_{i=1}^3 i = \frac{12}{2} = \sqrt[3]{216}.$
\subsection{Algorithmen}
\begin{algorithmic}
\If{$i\geq i_\text{max}$}
\State $a\gets -1$
\ElsIf{$i\leq i_\text{min}$}
\State $a\gets 1$
\Else
\State $a\gets 0$
\EndIf
\For{$i$ from 1 to 10}
\State $a\gets a + i$
\EndFor
\ForAll{$i$ in $Liste$}
\State $a\gets a + i$
\EndFor
\While{$a > 0$}
\State $a\gets a - 1$
\EndWhile
\Repeat
\State $a\gets a - 1$
\Until{$a < 0$}
\Loop
\State $i\gets$\Call{Increment}{$i$}
\EndLoop
\Function{Increment}{$a$}
\State $a \gets a+1$
\State \Return $a$
\EndFunction
\end{algorithmic}
\section{Umsetzung}
Hier wird kurz erläutert, wie die Lösungsidee im Programm tatsächlich umgesetzt wurde. Hier können auch Implementierungsdetails erwähnt werden.
\section{Beispiele}
Genügend Beispiele einbinden! Eigene Beispiele sind sehr gut! Und die Beispiele sollte diskutiert werden.
Bilder werden von \LaTeX nicht direkt da angezeigt, wo sie eingebunden wurden, sondern an passenden Stellen in der Nähe.
Das ist so beabsichtigt.
Man kann aber Bilder referenzieren.
Auf \cref{abb:bild1} sieht man irgendwas mit Informatik, auf \cref{abb:bild2} auch.
\begin{figure}
\begin{center}
\includegraphics[width=0.3\textwidth]{computerbild1.png}
\caption{Ein Bild mit irgendwas mit Informatik (Lizenz: CC0)}
\label{abb:bild1}
\end{center}
\end{figure}
\begin{figure}
\begin{center}
\includegraphics[width=0.4\textwidth]{computerbild2.jpg}
\caption{Ein anderes Bild mit irgendwas mit Informatik (Lizenz: CC0)}
\label{abb:bild2}
\end{center}
\end{figure}
Man kann Bilder fest positionieren, dann können sie aber keine Bildunterschrift haben und man kann sie nicht referenzieren. Zum Beispiel diese Veranschaulichung einer Queue (Warteschlange):
\begin{center}
\includegraphics[width=0.4\textwidth]{queue.png}
\end{center}
\section{Quellcode (ausschnittsweise)}
Unwichtige Teile des Programms müssen hier nicht abgedruckt werden.
\lstset{language=Pascal} % Set your language (you can change the language for each code-block optionally)
\begin{lstlisting}[frame=single,language=Python,title=Kleines Python-Programm]
for i in range(100):
if i % 2 == 0:
pass
else:
print(i)
\end{lstlisting}
\begin{lstlisting}[frame=single,language=C++,title=Kleines C++-Programm]
#include <iostream>
int main(int argc, char** argv) {
std::cout << "Hallo";
return 0;
}
\end{lstlisting}
Hier noch ein kurzes Pascal-Snippet ohne Rahmen:
\begin{lstlisting}[language=Pascal]
for i := maxint to 0 do
begin
a := a + i
end;
Write('Case insensitive ');
Write('Pascal keywords.');
\end{lstlisting}
Das folgende Programm wird aus einer Datei geladen:
\lstinputlisting[frame=single,language=JavaScript,title=Großes JS-Programm]{source.js}
\end{document}
\documentclass[a4paper,10pt]{scrartcl}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage[utf8x]{inputenc}
\usepackage{geometry}
% mehr pakete: mathe-modus, code-environment, geometry
\title{Aufgabe 1: \LaTeX-Dokument}
\author{Max Mustermännchen}
\date{\today}
\begin{document}
\maketitle
\section{Lösungsidee}
Die Idee der Lösung sollte hieraus vollkommen ersichtlich werden, ohne das auf die eigentliche Implementation Bezug genommen wird.
\section{Umsetzung}
Hier wird kurz erläutert, wie die Lösungsidee im Programm tatsächlich umgesetzt wurde. Hier können auch Implementierungsdetails erwähnt werden.
\section{Beispiele}
Genügend Beispiele einbinden! Eigene Beispiele sind sehr gut! Und die Beispiele sollte diskutiert werden.
\section{Quellcode (ausschnittsweise)}
Unwichtige Teile des Programms müssen hier nicht abgedruckt werden.
\end{document}
......@@ -4,6 +4,19 @@
\usepackage[utf8x]{inputenc}
\usepackage[a4paper,margin=2.5cm]{geometry}
% Die nächsten drei Felder bitte anpassen:
\newcommand{\Name}{Team: ??? / Name} % Teamname oder eigenen Namen angeben
\newcommand{\Einsendenummer}{???}
\newcommand{\Aufgabe}{Aufgabe 1: \LaTeX-Dokument}
% Kopf- und Fußzeilen
\usepackage{scrlayer-scrpage}
\setkomafont{pageheadfoot}{\textrm}
\ifoot{\Name}
\cfoot{\thepage}
\chead{\Aufgabe}
\ofoot{Einsendenummer: \Einsendenummer}
% Für mathematische Befehle und Symbole
\usepackage{amsmath}
\usepackage{amssymb}
......@@ -43,8 +56,8 @@
\usepackage{cleveref}
% Daten für die Titelseite
\title{Aufgabe 1: \LaTeX-Dokument}
\author{Max Mustermännchen}
\title{\Aufgabe}
\author{\Name\\Einsendenummer: \Einsendenummer}
\date{\today}
......@@ -52,136 +65,18 @@
\begin{document}
\maketitle
\tableofcontents
\section{Lösungsidee}
Der Aufgabentext selbst soll hier \emph{nicht} noch einmal abgedruckt werden.
Die Idee der Lösung sollte hieraus vollkommen ersichtlich werden, ohne das auf die eigentliche Implementation Bezug genommen wird.
Der Text wird am besten mit Unterüberschriften strukturiert:
\subsection{Unterüberschrift}
\subsubsection{Unter-Unterüberschrift}
\paragraph{Benannter Absatz} Lorem ipsum.
\subsection{Mathematik}
\begin{align}
a_0 & := 2 + 3 \\
& = 3^2 - 2^2
\end{align}
\begin{align}\label{eq:toll}
\sum_{i=0}^3 i = \prod_{i=1}^3 i = \frac{12}{2} = \sqrt[3]{216}
\end{align}
\begin{align*}
f(x) \propto x^2 \Leftrightarrow \exists r \in \mathbb R : \forall x: f(x) = r * x^2 \Rightarrow x \in \mathcal{O}(x^2)
\end{align*}
Mathematische Formeln erhalten normalerweise eine Nummer, die man referenzieren kann.
In \cref{eq:toll} zum Beispiel ist jeder Term gleich $6$.
Mathematische Formeln können auch im Fließtext gesetzt werden: $\sum_{i=0}^3 i = \prod_{i=1}^3 i = \frac{12}{2} = \sqrt[3]{216}.$
\subsection{Algorithmen}
\begin{algorithmic}
\If{$i\geq i_\text{max}$}
\State $a\gets -1$
\ElsIf{$i\leq i_\text{min}$}
\State $a\gets 1$
\Else
\State $a\gets 0$
\EndIf
\For{$i$ from 1 to 10}
\State $a\gets a + i$
\EndFor
\ForAll{$i$ in $Liste$}
\State $a\gets a + i$
\EndFor
\While{$a > 0$}
\State $a\gets a - 1$
\EndWhile
\Repeat
\State $a\gets a - 1$
\Until{$a < 0$}
\Loop
\State $i\gets$\Call{Increment}{$i$}
\EndLoop
\Function{Increment}{$a$}
\State $a \gets a+1$
\State \Return $a$
\EndFunction
\end{algorithmic}
\section{Umsetzung}
Hier wird kurz erläutert, wie die Lösungsidee im Programm tatsächlich umgesetzt wurde. Hier können auch Implementierungsdetails erwähnt werden.
\section{Beispiele}
Genügend Beispiele einbinden! Eigene Beispiele sind sehr gut! Und die Beispiele sollte diskutiert werden.
Bilder werden von \LaTeX nicht direkt da angezeigt, wo sie eingebunden wurden, sondern an passenden Stellen in der Nähe.
Das ist so beabsichtigt.
Man kann aber Bilder referenzieren.
Auf \cref{abb:bild1} sieht man irgendwas mit Informatik, auf \cref{abb:bild2} auch.
\begin{figure}
\begin{center}
\includegraphics[width=0.3\textwidth]{computerbild1.png}
\caption{Ein Bild mit irgendwas mit Informatik (Lizenz: CC0)}
\label{abb:bild1}
\end{center}
\end{figure}
\begin{figure}
\begin{center}
\includegraphics[width=0.4\textwidth]{computerbild2.jpg}
\caption{Ein anderes Bild mit irgendwas mit Informatik (Lizenz: CC0)}
\label{abb:bild2}
\end{center}
\end{figure}
Man kann Bilder fest positionieren, dann können sie aber keine Bildunterschrift haben und man kann sie nicht referenzieren. Zum Beispiel diese Veranschaulichung einer Queue (Warteschlange):
\begin{center}
\includegraphics[width=0.4\textwidth]{queue.png}
\end{center}
\section{Quellcode (ausschnittsweise)}
Unwichtige Teile des Programms müssen hier nicht abgedruckt werden.
\lstset{language=Pascal} % Set your language (you can change the language for each code-block optionally)
\begin{lstlisting}[frame=single,language=Python,title=Kleines Python-Programm]
for i in range(100):
if i % 2 == 0:
pass
else:
print(i)
\end{lstlisting}
\begin{lstlisting}[frame=single,language=C++,title=Kleines C++-Programm]
#include <iostream>
int main(int argc, char** argv) {
std::cout << "Hallo";
return 0;
}
\end{lstlisting}
Hier noch ein kurzes Pascal-Snippet ohne Rahmen:
\begin{lstlisting}[language=Pascal]
for i := maxint to 0 do
begin
a := a + i
end;
Write('Case insensitive ');
Write('Pascal keywords.');
\end{lstlisting}
Das folgende Programm wird aus einer Datei geladen:
\lstinputlisting[frame=single,language=JavaScript,title=Großes JS-Programm]{source.js}
\end{document}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment