Teilweise tabellarische* Zeile mit Farbe füllen

Teilweise tabellarische* Zeile mit Farbe füllen

Ich versuche, tabular*eine Tabelle zu erstellen, da ich auch die usw. verwenden möchte, midruleum bottomruledie unterschiedlichen Linienstärken zu erhalten. Bei meinem Versuch unten, bei dem ich auch versuche, Abschnitte der Tabelle einzufärben, erhalte ich jedoch Lücken in der Farbe wie diese:

Bildbeschreibung hier eingeben

Ich habe mir diese angesehenVerwandte Lösungenwollte aber wissen, ob es hier eine einfachere Lösung gibt, da ich immer noch nicht das gewünschte Ergebnis erziele.

Dies ist mein Code:

\documentclass{article}
\usepackage{float}
\usepackage{xcolor,colortbl,tabularx}
\usepackage{bigstrut}
\definecolor{LightGray}{gray}{0.9}

\begin{document}

\begin{table}[H]
\centering
  \caption{Not too good looking table here.\label{tab:table1}}
  \footnotesize
% Table generated by Excel2LaTeX from sheet 'Sheet2'
    \begin{tabularx}{\textwidth}{c @{\extracolsep{\fill}} c|ccc}
    %\begin{tabular*}{cc|cc}
    %\toprule
    \hline
    \multicolumn{2}{c|}{\textbf{Test1}} & \multicolumn{2}{c}{\textbf{Test2}} \bigstrut[t]\\
   Test11 & Test12 & Test13 & Test14 \bigstrut[b]\\
   %\midrule
    \hline
    FLTR2 & 2     & 40    & FLTR0 \bigstrut[t]\\
    FLTR0 & 80    & 80    & FLTR0 \\
    \rowcolor[rgb]{ 1,  .78,  .808} \textcolor[rgb]{ .612,  0,  .024}{FLTR0} & \textcolor[rgb]{ .612,  0,  .024}{160} & \textcolor[rgb]{ .612,  0,  .024}{204} & \textcolor[rgb]{ .612,  0,  .024}{FLTR4} \\
    FLTR6 & 6     & 44    & FLTR4 \\
    \rowcolor[rgb]{ 1,  .78,  .808} \textcolor[rgb]{ .612,  0,  .024}{FLTR16} & \textcolor[rgb]{ .612,  0,  .024}{16} & \cellcolor[rgb]{ 1,  1,  1}43 & \cellcolor[rgb]{ 1,  1,  1}FLTR3 \\
    FLTR4 & 44    & 6     & FLTR6 \bigstrut[b]\\
    \hline
    %\bottomrule
    \end{tabularx}%
    %\end{tabular*}
\end{table}

\end{document}

Wie kann ich die Zellen mit Farbe lückenlos füllen und gleichzeitig topruleusw. verwenden midrule?

Antwort1

  • Verwendung von @{\extracolsep{\fill}}fügt zusätzliche Leerzeichen zwischen Spalten ein, die nicht eingefärbt werden können \rowcolor{...} . Eine Möglichkeit zur Verwendung von tabularxist also vielversprechend, aber Sie sollten darin nicht verwenden@{\extracolsep{\fill}}
  • Bei der Verwendung von tabularxist es erforderlich, dass mindestens eine Spalte vom TypX
  • Wenn alle Spalten die gleiche Breite haben können, tabularxkann der Code für Ihre Tabelle wie folgt aussehen:
\documentclass{article}
\usepackage[table]{xcolor}
\usepackage{tabularx}
\newcolumntype{C}{>{\centering\arraybackslash}X}

\begin{document}

\begin{table}[ht]
\centering
  \caption{Not too good looking table here.\label{tab:table1}}
  \footnotesize
    \begin{tabularx}{\textwidth}{CC|CC}
\hline
\multicolumn{2}{c|}{\textbf{Test1}} 
                    & \multicolumn{2}{c}{\textbf{Test2}}    \\
Test11  & Test12    & Test13    & Test14                    \\
    \hline
FLTR2   & 2         & 40        & FLTR0                     \\
FLTR0   & 80        & 80        & FLTR0                     \\
\rowcolor{red!30} 
\textcolor{purple}{FLTR0} 
        & \textcolor{purple}{160} 
                    &  \textcolor{purple}{204} 
                                & \textcolor{purple}{FLTR4} \\
FLTR6   & 6         & 44        & FLTR4                     \\
\rowcolor{red!30}
\textcolor{purple}{FLTR16} 
        & \textcolor{purple}{16} 
                    & \textcolor{purple}{43¸} 
                                & \textcolor{purple}{FLTR3} \\
FLTR4   & 44        & 6         & FLTR6                     \\
    \hline
    \end{tabularx}%
\end{table}

\end{document}

Bildbeschreibung hier eingeben

Meiner Meinung nach hat diese Tabelle viel zu viele Leerräume zwischen den Spalteninhalten. Es wäre schöner, wenn Sie bereit wären, die Tabellenbreite zu reduzieren.

Bearbeiten: Ein Beispiel für eine schmalere Tabelle mit nur einigen farbigen Zellen in der ersten und zweiten Spaltenbreite kann die Verwendung von MWE tabularray- siunitxPaketen sein:

\documentclass{article}
\usepackage[table]{xcolor}
\usepackage{tabularray}
\UseTblrLibrary{booktabs, siunitx, varwidth}
\NewTableCommand\SCC[2]{\SetCell{bg=#1, fg=#2}}

\begin{document}

    \begin{table}[ht]
    \centering
\caption{Not too good looking table here.}
\label{tab:table1}
    \begin{tblr}{colspec={Q[l] Q[c, si={table-format=3.0}] |
                          Q[c, si={table-format=3.0}] Q[l] },
                 row{1} = {font=\bfseries, guard},
                 row{2} = {guard}
                 }
    \toprule
\SetCell[c=2]{c}    Test 1
        &           & \SetCell[c=2]{c}    Test 2    
                                &                   \\
Test11  & Test12    & Test13    & Test14            \\
    \midrule
FLTR2   &   2       & 40        & FLTR0             \\
FLTR0   &   80      & 80        & FLTR0             \\
\SetRow{bg=red!20, fg=purple} 
FLTR0   &   160     &   204     &   FLTR4           \\     
FLTR6   &   6       &   44      &   FLTR4           \\
\SCC{red!20}{purple}
FLTR16  & \SCC{red!20}{purple}
            16      &   43      &   FLTR3           \\
FLTR4   &   44      &   6       & FLTR6             \\
    \bottomrule
    \end{tblr}%
\end{table}

\end{document}

Bildbeschreibung hier eingeben

Antwort2

vielleicht hilft das - Anfragen sind willkommen

MWE

\documentclass{article}
\usepackage{nicematrix}
\usepackage{booktabs}
\usepackage{bigstrut}
\definecolor{LightGray}{gray}{0.9}

\begin{document}
    
    \begin{NiceTabular}{c @{\extracolsep{\fill}} c|ccc}[colortbl-like]
        \toprule
    \multicolumn{2}{c|}{\textbf{Test1}} & \multicolumn{2}{c}{\textbf{Test2}} \bigstrut[t]\\
        Test11 & Test12 & Test13 & Test14 \bigstrut[b]\\
        \midrule
        FLTR2 & 2     & 40    & FLTR0 \bigstrut[t]\\
        FLTR0 & 80    & 80    & FLTR0 \\
        \rowcolor[rgb]{ 1,  .78,  .808} \textcolor[rgb]{ .612,  0,  .024}{FLTR0} & \textcolor[rgb]{ .612,  0,  .024}{160} & \textcolor[rgb]{ .612,  0,  .024}{204} & \textcolor[rgb]{ .612,  0,  .024}{FLTR4} \\
        FLTR6 & 6     & 44    & FLTR4 \\
        \rowcolor[rgb]{ 1,  .78,  .808} \textcolor[rgb]{ .612,  0,  .024}{FLTR16} & \textcolor[rgb]{ .612,  0,  .024}{16} & \cellcolor[rgb]{ 1,  1,  1}43 & \cellcolor[rgb]{ 1,  1,  1}FLTR3 \\
        FLTR4 & 44    & 6     & FLTR6 \bigstrut[b]\\
        \bottomrule
    \end{NiceTabular}
    
\end{document}

Bildbeschreibung hier eingeben

Um die Tabelle über die gesamte zu erweitern text width--geben Sie X columnsähnliche Spalten vontabularx

\documentclass{article}
\usepackage{nicematrix}
\usepackage{booktabs}
\usepackage{bigstrut}
\definecolor{LightGray}{gray}{0.9}

\begin{document}
    
    \begin{NiceTabular}{c X[c]|c X[c]}[colortbl-like]
        \toprule
        \multicolumn{2}{c|}{\textbf{Test1}} & \multicolumn{2}{c}{\textbf{Test2}} \bigstrut[t]\\
        Test11 & Test12 & Test13 & Test14 \bigstrut[b]\\
        \midrule
        FLTR2 & 2     & 40    & FLTR0 \bigstrut[t]\\
        FLTR0 & 80    & 80    & FLTR0 \\
        \rowcolor[rgb]{ 1,  .78,  .808} \textcolor[rgb]{ .612,  0,  .024}{FLTR0} & \textcolor[rgb]{ .612,  0,  .024}{160} & \textcolor[rgb]{ .612,  0,  .024}{204} & \textcolor[rgb]{ .612,  0,  .024}{FLTR4} \\
        FLTR6 & 6     & 44    & FLTR4 \\
        \rowcolor[rgb]{ 1,  .78,  .808} \textcolor[rgb]{ .612,  0,  .024}{FLTR16} & \textcolor[rgb]{ .612,  0,  .024}{16} & \cellcolor[rgb]{ 1,  1,  1}43 & \cellcolor[rgb]{ 1,  1,  1}FLTR3 \\
        FLTR4 & 44    & 6     & FLTR6 \bigstrut[b]\\
        \bottomrule
    \end{NiceTabular}
    
\end{document}

Bildbeschreibung hier eingeben

Antwort3

Wenn Sie {tabular*} durch {NiceTabular*} oder nicematrixmit dem Schlüssel ersetzen colortbl-like, erhalten Sie Folgendes:

\documentclass{article}
\usepackage{float}
\usepackage{xcolor}
\usepackage{nicematrix}
\usepackage{bigstrut}
\definecolor{LightGray}{gray}{0.9}

\begin{document}

\begin{table}[H]
\centering
  \caption{Not too good looking table here.\label{tab:table1}}
  \footnotesize
% Table generated by Excel2LaTeX from sheet 'Sheet2'
    \begin{NiceTabular*}{\textwidth}{c @{\extracolsep{\fill}} c|ccc}[colortbl-like]
    %\begin{tabular*}{cc|cc}
    %\toprule
    \hline
    \multicolumn{2}{c|}{\textbf{Test1}} & \multicolumn{2}{c}{\textbf{Test2}} \bigstrut[t]\\
   Test11 & Test12 & Test13 & Test14 \bigstrut[b]\\
   %\midrule
    \hline
    FLTR2 & 2     & 40    & FLTR0 \bigstrut[t]\\
    FLTR0 & 80    & 80    & FLTR0 \\
    \rowcolor[rgb]{ 1,  .78,  .808} \textcolor[rgb]{ .612,  0,  .024}{FLTR0} & \textcolor[rgb]{ .612,  0,  .024}{160} & \textcolor[rgb]{ .612,  0,  .024}{204} & \textcolor[rgb]{ .612,  0,  .024}{FLTR4} \\
    FLTR6 & 6     & 44    & FLTR4 \\
    \rowcolor[rgb]{ 1,  .78,  .808} \textcolor[rgb]{ .612,  0,  .024}{FLTR16} & \textcolor[rgb]{ .612,  0,  .024}{16} & \cellcolor[rgb]{ 1,  1,  1}43 & \cellcolor[rgb]{ 1,  1,  1}FLTR3 \\
    FLTR4 & 44    & 6     & FLTR6 \bigstrut[b]\\
    \hline
    %\bottomrule
    \end{NiceTabular*}%
    %\end{tabular*}
\end{table}

\end{document}

Ausgabe des obigen Codes

Beachten Sie, dass in der Präambel Ihrer Tabelle 5 Spalten angegeben sind, Sie jedoch nur 4 verwendet haben.

verwandte Informationen