Coloración de mesa con varias filas y varias columnas.

Coloración de mesa con varias filas y varias columnas.

Estoy tratando de obtener un color de fondo en mis mesas que consista en ambos multirowsy multicolums. Sin ningún color, la mesa funciona bien. Pero lo que quiero colorear se expande en cantidades variables de filas. Intenté colorear cuatro filas con el mismo color, con una celda que se extiende sobre cuatro filas y una celda que se extiende sobre dos filas.

Pero si hago eso con el segundo color, aplico el color encima del texto de varias filas. mesa sin color

tabla con texto

Como puede ver, la segunda línea rowcolorelimina la parte superior de 'Grado' cell 1y el color de la tercera fila eliminó la parte inferior de 'Grado' y la parte inferior de Espesor. ¿Alguna idea de solución?

mi texto:

\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}

Respuesta1

Basado en conjeturas sobre el preámbulo y el significado de los comandos utilizados:

ingrese la descripción de la imagen aquí

\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}

Editar: La macro makecelltiene opciones bpara la posición inferior, tla posición superior, lel contenido de la celda alineado a la izquierda y rel contenido de la celda alineado a la derecha. Al usarlo sin opciones, el contenido de la celda está centrado vertical y horizontalmente.

Si en el MWE anterior reemplace la segunda fila de la tabla con

\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} }          \\

que la tabla es la siguiente:

ingrese la descripción de la imagen aquí

Respuesta2

Así es como puedes hacer esa tabla con {NiceTabular}of nicematrix. No verá líneas blancas finas, independientemente del visor de PDF que utilice.

\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}

Necesita varias compilaciones (porque nicematrixutiliza nodos PGF/Tikz bajo el capó).

Salida del código anterior

información relacionada