在图表列表中显示章节和页码

在图表列表中显示章节和页码

我正在为我的小论文创建一个文档框架。

文档将包含多个章节。每章的页码将从 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} 

相关内容