使用 ClassicThesis 在图表列表中按章节分组

使用 ClassicThesis 在图表列表中按章节分组

为了解决这个看似简单的问题,我广泛查阅了论坛和网络,但没有成功。我知道有很多关于这个问题的帖子,但我找不到适合我目的的帖子。

当使用 ClassicThesis 类时,我想在从一个章节切换到另一个章节时在图表列表内添加一行额外的行scrbook

例如它应该是:

  1. 图 1.1
  2. 图 1.2

  3. 图 2.1

  4. 图 3.1

而我现在得到的是:

  1. 图 1.1
  2. 图 1.2
  3. 图 2.1
  4. 图 3.1

以下是重现我的问题的 MWE,以及我从中得到的可能解决方案这里,不幸的是,它在我的例子中不起作用:

\documentclass{scrbook}
\usepackage{classicthesis}
\usepackage{classicthesis-ldpkg}
\usepackage{subfig}
\usepackage{graphicx}
\begin{document}

\makeatletter
\let\my@chapter\@chapter
\renewcommand*{\@chapter}{%
  \addtocontents{lof}{\protect\addvspace{10pt}}%
  \my@chapter}
\makeatother

\listoffigures

\clearpage

\chapter{1}

\begin{figure}
\centering
\includegraphics[scale=.9]{fig1}
\caption{Figure 1 of the chapter 1}
\end{figure}

\begin{figure}
\centering
\includegraphics[scale=.9]{fig2}
\caption{Figure 2 of the chapter 1}
\end{figure}
1
\chapter{2}

\begin{figure}
\centering
\includegraphics[scale=.9]{fig3}
\caption{Figure 1 of the chapter 2}
\end{figure}

\chapter{3}

\begin{figure}
\centering
\includegraphics[scale=.9]{fig4}
\caption{Figure 1 of the chapter 3}
\end{figure}

\end{document}

谢谢您的帮助。

答案1

classicthesis\deactivateaddvspace在文件开头添加一个宏.lof。这个宏的作用正如其名称所暗示的那样,所以你的补丁失败了。查看包代码,这种行为似乎与listsseparated设置为 false 的选项(和相关的布尔值)有关。我无法再次将其设置为 true,所以这里有一个蛮力方法:定义一个新的宏,\killdeactivateadddvspace它将导致\deactiveateaddvspace什么都不做,并在非常文件的开始.lof——我已经使用了etoolbox包和它的\AtEndPreamble宏来做到这一点。

注意:我没有使用该classicthesis-ldpkg包,因为 CTAN 上没有该包。此外,demo向包中添加该选项graphicx可让助手更轻松地测试您的代码。

\documentclass{scrbook}
\usepackage{classicthesis}
%\usepackage{classicthesis-ldpkg}
\usepackage{subfig}
\usepackage[demo]{graphicx}

\usepackage{etoolbox}
\newcommand{\killdeactivateaddvspace}{\let\deactivateaddvspace\relax}
\AtEndPreamble{\addtocontents{lof}{\protect\killdeactivateaddvspace}}

\begin{document}

\listoffigures

\clearpage

\chapter{1}

\begin{figure}
\centering
\includegraphics[scale=.9]{fig1}
\caption{Figure 1 of the chapter 1}
\end{figure}

\begin{figure}
\centering
\includegraphics[scale=.9]{fig2}
\caption{Figure 2 of the chapter 1}
\end{figure}
1
\chapter{2}

\begin{figure}
\centering
\includegraphics[scale=.9]{fig3}
\caption{Figure 1 of the chapter 2}
\end{figure}

\chapter{3}

\begin{figure}
\centering
\includegraphics[scale=.9]{fig4}
\caption{Figure 1 of the chapter 3}
\end{figure}

\end{document}

在此处输入图片描述

相关内容