根据文档,以下内容应在每一页上产生水印,但它只出现在第一页:
\newwatermark*[allpages,angle=45]{watermark}
它似乎xwatermark
将文档视为单页文档,oddpages
产生了与相同的效果,allpages
并且evenpages
水印永远不会出现。我\newpage
在我的文档中使用并禁用了页码。
如果我将文本标记移至背景,它也根本不会出现:
\newwatermark[allpages,angle=45]{watermark}
但是draftwatermark
成功地在所有页面上打印了水印。但我需要一些功能才能xwatermark
让它工作。
编辑:这是一个相当大的文件,此 tex 文件的基本配置如下。我认为它应该包括可能与问题相关的所有示例。
\documentclass[10pt]{article}
% encoding
\usepackage[T1]{fontenc}
% watermark
\usepackage{xwatermark}
\usepackage{textcomp}
\usepackage{afterpage}
% line spacing
\usepackage{setspace}
% use color in latex
\usepackage{xcolor}
% character encoding
\usepackage[utf8]{inputenc}
\usepackage{CJKutf8}
% adjust the page margins
\usepackage[scale=0.75,a4paper,bindingoffset=0.2in,left=0.5in,right=1in,top=1in,bottom=1in,footskip=.25in]{geometry}
% define page header and footer
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhf{}
\renewcommand{\headrulewidth}{\iffloatpage{0pt}{0pt}}
\renewcommand{\footrulewidth}{\iffloatpage{0pt}{0pt}}
% define page style
\fancypagestyle{summary}{
\fancyhf{} % Clear all headers/footers
\renewcommand{\headrulewidth}{4mm}
\fancyhead[L]{% header left-aligned
\fontsize{12}{14} \selectfont
\textcolor{grey}{}\vspace{1em}
}
\renewcommand{\headrule}{\hbox to\headwidth{%
\color{green}\leaders\hrule height \headrulewidth\hfill}}
\renewcommand{\footrulewidth}{0pt}% No footer rule
}
% set watermark
\newwatermark*[allpages,angle=45]{watermark}
\begin{document}
\begin{CJK*}{UTF8}{gbsn}
page 1 ...
\newpage
page 2 ...
\newpage
\clearpage\end{CJK*}
\end{document}
编辑:@steve 在评论中编译了一个在两个页面上都有水印的文件,但我没有。第二页没有水印。我正在使用 Ubuntu。
几年前我在这里发现了一个历史问题:xwatermark allpages 在 Ubuntu 上无法使用但评论说这应该与操作系统无关。虽然事实证明确实如此。
答案1
xwatermark
这似乎是由于获取包中最后一页的页码的方式不正确造成的。
内部宏\lastdocpage
用于标记最后一页的页码。如果您打印该宏,您会发现它始终是1
。
因此,这里有一个解决方法,即使用附加包来查找最后一页。
\documentclass{article}
\usepackage[2020-02-02]{latexrelease} % <- for avoidance of incompatibility
% more at: https://tex.stackexchange.com/questions/566088
\usepackage{xcolor}
\usepackage[printwatermark]{xwatermark}
\newwatermark[allpages,textmark={All pages},angle=0,scale=2,ypos=0]{}
\newwatermark[oddpages,textmark={Odd pages},angle=0,scale=2,ypos=50]{}
\newwatermark[evenpages,textmark={Even pages},angle=0,scale=2,ypos=50]{}
% fix \lastdocpage
\usepackage{lastpage}
\usepackage{refcount}
\renewcommand{\lastdocpage}{\getpagerefnumber{LastPage}}
\begin{document}
\setcounter{page}{100}
\null\newpage
\null\newpage
\null\newpage
\null
\end{document}