Incluir caixa colorida e texto girado na tabela com estilo booktabs

Incluir caixa colorida e texto girado na tabela com estilo booktabs

Estou tentando fazer uma mesa de látex parecida com a da foto. Deve haver basicamente 4 colunas de texto girado no Cabeçalho 1, uma célula cinza que contém informações adicionais. Sou novo no látex e não tenho ideia de como fazer essa mesa no estilo booktabs.insira a descrição da imagem aqui

\documentclass{article}
\newcommand*\turn{\rotatebox[origin=b]{90}}
\usepackage{array}
\usepackage{booktabs}
\usepackage{multirow}
\usepackage{array, caption}
\usepackage{graphicx}
\usepackage{makecell}
\usepackage[table,xcdraw]{xcolor}


\begin{document}
 
\begin{table}[]
\centering
\begin{tabular}{@{}llllll@{}}
\toprule
& \multicolumn{4}{c}{Header 1} &     \\ 
\cmidrule(lr){2-5}
&\turn{Text1}      &\turn{Text2}     &\turn{Text3}     & \turn{Text4}     & \cellcolor{gray!25} \makecell[l]{Some line 1\\ Some line 1\\ Some line 1\\ Some line 1\\ Some line 1} \\
Header 3 &    &      &        &       &Header 3\\
\midrule

&        &       &       &       &    \\
&        &       &       &       &    \\
\bottomrule

\end{tabular}
\end{table}

\end{document}

Responder1

insira a descrição da imagem aqui

MWE, que reproduz esta tabela (incomum) (como você mostrou na pergunta) é:

\documentclass{article}
\usepackage[table,xcdraw]{xcolor}
\usepackage{rotating}
\usepackage{makecell, multirow, tabularx}
\newcolumntype{L}{>{\raggedright\arraybackslash}X}
\usepackage[skip=1ex]{caption}

\begin{document}
    \begin{table}[htb]
    \centering
    \setlength\extrarowheight{2pt}
    \settowidth\rotheadsize{Text 4}
    \renewcommand\rotheadgape{}
\begin{tabularx}{0.6\linewidth}{ l llll c@{\,}X }
    \Xhline{1pt}
            & \multicolumn{4}{c}{Header 1} 
                                && \cellcolor{gray!25}   \\  
    \Xcline{2-5}{0.6pt}
                &   \rothead{Text 1}
                    &   \rothead{Text 2}
                        &   \rothead{Text 3}
                            &   \rothead{Text 4}
                                &&  \cellcolor{gray!25}%
                                    \multirow{-2.2}{=}{\noindent
                                    Some line 1 Some line 2
                                    Some line 3}        \\ 
Header 3    &   &   &   &   &&  Header 3                \\
    \Xhline{0.6pt}
A           &   &   &   &   &&  1                       \\
B           &   &   &   &   &&  2                       \\
    \Xhline{1pt}
\end{tabularx}
    \end{table}
\end{document}

Termo aditivo:

\documentclass{article}
\usepackage[table,xcdraw]{xcolor}
\usepackage{rotating}
\usepackage{makecell, multirow, tabularx}
\newcolumntype{L}{>{\raggedright\arraybackslash}X}
\newcommand\mrrc[1]{\multirow{-2.4}{*}{\rothead{#1}}} % <---
\usepackage[skip=1ex]{caption}

\begin{document}
    \begin{table}[htb]
    \centering
    \setlength\extrarowheight{2pt}
    \settowidth\rotheadsize{Text 4}
    \renewcommand\rotheadgape{}
\begin{tabularx}{0.6\linewidth}{ l llll c@{\,}L }
    \Xhline{1pt}
            & \multicolumn{4}{c}{Header 1} 
                            && \cellcolor{gray!25}  \\  
    \Xcline{2-5}{0.6pt}
            &   &   &   &   &&  \cellcolor{gray!25}                 % <---
                                \small\linespread{0.84}\selectfont  % <---
                                \multirow{-1.8}{=}{\noindent
                                    Some line 1 
                                    Some line 2
                                    Some line 3}    \\[1ex]
Header 3    &   \mrrc{Text 1}       % <--- rotated headers moved down
                &   \mrrc{Text 2}
                    &   \mrrc{Text 3}
                        &   \mrrc{Text 4}
                                   &&  Header 3     \\
    \Xhline{0.6pt}
A           &   &   &   &   &&  1                   \\
B           &   &   &   &   &&  2                   \\
    \Xhline{1pt}
\end{tabularx}
    \end{table}
\end{document}

esperamos produzir o que você gosta de ter:

insira a descrição da imagem aqui

Responder2

É isso que você quer ter?

\documentclass{article}
\newcommand*\turn{\rotatebox[origin=b]{90}}
\usepackage{array}
\usepackage{booktabs}
\usepackage{multirow}
\usepackage{array, caption}
\usepackage{graphicx}
\usepackage{makecell}
\usepackage[table,xcdraw]{xcolor}

\begin{document}

\begin{table}[]
\centering
\begin{tabular}{@{}llllll@{}}
\toprule
& \multicolumn{4}{c}{Header 1} & \\
\cmidrule(lr){2-5}
&\multirowcell{3.5}{\turn{Text1}} &\multirowcell{3.5}{\turn{Text2}} &\multirowcell{3.5}{\turn{Text3}} & \multirowcell{3.5}{\turn{Text4}} & \cellcolor{gray!25} \makecell{Some line 1\\ Some line 1\\ Some line 1\\ Some line 1\\ Some line 1} \\
\addlinespace
Header 3 & & & & &Header 3\\
\midrule

& & & & & \\
& & & & & \\
\bottomrule
\end{tabular}
\end{table}

\end{document} 

insira a descrição da imagem aqui

Responder3

Aqui está uma solução com {NiceTabular}of nicematrix.

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

\begin{document}
\begin{table}[htb]
\centering
\setlength\extrarowheight{2pt}
\begin{NiceTabular}{llllll}
\CodeBefore
  \rectanglecolor{gray!20}{1-6}{2-6}
\Body
  \toprule
   & \Block{1-4}{Header 1} &&&
   & \Block{2-1}{Some line 1\\ Some line 2 \\ Some line 3}  \\  
  \cmidrule(lr){2-5}
   \RowStyle{\rotate}
   & Text 1
   & Text 2
   & Text 3
   & Text 4 \\
  Header 3    &   &   &   &   & Header 3 \\
  \midrule
  A           &   &   &   &   &  1 \\
  B           &   &   &   &   &  2 \\
  \bottomrule
\end{NiceTabular}
\end{table}
\end{document}
  • Esta solução usa \booktabs( nicematrixé compatível com booktabs). Portanto, é fácil encurtar o \cmidrulewith \cmidrule(rl)(não há necessidade de uma coluna fictícia).

  • O comando \Blockde nicematrixcolocar seu conteúdo no centro matemático das células mescladas. Não há necessidade de ajuste manual como em \multirow.

  • O comando \rowstyleaplica comandos de formatação a todas as células da linha.

  • No nicematrix, os painéis coloridos são desenhados antes de todas as regras (o resultado é melhor nos visualizadores de PDF: as regras não parecem desaparecer em alguns níveis de zoom em alguns visualizadores de PDF como o Adobe Reader).

Saída do código acima

informação relacionada