我正在尝试将三幅图像并排放置,每幅图像都有自己的标题。下面写的代码对于图像的放置很有效,但标题却不行。编译时,它只显示第一幅图像下的最后一幅标题,而其他两幅图像上没有标题。我该如何解决这个问题?
我写的代码是这样的:
\begin{figure}[ht]
\begin{minipage}[b]{0.3\linewidth}
\centering
\includegraphics[width=\textwidth]{image1}
\caption{caption1}
\label{fig:figure1}
\end{minipage}
\hspace{0.5cm}
\begin{minipage}[b]{0.3\linewidth}
\centering
\includegraphics[width=\textwidth]{image2}
\caption{caption2}
\label{fig:figure2}
\end{minipage}
\hspace{0.5cm}
\begin{minipage}[b]{0.3\linewidth}
\centering
\includegraphics[width=\textwidth]{image3}
\caption{caption3}
\label{fig:figure3}
\end{minipage}
\end{figure}
答案1
以下是使用包 subfig 的解决方案:
\documentclass{scrartcl}
\usepackage{subfig}
\usepackage{graphicx}
\begin{document}
\begin{figure}[!htb]
\centering
\captionabove{Images}%
\label{fig:images}
\subfloat[left]{%
\includegraphics[width=0.25\textwidth]{example-image-a}}
\label{fig:image-a}
\qquad
\subfloat[mid]{%
\includegraphics[width=0.25\textwidth]{example-image-b}}
\label{fig:image-b}
\qquad
\subfloat[right]{%
\includegraphics[width=0.25\textwidth]{example-image-c}}
\label{fig:image-c}
\end{figure}
\end{document}
答案2
也许这个解决方案floatrow
会起作用:
\documentclass{article}
\usepackage[demo]{graphicx} % remove 'demo' option in real doc.
\usepackage{floatrow}
\begin{document}
\begin{figure}[!htb]
\centering %
\floatsetup{floatrowsep=qquad}
\begin{floatrow}[3]%
\ffigbox[\FBwidth]{\caption{caption1}\label{fig:figure1}}{\includegraphics[width=0.3\textwidth]{image1}}
\ffigbox[\FBwidth]{\caption{caption2}\label{fig:figure2}}{\includegraphics[width=0.3\textwidth]{image2}}
\ffigbox[\FBwidth]{\caption{caption3}\label{fig:figure3}}{\includegraphics[width=0.3\textwidth]{image3}}
\end{floatrow}
\end{figure}
\end{document}
答案3
您几乎已经完成了:只需将 的两个实例都替换\hspace{0.5cm}
为\hspace{\fill}
或者更简洁地说\hfill
。
在此过程中,您还应该删除三个多余的\centering
指令。
\documentclass{article}
\usepackage[demo]{graphicx} % remove 'demo' option in real doc.
\begin{document}
\begin{figure}[ht]
\begin{minipage}{0.3\linewidth}
%\centering % redundant
\includegraphics[width=\textwidth]{image1}
\caption{caption1}
\label{fig:figure1}
\end{minipage}%
\hfill% not: "\hspace{0.5cm}"
\begin{minipage}{0.3\linewidth}
%\centering % redundant
\includegraphics[width=\textwidth]{image2}
\caption{caption2}
\label{fig:figure2}
\end{minipage}%
\hfill% not: "\hspace{0.5cm}"
\begin{minipage}{0.3\linewidth}
%\centering % redundant
\includegraphics[width=\textwidth]{image3}
\caption{caption3}
\label{fig:figure3}
\end{minipage}
\end{figure}
\end{document}