答案1
假设这是您要复制的第一张图片,下面是 MWE。您可以使用\multicolumn
单个列覆盖给定单元格的列对齐方式(另请参阅最后一行 - 我添加了它以使其更清晰)。
在您发布的第一张图片中,从顶部开始的第一个单元格似乎居中。这是通过 获得的\multicolumn{1}{|c|}{\# Params}
。其余单元格似乎只是右对齐。由于每个单元格的内容都以M
(百万?)结尾,因此所有内容看起来都与 对齐M
。
\documentclass{standalone}
\begin{document}
\begin{tabular}{|r|}
\hline
\multicolumn{1}{|c|}{\# Params} \\
\hline
2.8M\\
15.4M\\
38.7M\\
\hline
2.9M\\
62M\\
12.9M\\
\hline
\multicolumn{1}{|c|}{x} \\ % to prove that you can override the column alignment
\end{tabular}
\end{document}
可以借助 获得更好的效果siunitx
,假设M
是一个单位或一个兆前缀。该包允许定义列的S
和s
类型。您可以使用键来调整单位对齐table-unit-alignment
,该键接受诸如left
、right' or
center 之类的值。
\documentclass{standalone}
\usepackage{siunitx}
\begin{document}
\begin{tabular}
{|S[table-format=2.1]@{\,}s[table-unit-alignment = center]|}
\hline
\multicolumn{2}{|c|}{Parameters} \\
\hline
2.8 & \mega \\
15.4 & \mega \\
38.7 & \mega \\ \hline
2.9 & \mega \\
62 & \mega \\
12.9 & \mega \\
\hline
\end{tabular}
\end{document}
答案2
我不确定我是否正确理解了您的目的,因为您发布的两个屏幕截图中的布局似乎直接相互冲突。我将其解释如下:(a) 数字应在小数点标记上对齐,(b) 字母应对齐M
,以及 (c) 数字/M
组合应在列内水平居中。
S
如果这种解释是正确的,那么采用包提供的列类型的以下解决方案siunitx
可能会相关。
\documentclass{article}
\usepackage{siunitx}
\begin{document}
\begin{table}
\begin{tabular}{|S[table-format=3.1,table-space-text-post={M}]|}
\hline
{\# Params}\\
\hline
15.4M\\ 2.8M\\ 388.7M\\
\hline
\end{tabular}
\end{table}
\end{document}