如何仅在必要时使用 fixltx2e

如何仅在必要时使用 fixltx2e

我一直在使用fixltx2e包了一段时间,并进行了描述在网站上。最近,我收到了以下错误消息:

Package fixltx2e Warning: fixltx2e is not required with releases after 2015
(fixltx2e)                All fixes are now in the LaTeX kernel.
(fixltx2e)                See the latexrelease package for details.

我如何稳健地确保fixltx2e在必要时准确使用?

答案1

\IncludeInRelease您可以通过以下未定义的事实来区分 2015 年之前的内核:

\begingroup\expandafter\expandafter\expandafter\endgroup
\expandafter\ifx\csname IncludeInRelease\endcsname\relax
  \usepackage{fixltx2e}
\fi

\begingroup\expandafter…\endgroup 起什么作用?以获得代码的解释。

答案2

如果您正在使用,TeXLive您可以使用下面的解决方案来获取您正在运行的版本。

参考:

代码:

\documentclass{article}

\makeatletter%
\def\getversion{\expandafter\get@version\pdftexbanner\@nil}%
\def\get@version#1201#2)#3\@nil{\def\TeXLiveVersion{201#2}}%
\makeatother%
\getversion%

\ifnum\TeXLiveVersion<2015\relax%
    \usepackage{fixltx2e}%
    \typeout{*** Included fixltx2e}
\elese
    \typeout{*** DId NOT Included fixltx2e}
\fi%


\begin{document}
xxx
\end{document}

相关内容