ブレークラインが機能しない

ブレークラインが機能しない

ページより大きいコード部分があります。次の lstlisting 構成を使用します。

\usepackage{listings}
\lstset{
basicstyle=\ttfamily,
columns=fullflexible,
xleftmargin=3ex,
breaklines=true,
breakatwhitespace=false,
escapechar=`
}

コードは次の場所にあります:

\begin{figure}[tb]
\HRule
\begin{lstlisting}
   MY LONG CODE
\end{lstlisting}
\HRule
\caption{some code.\label{fig:code}}
\end{figure}

残念ながら、コード付きの図は 2 ページに分割されておらず、1 ページに収まる部分のみが表示されています。この問題の原因と解決策は何でしょうか?

答え1

フローティング環境では改ページはできません。代わりに

\begin{lstlisting}[caption=some code.,label=fig:code]
   MY LONG CODE
\end{lstlisting}

コードの下にキャプションを表示したい場合は、 も使用しますcaptionpos=b

関連情報