
여기 내가 하려는 일의 MWE가 있습니다.
\documentclass[a4paper]{article}
\usepackage{tabularx,booktabs}
\usepackage{color,colortbl}
\begin{document}
\begin{table}[htb]
\centering
\begin{tabularx}{\textwidth}{l r r r r r r r r r r r}
\toprule
A1 & A2 & A3 & A4 & A5 & A6 & A7 & A8 & A9 & A10 & A11 & A12 \\
\midrule
\rowcolor{blue} 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10 & 11 & 12 \\[0pt]
1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10 & 11 & 12 \\
\bottomrule
\end{tabularx}
\begin{tabularx}{\textwidth}{l r r r r r r r r r r r r r r}
\toprule
A1 & A2 & A3 & A4 & A5 & A6 & A7 & A8 & A9 & A10 & A11 & A12 & A13 & A14 & A15 \\
\midrule
\rowcolor{blue} 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10 & 11 & 12 & 13 & 14 & 15 \\[0pt]
1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10 & 11 & 12 & 13 & 14 & 15 \\
\bottomrule
\end{tabularx}
\end{table}
\end{document}
첫 번째 테이블은 너무 길고 \toprule
이상해 \bottomrule
보입니다. 이에 대해 몇 가지 질문이 있습니다.
크기를 tabularx
콘텐츠 너비로 설정하려면 어떻게 해야 합니까?
마지막 열을 오른쪽으로 정렬하려면 어떻게 해야 합니까(모든 열이 테이블 위에 걸쳐있도록)?
\rowcolor
전체 테이블에 걸쳐 표시되도록 어떻게 설정할 수 있나요 ?
예제의 두 번째 테이블은 너무 넓습니다. 더 좋아 보이게 만드는 비법을 알고 있나요?
답변1
tabularx
첫 번째 테이블에는 테이블 전체를 만들려고 textwidth
하지만 너비를 조정할 수 있는 열이 없기 때문에 긴 규칙이 있습니다 . 두 번째 테이블과 동일하지만 이 경우 테이블 내용이 textwidth
. X
자동 너비 조정을 허용하려면 -column 지정자를 사용해야 합니다 . 교체해 보세요
\begin{tabularx}{\textwidth}{l r r r r r r r r r r r}
~와 함께
\begin{tabularx}{\textwidth}{l *{11}X}
-column 은 X
왼쪽 정렬되고 너비가 같습니다. 마지막 열을 오른쪽 정렬하려면 -column을 사용 하거나 다음과 같이 r
새 열 유형을 정의하면 됩니다.R
다음,
\newcolumntype{R}{>{\raggedleft\arraybackslash}X}
그런 다음 \begin{tabularx}{\textwidth}{l *{10}X r}
또는 를 사용하여 \begin{tabularx}{\textwidth}{l *{10}X R}
마지막 열을 오른쪽 정렬로 만듭니다.
rowcolors
동일한 색상의 모든 행을 허용하려면 패키지 의 명령을 사용할 수 있습니다 xcolor
. 이 rowcolors
명령을 사용하면 홀수 행에 대한 첫 번째 색상 지정자를 사용하여 홀수 행과 짝수 행에 대해 교대로 색상을 지정할 수 있습니다. rowcolor
특정 행의 색상을 변경하는 데 계속 사용할 수 있습니다 .
열 유형 및 색상이 수정된 예입니다.
\documentclass[a4paper]{article}
\usepackage{tabularx,booktabs}
\usepackage[table]{xcolor}
\newcolumntype{L}{>{\raggedright\arraybackslash}X}
\newcolumntype{R}{>{\raggedleft\arraybackslash}X}
\newcolumntype{C}{>{\centering\arraybackslash}X}
\begin{document}
\begin{table}[htb]
\centering
\rowcolors{1}{gray}{gray}
\begin{tabularx}{\textwidth}{L *{10}C R}
\toprule
A1 & A2 & A3 & A4 & A5 & A6 & A7 & A8 & A9 & A10 & A11 & A12 \\
\midrule
1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10 & 11 & 12 \\[0pt]
1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10 & 11 & 12 \\
\bottomrule
\end{tabularx}
\end{table}
\end{document}
모든 X
-column의 너비는 동일합니다. 에서는 너비를 조정하는 것이 까다로울 수 있습니다 tabularx
. 대신 사용해보십시오tabulary
또는tabu
패키지.