以浮动形式跨多页的框

以浮动形式跨多页的框

我正在尝试创建跨越多页的框,这些框被视为浮点数。

我将框定义为浮点数,可以使用 来引用它\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}

相关内容