我正在用 beamerposter 制作一张海报,它将我的所有子图视为单个图形的一部分,并将它们标记为 (a)、(b)、...、(q),尽管我非常清楚地多次输入了 \end{figure},这应该会重置计数。我希望每个 \begin{figure} ... \end{figure} 块都有自己的子图字母,从 (a) 开始。我直接从 .tex 文章中复制了这些图,其中的字母是合适的。我做错了什么?
这是一个最小的工作示例:
\documentclass[serif,mathserif,final]{beamer}
\mode<presentation>{\usetheme{Jorstad}}
\usepackage{amsmath,amsfonts,amssymb,pxfonts,eulervm,xspace}
\usepackage{floatflt,subfigure}
\usepackage{graphicx}
\usepackage{multicol}
%\graphicspath{{./figures/}}
\usepackage[orientation=landscape,size=A0,debug]{beamerposter}
%-- Header and footer information ----------------------------------
\newcommand{\footleft}{}
\newcommand{\footright}{}
\title{a}
\author{a}
\institute{a}
%-------------------------------------------------------------------
%-- Main Document --------------------------------------------------
\begin{document}
\begin{frame}{}
\begin{columns}[t]
%-- Column 1 ---------------------------------------------------
\begin{column}{0.24\linewidth}
%-- Block 1-2
\begin{block}{Section 1}
\begin{figure}[t]
\begin{center}
\subfigure[$I_1$] {\includegraphics[height=2in]{pics/BA_scream_1.png} \label{BA_exp_1}}
\subfigure[$I_2$] {\includegraphics[height=2in]{pics/BA_scream_2.png} \label{BA_exp_2}}
\subfigure[$w$] {\includegraphics[height=2in]{pics/BA_scream_3.png} \label{BA_exp_3}}
\subfigure[$I_2^w$] {\includegraphics[height=2in]{pics/BA_scream_4.png} \label{BA_exp_4}} \\
\subfigure[$I_1$] {\includegraphics[height=2in]{pics/BA_lighting_1.png} \label{BA_lgt_1}}
\subfigure[$I_2$] {\includegraphics[height=2in]{pics/BA_lighting_2.png} \label{BA_lgt_2}}
\subfigure[$w$] {\includegraphics[height=2in]{pics/BA_lighting_3.png} \label{BA_lgt_3}}
\subfigure[$I_2^w$] {\includegraphics[height=2in]{pics/BA_lighting_4.png} \label{BA_lgt_4}}
\label{BA_failures}
\end{center}
\end{figure}
\end{block}
\end{column}%1
%-- Column 2 ---------------------------------------------------
\begin{column}{0.41\linewidth}
\begin{block}{Section 2}
\begin{figure}[t] %hp
\begin{center}
\subfigure[] {\includegraphics[height=2in]{pics/face51.png} }
\subfigure[] {\includegraphics[height=2in]{pics/face51_expressions.png} }
\subfigure[] {\includegraphics[height=2in]{pics/face51_lightings.png} }
\end{center}
\end{figure}
\end{block}
\end{column}%3
\end{columns}
\end{frame}
\end{document}
理想情况下,我希望每个图形都重置子图标题,从(a)开始交替删除字母,同时保留标题就可以了。
答案1
您正在使用现已过时的包subfigure
;您应该使用subcaption
。
子图编号未重置的原因在于您没有为图使用标题(并且subfigure
每次figure
计数器增加时计数器都会重置,如果没有标题则不会发生这种情况)。快速修复方法是添加
\setcounter{subfigure}{0}
在每一组新的数字之前手动重新启动计数器(或在序言中添加
\renewcommand\thesubfigure{}
抑制子图的编号,正如您在问题中所建议的那样)。
可以通过使用数字来获得自动解决方案;如果您想抑制使用导致的\caption
名称Figure
和标签分隔符,那么一种可能性是在序言中使用:
\caption
\usepackage{caption}
\DeclareCaptionStyle{mystyle}{name=none}
\captionsetup[figure]{style=mystyle}
\usepackage{floatflt,subfigure}
\caption{}
并在每个figure
环境里面写入。