如何删除列表产生的白线?

如何删除列表产生的白线?

我遇到了完全相同的问题,但 texstudio 的 pdf 查看器不显示错误,所以我直到阅读了文档的 32 页才注意到。他的解决方案确实有效(mdframed 解决方案,其他解决方案对我而言没有任何作用),但我无法手动遍历文档中的 32 页并手动格式化我拥有的每个代码片段。因此,我需要一个可以覆盖整个文档的解决方案(这很可能涉及调整序言中的列表环境)。

我处于困境之中,所以我在 5 分钟内就完成了 MWE,很抱歉。

\documentclass{book}

\usepackage{listings}
\usepackage{color}

\lstset{
    frame=lines,
    rulecolor=\color{deepblue},
    framesep = 5pt,
    language=C,
    aboveskip=3mm,
    belowskip=3mm,
    showstringspaces=false,
    columns=flexible,
    basicstyle={\small\ttfamily\color{cyan}},
    numbers=none,
    %numberstyle=\small\color{green},
    keywordstyle=\color{orange},
    commentstyle=\color{grey},
    stringstyle=\color{mauve},
    breaklines=true,
    breakatwhitespace=true,
    backgroundcolor=\color{deepblue},
    tabsize=3,
    morekeywords={uint32_t},
    keywordsprefix=#
}

\lstdefinestyle{C-small}
{
    language=C,
    morekeywords={uint32_t},
    basicstyle={\fontsize{12}{12}\ttfamily\color{cyan}},
    commentstyle=\color{grey},
    keywordstyle=\color{orange},
}

\lstdefinestyle{C}
{
    language=C,
    morekeywords={uint32_t},
    keywordstyle=\color{orange},
}

\definecolor{orange}{rgb}{1,0.5,0}
\definecolor{deepblue}{rgb}{0, 0, 0.15}
\definecolor{grey}{rgb}{0.5,0.5,0.5}

\begin{document}

\begin{lstlisting}[style =C]
    uint32_t mailbox_message[22] __attribute__ ((aligned (16)));
    uint32_t index;

    void set_init_display_message()
    {
        index = 1;
        mailbox_message[index++] = 0;//request code

        mailbox_message[index++] = (uint32_t) SET_PHYSICAL_WIDTH_HEIGHT; //tag
        mailbox_message[index++] = 8;   //request size
        mailbox_message[index++] = 8;   //response size
        mailbox_message[index++] = physical_width;  //horizontal resolution of the monitor
        mailbox_message[index++] = physical_height; //vertical resolution of the monitor

        mailbox_message[index++] = (uint32_t) SET_VIRTUAL_WIDTH_HEIGHT; //tag
        mailbox_message[index++] = 8;   //rquest size
        mailbox_message[index++] = 8;   // response size
        mailbox_message[index++] = virtual_width;   //horizontal resolution of virtual screen
        mailbox_message[index++] = virtual_height;  //vertical resolution of virtual screen

        mailbox_message[index++] = (uint32_t) SET_DEPTH;    //tag
        mailbox_message[index++] = 4;   //request size
        mailbox_message[index++] = 4;   //response size
        mailbox_message[index++] = color_depth; //color depth of the frame buffer

        mailbox_message[index++] = (uint32_t) ALLOCATE; //tag
        mailbox_message[index++] = 8;   //request size
        mailbox_message[index++] = 8;   //response size
        mailbox_message[index++] = 16;  //alignment fb ptr returned here
        mailbox_message[index++] = 0;   //fb size returned here

        mailbox_message[index++] = END;//end tag

        mailbox_message[0] = index*sizeof(uint32_t);    //size of message
    }
\end{lstlisting}
\end{document}

在此处输入图片描述

相关内容