![交叉引用清单](https://linux22.com/image/430420/%E4%BA%A4%E5%8F%89%E5%BC%95%E7%94%A8%E6%B8%85%E5%8D%95.png)
我在 texstudio 上写作,其中有一部分我想插入一段我自己写的代码。在文本的另一部分我想引用那段代码但我不知道该怎么做。代码是这样写的:
\section*{Matlab Code}
\begin{lstlisting}
code
\end{lstlisting}
答案1
\documentclass{article}
\usepackage{listings}
\begin{document}
\begin{lstlisting}[caption=Caption, label=lst:code]
code
\end{lstlisting}
See Listing~\ref{lst:code}.
\end{document}
将标题和标签设置为lstlisting
环境的可选参数。这将生成带有标题的代码Listing 1:Caption
,稍后可以引用为\ref{lst:code}
。
答案2
您可以定义稍后可以使用的标签\autoref
(或\ref
,或任何您用来引用的内容):
\begin{lstlisting}[caption={caption_text}\label{lst:a_label}]
code
\end{lstlisting}
顺便说一句,我正在将我的 TeX 代码库从 迁移到lstlisting
,minted
主要是出于稳健性的原因,而且因为我更喜欢底层的代码格式化功能。