我想在整个文档中将我的图编号为图 1、2、...。我检查了答案这里并且运行完美。但是,当我\mainmatter
在回忆录类中使用它时,它会返回。(如果您评论\mainmatter line in my code it will work, but I need the
\mainmatter`)
梅威瑟:
\documentclass{memoir}
\usepackage{chngcntr}
\counterwithout{figure}{chapter}
\counterwithout{table}{chapter}
\begin{document}
\mainmatter %when using this the numbering changes
\chapter{Test Chapter}
\section{Test Section}
\begin{figure}
\caption{Caption 1}
\end{figure}
\begin{figure}
\caption{Caption 2}
\end{figure}
\end{document}
答案1
只需拨打\counterwithout
电话后 \mainmatter
。
解释:
\mainmatter
实际上也是一个允许的命令\mainmatter*
,带星号的版本调用\@memmain@floats
,进而使用\counterwithin{figure}{chapter}
等。后来,\@memmain
调用\@smemmain
,因此前者\counterwithout
是相反的。
最后,\mainmatter
执行的操作与 相同,\mainmatter*
但另外切换到\pagenumbering{arabic}
。
\newcommand{\mainmatter}{%
\@ifstar{\@smemmain}{\@memmain}}
\newcommand\@memmain@floats{%
\counterwithin{figure}{chapter}
\counterwithin{table}{chapter}
}
\newcommand*{\@smemmain}{%
\@mainmattertrue
\setcounter{secnumdepth}{\value{maxsecnumdepth}}
\ifartopt
\if@twoside
\cleardoublepage
\else
\clearpage
\fi
\else
\cleardoublepage
\@memmain@floats
\fi}
\newcommand{\@memmain}{%
\@smemmain\pagenumbering{arabic}}
真实代码...
\documentclass{memoir}
\usepackage{chngcntr}
\begin{document}
\mainmatter %when using this the numbering changes
\counterwithout{figure}{chapter}
\counterwithout{table}{chapter}
\chapter{Test Chapter}
\section{Test Section}
\begin{figure}
\caption{Caption 1}
\end{figure}
\begin{figure}
\caption{Caption 2}
\end{figure}
\end{document}