我需要提供双色调 PDF,我需要处理我的图形吗?

我需要提供双色调 PDF,我需要处理我的图形吗?

我需要提供双色调 PDF(例如黑色和青色)。我的图形是用 tikz、pgfplots 和 asymptote(3D 但没有 prc)制作的,有些带有不透明效果。我使用 pdftex 和 luatex 进行编译。

  1. 我必须做什么才能让它顺利运行?我可以考虑为 pgfplots 定义新的循环列表,当然,不要在 tikz 或渐近线中使用蓝色或红色。还有其他方法吗?不透明度会起作用吗?

  2. 我可以使用哪种颜色?如何使用 xcolors 定义它们?命名这些颜色的原理是什么?

  3. 关于彩色图片。我需要在 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中是硬编码的(RGBpdfcmyk甚至它们是用颜色来定义的)。可以使用模式来解决问题,但是,在撰写本文时,据我所知,没有与阴影等效的东西。

答案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

相关内容