我想通过 \vref(来自 varioref)引用类似于图形的列表(使用 listings 包)。所以我在寻找 \labelformat{figure}{Figure~#1} 的类似物。相应计数器的名称是什么,即 \labelformat{???}{Listing~#1} 中的问号必须用什么代替?
我尝试了以下和其他一些方法。但我只得到了“请参阅 1.1”,而不是“请参阅清单 1.1”。
\usepackage{listings}
\usepackage[nospace]{varioref}
\labelformat{lstlisting}{Listing #1}
\begin{document}
\chapter{Chapter 1}
\begin{lstlisting}[caption=A, label=lst:a]
some code
\end{lstlisting}
Pls see \vref*{lst:a}
\end{document}
答案1
由于未知原因,列表仅在 begindocument 钩子中定义其计数器。因此您必须稍后进行更改:
\documentclass{book}
\usepackage{listings}
\usepackage[nospace]{varioref}
\AddToHook{begindocument}{\labelformat{lstlisting}{Listing #1}}
\begin{document}
\chapter{Chapter 1}
\begin{lstlisting}[caption=A, label=lst:a]
some code
\end{lstlisting}
Pls see \vref*{lst:a}
\end{document}