我想知道如何为分离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}