所以我尝试为表格中的行着色,但在我使用的行中\makecell
,着色无法正常工作。有人知道这个问题的解决方案吗?
\usepackage{xcolor, colortbl} %kleurtjes voor table
\definecolor{TopRow}{rgb}{0.4,0.7,1}
\definecolor{NormalRow}{rgb}{0.8,0.9,1}
\usepackage{makecell}
\begin{center}
\begin{tabular}{|l|l|l|}
\hline
\rowcolor{TopRow}
\textbf{Peptide Enrichtments} & \textbf{Hits} & \textbf{Found Genes} \\
\hline
\rowcolor{NormalRow}
Nothing &3 & \makecell[lt]{RAB5C \\ TNKS1BP1 \\ WDR43}\\
\hline
20X dilution& 1 & AHCY \\
\hline
\rowcolor{NormalRow}
TiO2& 2 & \makecell[lt]{TNKS1BP1\\ITPR2}\\
\hline
TiO2-3 &0& -\\
\hline
\rowcolor{NormalRow}
Fe-NTA & 0&- \\
\hline
\end{tabular}
\end{center}
编辑:
所以我做了以下事情:
Nothing &3 & {\colorbox{NormalRow}{\makecell[lt]{RAB5C \\ TNKS1BP1 \\ WDR43}}}\\
答案1
我建议放弃使用 ,而不是尝试使makecell
和兼容。您可以在不使用 的情况下实现相同的布局,如以下 MWE 所示:colortbl
makecell
\documentclass{article}
\usepackage[table]{xcolor}
\definecolor{TopRow}{rgb}{0.4,0.7,1}
\definecolor{NormalRow}{rgb}{0.8,0.9,1}
\begin{document}
\begin{tabular}{|l|l|l|}
\hline
\rowcolor{TopRow}
\textbf{Peptide Enrichtments} & \textbf{Hits} & \textbf{Found Genes} \\
\hline
\rowcolor{NormalRow}
Nothing & 3 & RAB5C \\
\rowcolor{NormalRow}
& & TNKS1BP1 \\
\rowcolor{NormalRow}
& & WDR43 \\
\hline
20X dilution& 1 & AHCY \\
\hline
\rowcolor{NormalRow}
TiO2 & 2 & TNKS1BP1\\
\rowcolor{NormalRow}
& & ITPR2 \\
\hline
TiO2-3 &0& -\\
\hline
\rowcolor{NormalRow}
Fe-NTA & 0&- \\
\hline
\end{tabular}
\end{document}
当您使用颜色作为表格中的结构元素时,您可能还会考虑删除所有水平和垂直规则。在下面的示例中,我还添加了一些额外的垂直空间:
\documentclass{article}
\usepackage[table]{xcolor}
\definecolor{TopRow}{rgb}{0.4,0.7,1}
\definecolor{NormalRow}{rgb}{0.8,0.9,1}
\begin{document}
\begingroup
\renewcommand{\arraystretch}{1.2}
\begin{tabular}{lll}
\rowcolor{TopRow}
\textbf{Peptide Enrichtments} & \textbf{Hits} & \textbf{Found Genes} \\
\rowcolor{NormalRow}
Nothing & 3 & RAB5C \\
\rowcolor{NormalRow}
& & TNKS1BP1 \\
\rowcolor{NormalRow}
& & WDR43 \\
20X dilution& 1 & AHCY \\
\rowcolor{NormalRow}
TiO2 & 2 & TNKS1BP1\\
\rowcolor{NormalRow}
& & ITPR2 \\
TiO2-3 &0& -\\
\rowcolor{NormalRow}
Fe-NTA & 0&- \\
\end{tabular}
\endgroup
\end{document}
最后一个例子展示了一种更简约的方法,没有颜色和粗体文本,但使用包中的空白和规则booktabs
作为结构元素:
\documentclass{article}
\usepackage{booktabs}
\begin{document}
\begin{tabular}{lll}
\toprule
Peptide Enrichtments & Hits & Found Genes \\
\midrule
Nothing & 3 & RAB5C \\
& & TNKS1BP1 \\
& & WDR43 \\\addlinespace
20X dilution & 1 & AHCY \\\addlinespace
TiO2 & 2 & TNKS1BP1 \\
& & ITPR2 \\\addlinespace
TiO2-3 & 0 & - \\\addlinespace
Fe-NTA & 0 & - \\
\bottomrule
\end{tabular}
\end{document}
答案2
这是一个{NiceTabular}
使用 的解决方案nicematrix
。该环境提供了一个命令\rowcolors
(即所谓的),当使用密钥时,\CodeBefore
该命令会遵守 创建的块。\Block
respect-blocks
您将在所有 PDF 查看器、所有缩放级别中获得完美的输出。
\documentclass{article}
\usepackage{nicematrix,xcolor}
\begin{document}
\begin{NiceTabular}{|l|l|l|}
\CodeBefore
\rowcolor[rgb]{0.4,0.7,1}{1}
\rowcolors[rgb]{2}{}{0.8,0.9,1}[respect-blocks]
\Body
\Hline
\textbf{Peptide Enrichtments} & \textbf{Hits} & \textbf{Found Genes} \\
\Hline
\Block{3-1}{}
Nothing & 3 & RAB5C \\
& & TNKS1BP1 \\
& & WDR43 \\
\Hline
20X dilution& 1 & AHCY \\
\Hline
\Block{2-1}{}
TiO2 & 2 & TNKS1BP1\\
& & ITPR2 \\
\Hline
TiO2-3 &0& -\\
\Hline
Fe-NTA & 0&- \\
\Hline
\end{NiceTabular}
\end{document}
您需要多次编译(因为nicematrix
在后台使用 PGF/Tikz 节点)。