Listings lstlisting 环境有白色水平线

Listings lstlisting 环境有白色水平线

benregn我遇到了与用户相同的问题

清单代码片段中有白色水平线

。但使numberstyle小于并basicstyle不能解决我的问题。

最小工作示例:

\documentclass{article}
\usepackage{lipsum}
\usepackage{lstautogobble}
\usepackage{listings}
\lstdefinestyle{myStyle}
{
    tabsize=4,
    autogobble=true,
    mathescape=true,
    numbers=left,
    xleftmargin=9mm,
    framexleftmargin=9mm,
    commentstyle=\color{green!50!black},
    comment=[l]\%\ ,
    backgroundcolor=\color{black!10!white},
    keywordstyle=\color{blue},
    keywords=
    {
        and,
        and,
        case,
        do,
        else,
        elseif,
        end,
        for,
        function,
        if,
        switch,
        to,
        while,
    }
}
\usepackage{xcolor}

\begin{document}
    \lipsum[1]
    \begin{lstlisting}[style=myStyle]
        $abcdefghijklmnopqrstuvwxyz$
        $\left\lfloor \frac{abcdefghijklmnopqrstuvwxyz}{ABCDEFGHIJKLMNOPQRSTUVWXYZ}\right\rfloor$
    \end{lstlisting}
    \lipsum[2]
\end{document}

结果如下

在此处输入图片描述

。我该如何修复这个问题?

答案1

该问题已记录在清单手册中。

8.2 Listings with a background colour and LATEX escaped
formulas

目前只有一种解决方法:• 将您的代码写入外部文件<filename>。• 将您的代码输入\lstinputlisting{<filename>} 到您的文档中并用 \begin{mdframed} . . . \end{mdframed} 生成的框架将其围起来。

话虽如此,我尝试了更短的路线,它似乎有效,但不知道它是否真的有效。

\documentclass{article}
\usepackage{lipsum}
\usepackage{lstautogobble}
\usepackage{listings}
\lstdefinestyle{myStyle}
{
    tabsize=4,
    autogobble=true,
    mathescape=true,
    numbers=left,
    xleftmargin=9mm,
    framexleftmargin=9mm,
    commentstyle=\color{green!50!black},
    comment=[l]\%\ ,
    keywordstyle=\color{blue},
    keywords=
    {
        and,
        and,
        case,
        do,
        else,
        elseif,
        end,
        for,
        function,
        if,
        switch,
        to,
        while,
      }
}
\usepackage{xcolor}

\usepackage{mdframed}

\begin{document}
    \lipsum[1]
\begin{mdframed}[backgroundcolor=black!10!white]
    \begin{lstlisting}[style=myStyle]
        #test&&#$abcdefghijklmnopqrstuvwxyz$
        $\left\lfloor \frac{abcdefghijklmnopqrstuvwxyz}{ABCDEFGHIJKLMNOPQRSTUVWXYZ}\right\rfloor$
    \end{lstlisting}
\end{mdframed}

    \lipsum[2]
\end{document}

在此处输入图片描述

相关内容