使用 mainmatter 时丢失图表子部分编号

使用 mainmatter 时丢失图表子部分编号

我最近在文档中将 、 等与图表设置一起添加\frontmatter\mainmatter\numberwithin的文档中,但现在我的图表在导出时不再按小节编号。在 LyX 中,它们仍然显示正确的编号,但在导出时我丢失了小节编号。我正在使用 memoir 包。这是我的序言的一部分:

\setsecnumdepth{subsubsection}
\maxtocdepth{subsubsection}
\numberwithin{figure}{subsubsection}
\numberwithin{table}{subsubsection}

插入语句之前所有编号均有效\...matter

答案1

memoir从内部来看,

\newcommand\@memmain@floats{%
   \counterwithin{figure}{chapter}
   \counterwithin{table}{chapter}
}

这意味着主内容中的图表将按照chapter计数器的顺序进行编号;要覆盖此设置,您可以在序言中添加

\makeatletter
\renewcommand\@memmain@floats{%
  \counterwithin{figure}{subsubsection}
  \counterwithin{table}{subsubsection}
}
\makeatother

完整示例:

\documentclass{memoir}
\usepackage{amsmath}

\setsecnumdepth{subsubsection}
\maxtocdepth{subsubsection}
\numberwithin{figure}{subsubsection}
\numberwithin{table}{subsubsection}

\makeatletter
\renewcommand\@memmain@floats{%
  \counterwithin{figure}{subsubsection}
  \counterwithin{table}{subsubsection}
}
\makeatother

\begin{document}

\mainmatter
\chapter{Test chapter}
\vfill% just for the example
\section{Test section}
\subsection{Test subsection}
\subsubsection{Test subsubsection}
\begin{figure}
\caption{test}
\end{figure}

\end{document}

在此处输入图片描述

顺便说一下,由于memoir内部使用chngcntr,您可以直接使用\counterwithin而不是\numberwithin

\counterwithin{figure}{subsubsection}
\counterwithin{table}{subsubsection}

顺便说一句,我个人建议您重新考虑这个编号方案;如果数字字符串太长,对读者来说不是很友好。

相关内容