这关联为如何使行号引用与 一起工作的问题提供了答案lstlisting
。但是,如果我使用\autoref
它,它将仅返回数字,而不是类似 的内容Line 31
。
答案1
该\autoref
命令无法“知道”每个计数器的引用名称,必须将其作为单独的宏提供:
我使用了listings
OP 链接中 Marco Daniel 提供的示例,发现listings
使用lstnumber
作为计数器,因此
\newcommand{\lstnumberautorefname}{Line}
是需要定义的相关宏名(即计数器名称+autorefname
作为后缀。
chapter
“仅”预定义了标准计数器,例如,等、图形、页面、表格等。有关完整列表,请参阅hyperref
手册。其他软件包可能会定义其他\...autorefname
宏。
也请看一下包装cleveref
。
\documentclass{article}
\usepackage{listings}
\usepackage{hyperref}
\newcommand{\lstnumberautorefname}{Line}
\begin{document}
\lstset{escapeinside={(*@}{@*)}}
\begin{lstlisting}
for i:=maxint to 0 do begin
{ comment }(*@\label{comment}@*)
end;
\end{lstlisting}
\autoref{comment} shows a comment.
\end{document}