![设置 \minipage 在 \Declarecaptionformat 宽度内以匹配图形](https://linux22.com/image/394037/%E8%AE%BE%E7%BD%AE%20%5Cminipage%20%E5%9C%A8%20%5CDeclarecaptionformat%20%E5%AE%BD%E5%BA%A6%E5%86%85%E4%BB%A5%E5%8C%B9%E9%85%8D%E5%9B%BE%E5%BD%A2.png)
我正在尝试设置文档中的标题,使其都具有特定的格式,如屏幕截图所示:
我正在通过标题包执行此操作,如在该 MWE 中所见:
\documentclass[12pt]{report}
\usepackage{graphicx}
\usepackage{blindtext}
\usepackage[margin=10pt,font={footnotesize, sf},labelfont=bf, labelsep=space]{caption}
\usepackage{xcolor}
\definecolor{grey}{HTML}{EDEDEF}
\DeclareCaptionFormat{plain}{%
\fcolorbox{white}{grey}{\begin{minipage}{\dimexpr\textwidth-2\fboxsep-2\fboxrule\relax}#1#2#3\end{minipage}}}
\usepackage{wrapfig}
\begin{document}
\begin{wrapfigure}{R}
\centering
\includegraphics[width=0.4\linewidth]{sections/figs/intro/why.pdf}
\caption[paragraph]{\textbf{This is my test caption} \\[5pt]
Look, it is always the width of the page, \\ rather than the width of the figure, can \\ I change this?
}
\label{why}
\end{wrapfigure}
\blindtext
\end{document}
问题是,标题中的小页面的宽度,以及整个标题的宽度,是由线宽而不是图宽设置的。有什么方法可以解决这个问题吗?我是否必须为每个图单独设置标题格式,而不是使用标题?
如果这个问题之前有人问过,我很抱歉,如果曾经有人问过,我找不到它。
提前致谢!
答案1
在您的配置中,使用\linewidth
而不是\textwidth
。在大多数 latex 构造中,\linewidth
会根据当前配置而改变。另一方面\textwidth
是恒定的。