X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=lib%2Fchkconfig.ltx;h=957ea22d0855a3cabc760f3d938acce2b9e72132;hb=399fd96fab53cdb75e164c41d1f9727a024a3bdc;hp=19256a3681a91e98c062cb88cafeea3a8d80af5b;hpb=e9c0d48d58903de8a3145095db99581a5809b8c6;p=lyx.git diff --git a/lib/chkconfig.ltx b/lib/chkconfig.ltx index 19256a3681..957ea22d08 100644 --- a/lib/chkconfig.ltx +++ b/lib/chkconfig.ltx @@ -122,9 +122,14 @@ % Tests whether an package is present in a specific version (or newer) % Syntax: \TestPackageVersion{}{} -% Note: This requires the package to be loaded first \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} { @@ -143,6 +148,20 @@ \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} + + % Adapted from ltxcheck.tex \newcommand{\TestFont}[2][\default]{ \def\default{#2} @@ -183,18 +202,6 @@ {}% we have already defined this one. } -% Only for compatibility. Will be removed later. -\let\DeclareSGMLClass=\DeclareDocBookClass - -\newcommand{\DeclareDocBookClass}[2][\default]{ - \message{^^J\prefix checking for docbook\space\space class \layoutname... } - \@ifundefined{hasdocbook} - {\message{no^^J} - \AddLayout[#1]{\layoutname}{#2}{false}{docbook}} - {\message{yes^^J} - \AddLayout[#1]{\layoutname}{#2}{true}{}} -} - % Stolen from article.cls \newcommand{\today}{\ifcase\month\or January\or February\or March\or April\or May\or June\or @@ -227,6 +234,19 @@ \message{^^J\prefix checking for LaTeX version... \fmtversion} \AddVariable{fmtversion}{\fmtversion} +%%% Crucial versions +% This one introduces \textsubscript +\TestLaTeXVersion{2005/12/01} +% This one introduces path encoding changes +\TestLaTeXVersion{2019/10/01} +% This introduces all math and text spaces +% previously only available via amsmath +\TestLaTeXVersion{2020/10/01} +% This robustifies LaTeX commands +\TestLaTeXVersion{2021/06/01} +% Introduction of \\DocumentMetadata +\TestLaTeXVersion{2022/06/01} + %%% And now, the list of available languages % The trick is to know that \the\everyjob contains something like % \typeout{LaTeX2e <2001/06/01>} @@ -324,6 +344,7 @@ \TestPackage{CJK} \TestPackage{calc} \TestPackage{cancel} +\TestPackage{changebar} \TestPackage{chapterbib} \TestPackage{chemgreek} \TestPackage{chessboard} @@ -335,8 +356,8 @@ \TestPackage{csquotes} \TestPackage{drs} \TestPackage[koi8-r.def]{cyrillic} -\TestPackage{dvipost} \TestPackage{endnotes} +\TestPackage{enotez} \TestPackage{enumitem} \TestPackage{environ} % required by tcolorbox \TestPackage{esint} @@ -386,6 +407,7 @@ \TestPackage{nicefrac} \TestPackage{nomencl} \TestPackage{paralist} +\TestPackage{parskip} \TestPackage{pdfcolmk} \TestPackage{pdflscape} \TestPackage{polyglossia} @@ -415,6 +437,7 @@ \TestPackage{tcolorbox} \TestPackage{textcomp} \TestPackage{thswitch} +\TestPackage{tikz} \TestPackage[turkmen.ldf]{turkmen} \TestPackage{ulem} \TestPackage{undertilde} @@ -460,6 +483,7 @@ \TestPackage{cochineal} \TestPackage{courier} \TestPackage{crimson} +\TestPackage{CrimsonPro} \TestPackage{helvet} \TestPackage{mathpazo} \TestPackage{mathpple} @@ -509,6 +533,8 @@ \TestPackage{libertineMono-type1} \TestPackage{libertineMono} \TestPackage{libertineRoman} +\TestPackage{libertinus} +\TestPackage{libertinust1math} \TestPackage{lmodern} \TestPackage{luximono} \TestPackage{mathdesign}% for Roman fonts @@ -560,9 +586,16 @@ %\TestPackage{mathdesign}% But see above! %%% Specific package versions -% This only works if the package has been loaded before -\IfFileExists{babel.sty}{\RequirePackage{babel}}{} +% This introduces \babelfonts \TestPackageVersion{babel}{2017/11/03} +% This introduces multiple paragraphs in multirows +\TestPackageVersion{multirow}{2021/01/29} +% With this version, hyperref option unicode is true +% by default +\TestPackageVersion{hyperref}{2021/02/04} +% As of this version, the ucs package must be explicitly +% loaded to get utf8x (rather than utf8) encoding tables +\TestPackageVersion{ucs}{2022/08/07} %%% Document classes % The list of layout files has been put in this file here by the