하위 캡션을 수평으로 설정하는 방법은 무엇입니까?

하위 캡션을 수평으로 설정하는 방법은 무엇입니까?

이전에는 위쪽 그림과 아래쪽 그림을 수동으로 정렬 했는데 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

여기에는 두 가지 문제가 있습니다. 먼저, 축을 정렬하기 위해 이미지를 움직여야 합니다. 둘째, 하위 그림이 모두 같은 크기라고 생각하도록 해야 합니다.

\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

관련 정보