为 PDF 中的黑白打印提供替代描边样式

为 PDF 中的黑白打印提供替代描边样式

我想用 LaTeX(MiKTeX、TeXnicCenter)生成我的文档的黑白版本和彩色版本。它包含一个绘图中有几条线条的矢量图形。在彩色版本中,它们应该具有不同的颜色和实线笔触,而在黑白版本中,它们应该具有黑色和不同的笔触。

理想情况下,我希望有一个包含两种“样式”的 PDF,用于不同的输出方法,但我猜 PDF 不适合这样做。我找不到任何相关信息。也许我只是缺少合适的搜索词。

有没有办法生成一个这样的文档,或者从一个 TeX 源编译两个不同的 PDF 文档,可能只需更改其标题中的一个选项?要清楚的是,我想避免为两种样式使用两个不同的 TeX 源。

编辑:我通过 MATLAB R2010a 导出生成我的 EPS 文件。

答案1

这可以通过 PDF 图层 (OCG) 来实现。在以下示例中,使用 Adob​​e Reader 进行查看和打印,在查看器中和打印后的纸张上可以看到不同版本的图像文件:

\documentclass{article}
\usepackage{ocgx2}
\usepackage{graphicx}
\usepackage{mwe}

%Usage: \includeGraphicsForPrintAndView[grx options]{grx for print}{grx for view}
\newcommand\includeGraphicsForPrintAndView[3][]{%
  \begin{ocg}[viewocg=never, printocg=always]{black and white}{bwlayer}{1}%
    \makebox[0pt][l]{\includegraphics[#1]{#2}}%
  \end{ocg}%
  \begin{ocg}[viewocg=always, printocg=never]{colour}{colorlayer}{1}%
    \includegraphics[#1]{#3}%
  \end{ocg}%
}

\begin{document}
\includeGraphicsForPrintAndView{example-image-a}{example-image-b}

\includeGraphicsForPrintAndView{example-image-c}{example-image}
\end{document}

相关内容