彩色行未显示划定的单元格

彩色行未显示划定的单元格

我在 LaTeX 中生成表格时遇到了多个问题。我需要以 pdf 格式输出。

第一个问题是,顶行是彩色的,单元格没有被划分,即垂直行丢失。请看下面

在此处输入图片描述 该表的代码如下

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[table,xcdraw]{xcolor}
\usepackage{multirow}
\usepackage[a4paper]{geometry}
 \usepackage{tabularx}
\geometry{a4paper,tmargin=3.5cm, bmargin=2.5cm, lmargin=1.5cm, rmargin=1.5cm, headheight=3em, headsep=1.5cm, footskip=1cm} 
\usepackage{color, colortbl}
\definecolor{mColor1}{rgb}{0.9,0.9,0.9}

\begin{document}


\begin{table}[h!]
\normalsize
\centering
\def\arraystretch{1.5}% 

\begin{tabular}{|p{\dimexpr.25\textwidth} | p{\dimexpr.3\textwidth-2\tabcolsep} | p{\dimexpr.15\textwidth-2\tabcolsep} |p{\dimexpr.3\textwidth-2\tabcolsep}|}
\hline
\rowcolor{mColor1}
\textbf{\ Company Name \ } & \textbf{\ CIN/FCRN \ }  & \textbf{\ Share \% \ } & \textbf{\ Type of Company \ } \\   
\hline
  Kingfisher Air Pvt. Ltd.&  U72200KA2008PTC048012&  23 & Manufacturing \\
 \hline
  Tata Sky Air Pvt. Ltd.&  L98700KA2008PTC048012&  34  & Financial and Banking \\
 \hline 
\end{tabular}

\end{table}

\end{document}

另外,创建的表格在不同的 PDF 查看器(Adobe、Foxit、Google PDF Viewer)中看起来不同,更重要的是,在同一程序中,在不同分辨率下,表格看起来也不同。

上表为 150% 在此处输入图片描述

答案1

\setlength{\arrayrulewidth}{1pt}这是已知的查看器问题。例如,您可以通过将规则宽度增加 来部分解决此问题。此外,\arraystretch最好通过\renewcommand{\arraystretch}{1.5}而不是 来更改\def{...}

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[table,xcdraw]{xcolor}
\usepackage{multirow}
\usepackage[a4paper]{geometry}
\usepackage{tabularx}
\geometry{a4paper,tmargin=3.5cm, bmargin=2.5cm, lmargin=1.5cm, rmargin=1.5cm, headheight=3em, headsep=1.5cm, footskip=1cm} 
\usepackage{color, colortbl}
\definecolor{mColor1}{rgb}{0.9,0.9,0.9}

\begin{document}    

\begin{table}[h!]
\normalsize
\centering
\renewcommand{\arraystretch}{1.5}% 
\setlength{\arrayrulewidth}{1pt}% 
\begin{tabular}{|p{\dimexpr.25\textwidth} | p{\dimexpr.3\textwidth-2\tabcolsep} | p{\dimexpr.15\textwidth-2\tabcolsep} |p{\dimexpr.3\textwidth-2\tabcolsep}|}
\hline
\rowcolor{mColor1}
\textbf{\ Company Name \ } & \textbf{\ CIN/FCRN \ }  & \textbf{\ Share \% \ } & \textbf{\ Type of Company \ } \\   
\hline
  Kingfisher Air Pvt. Ltd.&  U72200KA2008PTC048012&  23 & Manufacturing \\
 \hline
  Tata Sky Air Pvt. Ltd.&  L98700KA2008PTC048012&  34  & Financial and Banking \\
 \hline 
\end{tabular}

\end{table}

\end{document}

这是150%在 Adob​​e Reader 中看到的,但其他查看器显示的伪影较少。

在此处输入图片描述

更好的方法是使用booktabs。在这种情况下,表格在所有缩放级别均不显示任何物品,请参见100%(不更改rulewidth):

在此处输入图片描述

\begin{table}[h!]
\normalsize
\centering
\renewcommand{\arraystretch}{1.5}% 
\begin{tabular}{p{\dimexpr.25\textwidth}  p{\dimexpr.3\textwidth-2\tabcolsep}  p{\dimexpr.15\textwidth-2\tabcolsep} p{\dimexpr.3\textwidth-2\tabcolsep}}
\toprule
\rowcolor{mColor1}
\textbf{Company Name} & \textbf{CIN/FCRN}  & \textbf{Share \%} & \textbf{Type of Company} \\   
\midrule
  Kingfisher Air Pvt. Ltd.&  U72200KA2008PTC048012&  23 & Manufacturing \\
 \midrule
  Tata Sky Air Pvt. Ltd.&  L98700KA2008PTC048012&  34  & Financial and Banking \\
 \bottomrule 
\end{tabular}

\end{table}

答案2

软件包nicematrix及其环境{NiceTabular}专门用于避免此类问题。无论您使用哪种 PDF 查看器,规则似乎都不会消失。

\documentclass{article}
\usepackage[xcdraw]{xcolor}
\usepackage[a4paper]{geometry}
\geometry{a4paper,tmargin=3.5cm, bmargin=2.5cm, lmargin=1.5cm, rmargin=1.5cm, headheight=3em, headsep=1.5cm, footskip=1cm} 
\usepackage{nicematrix}

\begin{document}

\begin{table}[h!]
\normalsize
\centering
\renewcommand{\arraystretch}{1.5}
\begin{NiceTabular}{X[25]X[30]X[15]X[30]}[hvlines]
\CodeBefore
  \rowcolor[rgb]{0.9,0.9,0.9}{1}
\Body
  \RowStyle[bold]{}
  \ Company Name \  & \ CIN/FCRN \   & \ Share \% \  & \ Type of Company \  \\   
  Kingfisher Air Pvt. Ltd.&  U72200KA2008PTC048012&  23 & Manufacturing \\
  Tata Sky Air Pvt. Ltd.&  L98700KA2008PTC048012&  34  & Financial and Banking \\
\end{NiceTabular}
\end{table}

\end{document}

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

上述代码的输出

答案3

使用该tabularray软件包您将获得满意的结果:

在此处输入图片描述

表格的代码简短而干净:

\documentclass{article}
\usepackage[a4paper, 
            vmargin={3.5cm, 2.5cm}, hmargin={1.5cm, 1.5cm}, 
            headheight=3em, headsep=1.5cm, footskip=1cm
            ]{geometry}
\usepackage[xcdraw]{xcolor}
\usepackage{tabularray}

\begin{document}
    \begin{table}[ht]
    \centering
\begin{tblr}{colspec={X[2.5,l]X[3,l]X[1.5,l]X[3,l]},
             row{1} = {font=\bfseries, bg=gray9},
             rowsep=3pt,
             hlines, vlines,
             }
Company Name                & CIN/FCRN              & Share \%  & Type of Company       \\
Kingfisher Air Pvt. Ltd.    & U72200KA2008PTC048012 & 23        & Manufacturing         \\
  Tata Sky Air Pvt. Ltd.    & L98700KA2008PTC048012 & 34        & Financial and Banking \\
\end{tblr}
    \end{table}
\end{document}

相关内容