多行表中缺少垂直线

多行表中缺少垂直线

我正在尝试制作一个表格,但缺少一些垂直线。有人能帮我看看错误吗?

\documentclass[11pt]{article}
\usepackage[utf8]{inputenc}
\usepackage{dsfont}
\parindent0em
\usepackage{graphicx}
\usepackage{amsmath}
\usepackage{multirow}


\begin{document}

\begin{tabular}{c|c|c|c|c|c|c|c|} 
\cline{2-8} & \multicolumn{1}{c|}{Generacion} & Nombre & Simbolo & Masa(eV) & Espin & Carga($e$) & Color \\ \cline{1-8} 

\multicolumn{1}{ |c| }{\multirow{3}{*}{Quarks} } & \multirow{2}{*}{1a} & UP & 2 & 0 & 1 &5& 5\\
& \multicolumn{1}{ |c| }{} & UP & 2 & 0 & 1 &5& 5\\ \cline{2-8}
\multicolumn{1}{ |c| }{}& \multirow{2}{*}{2a} & UP & 2 & 0 & 1 &5& 5\\  
&\multicolumn{1}{ |c| }{} & UP & 2 & 0 & 1 &5& 5\\ \cline{2-8} 
\multicolumn{1}{ |c| }{} & \multirow{2}{*}{3a} & UP & 2 & 0 & 1 &5& 5\\  
&\multicolumn{1}{ |c| }{} & UP & 2 & 0 & 1 &5& 5\\ \cline{1-8} 
\cline{1-8} 

\multicolumn{1}{ |c| }{\multirow{3}{*}{Leptones} } & \multirow{2}{*}{1a} & UP & 2 & 0 & 1 &5& 5\\
& & UP & 2 & 0 & 1 &5& 5\\ \cline{2-8}
\multicolumn{1}{ |c| }{} & \multirow{2}{*}{2a} & UP & 2 & 0 & 1 &5& 5\\  
& & UP & 2 & 0 & 1 &5& 5\\ \cline{2-8} 
\multicolumn{1}{ |c| }{} & \multirow{2}{*}{3a} & UP & 2 & 0 & 1 &5& 5\\  
& & UP & 2 & 0 & 1 &5& 5\\ \cline{1-8} 
\cline{1-8} 


\multicolumn{2}{|c|}{\multirow{5}{*}{Bosones}} & UP & 2 & 0 & 1 &5& 5\\ 
\multicolumn{2}{|c|}{} & UP & 2 & 0 & 1 &5& 5\\          
\multicolumn{2}{|c|}{} & UP & 2 & 0 & 1 &5& 5\\ 
\multicolumn{2}{|c|}{} & UP & 2 & 0 & 1 &5& 5\\ \cline{3-8}
\multicolumn{2}{|c|}{} & UP & 2 & 0 & 1 &5& 5\\ \cline{3-8}
\cline{1-8} 

\end{tabular}

\end{document}

表格如下

谢谢

答案1

您的帖子中没有提到的一个重要问题是表格太宽以适应文本块。可以通过以下方法解决此问题:(i) 将单元放在单独行中的两个标题单元格中,以及 (ii) 将\tabcolsep控制列间空白量的参数 的值减少三分之一(从6pt4pt)。

表格代码有点混乱,希望你不介意我的批评。它可以通过以下方式大大简化:(a) 通过以下方式设置结构

\begin{tabular}{|*{8}{c|}}

(b) 删除大量\multicolumn{1}{ |c| }{}指令。还请用 替换所有\cline{1-8}指令\hline并删除三条冗余\cline指令。

在此处输入图片描述

\documentclass[11pt]{article}
\usepackage[utf8]{inputenc}
\usepackage{dsfont}
\parindent0em
\usepackage{multirow,array}
\begin{document}

\setlength\tabcolsep{4pt} % default value: 6pt

\begin{tabular}{|*{8}{c|}} 
\cline{2-8} 
\multicolumn{1}{c|}{}& Generacion & Nombre & Simbolo & Masa & Espin & Carga  & Color \\ 
\multicolumn{1}{c|}{}& & & & (eV) & ($e$) &  & \\
\hline 
\multirow{3}{*}{Quarks} & \multirow{2}{*}{1a} 
                       & UP & 2 & 0 & 1 &5& 5\\
&                      & UP & 2 & 0 & 1 &5& 5\\ 
\cline{2-8}
& \multirow{2}{*}{2a}  & UP & 2 & 0 & 1 &5& 5\\  
&                      & UP & 2 & 0 & 1 &5& 5\\ 
\cline{2-8} 
& \multirow{2}{*}{3a}  & UP & 2 & 0 & 1 &5& 5\\  
&                      & UP & 2 & 0 & 1 &5& 5\\ 
\hline 
\multirow{3}{*}{Leptones} & \multirow{2}{*}{1a} 
                       & UP & 2 & 0 & 1 &5& 5\\
&                      & UP & 2 & 0 & 1 &5& 5\\ 
\cline{2-8}
& \multirow{2}{*}{2a}  & UP & 2 & 0 & 1 &5& 5\\  
&                      & UP & 2 & 0 & 1 &5& 5\\ 
\cline{2-8} 
& \multirow{2}{*}{3a}  & UP & 2 & 0 & 1 &5& 5\\  
&                      & UP & 2 & 0 & 1 &5& 5\\ 
\hline  
\multicolumn{2}{|c|}{\multirow{5}{*}{Bosones}} 
                       & UP & 2 & 0 & 1 &5& 5\\ 
\multicolumn{2}{|c|}{} & UP & 2 & 0 & 1 &5& 5\\          
\multicolumn{2}{|c|}{} & UP & 2 & 0 & 1 &5& 5\\ 
\multicolumn{2}{|c|}{} & UP & 2 & 0 & 1 &5& 5\\ 
\cline{3-8}
\multicolumn{2}{|c|}{} & UP & 2 & 0 & 1 &5& 5\\ 
\hline 

\end{tabular}
\end{document}

可选:所有这些垂直线和水平线不是有助于提高表格的可读性和可理解性;我认为这两个标准对您的工作很重要。删除所有垂直线,用\cline一些(垂直)空白替换说明,并使用规则绘制宏(\toprule\midrule\bottomrule书签包给你以下的外观——我希望你会同意它看起来至少和上面的表格一样好:

在此处输入图片描述

\documentclass[11pt]{article}
\usepackage[utf8]{inputenc}
\usepackage{dsfont}
\parindent0em
\usepackage{multirow,array,booktabs}
\begin{document}
\setlength\tabcolsep{4pt}

\begin{tabular}{@{}l*{7}{c}@{}} 
\toprule 
& Generacion & Nombre & Simbolo & Masa & Espin & Carga  & Color \\ 
& & & & (eV) & ($e$) &  & \\
\midrule 
\multirow{3}{*}{Quarks}  & \multirow{2}{*}{1a} & UP & 2 & 0 & 1 &5& 5\\
& & UP & 2 & 0 & 1 &5& 5\\ \addlinespace
& \multirow{2}{*}{2a} & UP & 2 & 0 & 1 &5& 5\\  
& & UP & 2 & 0 & 1 &5& 5\\ \addlinespace 
& \multirow{2}{*}{3a} & UP & 2 & 0 & 1 &5& 5\\  
&{} & UP & 2 & 0 & 1 &5& 5\\ 
\midrule 
\multirow{3}{*}{Leptones}  & \multirow{2}{*}{1a} & UP & 2 & 0 & 1 &5& 5\\
& & UP & 2 & 0 & 1 &5& 5\\ 
\addlinespace
& \multirow{2}{*}{2a} & UP & 2 & 0 & 1 &5& 5\\  
& & UP & 2 & 0 & 1 &5& 5\\ 
\addlinespace 
 & \multirow{2}{*}{3a} & UP & 2 & 0 & 1 &5& 5\\  
& & UP & 2 & 0 & 1 &5& 5\\ 
\midrule  
\multicolumn{2}{c}{\multirow{5}{*}{Bosones}} & UP & 2 & 0 & 1 &5& 5\\ 
&  & UP & 2 & 0 & 1 &5& 5\\          
&  & UP & 2 & 0 & 1 &5& 5\\ 
&  & UP & 2 & 0 & 1 &5& 5\\ 
\addlinespace
&  & UP & 2 & 0 & 1 &5& 5\\ 
\bottomrule 
\end{tabular}

\end{document}

答案2

使用

\begin{tabular}{|c|c|c|c|c|c|c|c|} 

如果您确实想要垂直线 - 我们不推荐这样做 - 并删除不需要的\multicolumn{1}{|c|}{}s。

线

\documentclass[11pt]{article}
\usepackage[utf8]{inputenc}
\usepackage{multirow}
\usepackage{parskip}

\begin{document}

\begin{tabular}{|c|c|c|c|c|c|c|c|}
  \cline{2-8} \multicolumn{1}{c}{}& \multicolumn{1}{|c|}{Generacion} & Nombre & Simbolo & Masa(eV) & Espin & Carga($e$) & Color \\ \cline{1-8}

\multirow{3}{*}{Quarks}  & \multirow{2}{*}{1a} & UP & 2 & 0 & 1 &5& 5\\
&  & UP & 2 & 0 & 1 &5& 5\\ \cline{2-8}
& \multirow{2}{*}{2a} & UP & 2 & 0 & 1 &5& 5\\
& & UP & 2 & 0 & 1 &5& 5\\ \cline{2-8}
 & \multirow{2}{*}{3a} & UP & 2 & 0 & 1 &5& 5\\
& & UP & 2 & 0 & 1 &5& 5\\ \cline{1-8}

\multirow{3}{*}{Leptones}  & \multirow{2}{*}{1a} & UP & 2 & 0 & 1 &5& 5\\
& & UP & 2 & 0 & 1 &5& 5\\ \cline{2-8}
 & \multirow{2}{*}{2a} & UP & 2 & 0 & 1 &5& 5\\
& & UP & 2 & 0 & 1 &5& 5\\ \cline{2-8}
 & \multirow{2}{*}{3a} & UP & 2 & 0 & 1 &5& 5\\
& & UP & 2 & 0 & 1 &5& 5\\ \cline{1-8}


\multicolumn{2}{|c|}{\multirow{5}{*}{Bosones}} & UP & 2 & 0 & 1 &5& 5\\
\multicolumn{2}{|c|}{} & UP & 2 & 0 & 1 &5& 5\\
\multicolumn{2}{|c|}{} & UP & 2 & 0 & 1 &5& 5\\
\multicolumn{2}{|c|}{} & UP & 2 & 0 & 1 &5& 5\\ \cline{3-8}
\multicolumn{2}{|c|}{} & UP & 2 & 0 & 1 &5& 5\\ \cline{3-8}

\end{tabular}

\end{document}

不过,我还是建议你重新考虑一下你的演讲。我强烈建议你看一下booktabs有关创建专业质量表格的文档。

快速改造:

改造后的桌子

\documentclass[11pt]{article}
\usepackage[utf8]{inputenc}
\usepackage{multirow,booktabs}
\usepackage{parskip}

\begin{document}

  \begin{tabular}{*{8}{c}}
  \toprule & Generacion & Nombre & Simbolo & Masa(eV) & Espin & Carga($e$) & Color \\\midrule

  \multirow{3}{*}{Quarks}  & \multirow{2}{*}{1a} & UP & 2 & 0 & 1 &5& 5\\
  &  & UP & 2 & 0 & 1 &5& 5\\ \cmidrule{2-8}
  & \multirow{2}{*}{2a} & UP & 2 & 0 & 1 &5& 5\\
  & & UP & 2 & 0 & 1 &5& 5\\ \cmidrule{2-8}
  & \multirow{2}{*}{3a} & UP & 2 & 0 & 1 &5& 5\\
  & & UP & 2 & 0 & 1 &5& 5\\
  \midrule

  \multirow{3}{*}{Leptones}  & \multirow{2}{*}{1a} & UP & 2 & 0 & 1 &5& 5\\
  & & UP & 2 & 0 & 1 &5& 5\\ \cmidrule{2-8}
  & \multirow{2}{*}{2a} & UP & 2 & 0 & 1 &5& 5\\
  & & UP & 2 & 0 & 1 &5& 5\\ \cmidrule{2-8}
  & \multirow{2}{*}{3a} & UP & 2 & 0 & 1 &5& 5\\
  & & UP & 2 & 0 & 1 &5& 5\\
  \midrule

  \multicolumn{2}{c}{\multirow{5}{*}{Bosones}} & UP & 2 & 0 & 1 &5& 5\\
  & & UP & 2 & 0 & 1 &5& 5\\
  & & UP & 2 & 0 & 1 &5& 5\\
  & & UP & 2 & 0 & 1 &5& 5\\ \cmidrule{3-8}
  & & UP & 2 & 0 & 1 &5& 5\\
  \bottomrule

\end{tabular}

答案3

给你。以下代码为该表提出了两个版本。

– 首先,具有水平和所有垂直规则的表格,略有改进(第一列的单元格垂直居中)。

– 然后提出一个没有垂直规则、水平规则少得多的解决方案,基于booktabs,在我看来,这会产生更简单的代码,而且看起来更好看:

\documentclass[11pt]{article}
\usepackage[utf8]{inputenc}
\parindent0em
\usepackage{graphicx}
\usepackage{amsmath}
\usepackage{multirow, makecell}
\usepackage{cellspace, booktabs}
\setlength\cellspacetoplimit{5pt}
%\setlength\cellspacebottomlimit{4pt}

\begin{document}

\begin{tabular}{|c|c|Sc|c|c|c|c|c|}
  \cline{2-8}
  \multicolumn{1}{c|}{} & \multicolumn{1}{c|}{Generacion} & Nombre & Simbolo & Masa(eV) & Espin & Carga($e$) & Color \\ \cline{1-8}
  \multicolumn{1}{|c|}{\multirowcell{6}[-5pt]{Quarks}} & \multirow{2}{*}{1a} & UP & 2 & 0 & 1 & 5 & 5 \\
                                                           & \multicolumn{1}{ c| }{} & UP & 2 & 0 & 1 & 5 & 5 \\ \cline{2-8}
  & \multirow{2}{*}{2a} & UP & 2 & 0 & 1 & 5 & 5 \\
                                                           & \multicolumn{1}{c |}{} & UP & 2 & 0 & 1 & 5 & 5 \\ \cline{2-8}
  & \multirow{2}{*}{3a} & UP & 2 & 0 & 1 & 5 & 5 \\
                                                           & \multicolumn{1}{c| }{} & UP & 2 & 0 & 1 & 5 & 5 \\ \cline{1-8}
  \cline{1-8}

  \multicolumn{1}{ |c| }{\multirow{6}{*}[-5pt]{Leptones} } & \multirow{2}{*}{1a} & UP & 2 & 0 & 1 & 5 & 5 \\
                                                           & & UP & 2 & 0 & 1 & 5 & 5 \\ \cline{2-8}
   & \multirow{2}{*}{2a} & UP & 2 & 0 & 1 & 5 & 5 \\
                                                           & & UP & 2 & 0 & 1 & 5 & 5 \\ \cline{2-8}
  & \multirow{2}{*}{3a} & UP & 2 & 0 & 1 & 5 & 5 \\
                                                           & & UP & 2 & 0 & 1 & 5 & 5 \\ \cline{1-8}
  \cline{1-8}

  \multicolumn{2}{|c|}{\multirow{5}{*}[-5pt]{Bosones}} & UP & 2 & 0 & 1 &5& 5\\
  \multicolumn{2}{|c|}{} & UP & 2 & 0 & 1 &5& 5\\
  \multicolumn{2}{|c|}{} & UP & 2 & 0 & 1 &5& 5\\
  \multicolumn{2}{|c|}{} & UP & 2 & 0 & 1 &5& 5\\ \cline{3-8}
  \multicolumn{2}{|c|}{} & UP & 2 & 0 & 1 &5& 5\\ \cline{3-8}
  \cline{1-8}
\end{tabular}

\begin{tabular}{l*{7}{c}}
  \cmidrule[\heavyrulewidth]{2-8}
  \multicolumn{1}{c}{} & \multicolumn{1}{c}{Generacion} & Nombre & Simbolo & Masa(eV) & Espin & Carga($e$) & Color \\
  \cmidrule(lr){2-8}
  \multicolumn{1}{c}{\multirowcell{6}[-5pt]{Quarks}} & \multirow{2}{*}{1a} & UP & 2 & 0 & 1 & 5 & 5 \\
                                                      & & UP & 2 & 0 & 1 & 5 & 5 \\
  \addlinespace
                                                      & \multirow{2}{*}{2a} & UP & 2 & 0 & 1 & 5 & 5 \\
                                                      & & UP & 2 & 0 & 1 & 5 & 5 \\
  \addlinespace
                                                      & \multirow{2}{*}{3a} & UP & 2 & 0 & 1 & 5 & 5 \\
                                                      & & UP & 2 & 0 & 1 & 5 & 5 \\
  \cmidrule(lr){2-8}

  %
  \multicolumn{1}{c}{\multirow{6}{*}[-5pt]{Leptones}} & \multirow{2}{*}{1a} & UP & 2 & 0 & 1 & 5 & 5 \\
                                                      & & UP & 2 & 0 & 1 & 5 & 5 \\
  \addlinespace
                                                      & \multirow{2}{*}{2a} & UP & 2 & 0 & 1 & 5 & 5 \\
                                                      & & UP & 2 & 0 & 1 & 5 & 5 \\
  \addlinespace
                                                      & \multirow{2}{*}{3a} & UP & 2 & 0 & 1 & 5 & 5 \\
                                                      & & UP & 2 & 0 & 1 & 5 & 5 \\
  \cmidrule(lr){2-8}
  %
  \multicolumn{2}{c}{\multirow{5}{*}[-5pt]{Bosones}} & UP & 2 & 0 & 1 &5& 5\\
                                                      & & UP & 2 & 0 & 1 & 5 & 5 \\
                                                      & & UP & 2 & 0 & 1 & 5 & 5 \\
                                                      & & UP & 2 & 0 & 1 & 5 & 5 \\
  \cmidrule(lr){3-8}
                                                      & & UP & 2 & 0 & 1 & 5 & 5 \\
  \cmidrule[\heavyrulewidth]{3-8}
\end{tabular}

\end{document} 

在此处输入图片描述

在此处输入图片描述

答案4

&失踪

当我在表格中添加另一列时,我遇到了同样的问题multirow multicolumn。新列中的某些行缺少垂直线。

在此处输入图片描述

我意识到在创建表格时我忘记添加&所有“占位符行”。它解决了该问题。

在此处输入图片描述

通常构建会抱怨这种缺失&并停止构建,但这些表格看起来更加复杂,并且更难出错。

概括

这些 multirow multicolumn 很难被忽视,并且一列中的“占位符行”可能是另一列中的常规行。

相关内容