具有固定宽度居中的表格无法编译

具有固定宽度居中的表格无法编译

好吧,我想我从来没有遇到过这样的问题。下面的代码可以编译。但如果我取消注释注释行,它就不会编译。我做错了什么?

\documentclass[11pt]{article}
\usepackage{amsmath}
\usepackage{booktabs}
\usepackage{array}

\begin{document}

\begin{center}
\begin{tabular}{*{4}{>{\centering}p{2cm} |}}\toprule
%$x$ & $p$ & $xp$ & $x^2p$ \\\midrule
2 & 0.1 & &\\
3 & 0.2 & &\\
4 & 0.2 & &\\
5 & & &\\\midrule
$\sum x=$ & $\sum p=$ & $\sum xp=$ & $\sum x^2p=$ 
\end{tabular}
\end{center}

\end{document}

答案1

您需要使用>{\centering\arraybackslash}since\centering重新定义\\(我删除了垂直线,因为它们的使用不会产生好的结果,更多的 if booktabs' 功能正在使用中):

\documentclass[11pt]{article}
\usepackage{amsmath}
\usepackage{booktabs}
\usepackage{array}

\begin{document}

\begin{center}
\begin{tabular}{*{4}{>{\centering\arraybackslash}p{2cm} }}\toprule
$x$ & $p$ & $xp$ & $x^2p$ \\\midrule
2 & 0.1 & &\\
3 & 0.2 & &\\
4 & 0.2 & &\\
5 & & &\\\midrule
$\sum x=$ & $\sum p=$ & $\sum xp=$ & $\sum x^2p=$ 
\end{tabular}
\end{center}

\end{document}

在此处输入图片描述

另一个选择是使用\tabularnewline而不是\\

\documentclass[11pt]{article}
\usepackage{amsmath}
\usepackage{booktabs}
\usepackage{array}

\begin{document}

\begin{center}
\begin{tabular}{*{4}{>{\centering}p{2cm} }}\toprule
$x$ & $p$ & $xp$ & $x^2p$ \tabularnewline\midrule
2 & 0.1 & &\tabularnewline
3 & 0.2 & &\tabularnewline
4 & 0.2 & &\tabularnewline
5 & & &\tabularnewline\midrule
$\sum x=$ & $\sum p=$ & $\sum xp=$ & $\sum x^2p=$ 
\end{tabular}
\end{center}

\end{document}

相关内容