我想编辑我的浮点数。找到了包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}