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