¿Cómo cambiar el color de fuente de una fila en tabularx?

¿Cómo cambiar el color de fuente de una fila en tabularx?

Tengo una tabla y quiero que el color de fuente de la quinta y sexta fila sea rojo. Lo que estoy haciendo ahora es cambiar el color de cada celda en estas filas. ¿Existe algún comando que pueda cambiar el color de fuente en una fila, no solo en una celda?

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[russian]{babel}  
\usepackage{multirow,tabularx}
\usepackage[a4paper,margin=1in,landscape]{geometry}
\usepackage[table]{xcolor}
\usepackage{colortbl,hhline}

\begin{document}

\begin{tabularx}{\textwidth}{ |X|X|X| }
\hline
\textbf{Наименование} & \textbf{BBB} & \textbf{ААА} \\ \hline
Теплопостачання припливних систем & 83 044,00 грн. & 67 000 грн \\ \hline
Монтаж , пусканаладка & 64 000,00 грн. & 74885849 грн \\ \hline
\rowcolor{yellow}
ИТОГО: & 1089158,71 грн. & 100000 \\ \hline
\color{red} Отклонение от минимального предложения, грн & \color{red} 0,00 грн. & \color{red} 34000 \\ \hline
\color{red} Отклонение от минимального предложения, \% & \color{red} 0\% & \color{red} 10 \%  \\ \hline
Срок выполнения работ & 3-4 недели & 2 недели \\ \hline
\end{tabularx}
\vspace{1cm}

\end{document}

ingrese la descripción de la imagen aquí

Respuesta1

Lo siguiente se basa en la técnica descrita enUn mejorado \rowstyleque toma el contenido de la celda como argumento., capturando cada celda usandocollcell:

ingrese la descripción de la imagen aquí

Cada celda ..se configura usando \textcolor{red}{..}dependiendo de si el interruptor \ifrowcolourse ha configurado en \rowcolourtrueo \rowcolourfalse. Dado que estos cambios ocurren dentro de tabularlas células (y por lo tanto de los grupos), deben configurarse \globalpara que el cambio exista más allá del alcance de la célula.

Para atractivo visual, sugeriría usarbooktabspara su(s) presentación(es) de mesa.

Respuesta2

Con nuevo paquete de mesa tabularray:

caso 1: con líneas horizontales y verticales:

\documentclass{article}
\usepackage[a4paper,margin=1in,landscape]{geometry}
\usepackage[russian]{babel}
\usepackage{xcolor}
\usepackage{tabularray}

\begin{document}

\begin{tblr}{hline{1,2,Z}={solid, 0.5pt}, hline{3-Y}={dashed}, 
             vlines,
             colspec={*{3}{X[l]}},
             row{1} ={font=\bfseries}
             }
Наименование    & BBB               & ААА               \\
Теплопостачання припливних систем 
                & 83 044,00 грн.    & 67 000 грн        \\
Монтаж , пусканаладка 
                & 64 000,00 грн.    & 74 885 849 грн    \\
    \SetRow{yellow}
ИТОГО:          & 1089158,71 грн.   & 100 000           \\
    \SetRow{fg=red}
Отклонение от минимального предложения, грн & 0,00 грн. & 34000 \\
    \SetRow{fg=red}
Отклонение от минимального предложения, \% 
                & 0 \%              & 10 \%             \\
Срок выполнения работ 
                & 3-4 недели        & 2 недели          \\
\end{tblr}

\end{document}

ingrese la descripción de la imagen aquí

caso 2: líneas horizontales en la parte superior, después de los encabezados de las columnas y en la parte inferior, y sin líneas verticales. El cuerpo de la tabla es el mismo que antes, solo se han modificado las especificaciones de la tabla:

\begin{tblr}{hline{1,2,Z}={solid, 0.5pt}, 
             colspec={*{3}{X[l]}},
             row{1} ={font=\bfseries}
             }
% table body, the same as before

ingrese la descripción de la imagen aquí

Respuesta3

En {NiceTabular}, tienes un comando \RowStylepara cambiar el estilo del final de la fila actual.

\documentclass{article}
\usepackage[russian]{babel}  
\usepackage[a4paper,margin=1in,landscape]{geometry}
\usepackage{xcolor}
\usepackage{nicematrix}

\begin{document}

\begin{NiceTabularX}{\textwidth}{XXX}[hvlines]
\RowStyle{\bfseries}
Наименование & BBB & ААА \\ 
Теплопостачання припливних систем & 83 044,00 грн. & 67 000 грн \\ 
Монтаж , пусканаладка & 64 000,00 грн. & 74885849 грн \\ 
\RowStyle[rowcolor=yellow]{}
ИТОГО: & 1089158,71 грн. & 100000 \\ 
\RowStyle[nb-rows=2,color=red]{}
Отклонение от минимального предложения, грн & 0,00 грн. & 34000 \\ 
Отклонение от минимального предложения, \% & 0 \% & 10 \%  \\ 
Срок выполнения работ & 3-4 недели & 2 недели \\ 
\end{NiceTabularX}

\end{document}

Necesita varias compilaciones (porque nicematrixutiliza nodos PGF/Tikz bajo el capó).

Salida del código anterior

información relacionada