\lstnewenvironment
我正在尝试为我的 LaTeX 课程编写一个但是我有一个奇怪的行为。
这是我的代码:
\lstnewenvironment{console} {
\lstset {
basicstyle=\color{lightgrey}\scriptsize\ttfamily,
backgroundcolor=\color{black},
breaklines=true,
numberstyle=\scriptsize,
columns=flexible,
keepspaces=true,
}
}{}
结果如下:
你知道我做错了什么吗?
谢谢!
编辑:
我仅在 Mac OS 上的 Preview.app 中看到这种行为,但在 Chrome 的 pdf 查看器中看不到!
答案1
[结合彼得和约翰的评论作为答案]
细水平线是 PDF 查看器造成的假象。如果它们只有 1 个像素粗,即使在预览中将缩放系数调到最大,它们也不是“真正”存在的,而且几乎肯定不会出现在打印件中。(与 DVI 不同,PDF 规范并不寻求确保不会发生亚像素差异的“差一”问题。)
解决方法:不要使用listings
包设置背景颜色,因为这样会为每一行单独着色,而是将整个lstlistings
环境放在具有黑色背景颜色的框内。