我试图引用图形主标题中的子图。不幸的是,我只得到空白,甚至没有未定义的引用??
。发生了什么事?
\documentclass{report}
\usepackage[superscript]{cite}
\usepackage{mathtools}
\usepackage{graphicx}
\usepackage{caption}
\usepackage{subcaption}
\begin{document}
Some text.
\begin{figure}[!h]
\centering
\begin{subfigure}[b]{0.4\textwidth}
\centering
\includegraphics[width=\textwidth]{figure1}
\label{fig:fig1}
\end{subfigure}
\begin{subfigure}[b]{0.4\textwidth}
\centering
\includegraphics[width=\textwidth]{figure2}
\label{fig:fig2}
\end{subfigure}
\caption{\protect\subref{fig:fig1} shows figure 1 and \protect\subref{fig:fig2} shows figure 2.}
\end{figure}
\end{document}
答案1
您需要\caption
为每个添加一个单独的subfigure
标签以显示标签(然后可以引用):
\documentclass{article}
\usepackage{graphicx}% http://ctan.org/pkg/graphicx
\usepackage{caption,subcaption}% http://ctan.org/pkg/{caption,subcaption}
\begin{document}
Some text.
\begin{figure}[ht]
\centering
\begin{subfigure}[b]{0.5\linewidth}
\centering\includegraphics[width=100pt]{example-image-a}
\caption{\label{fig:fig1}}
\end{subfigure}%
\begin{subfigure}[b]{0.5\linewidth}
\centering\includegraphics[width=100pt]{example-image-b}
\caption{\label{fig:fig2}}
\end{subfigure}
\caption{\subref{fig:fig1} shows Figure~1 and~\subref{fig:fig2} shows Figure~2.}
\end{figure}
\end{document}
答案2
摘自文档中的subcaption
“引用没有子标题的子图”部分:
如果您不想为子图添加标题,因为图片本身已经包含标题,或者出于其他原因,您可以使用命令
\phantomsubcaption
代替,或者在或环境\subcaption
中使用命令代替。和 没有任何参数,它们不会生成任何输出,但会为您提供一个可在之后放置的命令锚点。此外,它会增加子图或子表计数器。请注意,就像命令一样,必须在其自己的组、框或环境中应用。subfigure
subtable
\phantomcaption
\caption
\phantomsubcaption
\phantomcaption
\label
\subcaption
\phantomsubcaption
\documentclass{report}
\usepackage[superscript]{cite}
\usepackage{mathtools}
\usepackage[demo]{graphicx}
\usepackage{caption}
\usepackage{subcaption}
\begin{document}
Some text.
\begin{figure}[!h]
\centering
\begin{subfigure}[b]{0.4\textwidth}
\centering
\includegraphics[width=\textwidth]{figure1}
\phantomcaption
\label{fig:fig1}
\end{subfigure}
\begin{subfigure}[b]{0.4\textwidth}
\centering
\includegraphics[width=\textwidth]{figure2}
\phantomcaption
\label{fig:fig2}
\end{subfigure}
\caption{\subref{fig:fig1} shows figure 1 and \subref{fig:fig2} shows figure 2.}
\end{figure}
\end{document}
注意:\phantomsubcaption
需要subcaption
版本 1.1(2011/08/17)或更新版本。