使用 float 包进行 autoref

使用 float 包进行 autoref

我想使用\autoref{fig:subfig:a},但无法通过简单输入此代码来获取图形编号。我的代码是:

\documentclass{article}
\usepackage{amssymb,amstext,amsmath,latexsym,mathtools}
\usepackage{pdfpages}

\usepackage{graphicx}
\usepackage{caption}
\usepackage{subcaption}
\usepackage{float}

\usepackage{hyperref}

\begin{document}

\section{Aya}

\autoref{fig:ABC:a}

\begin{figure}[H]
\centering
\subfloat[this is ...]{
\label{fig:ABC:a}
\includegraphics[width=0.45\linewidth]{ABC1.pdf}}
\hspace{0}
\subfloat[this is ...]{
\label{fig:ABC:b}
\includegraphics[width=0.45\linewidth]{ABC2.pdf}}\\[20pt]
\subfloat[...]{
\label{fig:ABC:c} 
\includegraphics[width=0.45\linewidth]{ABC3.pdf}}
\hspace{0}
\subfloat[...]{
\label{fig:ABC:d}
\includegraphics[width=0.45\linewidth]{ABC4.pdf}}
\caption{abcd}
\label{fig:ABC} %% label for entire figure
\end{figure}

\end{document} 

我应该添加什么才能正确显示图形的数字?

答案1

caption这是一个只需要和包提供的功能的解决方案。请注意在环境中subcaption重复使用环境。要将标题放在subfigurefigure以下图形,只需将子图的\caption命令移至语句下方即可\includegraphics

\documentclass{article}
\usepackage[demo]{graphicx}
\usepackage[font=small,labelfont=bf]{caption}
\usepackage{subcaption}

\usepackage{hyperref}
\begin{document}

\begin{figure}

\begin{subfigure}{0.48\textwidth}
\centering
\caption{First subfigure} \label{fig:ABC:a}
\includegraphics[width=\linewidth]{fig1.pdf}
\end{subfigure}
\hspace*{\fill}
\begin{subfigure}{0.48\textwidth}
\centering
\caption{Second subfigure}\label{fig:ABC:b}
\includegraphics[width=\linewidth]{fig2.pdf}
\end{subfigure}
\caption{Overall caption}
\label{fig:ABC}
\end{figure}

Here's a cross-reference to \autoref{fig:ABC}, and here's one to \autoref{fig:ABC:b}.
\end{document}

在此处输入图片描述

相关内容