标题和图顶之间的间距不一致

标题和图顶之间的间距不一致

考虑下面的图片。两个图都有相同的浮动环境:

\begin{figure}[!t]
    \centering
    \begin{overpic}...

底部的图像对齐完美,顶部标题和图像顶部之间有很小的间隙。我的论文中的所有图像都以相同的方式对齐。

除了顶部显示的那个。它完全锁定在标题行上。有什么可以纠正的吗?目前我正在使用~\\~\\那个特定的浮动将其向下移动一点。

顶部:不正确底部:正确

下面是序言,以防任何设置引起反感:

\documentclass[a4paper,openright,twoside,12pt]{report}

\usepackage{subfiles}
\usepackage{amsmath}
\usepackage{scrextend}
\usepackage{titling}
\usepackage{setspace}
\usepackage{graphicx}
\usepackage{caption}
\usepackage[export]{adjustbox}
\usepackage{wrapfig}
\usepackage{gensymb}
\usepackage{subcaption}
\usepackage[square,numbers,sectionbib]{natbib}
\usepackage{chapterbib}
\usepackage{placeins}
\usepackage[percent]{overpic}
\usepackage{color}
\usepackage{array}
\usepackage{import}
\usepackage{tikz}
\usepackage{appendix}
\usepackage{xr}
\usepackage{siunitx}
\usepackage{amssymb}
\usepackage{appendix}
\usepackage{algorithm}
\usepackage[noend]{algpseudocode}
\usepackage{microtype}
\usepackage{float} 
\floatstyle{plaintop} 
\restylefloat{table} 
\usepackage{url}
\usepackage{multirow}

% ==========================Header====================================
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhf{}
\fancyheadoffset{0cm}
\fancyhead[EL]{\nouppercase\leftmark}
\fancyhead[OR]{\nouppercase\rightmark}
\fancyhead[ER,OL]{\thepage}
\setlength{\headheight}{15pt}

\oddsidemargin 0.5cm \evensidemargin 0.5cm
\marginparwidth 40pt \marginparsep 10pt
\topmargin 0pt \headsep 40pt
\textheight 650pt \textwidth 450pt
\setlength{\headsep}{5pt}

TLDR:如何使顶部图像的位置看起来像底部的图像位置?

编辑:我已将问题缩小到以下几点:仅当我在overpic环境中使用图像时才会发生这种情况。\includefigure一切都很好。

带有图像和 tex 文件的最小示例(谷歌驱动器链接,不确定我是否可以在这里上传图像 pdf,GZIP 压缩文件在下面的评论中,以防有人使用 linux):

压缩

答案1

如果你厌倦了尝试新东西,紧急解决方案:

\documentclass[a4paper,openright,twoside,12pt]{report}
\usepackage{blindtext}
\usepackage{setspace}
\usepackage{graphicx}
\usepackage{tikz}
\usepackage{caption}
\usepackage[percent]{overpic} % for writing put over figures

% ==========================Header====================================
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhf{}
\fancyheadoffset{0cm}
\fancyhead[EL]{\nouppercase\leftmark}
\fancyhead[OR]{\nouppercase\rightmark}
\fancyhead[ER,OL]{\thepage}
\setlength{\headheight}{15pt}
\oddsidemargin 0.5cm \evensidemargin 0.5cm
\marginparwidth 40pt \marginparsep 10pt
\topmargin 0pt \headsep 40pt
\textheight 650pt \textwidth 450pt
\setlength{\headsep}{5pt}
% =========================================================================

\doublespacing
\begin{document}
\blindtext[4]
\begin{figure}[!t]
    \centering%
    \begin{tikzpicture}
        \node[inner sep = 0pt] {\includegraphics[width = \textwidth]{dummyfigure.pdf}};
        \node[scale = 4] {BLAH BLAH};
    \end{tikzpicture}
\end{figure}
\blindtext[4]
\end{document}

在此处输入图片描述

请注意,我添加了\usepackage{tikz},当然是为了使用tikzpicture

编辑:“改进”了图形代码,并模仿这种特殊情况的命令\put(有三行四个方块的图片):

\begin{figure}[!t]
    \newcommand{\fakeput}[3]{%
        \node at (-0.625\textwidth + #1 * 0.25\textwidth, 0.5\textwidth - #2 * 0.25\textwidth) {#3};
    }
    \centering%
    \begin{tikzpicture}
        \node[inner sep = 0pt] {\includegraphics[width = \textwidth]{dummyfigure.pdf}};
        \begin{scope}[font = \Huge \bfseries \color{white}]
            \fakeput{1}{1}{1; 1}
            \fakeput{2}{1}{2; 1}
            \fakeput{1}{2}{1; 2}
            \fakeput{3}{3}{3; 3}
        \end{scope}
    \end{tikzpicture}
\end{figure}

在此处输入图片描述

scope只是通过改变此环境中的 tikz 命令的字体来使示例更加清晰可见。

相关内容