![如何将三张图片放在一行](https://linux22.com/image/426202/%E5%A6%82%E4%BD%95%E5%B0%86%E4%B8%89%E5%BC%A0%E5%9B%BE%E7%89%87%E6%94%BE%E5%9C%A8%E4%B8%80%E8%A1%8C.png)
我写论文时使用 Overleaf。
我想把三张图片连在一起,但我做不到。
我正在使用这个代码
\begin{figure}[h]
\begin{subfigure}{0.4\textwidth}
\includegraphics[scale=0.3]{img/grafo1.png}
\caption{Grafo non orientato}
\label{fig:subim1}
\end{subfigure}
\begin{subfigure}{0.4\textwidth}
\includegraphics[scale=0.3]{img/grafo2.png}
\caption{Grafo orientato}
\label{fig:subim2}
\end{subfigure}
\begin{subfigure}{0.4\textwidth}
\includegraphics[scale=0.3]{img/grafo3.png}
\caption{Grafo orientato}
\label{fig:subim3}
\end{subfigure}
\caption{Esempi di grafi}
\label{fig:image2}
\end{figure}
但结果是这样的:
所有 3 张图片的尺寸均为 400x400。
我该如何解决?谢谢?
答案1
正如@Alan Munn 在他的评论中指出的那样,您的子图像环境太宽,无法容纳在一行中。尝试执行以下操作:
\documentclass{article}
\usepackage[demo]{graphicx} % in real document delete demo option
\usepackage{subcaption}
\begin{document}
\begin{figure}[ht] % <---
\begin{subfigure}{0.32\textwidth}
\includegraphics[width=\linewidth]{img/grafo1.png}
\caption{Grafo non orientato}
\label{fig:subim1}
\end{subfigure}
\hfill % <---
\begin{subfigure}{0.32\textwidth}
\includegraphics[width=\linewidth]{img/grafo2.png}
\caption{Grafo orientato}
\label{fig:subim2}
\end{subfigure}
\hfill % <---
\begin{subfigure}{0.32\textwidth}
\includegraphics[width=\linewidth]{img/grafo3.png}
\caption{Grafo orientato}
\label{fig:subim3}
\end{subfigure}
\caption{Esempi di grafi}
\label{fig:image2}
\end{figure}
\end{document}
如您所见,在上面的 MWE 中,删除了图像之间的空行(这迫使下一个图像转到下一行),减小了尺寸,subfigures
使得它们的总和小于 1,并且定义了图像的宽度等于subfugure
s 的宽度。
请始终提供完整的小文档(MWE:最小工作示例),以重现您的问题(正如我在上面建议的解决方案中所做的那样)。