我需要提供双色调 PDF(例如黑色和青色)。我的图形是用 tikz、pgfplots 和 asymptote(3D 但没有 prc)制作的,有些带有不透明效果。我使用 pdftex 和 luatex 进行编译。
我必须做什么才能让它顺利运行?我可以考虑为 pgfplots 定义新的循环列表,当然,不要在 tikz 或渐近线中使用蓝色或红色。还有其他方法吗?不透明度会起作用吗?
我可以使用哪种颜色?如何使用 xcolors 定义它们?命名这些颜色的原理是什么?
关于彩色图片。我需要在 TeX 之外进行转换吗?或者有没有办法在 TeX 中进行转换?
答案1
根据我的经验,最有效的方法似乎是仅使用 cmyk 颜色空间内的用户定义颜色(影响0
洋红色和黄色通道)。
例如,这是我在项目中使用的颜色的定义。
\usepackage[cmyk]{xcolor}
\providecolor{PureDuotone}{cmyk}{1,0,0,0}
\providecolor{DarkDuotone}{cmyk}{1,0,0,0.4}
\providecolor{LightDuotone}{cmyk}{.3,0,0,.3}
\providecolor{PaleDuotone}{cmyk}{0.1,0,0,0}
\providecolor{LightGray}{cmyk}{0,0,0,.10}
\providecolor{Gray}{cmyk}{0,0,0,.15}
\providecolor{DarkGray}{cmyk}{0,0,0,.25}
\providecolor{VeryDarkGray}{cmyk}{0,0,0,.4}
\providecolor{UltraDarkGray}{cmyk}{0,0,0,.6}
对于pgfplots
,我使用了以下内容(我坚持使用 1.8 版本)。
\usepgfplotslibrary{colormaps}
\pgfplotsset{%
colormap default colorspace = cmyk,
colormap = {duotone}{cmyk(0cm)=(1,0,0,.4); cmyk(1cm)=(.4,0,0,1)}}
\pgfplotscreateplotcyclelist{duotonelinestyles*}{%
{%
solid,
color = DarkDuotone,
thick,
},
{%
solid,
color = black,
thick,
},
{%
solid,
color = VeryDarkGray,
thick,
},
{%
dashed,
color = DarkDuotone,
thick,
},
{%
dashed,
color = black,
thick,
},
{%
dashed,
color = VeryDarkGray,
thick,
}}
xcolor
我建议在所有tikz
相关包之前使用该选项调用cmyk
。
不幸的是,它并不能解决所有问题:图案和阴影在结果文件的色彩空间tikz
中是硬编码的(RGB
pdf
cmyk
甚至它们是用颜色来定义的)。可以使用模式来解决问题,但是,在撰写本文时,据我所知,没有与阴影等效的东西。
答案2
对于渐近线图形,cmyk 命令行开关-cmyk
可能会有所帮助,前提是 asy 源中的颜色是根据 cmyk 笔定义的。对于某些图形,我需要使用 imagemagick 的convert
。这里有一个我发现很有用的小脚本。
#!/bin/bash
for i in $(find -name "*.asy")
do asy -render 5 -cmyk -noV -noprc $i -o ${i%asy}eps
convert -colorspace cmyk -channel c -fx 'c-y' -channel k -fx 'k+m' -channel y -fx '0' -channel m -fx '0' -density 300 -geometry 50%x eps:"${i%asy}eps" jpg:"${i%asy}jpg"
done