ブックタブスタイルのテーブルに色付きのボックスと回転したテキストを含める

ブックタブスタイルのテーブルに色付きのボックスと回転したテキストを含める

私は、画像のような LaTeX テーブルを作成しようとしています。基本的に、ヘッダー 1 の下に 4 列の回転したテキストと、追加情報を含む灰色のセルが 1 つある必要があります。私は LaTeX の初心者で、このテーブルをブックタブ スタイルで作成する方法がわかりません。ここに画像の説明を入力してください

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

答え1

ここに画像の説明を入力してください

この(異常な)表(質問で示したように)を再現する MWE は次のとおりです。

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

補遺:

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

うまくいけば、あなたが欲しいものを作ることができます:

ここに画像の説明を入力してください

答え2

それはあなたが欲しいものですか?

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

ここに画像の説明を入力してください

答え3

の解決策は次の{NiceTabular}とおりです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}
  • このソリューションでは を使用します\booktabs(nicematrixは と互換性があります)。したがって、を でbooktabs短縮するのは簡単です(ダミー列は必要ありません)。\cmidrule\cmidrule(rl)

  • コマンド\Blockは、nicematrixその内容を結合セルの数学的な中心に配置します。 のように手動で調整する必要はありません\multirow

  • このコマンドは、\rowstyle行のすべてのセルに書式設定コマンドを適用します。

  • ではnicematrix、色付きのパネルはすべての罫線の前に描画されます (PDF ビューアでの出力はより良くなります。Adobe Reader などの一部の PDF ビューアでは、ズームのレベルによっては罫線が消えないように見えます)。

上記コードの出力

関連情報