考虑以下代码,其目的是将子图和算法并排放置在浮动图中。
\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
,但这些解决方案都不令人满意。
- 去掉
\begin{algorithm}[H]
。产生Figure 1
。- 让
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
以确保下一个图形的编号正确。