我对对齐有疑问tabular
。我使用了代码
\begin{center}
\begin{tabular}{|m{1.5cm}|m{1.5cm}||m{1.5cm}|m{1.5cm}|}
\hline
1& 2 & 7 & 8 \\
0 & 89 & 100 & 55\\
4 & 6 & 4999& 055\\
\hline
\end{tabular}
\end{center}
我想要元素居中。我应该使用什么命令?
答案1
不需要m
-type 列,因为它们用于垂直的单元格内容的对齐。你似乎对居中类型的列感兴趣p
:
\documentclass{article}
\usepackage{array,booktabs}
\begin{document}
\begin{center}
\begin{tabular}{ *{4}{>{\centering\arraybackslash}p{1.5cm}} }
\toprule
1 & 2 & 7 & 8 \\
0 & 89 & 100 & 55 \\
4 & 6 & 4999 & 055 \\
\bottomrule
\end{tabular}
\end{center}
\end{document}
以上内容表明了一些事情:
使用
booktabs
用于表格呈现;使用简写形式表示重复的列规范:
*{<num>}{<col spec>}
;和使用
array
>{<before>}
用(或)符号表示的列中的每个单元格插入内容<{<after>}
。
如果你想要按最低有效数字对齐数字,那么可以考虑使用siunitx
:
\documentclass{article}
\usepackage{booktabs,siunitx}
\begin{document}
\begin{center}
\sisetup{table-column-width=15mm}
\begin{tabular}{
S[table-format=1]% x
S[table-format=2]% xx
S[table-format=4]% xxxx
S[table-format=3]% xxx
}
\toprule
1 & 2 & 7 & 8 \\
0 & 89 & 100 & 55 \\
4 & 6 & 4999 & 055 \\
\bottomrule
\end{tabular}
\end{center}
\end{document}
请注意,0
数字中的 -prefixes 已被删除(应该这样做)。
答案2
\documentclass{article}
\usepackage{array,booktabs,ragged2e}
\newcolumntype{C}[1]{>{\Centering}p{#1}}
\begin{document}
\begin{center}
\begin{tabular}{ *4{C{1.5cm}} }% or { C{1.5cm} C{1.5cm} ... }
\toprule
1 & 2 & 7 & 8 \\
0 & 89 & 100 & 55 \\
4 & 6 & 4999 & 055 \\
\bottomrule
\end{tabular}
\end{center}
\end{document}