我正在尝试在图表列表和表格列表中添加标题。我在这里找到了解决方案:
然而,这看起来相当复杂,经过进一步的谷歌搜索后,我找到了这个网页:
http://www.personal.ceu.hu/tex/toc.htm
演示了如何使用 1 个命令向 toc、lof 和 lot 添加一行。这似乎是我的解决方案,但是当我添加以下行时:
\addtocontents{lof}{Heading}
我收到一条错误消息:!LaTeX 错误:出现问题 - 也许缺少 \item。
我通过 Google 搜索并找到了这个网页,它显示了该问题的解决方案:
https://groups.google.com/forum/?fromgroups=#!topic/comp.text.tex/2IE68-IJJ6U
我尝试了不同的方法,例如:
\addtocontents{lof}{\protect\contentsline{chapter}{Heading 1}{}}
\addtocontents{lof}{\protect\contentsline{figure}{Heading 2}{}}
\addcontentsline{lof}{chapter}{\protect\numberline{}{Heading 3}}
\addcontentsline{lof}{figure}{\protect\numberline{}{Heading 4}}
最接近我想要的是第一个命令...{Heading 1} 但是,使用这个命令 latex 会添加一个额外的行或额外的垂直空间,以便在 lof 中的 Heading 1 之后有一个新行。
可以使用以下方法修复此问题:
\addtocontents{lof}{\textbf{Heading}}
但是,正如已经写过的,这会导致错误。我不明白为什么这个简单的命令会导致错误,尽管我很确定我的语法是正确的。
为了澄清我希望如何实现这一点,lof
这里有一个简短的例子:
\textbf{1 Chapter}
1.1 Figure 1
1.2 Figure 2
\textbf{2 Chapter}
2.1 Figure 3
2.2 Figure 4
有人可以帮忙吗?
这是我的工作示例:
\documentclass[10pt,DIV=12,a4paper,numbers=noenddot]{scrreprt}
\begin{document}
\tableofcontents
\listoffigures
%
\addtocontents{lof}{\protect\contentsline{figure}{Heading 1}{}}
\addcontentsline{lof}{chapter}{\protect\numberline{}{Heading 2}}
\addcontentsline{lof}{figure}{\protect\numberline{}{Heading 3}}
% Closest to what I would prefer
\addtocontents{lof}{\textbf{Heading 4}\protect\par}
\addtocontents{lof}{\protect\contentsline{chapter}{Heading 5}{}}
\chapter{Introduction}
\section{s1}
\begin{figure}
\caption{figure 1}
\end{figure}
\begin{figure}
\caption{figure 2}
\end{figure}
\section{s2}
\chapter{Content}
\section{c1}
\section{c2}
\end{document}
我基本上希望 lof 看起来像目录。在“1 简介”和“2 内容”之后没有换行符。我还刚刚意识到“标题 4”和“标题 5”的字体看起来不同。所以我想我更喜欢“标题 5”的字体,我认为它是目录中使用的字体。所以如果后面没有换行符,“标题 5”将是完美的。是否有可能以某种方式隐藏这个换行符?
答案1
链接问题的答案提供了自动化解决方案;如果您出于某种原因决定手动执行此操作(这可能会导致问题:例如,如果章节中没有图形,自动化解决方案将不会添加标题,并且您可以手动忽略这一点),您可以按照下面的示例进行操作。
使用变体Martin Scharrer's answer
到带有条目附加说明的目录中,我定义了一个\headinginfo
命令,它在 LoF 中排版其强制参数,使用与 ToC 中的章节条目相同的格式(因为使用了 KOMA 类,所以可以使用 轻松实现\usekomafont{disposition}
);该\headinginfo
命令必须在figure
章节的第一个环境之前使用(我建议在相应的 之后立即使用\chapter
):
\documentclass{scrreprt}
\makeatletter
% A modification of the kernel's \@dottedtocline,
% suppressing the leaders (dots) and page number
% A variation of Martin Scharrer's answer:
% https://tex.stackexchange.com/a/10189
\def\@nodottedtocline#1#2#3#4#5{%
\vskip \z@ \@plus.2\p@
{\leftskip #2\relax \rightskip \@tocrmarg \parfillskip -\rightskip
\parindent #2\relax\@afterindenttrue
\interlinepenalty\@M
\leavevmode
\@tempdima #3\relax
\advance\leftskip \@tempdima \null\nobreak\hskip -\leftskip
{#4}\hfill\null\par}}
\newcommand*\l@heading{\@nodottedtocline{0}{0em}{0em}}
\makeatother
\newcommand\headinginfo[1]{%
\addcontentsline{lof}{heading}{{\usekomafont{disposition}#1}}%
\addtocontents{lof}{\vspace{5pt}}}
\begin{document}
\listoffigures
\chapter{Test Chapter One}
\headinginfo{Some Text for Chapter One}
\begin{figure}
\centering
A
\caption{A test figure}
\end{figure}
\begin{figure}
\centering
B
\caption{Another test figure}
\end{figure}
\chapter{Test Chapter Two}
\headinginfo{Some Text for Chapter Two}
\begin{figure}
\centering
C
\caption{A test figure}
\end{figure}
\begin{figure}
\centering
D
\caption{Another test figure}
\end{figure}
\end{document}