如何将逐字逐句视为可以像图形一样引用的块?

如何将逐字逐句视为可以像图形一样引用的块?

以该代码为例:

\begin{verbatim}
int main()
{
}
\end{verbatim}

如何在其下方添加标签以供引用?

int main()
{
}
  [code 1]

答案1

如果没有选择,float这里有更好的间距。

\documentclass{article}
\usepackage{listings}
\begin{document}

\begin{lstlisting}[language=C,frame=single,caption=My caption here,label=code1]
int main()
  {
  }
\end{lstlisting}

From code~\ref{code1} it can be seen clearly....

\end{document}

答案2

一种解决方法是将其包装在figure环境之下。

\begin{figure}
    \begin{verbatim}
        int main()
        {
        }
    \end{verbatim}
    \caption{My Caption}
    \label{my-label}
\end{figure}

答案3

\documentclass{article}
\usepackage{listings}

\begin{document}

\lstset{language=C,frame=single}

\begin{lstlisting}[float,caption=My caption here,label=code1]
int main()
{
}
\end{lstlisting}

From code~\ref{code1} it can be seen clearly....

\end{document}

答案4

我发现这个解决方案有点黑客但很有用,很大程度上受到@nikhilweee 回答的启发:

\begin{table}[H]
    \renewcommand\tablename{Code}
    \begin{verbatim}
int main()
{
}
    \end{verbatim}
    \caption{My Caption}
    \label{my-label}
\end{table}

这样,标签和标题就会位于顶部,并且不需要将标签“Figure:”或“Table:”应用于代码块。

相关内容