如果我定义了一个带有标题和标签的图形、表格、代码列表或任何类似的东西,我怎样才能获取项目名称和参考标签?
例如,如果我定义一个图形:
\begin{figure}
\includegraphics{figures/figure.png}
\caption{Some figure.}
\label{figure:some-figure}
\end{figure}
我需要做什么来避免写入:Figure \ref{figure:some-figure} shows
并写入\ref{figure:some-figure} shows
以产生以下输出:
“图1显示”?
答案1
cleveref
您可以使用提供命令的软件包\cref{}
,该命令会根据您引用的浮动的性质自动添加“图形”或“表格”。您还可以使用大写版本\Cref{}
。
\documentclass{article}
\usepackage{cleveref}
\begin{document}
\begin{figure}
\caption{This is a figure.}\label{fig}
\end{figure}
\begin{table}
\caption{This is a table.}\label{tab}
\end{table}
See \cref{fig} or \cref{tab}. \Cref{fig} shows that\dots. \Cref{tab}, on the contrary,\dots
\end{document}
编辑:如果您使用具有自定义名称的列表,则应明确将其指定为cleveref
:
\crefname{lstlisting}{code listing}{code listings}
\Crefname{lstlisting}{Code Listing}{Code Listings}
也可以看看:cleveref + 列表。顺便说一句,我认为你需要cleveref
先加载listings
。