framed
当使用、listings
和包的组合时xcolor
,会导致一个奇怪的错误,我无法修复。
问题是,当一个盒子(用包装framed
和制成fcolorbox
)在页面分页之前包含列表时,该区块的其余部分在下一页上显示为空白。此外,第一页上的区块不再有框架。
如果我使用 fbox 而不是 fcolorbox,就不会发生这种情况。
最小的例子如下:
\documentclass[a4paper,12pt]{scrartcl}
\usepackage[english]{babel}
\usepackage{blindtext}
\usepackage{framed}
\usepackage{listings}
\usepackage{xcolor}
\lstnewenvironment{python}{\lstset{language=python}}{}
\renewcommand*{\FrameCommand}{%
\setlength{\fboxrule}{\FrameRule}\setlength{\fboxsep}{\FrameSep}%
\fcolorbox{black}{white}}
\begin{document}
\blindtext
\blindtext
\blindtext
\begin{framed}{Block}
\blindtext
Foo
\blindtext
\begin{python}
def f(x):
foo
\end{python}
THIS NEVER APPEARS
\blindtext
\end{framed}
End of block
\end{document}
我正在寻找任何一种解决方法,不一定是完整的解决方案。
答案1
添加\color{black}
after\end{python}
解决了问题(但会出现颜色堆栈警告)。似乎不知何故,“白色”背景也变成了环境之后的文本颜色python
。
编辑
使用框架。 一个简单的
\begin{mdframed}[skipabove=\topskip,skipbelow=\topskip]
...
\end{mdframed}
生成您想要的内容。环境可通过多种方式进行定制。