我想插入 16 幅图像(4 行 4 列)并仅在一个图中显示它们。
例如:
Img1 Img2 Img3 Img4
Img5 Img6 Img7 Img8
Img9 Img10 Img11 Img12
Img13 Img14 Img15 Img16
答案1
您可以将多个\includegraphics
命令放入您的figure
环境中。请记住,这figure
只是一个逻辑浮动容器,可以容纳创建内容的所有内容,包括 a\caption
或不包含 a。即使多个\caption
s 也不成问题。
例如,对于图像的对齐,您可以使用tabular
环境。在 中使用它figure
是完全有效的,即使通常在 内使用table
。如果所有图像都应具有相同的宽度和高度,只需将其中四个图像放在一行中,并以 结尾,然后\\
将其放在\hfill
它们之间以填充剩余空间。
\documentclass{article}
\usepackage{graphicx}
\usepackage{mwe}% just for the example content
\begin{document}
\blindtext
\begin{figure}
\includegraphics[width=.24\textwidth]{example-image}\hfill
\includegraphics[width=.24\textwidth]{example-image}\hfill
\includegraphics[width=.24\textwidth]{example-image}\hfill
\includegraphics[width=.24\textwidth]{example-image}
\\[\smallskipamount]
\includegraphics[width=.24\textwidth]{example-image}\hfill
\includegraphics[width=.24\textwidth]{example-image}\hfill
\includegraphics[width=.24\textwidth]{example-image}\hfill
\includegraphics[width=.24\textwidth]{example-image}
\\[\smallskipamount]
\includegraphics[width=.24\textwidth]{example-image}\hfill
\includegraphics[width=.24\textwidth]{example-image}\hfill
\includegraphics[width=.24\textwidth]{example-image}\hfill
\includegraphics[width=.24\textwidth]{example-image}
\\[\smallskipamount]
\includegraphics[width=.24\textwidth]{example-image}\hfill
\includegraphics[width=.24\textwidth]{example-image}\hfill
\includegraphics[width=.24\textwidth]{example-image}\hfill
\includegraphics[width=.24\textwidth]{example-image}
\caption{Some images}\label{fig:foobar}
\end{figure}
\blindtext
\end{document}
如果图像的高度不同,则它们在每一行的底部对齐。如果您想将它们对齐在顶部或垂直中心,最简单的方法是使用选项加载包adjustbox
并export
在键列表末尾添加valign=t
或,例如。使用您还可以使用键在图像周围添加白色边距或轻松地在图像周围绘制框架。有关更多详细信息,请参阅包手册。valign=c
\includegraphics[width=.24\textwidth,valign=c]{...}
adjustbox
margin
答案2
实现此目的的一种方法是使用 tikz 的节点矩阵:
%Preamble
\usepackage{tikz}
\usetikzlibrary{matrix}
%Document
\begin{tikzpicture
\matrix[matrix of nodes]{
\includegraphics{Img1} & \includegraphics{Img2} &\includegraphics{Img3} &
\includegraphics{Img4}\\
\includegraphics{Img5} & \includegraphics{Img6} &\includegraphics{Img7} &
\includegraphics{Img8}\\
\includegraphics{Img9} & \includegraphics{Img10} &\includegraphics{Img11} &
\includegraphics{Img12}\\
\includegraphics{Img13} & \includegraphics{Img14} &\includegraphics{Img15} &
\includegraphics{Img16}\\
};
\end{tikzpicture}
为了立即使效果良好,图像需要具有相同的尺寸(可能使用 \includegraphics[width=x, keepasapectratio]{Img})。否则,您需要对矩阵本身进行更多调整。
答案3
另一种存档方法是使用 subfigure 环境。
要使用 subfigure,您需要\usepackage{subcaption}
\begin{figure}[H]
\vspace{-2cm}
\begin{subfigure}[h]{0.5\textwidth}
\includegraphics[scale=1, natwidth=193px,natheight=197px]{img/prinzipbild.jpg}
\caption{Prinzipbild \cite{Tipl}}
\label{Prinzipbild}
\end{subfigure}
\begin{subfigure}[h]{0.5\textwidth}
\vspace{2.8cm}
\includegraphics[scale=1, natheight=115px,natwidth=263px]{img/realerSensor.jpg}
\caption{Schnitt realer Sensor \cite{Pat}}
\label{realSensor}
\end{subfigure}
\caption{Der Sensor in Theorie und Verwirklichung}
\end{figure}
现在将两个数字并排放置在一行中。
改变
0.5\textwidth
设置为 0.25\textwidth,您应该得到占用可用水平空间 1/4 的 2 个数字。再添加 2 个数字,即可得到一行中的 4 个数字。我想您可以添加更多数字,它会自动将它们放在另一行,或者您可能需要在几个地方使用 \vspace 和 \hspace……