带有 \lstnewenvironment 的奇怪白线

带有 \lstnewenvironment 的奇怪白线

\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环境放在具有黑色背景颜色的框内。

相关内容