![为 mdframed 框添加字幕,无需制作牢不可破的](https://linux22.com/image/276241/%E4%B8%BA%20mdframed%20%E6%A1%86%E6%B7%BB%E5%8A%A0%E5%AD%97%E5%B9%95%EF%BC%8C%E6%97%A0%E9%9C%80%E5%88%B6%E4%BD%9C%E7%89%A2%E4%B8%8D%E5%8F%AF%E7%A0%B4%E7%9A%84.png)
我想在mdframed
框下方添加标题(如果可能的话,在边框之外),有时会跨越多页。我设法用几种方法创建了标题,但分页符不太友好。我怎样才能做到这一点而不让框在分页符处不被破坏?
该listings
包不是一种替代方案,因为我已经在 mdframed 框中的某个地方使用了它,而嵌套它们似乎不是一个好主意。
答案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}