Как удалить лишние пробелы в подписи при размещении текста внутри рисунка?

Как удалить лишние пробелы в подписи при размещении текста внутри рисунка?

Я хочу обернуть listingвнутри рисунка. Но когда я это делаю, между его подписью остается много пустого пространства. Как мне удалить лишнее пустое пространство подписи рисунка при перечислении обертывания внутри рисунка?

У меня есть следующий код,источник:

\expandafter\def\csname [email protected]\endcsname{}
\documentclass[10pt,journal,compsoc]{IEEEtran}
\PassOptionsToPackage{table}{xcolor}
\ifCLASSOPTIONcompsoc\usepackage[nocompress]{cite}
\else
    \usepackage{cite}
\fi
\ifCLASSINFOpdf\else\fi
\hyphenation{op-tical net-works semi-conduc-tor}
\usepackage[english]{babel}
\usepackage{pgfplots}
\pgfplotsset{compat=1.18}
\usepackage[utf8]{inputenc}
\usepackage{booktabs}
\usepackage{listings, xcolor}

\begin{document}
\section{Introduction}
hello world hello world hello world hello world
\begin{figure}[htp]
        \lstinputlisting[frame=tlrb, rulecolor=\color{black}]{hello.sol}
        \caption{hello world.}
\end{figure}
hello world hello world hello world hello world
\end{document}

привет.сол:

function hello() public returns (bool) {
    uint256 amount = 100
    return amount * 100
    return true;
}

выход:

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

Здесь вы можете видеть, что шрифт подписи стал меньше, а сверху и снизу подписи образовалось много пустого пространства. Можно ли их убрать?

Если у меня есть подпись внутри, listingто я могу ее заменить, Listingэто Figureтоже работает.

решение1

Ваш MWE не должен полагаться на внешние файлы. Если возможно, предоставьте автономный код, который можно скопировать и вставить.

Однако возможным решением является использование функции подписи listings, вместо того, чтобы полагаться на рисунок. Удалите окружение, figureа также \captionкоманду, а затем:

\lstinputlisting[caption={hello world.}, captionpos=b, frame=tlrb, rulecolor=\color{black}]{hello.sol}

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