여러 줄로 회전된 셀로 테이블을 만드는 방법은 무엇입니까?

여러 줄로 회전된 셀로 테이블을 만드는 방법은 무엇입니까?

자동으로 중앙에 배치되고 회전된 여러 행 셀로 테이블을 만들려고 합니다. 그림과 비슷하지만 셀이 내용에 자동으로 맞춰집니다.

여기에 이미지 설명을 입력하세요

신청해 보았습니다솔루션@AboAmmar 및 @Seong에 의해 제공되었지만 지정된 행 수 내에서 수직 중앙 정렬을 보장하지는 않습니다.이 답변\multirow패키지 아래의 명령이 makecell정수가 아닌 행 수 값(?)을 허용하기 때문에 명확하지 않습니다 .여기일부 코드가 제공되지만 문제는 이것이 \raisebox하나의 특정 셀 내용에만 적합한 고정 값(인수)을 사용한다는 것입니다.가장 비슷한 질문답이 없습니다.

사실 나는 패키지 의 기능 과 \multirowrothead조합으로 명명되어야 할 몇 가지 기능이 필요합니다 . 내 코드:\multirowthead\rotheadmakecell

\documentclass[table]{standalone}
\usepackage{siunitx}
\usepackage{makecell}
\usepackage{xcolor}
\usepackage{multirow}
\usepackage{hhline}
\renewcommand{\theadfont}{\normalsize\bfseries}
\renewcommand{\arraystretch}{1.3}

\begin{document}
    \begin{tabular}{
        |l|
        S[table-format=2.1]|
        S[table-format=1.2]|
        S[table-format=2.1]|
        S[table-format=1.2]|
        S[table-format=2.1]|
        S[table-format=1.2]|
    }
        \hline
        % https://tex.stackexchange.com/questions/246889/how-to-color-column-heads-determined-width-makecell
        \rowcolor{gray}
        \multicolumn{3}{|c|}{\colorbox{gray}{\thead{First title in heading}}} &
        \multicolumn{2}{c|}{\colorbox{gray}{\thead{Second title\\in heading}}} & &\\
        \hhline{>{\arrayrulecolor{black}}|-----|>{\arrayrulecolor{gray}}-%
            >{\arrayrulecolor{black}}|>{\arrayrulecolor{gray}}->{\arrayrulecolor{black}}|%
        }
        \rowcolor{gray}
        & & & & \colorbox{gray}{\thead{data\\description}} &
        {\multirowthead{-2}{Data\\description}} &\\
        \hhline{%
            >{\arrayrulecolor{black}}|>{\arrayrulecolor{gray}}-%
            >{\arrayrulecolor{black}}|>{\arrayrulecolor{gray}}-%
            >{\arrayrulecolor{black}}|>{\arrayrulecolor{gray}}-%
            >{\arrayrulecolor{black}}|>{\arrayrulecolor{gray}}-%
            >{\arrayrulecolor{black}}|-|-|%
            >{\arrayrulecolor{gray}}->{\arrayrulecolor{black}}|%
        }
        \rowcolor{gray}
        \colorbox{gray}{\multirowthead{-2}{side-heading\\description}} &
        \colorbox{gray}{\multirowthead{-2}{data\\description}} &
        \colorbox{gray}{\multirowthead{-2}{data\\description}} &
        \colorbox{gray}{\multirowthead{-2}{data\\description}} &
        \colorbox{gray}{\thead{A}} & \colorbox{gray}{\thead{B}} &
        \colorbox{gray}{\multirowthead{-3}{Data description}}\\
        \hline
        Description 1 & 63.5 & 4.87 & 63.5 & 4.87 & 63.5 & 4.87\\
        \hline
        Description 2 & 88.4 & 5.13 & 88.4 & 5.13 & 88.4 & 5.13\\
        \hline
    \end{tabular}
\end{document}

답변1

b2행과 3행의 (전체) 높이는 5열의 셀 내용에 의해 제한되기 때문에 그림에서 녹색의 수량이 더 작아질 수 없습니다 .

{NiceTabular}of 로 할 수 있는 작업은 다음과 같습니다 nicematrix.

\documentclass{article}
\usepackage{siunitx}
\renewcommand{\arraystretch}{1.3}

\usepackage{nicematrix}

\begin{document}
\begin{NiceTabular}[ hvlines , code-before = \rowcolor{gray!30}{1-3} ]   
    {
        c
        S[table-format=2.1]
        S[table-format=1.2]
        S[table-format=2.1]
        S[table-format=1.2]
        S[table-format=2.1]
        S[table-format=1.2]
    }%
{\Block{1-3}{First title in heading}} & & & 
  \Block{1-2}{Second title\\in heading} & &
{\Block{2-1}<\rotate>{Data\\description}} &  
{\Block{3-1}<\rotate>{Data description}} \\
  {\Block{2-1}<\rotate>{side-heading\\description}}
& {\Block{2-1}<\rotate>{data\\description}}
& {\Block{2-1}<\rotate>{data\\description}}
& {\Block{2-1}<\rotate>{data\\description}}
& \Block{}<\rotate>{data\\description\hspace*{0.5em}} \\
& & & & {A} & {B} \\
Description 1 & 63.5 & 4.87 & 63.5 & 4.87 & 63.5 & 4.87\\
Description 2 & 88.4 & 5.13 & 88.4 & 5.13 & 88.4 & 5.13\\
\end{NiceTabular}
\end{document} 
  • 에서는 {NiceTabular}기본 제공 명령을 사용하여 셀을 수직 및 수평으로 병합합니다 \Block.

  • 키를 사용하면 hvlines블록에서 제외된 모든 규칙을 그릴 수 있습니다(여기서 예상되는 규칙).

  • 내장된 명령은 \rotate셀과 블록의 내용을 회전하는 데 사용됩니다.

  • 키에 있는 명령을 사용하여 셀, 행 및 열에 색상을 지정할 수 있습니다 code-before(단, 의 구문과 유사한 구문을 사용하는 것도 가능합니다 colortbl). 일반적으로 모든 확대/축소 수준에서 모든 PDF 뷰어의 출력이 양호합니다.

  • 그러나 여러 가지 편집이 필요합니다.

위 코드의 출력

관련 정보