
Estou tendo exatamente o mesmo problema queesse, mas o visualizador de PDF do texstudio não exibe o erro, então não percebi até completar 32 páginas do documento. A solução dele realmente funciona (a mdframed, as outras não têm nenhum efeito no meu caso), mas não consigo percorrer manualmente 32 páginas em um documento, formatando manualmente cada trecho de código que possuo. POR ISSO, preciso de uma solução que se espalhe por todo o documento (o que provavelmente envolverá ajustes no ambiente de listagens no preâmbulo).
Estou em apuros, então fiz o MWE em 5 minutos, sinto muito.
\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}