现在,互联网上有很多针对此问题的“解决方案”,但在我看来它们都有些混乱。
例如这个:链接至‘社区’
有合适的解决方案吗?由于这种情况很常见(例如,如果您的标题页上有图像,并且您需要它显示在图表列表中,但出于美观原因您不想添加标题),我认为这个问题并非毫无意义。
提前感谢您的帮助。
答案1
更优雅的方法是使用包caption
,它允许您为单个图形指定特殊格式。以下是示例:
\documentclass{article}
\usepackage{caption}
\usepackage[demo]{graphicx}
\DeclareCaptionLabelFormat{blank}{}
\begin{document}
\listoffigures
\begin{figure}[hpb]
\includegraphics[width=2cm,height=1cm]{foo}
\caption{A regular caption}
\end{figure}
\begin{figure}[hpb]
\includegraphics[width=2cm,height=2cm]{foo}
\captionsetup{textformat=empty,labelformat=blank}
\caption{A caption that doesn't appear under the figure}
\end{figure}
\begin{figure}[hpb]
\includegraphics[width=2cm,height=1cm]{foo}
\caption{The third figure}
\end{figure}
\end{document}
答案2
caption 有一个专门的命令来创建(编号)条目。你总是可以使用\addcontentsline
:
\documentclass[]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{caption}
\begin{document}
\listoffigures
\section{section}
\captionlistentry[figure]{a figure caption}
\addcontentsline{lof}{figure}{another figure caption}%
and here the figure
\end{document}
答案3
这是使用该包的 MWE caption
:
\documentclass{scrreprt}
\usepackage[demo]{graphicx}
\usepackage[labelformat=empty]{caption}
\begin{document}
\begin{figure}[p]
\includegraphics{test}
\caption[My TOC Caption]{~}
\end{figure}
\listoffigures
\end{document}
答案4
经过彻底的调查,我给出了四种方法,将介绍它们的优点和缺点,以及推荐第四种方式。
1. 使用带有和选项的caption
包和命令\captionsetup
textformat
labelformat
坏处:无标签和标题的图片在文中仍然占有空间,并有一个隐含的编号,该编号会影响其他图片的枚举,并且出现在有标题和标签的图画列表中。
\documentclass{article}
\usepackage[top=20mm,bottom=20mm,left=20mm,right=20mm]{geometry}
\usepackage{lipsum}
\usepackage[demo]{graphicx}
\usepackage{hyperref}
\usepackage{caption}
\begin{document}
\listoffigures
\vspace{1\baselineskip}
\lipsum[2]
\begin{figure}[hpb]\centering
\includegraphics[width=2cm,height=1cm]{foo}
\caption{One regular caption}
\end{figure}
\lipsum[3]
\begin{figure}[hpb]\centering
\includegraphics[width=2cm,height=1.5cm]{foo}
\captionsetup{textformat=empty,labelformat=empty}
\caption{A caption that doesn't appear under the figure}
\end{figure}
\lipsum[4]
\begin{figure}[hpb]\centering
\includegraphics[width=2cm,height=1cm]{foo}
\caption{Another regular caption}
\end{figure}
\end{document}
2. 使用带有选项的caption
包和命令\captionlistentry
figure
请注意,对于“”,还有一个带星号的变体,,\captionlistentry*
它不会增加⟨float type⟩
计数器,并且内部longtable
环境\captionlistentry
永远不会增加表计数器。(请参阅caption
软件包的文档)
坏处:没有标签和标题的图片仍然具有隐含编号,会影响其他图片的枚举,并且出现在有标题和标签的图画列表中。
优势:无标签和标题的图片在文中不占任何空间。
\documentclass{article}
\usepackage[top=20mm,bottom=20mm,left=20mm,right=20mm]{geometry}
\usepackage{lipsum}
\usepackage[demo]{graphicx}
\usepackage{hyperref}
\usepackage{caption}
\begin{document}
\listoffigures
\vspace{1\baselineskip}
\lipsum[2]
\begin{figure}[hpb]\centering
\includegraphics[width=2cm,height=1cm]{foo}
\caption{One regular caption}
\end{figure}
\lipsum[3]
\begin{figure}[hpb]\centering
\includegraphics[width=2cm,height=1.5cm]{foo}
\captionlistentry[figure]{A caption that doesn't appear under the figure}
\end{figure}
\lipsum[4]
\begin{figure}[hpb]\centering
\includegraphics[width=2cm,height=1cm]{foo}
\caption{Another regular caption}
\end{figure}
\end{document}
3. 使用\phantomsection
命令和\addcontentsline
命令以及lof
和figure
选项
坏处:无标签和标题的图片,其标题与图形名称左对齐,但不与其他图片的标题对齐。
优势:无标签和标题的图片在文中不占有空间,且无隐含编号,不影响其他图片的枚举,且出现在无标签的图表列表中。
\documentclass{article}
\usepackage[top=20mm,bottom=20mm,left=20mm,right=20mm]{geometry}
\usepackage{lipsum}
\usepackage[demo]{graphicx}
\usepackage{hyperref}
\begin{document}
\listoffigures
\vspace{1\baselineskip}
\lipsum[2]
\begin{figure}[hpb]\centering
\includegraphics[width=2cm,height=1cm]{foo}
\caption{One regular caption}
\end{figure}
\lipsum[3]
\begin{figure}[hpb]\centering
\includegraphics[width=2cm,height=1.5cm]{foo}
\phantomsection\addcontentsline{lof}{figure}{A caption that doesn't appear under the figure}
\end{figure}
\lipsum[4]
\begin{figure}[hpb]\centering
\includegraphics[width=2cm,height=1cm]{foo}
\caption{Another regular caption}
\end{figure}
\end{document}
4. 使用带有和选项的\phantomsection
命令和命令,以及带有选项的命令,并通过命令给出 2.3em 的缩进\addcontentsline
lof
figure
\captionlistentry
figure
\hspace
请注意,2.3em 的值来自于\l@figure
定义命令时使用的定义\listoffigures
:
\newcommand*\l@figure{\@dottedtocline{1}{1.5em}{2.3em}}
其中,1.5em
为图题的左缩进,2.3em
为图号的宽度。
优势:无标签和标题的图片在文中不占有任何空间,也没有隐含的编号,不会影响其他图片的枚举,且出现在无标签、有标题的图表列表中,与其他图片的标题左对齐。
\documentclass{article}
\usepackage[top=20mm,bottom=20mm,left=20mm,right=20mm]{geometry}
\usepackage{lipsum}
\usepackage[demo]{graphicx}
\usepackage{hyperref}
\begin{document}
\listoffigures
\vspace{1\baselineskip}
\lipsum[2]
\begin{figure}[hpb]\centering
\includegraphics[width=2cm,height=1cm]{foo}
\caption{One regular caption}
\end{figure}
\lipsum[3]
\begin{figure}[hpb]\centering
\includegraphics[width=2cm,height=1.5cm]{foo}
\phantomsection\addcontentsline{lof}{figure}{\hspace{2.3em}A caption that doesn't appear under the figure}
\end{figure}
\lipsum[4]
\begin{figure}[hpb]\centering
\includegraphics[width=2cm,height=1cm]{foo}
\caption{Another regular caption}
\end{figure}
\end{document}