如何引用 \lastdocpage - 2 对应的页码?

如何引用 \lastdocpage - 2 对应的页码?

后续问题隐藏第一页的水印?

我最近了解到\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}

相关内容