困扰我的最后一个问题:
在我的文档末尾,我添加了listoffigures
和listoftables
。虽然我希望它们都出现在新页面上,但我意识到它们的行为与其他章节不同,并且定义\RedeclareSectionCommand[beforeskip=-.2cm, afterindent=false]{chapter}
不起作用……这两个在标题后占用了太多的垂直空间……为什么会这样?
有人可以帮我实现这个目标listoffigures
吗listoftables
?
来源(试图删除不必要的东西):
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Präambel %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\documentclass{scrreprt}
%%%%%%%%%%%%%%%%%%%%%%%%%
% Packages %
%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage[bmargin=1.5cm,tmargin=1.5cm, headheight=1cm, includehead, includefoot]{geometry} %Seitenränder definieren
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[ngerman, english]{babel}
\usepackage[toc]{glossaries}
\usepackage{float} %Unterdrückt das Fliessen eines Bildes wenn statt "h" "H" als float angegeben wird.
\usepackage{pdfpages}
\usepackage{amstext}
\usepackage{lineno}
\usepackage{amssymb}
\usepackage{graphicx}
\usepackage{makeidx}
\usepackage{listings}
\usepackage[square,sort&compress,comma,numbers]{natbib}
\usepackage[manualmark]{scrlayer-scrpage}
\usepackage{lipsum}
\usepackage{fontspec}
\usepackage{listings}
\usepackage{tocloft}
\usepackage{import}
\usepackage[colorlinks, urlcolor=blue, linkcolor=black, citecolor=black]{hyperref}
\usepackage[german, noabbrev, nameinlink]{cleveref} %Automatische Verweise mit \cref{} oder \cpageref{} auf \label{}. Bei englischer Arbeit muss "german" durch "english" ersetzt werden.
%%%%%%%%%%%%%%%%%%%%%%%%%
% Konfigurationen %
%%%%%%%%%%%%%%%%%%%%%%%%%
%Kopfzeile und Fusszeile
\ihead*{\raisebox{-0.1\height}[0pt][0pt]{\includegraphics{example-image}}}
\cfoot*{\pagemark}
%Kapitel-Abstand zu Kopfzeile verkleinern
\RedeclareSectionCommand[beforeskip=-.2cm, afterindent=false]{chapter}
%Inhaltsverzeichnis
\setcounter{secnumdepth}{\subsubsectionnumdepth}
\setcounter{tocdepth}{\subsubsectiontocdepth}
\DeclareTOCStyleEntry[linefill=\TOCLineLeaderFill]{tocline}{chapter}
\DeclareTOCStyleEntries[pagenumberformat=\sffamily]{tocline}{section,subsection}
%Bibliografie-Stil
\bibliographystyle{ieeetr}
%Glossar
\makeglossaries
\renewcommand*\glspostdescription{\dotfill}
%Quellcode
\renewcommand\lstlistingname{Quellcode}
\renewcommand\lstlistlistingname{Quellcodes}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Dokument %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}
\selectlanguage{ngerman}
\pagenumbering{arabic}\setcounter{page}{2} %Seitennummerierung ab hier
\tableofcontents{}
%%%%%%%%%%%%%%%%%%%%%%%%%
% Kapitel %
%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%
% Verweise %
%%%%%%%%%%%%%%%%%%%%%%%%%
\addcontentsline{toc}{chapter}{Abbildungsverzeichnis}
\clearpage
\listoffigures
\clearpage
\listoftables
\addcontentsline{toc}{chapter}{Tabellenverzeichnis}
\addcontentsline{toc}{chapter}{Quellcodes}
\lstlistoflistings
%Anhänge
\input{Kapitel/Anhang}
\end{document}
答案1
我尝试了您的 MWE,但由于您没有提供文件,Kapitel/Anhang
所以我无法生成您所显示的内容。
我没有准备尝试猜测你在那个文件中有什么。--- GOM
我注意到您使用的tocloft
包并不总是能与 配合使用scrreprt
,但在这种情况下它可以很好地工作。将
\setlength{\cftbeforeloftitleskip}{0pt}
之前\listoffigures
,并且
\setlength{\cftbeforelottitleskip}{0pt}
之前\listoftables
,改为0pt
适合,这将减少 LoF 和 LoT 标题之前的空间。
答案2
包tocloft
会更改列表标题的格式。要避免这些更改,您必须设置包选项titles
:\usepackage[titles]{tocloft}
。
但是如果使用了 KOMA-Script 类,则不建议加载包tocloft
!据我所知,您不使用包的宏tocloft
,但加载包已经改变了列表标题的格式。
因此,您应该删除包tocloft
,并另外删除\clearpage
列表之前或之后的所有内容。(补充说明:对于长度超过一页的列表,手动输入将导致目录中的页码错误)。使用 class 选项listof=totoc
获取列表的目录条目。
例子:
\documentclass[
listof=totoc% ToC entry for LoF and LoT
]{scrreprt}
\usepackage{scrhack}% added: provides patches for packages float and listings, see package documentation
\usepackage[vmargin=1.5cm, headheight=1cm, includeheadfoot]{geometry} %Seitenränder definieren
\ifluatex
\usepackage{fontspec}% used with lualatex
\else
\usepackage[T1]{fontenc}% used with pdflatex
\fi
\usepackage{lmodern}
\usepackage[english,main=ngerman]{babel}% set main=ngerman, then the switch at the begin of the document can be removed
\usepackage{pdfpages}% loads package graphicx
%\usepackage{graphicx}% already loaded by pdfpages!
\usepackage{listings}% do not load this package twice
\usepackage[manualmark]{scrlayer-scrpage}
\usepackage[colorlinks, urlcolor=blue, linkcolor=black, citecolor=black]{hyperref}
\usepackage[german, noabbrev, nameinlink]{cleveref} %Automatische Verweise mit \cref{} oder \cpageref{} auf \label{}. Bei englischer Arbeit muss "german" durch "english" ersetzt werden.
\ihead*{\raisebox{-0.1\height}[0pt][0pt]{\includegraphics[height=\baselineskip]{example-image}}}
\cfoot*{\pagemark}
\RedeclareSectionCommand[beforeskip=-.2cm, afterindent=false]{chapter}
% ToC
\setcounter{secnumdepth}{\subsubsectionnumdepth}
\setcounter{tocdepth}{\subsubsectiontocdepth}
\DeclareTOCStyleEntry[linefill=\TOCLineLeaderFill]{tocline}{chapter}
\DeclareTOCStyleEntries[pagenumberformat=\sffamily]{tocline}{section,subsection}
% Listings
\providecaptionname{ngerman}{\lstlistingname}{Quellcode}
\providecaptionname{ngerman}{\lstlistlistingname}{Quellcodes}
\begin{document}
\begin{titlepage}
\centering
\Huge Titelpage
\end{titlepage}
\tableofcontents
\listoffigures
\listoftables
\lstlistoflistings
\end{document}
结果:
补充说明:
scrhack
如果您使用包float
和/或,则加载包listings
。
不要加载包listings
两次。
包中pdfpages
已经加载了包graphicx
。因此无需再次加载。
该包lipsum
仅适用于虚拟文本,您的文档不需要它。