![如何引用 \lastdocpage - 2 对应的页码?](https://linux22.com/image/294394/%E5%A6%82%E4%BD%95%E5%BC%95%E7%94%A8%20%5Clastdocpage%20-%202%20%E5%AF%B9%E5%BA%94%E7%9A%84%E9%A1%B5%E7%A0%81%EF%BC%9F.png)
后续问题隐藏第一页的水印?。
我最近了解到\lastdocpage
(从上一个问题),但是有没有办法引用两个页面事先的到\lastdocpage
?为了理解上下文,上一个问题的水印应该从第 2 页持续到两页在文档结束之前。
梅威瑟:
\documentclass[12pt]{article}
\usepackage[margin=2cm]{geometry}
\usepackage{tikz}
\usepackage[version=3]{mhchem}
\usepackage [english]{babel}
\usepackage[printwatermark]{xwatermark}
\newwatermark*[pages=2-\lastdocpage,color=gray,angle=0,scale=1,xpos=46,ypos=-134]{\footnotesize Copyright \textcopyright\:2014 by some company.}
\begin{document}
Stuff
\newpage
More stuff
\end{document}
在此 MWE 中,水印位于第 2 至第 页\lastdocpage
。我试过了\pages=2-{\lastdocpage-2}
,但没有用。
答案1
根据手册xwatermark
你应该可以写
pages=2-{\lastdocpage-2}
事实上,手册中包含了示例
pages={\lastdocpage-2}-\lastdocpage
但是,最后一个版本可以工作,而第一个版本会抛出错误。但是,按如下方式显式强制将其设置为数字可以工作:
pages=2-{\number\numexpr\lastdocpage-2}
因此完整的文档将是:
\documentclass[12pt]{article}
\usepackage[margin=2cm]{geometry}
\usepackage{tikz}
\usepackage[version=3]{mhchem}
\usepackage [english]{babel}
\usepackage[printwatermark]{xwatermark}
\newwatermark*[pages=2-{\number\numexpr\lastdocpage-2},color=gray,angle=0,scale=1,xpos=46,ypos=-134]{\footnotesize Copyright \textcopyright\:2014 by some company.}
\begin{document}
Stuff
\newpage
More stuff
\newpage
Third page
\newpage
Fourth page
\end{document}
[以上要求您有一个包含以下etex
功能的标准现代 tex 引擎。]
答案2
你必须保存\lastdocpage
到计数器中,并将计数器减少适当的值,即在本例中为 2。之后,可以使用计数器值作为水印的结束限制。
要使用计数器值lastwatermarkpage
,可以
- 说
\thelastwatermarkpage
\number\value{lastwatermarkpage}
这保证了输出是一个数字,而\thelastwatermark
一个命令,基本上可以重新定义为执行任何其他操作,因此不鼓励使用。
我使用\forloop
来生成一些虚拟页面。在生产运行中,当然可以删除它以及定义loopcounter
。
\documentclass[12pt]{article}
\usepackage[margin=2cm]{geometry}
\usepackage{tikz}
\usepackage[version=3]{mhchem}
\usepackage [english]{babel}
\usepackage[printwatermark]{xwatermark}
\usepackage{forloop}
\newcounter{loopcounter}
\newcounter{lastwatermarkpage}
\setcounter{lastwatermarkpage}{\lastdocpage}
\addtocounter{lastwatermarkpage}{-2}%
\newwatermark*[pages=2-{\number\value{lastwatermarkpage}},color=gray,angle=0,scale=1,xpos=46,ypos=-134]{\footnotesize Copyright \textcopyright\:2014 by some company.}
\begin{document}
\forloop{loopcounter}{1}{\number\value{loopcounter} < 22}{%
Some stuff
\clearpage
}%
\end{document}