更改文档部分的颜色系统?

更改文档部分的颜色系统?

有没有办法将颜色模型更改monochrome为文档的某个部分?我想制作一个部分mononcrome 没有影响标题。这可能吗?我知道\usepackage[mononcrome]{xcolor}和,\passOptionToPackage[mononcrome]{xcolor}但这些只能应用于序言中,我思考它们也会影响标题吗?

低于

\documentclass{article}
\usepackage{lipsum,fancyhdr,xcolor}

\pagestyle{fancy}
\rhead{}
\chead{\textcolor{red}{\leftmark}}
\lhead{\textcolor{blue}{Keep colors in header}}

\begin{document}

\section{Colors}

\lipsum[1-2]

\section{Monochrome}

\lipsum[3]\textcolor{red}{This should become gray}
\lipsum[4]\textcolor{green}{this too}
\lipsum[5]\textcolor{blue}{and this}

\section{Colors}

\lipsum[5]\textcolor{red}{This should stay red}
\lipsum[66]\textcolor{orange}{same with this}
\lipsum[75]
\end{document}

答案1

在这里,我查看了xcolor包并找到了该选项执行的内容monochrome。然后我以组限制的方式将其直接放置在文档中。

已编辑以使其融入monochrome环境。

\documentclass{article}
\usepackage{lipsum,fancyhdr,xcolor}

\pagestyle{fancy}
\rhead{}
\chead{\textcolor{red}{\leftmark}}
\lhead{\textcolor{blue}{Keep colors in header}}

\makeatletter
\newenvironment{monochrome}
{\begingroup
\colors@false
    \def\set@color{\c@lor@special\m@ne
      {color push \current@color}\aftergroup\reset@color}%
    \def\reset@color{\c@lor@special\m@ne{color pop}}%
    \def\set@page@color{\c@lor@special\m@ne{background \current@color}}
}
{\endgroup}
\makeatother

\begin{document}

\section{Colors}

\lipsum[1-2]

\section{Monochrome}

\begin{monochrome}
\lipsum[3]\textcolor{red}{This should become gray}
\lipsum[4]\textcolor{green}{this too}
\lipsum[5]\textcolor{blue}{and this}
\end{monochrome}

\section{Colors}

\lipsum[5]\textcolor{red}{This should stay red}
\lipsum[66]\textcolor{orange}{same with this}
\lipsum[75]
\end{document}

在此处输入图片描述

答案2

为了帮助 Steven B. Segletes 的回答下的讨论,并且由于我无法在那里发表评论,这里介绍了如何在组内\selectcolormodel{gray}或作为环境设置灰度:

\newenvironment{grayscale}
{\begingroup \selectcolormodel{gray}}
{\endgroup}

这或许可以回答故意的直截了当的问题。

可以选择任何颜色模型来代替灰色,但为什么需要这样做并不明显。

相关内容