如何在带有标题的浮动对象周围添加框架?

如何在带有标题的浮动对象周围添加框架?

我创建了一个新的浮点元素来定义示例:

\usepackage{float}
\floatstyle{plain}
\newfloat{example}{thp}{lop}
\floatname{example}{\textsc{Example}}

我想将示例设置在框架中。通常我使用mdframedframed环境将图形设置在框架中。

现在的问题是我无法用标题包装我的示例。我只能包装示例。

\begin{example}
    \begin{mdframed}{
        My example
        \caption{content of the caption}
    }
    \end{mdframed}
\end{example}

有没有办法将示例和标题设置在像图形或表格一样的框架中?

通过一个简单的例子来看一下数字和我的例子

\documentclass[a4paper,twoside,12pt]{article}

\usepackage[francais]{babel} 
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[labelsep=endash]{caption}
\usepackage{mdframed}

\usepackage{float}
\floatstyle{plain}
\newfloat{example}{thp}{lop}
\floatname{example}{\textsc{Example}}

\begin{document}

% The figure
\begin{figure}
    \begin{mdframed}{
        My figure
        \caption{content of the caption}
    }
    \end{mdframed}
\end{figure}

%The example
\begin{example}
    \begin{mdframed}{
        My example
        \caption{content of the caption}
    }
    \end{mdframed}
\end{example}

\end{document}

答案1

使用我自己的 MWE,而不是在你的 MWE 上构建。我创建带有标题的图形内容\captionof,并将其放置在临时的 中\vbox。然后我在调用的 周围放置一个框架\vbox。我需要\makebox[\textwidth]{...}构造,因为框架框现在比 更宽\textwidth

\documentclass{article}
\usepackage{caption,xcolor,graphicx,lipsum}
\begin{document}
\lipsum[1]

\setbox0=\vbox{
\centering
\includegraphics[width=2in]{example-image}
\captionof{figure}{xyz}
}
\begin{figure}[ht]
\makebox[\textwidth]{\fboxrule=2pt\textcolor{red}{\fbox{\box0}}}
\end{figure}
\end{document}

在此处输入图片描述

答案2

另一个解决方案是tcolorbox

example使用 声明了一种新的浮动类型 ( ) float,并为其提供了一个框架环境 ( )。此浮动类型由浮动(选项)texample构成。其浮动位置由选项控制,默认情况下为。标题由命令添加。tcolorboxfloatfloatplacementhtb\captionof{example}{...}

\documentclass[a4paper,twoside,12pt]{article}

\usepackage[francais]{babel} 
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage[labelsep=endash]{caption}

\usepackage[most]{tcolorbox}

\usepackage{lipsum}

\newtcolorbox{texample}[1][]{float, notitle, #1}

\usepackage{float}
\floatstyle{plain}
\newfloat{example}{thp}{lop}
\floatname{example}{\textsc{Example}}

\begin{document}

\lipsum[2]


\begin{figure}
\centering
\includegraphics[width=.25\linewidth]{example-image}
        \caption{content of the caption}
\end{figure}


\begin{texample}[floatplacement=t]
\centering
\includegraphics[width=.25\linewidth]{example-image}
        \captionof{example}{content of the caption}
\end{texample}

\begin{texample}
\centering
\includegraphics[width=.25\linewidth]{example-image}
        \captionof{example}{content of the caption}
\end{texample}
\end{document}

在此处输入图片描述

相关内容