子浮点引用不起作用

子浮点引用不起作用
\documentclass[journal]{./IEEE/IEEEtran}
  \usepackage{cite,graphicx}
  \usepackage{url}
  \usepackage{float}
  \usepackage{subfig}

\begin{document}
  \begin{figure}[H]
   \subfloat[Piknik]{\includegraphics[scale=.035,angle=-90]  {images/piknik2.jpg}}      {\label{piknik}}\qquad 
  \subfloat[Oishi]{\includegraphics[scale=.035,angle=-90] {images/oishi2.jpg}}\qquad
  \subfloat[Gardenia]{\includegraphics[scale=.035,angle=-90]{images/gardenia2.jpg}}\qquad
  \end{figure}

  one of the... \ref{piknik} ....
 \end{document}

我想使用 \ref 将图中的图像引用到段落中,但是不起作用。我该怎么办?

答案1

处理示例文档时,您会收到几个警告;第二个警告如下所示:

Package caption Warning: `\label` without proper `\caption` on input line 10.
See the `caption` package documentation for explanation.

这表明您将\label子图的 放在了错误的位置(事实上,它在 外面\subfloat)。

最安全的使用位置\label\subfloat在第一个可选参数内的标题之后(如下面我的例子所示)或在强制参数内:

\documentclass[journal]{IEEEtran}
\usepackage{cite}
\usepackage[demo]{graphicx}
\usepackage{url}
\usepackage{float}
\usepackage[caption=false]{subfig}

\begin{document}

\begin{figure}[H]
  \subfloat[Piknik\label{piknik}]{\includegraphics[scale=.035,angle=-90]{images/piknik2.jpg}}\qquad 
  \subfloat[Oishi]{\includegraphics[scale=.035,angle=-90] {images/oishi2.jpg}}\qquad
  \subfloat[Gardenia]{\includegraphics[scale=.035,angle=-90]{images/gardenia2.jpg}}
\end{figure}

A cross-reference to subfigure~\ref{piknik} ....

 \end{document}

在此处输入图片描述

请注意,使用caption带有IEEEtran文档类的包可能会产生不良结果;您应该使用该选项加载subfigcaption=false,就像我在示例代码中所做的那样。

选项demo只是graphicx用黑色矩形替换实际图形;不是在实际文档中使用该选项。

当然恢复原来第一行来加载类。

相关内容