我正在使用 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 查看器的一种特质(只要数字的字体大小不大于基本样式),通过深色背景样式得到了增强。
例如,在 Adobe Acrobat 中,放大 400% 后,图像完全不可见。在 Sumatra 中,图像几乎不可见,进一步放大后也不会发生变化。
杂技演员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
苏门答腊再次