如果我想将两幅图像放在一起,我该怎么做?我插入了一个图形。但是,我不想让下一个图形出现在新行上,而是希望它位于已插入图形旁边。我该怎么做?
答案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}
这些方法的优缺点
- 实际上很难说哪种方法更好。你想使用哪种方法取决于你期望的结果。因此,请查看上面显示的结果并自行选择。
- 第一个使用
minipage
环境的其实很简单。但是你可以看到图形都是单独编号的。如果想展示一组相关的图形,它可能不是你想要的。 subfig
和的结果subcaption
非常相似。虽然每种方法都有自己的使用方式。但是,有报告称subfig
,hyperref
。这个问题subcaption
对与的 比较分析进行了出色的讨论subfig
。
进一步阅读
答案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:
您可能需要手动调整每个对象的位置以获得适当的结果。