可以使用 cleveref 宏包。
主要的配置命令如下:
% \usepackage{hyperref}
% \usepackage{cleveref} % 注意顺序
% 修改 autorefname,也方便在后面使用
\def\figureautorefname{Fig.}
\def\figureautorefnames{Figs.}
\crefformat{figure}{#2\figureautorefname~#1#3}
\crefmultiformat{figure}
{#2\figureautorefnames~#1#3}
{ and~#2#1#3}
{, #2#1#3}
{ and~#2#1#3}
\crefrangeformat{figure}{#3\figureautorefnames~#1#4 to~#5#2#6}详细用法见说明文档。
完整的例子:
\documentclass{article}
\usepackage[colorlinks]{hyperref}
\usepackage{cleveref}
\def\figureautorefname{Fig.}
\def\figureautorefnames{Figs.}
\crefformat{figure}{#2\figureautorefname~#1#3}
\crefmultiformat{figure}
{#2\figureautorefnames~#1#3}
{ and~#2#1#3}
{, #2#1#3}
{ and~#2#1#3}
\crefrangeformat{figure}{#3\figureautorefnames~#1#4 to~#5#2#6}
\begin{document}
Hello, \LaTeXe.
\begin{figure}[h]
\caption{FIGURE ONE}\label{fig:1}
\centering\fbox{FIGURE ONE}
\end{figure}
\begin{figure}[h]
\caption{FIGURE TWO}\label{fig:2}
\centering\fbox{FIGURE TWO}
\end{figure}
\begin{figure}[h]
\caption{FIGURE THREE}\label{fig:3}
\centering\fbox{FIGURE THREE}
\end{figure}
reference: \ref{fig:1} \& \ref{fig:2} \& \ref{fig:3}
autoref: \autoref{fig:1} \& \autoref{fig:2} \& \autoref{fig:3}
cleveref: \cref{fig:1} \& \cref{fig:2} \& \cref{fig:3}
multi cref: \cref{fig:1,fig:2} \& \cref{fig:1,fig:2,fig:3} \& \cref{fig:1,,fig:2,,fig:3}
---------------------------
\crefmultiformat{figure}
{\figureautorefnames~#2#1#3}
{ and~#2#1#3}
{, #2#1#3}
{ and~#2#1#3}
\crefrangeformat{figure}{\figureautorefnames~#3#1#4 to~#5#2#6}
multi cref: \cref{fig:1,fig:2} \& \cref{fig:1,fig:2,fig:3} \& \cref{fig:1,,fig:2,,fig:3}
\end{document}















问 通过定义\renewcommand{\figureautorefname}{Fig.},使用\autoref{fig1},可以生成Fig.1。如果想实现Figs.1 and 2,该如何处理,谢谢?