将子浮动移动到背景

将子浮动移动到背景

我有以下问题:我有一个包含 3 个子图的图形(2 个在顶部,1 个在底部居中)。由于图片的背景是白色,并且我想要一个良好的布局,我将底部图形向上移动了\vspace。但是,它与前两个图形的标题重叠,如以下屏幕截图所示:

在此处输入图片描述

(a 和 b 不再可读)。

我怎样才能将最后一张图片移至背景或者标题后面?

谢谢!

代码:

\begin{figure} [H]
    \vspace{-5mm}
    \subfloat[ ]{\label{STG_3M_2}\includegraphics[width=0.5\textwidth]{figures/CH5/3M/2_3}}
    \subfloat[]{\label{STG_3M_7}\includegraphics[width=0.5\textwidth]{figures/CH5/3M/7_3}} \\
    \center
    \vspace{-10mm}
     \subfloat[]{\label{STG_3M_10}\includegraphics[width=0.5\textwidth]{figures/CH5/3M/10_3}}
    \caption{Microstrain versus displacement at three specific locations for the 3M Scotch Weld 9323 B/A specimens which failed cohesively.}
    \label{STG_3M}
    \vspace{-5mm}
\end{figure}

答案1

您可以将图像包含在背景中,将其设置在tikzpicture不占用垂直空间且我们可以随意移动对象的位置。重要的是在打印任何其他内容之前绘制背景图片。

我假设三幅图像的高度相同。在第三幅图中\subfloat,我仅放置了几条不可见的规则来设置框尺寸,并使子标题正确对齐。

\documentclass{article}
\usepackage{graphicx}
\usepackage{subfig}
\usepackage{tikz}

\begin{document}

\begin{figure}
\centering

\sbox0{\includegraphics[width=0.5\textwidth]{example-image-a}}
\begin{tikzpicture}[remember picture,overlay]
\node (background) at (0,-2\ht0+2cm) {\includegraphics[width=0.5\textwidth]{example-image-c}};
\end{tikzpicture}

\subfloat[]{\label{STG_3M_2}\includegraphics[width=0.5\textwidth]{example-image-a}}
\subfloat[]{\label{STG_3M_7}\includegraphics[width=0.5\textwidth]{example-image-b}}

\subfloat[]{\label{STG_3M_10}\rule{0pt}{\dimexpr\ht0-1cm\relax}\rule{\wd0}{0pt}}

\caption{Microstrain versus displacement at three specific locations for the 
         3M Scotch Weld 9323 B/A specimens which failed cohesively.}
\label{STG_3M}

\end{figure}

\end{document}

调整移位量,直到您满意为止。请注意,更改参数需要运行两次 LaTeX 才能生效。

在此处输入图片描述

相关内容