我正在使用该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
命令)周围添加括号 ( ) 似乎可以解决问题。