只是一个问题。我使用此代码在我的图形下创建了一个源:
\documentclass{article}
\newcommand*{\captionsource}[2]{%
\caption[{#1}]{%
#1%
\\\hspace{\linewidth}%
\textbf{Source:} #2%
}%
}
\begin{document}
\begin{figure} [ht]
\centering
\captionsource{Caption}{ref, cite or free Text}
\label{fig:gliederung}
\end{figure}
\end{document}
但是,我希望我的标题和来源居中。我不知道该怎么做。有人能帮我吗?非常感谢!!!
答案1
答案2
虽然我强烈推荐标题包如果您希望进一步配置字幕,那么在这种情况下您实际上不需要它来实现所需的结果。
我认为,基本问题是\centering
,段落- 不是线。只在段落结束并排版时应用于段落。
但是,根据定义,包含标题的段落不会结束,因此\centering
无效。此外\\
,当文本未居中时,使用在许多情况下会导致坏框。通常,这只应在指定的上下文(例如tabular
和array
环境)内使用。在center
环境中,它会转换为新段落,但\centering
不会center
,并且您不希望后者在此处添加额外的垂直间距。
但修复很简单,因为没有理由不能将段落分隔符包含在宏定义中。
\newcommand*{\captionsource}[2]{%
\caption[{#1}]{#1}\par
\textbf{Source:} #2\par}
将产生
如果你想在标题和来源之间留出一些额外的空间,最好的解决方案可能是添加一些跳过。 例如,
\caption[{#1}]{#1}\smallskip\par
生产
\medskip
或者\bigskip
与相比将相应增加更大的空间\smallskip
。
完整代码:
\documentclass{article}
\newcommand*{\captionsource}[2]{%
\caption[{#1}]{#1}\smallskip\par
\textbf{Source:} #2\par}
\begin{document}
\begin{figure} [ht]
\centering
\captionsource{Caption}{ref, cite or free Text}
\label{fig:gliederung}
\end{figure}
\end{document}