假设我将以下 Fortran 代码保存为 hello.f:
PROGRAM HELLO
PRINT '(A)', 'Hello, world'
STOP
END
我知道我可以把它导入到 LaTeX 中
\begin{lstlisting}[caption={Hello}, escapechar=|]
PROGRAM HELLO
PRINT '(A)', 'Hello, world' |\label{line:h1}|
STOP
END
\end{lstlisting}
~\ref{line:h1}
稍后我可以以常规文本模式使用。是否可以使用 执行相同操作\lstinputlisting
?
\lstinputlisting[caption={Hello}]{./fortran/code/hello.f}
答案1
您必须将标签添加到文件中,因此 hello.f 的内容应该是
PROGRAM HELLO
PRINT '(A)', 'Hello, world' |\label{line:h1}|
STOP
END
然后在\lstinputlisting
命令中添加转义字符:
\documentclass{article}
\usepackage{listings}
\begin{document}
\lstinputlisting[caption={Hello}, escapechar=|]{hello.f}
See line~\ref{line:h1}.
\end{document}
运行 LaTeX 两次后(为了获得正确的参考),我得到以下输出: