자동으로 중앙에 배치되고 회전된 여러 행 셀로 테이블을 만들려고 합니다. 그림과 비슷하지만 셀이 내용에 자동으로 맞춰집니다.
신청해 보았습니다솔루션@AboAmmar 및 @Seong에 의해 제공되었지만 지정된 행 수 내에서 수직 중앙 정렬을 보장하지는 않습니다.이 답변\multirow
패키지 아래의 명령이 makecell
정수가 아닌 행 수 값(?)을 허용하기 때문에 명확하지 않습니다 .여기일부 코드가 제공되지만 문제는 이것이 \raisebox
하나의 특정 셀 내용에만 적합한 고정 값(인수)을 사용한다는 것입니다.가장 비슷한 질문답이 없습니다.
사실 나는 패키지 의 기능 과 \multirowrothead
조합으로 명명되어야 할 몇 가지 기능이 필요합니다 . 내 코드:\multirowthead
\rothead
makecell
\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
b
2행과 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 뷰어의 출력이 양호합니다.그러나 여러 가지 편집이 필요합니다.