我有一些如下所示的图片代码:
...Text before pic...
\begin{figure}[h!]
\caption{caption stuff}
\centering
\includegraphics{somegraph.png}
\end{figure}
... Text after pic...\\
\part{New Part}
然而,LaTeX 似乎做了一些奇怪的定位操作,因为发生的情况如下:
...Text before pic...
... Text after pic...
pic
New Part
而我想要的是这个
...Text before pic...
pic
... Text after pic...
New Part
我只用 就可以实现我想要的效果\includegraphics{somegraph.png}
,但我还想要字幕,以及 LaTeX 自动为我编号的能力。我尝试隔离问题,但图形只是不停地跳来跳去,最终落在正确的位置。h!
以前对上一个图形有效,但现在不行了……我在这里应该做什么?
答案1
环境figure
是一个漂浮,即一个可以浮动在文本中的块,并放置在 (La)TeX 认为看起来最好的位置。通常(即在专业制作的书籍中)您\label
会将\caption
(应该放在图像下方)放在\ref
-erence 上。这样,图像位置就不那么重要了。
您可以使用包和positing 参数将其更改figure
为非浮动环境:float
H
% In preamble:
\usepackage{float}
% In document:
...Text before pic...
\begin{figure}[H]
\centering
\includegraphics{somegraph.png}
\caption{caption stuff}
\end{figure}
... Text after pic...\\
\part{New Part}
另一种可能性是不figure
直接使用。仍然可以使用由两个包 (相当大) 或(相当小)提供的来\caption
添加。在这些情况下,我更喜欢使用环境。它会关注居中并在前后添加一些边距:\captionof{figure}{<text>}
caption
capt-of
center
% In preamble:
\usepackage{capt-of}
% In document:
...Text before pic...
\begin{center}
\includegraphics{somegraph.png}
\captionof{figure}{caption stuff}
\end{center}
... Text after pic...\\
\part{New Part}