表格中的颜色和文本重叠后 cline 缺失

表格中的颜色和文本重叠后 cline 缺失

我的代码和我得到的东西,

\documentclass{article}
\usepackage{ragged2e}
\usepackage[utf8]{inputenc}
\usepackage[letterpaper, top=0.5in, bottom=0.5in, left=1.55in, right=1.55in]{geometry}
\usepackage{multirow,array,varwidth,spreadtab,caption}
\usepackage[norule]{footmisc}
\usepackage{pythontex}
\usepackage{siunitx,booktabs,caption}
\usepackage{ragged2e}
\usepackage{layout}
\usepackage{xtab}
\usepackage{float}
\usepackage{gensymb}
\usepackage{hyperref}
\usepackage[some,bottom]{background}
\usepackage{enumerate}
\usepackage{fancyhdr}
\usepackage{color, colortbl}
\usepackage{xcolor}
\usepackage{multicol}
\usepackage{indentfirst}
\newcommand{\mc}[2]{\multicolumn{#1}{c}{#2}}
\definecolor{Gray}{gray}{0.85}
\definecolor{LightCyan}{rgb}{0.88,1,1}

\begin{document}

\begin{table}[ht]
\begin{center}
\begin{tabular}{|c|c|c|c|c|}
    \multicolumn{5}{c}{\textbf{GROSS FISH OIL MARKET}}\\
    \multicolumn{5}{c}{\textbf{AS OF DECEMBER 31, 2014}}\\\hline    
    \rowcolor{LightCyan}  
     & & Proved & Proved & \\
    \rowcolor{LightCyan} 
    \multicolumn{1}{|c|}{\multirow{-1}{*}{Country}}
    &\multicolumn{1}{c|}{\multirow{-1}{*}{Company}}& COOKED & UNCOOKED & 
       \multicolumn{1}{c|}{\multirow{-1}{*}{Total Proved}}\\\cline{3-5}
    \rowcolor{LightCyan} 
    & & (M) & (M)& (M)\\\hline 
    A &  &60,143&36,388&96,531\\\hline
    \multicolumn{1}{|c|}{\multirow{2}{*}{KOREA}} &  &\multicolumn{1}{c|}{\multirow{2}{*}{645,039}} &\multicolumn{1}{c|}{\multirow{2}{*}{914592}}&\multicolumn{1}{c|}{\multirow{2}{*}{1,559,991}}\\
     Qurna & & & & \\\hline
     \multicolumn{1}{|c|}{\multirow{3}{*}{NPVC}}& I& 47,954 &7,724& 55,678 \\\cline{2-5}
     \multicolumn{1}{|c|}{} & K & 21,711 & 8,547  & 32,888  \\\cline{2-5}
     \multicolumn{1}{|c|}{} & L     & 833   & 0       & 843 \\\hline
     TOTAL F & & 52,740  & 937,611  & 1,412,351 \\\hline
\end{tabular}
\end{center}
\label{tab:multicol}
\end{table}


\end{document}

我得到的结果如下, 不需要的桌子

如你看到的,第一个问题\cline{3-5}插入到行之后,没有cline或者cline可以被rowcolor覆盖。

第二个问题,文本KoreaQurna不知为何重叠了,如何避免这个问题?

仅感谢您的想法、评论和回答。

问候,

答案1

这是一个解决方案。我\cline{3-5}\hhline命令替换了。我用包简化了代码makecell,允许在单元格中换行,并用cellspace包添加了一些单元格的垂直填充。最后我用以下代码格式化和对齐了数字siunitx

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[letterpaper, top=0.5in, bottom=0.5in, left=1.55in, right=1.55in]{geometry}
\usepackage{multirow,array}
\usepackage{siunitx,booktabs,caption}
\sisetup{table-format=6.0,group-separator ={,}}
\usepackage{ragged2e}
\usepackage{hyperref}
\usepackage{hhline}
\usepackage[table]{xcolor}
\newcommand{\mc}[2]{\multicolumn{#1}{c}{#2}}
\definecolor{Gray}{gray}{0.85}
\definecolor{LightCyan}{rgb}{0.88,1,1}
\usepackage{makecell}
\renewcommand\theadfont{\bfseries}
\renewcommand\cellalign{bc}
\usepackage{cellspace}
\setlength\cellspacetoplimit{4pt}
\setlength\cellspacebottomlimit{4pt}

\begin{document}

\begin{table}[ht]
  \centering\
  \begin{tabular}{|Cc|Cc|S[table-format=5.0]|S|S[table-format=7.0]|}
    \multicolumn{5}{c}{\thead{GROSS FISH OIL MARKET \\ AS OF DECEMBER 31, 2014}}\\
    \hline
    \rowcolor{LightCyan}
    {Country} & {Company} & {\makecell{Proved \\COOKED}} & {\makecell{ Proved \\UNCOOKED}} &
    {\makecell{\\Total Proved}}\\        
    \hhline{>{\arrayrulecolor{LightCyan}}|>{\arrayrulecolor{LightCyan}}->{\arrayrulecolor{black}}|%
    >{\arrayrulecolor{LightCyan}}->{\arrayrulecolor{black}}|---}
    \rowcolor{LightCyan} & & {(M)} & {(M)} & {(M)} \\
    \hline
    A & & 60143 & 36388 & 96531 \\
    \hline
    \renewcommand\cellalign{cc}\makecell{KOREA \\Qurna} & & 645039 & 914592 & 1559991 \\
    \hline
    \multirowcell{3}[-0.67ex]{NPVC}& I & 47954 & 7724 & 55678 \\\cline{2-5}
   & K & 21711 & 8547 & 32888 \\\cline{2-5}
    & L & 833 & 0 & 843 \\\hline
    TOTAL F & & 52740 & 937611 & 1412351 \\\hline
  \end{tabular}
  \label{tab:multicol}
\end{table}

\end{document} 

在此处输入图片描述

答案2

使用较新版本nicematrix(≥ 5.19 2021-07-23),我们可以使用以下代码获得结果。

\documentclass{article}
\usepackage[left=1cm, right=1cm]{geometry}
\usepackage{siunitx}
\sisetup{table-format=6.0,group-separator ={,}}
\usepackage{xcolor}
\usepackage{nicematrix}

\begin{document}

\begin{table}[ht]
\centering\
\textbf{GROSS FISH OIL MARKET} \\ 
\textbf{AS OF DECEMBER 31, 2014} \\
\begin{NiceTabular}[hvlines,cell-space-limits=4pt]
  {ccS[table-format=5.0]SS[table-format=7.0]}
\CodeBefore
  \rowcolor[rgb]{0.88,1,1}{1,2}
\Body
  \Block{2-1}{Country} & \Block{2-1}{Compagny} & \Block[b]{}{Proved \\COOKED} & \Block[b]{}{ Proved \\UNCOOKED} &
  {Total Proved} \\        
  & & {(M)} & {(M)} & {(M)} \\
  A & & 60143 & 36388 & 96531 \\
  \Block{}{KOREA \\Qurna} & & 645039 & 914592 & 1559991 \\
  \Block{3-1}{NPVC}& I & 47954 & 7724 & 55678 \\
  & K & 21711 & 8547 & 32888 \\
  & L & 833 & 0 & 843 \\
TOTAL F & & 52740 & 937611 & 1412351 \\
\end{NiceTabular}
\end{table}

\end{document} 

其优点如下:

  • 您不必使用hhline, 也不必multirow, 也不必cellspace, 也不必makecell
  • 对于规则,您只需使用密钥hvlines(不需要cline)。
  • 您不必定义带有名称的颜色,因为您只需指定一次颜色。
  • 在某些缩放级别下,PDF 查看器中不会出现伪影。

然而,您必须编译多次。

上述代码的输出

相关内容