Listings 包 - 避免代码行之间出现白线

Listings 包 - 避免代码行之间出现白线

我正在使用 Listings 显示一些 JavaScript 代码。以下是我的设置,我对此处的设置做了一些更改:https://mysnippets443.wordpress.com/2015/11/28/latex-insert-javascript-code-with-lstlisting-package/

\usepackage{listings}
\usepackage{xcolor} %use color
\definecolor{mygreen}{rgb}{0,0.6,0}
\definecolor{mygray}{rgb}{0.5,0.5,0.5}
\definecolor{mymauve}{rgb}{0.58,0,0.82}
\definecolor{darkyellow}{RGB}{247, 127, 0}
\definecolor{niceblue}{RGB}{0, 150, 199}
\definecolor{pink}{RGB}{247, 37, 133}
 
%Customize a bit the look
\lstset{ %
upquote=true,
backgroundcolor=\color{mygray}, % choose the background color; you must add \usepackage{color} or \usepackage{xcolor}
basicstyle=\footnotesize, % the size of the fonts that are used for the code
breakatwhitespace=false, % sets if automatic breaks should only happen at whitespace
breaklines=false, % sets automatic line breaking
captionpos=b, % sets the caption-position to bottom
commentstyle=\color{mygreen}, % comment style
deletekeywords={...}, % if you want to delete keywords from the given language
escapeinside={\%*}{*)}, % if you want to add LaTeX within your code
extendedchars=true, % lets you use non-ASCII characters; for 8-bits encodings only, does not work with UTF-8
frame=single, % adds a frame around the code
keepspaces=true, % keeps spaces in text, useful for keeping indentation of code (possibly needs columns=flexible)
keywordstyle=\color{niceblue}, % keyword style
% language=Octave, % the language of the code
morekeywords={*,...}, % if you want to add more keywords to the set
numbers=left, % where to put the line-numbers; possible values are (none, left, right)
numbersep=5pt, % how far the line-numbers are from the code
numberstyle=\tiny\color{mygray}, % the style that is used for the line-numbers
rulecolor=\color{mygray}, % if not set, the frame-color may be changed on line-breaks within not-black text (e.g. comments (green here))
showspaces=false, % show spaces everywhere adding particular underscores; it overrides 'showstringspaces'
showstringspaces=false, % underline spaces within strings only
showtabs=false, % show tabs within strings adding particular underscores
stepnumber=1, % the step between two line-numbers. If it's 1, each line will be numbered
stringstyle=\color{mymauve}, % string literal style
tabsize=2, % sets default tabsize to 2 spaces
title=\lstname % show the filename of files included with \lstinputlisting; also try caption instead of title
}
%END of listing package%
 
\definecolor{darkgray}{rgb}{.4,.4,.4}
\definecolor{purple}{rgb}{0.65, 0.12, 0.82}
 
%define Javascript language
\lstdefinelanguage{JavaScript}{
keywords={typeof, new, true, false, catch, function, return, null, catch, switch, var, if, in, while, do, else, case, break},
keywordstyle=\color{niceblue}\bfseries,
ndkeywords={class, export, boolean, throw, implements, import, this},
ndkeywordstyle=\color{darkgray}\bfseries,
identifierstyle=\color{black},
sensitive=false,
comment=[l]{//},
morecomment=[s]{/*}{*/},
commentstyle=\color{pink}\ttfamily,
stringstyle=\color{darkyellow}\ttfamily,
morestring=[b]',
morestring=[b]"
}
 
\lstset{
language=JavaScript,
extendedchars=true,
basicstyle=\footnotesize\ttfamily,
showstringspaces=false,
showspaces=false,
numbers=left,
numberstyle=\footnotesize,
numbersep=9pt,
tabsize=2,
breaklines=false,
showtabs=false,
captionpos=b,
upquote=true,
}

这是输出: 在此处输入图片描述

我不想让这些白色/灰色线条显示在代码行之间。我尝试了各种设置,但不知道该如何移除它们,有人能建议一下吗?

答案1

白线是 PDF 查看器的一种特质(只要数字的字体大小不大于基本样式),通过深色背景样式得到了增强。

例如,在 Adob​​e Acrobat 中,放大 400% 后,图像完全不可见。在 Sumatra 中,图像几乎不可见,进一步放大后也不会发生变化。

杂技演员4X

A

苏门答腊4X

4X

更新

为了使所有伪影消失,可以添加另一个背景层,尽管我认为这不值得,除非在发布 pdf 之前。

mdframed例如,使用

\usepackage[framemethod=tikz]{mdframed}

\begin{document}
    
\begin{mdframed}[backgroundcolor=black!50,
    hidealllines=true,%
    innerleftmargin=0.1cm,
    innerrightmargin=0.1cm,
    innertopmargin=-0.1cm,
    innerbottommargin=-0.8cm]   
    \begin{lstlisting}[language=JavaScript]
        var foo = function(){
            console.log('foo');
        }
        foo();
    \end{lstlisting}

\end{mdframed}

https://tex.stackexchange.com/a/129651/161015

苏门答腊再次

星

相关内容