Lange Bildunterschriften mit einfachem Zeilenabstand über mehr als eine Zeile im Abbildungsverzeichnis

Lange Bildunterschriften mit einfachem Zeilenabstand über mehr als eine Zeile im Abbildungsverzeichnis

Ich habe die Lösung ausprobiert \caption[\protect\vspace{-0.5ex}{ long caption text}]{long caption text}, aber sie hat nichts bewirkt. Ich brauche einen konstanten doppelten Zeilenabstand in LOF und bei langen Bildunterschriften mit mehr als einer Zeile muss der Zeilenabstand einfach sein. Können Sie mir bitte helfen? Danke.

\documentclass[12pt,oneside,letterpaper,chapterprefix=on,numbers=noenddot]{scrbook}
\setuptoc{toc}{leveldown}% if ToC should be on section level
\usepackage[english]{babel}
%%% document setup
\usepackage[demo]{graphicx}


\usepackage[list-entry=heading]{caption}
\usepackage{booktabs}% table
\usepackage[doublespacing]{setspace}% <- changed


\setkomafont{captionlabel}{\bfseries}%make caption label bold
\setkomafont{caption}{\bfseries}%make caption bold
\setcapindent{0pt}%removes hanging indent from captions





%----------------%-------------------------%-----------
\begin{document}

\begingroup
\def\addvspace#1{}
\clearpage % to force a new page
\addcontentsline{toc}{chapter}{LIST OF FIGURES}
\listoffigures
%\doublespacing
\endgroup
\mainmatter

\begin{figure}
\includegraphics{test}
\caption[\protect\vspace{-0.25ex}{ llong caption text 2long caption text 3long caption text 4long caption text 5long caption text }]{1long caption text 2long caption text 3long caption text 4long caption text 5long caption text 6long caption text}
\end{figure}
\begin{figure}


\includegraphics{test2}
\caption[\protect\vspace{-0.5ex}{ llong caption text 2long caption text 3long caption text 4long caption text 5long caption text }]{1long caption text 2long caption text 3long caption text 4long caption text 5long caption text 6long caption text}
\end{figure}
\end{document}

Antwort1

Um das Abbildungsverzeichnis (und andere Inhaltsverzeichnisse) einzeilig zu setzen, können Sie ein \singlespacingoder \setstretch{1}ganz am Anfang entweder direkt nach der Überschrift mit \AfterTOCHeadoder unmittelbar vor dem Lesen der Zusatzdatei des entsprechenden Inhaltsverzeichnisses mit einfügen \BeforeStartingTOC, zB

\BeforeStartingTOC[lof]{\singlespacing}% for the list of figures only

oder

\BeforeStartingTOC{\singlespacing}% for every TOC (i.e. table of contents, list of figures, list of tables)

Um die weiße Linie zwischen den Einträgen im Abbildungsverzeichnis zu haben, können Sie die Option ändern beforeskip, z. B. mit

\DeclareTOCStyleEntry[beforeskip=\baselineskip]{tocline}{figure}

Dies muss für alle Eintragstypen durchgeführt werden, die dies haben sollen. Für Tabellen kopieren Sie den Befehl und ersetzen Sie ihn figuredurch table.

tocbasicWeitere Informationen finden Sie im Kapitel im KOMA-Script-Handbuch.

Für Einträge im Inhaltsverzeichnis können Sie auch

\RedeclareSectionCommands[tocbeforeskip=\baselineskip]{section,subsection}

Weitere Informationen zu finden Sie in Teil II des KOMA-Script-Handbuchs \RedeclareSectionCommand.

Um das Abbildungsverzeichnis und das Tabellenverzeichnis in das Inhaltsverzeichnis zu übernehmen, sollten Sie zusätzlich eine spezielle Funktion von KOMA-Script verwenden: die Option listof=totoc. Um die Kapitellücke aus dieser Liste zu entfernen, müssen Sie diese ebenfalls nicht lokal neu definieren, \addvspacesondern können die Option verwenden listof=nochaptergap.

Mit diesen Änderungen müssen Sie das optionale Argument nicht mehr verwenden \caption.

\documentclass[12pt,oneside,letterpaper,chapterprefix=on,numbers=noenddot,
  listof=totoc,listof=nochaptergap% <--- ADDED
]{scrbook}
\setuptoc{toc}{leveldown}% if ToC should be on section level
\usepackage[english]{babel}
%%% document setup
\usepackage[demo]{graphicx}


\usepackage[list-entry=heading]{caption}
\usepackage{booktabs}% table
\usepackage[doublespacing]{setspace}

\setkomafont{captionlabel}{\bfseries}%make caption label bold
\setkomafont{caption}{\bfseries}%make caption bold
\setcapindent{0pt}%removes hanging indent from captions

\BeforeStartingTOC{\singlespacing}% <--- ADDED
\DeclareTOCStyleEntry[beforeskip=\baselineskip]{tocline}{figure}
\DeclareTOCStyleEntry[beforeskip=\baselineskip]{tocline}{table}    

%----------------%-------------------------%-----------
\begin{document}

\frontmatter% <--- ADDED (without \mainmatter wouldn't make sense)

% CHANGED:
\listoffigures
\mainmatter

\begin{figure}
\includegraphics{test}
\caption{llong caption text 2long caption text 3long caption text 4long caption text 5long caption text}
\end{figure}
\begin{figure}


\includegraphics{test2}
\caption{llong caption text 2long caption text 3long caption text 4long caption text 5long caption text}
\end{figure}
\end{document}

Bildbeschreibung hier eingeben

Antwort2

Die Formatierung erfolgt über das Abbildungsverzeichnis \l@figure, daher habe ich ein zusätzliches hinzugefügt \vspace{\baselineskip}. Dies sollte mit jeder Dokumentklasse funktionieren.

Doppelter Zeilenabstand wird von Schreibmaschinen verwendet. Schriftsetzer fügen zusätzlichen Abstand zwischen den Zeilen ein.

\documentclass[12pt,oneside,letterpaper,chapterprefix=on,numbers=noenddot]{scrbook}
\setuptoc{toc}{leveldown}% if ToC should be on section level
\usepackage[english]{babel}
%%% document setup
\usepackage[demo]{graphicx}


\usepackage[list-entry=heading]{caption}
\usepackage{booktabs}% table
%\usepackage[doublespacing]{setspace}% <- changed


\setkomafont{captionlabel}{\bfseries}%make caption label bold
\setkomafont{caption}{\bfseries}%make caption bold
\setcapindent{0pt}%removes hanging indent from captions

\makeatletter
\let\oldl@figure=\l@figure
\renewcommand{\l@figure}{\vspace{\baselineskip}\oldl@figure}
\makeatother

\begin{document}

\begingroup
\def\addvspace#1{}
\clearpage % to force a new page
\addcontentsline{toc}{chapter}{LIST OF FIGURES}
\listoffigures}%\doublespacing
\endgroup
\mainmatter

\begin{figure}
\includegraphics{test}
\caption{1long caption text 2long caption text 3long caption text 4long caption text 5long caption text 6long caption text}
\end{figure}
\begin{figure}


\includegraphics{test2}
\caption[\protect\vspace{-0.5ex}{ llong caption text 2long caption text 3long caption text 4long caption text 5long caption text }]{1long caption text 2long caption text 3long caption text 4long caption text 5long caption text 6long caption text}
\end{figure}
\end{document}

verwandte Informationen