5 Tabellen und Boxen
- Wie erstellt man Tabellen?
- Tabellen mit variabler Breite
- Tabellen über die volle Breite einer Seite
- Wie erstellt man überlange Tabellen?
- Wie erstellt man überbreite Tabellen?
- Wie erstelle ich Rahmen für Definitionen?
- Veränderungen der Rahmen
- Farbige Kästen
5.1 Wie erstellt man Tabellen?
Für Microsoft-Excel gibt es das nette Makro LaTable1 von Alex A. Denisov, mitdem man in Excel eine Tabelle erstellen kann und dann den LaTeX-Code erhält. Mittlerweile nutze ich Windows aber so gut wie gar nicht mehr, sodass ich die Tabellen häufig unter OpenOffice Calc erstelle und dann in LATEXschön zeichne. Dazu habe ich mir ein eigenes Skript gebastelt, welches man auf meiner Homepage findet.2 Mit dem Paket hhline3 von David Carlisle kann man Tabellen schön zeichnen, so kann man z.B. eine Tabelle zeichnen, welche nicht vollständig durchgezogene Linien besitzt.
hhline-tex.tex |
---|
1 \begin{tabular}{||cc||c|c||} 2 \hhline{|t:==:t:==:t|} 3 a&b&c&d\\ 4 \hhline{|:==:|~|~||} 5 1&2&3&4\\ 6 \hhline{#==#~|=#} 7 i&j&k&l\\ 8 \hhline{||--||--||} 9 w&x&y&z\\ 10 \hhline{|b:==:b:==:b|} 11 \end{tabular} |
|t:==:t:==:t| a | b | c | d |
|:==:| | || 1 | 2 | 3 | 4 |
#==# |=# i | j | k | l |
||–||–|| w | x | y | z |
|b:==:b:==:b| |
Aber auch Farben kann man in eine Tabelle bekommen. Ein Beispiel hierfür, indem allerdings nur Grautöne enthaltem sind. Dies geht natürlich auch mit allen anderen Farben:
gray | allgemeine Form | |||
Der Programmcode:
tab-tex.tex |
---|
1 \begin{center} 2 \renewcommand{\arraystretch}{1.7} 3 \begin{tabular}{|l|c|c|c|p{2cm}|} \hline 4 \rowcolor{gray} 5 & $\mathbf{A(1)}$ & $\mathbf{A(2)}$ 6 & $\mathbf{A(3)}$ & 7 \textbf{allgemeine Form} \\ \hline 8 $g(x)=3x$ &&&& $A(x)=$ \\ \hline 9 $h(x)=mx$ &&&& $A(x)=$ \\ \hline 10 \end{tabular} 11 \end{center} |
5.2 Tabellen mit variabler Breite
Solche Tabellen, wie sie bisher aufgetreten sind, sind ja sehr schön, aber ab
und zu, sollen die Spalten einfach breiter werden, damit man auch etwas
eintragen kann und sie nicht nur der breitesten Eintragung entsprechen. Dazu
nutzt man anstelle von r, c oder l den
Befehl p{...}
. Hier kann man in die Klammer entweder feste Werte
schreiben, wie z.B. 5cm, aber auch relative Angaben wie
0.1\linewidth
, was 10 % der Linienbreite entspricht.
5.3 Tabellen über die volle Breite einer Seite
Auf die Idee meine Tabellen über die gesamte Zeilenbreite zu zeichnen hat mich das Buch [Voß, 2008b, Seite 76 ff] gebracht. Seitdem nutze ich das Paket tabularx4 von David Carlisle. Hiermit kann man sehr einfach die Tabellenbreite eine Tabelle definieren und mit einem neuen Spaltentyp X wird die Tabelle gleichmäßig über noch zur Verfügung stehenden Breite verteilt.
5.3.1 Beispiel
Ein Beispiel aus dem Themengebiet Daten erfassen - Klasse 5 Mathematik:
Fortbewegungsmittel | Fahrrad | Motorrad | Flugzeug | Helikopter | Bus | |
Geschwindigkeit (km/h) | 220 | 315 | 490 | 280 |
Tab. 3: Eine Tabelle über die volle Breite einer Seite
fortbewegung-tex.tex |
---|
1 \begin{tabularx}{1\linewidth}{|p{4cm}|X|X|X|X|X|X|} 2 \hline 3 \textbf{Fortbewegungsmittel} & & Fahr\-rad & Motor\-rad & Flug\-zeug & 4 Heli\-kopter & Bus 5 \\ \hline 6 \textbf{Geschwindigkeit (km/h)} & 220 & & 315 & 490 & 280 & 7 \\ \hline 8 \end{tabularx} |
5.4 Wie erstellt man überlange Tabellen?
Es gibt ja auch den Fall, dass man Tabellen erstellen möchte, die über mehrere Seiten geht. Dazu gibt es das Paket longtable5 von David Carlisle, welches einem ermöglicht den Kopf und Fußzu definieren, der auf jeder Seite wieder auftauchen soll.
Ein Auszug des Quellcodes ist:
mb_kumuliert_binomial-tex.tex |
---|
1 \begin{merkblatt}[05.10.2009]{Stochastik}{Kumulierte Binomialverteilungen}{7} 2 3 \begin{center} \small \newcolumntype{A}{>{\columncolor{grau}}c} 4 \begin{longtable}{|c|B|p{1.5cm}p{1.75cm}p{1.75cm}p{1.75cm}p{1.75cm}p{1.75cm}|A|} 5 \hline 6 & \multicolumn{1}{A}{}& \multicolumn{6}{A|}{$p$} 7 & \multicolumn{1}{c|}{} \\ 8 $n$ & $k$ & \multicolumn{1}{B}{0,1} & \multicolumn{1}{B}{0,2} & 9 \multicolumn{1}{A}{0,25} & \multicolumn{1}{A}{0,3} 10 & \multicolumn{1}{A}{0,4} & \multicolumn{1}{A|}{0,5} & 11 \multicolumn{1}{c|}{} \\ \hline 12 \endhead 13 \hline 14 \multicolumn{1}{|c}{} &\multicolumn{1}{c|}{} 15 & \multicolumn{1}{A}{0,9} & \multicolumn{1}{A}{0,8} 16 & \multicolumn{1}{A}{0,75} & \multicolumn{1}{A}{0,7} 17 & \multicolumn{1}{A}{0,6} & \multicolumn{1}{A}{0,5} 18 & $k$ \\ 19 \multicolumn{1}{|c}{} & \multicolumn{1}{c|}{} 20 & \multicolumn{6}{A}{$p$} & \multicolumn{1}{|A|}{} \\ \hline 21 \endfoot 22 & 69 & & & & & & 0,99996 & 30 \\ 23 \end{longtable} 24 \end{center} 25 26 \kasten{ 27 {\fontfamily{pag} \selectfont 28 \textbf{Beachte:} 29 30 Wenn $p \geq 0,5$ abgelesen werden sollen, muss die Differenz \textbf{1- 31 (abgelesener Wert)} ermittelt werden. 32 \bigskip 33 \begin{beispiel} 34 $n=5$; $k=3$; $p=0,9$; $P(X \leq 3)=1-0,99954=0,00046$ 35 \end{beispiel} 36 }} 37 \end{merkblatt} |
5.5 Wie erstellt man überbreite Tabellen?
Dazu gibt es die Möglichkeit mit dem Paket landscape6 von Don Hosek eine Tabelle zu drehen. Allerdings fängt landscape immer eine neue Seite an. Wenn die Tabelle innerhalb einer Seite nur gedreht sein soll, so kann man mit der Umgebung turn die Tabelle um 90 Grad oder eine andere Gradzahl drehen.
90
allgemeine Form | ||||
turn-tex.tex |
---|
1 \begin{turn}{90} 2 \renewcommand{\arraystretch}{1.7} 3 \begin{tabular}{|c|c|c|c|c|} 4 \hline 5 & $\mathbf{A(1)}$ & $\mathbf{A(2)}$ & $\mathbf{A(3)}$ & 6 \textbf{allgemeine Form} \\ 7 \hline 8 $g(x)=3x$ &&&& $A(x)=$ \\ 9 \hline 10 $h(x)=mx$ &&&& $A(x)=$ \\ \hline 11 \end{tabular} 12 \end{turn} |
5.6 Wie erstelle ich Rahmen für Definitionen?
Da gibt es zwei verschiedene Möglichkeiten. Zum einen habe ich mir eine Umgebung definiert, die mir einen schattierten Rahmen liefert:
Der erste Strahlensatz
Wird ein Strahlenbüschel von parallelen Geraden geschnitten, dann sind die Streckenverhältnisse gleichliegender Strahlenabschnitte gleich. Es gilt nach der Zeichnung von Str 8:
| = |
| = |
|
Der Quellcode lautet dazu:
str-tex.tex |
---|
1 \kasten{ 2 \begin{center} \large \textbf{Der erste Strahlensatz} \end{center} 3 \textit{Wird ein Strahlenb\"uschel von parallelen Geraden geschnitten, dann 4 sind die Streckenverh\"altnisse gleichliegender Strahlenabschnitte 5 gleich.} 6 7 \textit{Es gilt nach der Zeichnung von Str 8:} 8 \[ \frac{\overline{SA} }{\overline{SF} } =\frac{\overline{AB}}{\overline{FE} 9 } = \frac{\overline{SB} }{\overline{SE} } \] 10 } |
kasten-tex.tex |
---|
1 \newcommand{\kasten}[2][0.9\linewidth]{ \begin{center} \vspace{3pt} 2 \shadowbox{\colorbox{white}{\parbox[t]{#1}{#2}}} 3 \vspace{3pt} \end{center}} |
5.7 Veränderungen der Rahmen
Möchte man die Rahmen noch weiter verändern, so kann man mit den Befehlen
\setlenght{\fboxrule}{} \setlenght{\fboxsep}{}
die Strichstärke des Rahmens verändern und den Abstand zwischen dem Boxenrand und dem Inhalt festsetzen.
5.7.1 Beispiel
Ein Beispiel ist:
str2-tex.tex |
---|
1 { \setlength{\fboxrule}{0.2cm} \setlength{\fboxsep}{0.8cm} 2 \kasten[0.9\linewidth]{ 3 \begin{center} 4 Der zweite Strahlensatz: 5 \end{center} 6 7 \textit{Wird ein Strahlenb\"uschel von parallelen Geraden 8 geschnitten, dann sind die Streckenverh\"altnisse der 9 Abschnitte auf einem Strahl mit dem Anfangspunkt $Z$ 10 gleich den Streckenverh\"altnissen entsprechender 11 Parallelenabschnitte.} } } |
[0.9@percent] Der zweite Strahlensatz:
Wird ein Strahlenbüschel von parallelen Geraden geschnitten, dann sind die Streckenverhältnisse der Abschnitte auf einem Strahl mit dem Anfangspunkt gleich den Streckenverhältnissen entsprechender Parallelenabschnitte.
5.8 Farbige Kästen
Um auch einige Kästen farbig zu hinterlegen habe ich mir den Befehl kastenfarbe definiert, der wie folgt aussieht:
kastenfarbe-tex.tex |
---|
1 \newcommand{\kastenfarbe}[2][white]{ 2 \begin{center} 3 \vspace{3pt} 4 \shadowbox{\colorbox{#1}{\parbox[t]{0.95\linewidth}{#2}}} 5 \vspace{5pt} 6 \end{center} 7 } |
5.8.1 Beispiel
Ein Beispiel ist: [red] Dies ist ein roter Kasten.
kastenfarbe2-tex.tex |
---|
1 \kastenfarbe[red]{ 2 Dies ist ein roter Kasten. 3 } |
- 1
- Siehe [lat, 2009b]
- 2
- Siehe [Rendtel, 2010]
- 3
- Siehe [hhl, 2009]
- 4
- Siehe [tab, 2009]
- 5
- Siehe [lon, 2009]
- 6
- Siehe [lan, 2009]