我希望看到标题字体(以及标题标签)的尺寸比整个文档的尺寸小。
我已经尝试了 SE 的一些解决方案(图表标题的字体大小),例如:
\usepackage[font=small]{caption}
和
\usepackage{caption}
...
\captionsetup[figure]{font=small}
但就我的情况来说,它不起作用。
我认为这可能是由以下一种或两种情况造成的:
- 我正在使用外文文档类(因为我需要 14pt 文本大小);
- 我的代码中有以下几行(图形的中心标题):
\makeatletter
\long\def\@makecaption#1#2{%
\vskip\abovecaptionskip
\hbox to\textwidth{\hfill\parbox{1\textwidth}{\begin{center}#1: #2\end{center}}\hfill}
\vskip\belowcaptionskip}
\makeatother
您能针对我的问题给我一些建议吗?此外,我如何手动导出标题字体大小(例如 12pt 或 13pt)?
更新。以下是我的问题的 MWE(我希望它实际上是“最小”的):
\documentclass[14pt,a4paper]{extarticle}
\usepackage{graphicx}
\graphicspath{ {pictures/} }
\makeatletter
\long\def\@makecaption#1#2{%
\vskip\abovecaptionskip
\hbox to\textwidth{\hfill\parbox{1\textwidth}{\begin{center}#1: #2\end{center}}\hfill}
\vskip\belowcaptionskip}
\makeatother
\begin{document}
Picture:
\begin{figure}[ht]
\includegraphics[width=0.5\linewidth]{levels.png}
\caption{Here is a big picture. Caption are centered but it has the same font size as in whole document.}
\end{figure}
\end{document}
答案1
由于您已经重新定义了\@makecaption
,您可以在那里设置大小(这很可能就是您发现包caption
没有按预期工作的原因)。
我还想指出,您的定义可以稍微改进一下。嵌套的\hbox to\textwidth
和\parbox
是多余的,您实际上可以去掉它们。您可能还不想使用环境,center
因为它会在上方和下方增加一些垂直空间,因为它是使用 实现的trivlist
。
相反,我会这样做:
\makeatletter
\long\def\@makecaption#1#2{%
\vskip\abovecaptionskip
{
\centering
\small % or whatever your desired size is
#1: #2
\par % otherwise the centering will go away before it gets applied to the caption
}
\vskip\belowcaptionskip}
\makeatother