将文本定位在多张图片之后

将文本定位在多张图片之后

我将 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,我在第一页获得了三张图片和一些文本。

b

因为最后一张图片在第一页放不下,所以 LaTeX 将其移到第二页并用文本填充空间。要获得所需的效果,请\clearpage在第三幅图后添加(以清除浮动)。(或者在您的系统中将其放在第二幅图之后)。

A

\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}

相关内容