为 mdframed 框添加字幕,无需制作牢不可破的

为 mdframed 框添加字幕,无需制作牢不可破的

我想在mdframed框下方添加标题(如果可能的话,在边框之外),有时会跨越多页。我设法用几种方法创建了标题,但分页符不太友好。我怎样才能做到这一点而不让框在分页符处不被破坏?

listings包不是一种替代方案,因为我已经在 mdframed 框中的某个地方使用了它,而嵌套它们似乎不是一个好主意。

相关主题:在里面使用\lstnewenvironment

答案1

以下可能是之后的情况:

在此处输入图片描述

\documentclass{article}
\usepackage[a6paper]{geometry}% Just for this example
\usepackage{lipsum,mdframed}% http://ctan.org/pkg/{lipsum,mdframed}
\newmdenv[linecolor=red,frametitle=Infobox]{infoboxmd}
\makeatletter
\def\@noargument{noargument}
\newenvironment{infobox}[1][noargument]
  {\gdef\@opt@arg{#1}% Caption optional argument
   \infoboxmd}
  {\endinfoboxmd\par\nobreak%
   \ifx\@opt@arg\@noargument\else\centering\@opt@arg\par\fi}%
\begin{document}

\begin{infobox}[This is a caption]
\lipsum[1-2]
\end{infobox}

Some text.

\end{document}

相关内容