当我尝试在 tikz 和 eso-pic 中使用水印时,看到了奇怪的行为。
这是我的示例文档:
\documentclass[10pt]{article}
\usepackage{eso-pic}
\usepackage{tikz}
\newcommand{\addwatermark}[1]
{
\makeatletter
\newlength{\wmoffset}
\setlength{\wmoffset}{4cm}
\def\wmscale{5}
\def\wmopacity{0.05}
\AddToShipoutPicture
{
\begin{tikzpicture}[remember picture, overlay]
\node [shift={(\wmoffset,-\wmoffset)}] at (current page.north west)
{
\begin{tikzpicture}
\node [rotate=45,scale=\wmscale,text opacity=\wmopacity]
{\textrm{\normalsize{\textbf{#1}}}};
\end{tikzpicture}
};
\end{tikzpicture}
\begin{tikzpicture}[remember picture, overlay]
\node [shift={(-\wmoffset,\wmoffset)}] at (current page.south east)
{
\begin{tikzpicture}
\node [rotate=45,scale=\wmscale,text opacity=\wmopacity]
{\textrm{\normalsize{\textbf{#1}}}};
\end{tikzpicture}
};
\end{tikzpicture}
}
\makeatother
}
\addwatermark{DRAFT}
\begin{document}
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris elit est,
laoreet ac pellentesque eu, fringilla tempor lectus. Cras ultricies sem sed enim
scelerisque non molestie augue congue. Nullam aliquam dignissim posuere. Nunc
dapibus arcu eu ligula scelerisque faucibus malesuada turpis viverra. Praesent
sed dui mauris, vel tincidunt est. Ut vitae purus mauris. Aliquam commodo nunc
id ante venenatis venenatis. Sed gravida vehicula ante, in volutpat tortor
molestie at. Sed eu felis ac tortor auctor vulputate. Nullam nulla quam, varius
malesuada ultricies tristique, porttitor eget tellus. Praesent at urna
risus. Suspendisse potenti. Nulla facilisi. In nisi ipsum, imperdiet sit amet
cursus non, iaculis quis nunc. Duis nunc ligula, feugiat quis auctor sit amet,
rutrum in dolor. Nullam quis justo leo.
\newpage
In euismod tristique arcu, nec suscipit arcu aliquet eget. Cras vitae risus a
turpis gravida placerat suscipit nec mi. Donec tincidunt iaculis magna, sed
bibendum tellus ultricies vel. Donec posuere dignissim tempus. Maecenas felis
eros, interdum at imperdiet ut, dapibus eget mi. Nunc ullamcorper augue et lorem
ultrices ut laoreet dolor imperdiet. Suspendisse imperdiet lectus quis ipsum
fringilla suscipit. Nunc luctus ullamcorper ligula eu rhoncus. Aliquam lectus
leo, interdum non faucibus nec, imperdiet sed turpis. Duis vehicula sollicitudin
accumsan. Nulla pulvinar vulputate sodales. Nullam interdum sodales mi, vel
pulvinar mauris molestie eu. Vivamus sed eros sapien. Curabitur dapibus dictum
elit eget convallis. Maecenas eleifend sagittis augue.
\newpage
In molestie eros eu purus auctor ut aliquet nunc lacinia. Lorem ipsum dolor sit
amet, consectetur adipiscing elit. Sed consectetur, tortor ac consectetur
lobortis, sem nulla malesuada libero, eget imperdiet mi lorem vitae quam. Nam
viverra porta tristique. Donec ut enim at est eleifend luctus vitae id
magna. Morbi auctor dapibus odio, quis bibendum mauris ultricies sit
amet. Suspendisse eleifend diam congue nunc porttitor laoreet. Lorem ipsum dolor
sit amet, consectetur adipiscing elit. Quisque eu sagittis dolor.
\newpage
Ut velit magna, mattis id sodales vel, eleifend quis turpis. Nulla volutpat
pretium sapien sit amet consequat. Etiam gravida, risus sollicitudin egestas
semper, lorem nunc facilisis sem, ut tristique purus nunc ut sapien. Quisque
quis metus ac risus aliquam aliquet vulputate ut nisi. Aliquam sit amet ipsum
neque. Vivamus sodales placerat enim imperdiet malesuada. Donec et lectus vitae
mi posuere fringilla nec a metus. Etiam hendrerit, lacus sed interdum sagittis,
neque turpis fermentum erat, a tempus sapien velit vel velit. Morbi euismod
tempor dapibus. Integer ullamcorper pulvinar tincidunt. In hac habitasse platea
dictumst. Integer dapibus sollicitudin massa a porttitor. Curabitur blandit mi
tellus. Nulla scelerisque nunc aliquam risus adipiscing ac tristique orci
feugiat. Ut consequat elementum mauris nec hendrerit.
\end{document}
在从 MacTex 2010 升级到 2011 之前,这产生了预期的结果(每页的左上角和右下角都有淡淡的水印)。但是,升级后,我发现第一页上的水印显得不透明,而第 2-N 页上的水印在 PDF 输出中显示正常。
有人知道是什么原因导致的吗?也许是最近对 eso-pic 或 tikz 的一些更新改变了这种行为?有什么解决方法吗?如果有简单的方法可以做到这一点,我可以完全不去掉第一页的水印,但如果可能的话,我更愿意修复透明度问题。
答案1
这看起来像是 中的一个错误tikz
:第一页的内容流引用了两个图形状态[email protected]
和[email protected]
(它们指定透明度),但它们不包含在第一页的资源中(但在所有其他页面上),因此它们在那里是未知的。使用 TL2011 测试。
你应该报告这个错误这里。
答案2
要解决这个问题,你必须tikz
先加载包,然后再加载eso-pic
。所以代码也可以很好地与 xelatex 配合使用。