Возобновить нумерацию рисунков после приложения

Возобновить нумерацию рисунков после приложения

Я готовлю свою диссертацию, которая состоит из 11 глав, за которыми следует приложение и, наконец, еще одна глава (т. е. резюме на голландском языке). В последней главе (резюме на голландском языке) у меня есть несколько рисунков, и я хочу возобновить нумерацию рисунков (например, первый рисунок главы резюме на голландском языке должен иметь номер 12.1). Вот код, иллюстрирующий проблему:

\documentclass[11pt,twoside,openright]{memoir}

\begin{document}

\begin{KeepFromToc}
\tableofcontents \cleardoublepage
\end{KeepFromToc}

\chapter{Introduction}
This is chapter 1.

\begin{figure}
\caption{Body figure.}
\label{bodyfigure1}
\end{figure}

\appendix
\addcontentsline{toc}{part}{Appendices} 
\part*{Appendices}

\chapter{Appendix A1}
This is A1.

\begin{figure}
\caption{Body figure.}
\label{bodyfigure2}
\end{figure}


\backmatter

\chapter{Dutch Summary}
This is chapter 2.

\begin{figure}
\caption{Body figure.}
\label{bodyfigure3}
\end{figure}


\end{document}

Когда вы это компилируете, вы видите, что первый рисунок в Главе 1 правильно пронумерован как "Рисунок 1.1", однако рисунок в голландской главе резюме пронумерован как "Рисунок 1", но он должен читаться как "Рисунок 2.1". Любые идеи о том, как исправить эту проблему, очень приветствуются!

решение1

Вот версия с xassoccntфункциями \BackupCountersGroupи \RestoreBackupCounterGroup, сохраняющая значения счетчиков определенного количества счетчиков и повторно вводящая их позже.

\documentclass[11pt,twoside,openright]{memoir}

\usepackage{xassoccnt}

\DeclareBackupCountersGroupName{dutchchapter}

\AssignBackupCounters[name=dutchchapter,cascading=true]{chapter}

\makeatletter
\newcommand{\StoreCounterFormats}{%
  \let\latex@@thechapter\thechapter
  \let\latex@@thefigure\thefigure
  \let\latex@@thetable\thetable  
}

\newcommand{\ContinueOldCounting}[2]{%
  \RestoreBackupCounterGroup[backup-id=#1]{#2}%
  \refstepcounter{chapter}%
  \let\thechapter\latex@@thechapter
  \let\thefigure\latex@@thefigure
  \let\thetable\latex@@thetable
}
\makeatother

\AtBeginDocument{%
  \StoreCounterFormats%
}

\begin{document}

\begin{KeepFromToc}
\tableofcontents \cleardoublepage
\end{KeepFromToc}

\chapter{Introduction}
This is chapter 1.

\begin{figure}
\caption{Body figure.}
\label{bodyfigure1}
\end{figure}

%Code to produce some dummy chapters
\makeatletter
\newcount\foocnt
\foocnt\c@chapter
\loop\unless\ifnum\foocnt=11
\advance\foocnt by 1
\chapter{Dummy chapter \the\foocnt}
\repeat
\makeatother
%End of dummy chapters production

% Make a backup of the state!
\BackupCounterGroup[backup-id=beforeappendices]{dutchchapter}

\appendix
\addcontentsline{toc}{part}{Appendices} 
\part*{Appendices}

\chapter{Appendix A1}
This is A1.

\begin{figure}
\caption{Body figure.}
\label{bodyfigure2}
\end{figure}


\backmatter

% Restore the old state
\ContinueOldCounting{beforeappendices}{dutchchapter}
\chapter{Dutch Summary}
This is chapter \thechapter

\begin{figure}
\caption{Body figure.}
\label{bodyfigure3}
\end{figure}


\end{document}

введите описание изображения здесь

Я думаю о добавлении возможности сохранения макросов \the....в xassoccntодном из будущих релизов.

решение2

Вот быстрое решение.

\chapter{Dutch Summary}
\setcounter{chapter}{11}
\refstepcounter{chapter}
\renewcommand\thechapter{\arabic{chapter}}
\renewcommand\thefigure{\thechapter.\arabic{figure}} % for figures
\renewcommand\thetable{\thechapter.\arabic{table}} % for tables

Связанный контент