아래 테이블이 있습니다.
모든 셀 항목을 중앙에 배치하고 싶습니다. 그러나 나는 그것을 관리할 수 없었다. 어떻게 해야 합니까?
내 소스 코드는 다음과 같습니다.
\documentclass{article}
\usepackage{array,multirow,graphicx}
\begin{document}
\newcommand{\colrot}{\rotatebox[origin = c]{90}{Variant}}
\begin{table}[h]
\begin{tabular}{cc|c|c|c|c|c|c|}
\cline{3-8} & & \multicolumn{6}{c|}{Time} \\ \cline{3-8}
& & 75.5 & 76.0 & 76.5 & 77.0 & 77.5 & 78.0 \\ \hline
\multicolumn{1}{|c|}{\multirow{3}{*}{\colrot}} & a & 69.39 & 139.95 & 172.78 & 177.83 & - & - \\[4mm] \cline{2-8}
\multicolumn{1}{|c|}{} & b & 31.95 & 31.83 & 31.60 & 31.39 & 31.15 & 30.89 \\[4mm] \cline{2-8}
\multicolumn{1}{|c|}{} & c & 48.89 & 54.59 & 55.33 & 55.76 & 56.0 & 56.14 \\[4mm] \hline
\end{tabular}
\end{table}
\end{document}
테이블의 품질을 향상시키기 위한 추가 권장 사항은 높이 평가됩니다.
답변1
나는 대부분의 사람들이 테이블의 머리글을 연구하기 위해 목을 쭉 뻗는 것을 싫어한다고 생각합니다. "Variant" 문자열을 90도 회전하는 대신 기본 헤더 행의 왼쪽 상단에 배치하는 것이 좋습니다. 따라서 첫 번째 헤더 행은 "Variant"와 "Time"이라는 두 개의 항목으로 구성되며, 두 번째 헤더 행은 "Time" 변수에 대한 6가지 가능성을 제공합니다.
또한 모든 수직 막대와 여러 수평선을 제거하고 다음의 선 그리기 매크로를 사용하는 것이 좋습니다.책꽂이나머지 경우에는 간격이 넉넉한 수평선을 얻기 위해 \hline
대신 패키지를 사용합니다 . \cline
그리고 테이블 정보의 대부분이 십진수로 구성되어 있으므로시유닉스패키지를 사용하고 기본 ("중앙") 열 유형 S
대신 해당 열 유형을 사용합니다. c
(숫자가 아닌 셀 자료 몇 개를 중괄호로 묶어 내용을 중앙에 배치합니다.)
\documentclass[preview]{standalone}
\usepackage{siunitx} % for "S" column type
\usepackage{booktabs} % for \toprule, \midrule, etc
\begin{document}
\begin{table}[h]
\centering
\begin{tabular}{@{} l *{6}{S[table-format=3.2]} @{}}
\toprule
Variant & \multicolumn{6}{c@{}}{Time} \\
\cmidrule(l){2-7}
& 75.5 & 76.0 & 76.5 & 77.0 & 77.5 & 78.0 \\
\midrule
a & 69.39 & 139.95 & 172.78 & 177.83 & {--} & {--}\\
b & 31.95 & 31.83 & 31.60 & 31.39 & 31.15 & 30.89 \\
c & 48.89 & 54.59 & 55.33 & 55.76 & 56.0 & 56.14 \\
\bottomrule
\end{tabular}
\end{table}
\end{document}