2015-02-17 2 views
0

поэтому я пишу диссертацию, но меня просят начать нумерацию страниц в римских цифрах, перейти на арабский язык, а затем пересчитать нумерацию римских номеров там, где она была остановлена, но я не нашел способ сделать это.Latex recake page numbering

ответ

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}