为了解决这个看似简单的问题,我广泛查阅了论坛和网络,但没有成功。我知道有很多关于这个问题的帖子,但我找不到适合我目的的帖子。
当使用 ClassicThesis 类时,我想在从一个章节切换到另一个章节时在图表列表内添加一行额外的行scrbook
。
例如它应该是:
- 图 1.1
图 1.2
图 2.1
图 3.1
而我现在得到的是:
- 图 1.1
- 图 1.2
- 图 2.1
- 图 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}