Latex 正确参考子图并正确对齐

Latex 正确参考子图并正确对齐

我知道关于我所讨论的主题还有很多其他问题。但是,我无法找到确切的解决方案。

我的问题是,我只想有 6 个子图(2 行,每行 3 个)并能够引用它们(例如使用 autoref 或其他方式),它应该显示为类似内容(例如引用图 1 a 时):“图 1a”或类似内容(无论是图还是图)但绝对必须提及图号和子图。(顺便说一句,我不明白为什么默认值是“1a”,因为很明显如果您有多个带有子图(a)的图,您就无法分辨引用了哪一个!)

最后一次(绝望的)尝试,(并遵循 Overleaf 教程!https://www.overleaf.com/learn/latex/How_to_Write_a_Thesis_in_LaTeX_(第 3 部分):图表、子图和表格#子图) 是 :

\begin{figure}
     \centering
     \begin{subfigure}
         \centering
         \includegraphics[width = 1.51in]{img1}
         \caption{}
         \label{fig:label1}
     \end{subfigure}
     \hfill
     \begin{subfigure}
         \centering
         \includegraphics[width = 1.51in]{img2}
         \caption{}
         \label{fig:label2}
     \end{subfigure}
     \hfill
     \begin{subfigure}
         \centering
         \includegraphics[width = 1.51in]{img3}
         \caption{}
         \label{fig:label3}
     \end{subfigure}
          \hfill
     \begin{subfigure}
         \centering
         \includegraphics[width = 1.51in]{img4}
         \caption{}
         \label{fig:label4}
     \end{subfigure}
     \begin{subfigure}
         \centering
         \includegraphics[width = 1.51in]{img5}
         \caption{}
         \label{fig:label5}
     \end{subfigure}
          \hfill
     \begin{subfigure}
         \centering
         \includegraphics[width = 1.51in]{img6}
         \caption{}
         \label{fig:label6}
     \end{subfigure}
        \caption{blah blah blah ... }
        \label{fig:homodynReconstrComp}
\end{figure}

此外,如果我添加标题,如:caption{a} 等,它将以无意义的方式显示图形,并将每个子图引用为新图形!例如,应该是图 1b 的图形将被称为图 2b,而不是图 1b。看来 Overleaf 文档是错误的。

另外,我尝试了这个简单的例子,但它也不能正常工作:

\begin{figure}
\centering     %%% not \center
\subfigure[Figure A]{\label{fig:a}\includegraphics[width=60mm]{example-image-a}}
\subfigure[Figure B]{\label{fig:b}\includegraphics[width=60mm]{example-image-b}}
\caption{my caption}
\end{figure}

当然使用 \usepackage{subfigure} 包

非常感谢任何帮助,特别是当我头上还有一些头发的时候!*

我使用的软件包的完整列表是:

\documentclass{article}
\usepackage[utf8]{inputenc}

\usepackage{graphicx}
\usepackage{subfigure}
\usepackage{hyperref}
\usepackage{url}
%for fig mosaic
\usepackage{rotating}
\usepackage{subfig}
%\usepackage[symbol]{footmisc}
\usepackage{listings}
\usepackage{amsmath}
\usepackage[table,xcdraw]{xcolor}
\usepackage{tabularx} 
\usepackage{cite}
\usepackage{float}
\usepackage{caption}
\usepackage{subcaption}

\usepackage{cleveref}%important

\usepackage{soul}

%\usepackage[style=ieee]{biblatex}
\usepackage[
backend=biber,
style=ieee,
]{biblatex}
\addbibresource{biblio1.bib}

答案1

您缺少一个基本的部分:\begin{subfigure}您需要指定为对象保留的宽度。

而不是我使用的任意选择的 1.51 英寸0.3\textwidth。在里面subfigure你可以将此宽度称为\textwidth

通过\creffromcleveref您可以自动获得fig.交叉引用的前面部分。

\documentclass{article}
\usepackage{subcaption}
\usepackage{graphicx}
\usepackage{cleveref}

\begin{document}

References: \cref{fig:label1}, \cref{fig:label2} and \cref{fig:homodynReconstrComp}

\begin{figure}
\centering

\begin{subfigure}{0.3\textwidth}
  \includegraphics[width = \textwidth]{example-image}
  \caption{}
  \label{fig:label1}
\end{subfigure}\hfill
\begin{subfigure}{0.3\textwidth}
  \includegraphics[width = \textwidth]{example-image}
  \caption{}
  \label{fig:label2}
\end{subfigure}\hfill
\begin{subfigure}{0.3\textwidth}
  \includegraphics[width = \textwidth]{example-image}
  \caption{}
  \label{fig:label3}
\end{subfigure}

\bigskip

\begin{subfigure}{0.3\textwidth}
  \includegraphics[width = \textwidth]{example-image}
  \caption{}
  \label{fig:label4}
\end{subfigure}\hfill
\begin{subfigure}{0.3\textwidth}
  \includegraphics[width = \textwidth]{example-image}
  \caption{}
  \label{fig:label5}
\end{subfigure}\hfill
\begin{subfigure}{0.3\textwidth}
  \includegraphics[width = \textwidth]{example-image}
  \caption{}
  \label{fig:label6}
\end{subfigure}

\caption{blah blah blah ... }
\label{fig:homodynReconstrComp}

\end{figure}

\end{document}

在此处输入图片描述

相关内容