.png)
Интересно, есть ли другой способ сделать альтернативные цвета в многострочных таблицах. Везде люди используют "\multirow{-x}", но я хотел бы узнать, есть ли способ сделать это без каких-либо отрицательных чисел и желательно не писать строку за строкой. Я хотел бы таблицу вроде этой:
\rowcolors{1}{}{lightgray}
\centering
\caption{Multirow table with all cells in the same color.}\label{tab:multi row}
\begin{tabular}{p{5cm}p{5cm}}
\hline
Column 1 & Column 2\\
\hline
-&-\\
-&-\\
\cellcolor{lightgray}&Single-row\\
\cellcolor{lightgray}&Single-row\\
\multirow{-3}{*}{\cellcolor{lightgray}Multi-row (3)}&Single-row\\
-&-\\
-&-\\
\hline
\end{tabular}
\end{table}%
(код не мой, взял здесь:https://texblog.org/2014/05/19/coloring-multi-row-tables-in-latex/)
решение1
Предполагая, что а) \multirow
команда охватывает нечетное количество строк и б) текст в многострочной команде охватывает одну строку, вы можете использовать что-то вроде следующего:
\documentclass{article}
\usepackage[table]{xcolor}
\begin{document}
\begin{table}
\rowcolors{1}{}{lightgray}
\centering
\caption{Multirow table with all cells in the same color.}\label{tab:multi row}
\begin{tabular}{p{5cm}p{5cm}}
\hline
Column 1 & Column 2\\
\hline
- & - \\
- & - \\
& Single-row \\
\cellcolor{lightgray}Multi-row (3) & Single-row \\
& Single-row \\
- & - \\
- & - \\
\hline
\end{tabular}
\end{table}%
\end{document}
решение2
Это можно сделать с помощью последней версии nicematrix
(v. 5.3 от 03.09.2020).
\documentclass{article}
\usepackage{xcolor}
\usepackage{nicematrix}
\begin{document}
\begin{table}
\centering
\caption{Multirow table with all cells in the same color.}\label{tab:multi row}
\begin{NiceTabular}{p{5cm}p{5cm}}[code-before = \rowcolors{1}{}{lightgray}]
\hline
Column 1 & Column 2\\
\hline
- & - \\
- & - \\
\Block[l,fill=lightgray]{3-1}{Multi-row (3)} & Single-row \\
& Single-row \\
& Single-row \\
- & - \\
- & - \\
\hline
\end{NiceTabular}
\end{table}%
\end{document}
Вам понадобится несколько компиляций.