在 2015 年 4 月 23 日更新 MiKTeX 后,使用 fixltx2e.sty 包的 TeX 文件的编译出现问题。根据 LaTeX News Issue 22 文章,fixltx2e 包已过时,其功能已集成到 LaTeX 内核中。为了修复编译问题,我按照 LaTeX News Issue 22 文章中的建议,包括\RequirePackage[2015/01/01]{latexrelease}
before \documentclass
。但是,当 TeX 文件中有图形时,这似乎会导致 IEEEtran.cls 文档类出现文本间距/断行问题。
conference
这是 MWE。带有或类选项的单列和双列文档都会出现此问题journal
。我仅包含双列日记帐的示例,因为此问题出现在较短的文档中。
\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}
我的日志文件的第一行内容如下:
这是 pdfTeX,版本 3.14159265-2.6-1.40.15(MiKTeX 2.9 64 位)(预加载格式=pdflatex 2015.2.11)
编译上述示例生成的文档的第二页如下所示: 对于这个简短的示例,在 TeX 文件中移动图形可能会解决间距问题(纯粹是运气问题)。但对于包含许多图形的较大文档,这会成为一个严重的问题。
我已经验证了这个问题在 MiKTeX 更新之前没有发生过,即当需要 fixltx2e.sty 包来修补 LaTeX 内核时。在旧版 MiKTeX 下编译文件,并按照 MWE 注释中建议的更改进行操作,可以得到正确的文本间距/断行,第二页看起来像 对于旧版 MiKTeX,我的日志文件的第一行显示
这是 pdfTeX,版本 3.1415926-2.5-1.40.14(MiKTeX 2.9)(预加载格式=pdflatex 2013.8.10)
有没有一个好的方法可以解决这个问题,而不需要对示例文件的序言进行太多的修改?
笔记:相关问题在图表将右栏文本“下推”在这个论坛中,有人讨论了 IEEEtran.cls 文档类和 fixltx2e.sty 包之间的相互作用,声称某些版本的 IEEEtran.cls 与 fixltx2e.sty 不兼容。但那是很久以前的事了,从那时起 IEEEtran 和 fixltx2e 都经历了重大变化,所以不确定那篇帖子是否仍然有意义。