我有五张图片想要水平对齐,目前有四张对齐,第五张在下面。而且它们看起来太居中了,我想将它们稍微向页面边缘扩展一点。
如果您想让我粘贴我的代码,请告诉我,这是我第一次在这里发帖,我不确定如何包含它,我不希望第一篇文章看起来太混乱。
代码如下:
\documentclass{article}
\usepackage{graphicx}
\usepackage[font=scriptsize]{caption}
\graphicspath{ {images/} }
\makeatletter
\setlength{\@fptop}{0pt}
\makeatother
\begin{document}
\begin{figure}[!tbp]
\centering
\hfill
\begin{minipage}[b]{0.2\textwidth}
\includegraphics[width=\textwidth]{image1}
\caption*{image1}
\end{minipage}
\hfill
\begin{minipage}[b]{0.2\textwidth}
\includegraphics[width=\textwidth]{image2}
\caption*{image2}
\end{minipage}
\hfill
\begin{minipage}[b]{0.2\textwidth}
\includegraphics[width=\textwidth]{image3}
\caption*{image3}
\end{minipage}
\hfill
\begin{minipage}[b]{0.2\textwidth}
\includegraphics[width=\textwidth]{image4}
\caption*{image4}
\end{minipage}
\hfill
\begin{minipage}[b]{0.2\textwidth}
\includegraphics[width=\textwidth]{image5}
\caption*{image5}
\end{minipage}
\hfill
\end{figure}
\end{document}
答案1
minipage
您应该 (a) 将五个环境的宽度从0.2\textwidth
减小到 或0.19\textwidth
,0.18\textwidth
并且 (b) 省略第一个和最后一个\hfill
语句。这样,五个图形将最大限度地水平展开,并且四个图形之间的间隙中将有一些空白。
\documentclass[demo]{article} % Omit "demo" option in real document
\usepackage{graphicx}
\usepackage[font=scriptsize]{caption}
\graphicspath{ {images/} }
\makeatletter
\setlength{\@fptop}{0pt}
\makeatother
\begin{document}
\begin{figure}[!tbp]
\begin{minipage}[b]{0.19\textwidth}
\includegraphics[width=\textwidth]{image1}
\caption*{image1}
\end{minipage}
\hfill
\begin{minipage}[b]{0.19\textwidth}
\includegraphics[width=\textwidth]{image2}
\caption*{image2}
\end{minipage}
\hfill
\begin{minipage}[b]{0.19\textwidth}
\includegraphics[width=\textwidth]{image3}
\caption*{image3}
\end{minipage}
\hfill
\begin{minipage}[b]{0.19\textwidth}
\includegraphics[width=\textwidth]{image4}
\caption*{image4}
\end{minipage}
\hfill
\begin{minipage}[b]{0.19\textwidth}
\includegraphics[width=\textwidth]{image5}
\caption*{image5}
\end{minipage}
\end{figure}
\end{document}
附录:在后续评论中,您问道:
我的下一个问题是如何将它们更多地扩展到页面的边缘,它们看起来太居中了,以及如何在它们之间留出更多的空间。
我必须承认,我不确定你说的“它们看起来太居中”是什么意思。上面屏幕截图中显示的五幅图像没有居中——它们完全散布在可用的文本块上。
如果希望图像之间留出更多空白,则需要减小图像的宽度。这可以通过将封闭minipage
环境的宽度从当前值更改0.19\textwidth
为0.17\textwidth
(甚至更大幅度地)来实现0.15\textwidth
。以下屏幕截图显示了三行,每行五幅图像,每幅图像分别占文本块宽度的 19%、17% 和 15%。
答案2
使用tabularx
代替minipage
s 使代码更简洁,同时也注意它们的宽度和沿文本宽度的扩展。为了看到这一点,我在下面的 MWE 中添加了showframe
仅用于显示页面布局的包(在实际使用中必须删除):
\documentclass[demo]{article} % Omit "demo" option in real document
\usepackage{graphicx}
\usepackage[font=scriptsize]{caption}
\usepackage{tabularx}
\usepackage{showframe}
\renewcommand*\ShowFrameColor{\color{red}}
\begin{document}
\begin{figure}[htb]
\begin{tabularx}{\textwidth}{@{} *{5}{X} @{}}
\includegraphics[width=\linewidth]{image1}
\caption*{image1}
&
\includegraphics[width=\linewidth]{image2}
\caption*{image2}
&
\includegraphics[width=\linewidth]{image3}
\caption*{image3}
&
\includegraphics[width=\linewidth]{image4}
\caption*{image4}
&
\includegraphics[width=\linewidth]{image5}
\caption*{image5}
\end{tabularx}
\end{figure}
\end{document}
如果您想增加或减少图像之间的距离,您只需更改\tabcolsep
:
\setlength\tabcolsep{<desired width>}
其默认大小为 6pt。
附录:
如果你喜欢将图像扩展到比文本更宽的宽度,则可以使用包changepage
及其宏adjust width
。例如,如果你想将图像扩展到外部:
\begin{adjustwidth*}{0 pt}{<right margin>}
... images ...
\end{adjustwidth}
在下面的例子中,带有图像的表格空间扩展到marginpar
s 的空间:
\documentclass{article}
\usepackage[demo]{graphicx}% Omit "demo" option in real document
\usepackage[font=scriptsize]{caption}
\usepackage{tabularx}
\usepackage[strict]{changepage} % <-- added for change of total images width
\usepackage{calc} % <-- added for calculation of total images width
\usepackage{showframe}
\renewcommand*\ShowFrameColor{\color{red}}
\begin{document}
\begin{figure}[htb]
\begin{adjustwidth*}{0cm}{-\marginparwidth-\marginparsep}
\begin{tabularx}{\linewidth}{@{} *{5}{X} @{}}
\includegraphics[width=\linewidth]{image1}
\caption*{image1}
&
\includegraphics[width=\linewidth]{image2}
\caption*{image2}
&
\includegraphics[width=\linewidth]{image3}
\caption*{image3}
&
\includegraphics[width=\linewidth]{image4}
\caption*{image4}
&
\includegraphics[width=\linewidth]{image5}
\caption*{image5}
\end{tabularx}
\end{adjustwidth*}
\end{figure}
\end{document}