标题的框架浮动和背景颜色

标题的框架浮动和背景颜色

我想编辑我的浮点数。找到了包floatrow并轻松获得了所需的框架。现在我想为标题添加背景颜色。问题是,\parbox我插入的captionsetup大于浮点数的框架,并且没有与框架一起结束。我写了一个例子:

\documentclass{article}
\usepackage{caption}
\usepackage{floatrow} 
\floatsetup[figure]{framestyle=fbox,
           framearound=all,rowfill=yes}
\DeclareCaptionFormat{box}{
\colorbox{red}{\parbox{\textwidth}{#1#2#3}}
 } 
\captionsetup[figure]{format=box}
%%
\begin{document}
\begin{figure}
    TEST TEST TEST
\caption{BLA}
\end{figure}
\end{document}

答案1

A\colorbox增加了额外的边距,即\fboxsep,因此需要从 中减去两次\textwidth

解决这个问题的最简单方法是使用代码已经遵循的包colorbox的预定义:caption\fboxsep

\documentclass{article}
\usepackage{caption}
\usepackage{floatrow} 
\floatsetup[figure]{framestyle=fbox,
           framearound=all,rowfill=yes}
\captionsetup[figure]{box=colorbox,boxcolor=red,slc=off}
%%
\begin{document}
\begin{figure}
    TEST TEST TEST
\caption{BLA}
\end{figure}
\end{document}

在此处输入图片描述

请注意,这至少需要caption软件包的 v3.3 版本(并且尚未记录,因为我到目前为止还没有时间记录它...)如果 v3.3 不可用并且无法更新,则可以(当然)通过删除多余的空格并减去宽度来调整原始2\fboxsep代码\parbox

\documentclass{article}
\usepackage{caption}
\usepackage{floatrow} 
\floatsetup[figure]{framestyle=fbox,
           framearound=all,rowfill=yes}
\DeclareCaptionFormat{box}{%
\colorbox{red}{\parbox{\dimexpr\captionwidth-2\fboxsep}{#1#2#3}}%
 } 
\captionsetup[figure]{format=box}
%%
\begin{document}
\begin{figure}
    TEST TEST TEST
\caption{BLA}
\end{figure}
\end{document}

答案2

\frameset只需通过更改、添加额外的\makebox和一些来解决问题\vspace

\documentclass{article}
\usepackage{caption}
\usepackage{floatrow}
\floatsetup{style=BOXED, frameset={\fboxsep0pt}}
\DeclareCaptionFormat{box}{\colorbox{red}{\makebox[\dimexpr\captionwidth]
    {\parbox{\dimexpr\textwidth-7pt}{\vspace{1ex}#1#2#3\vspace{1ex}}}}}
\captionsetup{format=box}
%%%%
\begin{document}
\begin{figure}
    TEST TEST TEST
\caption{BLA}
\end{figure}
\end{document}

相关内容