具体来说
\hiderowcolors ->\noalign
{\global \@rowcolorsfalse \@norowcolor }
这是我当前的代码(已编辑以满足要求)。我开始使用 NiceTabular,因为 hlines 会因缩放而出现在 pdf 阅读器上/消失,现在我无法让它工作。
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{longtable}
\usepackage[dvipsnames,table]{xcolor}
\usepackage{pdfcomment}
\usepackage{graphicx}
\usepackage{geometry}
\geometry{tmargin=2cm,bmargin=2cm}
\usepackage{currfile}
\usepackage{nicematrix}
\usepackage{float}
\title{Title example}
\author{}
\date{}
\definecolor{colorNALA}{HTML}{B70043}
\definecolor{lightgray}{HTML}{EDEDED}
\definecolor{lavender}{HTML}{E8E2FF}
\begin{document}
\maketitle
\renewcommand{\arraystretch}{1.3}
\rowcolors{1}{lightgray}{lightgray}
\centering
\begin{table}
\hiderowcolors\caption{Caption example}\\
\showrowcolors
\hline
\rowcolor{colorNALA}&\color{white}{column1}& \color{white}{column2}& \color{white}{column3}& \color{white}{column4}& \color{white}{column5}\\ \hline \endhead
\hline
\hline \endfoot
\begin{NiceTabular}{|c|l|c|c|c|c|}
0 & Text & 0 & 1 & 0 & 0 \\
\hline
\hline
\rowcolor{lavender}&Total& 0 & 1 & 0 & 0\\
\hline
\rowcolor{lavender}&Total2&\multicolumn{4}{c|}{1}
\end{NiceTabular}
\end{table}
\end{document}
没有 NiceTabular 时的外观草图(显然,字体除外。这只是暂时的,我稍后会添加正确的字体)。我希望 NiceTabular 能够消除这种依赖于缩放的水平线外观。
答案1
您不能\hline
在表格环境之外使用表格代码等。
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{longtable}
\usepackage[dvipsnames,table]{xcolor}
\usepackage{pdfcomment}
\usepackage{graphicx}
\usepackage{geometry}
\geometry{tmargin=2cm,bmargin=2cm}
\usepackage{currfile}
\usepackage{nicematrix}
\usepackage{float}
\title{Title example}
\author{}
\date{}
\definecolor{colorNALA}{HTML}{B70043}
\definecolor{lightgray}{HTML}{EDEDED}
\definecolor{lavender}{HTML}{E8E2FF}
\begin{document}
\maketitle
\renewcommand{\arraystretch}{1.3}
\rowcolors{1}{lightgray}{lightgray}
\centering
\begin{table}
\centering
\caption{Caption example}
\begin{NiceTabular}{|cl|c|ccc|}
\CodeBefore
\rowcolor{lightgray}{1-}
\Body
\hline
\rowcolor{colorNALA}&\color{white}{column1}& \color{white}{column2}& \color{white}{column3}& \color{white}{column4}& \color{white}{column5}\\ \hline
0 & Text & 0 & 1 & 0 & 0 \\
\hline
\rowcolor{lavender}&Total& 0 & 1 & 0 & 0\\
\rowcolor{lavender}&Total2&\multicolumn{4}{c|}{1}\\
\hline
\end{NiceTabular}
\end{table}
\end{document}
我建议看一下这个tabularray
包。这样可以轻松配置哪行应该有哪种颜色等等。
\documentclass{article}
\usepackage[dvipsnames,table]{xcolor}
\usepackage{tabularray}
\definecolor{colorNALA}{HTML}{B70043}
\definecolor{lightgray}{HTML}{EDEDED}
\definecolor{lavender}{HTML}{E8E2FF}
\begin{document}
\begin{table}[htbp]
\centering
\begin{tblr}{
colspec={|ll|c|ccc|},
rows={bg=lightgray},
row{1}={fg=white,bg=colorNALA},
row{Y-Z}={bg=lavender}
}
\hline
\SetCell[c=2]{halign=c} column1 & & column2 & column3 & column4 & column5\\
0 & Text & 0 & 1 & 0 & 0 \\
\hline
&Total& 0 & 1 & 0 & 0\\
&Total2& \SetCell[c=4]{} 1 &&&\\
\hline
\end{tblr}
\caption{Caption example}
\end{table}
\end{document}
答案2
该软件包的精神nicematrix
在于提供一个默认情况下几乎与经典(软件包){NiceTabular}
完全一样工作的环境。{tabular}
array
不过,该软件包nicematrix
在某些方面也提供了自己的工具(比如为行着色)。
这就是为什么我建议使用以下代码来构建表格nicematrix
。
\documentclass{article}
\usepackage{xcolor}
\usepackage{graphicx}
\usepackage{geometry}
\geometry{tmargin=2cm,bmargin=2cm}
\usepackage{nicematrix}
\usepackage{float}
\begin{document}
\begin{table}
\centering
\renewcommand{\arraystretch}{1.3}
\caption{Caption example}
\begin{NiceTabular}{|cl|c|ccc|}
\CodeBefore
\rowcolor[HTML]{B70043}{1}
\rowcolor[HTML]{EDEDED}{2}
\rowcolor[HTML]{E8E2FF}{3-}
\Body
\Hline
\RowStyle[color=white]{}
&column1& column2& column3& column4& column5\\
\Hline
0 & Text & 0 & 1 & 0 & 0 \\
\Hline
&Total& 0 & 1 & 0 & 0\\
&Total2&\Block{1-4}{1}\\
\Hline
\end{NiceTabular}
\end{table}
\end{document}
您需要多次编译(因为nicematrix
在后台使用 PGF/Tikz 节点)。