Como alterar a cor da fonte de uma linha no tabularx?

Como alterar a cor da fonte de uma linha no tabularx?

Eu tenho uma tabela e quero que a cor da fonte da 5ª e 6ª linhas seja vermelha. O que estou fazendo agora é alterar a cor de cada célula nessas linhas. Existe algum comando que possa alterar a cor da fonte em uma linha, não apenas em uma célula?

\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}

insira a descrição da imagem aqui

Responder1

O seguinte baseia-se na técnica descrita emUma melhoria \rowstyleque leva o conteúdo da célula como argumento, capturando cada célula usandocollcell:

insira a descrição da imagem aqui

Cada célula ..é definida \textcolor{red}{..}dependendo se a chave \ifrowcolourfoi ou não definida como \rowcolourtrueou \rowcolourfalse. Como essas mudanças ocorrem dentro tabulardas células (e, portanto, dos grupos), elas precisam ser definidas \globalcorretamente para que a mudança exista além do escopo da célula.

Para apelo visual, sugiro usarbooktabspara sua(s) apresentação(ões) de mesa.

Responder2

Com novo pacote de tabela tabularray:

caso 1: com linhas horizontais e verticais:

\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}

insira a descrição da imagem aqui

caso 2: linhas horizontais na parte superior, após os cabeçalhos das colunas e na parte inferior, e sem linhas verticais. O corpo da tabela é o mesmo de antes, apenas as especificações da tabela foram alteradas:

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

insira a descrição da imagem aqui

Responder3

Em {NiceTabular}, você tem um comando \RowStylepara alterar o estilo do final da linha atual.

\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}

Você precisa de várias compilações (porque nicematrixusa nós PGF/Tikz nos bastidores).

Saída do código acima

informação relacionada