这是我的代码。
\documentclass{article}
\usepackage{ragged2e}
\usepackage{tabularx, makecell}
\setlength{\extrarowheight}{2pt}
\setlength{\tabcolsep}{3pt}%
\begin{document}
\begin{tabularx}{\linewidth}{l*{5}{|>{\centering\arraybackslash}X}@{}}
\Xhline{0.8pt}
% \cline{1-8}
% \diagbox{Estimator}{AUC}
\\& \makecell{ MLE } & \makecell{Ridge } &\makecell{ Lasso }&\makecell{James-Stein} & \makecell{Empirical\\Bayes} \\
\hline
AUC &\makecell{ 0.66 }&\makecell{ 0.66} &\makecell{0.67 }&\makecell{ 0.75} & \makecell{0.74 } \\
\hline
\end{tabularx}
\captionof{table}{AUC computed by shrinkage estimators} \label{auctab1}
\hfill \break
\end{document}
我想知道为什么单元格没有被封闭。哪个参数会影响这个问题?我该如何修复?谢谢。
答案1
问题出\\
在表格中的第一个单元格。垂直线仅插入到存在的单元格中,而该行中只有一个单元格,因此只插入一行。对于该表格中没有足够单元格的每一行都是如此(只需在\\
任意位置插入一个单元格即可看到效果)。因此,通过插入缺失的单元格或删除该行可以解决您的问题:
\documentclass{article}
\usepackage{ragged2e}
\usepackage{tabularx, makecell}
\setlength{\extrarowheight}{2pt}
\setlength{\tabcolsep}{3pt}%
\begin{document}
\begin{table}
\begin{tabularx}{\linewidth}{l*{5}{|>{\centering\arraybackslash}X}@{}}
\Xhline{0.8pt}
&&&&&\\% Note the leading &s in this line
& \makecell{ MLE } & \makecell{Ridge } &\makecell{ Lasso }&\makecell{James-Stein} & \makecell{Empirical\\Bayes} \\
\hline
AUC &\makecell{ 0.66 }&\makecell{ 0.66} &\makecell{0.67 }&\makecell{ 0.75} & \makecell{0.74 } \\
\hline
\end{tabularx}
\caption{AUC computed by shrinkage estimators} \label{auctab1}
\end{table}
\hfill \break
\end{document}