我在表格的最右列中使用了多行,但垂直线被截断了。我该如何修复这个问题?
\begin{table*}[t]
\begin{center}
\resizebox{1\textwidth}{!}{
%\scriptsize
\begin{tabular}{|l|l|cc|cc|cc|cc|r|}
\hline%\noalign{\smallskip}
\multirow{2}{*}{Type} & \multirow{2}{*}{Model} &
\multicolumn{2}{c|}{$\text{x}_{1:5} \rightarrow \hat{\text{x}}_{6:15}$} & \multicolumn{2}{c|}{$\text{x}_{1:5} \rightarrow \hat{\text{x}}_{6:20}$} & \multicolumn{2}{c|}{$\text{x}_{1:10} \rightarrow \hat{\text{x}}_{11:20}$} & \multicolumn{2}{c|}{$\text{x}_{1:10} \rightarrow \hat{\text{x}}_{11:30}$} & \multirow{2}{*}{\# Params} \\
& & SSIM & MSE & SSIM & MSE & SSIM & MSE & SSIM & MSE \\
\hline
\end{tabular}
}
\end{center}
答案1
正如 leandriis 所说,第二行的最后一条垂直线没有绘制出来,因为您的行不完整,因为没有最后一个单元格。&
在该行的末尾放置会创建该单元格并绘制线。
您还可以考虑使用包nicematrix
。在该包的环境中{NiceTabular}
,始终会绘制前言中指定的垂直规则|
。无需|
在中添加后缀\multicolummn
,即使行不完整,也会绘制规则。
\documentclass{article}
\usepackage{graphicx}
\usepackage{multirow}
\usepackage{amsmath}
\usepackage{nicematrix}
\begin{document}
\begin{table*}[t]
\begin{center}
\resizebox{1\textwidth}{!}{
%\scriptsize
\begin{NiceTabular}{|l|l|cc|cc|cc|cc|r|}
\hline%\noalign{\smallskip}
\multirow{2}{*}{Type} & \multirow{2}{*}{Model} &
\multicolumn{2}{c}{$\text{x}_{1:5} \rightarrow \hat{\text{x}}_{6:15}$} & \multicolumn{2}{c}{$\text{x}_{1:5} \rightarrow \hat{\text{x}}_{6:20}$} & \multicolumn{2}{c}{$\text{x}_{1:10} \rightarrow \hat{\text{x}}_{11:20}$} & \multicolumn{2}{c}{$\text{x}_{1:10} \rightarrow \hat{\text{x}}_{11:30}$} & \multirow{2}{*}{\# Params} \\
& & SSIM & MSE & SSIM & MSE & SSIM & MSE & SSIM & MSE \\
\hline
\end{NiceTabular}
}
\end{center}
\end{table*}
\end{document}