更改表格特定区域中的文本颜色

更改表格特定区域中的文本颜色

我正在创建许多表格,并想将某个区域中的文本颜色更改为红色,请参见下面的图片中的示例:

在此处输入图片描述

为此,我希望任何带有字母的列或行(带有红色字符或空白单元格)交叉的单元格中包含红色文本。

我的代码如下所示:

\begin{center}
\begin{tabular}{ |c|c|c|c|c|c| }
\hline
&W&X&Y&Z&Stock\\
\hline
A&\textcolor{red}{11}&\textcolor{red}{3}&&&14\\
\hline
B&&\textcolor{red}{12}&\textcolor{red}{4}&&16\\
\hline
C&&&&&20\\
\hline
Demand&11&15&14&10&50\\ 
\hline
\end{tabular}
\end{center}

这种方法有效,但每次都耗费大量时间\textcolor{red}{number}。有没有什么捷径?

答案1

定义您想要着色的列并设置禁用和启用着色的机制。

\documentclass{article}
\usepackage{xcolor,array}

\newcommand{\docolor}{\ifcoloring\color{red}\fi}
\newif\ifcoloring
\newcommand{\startcoloring}{\global\coloringtrue}
\newcommand{\stopcoloring}{\global\coloringfalse}

\begin{document}

\begin{tabular}{|c| *{4}{>{\docolor}c|} c| }
\hline
\stopcoloring
&W&X&Y&Z&Stock\\
\hline
\startcoloring
A&11&3&&&14\\
\hline
B&&12&4&&16\\
\hline
C&&&&&20\\
\hline
\stopcoloring
Demand&11&15&14&10&50\\ 
\hline
\end{tabular}

\end{document}

在此处输入图片描述

答案2

序言中有关着色的一些命令定义:

\documentclass[a4paper, 11pt]{article}
\usepackage[table]{xcolor}

\def\cred#1{\textcolor{red}{#1}}
\newcommand\colr{\color{red}}
\def\mybluecell{\cellcolor{blue!30}}

\begin{document}


\begin{tabular}{ |c|c|c|c|c|c| }
\hline
&W&X&Y&Z&Stock\\
\hline
A&\cred{11}&\textcolor{red}{3}&&&14\\
\hline
B&&\colr 12& \mybluecell 4&&16\\
\hline
C&&&&&20\\
\hline
Demand&11&15&14&10&50\\ 
\hline
\end{tabular}
\end{document}

您可以使用简称,以便于编写命令。

输出:

在此处输入图片描述

相关内容