我正在尝试让数字周围出现圆角灰色框。一种解决方案是使用
\usepackage{float}
\floatstyle{boxed}
\restylefloat{figure}
但这会导致图形周围出现黑框。该怎么办?
答案1
您可以定义自己的\floatstyle
。在本例中,我采用了以下定义:包裹float
并对其进行调整以使用包mdframed
环境绘制框架。
\floatstyle{boxed}
以下是使用和的比较\floatstyle{myRoundBox}
:
笔记:
- 我擅自添加了背景颜色,并
tikzsetting
说明了一些可能的自定义——请参阅mdframed
文档以了解更多选项。 - 更新以纳入 Torbjørn T. 的建议
\vspace{\abovecaptionskip}
,\def\@fs@mid{}
按照如何在 Lyx 中构图。
代码:
\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}