我最近在文档中将 、 等与图表设置一起添加\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}
顺便说一句,我个人建议您重新考虑这个编号方案;如果数字字符串太长,对读者来说不是很友好。