многоцветные многострочные таблицы (без использования \multirow{-x})

многоцветные многострочные таблицы (без использования \multirow{-x})

Интересно, есть ли другой способ сделать альтернативные цвета в многострочных таблицах. Везде люди используют "\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}

Вам понадобится несколько компиляций.

Вывод кода выше

Связанный контент