将表格中的文本居中

将表格中的文本居中

我有一张需要扩展到页面宽度的表格,我这样做

\begin{table}[H]
\centerline{
\begin{tabularx}{\textwidth}{|X|X|}
\hline
\textbf{Number} & \textbf{Probability} \\ \hline
0 & 100 \% \\ \hline
998.13 & 60 \% \\ \hline
1996.26 & 31.37 \% \\ \hline
2994.39 & 16.11 \% \\ \hline
3992.52 & 8.26 \% \\ \hline
4990.64 & 4.23 \% \\ \hline
5988.77 & 2.17\% \\ \hline
6986.90 & 1.11\% \\ \hline
7828.46 & 0.63\% \\ \hline
\end{tabularx}
}
\caption{} 
\end{table}

但是,文本并没有在表格中居中,而是左对齐。我怎样才能将文本居中并使其居中?(因为我一次只能管理一个)

答案1

不错的版本

\documentclass{article}
\usepackage{array}
\usepackage{booktabs}
\usepackage{caption}
\usepackage{siunitx}

\begin{document}
\begin{table}
\centering
\caption{Table example}
\begin{tabular}{
  S[table-format=4.2]
  S[table-format=3.2]
}
\toprule
\textbf{Number} & \textbf{Probability} (\si{\percent}) \\
\midrule
   0    & 100    \\
 998.13 &  60    \\
1996.26 &  31.37 \\
2994.39 &  16.11 \\
3992.52 &   8.26 \\
4990.64 &   4.23 \\
5988.77 &   2.17 \\
6986.90 &   1.11 \\
7828.46 &   0.63 \\
\bottomrule
\end{tabular}
\end{table}
\end{document}

结果

两表变体

评论:

  • 可选参数tabulartabularx指定表格的锚点位置。t表示表格的顶部元素(顶部规则或第一行),b表示底部行或最后一行。默认情况下,表格垂直居中。

  • 水平放置。首先使用\centering而不是\centerline{...}\centering将段落的行居中,而将\centerline内容限制为\hbox并且如果元素不适合当前行宽,则不会发出警告。如果两个表格适合一行,则\hfillinbetween 会将左表格移到文本区域的左侧,将右表格移到文本区域的右侧。\hfil如果表格之间的可用空间应均匀分布在左表格的左侧、表格之间的中间和右表格的右侧,则可以使用较弱的选项。

完整示例:

\documentclass{article}
\usepackage{array}
\usepackage{booktabs}
\usepackage{caption}
\usepackage{siunitx}

\begin{document}
\begin{table}
\centering
\caption{Example with two tables}
\begin{tabular}[t]{
  S[table-format=4.2]
  S[table-format=3.2]
}
\toprule
\textbf{Number} & \textbf{Probability} (\si{\percent}) \\
\midrule
   0    & 100    \\
 998.13 &  60    \\
1996.26 &  31.37 \\
2994.39 &  16.11 \\
3992.52 &   8.26 \\
4990.64 &   4.23 \\
5988.77 &   2.17 \\
6986.90 &   1.11 \\
7828.46 &   0.63 \\
\bottomrule
\end{tabular}\hfill
\begin{tabular}[t]{
  S[table-format=4.2]
  S[table-format=3.2]
}
\toprule
\textbf{Number} & \textbf{Probability} (\si{\percent}) \\
\midrule
   0    & 100    \\
 998.13 &  60    \\
1996.26 &  31.37 \\
2994.39 &  16.11 \\
4990.64 &   4.23 \\
5988.77 &   2.17 \\
7828.46 &   0.63 \\
\bottomrule
\end{tabular}
\end{table}
\end{document}

包含两个表的结果

拉伸至文本宽度:

\documentclass{article}
\usepackage{array}
\usepackage{booktabs}
\usepackage{caption}
\usepackage{siunitx}

\begin{document}
\begin{table}
\centering
\caption{Table example}
\begin{tabular*}{\linewidth}{
  l
  @{\extracolsep\fill}
  S[table-format=4.2]
  S[table-format=3.2]
  l
}
\toprule
& \textbf{Number} & \textbf{Probability} (\si{\percent}) \\
\midrule
&    0    & 100    \\
&  998.13 &  60    \\
& 1996.26 &  31.37 \\
& 2994.39 &  16.11 \\
& 3992.52 &   8.26 \\
& 4990.64 &   4.23 \\
& 5988.77 &   2.17 \\
& 6986.90 &   1.11 \\
& 7828.46 &   0.63 \\
\bottomrule
\end{tabular*}
\end{table}
\end{document}

结果放大

线条丑陋

\documentclass{article}
\usepackage{array}
\usepackage{caption}
\usepackage{siunitx}
\usepackage{tabularx}

\begin{document}
\begin{table}
\centering
\caption{Table example}
\begin{tabularx}{\linewidth}{
  |S[table-format=4.2]|S[table-format=3.2]|
}
\hline
\multicolumn{1}{|X|}{\centering\textbf{Number}}
& \multicolumn{1}{X|}{\centering\textbf{Probability} (\si{\percent})} \\
\hline
   0    & 100    \\ \hline
 998.13 &  60    \\ \hline
1996.26 &  31.37 \\ \hline
2994.39 &  16.11 \\ \hline
3992.52 &   8.26 \\ \hline
4990.64 &   4.23 \\ \hline
5988.77 &   2.17 \\ \hline
6986.90 &   1.11 \\ \hline
7828.46 &   0.63 \\ \hline
\end{tabularx}
\end{table}
\end{document}

结果线条丑陋

数字居中但不对齐

\documentclass{article}
\usepackage{array}
\usepackage{caption}
\usepackage{tabularx}

\begin{document}
\begin{table}
\centering
\caption{Table example}
\begin{tabularx}{\linewidth}{
  |>{\centering\arraybackslash}X|
   >{\centering\arraybackslash}X<{\unskip~\%}|
}
\hline
\textbf{Number}
& \multicolumn{1}{X|}{\centering\textbf{Probability}} \\ \hline
   0    & 100    \\ \hline
 998.13 &  60    \\ \hline
1996.26 &  31.37 \\ \hline
2994.39 &  16.11 \\ \hline
3992.52 &   8.26 \\ \hline
4990.64 &   4.23 \\ \hline
5988.77 &   2.17 \\ \hline
6986.90 &   1.11 \\ \hline
7828.46 &   0.63 \\ \hline
\end{tabularx}
\end{table}
\end{document}

结果居中,不对齐数字

答案2

好的,这里有一个完整的例子,它应该可以澄清可能的评论:

\documentclass{article}
    \usepackage{tabularx}
% definition of new column type should be in preamble of your document
\newcolumntype{C}{>{\centering\arraybackslash}X}

\begin{document}
\begin{table}%[H] if possible, avoid to use ``[H] 
             % option for placing of table, better is [htbp]
    \centering
\begin{tabularx}{\textwidth}{|C|C|}
\hline
\textbf{Number} & \textbf{Probability} \\ \hline
0 & 100 \% \\ \hline
998.13 & 60 \% \\ \hline
1996.26 & 31.37 \% \\ \hline
2994.39 & 16.11 \% \\ \hline
3992.52 & 8.26 \% \\ \hline
4990.64 & 4.23 \% \\ \hline
5988.77 & 2.17\% \\ \hline
6986.90 & 1.11\% \\ \hline
7828.46 & 0.63\% \\ \hline
\end{tabularx}
\caption{An important table ...}
\end{table}
    \end{document}

以及表的瞭望台:

在此处输入图片描述

对我来说,Heiko Oberdiek 答案中的表格看起来要好得多。

相关内容