我希望页码为降序罗马字体。当我将页码改为罗马字体时,它无法正常工作(取消注释 MWE 中的第 9 行并查看输出)。
梅威瑟:
\documentclass{article}
\textheight1cm
\begin{document}
1 \newpage 2 \newpage 3
\newpage
\setcounter{page}{1}
\let\oldthepage\thepage
\renewcommand{\thepage}{\number\numexpr 4-\oldthepage\relax}
% \renewcommand{\thepage}{\roman{page}}
iii \newpage ii \newpage i
\end{document}
答案1
\value{page}
您应该在计算中使用数值:
\documentclass{article}
\textheight1cm
\begin{document}
1 \newpage 2 \newpage 3
\newpage
\setcounter{page}{1}
\renewcommand{\thepage}{\romannumeral\numexpr 4-\value{page}\relax}
iii \newpage ii \newpage i
\end{document}
答案2
您可以将页码显示设置为此项,以实现一般的、递减的页码(罗马字体):
\renewcommand{\thepage}{%
\romannumeral\numexpr
\ifcsname @abspage@last\endcsname
\csname @abspage@last\endcsname% Use \@abspage@last if it exists
\else
0% Otherwise use 0
\fi
-\value{page}+1%
\relax}
它使用\@abspage@last
(自 2020 年 10 月起成为 LaTeX 内核的一部分*)来捕获sabs
的绝对值page
。由于此值依赖于.aux
,因此您必须对总页数的任何更改进行至少两次编译。
*\usepackage{xparse}
如果您没有最新的 LaTeX,您可能需要添加您的序言。