Tikz 的“阴影”库存在问题

Tikz 的“阴影”库存在问题

我刚刚更新了 Miktex。当我使用以下命令编译 Latex 文档时:

\usepackage {tikz}

\usetikzlibrary {shadows}

DVI 文件第一页左上角出现一个大黑色徽标,但 pdf 文件中没有出现。这是“shadows”库造成的问题。您有解决方案吗?

答案1

简短回答:latex这是++工作流程的一个特性,并且与最近发布的 PGF 及其和TikZ 库(v3.1.6) 相关dvips的问题是无法避免的。ps2pdfshadowsfadings

长答案:

shadows库还加载该fadings库。

衰落,也称为透明度渐变或者软面罩, 区域仅限 PDF 的功能(基本情况也是如此,透明度也是恒定的)。最近才为 DVI->PS->PDF 路线提供淡入淡出功能(PGF-3.1.6)。在以前的 PGF 版本中,用户和预定义的淡入淡出被忽略了。

定义软蒙版涉及创建所谓的 PDF-XObject,这是一个自给自足的图形对象,稍后可用于掩盖(即添加透明度)其他图形对象,如下例所示。

创建软蒙版在定义页面的左上角进行。fadings库的预定义软蒙版在第一个文档页面上创建。您在中间 PS 输出中看到的是此过程中使用的底层图形对象。它们不能被隐藏,但会在最后的 PDF 制作步骤 ( ps2pdf -dALLOWPSTRANSPARENCY ...) 中消失。

由于渐变是 PDF 独有的功能,因此发布/发行包含渐变的文档的中间 PS 版本毫无意义。您必须制作 ( ps2pdf -dALLOWPSTRANSPARENCY ...) 并发送 PDF。

如果你确实需要发送 PS,可能是因为出版商想要它,那么可以将 PDF 转换回 Postscript,使用pdf2ps。生成的 Postscript 在视觉上与其 PDF 前身没有区别。

ex.tex带有用户定义软遮罩的示例文档。排版方式

latex ex
latex ex
dvips ex
ps2pdf -dALLOWPSTRANSPARENCY ex.ps

(请注意,处理依赖透明度功能的文档需要 Ghostscript-9.52或更高版本。

\documentclass{article}

\usepackage[a6paper,landscape]{geometry}
\usepackage{tikz}
\usetikzlibrary{patterns}

\begin{document}

% define soft mask
\pgfdeclarefading{myFading}{%
  \tikz\shade [left color=pgftransparent!0, right color=pgftransparent!100] (0,0) rectangle (2,2);
}%
%
\begin{tikzpicture}
  % checkerboard background
  \pattern [pattern=checkerboard, pattern color=black!30] (0,0) rectangle (9,4);
  % blue rect with transparency gradient
  \fill [color=blue, path fading=myFading] (1,1) rectangle (3,3); 
  % red rect with transparency gradient
  \fill [color=red, path fading=myFading] (4,1) rectangle (8,3); 
\end{tikzpicture}

\end{document}

中级后记(如gvGSview纸上所示): 在此处输入图片描述

最终 PDF(之后ps2pdf -dALLOWPSTRANSPARENCY ex.ps): 在此处输入图片描述

Postscript,从 PDF 转换回来(pdf2ps ex.pdf ex2.ps): 在此处输入图片描述

相关内容