多行和多列缺少行

多行和多列缺少行

我正在尝试创建一个使用多列和多行的表,但遇到了一些图形问题。

正如您在下图中看到的,右上角缺少一条线,第二条水平线在单元格中间切断)

表格图像

找到下面的代码。

\documentclass{article}

%Used to create Macro 1
\usepackage{array}

\usepackage{multirow}

%Used for \textsubscript
\usepackage{fixltx2e}

%Macro
\newcolumntype{"}{@{\hskip\tabcolsep\vrule width 1pt\hskip\tabcolsep}}
\makeatother

\begin{document}


\begin{table}
       \centering
       \begin{tabular}[ht]{|c"c|c|c|c|}

              \hline

              \multirow{2}{*}{\textbf{Change}}          & \multicolumn{2}{c}{\textbf{Main}}       & \multicolumn{2}{c}{\textbf{Sub}}        \\ \cline{2-5}

                     & \textbf{P}                & \textbf{A}                & \textbf{P}                & \textbf{A}         \\ \hline    
              1      & U                         & R\textsubscript{ef}       & R\textsubscript{ef}       & U                  \\ \hline
              2      & U                         & U                         & R\textsubscript{ef}       & R\textsubscript{ef} \\ \hline
              3      & G                         & P                         & P                         & G                  \\ \hline
              4      & P                         & P                         & G                         & G                  \\ \hline
              5      & A                         & A                         & N/A                       & N/A                \\ \hline
              6      & E                         & E                         & N/A                       & N/A                \\ \hline
              7      & E                         & E                         & N/A                       & N/A                \\ \hline
              8      & E                         & E                         & N/A                       & N/A                \\ \hline
              9      & E                         & E                         & N/A                       & N/A                \\ \hline
              10     & E                         & E                         & G                         & G                  \\ \hline
              11     & E                         & E                         & G                         & G                  \\ \hline
              12     & E                         & E                         & G                         & G                  \\ \hline
              13     & R\textsubscript{ed}       & R\textsubscript{ed} &     N/A                         & N/A                \\ \hline


       \end{tabular}
       \caption{X }
       \label{table:X}
\end{table}


\end{document}

如果您需要任何其他信息,请发表评论,我会添加信息。

答案1

检查一下:

在表格规范中添加 | 作为

\begin{tabular}[ht]{|c|c|c|c|c|} %%instead of "

 \multicolumn{2}{c|}{\textbf{Sub}}  %%note the | after c

给予

\documentclass{article}

%Used to create Macro 1
\usepackage{array}

\usepackage{multirow}

 %Used for \textsubscript
 \usepackage{fixltx2e}

 %Macro

\newcolumntype{"}{@{\hskip\tabcolsep\vrule width 1pt\hskip\tabcolsep}}
\makeatother

\begin{document}


\begin{table}
   \centering
   \begin{tabular}[ht]{|c|c|c|c|c|} %%added | here instead of "

          \hline

          \multirow{2}{*}{\textbf{Change}}          & \multicolumn{2}{c}{\textbf{Main}}       & \multicolumn{2}{c|}{\textbf{Sub}}        \\ %added | after c       \cline{2-5}

                 & \textbf{P}                & \textbf{A}                & \textbf{P}                & \textbf{A}         \\ \hline    
          1      & U                         & R\textsubscript{ef}       & R\textsubscript{ef}       & U                  \\ \hline
          2      & U                         & U                         & R\textsubscript{ef}       & R\textsubscript{ef} \\ \hline
          3      & G                         & P                         & P                         & G                  \\ \hline
          4      & P                         & P                         & G                         & G                  \\ \hline
          5      & A                         & A                         & N/A                       & N/A                \\ \hline
          6      & E                         & E                         & N/A                       & N/A                \\ \hline
          7      & E                         & E                         & N/A                       & N/A                \\ \hline
          8      & E                         & E                         & N/A                       & N/A                \\ \hline
          9      & E                         & E                         & N/A                       & N/A                \\ \hline
          10     & E                         & E                         & G                         & G                  \\ \hline
          11     & E                         & E                         & G                         & G                  \\ \hline
          12     & E                         & E                         & G                         & G                  \\ \hline
          13     & R\textsubscript{ed}       & R\textsubscript{ed} &     N/A                         & N/A                \\ \hline


   \end{tabular}
   \caption{X }
   \label{table:X}
\end{table}


\end{document}

在此处输入图片描述

对于较粗的垂直线,使用

\begin{tabular}[ht]{|c!{\vrule width 2pt}c|c|c|c|}

对于这样的输出:

在此处输入图片描述

答案2

{NiceTabular}供参考,这里有一种使用创建该表的方法nicematrix

\documentclass{article}
\usepackage{nicematrix,tikz}

\begin{document}

\newcolumntype{I}{|[tikz={line width=1pt}]}

\begin{table}
\centering
\begin{NiceTabular}{cIcccc}[hvlines]
\RowStyle[nb-rows=2]{\bfseries}
\Block{2-1}{Change}     & \Block{1-4}{} % to prevent a vertical rule between "Main" and "Sub"
                          \Block{1-2}{Main}    & & \Block{1-2}{Sub} \\ 
   & P                  & A                    & P                   & A          \\     
1  & U                  & R\textsubscript{ef}  & R\textsubscript{ef} & U                   \\ 
2  & U                  & U                    & R\textsubscript{ef} & R\textsubscript{ef} \\ 
3  & G                  & P                    & P                   & G                   \\ 
4  & P                  & P                    & G                   & G                   \\ 
5  & A                  & A                    & N/A                 & N/A                 \\ 
6  & E                  & E                    & N/A                 & N/A                 \\ 
7  & E                  & E                    & N/A                 & N/A                 \\ 
8  & E                  & E                    & N/A                 & N/A                 \\ 
9  & E                  & E                    & N/A                 & N/A                 \\ 
10 & E                  & E                    & G                   & G                   \\ 
11 & E                  & E                    & G                   & G                   \\ 
12 & E                  & E                    & G                   & G                   \\ 
13 & R\textsubscript{ed}& R\textsubscript{ed}  &     N/A             & N/A                 \\ 
\end{NiceTabular}
\caption{X}
\label{table:X}
\end{table}

\end{document}

您需要进行多次编译(因为nicematrix在后台使用了 PGF/TikZ 节点)。

上述代码的输出

相关内容