创建新页面时“执行某项操作”

创建新页面时“执行某项操作”

我有自定义页码图像,想要将其放在给定页面的底部以表示其页码。

MWE 就是这么做的:

\documentclass[12pt]{article}

\usepackage{geometry}
\geometry{a4paper, top=15mm, bottom=15mm, margin=15mm, bindingoffset=0mm, heightrounded}

\usepackage{graphicx}
\graphicspath{{./figs/}}

\usepackage{eso-pic}
\newcommand{\putpagenumberimage}{}

\usepackage{lastpage}
\newcounter{lastpagenumber} % \pageref{LastPage} = 2\hbox{}

\AtBeginDocument{
    \addtocounter{lastpagenumber}{\pageref{LastPage}}
    \newcommand{\pagenumberimage}{%
        \put(\LenToUnit{97.5mm}, \LenToUnit{3.75mm}){\includegraphics[width=21.75mm, height=7.5mm]{page-\thepage-of-\thelastpagenumber.eps}}%
    }
}


\begin{document}

First page\\
\AddToShipoutPicture*{\pagenumberimage}
\newpage

Second page\\
\AddToShipoutPicture*{\pagenumberimage}

\end{document}

但是,我希望\AddToShipoutPicture*{\pagenumberimage}每当 LaTeX 生成新页面时都会被调用(即不仅当我手动调用\newpage)。

有什么办法可以实现这个吗?

答案1

\usepackage{fancyhdr} % fancyhdr package
\begin{document}
    \pagestyle{fancy}
    \fancyfoot{\AddToShipoutPicture*{\pagenumberimage}}

    first page

    \newpage

    second test
\end{document}

这(连同您的代码)应该可以解决问题。但我无法正确测试它,因为我的机器上没有图像。


附注:如果我是你,我会使用通过tikz(或类似方法)生成的程序图像,这样它会更加通用。并且使用时,\tikzexternalize编译时只会在添加新页面时受到影响。

相关内容