LaTeX 覆盖彩色文本

LaTeX 覆盖彩色文本

在 LaTeX 中我通常使用

默认颜色 {\color{blue}改变颜色。}

在此处输入图片描述

或者

默认颜色 \textcolor{蓝色}{更改的颜色。}

更改文本特定部分的颜色。现在我想将整个句子的颜色更改为确定的颜色,比如红色,如下所示

在此处输入图片描述

我试过

\textcolor{红色}{默认颜色{\color{蓝色}改变颜色。}}

但它只对无色文本有影响:

在此处输入图片描述

由于某些原因,我需要保留原始文本中的“\textcolor{blue}{changed color.}”。有什么方法可以覆盖彩色文本吗?

答案1

建立在大卫·卡莱尔的回答,您可以定义一个甚至可以嵌套的宏(这是一个词吗?)---

\documentclass{article}

\usepackage{color}
\newcommand{\absolutetextcolor}[2]{%
    \textcolor{#1}{%
        \renewcommand\color[2][]{}%
    #2}%
}

\begin{document}

\absolutetextcolor{red}{default color {\color{blue}changed color.}}

\absolutetextcolor{red}{default color {\absolutetextcolor{blue}{changed color.}}}
\end{document}

在此处输入图片描述

答案2

最好不要添加嵌套颜色或将其添加为本地定义的命令,例如\mycolor您可以将其定义为颜色,或者在不同的地方不定义任何内容,但如果您确实需要这样,您可以在本地定义\color不执行任何操作。

在此处输入图片描述

\documentclass{article}

\usepackage{color}
\begin{document}

\textcolor{red}{\renewcommand\color[2][]{}default color {\color{blue}changed color.}}
\end{document}

答案3

在此处输入图片描述

\documentclass[10pt,a4paper]{article}

\usepackage{tikz}
\begin{document}
    default color {\color{blue}changed color.}\\
    \textcolor{red}{default color {\color{blue}changed color.}}\\
    \textcolor{red}{default color {changed color.}}
\end{document}

相关内容