次のような環境を設定しています。
\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}
インスタンス内のテキスト ブロックがページ内に収まるほど小さい場合、これは機能し、適切に印刷されます。
ただし、2 つに分割する必要がある場合、ヘッダーは見た目が不自然な形で残され、3 つに分割する場合は、最後の行まで 1 ページに 1 行のみが印刷されます。
2ページ:
3ページ以上:
環境設定をいじってみましたが、ページ間に適切な区切りを入れる方法が見つかりませんでした。これをどのように修正すればよいか知りたいです。