设置 \minipage 在 \Declarecaptionformat 宽度内以匹配图形

设置 \minipage 在 \Declarecaptionformat 宽度内以匹配图形

我正在尝试设置文档中的标题,使其都具有特定的格式,如屏幕截图所示:

在此处输入图片描述

我正在通过标题包执行此操作,如在该 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是恒定的。

相关内容