Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[LaTeX] Abstand zwischen Tabellenreihen (longtable, colortbl)?

463 views
Skip to first unread message

Frank Haefemeier

unread,
Oct 18, 2002, 6:04:40 PM10/18/02
to
Hallo,

ich bin gerade im Projekt mit dem erstellen von Reports beschäftigt.
In diesen Reports werden hauptsächlich Tabellen verwendet (zum Teil
auch über Seitengrenzen hinweg, daher 'longtable').

Innerhalb dieser Tabellen werden verschiedene Spalten grau
hinterlegt(mit 'colortbl'). Bis hierhin ist auch alles perfekt.

Die Anforderung an den Tabellenausdruck ist, daß zwischen den einzelnen
Reihen ein gewisser Abstand bestehen soll (z.B. 2mm). Ist im Prinzip
auch kein Problem (z.B. \tabularnewline[2mm]) solange einzelne Zellen
nicht grau hinterlegt sind.

Die Herausforderung besteht darin das zwischen zwei Tabellenreihen ein 'weißer'
Zwischenraum besteht. Wenn ich aber eine Spalte grau hinterlege, dann
wird der Zwischenraum auch grau.
Ein Lösungsansatz ist eine zusätzliche Reihe mit '\rowcolor{white}'
einzuschieben und mit einen negativen Abstand bei '\\' die Reihe kleiner
zu machen.

Funktioniert solange man keine Umrandung um die Tabelle hat und den Abstand
auch nach der letzten Reihe haben möchte. Hierbei werden die Begrenzungsstriche
zu lang gezeichnet. Ausserdem gefällt mir die Lösung nicht, da sie
von der Fontgröße abhängig ist und wir im Projekt schon des öfteren die Schriftgröße
ändern mußten.

Irgendwie haben ich mich bei der Lösungssuche festgefahren. Wer kann mich
wieder auf den Pfad der Weisheit zurückführen?

Besten Dank schonmal fürs Lesen des etwas zu lang geratenen Postings.

Tschau
Frank

P.S.: Beispiel liefere ich am Montag nach, da ich das von zu Hause aus schreibe,
aber das Beispiel im Büro ist:-(.


Frank Haefemeier

unread,
Oct 21, 2002, 6:52:06 PM10/21/02
to
Hier das versprochene Beispiel:

\documentclass[a4paper,final,11pt]{article}
\usepackage{german,color,longtable,colortbl}
\usepackage[cp850, latin1]{inputenc}
\newcolumntype{C}[1]{%
>{\columncolor[gray]{.95}[.3 \tabcolsep]}p{#1}%
}
\newcolumntype{R}{%
>{\columncolor[gray]{.95}[.3 \tabcolsep]}r%
}
\newcolumntype{Z}{%
>{\columncolor[gray]{.95}[.3 \tabcolsep]}c%
}
\newcolumntype{L}{%
>{\columncolor[gray]{.95}[.3 \tabcolsep]}l%
}
\newcommand{\boldUnderline}[1]{{\textbf{\underbar{#1}}}}
\newenvironment{xmptbl}[2]{%
\setlength{\tabcolsep}{0.5 \tabcolsep}
\begin{longtable}[l]{|RC{2.5cm}C{5.8cm}|}
\hline
\rowcolor{white}\multicolumn{3}{|l|}{\boldUnderline{#1}} \\
\rowcolor{white}\multicolumn{1}{|l}{\textbf{Fixed Title 1}}&%
\textbf{Fixed Title 2}&\textbf{Fixed Title 3}\\
\makebox[2.5cm]{}&\makebox[2.5cm]{}&\makebox[5.8cm]{}\\\kill
\endhead
\rowcolor{white}\multicolumn{3}{|r|}{{\footnotesize #2}}\\
\hline
\endfoot
}{%
\end{longtable}
\setlength{\tabcolsep}{2 \tabcolsep}
}
\newcommand{\xmprowA}[3]{%
#1 & #2 & #3 \\ % Würde ich hier z.B. [2mm] schreiben, hätte ich mehr Platz aber der ist grau
\rowcolor{white} & & \\[-0.4cm] % Hier wird der Zwischenraum erzeugt
}
\newenvironment{xmptbl2}{%
\setlength{\tabcolsep}{0.5 \tabcolsep}%
\begin{longtable}[l]{|C{2.5cm}C{5.5cm}|}
\hline%
\rowcolor{white}
\multicolumn{2}{|l|}{\boldUnderline{FixedTitle 1}}\\
\rowcolor{white}\multicolumn{1}{|l}{\textbf{FixedTitle 2}}&%
\textbf{FixedTitle 3}\\
\makebox[2.5cm]{}&\makebox[5.5cm]{}\\\kill
\endhead
}{%
\hline%
\end{longtable}%
\setlength{\tabcolsep}{2 \tabcolsep}%
}
\newcommand{\xmprowB}[2]{%
#1 & #2 \\
%\rowcolor{white} & \\[-0.4cm]
}
\begin{document}
Dies ist eine Beispieltabelle mit grau hinterlegten Zellen.
\begin{xmptbl2}
\xmprowB{1}{Spalte 2}
\xmprowB{2}{Spalte 2}
\end{xmptbl2}
Ein Absatz zwischen zwei Tabellen...
\begin{xmptbl}{Beispieltabelle}{Bemerkung}
\xmprowA{1}{Spalte 2}{Spalte 3}
\xmprowA{2}{Spalte 2}{Spalte 3}
\end{xmptbl}
Und hier noch ein Nachsatz.
\end{document}


Ruediger Stuible

unread,
Oct 21, 2002, 7:52:28 PM10/21/02
to
Frank Haefemeier <frank.ha...@t-online.de> schrieb:


>Hier das versprochene Beispiel:

Stimmt. Von minimal stand da nix.

Vielleicht so:

\documentclass{article}
\usepackage{color,longtable,colortbl}
\usepackage{booktabs}%Lies die Dokumentation.
\newcolumntype{L}{>{\columncolor[gray]{.95}}l}
%\setlength{\aboverulesep}{5em}%Mal abwechelnd auskommentieren
%\setlength{\aboverulesep}{-5em}%und sehen was passiert.
\begin{document}
\begin{longtable}{LL}
Hallo&Welt\\
\midrule[0pt]
Wie&geht´s?
\end{longtable}
\end{document}
--
Ruediger Stuible
rs...@gmx.de

Frank Haefemeier

unread,
Oct 22, 2002, 4:26:54 PM10/22/02
to
On Tue, 22 Oct 2002 01:52:28 +0200, rs...@gmx.de (Ruediger Stuible) wrote:
> Frank Haefemeier <frank.ha...@t-online.de> schrieb:
> >Hier das versprochene Beispiel:
>
> Stimmt. Von minimal stand da nix.
>
Entschuldigung, das es etwas länger geworden ist.
Und vielen Dnak trotzdem fürs anschauen und antworten.

> Vielleicht so:
>
> \documentclass{article}
> \usepackage{color,longtable,colortbl}
> \usepackage{booktabs}%Lies die Dokumentation.

Habe ich gemacht. Kannte das Paket vorher nicht.
Irgendwie steht der Name des Paketes nicht direkt
mit seiner Funktion im Zusammenhang (meiner
bescheidenen Meinung nach).

> \newcolumntype{L}{>{\columncolor[gray]{.95}}l}
> %\setlength{\aboverulesep}{5em}%Mal abwechelnd auskommentieren
> %\setlength{\aboverulesep}{-5em}%und sehen was passiert.
> \begin{document}
> \begin{longtable}{LL}
> Hallo&Welt\\
> \midrule[0pt]
> Wie&geht´s?
> \end{longtable}
> \end{document}

Leider hilft mir das nicht weiter. ch kann zwar Zwischnräume
erzeugen, aber leider werden die senkrechten Abgrenzungslinien
am Anfang und Ende einer Reihe nicht durchgezogen.

Auch wenn der Autor des Pakets 'booktabs' senkrechte Linien
nicht mag und für einen schlechten Stil hält, gibt es aber
Anforderungen bei denen sie benötigt (gewünscht) werden.
In meinem Falls als Umrandung um die Tabelle.

Vieleicht könnte man die ja anders erzeugen?

Tschau
Frank


0 new messages