图形和算法放在页面中间而不是顶部的问题

图形和算法放在页面中间而不是顶部的问题

我的文章的最后一页与下面的类似。
在第二列上,图 4 没有放在顶部,算法也没有放在图 4 的正下方。
我该如何解决这个问题?图和算法不太相关,所以我不想把它们放在同一个浮动框中。
我相信如果我添加文本(或多行文本),那么它会起作用,但我想确保它们即使在没有文本或文本很少的情况下也不会居中。

解决方案这里适用于图形,但不适用于算法。

\makeatletter
\setlength{\@fptop}{0pt}
\makeatother

在此处输入图片描述

\documentclass[journal]{IEEEtran}
\usepackage{graphicx}
\usepackage{array}
\usepackage{lipsum}
\usepackage{algorithm}
\usepackage{algpseudocode}

\usepackage{amsmath}
\newcolumntype{L}{>{$}l<{$}}
\newcommand\cpair[2]{%
\begin{tabular}{LL}#1 & #2\end{tabular}}
\algrenewcommand{\algorithmiccomment}[1]{\hfill#1}

\begin{document}

\begin{figure}[!t]
    \centering
    \includegraphics[width=\linewidth]{example-image-a}
    \caption{a caption}
    \label{fig:a label}
\end{figure}

\begin{figure}[!t]
    \centering
    \includegraphics[width=\linewidth]{example-image-b}
    \caption{a caption}
    \label{fig:a label}
\end{figure}

\begin{figure}[!t]
    \centering
    \includegraphics[width=\linewidth]{example-image-c}
    \caption{a caption}
    \label{fig:a label}
\end{figure}

\begin{figure}[!t]
    \centering
    \includegraphics[width=\linewidth]{example-image}
    \caption{a caption}
    \label{fig:a label}
\end{figure}

\begin{algorithm}
\caption{Insertion-Sort køretid}\label{AlgRun}
\begin{algorithmic}[1]
    \Procedure{insertion-sort}{$A,n$}   \Comment \cpair{c_1}{n=0}
        \State $inversions = 0$         \Comment \cpair{c_1}{n=1}
        \State \textit{L}[0..\textit{n} - 1] be a new array.
        \For{q=0}{n-1}
            \State L[q] = A[q]
        \EndFor
        \For{j=1}{n-1}
            \State $key = L[j]$
            \State $i = j - 1$
            \While{$ i \geq 0$ \textbf{and} $L[i] > key$}
                \State L[ i + 1] = L[ i ]
                \State $j = i - 1$
                \State $inversions = inversions + 1$
            \EndWhile
            $L[i + 1] = key$
        \EndFor
        \Return{inversions}
    \EndProcedure
\end{algorithmic}
\end{algorithm}
\end{document}

答案1

IEEEtran 文档类的文档讨论如何平衡第 XIV 节(第 16 页)最后一页的列。它提出了一些解决方法。

其中提到的一个是使用\enlargethispage负值。

在您的示例文档中,\enlargethispage{-0.2in}在 之前的任何位置放置类似的内容\begin{algorithm}似乎都会产生预期的效果。

使用 IEEEtran 平衡数字

因为您的实际文档可能使用了不同的图形等,并且在其他方​​面有所不同,所以您可能必须尝试使用​​命令的不同尺寸和不同的位置。

相关内容