Problem beim Hervorheben einer Zeile in einer Tabelle

Problem beim Hervorheben einer Zeile in einer Tabelle

Ich kann eine Zeile in einer Tabelle hervorheben (siehe unten), aber sie ist nicht auf den Text zentriert. Gibt es eine Möglichkeit, dies zu beheben?

Code:

\documentclass[11pt]{article}
\usepackage{color, colortbl,booktabs}
\definecolor{Gray}{gray}{0.9}
\begin{document}
\begin{table}[!htbp]
    \centering
\begin{tabular}{llccc}
\midrule
&&Mean&Sigma&Total Points \& Costs\\ 
\midrule
2014    &   Unused  &   377 &   214 &    1,618,193\\ [0.5ex]
    &   Deducted    &   213 &   141 &    565,792\\ [0.5ex]
    &   Carryover   &   245 &   91  &    1,052,401  \\ [0.5ex]
    &   Used    &   308 &   187 &    1,115,463\\ [0.5ex]
    \rowcolor{Gray}
    &   Costs (dollars) &   590 &   343 &    2,162,652  \\ [0.5ex]
\bottomrule
\end{tabular} 
\end{table}
\end{document}

Ausgabe:

Bildbeschreibung hier eingeben

Ausgabe ohne [0.5ex]: Keine große Veränderung - Bildbeschreibung hier eingeben

Antwort1

Der Text erscheint nur im farbigen Feld relativ hoch, da große Buchstaben wie C und d und die Ziffern vorhanden sind und keine Buchstaben mit Unterlängen, außer einem kleinen Teil des ().

Sie können jedoch eine Nullbreitenregel mit beliebiger Höhe und Tiefe hinzufügen, um die Größe des Inhalts in der Zeile anzupassen:

Bildbeschreibung hier eingeben

\documentclass[11pt]{article}
\usepackage{color, colortbl,booktabs}
\definecolor{Gray}{gray}{0.9}
\begin{document}
\begin{table}[!htbp]
    \centering
\begin{tabular}{llccc}
\midrule
&&Mean&Sigma&Total Points \& Costs\\ 
\midrule
2014    &   Unused  &   377 &   214 &    1,618,193\\ [0.5ex]
    &   Deducted    &   213 &   141 &    565,792\\ [0.5ex]
    &   Carryover   &   245 &   91  &    1,052,401  \\ [0.5ex]
    &   Used    &   308 &   187 &    1,115,463\\ [0.5ex]
    \rowcolor{Gray}
   \rule[-1cm]{0pt}{2.4cm} &   Costs (dollars) &   590 &   343 &    2,162,652  \\ [0.5ex]
\bottomrule
\end{tabular} 
\end{table}
\end{document}

Antwort2

Ich schlage diesen Code vor, der mit Option verwendet makecellund geladen wird – es ist unnötig zu laden , die Option erledigt das. Ich habe den dünnen weißen Streifen zwischen der farbigen Zeile und dem unteren Rand entfernt und für eine bessere Ausrichtung der Zahlen verwendet. Zuletzt schlage ich einen anderen Grauton vor, der mir besser gefällt… :-)xcolortablecolortblsiunitx

\documentclass[11pt]{article}
\usepackage{booktabs, makecell}
\usepackage[table, svgnames]{xcolor}
\usepackage{siunitx}
\definecolor{Gray}{gray}{0.9}

\begin{document}

\begin{table}[!htbp]
    \centering
\sisetup{table-format=3.0, table-number-alignment=center, group-separator={,}}
\setlength{\extrarowheight}{0.5ex}
\begin{tabular}{llSSS[table-format=7.0]}
\midrule
&&{Mean}&{Sigma}& {\makecell{Total Points \\[-0.5ex] \& Costs}} \\
\midrule
2014 & Unused & 377 & 214 & 1618193\\
    & Deducted & 213 & 141 & 565792\\
& Carryover & 245 & 91 & 052401 \\
    & Used & 308 & 187 & 1115463\\
    \rowcolor{WhiteSmoke!70!Lavender}
    & Costs (dollars) & 590 & 343 & 2162652 \\
\noalign{\vskip-\aboverulesep}
\bottomrule
\end{tabular}
\end{table}

\end{document} 

…

Antwort3

Mit neuem Paket tabularray:

\documentclass{article}
\usepackage{xcolor}
\usepackage{tabularray}
\UseTblrLibrary{booktabs, siunitx}

\begin{document}
    \begin{table}[htb]
    \centering
    \sisetup{table-format=3.0, 
             group-separator={,}}
\begin{tblr}{colspec={ll *{2}{Q[c,m,si]}
                              Q[c,m,si={table-format=7},wd=6em]},
             rows={rowsep=1pt},
             row{Z}={bg=gray9, abovesep+=3pt, belowsep+=3pt},
             }
    \toprule
        &   &   {{{Mean}}}
                &   {{{Sigma}}}
                    &   {{{Total Points \& Costs}}} 
                                                \\
    \midrule
2014    & Unused    & 377   & 214   & 1618193   \\
        & Deducted  & 213   & 141   & 565792    \\
        & Carryover & 245   & 91    & 052401    \\
        & Used      & 308   & 187   & 1115463   \\
        & Costs (dollars)
                    & 590   & 343   & 2162652   \\
    \bottomrule
\end{tblr}
    \end{table}
\end{document}

Bildbeschreibung hier eingeben

Antwort4

Hier erfahren Sie, wie Sie durch die Einstellung \extrarowheight=0.5exZeilen {NiceTabular}auf eine mit kompatible Weise einfärben können booktabs.

\documentclass[11pt]{article}
\usepackage{booktabs}
\usepackage[svgnames]{xcolor}
\usepackage{siunitx}
\definecolor{Gray}{gray}{0.9}

\usepackage{nicematrix}

\begin{document}

\begin{table}[!htbp]
    \centering
\sisetup{table-format=3.0, table-number-alignment=center, group-separator={,}}
\setlength{\extrarowheight}{0.5ex}
\begin{NiceTabular}{llSSS[table-format=7.0]}[colortbl-like]
\midrule
&&{Mean}&{Sigma}& \Block{}{Total Points \\[-0.5ex] \& Costs} \\
\midrule
2014 & Unused & 377 & 214 & 1618193\\
    & Deducted & 213 & 141 & 565792\\
& Carryover & 245 & 91 & 052401 \\
    & Used & 308 & 187 & 1115463\\
    \rowcolor{WhiteSmoke!70!Lavender}
    & Costs (dollars) & 590 & 343 & 2162652 \\
\bottomrule
\end{NiceTabular}
\end{table}

\end{document} 

Sie benötigen mehrere Kompilierungen (da nicematrixim Hintergrund PGF/Tikz-Knoten verwendet werden).

Ausgabe des obigen Codes

verwandte Informationen