latex插入图片,含多个子图,给每个子图编号并加子图标题,使用\setcounter{figure}{num}对图片进行编号,可以正常编译,但是PDF中不显示编号num,只显示Figure. 标题,这是怎么回事?
使用的package如下,没使用subfig,会报错与subcaption冲突
\usepackage{url,hyperref,lineno,microtype,footnote} %
\usepackage[onehalfspacing]{setspace}
\usepackage{multirow} % for table
\usepackage{booktabs}
\usepackage{array}
\usepackage{caption}
\usepackage{graphicx}
\usepackage{float}
\usepackage{subcaption}
插入图片的代码如下
\setcounter{figure}{2}
\setcounter{subfigure}{0}
\begin{subfigure}
\setcounter{figure}{2}
\setcounter{subfigure}{0}
\centering
\begin{minipage}[b]{0.5\textwidth}
\includegraphics[width=\linewidth]{logo1.eps}
\caption{This is Subfigure 1.}
\label{fig:Subfigure 1}
\end{minipage}
\\
\setcounter{figure}{2}
\setcounter{subfigure}{1}
\begin{minipage}[b]{0.5\textwidth}
\includegraphics[width=\linewidth]{logo2.eps}
\caption{This is Subfigure 2.}
\label{fig:Subfigure 2}
\end{minipage}
\setcounter{figure}{2}
\setcounter{subfigure}{-1}
\caption{Enter the caption for your subfigure here. \textbf{(A)} This is the caption for Subfigure 1. \textbf{(B)} This is the caption for Subfigure 2.}
\label{fig: subfigures}
\end{subfigure}
上面的代码编译成PDF显示的是:
Figure. Enter the caption for your subfigure here. \textbf{(A)} This is the caption for Subfigure 1. \textbf{(B)} This is the caption for Subfigure 2.
没有编号
1、首先检查有没有导入宏包
\usepackage{graphicx}
2、检查图片路径有无问题
3、可以尝试将Tex的同名文件删除,重新编译生成
4、若是文章分栏
\begin{multicols}{2}
那是因为multicols环境不能识别figure环境,重新定义一个环境即可
\newenvironment{figurehere}
{\def\@captype{figure}}
{}
\makeatother%用于连接公式编号
在文中,用figurehere替换掉原来的figure即可
\begin{multicols}{2}
\begin{figurehere} %替换掉之前的begin{figure}
%由于分栏后图片不能显示出来,所以引用一个新的环境来添加图片
%该环境已经在文章最开头定义好了
\centering% 图片居中
\includegraphics[width=6cm]{diffN.png}
\caption{The efficiency of N}
\label{fig:diffN}
\end{figurehere}%替换掉之前的end{figure}
\end{multicols}
在你的代码中,设置子图编号的命令 \setcounter{subfigure}{num} 放在了 subfigure 环境外部,应该放在每个 subfigure 环境之前,用于指定该子图的编号。同时,在 subfigure 环境之前需要加上 \begin{subfigure},指明开始一个子图的环境。
下面是修改后的代码示例,注意设置编号的位置和子图环境的使用:
\begin{figure}
\centering
\setcounter{figure}{2}
\setcounter{subfigure}{0}
\begin{subfigure}{0.5\textwidth}
\centering
\includegraphics[width=\linewidth]{logo1.eps}
\caption{This is Subfigure 1.}
\label{fig:Subfigure 1}
\end{subfigure}%
\setcounter{subfigure}{1}
\begin{subfigure}{0.5\textwidth}
\centering
\includegraphics[width=\linewidth]{logo2.eps}
\caption{This is Subfigure 2.}
\label{fig:Subfigure 2}
\end{subfigure}
\caption{Enter the caption for your subfigure here. \textbf{(A)} This is the caption for Subfigure 1. \textbf{(B)} This is the caption for Subfigure 2.}
\label{fig:subfigures}
\end{figure}
注意到,你在每个 subfigure 中都重新设置了编号,实际上只需要在第一个子图的开头设置即可,其他子图的编号会自动累加。