如何使用 Java 或 LaTeX 中的任何代码并在我的文档中引用它?
答案1
下面是使用的示例包裹listings
。您可以使用label
选项指定标签,然后使用通常的方式引用它\ref
:
笔记:
- 需要运行两次才能解析引用。在第一次运行中,您将看到??,然后在第二个中,它将被实际的列表编号替换。
代码:
\documentclass{article}
\usepackage{filecontents}
\usepackage{listings}
\begin{filecontents*}{foo.java}
public int nextInt(int n) {
if (n<=0)
throw new IllegalArgumentException("n must be positive");
if ((n & -n) == n) // i.e., n is a power of 2
return (int)((n * (long)next(31)) >> 31);
int bits, val;
do {
bits = next(31);
val = bits % n;
} while(bits - val + (n-1) < 0);
return val;
}
\end{filecontents*}
\lstdefinestyle{MyListStyle} {
numbers=left,
numberstyle=\small,
language=Java
}
\begin{document}
\lstinputlisting[
style=MyListStyle,
linerange={2-6},
firstnumber=2,
caption={Partial Listing},
label={lst: partial}
]{foo.java}
As can be seen from Listings~\ref{lst: partial} we see that...
\end{document}