将两幅图像放在一起

将两幅图像放在一起

如果我想将两幅图像放在一起,我该怎么做?我插入了一个图形。但是,我不想让下一个图形出现在新行上,而是希望它位于已插入图形旁边。我该怎么做?

答案1

实际上,有多种方法可以实现您的要求。


不使用任何包

\documentclass{article}

\usepackage{graphicx}

\begin{document}

\begin{figure}[!tbp]
  \centering
  \begin{minipage}[b]{0.4\textwidth}
    \includegraphics[width=\textwidth]{flower1.jpg}
    \caption{Flower one.}
  \end{minipage}
  \hfill
  \begin{minipage}[b]{0.4\textwidth}
    \includegraphics[width=\textwidth]{flower2.jpg}
    \caption{Flower two.}
  \end{minipage}
\end{figure}

\end{document}

在此处输入图片描述


使用包

您可以使用子图或者副标题

使用subfig

\documentclass{article}

\usepackage{graphicx}
\usepackage{subfig}

\begin{document}

\begin{figure}[!tbp]
  \centering
  \subfloat[Flower one.]{\includegraphics[width=0.4\textwidth]{flower1.jpg}\label{fig:f1}}
  \hfill
  \subfloat[Flower two.]{\includegraphics[width=0.4\textwidth]{flower2.jpg}\label{fig:f2}}
  \caption{My flowers.}
\end{figure}

\end{document}

在此处输入图片描述

使用subcaption

\documentclass{article}

\usepackage{graphicx}
\usepackage{caption}
\usepackage{subcaption}

\begin{document}

\begin{figure}[!tbp]
  \begin{subfigure}[b]{0.4\textwidth}
    \includegraphics[width=\textwidth]{flower1.jpg}
    \caption{Flower one.}
    \label{fig:f1}
  \end{subfigure}
  \hfill
  \begin{subfigure}[b]{0.4\textwidth}
    \includegraphics[width=\textwidth]{flower2.jpg}
    \caption{Flower two.}
    \label{fig:f2}
  \end{subfigure}
  \caption{My flowers.}
\end{figure}

\end{document}

在此处输入图片描述


这些方法的优缺点

  1. 实际上很难说哪种方法更好。你想使用哪种方法取决于你期望的结果。因此,请查看上面显示的结果并自行选择。
  2. 第一个使用minipage环境的其实很简单。但是你可以看到图形都是单独编号的。如果想展示一组相关的图形,它可能不是你想要的。
  3. subfig和的结果subcaption非常相似。虽然每种方法都有自己的使用方式。但是,有报告称subfighyperref这个问题subcaption对与的 比较分析进行了出色的讨论subfig

进一步阅读

为了更好地理解位置和宽度控制问题,我强烈建议您阅读上述两个包的文档(子图副标题)。这些文档包含一些极好的提示和示例。

此外,为了理解相关问题的解决方案,这些问题(ACF) 值得一看。

答案2

在我看来这些解决方案太复杂了,您不需要安装任何新软件包。

\begin{figure}[h]
\begin{tabular}{ll}
\includegraphics[scale=1]{Figures/Race.png}
&
\includegraphics[scale=0.4]{Figures/Bearing.png}
\end{tabular}
\caption{Left: Diagram of angular contact bearing \cite{NBCBearing}. 
Right: Disassembled bearing}
\label{Fig:Race}
\end{figure}

答案3

MWE 包提供了一个很好的解决方案:

\documentclass{article}
\usepackage{mwe}% or load ’graphicx’ and ’blindtext’ manually
\begin{document}
\blindtext
\begin{figure}
\includegraphics[width=.48\linewidth]{example-image-a}\hfill
\includegraphics[width=.48\linewidth]{example-image-b}
\caption{MWE to demonstrate how to place to images side-by-side}
\end{figure}
\blindtext
\end{document}

答案4

我建议使用蒂克兹包。这以最基本的形式回答了你的问题,例如:

\documentclass{article}

\usepackage{graphicx}
\usepackage{tikz}

\begin{document}

\begin{tikzpicture}
    \node [anchor=north west] (imgA) at (.05\linewidth, .050\linewidth){\includegraphics[width=.5\linewidth]{figA.pdf}};
    \node [anchor=north west] (imgB) at (.05\linewidth, .500\linewidth){\includegraphics[width=.\linewidth]{figB.pdf}};
\end{tikzpicture}

\end{document}

一个优点是您可以放置​​任意数量的图形,而且还可以轻松放置字母来识别图形:

\documentclass{article}

\usepackage{graphicx}
\usepackage{tikz}

\begin{document}

\begin{tikzpicture}
    \node [anchor=north west] (imgA) at (.05\linewidth, .050\linewidth){\includegraphics[width=.5\linewidth]{figA.pdf}};
    \draw [anchor=north west] (0., .000\linewidth) node {(A)};
    \node [anchor=north west] (imgB) at (.05\linewidth, .500\linewidth){\includegraphics[width=.\linewidth]{figB.pdf}};
    \draw [anchor=north west] (0., .500\linewidth) node {(A)};
\end{figure}

\end{document}

使用示例可在此处找到论文的 LaTeX 代码,第 4 页PDF

图1

您可能需要手动调整每个对象的位置以获得适当的结果。

相关内容