Betrachten Sie den folgenden Code, dessen Zweck darin besteht, eine Unterfigur und einen Algorithmus nebeneinander in einer schwebenden Figur zu platzieren.
\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}
Das Problem besteht darin, dass die Hauptüberschrift Figure 2
anstelle von angezeigt wird Figure 1
.
Die folgenden Änderungen am obigen Code würden zu folgendem Ergebnis führen Figure 1
: , aber keine dieser Lösungen ist zufriedenstellend.
- Weg mit dem
\begin{algorithm}[H]
. ErzeugtFigure 1
.- Komm
subfigure
nachdasminipage
. ProduziertFigure 1
.
Frage 1: Warum tritt dieses Problem auf?
Frage 2: Gibt es eine einfache Lösung, um die Unterabbildung (a)
links, Algorithm 1
rechts und die Hauptunterschrift anzuzeigen Figure 1
?
Antwort1
subcaption
jongliert ein wenig mit dem figure
Zähler und spielt nicht gut mit float
.
Hack: Treten Sie den figure
Tresen hinunter.
\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}
Ich habe es dupliziert, figure
um sicherzustellen, dass die nächste Figur die richtige Nummer hat.