我想在我的图中加上以下文字:
<< FIGURE >>
Figure 1: Title of my figure which is displayed in the list of figures
Here in a new line a long description about the figure, in a smaller text
我发现了这个:
\caption[Title of my figure which is displayed...]%
{Here in a new line a long...}
给定代码的问题是,我没有得到图形下的标题,只有“图 1:此处新行很长……”。
如何解决?谢谢!
答案1
使用\caption
宏作为图形的(短)“标题”,并将较长的描述添加到环境中figure
(在\caption
and 之后具有适当的垂直间距)。
\documentclass{report}
\begin{document}
\listoffigures
\chapter{foo}
\begin{figure}
\centering
\rule{1cm}{1cm}% Placeholder for actual figure
\caption{Title of my figure which is displayed in the list of figures}
\medskip
\small
Here in a new line a long description about the figure, in a smaller text
\end{figure}
\end{document}
答案2
解决方案非常简单,不需要任何垂直调整(即\vspace
)。而不是
\caption[Short Title]%
{Long Description}
尝试:
\caption[Short Title]%
{Short Title \par \small Long Description}
实际上,您只需在 中重复一次标题,[]
并在 的开头重复一次{}
。标题和描述应该用 (或您喜欢的任何其他字体大小)分隔\par \small
,以换行并更改大小。这将产生:
<< FIGURE >>
Figure 1: Short Title
Long Description (in a smaller font!)
而只保留简称在图表中。
我通常不想换行(我更喜欢将标题和描述放在一个段落中)。因此,我这样做:
\caption[Short Title]%
{Short Title- Long Description}
生成结果:
<< FIGURE >>
Figure 1: Short Title- Long Description
答案3
答案扩展为博尔汉(由于缺乏足够的代表来评论,因此作为单独的答案发布):
用来\newcommand
避免重复每个短标题,并添加一些装饰。例如,下面的方法非常有效:
\usepackage{caption}
\captionsetup[table]{labelsep=space}
\captionsetup[figure]{labelsep=space}
\newcommand{\mycaption}[2]{\caption[#1]{\textbar\, \textbf{#1.} #2}}
...
\mycaption{Short Title}{Longer description.}
这显示了图表列表中的简称,并在实际标题中给出(**=粗体):
<< Figure >>
*Figure 1 | Short Title.* Longer description.
您可以轻松编辑命令以在短标题后添加分隔符、缩小文本、更改颜色等等。
答案4
除了上述评论之外,您还可以查看允许许多自定义的标题包。