如何在表格环境下标记和引用子图?

如何在表格环境下标记和引用子图?

我有两个子图,我需要使用图 \ref{fig1.1a:chap1} 和图 \ref{fig1.1b:chap1} 在文本(例如图 1.1(a) 和图 1.1(a))中引用它们。输出未出现。相反,出现了一个双问号(图 ??)。如何解决这个问题?

\documentclass[12pt, a4paper, oneside]{Thesis}
\usepackage{amsmath}
\usepackage{graphicx}
\usepackage{caption}
\usepackage{subfigure}

\begin{document}
\begin{figure}
    \centering
    \begin{tabular}{@{}c@{}}
        \includegraphics[width=\linewidth,height=125pt]{enrollment} \label{fig1.1a:chap1} \\[\abovecaptionskip]
        \small (a) Enrollment phase 
    \end{tabular}
    \vspace{\floatsep}
    \begin{tabular}{@{}c@{}}
        \includegraphics[width=\linewidth,height=125pt]{verification} \label{fig1.1b:chap1} \\[\abovecaptionskip]
        \small (b) Verification phase 
    \end{tabular}
    \caption{Mode of operations in a biometric authentication system}\label{fig1.1:chap1}%
\end{figure}
\end{document}

答案1

您展示两个子图的方法至少是不寻常的,坦率地说是错误的:

  • 你加载了过时的包subfigure但没有使用它。加载它是不够的,你应该在图形组合中使用它的环境,然后至少编译文档两次
  • subfigure已被弃用。请subfig改用它或subcaption(功能更强大)。
  • 引用作用于标签,标签位于标题之后。您的代码示例中不存在这种情况
  • 不清楚,图像中使用的表格的用途是什么
  • 看看下面的例子是否适合你(我没有使用thesis文档类,因为我不知道你使用哪一个。但这不会影响获得的结果)。经过两次编译,你将获得工作参考

    \documentclass{report} % <--- instead of "thesis" which i haven't
    \usepackage{amsmath}
    \usepackage{graphicx}
    \usepackage{caption}
    \usepackage{subcaption} % <--- it is not compatible with "subfigure"
                            % with it you had to replace "subfigure"
    
    \usepackage{lipsum}     % <--- for dummy text
    
    \begin{document}
    \lipsum[1]
    \begin{figure}[htb]     % <---
        \centering
        \begin{subfigure}[b]{0.6\linewidth}     % <---
            \includegraphics[width=\linewidth]{example-image-duck}
            \caption{Enrollment phase}          % <---
            \label{fig1.1a:chap1}
        \end{subfigure}                         % <---
    
        \begin{subfigure}[b]{0.6\linewidth}     % <---
            \includegraphics[width=\linewidth]{example-image-duck}
            \caption{Verification phase}        % <---
            \label{fig1.1b:chap1}
        \end{subfigure}                         % <---
        \caption{Mode of operations in a biometric authentication system}
        \label{fig1.1:chap1}%
    \end{figure}
    Test of references: see subfigures \ref{fig1.1a:chap1}  and \ref{fig1.1b:chap1} in figure \ref{fig1.1:chap1}.
    \end{document}
    

在此处输入图片描述

% <---您的文档示例相比,有明显的变化。如果您喜欢宽图像,则可将宽度更改subfigure为所需宽度。

附录:

您可能很幸运,可以使用subfigure包... :-) :

    \documentclass{report}
    \usepackage{amsmath}
    \usepackage{graphicx}
    \usepackage{caption}
    \usepackage{subfigure} % <---

    \usepackage{lipsum}

    \begin{document}
    \lipsum[1]
    \begin{figure}[htb]     % <---
        \centering
        \subfigure[Enrollment phase \label{fig1.1a:chap1}]%
        {
        \includegraphics[width=0.6\linewidth]{example-image-duck}
        } 

        \subfigure[Verification phase \label{fig1.1b:chap1}]%
        {
        \includegraphics[width=0.6\linewidth]{example-image-duck}
        }
        \caption{Mode of operations in a biometric authentication system}
        \label{fig1.1:chap1}%
    \end{figure}
    Test of references: see subfigures \ref{fig1.1a:chap1}  and \ref{fig1.1b:chap1} in figure \ref{fig1.1:chap1}.
    \end{document}

结果与以前类似,但是您可能会遇到新的问题。

在此处输入图片描述

相关内容