+% Tests whether an package is present in a specific version (or newer)
+% Syntax: \TestPackageVersion{<name>}{<yyyy/mm/dd>}
+
+\newcommand{\TestPackageVersion}[2]{
+ % The actual test only works if the package has been loaded before
+ \IfFileExists{#1.sty}{\RequirePackage{#1}}{}
+ \@TestPackageVersion{#1}{#2}
+}
+
+\newcommand{\@TestPackageVersion}[2]{
+ \message{^^J\prefix checking for package #1 at least as of #2...}
+ \IfFileExists{#1.sty}
+ {
+ \@ifpackagelater{#1}{#2}{\existstrue}{\existsfalse}
+ }
+ {
+ \existsfalse
+ }
+ \ifexists
+ \message{yes^^J}
+ \AddVariable{#1}{yes}
+ \AddPackage{#1-#2}
+ \else
+ \message{no^^J}
+ \AddVariable{#1}{no}
+ \fi}
+
+
+% Test for the LaTeX version
+\newcommand{\TestLaTeXVersion}[1]{
+ \message{^^J\prefix checking for LaTeX version at least as of #1...}
+ \@ifl@t@r\fmtversion{#1}{\existstrue}{\existsfalse}
+ \ifexists
+ \message{yes^^J}
+ \AddVariable{#1}{yes}
+ \AddPackage{LaTeX-#1}
+ \else
+ \message{no^^J}
+ \AddVariable{#1}{no}
+ \fi}
+
+