如何在 Latex 中在一条水平线上绘制三个图形?

如何在 Latex 中在一条水平线上绘制三个图形?

我正在尝试使用 overleaf latex 将这三个图形放在一条水平线上,但它并没有给我想要的结果,下面是示例代码

\begin{figure*}[!t]
  \centering
  \subfigure[]{\includegraphics[width=3.2in]{fig4a.png}}
  \subfigure[]{\includegraphics[width=3.2in]{fig4b.png}}
  \subfigure[]{\includegraphics[width=3.2in]{fig4c.png}}
  \caption{desired caption}
  \label{fig_4}
\end{figure*}

示例输出,此处每个框都是图像的示例 在此处输入图片描述

期望输出 在此处输入图片描述

我哪里做错了?我需要你的助手

答案1

据我所知,如果图形的宽度超出了文档的最大宽度,那么如果您更改了宽度值\subfigure[]{\includegraphics[width=3.2in]{fig4a.png}}。那么图形就可以并排放置在一起。

答案2

您的代码被截断:

  • 您的图片似乎太宽,无法放在一行中。解决方法是将其宽度定义为文本宽度的分数(由于所有图片的宽度相同,因此您可以使用 Gin 键(请参阅下面的 MWE)
  • 在您使用的代码中\subfigure[]{...},它们是由已弃用的包定义的subfigure
  • 由于您的代码片段中没有子标题,因此没有理由使用subfigure或替换它的包(subfig或者更好的方法是使用subcaptions)。
  • 请在以后的问题中始终提供 MWE(最小工作示例,一个小但完整的文档,其编译重现了您的问题)。

MWE 的示例可以用于:

\documentclass[twocolumn]{article}
\usepackage{graphicx}

%---------------- show page layout. don't use in a real document!
\usepackage{showframe}
\renewcommand\ShowFrameLinethickness{0.15pt}
\renewcommand*\ShowFrameColor{\color{red}}
%---------------------------------------------------------------%

\begin{document}
    \begin{figure*}
\centering
\setkeys{Gin}{width=0.32\linewidth}
\includegraphics{example-image-duck}%{fig4a.png}}  % we haven't your images ...
\hfill
\includegraphics{example-image-duck}%{fig4b.png}}
\hfill
\includegraphics{example-image-duck}%{fig4c.png}}
    \caption{desired caption}
\label{fig_4}
    \end{figure*}
\end{document}

在此处输入图片描述

(红线表示文档中的文本边框)

相关内容