Figuras geram espaçamento/quebra de texto impróprio com pacote IEEEtran e latexrelease após atualização do MiKTeX

Figuras geram espaçamento/quebra de texto impróprio com pacote IEEEtran e latexrelease após atualização do MiKTeX

Após atualizar o MiKTeX em 23 de abril de 2015, a compilação dos meus arquivos TeX que usam o pacote fixltx2e.sty foi interrompida. De acordo com o artigo LaTeX News Issue 22, o pacote fixltx2e tornou-se obsoleto e a funcionalidade foi integrada ao kernel LaTeX. Para corrigir meus problemas de compilação, segui as sugestões do artigo LaTeX News Issue 22, incluindo \RequirePackage[2015/01/01]{latexrelease}before \documentclass. No entanto, isso parece introduzir problemas de espaçamento/quebra de texto com a classe de documento IEEEtran.cls quando o arquivo TeX contém figuras.

Aqui está um MWE. O problema ocorre para documentos de uma coluna e de duas colunas com opções de classe conferenceou . journalEstou incluindo apenas o exemplo de um diário de duas colunas, porque o problema aparece para um documento mais curto.

\RequirePackage[2015/01/01]{latexrelease}    % Comment this for old MiKTeX
%\RequirePackage{fixltx2e}                   % Uncomment this for old MiKTeX
\documentclass[10pt,final,twocolumn]{IEEEtran}

\RequirePackage[demo,final]{graphicx}
\RequirePackage[cmex10]{amsmath}
\interdisplaylinepenalty=2500
\RequirePackage{amsthm}
\RequirePackage{algorithm}
\RequirePackage[english]{babel}             % Without this new MiKTeX throws -- Package babel Error: Unknown language `english'. Comment out for old MiKTeX
\RequirePackage{blindtext}

\newtheorem{remark}{Remark}
\newtheorem{theorem}{Theorem}

\begin{document}
    \title{ABC DEF}
    \author{\IEEEauthorblockN{Author~1, Author~2 and Author~3}\\
            \IEEEauthorblockA{Dept. of XYZ, University of UVW\\
            Email: \{author1,author2,author3\}@uvw.edu}}
    \maketitle

    \begin{abstract}
        \blindtext
    \end{abstract}

    \section{Introduction}
        \label{sec:intro}
        \Blindtext[7]

    \section{System Model}
        \label{sec:system-model}
        \blindtext
        \begin{equation}
            asd = fgh
        \end{equation}
        \blindtext

        \blindtext
        \begin{equation}
            asd = fgh
        \end{equation}
        \blindtext

    \section{Problem Description}
        \label{sec:prob-descrip}
        \blindtext
        \begin{equation}
            asd = fgh
        \end{equation}
        \blindtext

        \begin{figure}
            \centering
            \includegraphics[width=0.9\linewidth,height=0.7\linewidth]{}
            \caption{random text random text\textsubscript{random}, $ghi$, random text. Here $abc$ and $def$.}
            \label{fig:cspectrum}
        \end{figure}

        Random text
        \begin{equation}
            abc = def = ghi
        \end{equation}
        \begin{equation}
            \begin{split}
                abc & = def \\
                    & = ghi
            \end{split}
        \end{equation}
        \blindtext

    \section{Algorithm}
        \blindtext
        \begin{figure}
            \begin{algorithm}[H]
                \caption{random caption}
                \textbf{Input:}
                \blindenumerate
                \textbf{Output:} random text\\
                \textbf{Steps:}
                \begin{enumerate}
                    \item   random text
                    \item   random text
                            \blindenumerate
                    \item   random text
                \end{enumerate}
                \label{alg:random-ALG}
            \end{algorithm}
        \end{figure}

        \begin{remark}
            \blindtext
            \begin{equation}
                abc \geq def \geq ghi
            \end{equation}
        \end{remark}

        \begin{theorem}
            \label{thm:random}
            random text
            \begin{align}
                abc & = def \\
                ghi & = jkl
            \end{align}
        \end{theorem}

        \begin{IEEEproof}
            \blindtext
        \end{IEEEproof}

    \section{Conclusions}
        \label{sec:conclusion}
        \blindtext
\end{document}

A primeira linha do meu arquivo de log diz:

Este é o pdfTeX, versão 3.14159265-2.6-1.40.15 (MiKTeX 2.9 64 bits) (formato pré-carregado = pdflatex 2015.2.11)

A segunda página do documento produzido pela compilação do exemplo acima se parece com esse Para este pequeno exemplo, mover a figura no arquivo TeX pode resolver os problemas de espaçamento (puramente uma questão de sorte). Mas para documentos maiores e com muitas figuras, isso se torna um problema sério.

Verifiquei que o problema não ocorreu antes da atualização do MiKTeX, ou seja, quando o pacote fixltx2e.sty foi necessário para corrigir o kernel do LaTeX. Compilar o arquivo no antigo MiKTeX com as alterações sugeridas nos comentários do MWE fornece o espaçamento/quebra de texto correto com a segunda página parecendo esse Para o antigo MiKTeX, a primeira linha do meu arquivo de log diz

Este é o pdfTeX, versão 3.1415926-2.5-1.40.14 (MiKTeX 2.9) (formato pré-carregado = pdflatex 2013.8.10)

Existe uma boa maneira de corrigir esse problema sem mexer muito no preâmbulo do arquivo de exemplo?

Observação:Um problema relacionado foi discutido emTexto 'push down' de Figuras e Tabelas na coluna da direitaneste fórum sobre a interação da classe de documento IEEEtran.cls e do pacote fixltx2e.sty, com a alegação de que certas versões de IEEEtran.cls não são compatíveis com fixltx2e.sty. Mas isso foi há algum tempo e tanto o IEEEtran quanto o fixltx2e passaram por grandes mudanças desde então, então não tenho certeza se essa postagem ainda é relevante.

informação relacionada