有时在排版时会遇到在背景中使用图形水印的情况。如同上节讨论的那样, 也可用 fancyhdr 来实现。下面的例子中利用 fancyhdr
宏包中的命令,在每一页都用图形 file.eps 作为背景。
\documentclass{article}
\usepackage{graphicx,fancyhdr}
%%% store graphics in a box
\newsavebox{\mygraphic}
\sbox{\mygraphic}{%
\includegraphics[keepaspectratio, height=0.8\textheight,%
width=0.8\textwidth]{file.eps}}
\pagestyle{fancy}
\fancyhead{}
\fancyhead[C]{\setlength{\unitlength}{1in}
\begin{picture}(0,0)
\put(-2.2,-6){\usebox{\mygraphic}}
\end{picture}}
\fancypagestyle{plain}{%
\fancyhead{}%
\fancyhead[C]{\setlength{\unitlength}{1in}
\begin{picture}(0,0)
\put(-2.2,-6){\usebox{\mygraphic}}
\end{picture}}}
\begin{document}
...
\end{document}
在上面的例子中,图形的放置位置在页眉中央下方 6 英寸,偏左 2.2 英寸
的地方。可通过改变上述参数来改变图形的放置位置。 因为页眉在正文文本之前排出,所以正文文本会出现在图形的上方, 从而得到水印的效果。反之,因为页脚在正文文本之后排出,
所以若在页脚中使用图形会覆盖正文文本。如果 file.eps 是一矢量图形,可用第 15.1 节的方法来使得最后生成的
PS 文件较为小些。 另一种得到图形水印效果的方法是使用 eco-pic 宏包。
该宏包可从 CTAN 下载。它提供命令 \AddToShipoutPicture
把任何 LATEX 图形环境先于正文文本排出,从而得到水印的效果。
使用 eso-pic 的例子:
\begin{document}
\usepackage{graphicx}
\usepackage{eso-pic}
%%% store graphics in a box
\newsavebox{\mygraphic}
\sbox{\mygraphic}{%
\includegraphics[keepaspectratio, height=\textheight,%
width=\textwidth]{file.eps}}
\AddToShipoutPicture{
put(0,0){\makebox(0,0)[bl]{\usebox{\mygraphic}}}
\begin{document}
...
\end{document}
上面的例子中,将 EPS 图形放大到与正文一样大小,然后存放到 一个 LATEX 盒子中。在每一页中将此盒子放置在正文的下方。 |