\hiderowcolors 导致 \noalign 错误

\hiderowcolors 导致 \noalign 错误

具体来说

\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 节点)。

上述代码的输出

相关内容