如何让 LaTeX 自动插入Figure
到\ref
调用中,而不是这样写:
See data in Figure ~\ref{fig:JobInformationDialog}
只需写:
See data in \ref{fig:jobInformationDialog}
Figure [fignum]
并在编译时插入 LaTeX 吗?
答案1
该包提供了一种非常简单的方法prettyref
:
\documentclass{article}
\usepackage{caption}
\usepackage{prettyref}
\newrefformat{fig}{Figure~[\ref{#1}]}
\begin{document}
\begin{center}
\rule{10cm}{2cm}
\captionof{figure}{This is my caption}
\label{fig:first}
\end{center}
Please see \prettyref{fig:first}.
\end{document}
答案2
hyperref
提供\autoref
自动为每条引用设置标题的功能。对于figure
s 来说,这是Figure
:
\documentclass{article}
\usepackage{hyperref}
\begin{document}
\begin{figure}[ht]
\centering\rule{10cm}{2cm}
\caption{This is my caption}
\label{fig:first}
\end{figure}
Please see \autoref{fig:first}.
\end{document}
带星号的版本\autoref*
仅删除了该特定链接的内部文档超链接。
答案3
这cleveref
包提供了宏\cref
,并且\Cref
以一种非常可配置的方式执行此操作(参见文档):
\documentclass{article}
\usepackage{hyperref,cleveref}
\begin{document}
\begin{figure}[ht]
\centering\rule{10cm}{2cm}
\caption{This is my caption}
\label{fig:first}
\end{figure}
Please see \cref{fig:first}.
\end{document}
使用hyperref
是可选的,但应该在之前加载cleveref
。