longtable: Zeilen mit mehrzeiligen Texten farbig hinterlegen

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: longtable: Zeilen mit mehrzeiligen Texten farbig hinterlegen

von fs » Mo 29. Jan 2018, 12:58

Dein Vorschlag löst das Problem mit der Hintergrundfarbe. Allerdings nutze ich von \makecell noch eine andere Eigenschaft, die in dem Minimalbeispiel nicht zum Tragen kommt, und zwar, dass die Zellen auch vertikal ausgerichtet werden können: b=bottom, verwende ich für die Kolumnentitel-Zellen, und t=top, verwende ich für die Daten-Zellen. Bei deiner Lösung werden unterschiedlich hohe Zellen einer Zeile vertikal zentriert, was in der Hinsicht die (IMHO) schlechteste Lösung ist. Lässt sich das bei deiner Lösung beheben?

von Bartman » Mo 29. Jan 2018, 11:23

Da ich mich mit makecell nicht auskenne, möchte ich einen Vorschlag ohne das Paket anbieten:
\documentclass[12pt]{article}

\usepackage{longtable}
\usepackage[table]{xcolor}

\newcommand{\multilinecell}[1]{
	\begin{tabular}{@{}l@{}}#1\end{tabular}
}

\definecolor{titleColor}{HTML}{e5e5e5}

\begin{document}
\begin{longtable}{|l|}
\hline
\rowcolor{titleColor} \multilinecell{Ein\\Titel} \\ 
\hline
\endfirsthead
\multilinecell{Dies ist die\\erste Zeile} \\ 
\hline
Zweite Zeile \\ 
\hline
\multilinecell{Die dritte\\Zeile} \\ 
\hline
\end{longtable}
\end{document}

longtable: Zeilen mit mehrzeiligen Texten farbig hinterlegen

von fs » Mo 29. Jan 2018, 10:22

Hallo,

ich möchte Zeilen einer Tabelle farbig hinterlegen. Hierfür verwende ich \rowcolor. Bei einzeiligem Text in den Zellen funktioniert das auch bestens. Bei mehrzeiligem Text, den ich mit \makecell behandele, wird der Hintergrund jedoch nicht vollständig ausgefüllt. Hier ein Minimalbeispiel:
\documentclass[12pt]{article}

\usepackage{longtable}
\usepackage{makecell}
\usepackage[table]{xcolor}

\definecolor{titleColor}{HTML}{e5e5e5}

\begin{document}

\begin{longtable}{|l|}
\hline
\rowcolor{titleColor} \makecell[lb]{Ein\\Titel} \\ \hline
\endfirsthead
\makecell[lt]{Dies ist die\\erste Zeile} \\ \hline
Zweite Zeile \\ \hline
\makecell[lt]{Die dritte\\Zeile} \\ \hline
\end{longtable}

\end{document}
Wie korrigiere ich dies?

Grüße
Frank

Nach oben