乳胶重新编号页码

时间:2015-02-17 22:44:25

标签: latex page-numbering

所以我正在撰写我的论文,但我被要求以罗马数字开始页码编号,改为阿拉伯语,然后重新编写罗马数字的编号,但是我还没有找到一种方法正在做。

1 个答案:

答案 0 :(得分:2)

你需要操纵一些计数器才能实现这一目标。使用refcount提取已保存的值并通过expl3转换它们。

enter image description here

\documentclass{report}
\usepackage{lipsum}% Just for this example
\usepackage{refcount}
\usepackage{xparse}

\ExplSyntaxOn% http://tex.stackexchange.com/a/227859/5764
\DeclareExpandableDocumentCommand{\arabicnumeral}{m}
  {
  \int_from_roman:n { #1 }
  }
\ExplSyntaxOff
\begin{document}
\tableofcontents

\clearpage
\pagenumbering{roman}% Switch to roman numbering
\chapter{First chapter}
\lipsum[1-50]\lipsum[1-50]
\label{last-roman-page}% Save last page of this chapter

\clearpage
\pagenumbering{arabic}% Switch to arabic numbering
\chapter{Second chapter}
\lipsum[1-50]\lipsum[1-50]

\clearpage
\renewcommand{\thepage}{\roman{page}}% Switch to roman numbering
\edef\intpagevalue{\getpagerefnumber{last-roman-page}}% Retrieve last roman page & convert to arabic
\setcounter{page}{\number\numexpr\expandafter\arabicnumeral\expandafter{\intpagevalue}+1}% Set current page value
\chapter{Last chapter}
\lipsum[1-50]\lipsum[1-50]

\end{document}