У меня есть часть кода, которая больше страницы. Я использую следующую конфигурацию 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}
К сожалению, рисунок с кодом не разделен на две страницы, а показывает только ту часть, которая умещается на одной странице. Что может быть причиной проблемы и каково ее решение?
решение1
Плавающая среда не может иметь разрыв страницы! Вместо этого используйте
\begin{lstlisting}[caption=some code.,label=fig:code]
MY LONG CODE
\end{lstlisting}
Если вам нужна подпись под кодом, то используйте также captionpos=b
.