Agrupar figuras em LOF por capítulo (com número de capítulo, mas sem número de página)

Agrupar figuras em LOF por capítulo (com número de capítulo, mas sem número de página)

Estou com um problema que não consigo resolver:

Minha lista de figuras está agrupada por capítulos com espaço entre as figuras de cada capítulo. O que eu gostaria de ter não apenas espaço, mas também um título de capítulo que indicasse o número e o título do capítulo, masnãoa página do capítulo.

Há alguma maneira de fazer isso? De preferência sem o tocloftpacote que, por algum motivo, adiciona espaços enormes no topo do TOC e LOF dos quais não consigo me livrar. Além disso, quando eu o incluo, o LOF não é mostrado no TOC.

Alguma ideia?

Editar: não sei se isso se qualifica como um exemplo mínimo, mas seria meu exemplo para mostrar o problema.

\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}

O que cria o seguinte resultado. insira a descrição da imagem aqui Você pode ver que as figuras estão listadas em grupos por capítulos com um espaço entre eles. Eu gostaria que fosse mostrado "(número do capítulo) (espaço) (título do capítulo)" acima de cada grupo, mas nenhum número de página próximo a ele (os números de página próximos às figuras ainda devem estar visíveis). Por (espaço) quero dizer espaço suficiente, para que a primeira letra do título do capítulo comece exatamente na mesma margem onde começam os números das figuras listadas.

Responder1

Existe uma opção KOMA para inserir todos os capítulos em todas as listas: chapteratlists=entry(ou chapteratlistsou listof=chapterentry)

Se os números das páginas dos capítulos não devem ser mostrados na lista de figuras (lof), você pode usar \AfterTOCHead[lof]{\addtokomafont{chapterentrypagenumber}{\nullfont}}.

insira a descrição da imagem aqui

Código:

\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}

Atualizar

Achei umsugestão de Markus Kohminserir o capítulo apenas na lista de figuras (tabelas, ...) se houver pelo menos uma figura (tabela, ...) neste capítulo.

\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}

Corra três vezes para obter

insira a descrição da imagem aqui

informação relacionada