我希望文档的页面标签为 001,002, ... ,099,100,而不是 1,2, ... ,99,100。如何获得这样的三位数模式?我已经尝试过了,\ifnum\value{mycounter}<10 0\fi\arabic{mycounter}
但没有得到我想要的结果。
答案1
定义一个合适的计数器表示形式,扩展为三位数:如果数字小于 100,则添加 0;如果数字小于 10,则再添加 1。
\documentclass{article}
\usepackage[a6paper,bottom=2cm]{geometry} % for small pictures
\makeatletter
\newcommand{\arabicthree}[1]{\expandafter\@arabicthree\csname c@#1\endcsname}
\newcommand{\@arabicthree}[1]{\ifnum #1<100 0\fi\ifnum #1<10 0\fi\number#1}
\makeatother
\pagenumbering{arabicthree}
\begin{document}
text \pageref{first} and \pageref{second}
\clearpage
\setcounter{page}{42}
text\label{first}
\clearpage
\setcounter{page}{333}
text\label{second}
\end{document}