Невозможно правильно разместить lstinputlisting

Невозможно правильно разместить lstinputlisting

У меня есть этот код в документе:

\begin{figure}
    \center
    \includegraphics[scale=0.5]{images/image.jpg}
    \caption{image}
\end{figure}

The content of file.sh :
\begin{figure}
    \lstinputlisting[language=Bash,caption={mycaption}]{file.sh}
\end{figure}
Blablabla

Исходный код размещен после текстаБлаблаблаи на одной странице. Этот текст содержит классический текст, раздел. Он должен быть размещен сразу после изображения. Более того, исходный код обрезан в конце страницы и в нем отсутствует половина кода... Вот логи:

<images/image.jpg, id=122, 442.65375pt x 492.84125pt>
File: images/image.jpg Graphic file (type jpg)
<use images/image.jpg>
Package pdftex.def Info: images/image.jpg used on input line 292.
(pdftex.def) Requested size: 221.32632pt x 246.42001pt.
(/usr/share/texlive/texmf-dist/tex/latex/listings/lstlang1.sty
File: lstlang1.sty 2015/06/04 1.6 listings language file
)
(/usr/share/texlive/texmf-dist/tex/latex/listings/lstlang1.sty
File: lstlang1.sty 2015/06/04 1.6 listings language file
)
Package hyperref Info: bookmark level for unknown lstlisting defaults to 0 on i
nput line 298.
LaTeX Font Info: Try loading font information for T1+cmtt on input line 298.
(/usr/share/texlive/texmf-dist/tex/latex/base/t1cmtt.fd
File: t1cmtt.fd 2014/09/29 v2.5h Standard LaTeX font definitions
)
(./file.sh)
LaTeX Warning: Float too large for page by 705.87885pt on input line 299.
[9]

Я схожу с ума. Надеюсь, вы мне поможете.

решение1

Если LaTeX должен придерживаться строгого порядка image-listing-Blablabla, не используйте никаких figureокружений. Все, что вы обернете в окружение рисунка, будет иметь определенную тенденцию перемещаться туда, где TeX посчитает это наилучшим образом; более того, содержимое окружения figureне разрывается между страницами.

введите описание изображения здесь

\documentclass{article}
\usepackage{caption}% For the \captionof command, to be used outside of figures
\usepackage{graphicx}
\usepackage{listings}
\begin{document}
\begin{center}
    \includegraphics[scale=0.5]{example-image}
    \captionof{figure}{image}
\end{center}

The content of file.sh :
    \lstinputlisting[language=Bash,caption={mycaption}]{file.sh}
Blablabla
\end{document}

Связанный контент