Wie werden Untertitel horizontal angeordnet?

Wie werden Untertitel horizontal angeordnet?

Früher habe ich vspace and hspaceobere Abbildungen manuell an den unteren ausgerichtet, aber obere Unterbeschriftungen bewegen sich nicht mit den oberen Unterabbildungen. Welchen Befehl muss ich verwenden, um obere Unterbeschriftungen zwischen Abbildungen wie unteren Abbildungen und Unterbeschriftungen zu lokalisieren?Bildbeschreibung hier eingeben

\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}

Antwort1

Hier gibt es zwei Probleme. Erstens müssen Sie die Bilder verschieben, um ihre Achsen auszurichten. Zweitens müssen Sie Subfigure glauben machen, dass sie alle gleich groß sind.

Der \raiseboxBefehl verschiebt Bilder in erster Linie durch Verschieben ihrer Grundlinien, kann aber auch ihre Höhe und Tiefe ändern, was in Umgebungen nützlicher ist, in denen Grundlinien ignoriert werden (wie bei Unterabbildungen). Der \makeboxBefehl kann die effektive Breite eines Bildes ändern. Sie sollten also zwischen den beiden in der Lage sein, alles auszurichten.

Das Folgende ist keine Lösung für Ihr spezielles Problem, keinen Zugriff auf Ihre Bilder zu haben, sondern eine Veranschaulichung, wie Sie Bilder verschieben können, ohne dass LaTeX davon Kenntnis erhält.

\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}

Demo

Antwort2

So was?

Bildbeschreibung hier eingeben

\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}

Wie Sie sehen, habe ich in Ihrem MWE geringfügige Änderungen vorgenommen: alle \vspace* und \hspace*-Befehle entfernen, zwischen Bildern einfügen \hfilund zwischen dem zweiten und dritten Bild eine leere Zeile einfügen. Dadurch ist die zweite Bildreihe klar definiert. Für mehr Platz zwischen den Bildern füge ich vor der zweiten Reihe den Befehl hinzu \medskip.

Da ich Ihre Bilder nicht habe, verwende ich die Option demoin \documentclass. Im realen Dokument müssen Sie sie löschen.

Außerdem graphicssollten Sie anstelle von Paket ladengraphicx

verwandte Informationen