Ich habe eine Tabelle, die ich wie folgt aufgebaut habe (erfundenes Beispiel):
% Preview source code
%% LyX 2.3.2-2 created this file. For more info, see http://www.lyx.org/.
%% Do not edit unless you really know what you are doing.
\documentclass[english]{article}
\usepackage[T1]{fontenc}
\usepackage[latin9]{inputenc}
\usepackage{geometry}
\geometry{verbose,tmargin=0.25in,bmargin=0.25cm,lmargin=0.25cm,rmargin=0.25cm}
\usepackage{array}
\usepackage{multirow}
\usepackage{graphicx}
\makeatletter
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% LyX specific LaTeX commands.
%% Because html converters don't know tabularnewline
\providecommand{\tabularnewline}{\\}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% User specified LaTeX commands.
\usepackage[table]{xcolor} %for use in color links
\usepackage{colortbl}
\makeatother
\usepackage{babel}
\begin{document}
\noindent \begin{flushleft}
\rowcolors{3}{gray!20}{}%
\begin{tabular}{ccccccc}
& & \multicolumn{5}{c}{Lorem ipsum dolor sit amet}\tabularnewline
& & Header & Header & Header & Header & Header\tabularnewline
\multirow{8}{*}{\cellcolor{white}\rotatebox{90}{Lorem ipsum}} & Content & \#\#\# & \#\#\# & \#\#\# & \#\#\# & \#\#\#\tabularnewline
& Content & \#\#\# & \#\#\# & \#\#\# & \#\#\# & \#\#\#\tabularnewline
& Content & \#\#\# & \#\#\# & \#\#\# & \#\#\# & \#\#\#\tabularnewline
& Content & \#\#\# & \#\#\# & \#\#\# & \#\#\# & \#\#\#\tabularnewline
& Content & \#\#\# & \#\#\# & \#\#\# & \#\#\# & \#\#\#\tabularnewline
& Content & \#\#\# & \#\#\# & \#\#\# & \#\#\# & \#\#\#\tabularnewline
& Content & \#\#\# & \#\#\# & \#\#\# & \#\#\# & \#\#\#\tabularnewline
& Content & \#\#\# & \#\#\# & \#\#\# & \#\#\# & \#\#\#\tabularnewline
\end{tabular}\rowcolors{2}{}{}
\par\end{flushleft}
\end{document}
Ich entschuldige mich im Voraus dafür, dass es sich um generierten Code handelt, aber ein Kommentator weiter unten hat nach einem komplett kompilierbaren Beispiel gefragt, statt nur nach dem tabellarischen Ausschnitt, den ich ursprünglich gepostet hatte. Hoffentlich wird es dadurch klarer, aber ich entschuldige mich im Voraus, falls das Problem dadurch verschleiert wurde.
Das Ergebnis lautet jedenfalls:
Wie man sieht, wird die seitliche Kopfzeile, die ich auf der linken Seite der Tabelle verwende, durch die Farbe der Zeile überschrieben, wodurch der Text unterbrochen wird.
Ich möchte, dass die gesamte erste Spalte mit der linken Zeilenüberschrift in allen Zeilen weiß ist. Das habe ich versucht, indem ich sie \cellcolor{white}
zur mehrzeiligen Zelle hinzugefügt habe. Wie das Bild jedoch zeigt, wurde dadurch nur der obere graue Streifen in dieser Zelle gelöscht. Mit dem Rest der ersten Spalte geschah nichts.
Wie kann ich erreichen, dass der vollständige Text der Kopfzeile korrekt angezeigt wird?
Antwort1
Der Konsum \multirow
ist die Ursache Ihrer Probleme.
\documentclass{article}
\usepackage{graphicx}
\usepackage[table]{xcolor} %for use in color links
\begin{document}
\begin{flushleft}
\begin{tabular}{@{}c}
\rotatebox[origin=c]{90}{Lorem ipsum\hspace{2\dimexpr\ht\strutbox+\dp\strutbox}}
\end{tabular}%
\rowcolors{3}{gray!20}{}%
\begin{tabular}{cccccc}
& \multicolumn{5}{c}{Lorem ipsum dolor sit amet}\tabularnewline
& Header & Header & Header & Header & Header\tabularnewline
Content & \#\#\# & \#\#\# & \#\#\# & \#\#\# & \#\#\#\tabularnewline
Content & \#\#\# & \#\#\# & \#\#\# & \#\#\# & \#\#\#\tabularnewline
Content & \#\#\# & \#\#\# & \#\#\# & \#\#\# & \#\#\#\tabularnewline
Content & \#\#\# & \#\#\# & \#\#\# & \#\#\# & \#\#\#\tabularnewline
Content & \#\#\# & \#\#\# & \#\#\# & \#\#\# & \#\#\#\tabularnewline
Content & \#\#\# & \#\#\# & \#\#\# & \#\#\# & \#\#\#\tabularnewline
Content & \#\#\# & \#\#\# & \#\#\# & \#\#\# & \#\#\#\tabularnewline
Content & \#\#\# & \#\#\# & \#\#\# & \#\#\# & \#\#\#\tabularnewline
\end{tabular}\rowcolors{2}{}{}
\end{flushleft}
\end{document}
Ich habe das Dokument auf das notwendige Minimum reduziert.
Beachten Sie, dass das \noindent\begin{flushleft}
Unsinn ist, da dadurch nur unerwünschter vertikaler Abstand (eine leere Zeile) hinzugefügt wird. Außerdem \par\end{flushleft}
ist es nicht notwendig.
Was bewirkt der seltsame \hspace
Befehl? Er addiert die vertikale Größe der beiden Kopfzeilen.
Antwort2
Im folgenden Code habe ich \cellcolor{white}
allen Zellen, die in einer grauen Zeile stehen und eigentlich einen weißen Hintergrund haben sollten, einen Befehl hinzugefügt. Außerdem habe ich den \multirow
Befehl von der ersten Zeile in die letzte verschoben und -8
statt verwendet 8
:
\documentclass[english]{article}
\usepackage[T1]{fontenc}
\usepackage[latin9]{inputenc}
\usepackage{geometry}
\geometry{verbose,tmargin=0.25in,bmargin=0.25cm,lmargin=0.25cm,rmargin=0.25cm}
\usepackage{array}
\usepackage{multirow}
\usepackage{graphicx}
\usepackage[table]{xcolor}
\begin{document}
\noindent
\begin{flushleft}
\rowcolors{3}{gray!20}{}%
\begin{tabular}{ccccccc}
& & \multicolumn{5}{c}{Lorem ipsum dolor sit amet}\tabularnewline
& & Header & Header & Header & Header & Header\tabularnewline
\cellcolor{white} & Content & \#\#\# & \#\#\# & \#\#\# & \#\#\# & \#\#\#\tabularnewline
& Content & \#\#\# & \#\#\# & \#\#\# & \#\#\# & \#\#\#\tabularnewline
\cellcolor{white} & Content & \#\#\# & \#\#\# & \#\#\# & \#\#\# & \#\#\#\tabularnewline
& Content & \#\#\# & \#\#\# & \#\#\# & \#\#\# & \#\#\#\tabularnewline
\cellcolor{white} & Content & \#\#\# & \#\#\# & \#\#\# & \#\#\# & \#\#\#\tabularnewline
& Content & \#\#\# & \#\#\# & \#\#\# & \#\#\# & \#\#\#\tabularnewline
\cellcolor{white} & Content & \#\#\# & \#\#\# & \#\#\# & \#\#\# & \#\#\#\tabularnewline
\multirow{-8}{*}{\rotatebox{90}{Lorem ipsum}} & Content & \#\#\# & \#\#\# & \#\#\# & \#\#\# & \#\#\#\tabularnewline
\end{tabular}
\par\end{flushleft}
\end{document}
Antwort3
In verfügen Sie {NiceTabular}
über nicematrix
einen integrierten Befehl \rowcolors
mit der Option zur Steuerung der vom Befehl betroffenen Spalten.
\documentclass[english]{article}
\usepackage[T1]{fontenc}
\usepackage{geometry}
\geometry{verbose,tmargin=0.25in,bmargin=0.25cm,lmargin=0.25cm,rmargin=0.25cm}
\usepackage{graphicx}
\usepackage{nicematrix}
\begin{document}
\begin{NiceTabular}{ccccccc}[color-inside]
& & \Block{1-*}{Lorem ipsum dolor sit amet}\\
& & Header & Header & Header & Header & Header\\
\rowcolors{gray!20}{}[cols=2-7]
\Block{*-1}<\rotate>{Lorem ipsum}
& Content & \#\#\# & \#\#\# & \#\#\# & \#\#\# & \#\#\#\\
& Content & \#\#\# & \#\#\# & \#\#\# & \#\#\# & \#\#\#\\
& Content & \#\#\# & \#\#\# & \#\#\# & \#\#\# & \#\#\#\\
& Content & \#\#\# & \#\#\# & \#\#\# & \#\#\# & \#\#\#\\
& Content & \#\#\# & \#\#\# & \#\#\# & \#\#\# & \#\#\#\\
& Content & \#\#\# & \#\#\# & \#\#\# & \#\#\# & \#\#\#\\
& Content & \#\#\# & \#\#\# & \#\#\# & \#\#\# & \#\#\#\\
& Content & \#\#\# & \#\#\# & \#\#\# & \#\#\# & \#\#\#\\
\end{NiceTabular}
\end{document}
Sie benötigen mehrere Kompilierungen (da nicematrix
im Hintergrund PGF/Tikz-Knoten verwendet werden).
In diesem Fall gibt es tatsächlich eine einfachere Lösung. Sie können angeben, dass Ihre Tabelle nicematrix
eine sogenannte „erste Spalte“ hat (mit dem Schlüssel first-col
), und der Befehl \rowcolors
wird direkt wie erwartet ausgeführt.
\documentclass[english]{article}
\usepackage[T1]{fontenc}
\usepackage{geometry}
\geometry{verbose,tmargin=0.25in,bmargin=0.25cm,lmargin=0.25cm,rmargin=0.25cm}
\usepackage{graphicx}
\usepackage{nicematrix}
\begin{document}
\begin{NiceTabular}{cccccc}[first-col,color-inside]
& & \Block{1-*}{Lorem ipsum dolor sit amet}\\
& & Header & Header & Header & Header & Header\\
\rowcolors{gray!20}{}
\Block{*-1}<\rotate>{Lorem ipsum}
& Content & \#\#\# & \#\#\# & \#\#\# & \#\#\# & \#\#\#\\
& Content & \#\#\# & \#\#\# & \#\#\# & \#\#\# & \#\#\#\\
& Content & \#\#\# & \#\#\# & \#\#\# & \#\#\# & \#\#\#\\
& Content & \#\#\# & \#\#\# & \#\#\# & \#\#\# & \#\#\#\\
& Content & \#\#\# & \#\#\# & \#\#\# & \#\#\# & \#\#\#\\
& Content & \#\#\# & \#\#\# & \#\#\# & \#\#\# & \#\#\#\\
& Content & \#\#\# & \#\#\# & \#\#\# & \#\#\# & \#\#\#\\
& Content & \#\#\# & \#\#\# & \#\#\# & \#\#\# & \#\#\#\\
\end{NiceTabular}
\end{document}
Die Ausgabe ist die gleiche.