我知道关于我所讨论的主题还有很多其他问题。但是,我无法找到确切的解决方案。
我的问题是,我只想有 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
。
通过\cref
fromcleveref
您可以自动获得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}