Как установить субтитры горизонтально?

Как установить субтитры горизонтально?

Я использовал vspace and hspaceдля выравнивания верхних фигур с нижними вручную, но верхние субтитры не двигаются вместе с верхними субтитрами. Какую команду я должен использовать, чтобы найти верхние субтитры в центре фигур, таких как нижние фигуры и субтитры.введите описание изображения здесь

\documentclass{elsarticle}
\usepackage{graphics}
\usepackage[justification=centering]{caption}
\usepackage{subcaption}
\usepackage{caption}
\begin{document}
\begin{figure}[b]
\setlength\abovecaptionskip{+0.4\baselineskip}
  \centering
  \begin{subfigure}[b]{0.34\linewidth}
   \vspace*{-0mm}\hspace*{-7mm}
    \includegraphics[width=\linewidth]{1.eps}
    \hspace*{\fill}\caption{airfoils shape}
  \end{subfigure}
  \begin{subfigure}[b]{0.34\linewidth}
   \vspace*{-0mm}\hspace*{1mm}
    \includegraphics[width=\linewidth]{2.eps}
     \caption{Surface pressure distributions}
  \end{subfigure}
  \begin{subfigure}[b]{0.4\linewidth}
    \includegraphics[width=\linewidth]{3.png}
   \caption{Initial and Optimum airfoil results}
  \end{subfigure}
\begin{subfigure}[b]{0.4\linewidth}
    \includegraphics[width=\linewidth]{4.png}
    \caption{Initial and Optimum airfoil results}
  \end{subfigure}
  \caption{Initial and Optimum airfoil results Initial and Optimum airfoil results Initial and Optimum airfoil results}
  \label{fig7}
\end{figure}
\end{document}

решение1

Здесь есть две проблемы. Во-первых, нужно переместить изображения, чтобы выровнять их оси. Во-вторых, нужно заставить subfigure думать, что они все одного размера.

Команда \raiseboxв основном перемещает изображения, перемещая их базовые линии, но также может изменять их высоту и глубину, что более полезно в средах, которые игнорируют базовые линии (например, подфигуры). Команда \makeboxможет изменять эффективную ширину изображения. Таким образом, между ними двумя вы должны иметь возможность выровнять все.

Ниже приведено не решение вашей конкретной проблемы, связанной с отсутствием доступа к изображениям, а лишь иллюстрация того, как перемещать изображения, не сообщая LaTeX об их перемещении.

\documentclass{article}
\usepackage{xparse}
\NewDocumentCommand{\movebox}{momom}% #1 = raise distance
% #2 = effective total height (optional)
% #3 = slide distance (positive right}
% #4 = effective width (optional)
% #5 = contents
{\bgroup
  \sbox0{#5}%
  \IfNoValueTF{#2}{\dimen0=\dimexpr \ht0+\dp0}{\dimen0=#2\relax}%
  \IfNoValueTF{#4}{\dimen1=\wd0}{\dimen1=#4\relax}%
  \raisebox{#1}[\dimexpr \dimen0-\dp0][\dp0]% for images \dp0=0pt
    {\makebox[\dimen1][l]{\hspace{#3}\box0}}%
\egroup}
\begin{document}
Move a box to right without letting \verb|\fbox| know it moved.

\fbox{\movebox{0pt}{2em}{\rule{1em}{1ex}}}

Move a box to left without letting \verb|\fbox| know it moved.

\fbox{\movebox{0pt}{-2em}{\rule{1em}{1ex}}}

Move a box down without letting \verb|\fbox| know it moved.

\fbox{\movebox{-\baselineskip}{0pt}{\rule{1em}{1ex}}} baseline

\end{document}

демо

решение2

Так?

введите описание изображения здесь

\documentclass[demo]{elsarticle}
\usepackage{graphicx}
\usepackage[justification=centerlast]{caption}
\usepackage{subcaption}


\begin{document}
\begin{figure}[b]
%\setlength\abovecaptionskip{0.4\baselineskip}
  \centering
  \begin{subfigure}[b]{0.4\linewidth}
    \includegraphics[width=\linewidth]{1.eps}
    \caption{airfoils shape}
  \end{subfigure}
  \hfil
  \begin{subfigure}[b]{0.4\linewidth}
    \includegraphics[width=\linewidth]{2.eps}
     \caption{Surface pressure distributions}
  \end{subfigure}

  \medskip
  \begin{subfigure}[b]{0.4\linewidth}
    \includegraphics[width=\linewidth]{3.png}
   \caption{Initial and Optimum airfoil results}
  \end{subfigure}
  \hfil
\begin{subfigure}[b]{0.4\linewidth}
    \includegraphics[width=\linewidth]{4.png}
    \caption{Initial and Optimum airfoil results}
  \end{subfigure}
  \caption{Initial and Optimum airfoil results Initial and Optimum airfoil results Initial and Optimum airfoil results}
  \label{fig7}
\end{figure}
\end{document}

Как вы видите, я сделал минимальные изменения в вашем MWE: удалил все команды \vspace* и , вставил между изображениями и вставил пустую строку между вторым и третьим изображением. Благодаря этому второй ряд изображений хорошо определен. Для большего пространства между изображениями я добавляю команду перед вторым рядом .\hspace*\hfil\medskip

Поскольку у меня нет ваших изображений, я использую опцию demoв \documentclass. В реальном документе вам нужно удалить ее.

Также вместо graphicsпакета следует загрузитьgraphicx

Связанный контент