2015-02-17 96 views
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}