7

I'm trying to get Rounded corner grey-colored box around figures. One solution would be to use

\usepackage{float}
\floatstyle{boxed} 
\restylefloat{figure}

but this results in black box around a figure. What would be the way to proceed?

3

1 Answer 1

12

You can define your own \floatstyle. In this case I took the definition from the float package and adjusted it to use the mdframed package environment to draw the frame.

Here is a comparison of using \floatstyle{boxed} and \floatstyle{myRoundBox}:

enter image description here

Note:

  • I took the liberty to add a background color, and tikzsetting to illustrate some of the customization that are possible -- see the mdframed documentation for more options.
  • Updated to incorporate Torbjørn T.'s suggestion of adding a \vspace{\abovecaptionskip} in \def\@fs@mid{} as per How to frame a figure in Lyx.

Code:

\documentclass{article}
\usepackage{graphicx}
\usepackage{float}
\usepackage[framemethod=tikz]{mdframed}

\mdfdefinestyle{myFigureBoxStyle}{backgroundcolor=yellow!10,, roundcorner=25pt,tikzsetting={draw=blue, line width=1pt}}%

\makeatletter
  \newcommand\fs@myRoundBox{\def\@fs@cfont{\bfseries}\let\@fs@capt\floatc@plain
  \def\@fs@pre{\begin{mdframed}[style=myFigureBoxStyle]}%
  \def\@fs@mid{\vspace{\abovecaptionskip}}%
  \def\@fs@post{\end{mdframed}}\let\@fs@iftopcapt\iffalse}
\makeatother

\floatstyle{myRoundBox} 
\restylefloat{figure}

\begin{document}

\floatstyle{boxed} 
\restylefloat{figure}

\section{Using boxed}
\begin{figure}[h]
    \centering
    \includegraphics[width=0.35\textwidth]{../images/EiffelTall}
    \caption{Some caption}
\end{figure}

\floatstyle{myRoundBox} 
\restylefloat{figure}
\section{Using myRoundBox}
\begin{figure}[h]
    \centering
    \includegraphics[width=0.35\textwidth]{../images/EiffelTall}
    \caption{Some caption}
\end{figure}
\end{document}
2
  • As I just used your answer, a thought came up: If you add something like \vspace{\abovecaptionskip} in \def\@fs@mid{} you get some space between image and caption. Commented Jun 14, 2014 at 17:47
  • @TorbjørnT.: Good point. Have incorporated your suggestions. Commented Jun 16, 2014 at 3:46

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .