我正在尝试创建跨越多页的框,这些框被视为浮点数。
我将框定义为浮点数,可以使用 来引用它\DeclareFloatingEnvironment
。效果很好。
我找到了一种使用该包创建跨多页框的方法mdframed
。感谢跨越多页的方框。
为 mdframed 框添加字幕,无需制作牢不可破的很接近但不能完全回答我的要求,因为它没有将盒子封装在我可以参考的浮动环境中。
以下是我目前尝试过的 MWE。最后一个框不会拆分:
\documentclass{article}
\usepackage{newfloat}
\DeclareFloatingEnvironment[
fileext=lob,
listname={List of boxes},
name=Box,
placement=htp,
]{myBox}
\usepackage{fancybox}
\newenvironment{encadrement}[1][\textwidth]
{\begin{Sbox}
\centering
\begin{minipage}{#1}}
{\end{minipage}
\end{Sbox}
\fbox{\TheSbox}}
\usepackage{mdframed}
\usepackage{blindtext}
\begin{document}
\blindtext
\begin{myBox}
\caption{A small box \label{box:smallBox}}
\begin{encadrement}
\blindtext
\end{encadrement}
\end{myBox}
I can here refer to the Box~\ref{box:smallBox}.
\blindtext
A big box follows, but it has no caption nor label:
\begin{mdframed}
\Blindtext
\end{mdframed}
\blindtext
% The following box will not split as I'd like
\begin{myBox}
\caption{A big box \label{box:bigBox}}
\begin{mdframed}
\Blindtext
\end{mdframed}
\end{myBox}
\end{document}
答案1
\captionof
为了说明with的用法,可以使用and (afterpage 包)mdframed
使其更像浮动。\afterpage
\clearpage
\documentclass{article}
\usepackage{newfloat}
\usepackage{caption}
\DeclareFloatingEnvironment[
fileext=lob,
listname={List of boxes},
name=Box,
placement=htp,
]{myBox}
\usepackage{mdframed}
\usepackage{blindtext}
\mdfsetup{linewidth=1pt}% otherwise left line gets eaten.
\begin{document}
\blindtext
I can here refer to the Box~\ref{box:bigBox}.
\begin{mdframed}
\captionof{myBox}{Now it has a caption and label}\label{box:bigBox}
\Blindtext
\end{mdframed}
\blindtext
\end{document}