PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : booktabs -> senkrechte linien ohne unterbrechung?



Mat
22-06-2012, 11:27
Hallo,

ich würde gerne eine tabelle mittels booktab haben bei der die senkrechten Linien NICHT unterbrochen werden. Bzw. es soll da wo die senkechte
Linie die midrule trifft nicht unterbrochen werden, bei toprule und bottomrule sollte sie so bleiben wie sie ist. Geht das?



\documentclass[a4paper,10pt,twoside,chapterprefix]{scrbook}


\usepackage[
% german,
ngerman,
USenglish,
% french,
]{babel}
\usepackage{float}
\usepackage{booktabs}

\begin{document}

\begin{table}[!h]
\begin{center}
\caption{todo...}
\begin{tabular}{l|ccc}
\toprule
A & B & C & D \\
% \hline
\midrule
R & aaa & gggg & rrrr\\
J & ggg & eee & eee \\
G & rrr & ddd & rrr \\
\bottomrule
\end{tabular}
\end{center}
\end{table}


\end{document}



Danke

rstuby
22-06-2012, 11:31
Senkrechte Linien werden von booktabs nicht unterstützt, da sie als hässlich und störend gelten. Laut neueren Aussagen behindern sie bloß den Lesefluss und haben keinerlei positive Funktion.
Versuch es doch mal ohne - sieht wirklich schicker und genauso übersichtlich aus!
(schreibt eine, die jede Woche eine MSWord-TAbelle mit senkrechten Linien erstellt und ausdruckt...)

Mat
22-06-2012, 11:37
hmm ist das wirklich so?

gut dann eine andere frage: wie könnte ich die Tabelle auf seitenlänge bringen, also die abstände der tabelle so langziehen dass alles schön richtigen abstand hat aber die tabelle die breite der seite hat? (auch wenn die tabelle kürzer ist)

hakaze
22-06-2012, 11:41
Das liegt daran, dass booktabs explizit nicht für die Verwendung mit vertikalen Linien gedacht ist. Hier mal dein Beispiel mit 2 Alternativen: mit unterbrochenen Linien (ebenfalls booktabs) oder mit extrarowheight (aus dem array-Paket).
\documentclass[a4paper,10pt,twoside,chapterprefix]{scrbook}


\usepackage[
% german,
ngerman,
USenglish,
% french,
]{babel}
\usepackage{array}
\usepackage{booktabs}

\begin{document}
% unschön
\begin{table}[!h]
\begin{center}
\caption{unschön}
\begin{tabular}{l|ccc}
\toprule
A & B & C & D \\
% \hline
\midrule
R & aaa & gggg & rrrr\\
J & ggg & eee & eee \\
G & rrr & ddd & rrr \\
\bottomrule
\end{tabular}
\end{center}
\end{table}
% ohne senkrechte Linien
\begin{table}[!h]
\begin{center}
\caption{ohne senkrechte Linien}
\begin{tabular}{lccc}
\toprule
A & B & C & D \\
% \hline
\cmidrule(r){1-1}\cmidrule(l){2-4}
R & aaa & gggg & rrrr\\
J & ggg & eee & eee \\
G & rrr & ddd & rrr \\
\bottomrule
\end{tabular}
\end{center}
\end{table}
% mittels extrarowheigth
\begin{table}[!h]
\begin{center}
\caption{mittels extrarowheigth}
\setlength{\extrarowheight}{2pt}
\begin{tabular}{l|ccc}
\hline
A & B & C & D \\
\hline
R & aaa & gggg & rrrr\\
J & ggg & eee & eee \\
G & rrr & ddd & rrr \\
\hline
\end{tabular}
\end{center}
\end{table}
\end{document}

rstuby
22-06-2012, 11:43
Tabellen mit Textbreite bekommst du mit dem Paket tabularx und der gleichnamigen Umgebung anstatt tabular. Da kannst du dann die Breite der Gesamttabelle angeben und musst mindestens eine Spalte von Spaltentyp X benutzen. Diese wird dann für den Ausgleich benutzt.