我希望第 2 列和第 3 列与右侧对齐。但是,这似乎行不通。虽然有几个问题与此问题有关,而且我的问题可能会被标记为重复,但我不知道我的表格出了什么问题。
我将很感激任何提示,例如关于可能丢失的包裹。
\documentclass{article}
\usepackage{tabularx}
\begin{document}
\begin{table}[htbp]
\begin{tabular}{p{0.1\textwidth}>{\raggedright\arraybackslash}p{0.05\textwidth}>{\raggedright\arraybackslash}p{0.05\textwidth}}
\hline
& h\_1 & h\_2 \\
\hline
x\_1 & 10.80 & 11.68 \\
x\_2 & 1.96 & 1.94 \\
\end{tabular}
\end{table}
\end{document}
答案1
您的列对于数据来说太窄,LaTeX 发出警告:
Overfull \hbox (5.5268pt too wide) in paragraph at lines 9--9
[]|\OT1/cmr/m/n/10 10.80|
Overfull \hbox (5.5268pt too wide) in paragraph at lines 9--10
[]|\OT1/cmr/m/n/10 11.68|
Overfull \hbox (0.52678pt too wide) in paragraph at lines 10--10
[]|\OT1/cmr/m/n/10 1.96|
无法对齐宽度超过指定列宽的不可分割文本
如果列更宽,它也会起作用,你也想要\raggedleft
\documentclass{article}
\usepackage{tabularx}
\begin{document}
\begin{table}[htbp]
\begin{tabular}{p{0.2\textwidth}>{\raggedleft\arraybackslash}p{0.1\textwidth}>{\raggedleft\arraybackslash}p{0.1\textwidth}}
\hline
& h\_1 & h\_2 \\
\hline
x\_1 & 10.80 & 11.68 \\
x\_2 & 1.96 & 1.94 \\
\end{tabular}
\end{table}
\end{document}
尽管对于数字列来说,通常最好使用dcolumn
或siunitx
对齐小数点。
答案2
除了戴维的回答之外,这里是siunitx
版本:
% arara: pdflatex
\documentclass{article}
\usepackage{siunitx}
\usepackage{booktabs}
\begin{document}
\begin{table}
\centering
\begin{tabular}{l*{2}{S[table-text-alignment=right, table-format=2.2]}}
\toprule
& {h\_1} & {h\_2} \\
\midrule
x\_1 & 10.80 & 11.68 \\
x\_2 & 1.96 & 1.94
\end{tabular}
\end{table}
\end{document}