패키지 를 사용하여 테이블을 만들려고합니다 siunitx
. 그러나 각 열에는 많은 양의 공백이 채워져 있습니다. 을 변경하면 tabcolsep
각 열 오른쪽의 공백 양을 줄일 수 있지만 왼쪽의 공백 양은 변경할 수 없습니다. 변경하면 table-column-width
초과 공백이 유지되면서 hbox 오버플로만 발생합니다.
MWE는 다음과 같습니다.
\documentclass{article}
\usepackage{siunitx}
\usepackage{lscape}
\begin{document}
\setlength{\tabcolsep}{0.2em}
\begin{landscape}
\centerline{
\begin{tabular}{
S |
S |
S |
S |
S |
S |
S |
S |
S |
S |
S
}
3 & 3.20E+01 & 3.13E-02 & 1.25E-01 & 3.75E+08 & 5.07E+05 & 1.50E+01 & 6.67E-02 & 1.25E-01 & 3.75E+08 & 5.07E+05 \\
\end{tabular}
}%//centerline
\end{landscape}
\end{document}
명시적 으로 설정된 버전은 다음과 같습니다 table-column-width
.
\documentclass{article}
\usepackage{siunitx}
\usepackage{lscape}
\begin{document}
\setlength{\tabcolsep}{0.2em}
\begin{landscape}
\centerline{
\begin{tabular}{
S[table-column-width=8em] |
S[table-column-width=8em] |
S[table-column-width=8em] |
S[table-column-width=8em] |
S[table-column-width=8em] |
S[table-column-width=8em] |
S[table-column-width=8em] |
S[table-column-width=8em] |
S[table-column-width=8em] |
S[table-column-width=8em] |
S[table-column-width=8em]
}
3 & 3.20E+01 & 3.13E-02 & 1.25E-01 & 3.75E+08 & 5.07E+05 & 1.50E+01 & 6.67E-02 & 1.25E-01 & 3.75E+08 & 5.07E+05 \\
\end{tabular}
}%//centerline
\end{landscape}
\end{document}
표가 한 페이지에 들어가도록 각 숫자 왼쪽의 공백을 제거하는 방법을 알려주세요. 감사합니다.
답변1
다음에서는 모든 열에 동일한 형식을 사용했습니다. 즉, 3
. 더 가깝게 표시하려면 각 열의 형식을 개별적으로 조정하세요.
현재 형식은 다음을 1.2e-1
의미합니다.
1
소수점 앞의 숫자2
소수점 뒤의 숫자e
공간이 필요하다-
공간이 필요하다1
지수의 숫자
처럼미코가 제안한의견: 간격을 더 좁히려면 tight-spacing=true
패키지 옵션 siunitx
이나 열에 사용할 수 있습니다 S
.
\documentclass{article}
\usepackage[tight-spacing=true]{siunitx}
\usepackage{lscape}
\begin{document}
\setlength{\tabcolsep}{0.2em}
\begin{landscape}
\centering
\begin{tabular}{
c|
*{10}{S[table-format=1.2e-1]|}
}
3 & 3.20E+01 & 3.13E-02 & 1.25E-01 & 3.75E+08 & 5.07E+05 & 1.50E+01 & 6.67E-02 & 1.25E-01 & 3.75E+08 & 5.07E+05 \\
\end{tabular}
\end{landscape}
\end{document}
답변2
또한 다양한 숫자 형식을 사용할 수도 있습니다. 일부는 음수 지수를 갖고 다른 일부는 그렇지 않습니다. 각 셀 내용이 해당 열을 나타내는 경우 두 번째 표가 생성됩니다.
\documentclass{article}
\usepackage{siunitx}
\usepackage{lscape}
\begin{document}
\begin{landscape}
\centering
\setlength{\tabcolsep}{4pt}
\sisetup{table-format=1.2e-1,table-number-alignment=center}
\begin{tabular}{|l |*{10}{S|}}
3 & 3.20E+01 & 3.13E-02 & 1.25E-01 & 3.75E+08 & 5.07E+05 & 1.50E+01 & 6.67E-02 & 1.25E-01 & 3.75E+08 & 5.07E+05 \\
\end{tabular}
\vspace*{1cm}
\begin{tabular}{|l|S[table-format =1.2e1]|*{2}{S|}*{3}{S[table-format =1.2e1]|}*{2}{S|}*{2}{S[table-format =1.2e1]|}}
3 & 3.20E+01 & 3.13E-02 & 1.25E-01 & 3.75E+08 & 5.07E+05 & 1.50E+01 & 6.67E-02 & 1.25E-01 & 3.75E+08 & 5.07E+05 \\
\end{tabular}
\end{landscape}
\end{document}
답변3
여기에 또 다른 제안이 있습니다. (a) tabular*
환경을 사용하고(목표 너비를 \textwidth
), (b) 옵션을 설정 tight-spacing
하고 exponent-product={\mkern1mu\cdot}
(공간을 절약하기 위해), (c) 모든 수직 규칙을 제거합니다(여전히 공간을 절약하기 위해). (d) table-format
옵션을 사용하여 각 열의 최소 너비 형식을 지정합니다.
이 설정을 사용하면 테이블을 조판하기 위해 가로 모드로 전환할 필요가 없습니다.
\documentclass{article}
\usepackage[margin=2.5cm]{geometry}
\usepackage{array,siunitx}
\newcolumntype{T}[1]{S[tight-spacing,
exponent-product={\mkern1mu\cdot},
table-format=1.2e#1]}
\begin{document}
\begingroup % localize the scope of the next instruction
\setlength{\tabcolsep}{0pt}
\noindent
\begin{tabular*}{\textwidth}{@{\extracolsep{\fill}}
l T{1} *{2}{T{-1}} *{3}{T{1}} *{2}{T{-1}} *{2}{T{1}} }
3 & 3.20E+01 & 3.13E-02 & 1.25E-01 & 3.75E+08 & 5.07E+05
& 1.50E+01 & 6.67E-02 & 1.25E-01 & 3.75E+08 & 5.07E+05 \\
\end{tabular*}
\endgroup
\end{document}