Tenho o seguinte ambiente configurado:
\lstdefinelanguage{prompt}{}
\lstnewenvironment{prompt}{%
\lstset{language=prompt,
frame=none,
aboveskip=1.5mm,
belowskip=1.5mm,
showstringspaces=false,
columns=fullflexible,
basicstyle={\scriptsize\ttfamily},
numbers=none,
%numbers=left,
%firstnumber=0,
numberstyle=\scriptsize\color{gray},
keywordstyle=\color{black},
commentstyle=\color{black},
stringstyle=\color{black},
breaklines=true,
breakatwhitespace=true,
postbreak={\mbox{$\hookrightarrow\space$}},
tabsize=2,
xleftmargin=1em,
xrightmargin=0pt,
breakindent=0pt,
resetmargins=true,
breakautoindent=false
}
\mdframed[%
innertopmargin=5pt,
middlelinewidth=1pt,
outerlinewidth=9pt,outerlinecolor=white,
innerleftmargin=3pt,
innerrightmargin=3pt,
leftmargin=-9pt,rightmargin=-10pt,
skipabove=\topskip,
skipbelow=\topskip,
roundcorner=3pt,
singleextra={\node[draw, fill=white,anchor=west, xshift=10pt+1pt,font=\bfseries] at (O|-P) {Prompt};},
firstextra={\node[draw, fill=white,anchor=west, xshift=10pt+1pt,font=\bfseries] at (O|-P) {Prompt};}
]%
}{\endmdframed}
Isso funciona e é impresso bem se o bloco de texto dentro de uma instância for pequeno o suficiente para caber em uma página:
Porém, quando tem que ser dividido em 2, o cabeçalho fica para trás de uma forma que parece estranha e se for dividido em 3, apenas uma linha é impressa por página, até a final:
2 páginas:
3 ou mais páginas:
Eu mexi nas configurações do ambiente, mas não encontrei uma maneira de fazer intervalos razoáveis entre as páginas. Estou me perguntando como consertar isso.