我正在尝试在 Overleaf 中绘制如图所示的 4 个图形。我在 Latex 中完成了此操作,然后将其复制并粘贴到 Overleaf 中,但不起作用。
下面是我的 Latex 代码:
\begin{figure}
\centering
\begin{subfigure}[h]{0.49\textwidth}
\centering
\includegraphics[width=\textwidth]{Picture1}
\caption{..}
\label{..}
\end{subfigure}
\hfill
\begin{subfigure}[h]{0.49\textwidth}
\centering
\includegraphics[width=\textwidth]{Picture2}
\caption{..}
\label{..}
\end{subfigure}
\hfill
\begin{subfigure}[h]{0.49\textwidth}
\centering
\includegraphics[width=\textwidth]{Picture3}
\caption{..}
\label{..}
\end{subfigure}
\hfill
\begin{subfigure}[h]{0.49\textwidth}
\centering
\includegraphics[width=\textwidth]{Picture4}
\caption{..}
\label{..}
\end{subfigure}
\caption{Caption for all 4 Figures}
\label{Label}
\end{figure}
以下是我收到的警告:
l.139 \begin{subfigure}[h]{0.49\textwidth}
这里应该有一个数字;我0'. (If you can't figure out why I needed to see a number, look up
在 TeXbook 索引中插入了“奇怪的错误”。)
l.139 \begin{subfigure}[h]{0.49\textwidth}
尺寸的单位可以是 em、ex、in、pt、pc、cm、mm、dd、cc、nd、nc、bp 或 sp;但您的单位是新的!我假设您指的是 pt,即打印点。要从此错误中顺利恢复,最好删除错误的单位;例如,键入“2”以删除两个字母。(请参阅 TeXbook 的第 27 章。)
答案1
为了使你的代码在编译时不出现警告消息,同时删除冗余代码,我建议你
[h]
删除所有四个after实例\begin{subfigure}
(因为h
不是有效的位置说明符);删除所有五个实例
\centering
(因为它们是多余的);将三个指令中的第二个替换
\hfill
为全空行(以便更清楚地表明需要换行),然后插入\medskip
或\bigskip
(以便在上部两个图和下部两个图像的标题之间创建更多的视觉分离)。
\documentclass[demo]{article} % remove 'demo' option in real document
\usepackage{graphicx,subcaption}
\begin{document}
\begin{figure}
\begin{subfigure}{0.49\textwidth}
\includegraphics[width=\textwidth]{Picture1}
\caption{\dots}
\label{fig:a}
\end{subfigure}
\hfill
\begin{subfigure}{0.49\textwidth}
\includegraphics[width=\textwidth]{Picture2}
\caption{\dots}
\label{fig:b}
\end{subfigure}
\medskip
\begin{subfigure}{0.49\textwidth}
\includegraphics[width=\textwidth]{Picture3}
\caption{\dots}
\label{fig:c}
\end{subfigure}
\hfill
\begin{subfigure}{0.49\textwidth}
\includegraphics[width=\textwidth]{Picture4}
\caption{\dots}
\label{fig:d}
\end{subfigure}
\caption{Caption for all 4 figures}
\label{Label}
\end{figure}
\end{document}
答案2
不太清楚您的问题是什么。例如,以下 MWE 在本地(使用 MiKTeX)编译良好,在 Overleaf 上也是如此。在其中我使用了您的代码片段,在其中我进行了以下更改:
- 删除所有
\centering
命令 - 使用关键字集中定义图像宽度
Gin
- 减小宽度
subfigure
至0.24\textwidth
- 将位置选项更改为
[t]
(但是它也可以与 配合使用h
,但在您的情况下没有意义)
\documentclass{article}
\usepackage[a4paper,
hmargin=2.5cm]{geometry}
\usepackage{graphicx}
\usepackage{subcaption}
\begin{document}
\begin{figure}
\setkeys{Gin}{width=\linewidth}
\begin{subfigure}[t]{0.24\textwidth}
\includegraphics{example-image-duck}%{Picture1}
\caption{..}
\label{..}
\end{subfigure}
\hfill
\begin{subfigure}[t]{0.24\textwidth}
\centering
\includegraphics{example-image-duck}%{Picture2}
\caption{..}
\label{..}
\end{subfigure}
\hfill
\begin{subfigure}[t]{0.24\textwidth}
\centering
\includegraphics{example-image-duck}%{Picture3}
\caption{..}
\label{..}
\end{subfigure}
\hfill
\begin{subfigure}[t]{0.24\textwidth}
\centering
\includegraphics{example-image-duck}%{Picture4}
\caption{..}
\label{..}
\end{subfigure}
\caption{Caption for all 4 Figures}
\label{Label}
\end{figure}
\end{document}
(灰色粗线为页面边框)