图子编号 1a

图子编号 1a

我想知道如何为分离subfigure浮点数。我知道和包都subcaption进行子编号,但它们要求子图位于单个figure环境中。

例如,如果我能找到subfigures这样的环境我会很高兴:

\begin{subfigures}
\begin{figure}
  A figure comes here.
  \caption{\label{first}Caption text.} %--> Fig.1a
\end{figure}
\begin{figure}
  Another figure.
  \caption{\label{second}Caption text.} %--> Fig.1b
\end{figure}
\end{subfigures}

它与AMS LaTeX的subequations环境基本相同。

我之所以要这样做,是因为我无法决定如何对我的图形进行分组,直到我写作过程的后期。如果我有一个像上面这样的环境,我所要做的就是剪切和粘贴figure环境或删除或添加subfigures环境以重新组织我的图形。

由于我想要的与subequations环境非常相似,我想我可以在经过足够的黑客攻击后创建自己的subfigures环境,但我对 TeX 编码不太熟悉,并且想知道是否已经有可用的解决方案。

感谢您的帮助。

编辑:感谢大家的回复。Mico 问道:“是否应允许(尚待设计的)子图形环境中的各个图形环境“浮动”并可能最终出现在不同的页面上……”?——是的。我只是想分离浮动以我想要的方式编号,仅此而已。当然,如果有一个选项可以控制分组图形的位置,那将是一个不错的补充。

答案1

subfloat软件包提供了您所需要的:

\documentclass{article}
\usepackage{subfloat}
\begin{document}
\begin{subfigures}
\begin{figure}
  A figure comes here.
  \caption{\label{first}Caption text.} %--> Fig.1a
\end{figure}
\begin{figure}
  Another figure.
  \caption{\label{second}Caption text.} %--> Fig.1b
\end{figure}
\end{subfigures}
\end{document}

另请参阅subfloat包装文档。

另一个选择是使用\ContinuedFloat该包提供的选项caption

\documentclass{article}
\usepackage{caption}
% Mark continued floats as a, b, ...
\renewcommand\theContinuedFloat{\alph{ContinuedFloat}}
\begin{document}
\begin{figure}
  \ContinuedFloat*
  A figure comes here.
  \caption{\label{first}Caption text.} %--> Fig.1a
\end{figure}
\begin{figure}
  \ContinuedFloat
  Another figure.
  \caption{\label{second}Caption text.} %--> Fig.1b
\end{figure}
\end{document}

另请参阅caption包装文档的“Continued Floats”部分。

两种解决方案的结果完全相同:

在此处输入图片描述

答案2

这是一个非常基本的想法 - 定义你的subfigures环境如下

\newenvironment{subfigures}{\renewcommand{\thefigure}{\thechapter\alph{figure}}}{}

这会\thefigure在环境开始时发生变化LaTeX- 将保持此重新定义在该环境的本地,如下面的 MWE 所示。

% arara: pdflatex
% !arara: indent: {overwrite: on}
\documentclass{report}

\newenvironment{subfigures}{\renewcommand{\thefigure}{\thechapter\alph{figure}}}{}

\begin{document}

\chapter{}

\section{Inside of subfigures}
\begin{subfigures}
    \begin{figure}[!htb]
        A figure comes here.
        \caption{Caption text.} %--> Fig.1a
        \label{first}
    \end{figure}
    \begin{figure}[!htb]
        Another figure.
        \caption{Caption text.} %--> Fig.1b
        \label{second}
    \end{figure}
    \ref{first} and \ref{second}
\end{subfigures}

\section{Outside of subfigures}
\begin{figure}[!htb]
    A figure comes here.
    \caption{Caption text.} 
    \label{firstagain}
\end{figure}
\begin{figure}[!htb]
    Another figure.
    \caption{Caption text.}
    \label{secondagain}
\end{figure}
\ref{firstagain} and \ref{secondagain}

\end{document}

相关内容