2x2 不平等的图像放置,子标题。前两幅图像水平堆叠。后两幅图像垂直堆叠,为什么?

2x2 不平等的图像放置,子标题。前两幅图像水平堆叠。后两幅图像垂直堆叠,为什么?

我有 4 张不同尺寸的图片(随附于此)。我想将它们放在 2 x 2 的网格中。它们的宽度应该大致相同0.5/textwidth。我已完成以下操作:

'''

\documentclass[12pt,onehalfspacing,headsepline,oneside,openright,a4paper]{article}
\usepackage{subcaption}
\usepackage{graphicx}
\begin{document}
\begin{figure}
    \centering
    \begin{subfigure}[t]{0.5\textwidth}
    \centering
        \raisebox{-\height}{\includegraphics[width=.8\linewidth]{images/image1.jpg}}
        \caption{Step 1: Creating a new Project}
        \vspace{1.7cm}
        \label{fig:newproj}
    \end{subfigure}%
    \begin{subfigure}[t]{0.5\textwidth}
    \centering
    \raisebox{-\height}{\includegraphics[width=.8\linewidth]{images/image2.jpg}}
        \caption{Step 3: Creating a new Model}
        \label{fig:newmod}
    \end{subfigure}
    \newline
    \begin{subfigure}{0.5\textwidth}
    \centering
        \includegraphics[width=0.8\linewidth]{images/image3.jpg}
        %\vspace{0.7cm}
        \caption{Step 5: Choosing model subsystem structure}
        \label{fig:smsc_structure}
    \end{subfigure}
    \begin{subfigure}{0.5\textwidth}
    \centering
        \includegraphics[width=0.8\linewidth]{images/image4.jpg}
        %\vspace{0.7cm}
        \caption{Step 7: Editing new Model}
        \label{fig:smsc_structure}
    \end{subfigure}
    \caption{How to make a model in OPAL-RT}
    \label{fig:scratch}
\end{figure}

\end{document}

'''

输出如下所示: 输出原始值

但我想要的是:

预期输出

用文字解释就是,我希望图形的上边距和下边距在水平方向上齐平。我应该能够通过使用空格在子图和标题之间添加空间来进行微调。

任何有关我做错什么的见解都将不胜感激。

笔记:我是这个论坛的新手,我正在尽力遵守指南。请在投反对票之前给我一个改正错误的机会。

图片1 图片2 图片3 图片4

更新:根据@David Carlisle的建议。我在\end{subfigure}后添加了注释“%”。并添加[t],使第二行与底部齐平。结果如下所示:

已更新的输出

但是,正如指出的那样,编号现在混乱了(我需要将 c 和 b 互换)。我该如何解决这个问题?更新后的代码如下:

'''

\documentclass[12pt,onehalfspacing,headsepline,oneside,openright,a4paper]{article}
\usepackage{subcaption}
\usepackage{graphicx}
\begin{document}
\begin{figure}
    \centering
    \begin{subfigure}[t]{0.5\textwidth}
    \centering
        \raisebox{-\height}{\includegraphics[width=.8\linewidth]{images/image1.jpg}}
        \caption{Step 1: Creating a new Project}
        %\vspace{1.7cm}
        \label{fig:newproj}
    \end{subfigure}%
    \begin{subfigure}[t]{0.5\textwidth}
    \centering
        \raisebox{-\height}{\includegraphics[width=.8\linewidth]{images/image3.jpg}}
    %\includegraphics[width=.8\linewidth]{images/image2.jpg}
        \caption{Step 5: Creating a new Model}
        \label{fig:newmod}
    \end{subfigure}
    \newline
    \begin{subfigure}[t]{0.5\textwidth}
    \centering
        \includegraphics[width=0.8\linewidth]{images/image2.jpg}
        %\vspace{0.7cm}
        \caption{Step 3: Choosing model subsystem structure}
        \label{fig:smsc_structure}
    \end{subfigure}%
    \begin{subfigure}[t]{0.5\textwidth}
    \centering
        \includegraphics[width=0.8\linewidth]{images/image4.jpg}
        %\vspace{0.7cm}
        \caption{Step 7: Editing new Model}
        \label{fig:smsc_structure}
    \end{subfigure}
    \caption{How to make a model in OPAL-RT}
    \label{fig:scratch}
\end{figure}
\end{document}

'''

答案1

子图的定位逻辑与字母的定位逻辑相同

WX
\newline
Y Z

其中每个“字母”都是文本宽度的一半。

因此,在第一行中,您会看到两个刚好合适的单词,但在第二行中,它们之间的单词间距会使它们不适合,因此您会在空格处得到自动换行。

\end{subfigure}在您的情况下,如果没有注释掉,单词 space 就会出现在行尾之后。

答案2

我根据 David Carlisle 提供的意见发表了我的回答,如何垂直标记子图?。除非社区同意,否则我不会接受我的答案为正确答案。如果没有,我会选择 David 的答案为正确答案,即使它没有提供确切的解决方案。

'''

\documentclass[12pt,onehalfspacing,headsepline,oneside,openright,a4paper]{article}
\usepackage{subcaption}
\usepackage{graphicx}
\begin{document}
\begin{figure}
\begin{subfigure}[t]{0.5\textwidth}
%   \includegraphics[width=0.9\linewidth]{images/image1.jpg}
  \raisebox{-\height}{\includegraphics[width=.9\linewidth]{images/image1.jpg}}
  \vspace{0.25cm}
  \caption{First subfigure} \label{fig:1a}
  \vspace{0.25cm}
  \par\medskip % if more vertical separation needed, use \bigskip
  \includegraphics[width=0.9\linewidth]{images/image2.jpg}
  \caption{Second subfigure} \label{fig:1b}
\end{subfigure}
\hspace*{\fill}
\begin{subfigure}[t]{0.5\textwidth}
    \raisebox{-\height}{\includegraphics[width=.9\linewidth]{images/image3.jpg}}
  %\includegraphics[width=0.9\linewidth]{images/image3.jpg}
  \caption{Third subfigure} \label{fig:1c}
  \par\medskip % if more vertical separation needed, use \bigskip
  \includegraphics[width=0.9\linewidth]{images/image4.jpg}
  \caption{Fourth subfigure} \label{fig:1d}
\end{subfigure}
\caption{This is a figure with six subfigures}\label{fig:1}
\end{figure}

\end{document}

'''结果正如预期的那样

结果

相关内容