Tabellenfärbung bei Mehrzeilen- und Mehrspaltentabellen

Tabellenfärbung bei Mehrzeilen- und Mehrspaltentabellen

Ich versuche, eine Hintergrundfarbe für meine Tabellen zu erhalten, die sowohl aus als auch besteht multirows. multicolumsOhne Farbe funktioniert die Tabelle einwandfrei. Aber was ich einfärben möchte, erstreckt sich über eine unterschiedliche Anzahl von Zeilen. Ich habe versucht, vier Zeilen mit derselben Farbe einzufärben, wobei sich eine Zelle über vier Zeilen und eine Zelle über zwei Zeilen erstreckt.

Aber wenn ich das mache, wird bei der zweiten Färbung die Farbe über dem mehrzeiligen Text angewendet. Tisch ohne Farbe

Tabelle mit Text

Wie Sie sehen, rowcolorentfernt die zweite Zeile den oberen Teil von „Grad“ cell 1und die dritte Zeile entfernt den unteren Teil von „Grad“ und den unteren Teil von „Dicke“. Irgendwelche Lösungsideen?

mein Text:

\begin{table}[ht]
\begin{tabular}{|c|c|lll|}
\hline
\rowcolor{blue!20} 
\multirow{4}{*}{Grades}&Yield&\multicolumn{3}{c|}{Impact bending test}\\
\rowcolor{blue!20}
                      &Strength&\multirow{2}{*}{Thickness}&Test& Impact\\
\rowcolor{blue!20}
                             &$\mathbf{R_e[N/mm^2]}$&                                &{\bf temperature}     & {\bf work}\\
\rowcolor{blue!20}
                             &\bf{transv.min.}      &\bf{ transv.}                   &$\mathbf{[\grader]}$  & {\bf [J]} \\\hline
\multirow{ 1}{*}{{\bf DH36}}   &     & {\bf 5.5 – 7.0} & {\bf         -40} & {\bf       24} \\

\hline
\end{tabular}
\end{table}

Antwort1

Basierend auf Vermutungen zu Ihrer Präambel und der Bedeutung der verwendeten Befehle:

Bildbeschreibung hier eingeben

\documentclass{article}
\usepackage{siunitx}
\usepackage{makecell,multirow}
\usepackage[table]{xcolor}

\begin{document}
    \begin{table}[htb]
\sisetup{detect-weight=true}
\renewcommand\arraystretch{1.3}
\begin{tabular}{|*{2}{>{\bfseries}c|}
                 *{3}{>{\bfseries}c}|}
    \hline
\rowcolor{blue!20}
                &   &   \multicolumn{3}{c|}{\textbf{Impact bending test}}    \\
\rowcolor{blue!20}
\multirow{-2}*{Grades}  
        &   \multirow{-3}*[-1ex]{\makecell{Yield\\  Strength\\ 
                                            {$\mathbf{R_e[\si{N\per\milli\meter^2}]}$} \\transv. min.}}
                    &   \makecell{Thickness\\  transv.}    
                        &   \makecell{Test\\ temperature\\ \si{\celsius}}
                            &   \makecell{Impact\\ work\\ \si{J} }          \\
    \hline
DH36   &       & 5.5 – 7.0 & -40   & 24    \\
    \hline
\end{tabular}
    \end{table}
\end{document}

Bearbeiten: Makros makecellhaben Optionen bfür die untere Position, tfür die obere Position, lfür linksbündig ausgerichteten Zellinhalt und rfür rechtsbündig ausgerichteten Zellinhalt. Bei Verwendung ohne Optionen wird der Zellinhalt vertikal und horizontal zentriert.

Wenn im obigen MWE die zweite Tabellenzeile ersetzt wird durch

\multirow{-3}*{Grades}
        &   \multirow{-3}*[3pt]{\makecell{Yield\\  Strength\\
                                            {$\mathbf{R_e[\si{N\per\milli\meter^2}]}$} \\transv. min.}}
                    &   \makecell[b]{Thickness\\  transv.}
                        &   \makecell[b]{Test\\ temperature\\ \si{\celsius}}
                            &   \makecell[b]{Impact\\ work\\ \si{J} }          \\

dann sieht die Tabelle wie folgt aus:

Bildbeschreibung hier eingeben

Antwort2

So können Sie diese Tabelle mit erstellen {NiceTabular}. nicematrixEgal, welchen PDF-Viewer Sie verwenden, Sie werden keine dünnen weißen Linien sehen.

\documentclass{article}
\usepackage{siunitx}
\usepackage{xcolor}
\usepackage{nicematrix}

\begin{document}

\begin{table}[htb]
\sisetup{detect-weight=true}
\renewcommand\arraystretch{1.3}
\begin{NiceTabular}{|c|c|ccc|}[cell-space-top-limit=3pt]
\Hline
\RowStyle[nb-rows=2,rowcolor=blue!20]{\bfseries}
\Block{2-1}{Grades} 
   & \Block{2-1}{Yield\\ Strength\\ $\mathbf{R_e[\unit{N\per\milli\meter^2}]}$ \\transv. min.}  
     & \Block{1-3}{Impact bending test}  \\
   &   
     & \Block{}{Thickness\\  transv.}    
       & \Block{}{Test\\ temperature\\ \unit{\celsius}}
          & \Block{}{Impact\\ work\\ \unit{J}}   \\
\Hline
DH36  &  & $5.5$ -- $7.0$ & $-40$ & $24$    \\
\Hline
\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