多列和多行会导致不必要的垂直线

多列和多行会导致不必要的垂直线

我想要得到的东西: 在此处输入图片描述

我得到的是: 在此处输入图片描述

最小工作示例:

\begin{longtable}{ | l | p{7cm} | l | p{6.5cm} | } \hline
\multicolumn{2}{|c|}{\multirow{2}{*}{Índice}}   & \multicolumn{2}{|c|}{Artigos} \\ \cline{3-4}
                &   & Total & Referências
\\ \hline
\end{longtable}

问题:

  1. 为什么会发生这种情况?
  2. 如何修复?

答案1

您的环境存在两个独立的问题longtable

  • 第一行双倍厚度的垂直分隔线

  • 第 2 行中不需要垂直分隔线

在此处输入图片描述

要修复第一个问题,请将其更改\multicolumn{2}{|c|}{Artigos}\multicolumn{2}{c|}{Artigos}。要修复第二个问题,请将第二行中第一个空白单元格更改为\multicolumn{1}{|l}{}。修复的效果在上图的下半部分可见。

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[portuguese]{babel}
\usepackage{longtable,multirow,array}

\begin{document}

% first 'longtable' contains 2 mistakes
\begin{longtable}{ | l | p{7cm} | l | p{6.5cm} | } \hline
\multicolumn{2}{|c|}{\multirow{2}{*}{Índice}} & 
\multicolumn{2}{|c|}{Artigos} \\ 
\cline{3-4}
 & & Total & Referências \\ 
\hline
\end{longtable}

% second 'longtable' fixes both mistakes
\begin{longtable}{ | l | p{7cm} | l | p{6.5cm} | } \hline
\multicolumn{2}{|c|}{\multirow{2}{*}{Índice}} & 
\multicolumn{2}{ c|}{Artigos} \\ 
\cline{3-4}
\multicolumn{1}{|l}{} & & Total & Referências \\ 
\hline
\end{longtable}

\end{document}

答案2

tabularray

您没有说明您使用的是哪个文档类。请注意,考虑到其列宽,您的表格超出了边框,属于普通article类。

\documentclass{article}
\usepackage{geometry}
\usepackage[T1]{fontenc}
\usepackage[portuguese]{babel}
\usepackage{tabularray}

\begin{document}
\begin{longtblr}[
  caption={My table}
  ]{
  colspec={lp{7cm}lp{6.5cm}},
  hline{1-3,Z}={}, vlines
  }
  \SetCell[c=2,r=2]{c}{Índice} & & \SetCell[c=2]{c}{Artigos} & \\ 
  & & Total & Referências \\  
  A & B & C & D\\
  E & F & G & H\\
  J & K & L & M\\
\end{longtblr}
\end{document}

在此处输入图片描述

相关内容