[latex3-commits] [latex3/xfrac] main: Load expl3 explicitly only if necessary (9fb8f54)

github at latex-project.org github at latex-project.org
Tue Feb 13 18:24:23 CET 2024


Repository : https://github.com/latex3/xfrac
On branch  : main
Link       : https://github.com/latex3/xfrac/commit/9fb8f54e2706c252bb29f2f1867018ca351f4fee

>---------------------------------------------------------------

commit 9fb8f54e2706c252bb29f2f1867018ca351f4fee
Author: Joseph Wright <joseph.wright at morningstar2.co.uk>
Date:   Tue Feb 13 17:22:15 2024 +0000

    Load expl3 explicitly only if necessary


>---------------------------------------------------------------

9fb8f54e2706c252bb29f2f1867018ca351f4fee
 xfrac.dtx | 38 +++++++++++++++++++++++---------------
 1 file changed, 23 insertions(+), 15 deletions(-)

diff --git a/xfrac.dtx b/xfrac.dtx
index 6cdf0da..9599821 100644
--- a/xfrac.dtx
+++ b/xfrac.dtx
@@ -24,21 +24,6 @@
 % for those people who are interested.
 %
 %<*driver|package>
-% The version of expl3 required is tested as early as possible, as
-% some really old versions do not define \ProvidesExplPackage.
-\RequirePackage{expl3}[2018/02/21]
-%<package>\@ifpackagelater{expl3}{2018/02/21}
-%<package>  {}
-%<package>  {%
-%<package>    \PackageError{xfrac}{Support package l3kernel too old}
-%<package>      {%
-%<package>        Please install an up to date version of l3kernel\MessageBreak
-%<package>        using your TeX package manager or from CTAN.\MessageBreak
-%<package>        \MessageBreak
-%<package>        Loading xfrac will abort!%
-%<package>      }%
-%<package>    \endinput
-%<package>  }
 \RequirePackage{amstext,graphicx,l3keys2e,textcomp,xparse,xtemplate}
 %</driver|package>
 %<*driver>
@@ -503,6 +488,29 @@
 %<@@=xfrac>
 %    \end{macrocode}
 %
+% Load \pkg{expl3} \enquote{up-front} only if required.
+%    \begin{macrocode}
+\@ifundefined{ExplLoaderFileDate}
+  {\RequirePackage{expl3}}
+  {}
+%    \end{macrocode}
+%
+% Make sure that the version of \pkg{l3kernel} in use is sufficiently new.
+% We use \cs{ExplFileDate} as \cs{@ifpackagelater} doesn't work for pre-loaded
+% \pkg{expl3} in the absence of the package.
+%    \begin{macrocode}
+\@ifl at t@r\ExplLoaderFileDate{2018-02-21}
+  {}
+  {%
+    \PackageError{xfrac}{Support package expl3 too old}
+      {%
+        You need to update your installation of 'l3kernel'.\MessageBreak
+        Loading~xfrac~will~abort!%
+      }%
+    \endinput
+  }%
+%    \end{macrocode}
+%
 %    \begin{macrocode}
 \ProvidesExplPackage{xfrac}{2023-10-10}{}
   {L3 Experimental split-level fractions}





More information about the latex3-commits mailing list.