表格,这种情况下如何对齐?

表格,这种情况下如何对齐?

我怎样才能将第一列向左对齐,将其他两列向右对齐?

\begin{tabular}{p{2.5cm} | p{2cm} | p{2.5cm}}
\hline
$ 2 \, 2 \, I \, I $       & 64   & 0   \\ 
$ 2 \, 2 \, I \, I \, I $  & 358  & 31  \\
$ 3 \, I \, I $            & 21   & 0  \\
$ 3 \, 3 \, I \, I $       & 356  & 46  \\
$ 3 \, 2 \, 2 \, I \, I$   & 7344 & 23046 \\
$ 2 \, 2 \, 3 \, I \, I$   & 1308 & 359 \\
$ 4 \, 4 \, I \, I     $   & 3522 & 7983 \\
\hline 
\end{tabular}

我尝试rp{2cm},但垂直线被删除了。我想保留垂直线,只想将最后两列向右对齐。

答案1

使用array包,您可以>{\raggedleft}在前面添加p{2cm}以使列内容右对齐

\documentclass{article}
\usepackage{array}
\begin{document}
\begin{tabular}{p{2.5cm} |>{\raggedleft} p{2cm} |>{\raggedleft\arraybackslash} p{2.5cm}}
        \hline
        $ 2 \, 2 \, I \, I $       & 64   & 0   \\ 
        $ 2 \, 2 \, I \, I \, I $  & 358  & 31  \\
        $ 3 \, I \, I $            & 21   & 0  \\
        $ 3 \, 3 \, I \, I $       & 356  & 46  \\
        $ 3 \, 2 \, 2 \, I \, I$   & 7344 & 23046 \\
        $ 2 \, 2 \, 3 \, I \, I$   & 1308 & 359 \\
        $ 4 \, 4 \, I \, I     $   & 3522 & 7983 \\
        \hline 
\end{tabular}
\end{document} 

答案2

siunitx当涉及数字表时,使用可以获得更好的结果。

我还添加了一个简化输入的技巧,使用collcell和一个合适的宏在空格处拆分输入并用 分隔进行传递\,

我删除了垂直线并使用了booktabs水平线;如果您确实需要,可以重新插入它们。

\documentclass{article}
\usepackage{amsmath,xparse,siunitx,booktabs,collcell}

\ExplSyntaxOn
\NewDocumentCommand{\alimleft}{m}
 {
  \seq_set_split:Nnn \l_tmpa_seq { ~ } { #1 }
  $\seq_use:Nn \l_tmpa_seq { \, }$
 }
\ExplSyntaxOff

\begin{document}

\begin{tabular}{
  >{\collectcell\alimleft}l<{\endcollectcell}
  S[table-format=4.0]
  S[table-format=5.0,group-digits=false]
}
\toprule
2 2 I I   &   64 &     0 \\ 
2 2 I I I &  358 &    31 \\
3 I I     &   21 &     0 \\
3 3 I I   &  356 &    46 \\
3 2 2 I I & 7344 & 23046 \\
2 2 3 I I & 1308 &   359 \\
4 4 I I   & 3522 &  7983 \\
\bottomrule 
\end{tabular}

\end{document}

没有必要使用\alimleft技巧(使用更合理的宏名称)。另外

\begin{tabular}{
  l
  S[table-format=4.0]
  S[table-format=5.0,group-digits=false]
}
\toprule
$ 2 \, 2 \, I \, I $       & 64   & 0   \\ 
$ 2 \, 2 \, I \, I \, I $  & 358  & 31  \\
$ 3 \, I \, I $            & 21   & 0  \\
$ 3 \, 3 \, I \, I $       & 356  & 46  \\
$ 3 \, 2 \, 2 \, I \, I$   & 7344 & 23046 \\
$ 2 \, 2 \, 3 \, I \, I$   & 1308 & 359 \\
$ 4 \, 4 \, I \, I     $   & 3522 & 7983 \\
\bottomrule 
\end{tabular}

会产生相同的结果。

在此处输入图片描述

相关内容