打印文件中的 xcolor

打印文件中的 xcolor

在打印文档中正确使用颜色的方式是什么?

我总是简单地使用xcolor包。例如

\documentclass[margin = 12mm]{standalone}

\usepackage{xcolor}
\definecolor{foo}{rgb}{.4, .8, .2}

\begin{document}
Some \textcolor{foo}{example} text.
\color{red}\raisebox{.1em}{\rule{.3em}{.3em}}
\end{document}

绿色文本以红色方块封闭

最近我在 Reddit 上看到一篇帖子(https://www.reddit.com/r/LaTeX/comments/d1tw6c/resource_for_best_packages_to_use_or_to_avoid/eztwtms),其中用户 u/0xe4524ffe 评论道:

避免使用 color 和 xcolor 包,它们会弄乱 cmyk 颜色,使文本用彩色墨水打印而不是黑色(它们在 pdf 流中放置大量重复的“0 0 0 rg”而不是一个“0 g”)。

我的本地xcolor.sty(2016/05/11 v2.12)结束于

1456 ...
1457 \color{black}
1458 \endinput

颜色black是根据

\extractcolorspecs{black}{\model}{\black}\black

定义为简单的灰色色彩空间0

由于 Reddit 帖子中没有给出关于如何正确使用颜色和 xcolor 求值black(因此没有设置颜色的所有内容)的真正解决方案0,我的问题是

这个答案仍然是最新的吗?如果是,如何正确使用颜色?

答案1

这完全取决于您要使用的颜色模型。默认为 rgb,因此为黑色0 0 0。您可以使用选项加载包cmyk,所有内容都将在 cmyk 中定义。或者在另一个模型中重新定义颜色,例如:

\pdfcompresslevel=0
\documentclass{article}
\usepackage{xcolor}
\definecolor{black}{gray}{0}
\begin{document}    
\textcolor{black}{foo}

\definecolor{black}{rgb}{0,0,0}
\textcolor{black}{foo}

\definecolor{black}{cmyk}{0,0,0,1}
\textcolor{black}{foo}

\end{document}

PDF 看起来如下:

stream
0 g 0 G
0 g 0 G
0 g 0 G
0 g 0 G
BT
/F8 9.9626 Tf 148.712 657.235 Td [(fo)-28(o)]TJ
0 g 0 G
0 0 0 rg 0 0 0 RG
 0 -11.955 Td [(fo)-28(o)]TJ
0 g 0 G
0 0 0 1 k 0 0 0 1 K
 0 -11.955 Td [(fo)-28(o)]TJ
0 g 0 G
0 g 0 G
 154.421 -543.96 Td [(1)]TJ
0 g 0 G
ET

endstream

您还可以定义一次性使用的模型,\textcolor例如:

\textcolor[gray]{0}{foo}

相关内容