\captionof 和 mdframed 之间的冲突

\captionof 和 mdframed 之间的冲突

我正在使用该minted包来生成突出显示的代码片段。因为我希望所有minted环境都用 包裹mdframed,所以我在序言中添加了以下内容。

\usepackage{mdframed}

\BeforeBeginEnvironment{minted}{\begin{mdframed}}
\AfterEndEnvironment{minted}{\end{mdframed}}

我还想为列表添加标题。由于列表长度超过一页,因此我不会将它们变成浮动内容;而是添加标题和标签\captionof{listing}{...}\label{...} \end{minted}包。问题是,当我这样做时,mdframed环境不会像往常一样很好地分布在各个页面上。相反,我会将整个列表塞进(实际上是截断了)一个页面中。

我已经确定罪魁祸首是caption包或命令。\captionof

您知道什么解决办法吗?

编辑:我已经更准确地确定了问题的根源:这是\captionof来自以前的 minted环境弄乱了下一个一个。例如,如果我只为最后一个添加标题,则不会发生这种情况。

编辑:如果我加上标题,它就可以工作了以下,但如果我把它放在列表上方,它仍然会搞乱。


没有\captionof

无标题


\captionof

带标题

答案1

我搜索了caption软件包文档,发现captionof命令需要在环境中才能工作。{}在列表(包括captionof命令)周围添加括号 ( ) 似乎可以解决问题。

相关内容