如何调整对齐方式和列宽(表格)?

如何调整对齐方式和列宽(表格)?

我希望第 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}

尽管对于数字列来说,通常最好使用dcolumnsiunitx对齐小数点。

答案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}

在此处输入图片描述

相关内容