如何在表格中居中对齐然后左对齐?

如何在表格中居中对齐然后左对齐?

如何将文本对齐到表格中心,然后将其与字母“M”对齐?如下所示,它是右对齐的,但我希望它居中对齐。如何操作?

在此处输入图片描述

如下所示,文本以 M 居中对齐。

在此处输入图片描述

答案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是一个单位或一个前缀。该包允许定义列的Ss类型。您可以使用键来调整单位对齐table-unit-alignment,该键接受诸如leftright' orcenter 之类的值。

\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}

相关内容