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 conference
ou . journal
Estou 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 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 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.