我创建了一个新的浮点元素来定义示例:
\usepackage{float}
\floatstyle{plain}
\newfloat{example}{thp}{lop}
\floatname{example}{\textsc{Example}}
我想将示例设置在框架中。通常我使用mdframed
或framed
环境将图形设置在框架中。
现在的问题是我无法用标题包装我的示例。我只能包装示例。
\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
构成。其浮动位置由选项控制,默认情况下为。标题由命令添加。tcolorbox
float
floatplacement
htb
\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}