.png)
У меня возникла проблема, которую я не могу решить:
Мой список рисунков сгруппирован по главам с пробелом между рисунками каждой главы. Но мне бы хотелось иметь не только пробел, но и заголовок главы, который бы указывал номер и название главы, нонетстраница главы.
Есть ли способ это сделать? Желательно без пакета tocloft
, который по какой-то причине добавляет огромные пробелы в верхней части TOC и LOF, от которых я не могу избавиться. Также, когда я включаю его, LOF не отображается в TOC.
Есть идеи?
Редактировать: Я не знаю, можно ли это считать минимальным примером, но это был бы мой пример, демонстрирующий проблему.
\documentclass[12pt,headsepline,toc=bibliography,toc=listof]{scrreprt}
\begin{document}
\chapter{Chapter 1}
\begin{figure}
\caption{Figure 1}
\end{figure}
\begin{figure}
\caption{Figure 2}
\end{figure}
\chapter{Chapter 2}
\begin{figure}
\caption{Figure 3}
\end{figure}
\listoffigures
\end{document}
Что приводит к следующему результату.
Вы можете видеть, что рисунки перечислены группами по главам с пробелом между ними. Я бы хотел, чтобы над каждой группой отображалось "(номер главы) (пробел) (название главы)", но рядом с этим не было номера страницы (номера страниц рядом с рисунками все равно должны быть видны). Под (пробелом) я подразумеваю достаточно места, чтобы первая буква названия главы начиналась точно с того же поля, где и номера перечисленных рисунков.
решение1
Существует опция KOMA для вставки всех глав во все списки:
chapteratlists=entry
(или chapteratlists
или listof=chapterentry
)
Если номера страниц глав не должны отображаться в списке рисунков (lof), вы можете использовать \AfterTOCHead[lof]{\addtokomafont{chapterentrypagenumber}{\nullfont}}
.
Код:
\documentclass[12pt,headsepline,toc=bibliography,toc=listof,chapteratlists=entry]{scrreprt}
\AfterTOCHead[lof]{\addtokomafont{chapterentrypagenumber}{\nullfont}}
\begin{document}
\chapter{Chapter 1}
\begin{figure}
\caption{Figure 1}
\end{figure}
\begin{figure}
\caption{Figure 2}
\end{figure}
\chapter{Chapter 2}
\begin{figure}
\caption{Figure 3}
\end{figure}
\listoffigures
\tableofcontents
\end{document}
Обновлять
Я нашелпредложение Маркуса Комавставка главы в список рисунков (таблиц, ...) только в том случае, если в этой главе есть хотя бы один рисунок (таблица, ...).
\documentclass[12pt,headsepline,toc=bibliography,toc=listof,chapteratlists=entry]{scrreprt}
\AfterTOCHead[lof]{\addtokomafont{chapterentrypagenumber}{\nullfont}}
\AfterTOCHead[lot]{\addtokomafont{chapterentrypagenumber}{\nullfont}}
%%%%% from http://www.komascript.de/comment/5070#comment-5070 (Markus Kohm)
\makeatletter
\let\chapterhas@original@addcontentsline\addcontentsline
\renewcommand*{\addcontentsline}[1]{%
\immediate\write\@auxout{\string\chapterhas{\thechapter}{#1}}%
\chapterhas@original@addcontentsline{#1}%
}
\newcommand*{\chapterhas}[2]{%
\global\@namedef{chapterhas@#1@#2}{true}%
}
\renewcommand*{\addchaptertocentry}[2]{%
\addtocentrydefault{chapter}{#1}{#2}%
\if@chaptertolists
\doforeachtocfile{%
\iftocfeature{\@currext}{chapteratlist}{%
\ifundefinedorrelax{chapterhas@\thechapter @\@currext}{%
}{%
\addxcontentsline{\@currext}{chapteratlist}[{#1}]{#2}%
}%
}{}%
}%
\@ifundefined{float@addtolists}{}{\scr@float@addtolists@warning}%
\fi
}
\makeatother
%%%%
\begin{document}
\chapter{Chapter 1}
\begin{figure}
\caption{Figure 1}
\end{figure}
\begin{figure}
\caption{Figure 2}
\end{figure}
\chapter{Chapter 2}
\chapter{Chapter 3}
\begin{figure}
\caption{Figure 3}
\end{figure}
\begin{table}
\caption{Table 1}
\end{table}
\listoffigures
\listoftables
\tableofcontents
\end{document}
Запустите три раза, чтобы получить