我有一张需要扩展到页面宽度的表格,我这样做
\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}
两表变体
评论:
可选参数
tabular
或tabularx
指定表格的锚点位置。t
表示表格的顶部元素(顶部规则或第一行),b
表示底部行或最后一行。默认情况下,表格垂直居中。水平放置。首先使用
\centering
而不是\centerline{...}
。\centering
将段落的行居中,而将\centerline
内容限制为\hbox
并且如果元素不适合当前行宽,则不会发出警告。如果两个表格适合一行,则\hfill
inbetween 会将左表格移到文本区域的左侧,将右表格移到文本区域的右侧。\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 答案中的表格看起来要好得多。