我正在为我的小论文创建一个文档框架。
文档将包含多个章节。每章的页码将从 1 开始。这是通过setcounter{page}{1}
在每个新章节后使用 来实现的\chapter{}
。
在页脚中,我使用 显示当前章节和页面\fancyfoot[RO,RE]{\thechapter.\thepage}
。例如,显示第 1 章第 2 页的 1.2。
如何才能使目录、图表和表格列表采用相同的编号格式?
答案1
为了实现您想要的效果,您只需将命令修补\addcontentsline
为 print\thechapter.\thepage
而不是即可\thepage
。也就是说,在您的序言中添加以下代码:
\usepackage{etoolbox}
\patchcmd{\addcontentsline}
{\thepage}
{\thechapter.\thepage}
{}
{}
平均能量损失
\documentclass{book}
\usepackage{etoolbox}
\patchcmd{\addcontentsline}
{\thepage}
{\thechapter.\thepage}
{}
{}
\begin{document}
\tableofcontents
\chapter{1st}
\begin{figure}[h]
\caption{foo figure}
\end{figure}
\begin{table}[h]
\caption{foo table}
\end{table}
\chapter{2nd}
\begin{figure}[h]
\caption{another foo figure}
\end{figure}
\begin{table}[h]
\caption{another foo table}
\end{table}
\listoffigures
\listoftables
\end{document}
输出 (ToC)
输出(LoF)
答案2
所有对页面的引用\thepage
(包括 ToC/LoF/LoT 中使用的引用)都使用,因此您只需更新它即可获得适当的页面标签:
\renewcommand{\thepage}{\thechapter.\arabic{page}}
下面是一个最小示例,将上述内容作为其中的一部分(允许您为和 或许\mainmatter
设置不同的页码编号方案),以及在每个 开始时自动将页码计数器设置为 1 :\frontmatter
\backmatter
\chapter
\documentclass{book}
\usepackage{etoolbox,lipsum}% http://ctan.org/pkg/{etoolbox,lipsum}
\makeatletter
\g@addto@macro{\mainmatter}{%
% Adjust the way the page numbers are displayed
\renewcommand{\thepage}{\thechapter.\arabic{page}}%
% Reset the page counter to 1 at the start of \chapter
% \patchcmd{<cmd>}{<search>}{<replace>}{<success>}{<failure>}
\patchcmd{\chapter}{\fi}{\fi\setcounter{page}{1}}{}{}%
}
\makeatother
\begin{document}
\frontmatter
\tableofcontents
\listoffigures
\listoftables
\mainmatter
\chapter{1st}
\lipsum% Some text.
\begin{figure}[ht] \caption{foo figure} \end{figure}
\lipsum[1-50]% Some text.
\begin{table}[ht] \caption{foo table} \end{table}
\lipsum[1-50]% Some text.
\chapter{2nd}
\lipsum% Some text.
\begin{figure}[ht] \caption{another foo figure} \end{figure}
\lipsum[1-50]% Some text.
\begin{table}[ht] \caption{another foo table} \end{table}
\lipsum[1-50]% Some text.
\end{document}