ミニページ内のサブ図とアルゴリズム間の奇妙な相互作用

ミニページ内のサブ図とアルゴリズム間の奇妙な相互作用

フローティング図内にサブ図とアルゴリズムを並べて配置することを目的とした次のコードを考えてみます。

\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. subfigure来させるminipage。生成します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次の図の番号が正しいことを確認するために、を複製しました。

関連情報