\documentclass{beamer}
\usetheme{Hannover}

\setbeamertemplate{navigation symbols}{}

\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage{longtable}
\usepackage{multirow}
\input{include_CC.tex}

\title{\LaTeX{}-Workshop}
\subtitle{Tabellen}
\author[Ohri, Inkolov, Zheng]{Stefan Ohri, Svetoslav Inkolov und Li Zheng}

% \hyphenation{Quel-len-an-gab-en}

\begin{document}
\frame{\titlepage}

\begin{frame}
	\headline{Tabellen}
\end{frame}

\section{Einführung}
\begin{frame}[allowframebreaks]{Einführung}
	Einfache Tabellen sind in \LaTeX{} relativ schnell geschrieben:\\[2ex]
	\begin{multicols}{2}
	
	\bcommand{tabular}{l c r}\\
		\texttt{\textcolor{red}{\&}	Spalte a	\textcolor{red}{\&}	Spalte b	\textbackslash\textbackslash}\\
		\comand{hline}\\
		\texttt{Zeile 1	\textcolor{red}{\&}	a1		\textcolor{red}{\&}	b1		\textbackslash\textbackslash}\\
		\texttt{Zeile 2 \textcolor{red}{\&}	a2		\textcolor{red}{\&}	b2}\\
	\ecommand{tabular}
	
	\columnbreak
	
	\begin{tabular}{l c r}
				&	Spalte a	&	Spalte b	\\
		\hline
		Zeile 1	&	a1			&	b1		\\
		Zeile 2 &	a2			&	b2
	\end{tabular}
	\end{multicols}

	Die Zellen der Tabelle werden mit \textcolor{red}{\&} getrennt. Jede Zeile muss mit einem Zeilenumbruch enden.\\[1ex]
	\comand{hline} erzeugt eine horizontale Linie über die gesamte Breite der Tabelle.
	
	\framebreak
	
	Die Parameter von \bcommand{tabular}{l c r} geben zum einen an, viele Spalten die Tabelle hat und welche Ausrichtung diese Spalten haben sollen.\\[2ex]
	
	\begin{multicols}{2}
	\bcommand{tabular}{l l l}\\
	\texttt{\textcolor{red}{\&}	Spalte a	\textcolor{red}{\&}	Spalte b	\textbackslash\textbackslash}\\
	\comand{hline}\\
	\texttt{Zeile 1	\textcolor{red}{\&}	a1		\textcolor{red}{\&}	b1	\textbackslash\textbackslash}\\
	\texttt{Zeile 2	\textcolor{red}{\&}	a2		\textcolor{red}{\&}	b2}\\
	\ecommand{tabular}\\[2ex]
	
	\begin{tabular}{l l l}
				&	Spalte a	&	Spalte b	\\
		\hline
		Zeile 1	&	a1			&	b1			\\
		Zeile 2	&	a2			&	b2
	\end{tabular}
	
	\columnbreak
	
	\bcommand{tabular}{r r r}\\
	\texttt{\textcolor{red}{\&}	Spalte a	\textcolor{red}{\&}	Spalte b	\textbackslash\textbackslash}\\
	\comand{hline}\\
	\texttt{Zeile 1	\textcolor{red}{\&}	a1		\textcolor{red}{\&}	b1	\textbackslash\textbackslash}\\
	\texttt{Zeile 2	\textcolor{red}{\&}	a2		\textcolor{red}{\&}	b2}\\
	\ecommand{tabular}\\[2ex]
	
	\begin{tabular}{r r r}
				&	Spalte a	&	Spalte b	\\
		\hline
		Zeile 1	&	a1			&	b1			\\
		Zeile 2	&	a2			&	b2
	\end{tabular}
	
	\end{multicols}
\end{frame}

\section{Longtable}
\begin{frame}[allowframebreaks]{Longtable}
	Sollte die Tabelle zu groß für die voreingestellte Blattgröße werden \dots\\[2ex]
	\begin{center}
	\begin{tabular}{l c r}
					&	Spalte a	&	Spalte b	\\
		\hline
		Zeile 1		&	a1			&	b1		\\
		Zeile 2 	&	a2			&	b2		\\
		Zeile 3		&	a3			&	b3		\\
		Zeile 4 	&	a4			&	b4		\\
		Zeile 5		&	a5			&	b5		\\
		Zeile 6 	&	a6			&	b6		\\
		Zeile 7		&	a7			&	b7		\\
		Zeile 8 	&	a8			&	b8		\\
		Zeile 9		&	a9			&	b9		\\
		Zeile 10	&	a10			&	b10		\\
		Zeile 11	&	a11			&	b11		\\
		Zeile 12	&	a12			&	b12		\\
		Zeile 13	&	a13			&	b13		\\
		Zeile 14 	&	a14			&	b14		\\
		Zeile 15	&	a15			&	b15		\\
		Zeile 16	&	a16			&	b16		\\
		Zeile 17	&	a17			&	b17		\\
		Zeile 18 	&	a18			&	b18		\\
		Zeile 19	&	a19			&	b19		\\
		Zeile 20	&	a20			&	b20
	\end{tabular}
	\end{center}
	
	\framebreak
	
	\dots kann \textbf{\texttt{longtable}} verwendet werden:\\[1ex]
	
	\begin{longtable}{l c r}
					&	Spalte a	&	Spalte b	\\
		\hline
		Zeile 1		&	a1			&	b1		\\
		Zeile 2 	&	a2			&	b2		\\
		Zeile 3		&	a3			&	b3		\\
		Zeile 4 	&	a4			&	b4		\\
		Zeile 5		&	a5			&	b5		\\
		Zeile 6 	&	a6			&	b6		\\
		Zeile 7		&	a7			&	b7		\\
		Zeile 8 	&	a8			&	b8		\\
		Zeile 9		&	a9			&	b9		\\
		Zeile 10	&	a10			&	b10		\\
		Zeile 11	&	a11			&	b11		\\
		Zeile 12	&	a12			&	b12		\\
		Zeile 13	&	a13			&	b13		\\
		Zeile 14 	&	a14			&	b14		\\
		Zeile 15	&	a15			&	b15		\\
		Zeile 16	&	a16			&	b16		\\
		Zeile 17	&	a17			&	b17		\\
		Zeile 18 	&	a18			&	b18		\\
		Zeile 19	&	a19			&	b19		\\
		Zeile 20	&	a20			&	b20
	\end{longtable}
	
	\framebreak
	
	\bcommand{longtable}{l c r}\\
		\texttt{\textcolor{red}{\&}	Spalte a	\textcolor{red}{\&}	Spalte b	\textbackslash\textbackslash}\\
		\comand{hline}\\
		\texttt{Zeile 1	\textcolor{red}{\&}	a1		\textcolor{red}{\&}	b1		\textbackslash\textbackslash}\\
		\texttt{Zeile 2	\textcolor{red}{\&}	a2		\textcolor{red}{\&}	b2		\textbackslash\textbackslash}\\
		\texttt{Zeile 3	\textcolor{red}{\&}	a3		\textcolor{red}{\&}	b3		\textbackslash\textbackslash}\\
		\dots\\
	\ecommand{longtable}\\[2ex]
	
	Für \textbf{longtable} ist das Paket \textbf{\texttt{longtable}} einzubinden:\\
	\command{usepackage}{longtable}
\end{frame}

\section{Multicolumn}
\begin{frame}{Multicolumn}
	Möchte man mehrere Zellen verbinden, so kann man das mit \textbf{Multicolumn} und \textbf{Multirow}.\\
	\texttt{\textcolor{command}{\textbackslash multicolumn}\textcolor{parameter}{\{<AnzahlSpalten>\}\{<Ausrichtung>\}\{<Text>\}}}\\[2ex]
	
	\begin{multicols}{2}
	\bcommand{tabular}{l r r}
	\texttt{\textcolor{red}{\&}	Spalte a	\textcolor{red}{\&}	Spalte b	\textbackslash\textbackslash}\\
	\comand{hline}\\
	\texttt{Zeile 1	\textcolor{red}{\&}	a1		\textcolor{red}{\&}	b1		\textbackslash\textbackslash}\\
	\texttt{Zeile 2	\textcolor{red}{\&} \texttt{\textcolor{command}{\textbackslash multicolumn}\textcolor{parameter}{\{2\}\{c\}\{Gemeinsamer~Text\}}}~\textbackslash\textbackslash}\\
	\texttt{Zeile 3	\textcolor{red}{\&}	a3		\textcolor{red}{\&}	b3		\textbackslash\textbackslash}\\
	\ecommand{tabular}
	
	\columnbreak
	
	\begin{tabular}{l r r}
					&	Spalte a	&	Spalte b	\\
		\hline
		Zeile 1		&	a1			&	b1		\\
		Zeile 2 	&	\multicolumn{2}{c}{Gemeinsamer Text}	\\
		Zeile 3		&	a3			&	b3
	\end{tabular}
	\end{multicols}

	Die \textcolor{red}{\&}, welche zwischen den Spalten stehen würden, die verbunden werden, fallen weg.
\end{frame}

\section{Multirow}
\begin{frame}[allowframebreaks]{Multirow}
	Multirow ist etwas komplexer einzusetzen:\\
	\texttt{\textcolor{command}{\textbackslash multirow}\{\textcolor{parameter}{<AnzahlZeilen>}\}\{\textcolor{parameter}{<Breite>}\}\{\textcolor{parameter}{<Text>}\}}\\[1ex]
	\comand{multirow} muss in der ersten Zeile, die zum Verbund gehören soll, stehen. Hier wird die Anzahl der Zellen, die verbunden werden sollen, ihre Breite und der Text angegeben. In den folgenden Zeilen wird der Inhalt der jeweiligen Zellen freigelassen.\\[2ex]
	Für den Befehl \comand{multirow} wird das Paket \texttt{\textcolor{parameter}{multirow}} gebraucht:\\
	\command{usepackage}{multirow}
	
	\framebreak
	
	\bcommand{tabular}{l~r~r}\\
	\texttt{\textcolor{red}{\&}	Spalte a	\textcolor{red}{\&}	Spalte b	\textbackslash\textbackslash}\\
	\comand{hline}\\
	\texttt{\textcolor{command}{\textbackslash multirow}\textcolor{parameter}{\{3\}\{\textasteriskcentered\}\{Gemeinsamer Text\}}	\textcolor{red}{\&}	a1		\textcolor{red}{\&}	b1		\textbackslash\textbackslash}\\
	\texttt{\phantom{\textbackslash multirow\{3\}\{\textasteriskcentered\}\{Gemeinsamer Text\}}	\textcolor{red}{\&}	a2		\textcolor{red}{\&}	b2		\textbackslash\textbackslash}\\
	\texttt{\phantom{\textbackslash multirow\{3\}\{\textasteriskcentered\}\{Gemeinsamer Text\}}     \textcolor{red}{\&}	a3		\textcolor{red}{\&}	b3		\textbackslash\textbackslash}\\
	\comand{hline}\\
	\texttt{Zeile 4 \phantom{\textbackslash \{3\}\{\textasteriskcentered\}\{Gemeinsamer Text\}}     \textcolor{red}{\&}	a4		\textcolor{red}{\&}	b4		\textbackslash\textbackslash}\\
	\ecommand{tabular}\\[2ex]
	
	\begin{tabular}{l r r}
			&	Spalte a	&	Spalte b	\\
	\hline
	\multirow{3}{5em}{Gemeinsamer Text}	&	a1	&	b1	\\
			&	a2	&	b2	\\
			&	a3	&	b3	\\
	\hline
	Zeile 4	&	a4	&	b4
	\end{tabular}

	\framebreak
	
	\bcommand{tabular}{l~r~r}\\
	\texttt{\textcolor{red}{\&}	Spalte a	\textcolor{red}{\&}	Spalte b	\textbackslash\textbackslash}\\
	\comand{hline}\\
	\texttt{Zeile 1	\textcolor{red}{\&}	\textcolor{command}{\textbackslash multirow}\textcolor{parameter}{\{3\}\{\textasteriskcentered\}\{Gemeinsamer Text\}}		\textcolor{red}{\&}	b1		\textbackslash\textbackslash}\\
	\texttt{Zeile 2	\textcolor{red}{\&}	\phantom{\textbackslash multirow\{3\}\{\textasteriskcentered\}\{Gemeinsamer Text\}}	\textcolor{red}{\&}	b2		\textbackslash\textbackslash}\\
	\texttt{Zeile 3	\textcolor{red}{\&}	\phantom{\textbackslash multirow\{3\}\{\textasteriskcentered\}\{Gemeinsamer Text\}}	\textcolor{red}{\&}	b3		\textbackslash\textbackslash}\\
	\comand{hline}\\
	\texttt{Zeile 4	\textcolor{red}{\&}	a4      \phantom{\textbackslash multirow\{3\}\{\textasteriskcentered\}\{Gemeinsamer T\}}	\textcolor{red}{\&}	b4		\textbackslash\textbackslash}\\
	\ecommand{tabular}\\[2ex]
	
	\begin{tabular}{l r r}
		&	Spalte a	                        &	Spalte b	\\
	\hline
	Zeile 1	&	\multirow{3}{5em}{Gemeinsamer Text}	&	b1	\\
	Zeile 2	&		                                &	b2	\\
	Zeile 3	&		                                &	b3	\\
	\hline
	Zeile 4	&	a4	                                &	b4
	\end{tabular}
	
\end{frame}

\section{Linien}
\begin{frame}[allowframebreaks]{Linien}
	Vertikale Linien in Tabellen können bei der Ausrichtung angegeben werden. Das Zeichen dafür ist die Pipe ($\mid$):\\[2ex]
	
	\begin{multicols}{2}
		\bcommand{tabular}{l | r r}\\
		\texttt{\textcolor{red}{\&}	Spalte a	\textcolor{red}{\&}	Spalte b	\textbackslash\textbackslash}\\
		\comand{hline}\\
		\texttt{Zeile 1	\textcolor{red}{\&}	a1		\textcolor{red}{\&}	b1}	\textbackslash\textbackslash\\
		\texttt{Zeile 2	\textcolor{red}{\&}	a2		\textcolor{red}{\&}	b2}\\
		\ecommand{tabular}\\[2ex]
		
		\columnbreak
		
		\begin{tabular}{l | r r}
					&	Spalte a	&	Spalte b	\\
			\hline
			Zeile 1	&	a1			&	b1	\\
			Zeile 2	&	a2			&	b2	\\
		\end{tabular}
	\end{multicols}
	
	\framebreak
	
	Ist eine vertikale Linie nur in einzelnen Zellen gewünscht, so kann man den \comand{multicolumn}-Befehl missbrauchen, indem man als Parameter nur eine einzelne Spalte angibt und die Linie bei der Ausrichtung angibt:
	
	\begin{multicols}{2}
		\bcommand{tabular}{l r r}\\
		\texttt{\textcolor{red}{\&}	Spalte a	\textcolor{red}{\&}	Spalte b	\textbackslash\textbackslash}\\
		\comand{hline}\\
		\texttt{Zeile~1~\textcolor{red}{\&}~\texttt{\textcolor{command}{\textbackslash multicolumn}\textcolor{parameter}{\{1\}\{$\mid$r\}\{a1\}}}~\textcolor{red}{\&}~b1}\\
		\ecommand{tabular}
		
		\columnbreak
		
		\begin{tabular}{l r r}
					&	Spalte a	&	Spalte b	\\
			\hline
			Zeile 1	&	\multicolumn{1}{|r}{a1}	&	b1
		\end{tabular}
	\end{multicols}
	
	\framebreak
	
	Möchte man nicht die ganze Zeile, sondern nur einzelne Zellen unterstreichen, so kann man das mit \comand{cline} machen. \comand{cline} wird an das Ende der Zeile geschrieben und übernimmt als Parameter die zu unterstreichenden Zellen im Format \texttt{i-j}. (\texttt{i} ist die erste Zelle, \texttt{j} die letzte.)
	
	\begin{multicols}{2}
		\bcommand{tabular}{l r r}\\
		\texttt{\textcolor{red}{\&}	Spalte a	\textcolor{red}{\&}	Spalte b	\textbackslash\textbackslash}\\
		\comand{hline}\\
		\texttt{Zeile 1	\textcolor{red}{\&}	a1		\textcolor{red}{\&}	b1\textbackslash\textbackslash{} \command{cline}{2-3}}\\
		\texttt{Zeile 2	\textcolor{red}{\&}	a2		\textcolor{red}{\&}	b2\textbackslash\textbackslash{} \command{cline}{1-1}\command{cline}{3-3}}\\
		\ecommand{tabular}
		
		\columnbreak
		
		\begin{tabular}{l r r}
					&	Spalte a	&	Spalte b	\\
			\hline
			Zeile 1	&	a1			&	b1	\\ \cline{2-3}
			Zeile 2	&	a2			&	b2	\\ \cline{1-1}\cline{3-3}
		\end{tabular}
	\end{multicols}
	
	\framebreak
	
	Linien setzt man am Besten nur spärlich ein. Zu viele Linien stellen eine Ablenkung für das Auge dar (und sehen häßlich aus):\\[2ex]
	
	\begin{tabular}{| l | r | r | c | c || l |}
		\hline
				&	Spalte a	&	Spalte b	&	Spalte c	&	Spalte d	&	Spalte e	\\
		\hline
		Zeile 1	&	a1			&	b1			&	c1			&	d1			&	e1			\\
		\hline
		Zeile 2	&	a2			&	b2			&	c2			&	d2			&	e2			\\
		\hline
		Zeile 3	&	a3			&	b3			&	c3			&	d3			&	e3			\\
		\hline
		Zeile 4	&	a4			&	b4			&	c4			&	d4			&	e4			\\
		\hline
		\hline
		Zeile 5	&	a5			&	b5			&	c5			&	d5			&	e5			\\
		\hline
	\end{tabular}
\end{frame}

\section{Untertitel}
\begin{frame}{Untertitel}
	Um einer Tabelle einen Untertitel zu geben, muss nach der \textcolor{parameter}{\texttt{tabular}}-Umgebung der Befehl \comand{caption} folgen. Beides muss innerhalb einer \textcolor{parameter}{\texttt{table}}-Umgebung stehen:\\[2ex]
	\bcomand{table}\\
	\bcommand{tabular}{l r r}\\
	\texttt{\textcolor{red}{\&}	Spalte a	\textcolor{red}{\&}	Spalte b	\textbackslash\textbackslash}\\
	\comand{hline}\\
	\texttt{Zeile 1	\textcolor{red}{\&}	a1		\textcolor{red}{\&}	b1\textbackslash\textbackslash{}}\\
% 	\texttt{Zeile 2	\textcolor{red}{\&}	a2		\textcolor{red}{\&}	b2\textbackslash\textbackslash{}}\\
	\ecommand{tabular}\\
	\command{caption}{Beispieltabelle}\\
	\ecommand{table}\\[2ex]
	\begin{table}
		\begin{tabular}{l r r}
					&	Spalte a	&	Spalte b	\\
			\hline
			Zeile 1	&	a1			&	b1	\\
% 			Zeile 2	&	a2			&	b2
		\end{tabular}
		\caption{Beispieltabelle}
	\end{table}
\end{frame}

\end{document}