我刚刚更新了 Miktex。当我使用以下命令编译 Latex 文档时:
\usepackage {tikz}
\usetikzlibrary {shadows}
DVI 文件第一页左上角出现一个大黑色徽标,但 pdf 文件中没有出现。这是“shadows”库造成的问题。您有解决方案吗?
答案1
简短回答:latex
这是++工作流程的一个特性,并且与最近发布的 PGF 及其和TikZ 库(v3.1.6) 相关dvips
的问题是无法避免的。ps2pdf
shadows
fadings
长答案:
该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}