next up previous contents index
Next: IV. LATEX图形环境 Up: 15. 多次使用同一图形的几种技巧 Previous: 15.2 在页眉和页脚使用图形


15.3 在背景中使用图形水印

有时在排版时会遇到在背景中使用图形水印的情况。如同上节讨论的那样, 也可用 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 盒子中。在每一页中将此盒子放置在正文的下方。


Wang Lei
2000-04-15