强制在文本中放置图形

强制在文本中放置图形

当有大量图表需要处理时,我会遇到一个问题。有些图表往往会“飞来飞去”,也就是说,它们会成为下面的一个段落,尽管我把它们放在了该段落之前。我使用的代码:

\begin{figure}[ht]
\begin{center}
\advance\leftskip-3cm
\advance\rightskip-3cm
\includegraphics[keepaspectratio=true,scale=0.6]{slike/visina8}
\caption{}
\label{visina8}
\end{center}\end{figure}

放置我的图形。我怎样才能告诉 latex 我真的想要将图形放在那个特定位置,无论留下多少空白?

答案1

简短的回答是:使用 ”漂浮”包,然后[H]为您的身材选择选项。

\usepackage{float}

...

\begin{figure}[H]
\centering
\includegraphics{slike/visina8}
\caption{Write some caption here}\label{visina8}
\end{figure}

较长的答案是:图形的默认行为是浮动,这样 LaTeX 就可以找到在文档中排列它们的最佳方式,使其看起来更好。如果你仔细观察,就会发现书籍通常都是这样排版的。因此,通常最好的做法就是让 LaTeX 完成工作,不要试图强制将图形放置在特定位置。这也意味着你应该避免使用诸如“ ”之类的短语in the following figure:,因为这要求将图形设置在特定位置,而应该使用“ in Figure~\ref{..}”,以利用 LaTeX 的交叉引用功能。

如果出于某种原因你真的想要将某个特定图形放置在“此处”,而不是 LaTeX 想要放置的位置,则使用[H]漂浮”包基本上将浮动图形变成了常规的非浮动图形。

还要注意,如果你不想在图形中添加,那么你根本caption不需要使用环境!你可以在文档中的任何位置使用该命令插入图像。figure\includegraphics

答案2

不是如果您不想让它浮动,请使用浮动环境。

\usepackage{caption}
...
\noindent%
\begin{minipage}{\linewidth}% to keep image and caption on one page
\makebox[\linewidth]{%        to center the image
  \includegraphics[keepaspectratio=true,scale=0.6]{slike/visina8}}
\captionof{figure}{...}\label{visina8}%      only if needed  
\end{minipage}

或者

\begin{center}
  \includegraphics[...]{slike/visina8}}
\captionof{figure}{...}\label{visina8}%      only if needed  
\end{center}

答案3

另一个解决方案是使用其他答案中没有提到的解决方案\clearpage

不需要任何特殊包裹。

\clearpage.tex强制打印文件中位于其上方的所有图形,然后再继续显示文本。这可能会留下较大的空白。

对我来说,这是最好的解决方案,因为我不需要更改任何格式,它只是确保所有数字都打印在下一段文本之前。我的问题是文档的一部分包含大量数字而文本不多。

答案4

用来[ht!]更加强调位置。并且,如果您希望文本跟随图形,而不是在图形之前开始,请\usepackage{parskip}在序言中使用,并在相关文本前留出空格。

我还在图形环境之前使用\vspace{}\vspace*{},以便操纵文本和图形之间的空间,从而获得更平衡的外观。这样,我就不会遇到任何麻烦,即使在使用 的更复杂的多图形环境中也是如此\subfigure

相关内容