小頁面內子圖和演算法之間的奇怪交互

小頁面內子圖和演算法之間的奇怪交互

考慮以下程式碼,其目的是將子圖和演算法並排放置在浮動圖中。

\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以確保下一個數字的數字正確。

相關內容