小页面中子图和算法之间的奇怪交互

小页面中子图和算法之间的奇怪交互

考虑以下代码,其目的是将子图和算法并排放置在浮动图中。

\documentclass{article}
\usepackage{algorithm}
\usepackage{subcaption}

\begin{document}

\begin{figure}
\begin{subfigure}[t]{.5\linewidth}
\caption{subcaption}
\end{subfigure}\hfill
\begin{minipage}[m]{.5\linewidth}
\begin{algorithm}[H]
\caption{alg caption}
\end{algorithm}
\end{minipage}\hfill
\caption{caption}
\end{figure}

\end{document}


问题是显示的是主标题Figure 2而不是Figure 1

对上述代码进行以下更改将产生结果Figure 1,但这些解决方案都不令人满意。

  1. 去掉\begin{algorithm}[H]。产生Figure 1
  2. subfigureminipage。生产Figure 1

问题 1:为什么会出现这个问题?

问题2:有没有一个简单的解决方案,让子图(a)在左边,Algorithm 1在右边,并显示主标题Figure 1

答案1

subcaption与柜台玩了一些杂耍figure,但玩得不好float

黑客:走下figure柜台。

\documentclass{article}
\usepackage{algorithm}
\usepackage{subcaption}

\begin{document}

\begin{figure}[htp]
\begin{subfigure}[t]{.5\linewidth}
\caption{subcaption}
\end{subfigure}\hfill
\begin{minipage}{.5\linewidth}
\begin{algorithm}[H]
\caption{alg caption}
\end{algorithm}\addtocounter{figure}{-1}
\end{minipage}
\caption{caption}
\end{figure}

\begin{figure}[htp]
\begin{subfigure}[t]{.5\linewidth}
\caption{subcaption}
\end{subfigure}\hfill
\begin{minipage}{.5\linewidth}
\begin{algorithm}[H]
\caption{alg caption}
\end{algorithm}\addtocounter{figure}{-1}
\end{minipage}
\caption{caption}
\end{figure}

\end{document}

在此处输入图片描述

我复制了figure以确保下一个图形的编号正确。

相关内容