我有一張桌子,我希望第五行和第六行的字體顏色是紅色。我現在正在做的是更改這些行中每個單元格的顏色,是否有任何命令可以更改一行中的字體顏色,而不僅僅是一個單元格中的字體顏色?
\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}
答案1
以下內容基於中所述的技術\rowstyle
以單元格內容作為參數的改進,使用捕獲每個細胞collcell
:
每個單元格..
的設定\textcolor{red}{..}
取決於開關是否\ifrowcolour
設定為\rowcolourtrue
或\rowcolourfalse
。由於這些切換發生在tabular
單元格(以及群組)內部,因此必須\global
對它們進行設置,以便變更取決於單元格範圍之外。
為了視覺吸引力,我建議使用booktabs
為您提供表格演示。
答案2
使用新的表包tabularray
:
情況1:水平線和垂直線:
\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}
情況 2:頂部、列標題之後和底部有水平線,沒有垂直線。表體與之前相同,僅改變表規格:
\begin{tblr}{hline{1,2,Z}={solid, 0.5pt},
colspec={*{3}{X[l]}},
row{1} ={font=\bfseries}
}
% table body, the same as before
答案3
在 中{NiceTabular}
,您有一個命令\RowStyle
可以更改目前行末尾的樣式。
\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}
您需要多次編譯(因為nicematrix
在背景使用 PGF/Tikz 節點)。