好的,首先,这张桌子看上去很糟糕,急需帮助。
S
但我真正想知道的是如何消除环境中设置的列之间的一些额外的空白tabular
。
\documentclass{article}
\usepackage{amsmath,amssymb}
\usepackage{array}
\usepackage{siunitx}
\begin{document}
Areas:\par
\sisetup{table-figures-decimal=4,table-auto-round,table-number-alignment=center}
\renewcommand{\arraystretch}{1.5}%%
\begin{tabular}{l
>{$}r<{=$}
S[table-figures-decimal=1,table-space-text-pre=]
>{$}r<{=$}
S}%'
Area of region I: & 4 & 4 & \dfrac{1}{2}\cdot 2\cdot 4= & 4 \\
Area of region II: & 8 & 8 & 1\times 8 & 8 \\
Area of region III: & 6-3.5 & 2.5 & 2 \times 3 - \dfrac{1}{2}(1.5)^2\pi & 2.465708265 \\
Area of region IV & 35 & 35 & 5\times 7 & 35 \\
Area of region V: & 6.5 & 6.5 & \dfrac{1}{2} (2)^2\pi & 6.283185307 \\\hline
Total & \multicolumn{1}{c}{} & 56.0 & & 55.78990357
\end{tabular}
\end{document}
顺便说一句,我\multicolumn
在最后一行使用 来防止等号出现在那里。有没有更好的办法可以暂时消除列之间的材料设置?因为这实际上是第二个问题,如果这样更好的话,我可以单独发布它。
答案1
你可以table-alignment=<choice>
在中间使用一些小的字距调整,例如
@{\!}S[table-figures-decimal=1,table-space-text-pre=,table-alignment=left]
代码:
\documentclass{article}
\usepackage{amsmath,amssymb}
\usepackage{array}
\usepackage{siunitx}
\begin{document}
Areas:\par
\sisetup{table-figures-decimal=4,table-auto-round,table-number-alignment=center}
\renewcommand{\arraystretch}{1.5}%%
\begin{tabular}{l
>{$}r<{=$}
@{\!}S[table-figures-decimal=1,table-space-text-pre=,table-alignment=left]
>{$}r<{=$}
@{\!}S[table-alignment=left]}%'
Area of region I: & 4 & 4 & \dfrac{1}{2}\cdot 2\cdot 4 & 4 \\
Area of region II: & 8 & 8 & 1\times 8 & 8 \\
Area of region III: & 6-3.5 & 2.5 & 2 \times 3 - \dfrac{1}{2}(1.5)^2\pi & 2.465708265 \\
Area of region IV & 35 & 35 & 5\times 7 & 35 \\
Area of region V: & 6.5 & 6.5 & \dfrac{1}{2} (2)^2\pi & 6.283185307 \\\hline
Total & \multicolumn{1}{c}{} & 56.0 & & 55.78990357
\end{tabular}
\end{document}
在 中按您的喜好调整字距@{\!}
。
对于你的第二个问题,我认为这\multicolumn
是最好的答案。但有人可能有更好的办法。
答案2
我不太确定您是否想将数字与小数点对齐。但您可以按照以下方法改进表格:
\documentclass{article}
\usepackage{amsmath,amssymb}
\usepackage{array,booktabs}
\usepackage{siunitx}
\begin{document}
Areas:\par
\renewcommand{\arraystretch}{1.5}
\sisetup{table-figures-decimal=4,table-auto-round}
\begin{tabular}{
@{}
l
>{$}r<{={}$}
@{}
S[table-format=2.1]
@{\hspace{3em}}
>{$}r<{={}$}
@{}
S[table-format=2.4]
@{}
}%'
Area of region I: & 4 & 4 & \dfrac{1}{2}\cdot 2\cdot 4 & 4 \\
Area of region II: & 8 & 8 & 1\times 8 & 8 \\
Area of region III: & 6-3.5 & 2.5 & 2 \times 3 - \dfrac{1}{2}(1.5)^2\pi & 2.465708265 \\
Area of region IV & 35 & 35 & 5\times 7 & 35 \\
Area of region V: & 6.5 & 6.5 & \dfrac{1}{2} (2)^2\pi & 6.283185307 \\
\midrule
Total & & 56.0 & & 55.78990357
\end{tabular}
\end{document}
这是小数点未对齐的不同版本;请注意,它需要包collcell
:
%% add in the preamble
\usepackage{collcell}
\newcommand{\bnum}[1]{\num[round-mode=places,round-precision=4]{#1}}
%% the table
\begin{tabular}{
@{}
l
>{$}r<{={}$}
@{}
>{\collectcell\num}l<{\endcollectcell}
@{\hspace{3em}}
>{$}r<{={}$}
@{}
>{\collectcell\bnum}l<{\endcollectcell}
@{}
}%'
Area of region I: & 4 & 4 & \dfrac{1}{2}\cdot 2\cdot 4 & 4 \\
Area of region II: & 8 & 8 & 1\cdot 8 & 8 \\
Area of region III: & 6-3.5 & 2.5 & 2 \cdot 3 - \dfrac{1}{2}(1.5)^2\pi & 2.465708265 \\
Area of region IV & 35 & 35 & 5\cdot 7 & 35 \\
Area of region V: & 6.5 & 6.5 & \dfrac{1}{2} (2)^2\pi & 6.283185307 \\
\midrule
Total & & 56.0 & & 55.78990357
\end{tabular}