我将 4 张图片一张接一张地放在一起。我希望文字跟在图片后面。但是,文字排在第一张图片之后,第二张图片之前。
\begin{figure}[h!]
\centering
\includegraphics[scale=0.2]{image1.png}\\
\caption{caption1}
\end{figure}
\begin{figure}[h!]
\centering
\includegraphics[scale=0.2]{image2.png}\\
\caption{caption2}
\end{figure}
\begin{figure}[h!]
\centering
\includegraphics[scale=0.2]{image3.png}\\
\caption{caption3}
\end{figure}
\begin{figure}[h!]
\centering
\includegraphics[scale=0.2]{image4.png}\\
\caption{caption4}
\end{figure}
<Text>
这是序言。
\documentclass[12pt]{article}
\usepackage{a4wide}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{wasysym}
\usepackage{physics}
\usepackage{gensymb}
\usepackage{esint}
\usepackage{relsize}
\usepackage{amsfonts}
\usepackage{mathtools}
\usepackage{mathastext}
\usepackage{accents}
\usepackage[english]{babel}
\usepackage{centernot}
\usepackage{color} %May be necessary if you want to color links
\usepackage{hyperref}
\usepackage{tikz}
\usetikzlibrary{arrows,matrix,positioning}
\usepackage{graphicx}
编辑:这是一个说明问题的 MWE。
\documentclass[12pt]{article}
\usepackage[english]{babel}
\usepackage{graphicx}
\usepackage{lipsum}
\title{Test}
\begin{document}
\maketitle
\begin{figure}[htp!]
\centering
\includegraphics[scale=0.4]{example-image}\\
\end{figure}
\begin{figure}[htp!]
\centering
\includegraphics[scale=0.4]{example-image}\\
\end{figure}
\begin{figure}[htp!]
\centering
\includegraphics[scale=0.4]{example-image}\\
\end{figure}
\begin{figure}[htp!]
\centering
\includegraphics[scale=0.4]{example-image}\\
\end{figure}
\lipsum[1]
\end{document}
答案1
这确实是一条评论,但就评论而言太长了。如果您能提供真正显示问题的 MWE,那将非常有帮助。
我已将您提供的代码拼凑成 MWE。我不知道会image1.png
产生什么结果,所以我使用了普遍可用的代码example-image
。我没有浪费时间去掉与浮动和文本放置无关的 16 个左右的包。
% figprob.tex SE 588058
\documentclass[12pt]{article}
\usepackage{a4wide}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{wasysym}
\usepackage{physics}
\usepackage{gensymb}
\usepackage{esint}
\usepackage{relsize}
\usepackage{amsfonts}
\usepackage{mathtools}
\usepackage{mathastext}
\usepackage{accents}
\usepackage[english]{babel}
\usepackage{centernot}
\usepackage{color} %May be necessary if you want to color links
\usepackage{hyperref}
\usepackage{tikz}
\usetikzlibrary{arrows,matrix,positioning}
\usepackage{graphicx}
\usepackage{lipsum}
\begin{document}
\begin{figure}[h!]
\centering
% \includegraphics[scale=0.2]{image1.png}\\
\includegraphics[scale=0.2]{example-image}\\
\caption{caption1}
\vspace{\baselineskip}
%\end{figure}
%\begin{figure}[h!]
% \centering
% \includegraphics[scale=0.2]{image2.png}\\
\includegraphics[scale=0.2]{example-image}\\
\caption{caption2}
\end{figure}
\begin{figure}[h!]
\centering
% \includegraphics[scale=0.2]{image3.png}\\
\includegraphics[scale=0.2]{example-image}\\
\caption{caption3}
\end{figure}
\begin{figure}[h!]
\centering
% \includegraphics[scale=0.2]{image4.png}\\
\includegraphics[scale=0.2]{example-image}\\
\caption{caption4}
\end{figure}
<Text>
\lipsum[1]
\end{document}
它没有显示您所抱怨的结果。
我没有改变你的{figure}[h!]
,但请认真注意那些说不要使用的评论者[h!]
。
答案2
目前还不清楚你的问题是什么:
- 为什么会有连续四次浮动
figure
? - 既然有足够空间将两个图形放在一行中,为什么还要将每个图形放在自己的行中?
- 为什么你的图没有标题?
如果您有四个连续的浮动,那么如果将其中一些浮动推到下一页,则预计浮动之后的一些文本会出现在浮动之间。为了防止这种情况,您需要将所有图像放在一个浮动中(正如您问题下方的评论和 @Peter Wilson 的回答 (+1) 中所建议的那样)。
figure
再举一个例子,如果中的图像尺寸比通过以下方式获取的图像尺寸稍大,则可以执行以下操作\includegraphics[scale=0.4]{example-image}
:
\documentclass[12pt]{article}
\usepackage[english]{babel}
\usepackage[skip=1ex, font=small, labelfont=bf]{caption}
\usepackage{graphicx}
\usepackage{tabularx}
\usepackage{lipsum}
\usepackage{hyperref}
\title{Test}
\author{Me}
\date{\today}
\begin{document}
\maketitle
\begin{figure}[htp!]
\setkeys{Gin}{width=\linewidth}
\begin{tabularx}{\linewidth}{@{} XX @{}}
\includegraphics{example-image}
\caption{Image 1}
\label{fig:1}
& \includegraphics{example-image}
\caption{Image 2}
\label{fig:2} \\
\includegraphics{example-image}
\caption{Image 3}
\label{fig:3}
& \includegraphics{example-image}
\caption{Image 4}
\label{fig:4}
\end{tabularx}
\end{figure}
\lipsum[1]
See figures \ref{fig:1}, \ref{fig:2}, \ref{fig:3} and \ref{fig:4}.
\end{document}
答案3
通过您最后的 MWE,我在第一页获得了三张图片和一些文本。
因为最后一张图片在第一页放不下,所以 LaTeX 将其移到第二页并用文本填充空间。要获得所需的效果,请\clearpage
在第三幅图后添加(以清除浮动)。(或者在您的系统中将其放在第二幅图之后)。
\documentclass[12pt]{article}
\usepackage[english]{babel}
\usepackage{graphicx}
\usepackage{lipsum}
\title{Test}
\begin{document}
\maketitle
\begin{figure}[htp!]
\centering
\includegraphics[scale=0.4]{example-image}\\
\end{figure}
\begin{figure}[htp!]
\centering
\includegraphics[scale=0.4]{example-image}\\
\end{figure}
\begin{figure}[htp!]
\centering
\includegraphics[scale=0.4]{example-image}\\
\end{figure}
\clearpage % <<<< added
\begin{figure}[htp!]
\centering
\includegraphics[scale=0.4]{example-image}\\
\end{figure}
\lipsum[1]
\end{document}