我正在尝试将 3 幅图像放入一行上的一个图形中。我已采用以下方法:
\documentclass[sigconf]{acmart}
\usepackage{subcaption}
\begin{document}
\begin{figure*}
\begin{subfigure}{0.33\textwidth}
\includegraphics[width=0.33\textwidth]{1}
\caption{}
\label{fig:3_classes}
\end{subfigure}
\begin{subfigure}{0.33\textwidth}
\includegraphics[width=0.33\textwidth]{1}
\caption{}
\label{fig:5_classes}
\end{subfigure}
\begin{subfigure}{0.33\textwidth}
\includegraphics[width=0.33\textwidth]{1}
\caption{}
\label{fig:6_classes}
\end{subfigure}\par\medskip
\caption{This is a test.}
\end{figure*}
\end{document}
图像 1.png 可在 onedrive 上找到:https://1drv.ms/u/s!AlkQuYgB1McYg8xUxUYxiZlhf9b6Ww
问题是我得到了以下结果。标题还可以,但图像真的很小,而且不知何故保持对齐。我希望图像尽可能大,以便它们可以放在一行上。
这可能吗?
答案1
通常,使用\linewidth
来测量当前“块”的宽度比 更好\textwidth
。虽然您认为\textwidth
指的是文本块的整个宽度,因此0.33\textwidth
应该指(大约)文本块的 1/3,但事实并非如此。在环境下subfigure
,\textwidth
已更新(实际上是在 中设置其内容,这minipage
会更新\textwidth
),并不代表它最初的含义。您实际上正在查看宽度为 0.33 x 0.33 x\textwidth
或大约为文本宽度的 1/10 的图像。
\documentclass[sigconf]{acmart}
\usepackage{subcaption}
\begin{document}
\begin{figure*}
\begin{subfigure}{0.33\textwidth}
\includegraphics[width=\linewidth]{example-image-a}
\caption{}
\label{fig:figure1}
\end{subfigure}%
\hfill
\begin{subfigure}{0.33\textwidth}
\includegraphics[width=\linewidth]{example-image-b}
\caption{}
\label{fig:figure2}
\end{subfigure}%
\hfill
\begin{subfigure}{0.33\textwidth}
\includegraphics[width=\linewidth]{example-image-c}
\caption{}
\label{fig:figure3}
\end{subfigure}
\caption{This is a test.}
\end{figure*}
\end{document}