\subsection{Subsec1}
First content
\begin{figure}[h!]
\begin{center}
\includegraphics[width=0.25\textwidth]{fig1.png}
\caption{W}
\label{fig: W}
\end{center}
\end{figure}
\subsection{subsec2}
Second content
\begin{figure}[h!]
\begin{center}
\includegraphics[width=0.25\textwidth]{fig2.png}
\caption{D}
\label{fig: D}
\end{center}
\end{figure}
内容在 subsec1 上方和 subsec2 下方。在输出的 pdf 中,subsec1 位于工作表的后半部分。因此,没有足够的空间放置图 1。这使得 subsec2 填充了 subsec1 之后的空间,并将图 1 推到 subsec2 之后。这使得图 1 和图 2 一个接一个。但我需要这两个图之间的 subsec2。
我应该改变什么?
答案1
添加\usepackage{float}
到您的序言中,然后将您的 where 变量更改[h!]
为[H]
,这会将图形保存在您指定的准确位置。
答案2
说实话,如果您使用float
带有选项的包H
,这就像给孩子一个球然后告诉他“不要踢足球!”。
此外,在您的 mwe 中,您使用了一个环境center
中的环境figure
,这并不好,因为它会导致增加额外的垂直空间。
如果你不想让你的图形浮动,就不要使用环境。带有标题包的figure
环境就足够了:center
capt-of
\documentclass{book}
\usepackage{graphicx}
\usepackage{capt-of}
\begin{document}
\subsection{Subsec1}
First content
\begin{center}
\includegraphics[width=0.25\textwidth]{example-image-a}
\captionof{figure}{W}
\label{fig: W}
\end{center}
\subsection{subsec2}
Second content
\begin{center}
\includegraphics[width=0.25\textwidth]{example-image-b}
\captionof{figure}{D}
\label{fig: D}
\end{center}
\listoffigures
\end{document}