]> git.lyx.org Git - lyx.git/blobdiff - lib/chkconfig.ltx
Amend b8502a3ea2735c4
[lyx.git] / lib / chkconfig.ltx
index 9daca8fc97218bdaa56d084f9d4bf02294482e1f..957ea22d0855a3cabc760f3d938acce2b9e72132 100644 (file)
     #6
   \fi}
 
+% 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}
+
+
 % Adapted from ltxcheck.tex
 \newcommand{\TestFont}[2][\default]{
   \def\default{#2}
      {}% 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
 \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>}
 \fi
 
 % (3) handle the result
+% FIXME: As of 2016, babel does not print out the loaded hyphenation patterns to
+%        the log anymore, so this discontinues to work. For possible workarounds
+%        (with babel), see https://tex.stackexchange.com/questions/330085/
+%        Leaving this activated for the time being, since it probably still
+%        works with older distributions.
 \message{^^J\prefix checking for available hyphenation patterns... \langs}
 \AddVariable{languages}{\langs}
 
 \TestPackage{a0poster}
 \TestPackage{accents}
 \TestPackage{achicago}
+\TestPackage{afterpage}
 \TestPackage{algorithm}
 \TestPackage{algorithm2e}
 \TestPackage{amsmath}
 \TestPackage{authordate1-4}
 \TestPackage{babel}
 \TestPackage{beamerposter}
+\TestPackage{biblatex}
+\TestPackage{biblatex-chicago}
 \TestPackage{bibtopic}
 \TestPackage{bicaption}
 \TestPackage{bidi}
 \TestPackage{booktabs}
 \TestPackage{braille}
 \TestPackage{breakurl}
-\TestPackage{CJKutf8}
+\TestPackage{CJK}
 \TestPackage{calc}
 \TestPackage{cancel}
+\TestPackage{changebar}
+\TestPackage{chapterbib}
 \TestPackage{chemgreek}
+\TestPackage{chessboard}
+\TestPackage{chessfss}
 \TestPackage{chicago}
 \TestPackage{color} % this one should be there if graphics.sty is there.
 \TestPackage{covington}
+\TestPackage{cprotect}
 \TestPackage{csquotes}
+\TestPackage{drs}
 \TestPackage[koi8-r.def]{cyrillic}
-\TestPackage{dvipost}
 \TestPackage{endnotes}
+\TestPackage{enotez}
 \TestPackage{enumitem}
 \TestPackage{environ} % required by tcolorbox
 \TestPackage{esint}
 \TestPackage{float}
 \TestPackage{fontspec}
 \TestPackage{footmisc}
+\TestPackage{footnote}
+\TestPackage{footnotehyper}
 \TestPackage{forest}
 \TestPackage{framed}
 \TestPackage{geometry}
 \TestPackage{ifthen}
 \TestPackage[japanese.ldf]{japanese}
 \TestPackage{jurabib}
+\TestPackage{l3experimental} % required by various packages
+\TestPackage{l3kernel} % required by various packages
+\TestPackage{l3packages} % required by various packages
 \TestPackage{latex8}
 \TestPackage{lettrine}
 \TestPackage{listings}
 \TestPackage[lithuanian.ldf]{lithuanian}
 \TestPackage{longtable}
+\TestPackage{lscape}
 \TestPackage{luainputenc}
 \TestPackage{mathdots}
 \TestPackage{mathrsfs}
 \TestPackage{nicefrac}
 \TestPackage{nomencl}
 \TestPackage{paralist}
+\TestPackage{parskip}
 \TestPackage{pdfcolmk}
+\TestPackage{pdflscape}
 \TestPackage{polyglossia}
 \TestPackage{pdfcomment}
 \TestPackage{pdfpages}
 \TestPackage{pgf} % required by tcolorbox
+\TestPackage{pict2e}
 \TestPackage{prettyref}
 \TestPackage{preview}
 \TestPackage{refstyle}
 \TestPackage{subfig}
 \TestPackage{subscript}
 \TestPackage{Sweave}
+\TestPackage{tablefootnote}
+\TestPackage{tabularx}
 \TestPackage{tcolorbox}
 \TestPackage{textcomp}
 \TestPackage{thswitch}
+\TestPackage{tikz}
 \TestPackage[turkmen.ldf]{turkmen}
 \TestPackage{ulem}
 \TestPackage{undertilde}
 \TestPackage{url}
 \TestPackage{varioref}
 \TestPackage{varwidth}
-\TestPackage[vietnamese.ldf]{vietnamese}
 \TestPackage{wallpaper}
 \TestPackage{wrapfig}
 \TestPackage{xargs}
 \TestPackage{xcolor}
 \TestPackage[xetex.def]{xetex-def}
 \TestPackage{xkeyval}
+\TestPackage{xltabular}
+\TestPackage{xskak} % required by chessboard
 
 % Packages used by LyX's documentation files
 \TestPackage{arydshln}
 \TestPackage{cochineal}
 \TestPackage{courier}
 \TestPackage{crimson}
+\TestPackage{CrimsonPro}
 \TestPackage{helvet}
 \TestPackage{mathpazo}
 \TestPackage{mathpple}
 % Other font packages
 \TestPackage{ae}
 \TestPackage{bera}
+\TestPackage{biolinum}
 \TestPackage{biolinum-type1}
 %\TestFont[glic1000]{cbgreek}% for Greek % suported by LyX but too large to force downloading
+\TestPackage{cantarell}
 \TestPackage{ccfonts}
+\TestPackage{Chivo}
 \TestFont[ccr10]{concrete} % required by ccfonts
 \TestFont[eorm10]{ecc} % required by ccfonts
 \TestPackage[ot1ccr.fd]{concmath} % required by ccfonts
 \TestPackage{cmbright}
+\TestPackage{DejaVuSans}
+\TestPackage{DejaVuSansCondensed}
+\TestPackage{DejaVuSansMono}
+\TestPackage{DejaVuSerif}
+\TestPackage{DejaVuSerifCondensed}
 \TestPackage{eco}
 \TestPackage{eulervm}
 \TestPackage{feyn}
 \TestPackage{fourier}
+\TestPackage{FiraMono}
+\TestPackage{FiraSans}
 \TestPackage{garamondx}
+\TestPackage{plex-serif}
+\TestPackage{plex-sans}
+\TestPackage{plex-mono}
+\TestPackage{sourceserifpro}
+\TestPackage{sourcesanspro}
+\TestPackage{sourcecodepro}
 \TestFont[zgmr8r]{garamondx-fonts}
 \TestPackage{iwona}
 \TestPackage{kurier}
 \TestPackage{lh-lcy}
-\TestPackage{libertine}
 \TestPackage{fontaxes} % required by libertine
+\TestPackage{libertine}
 \TestPackage{libertine-type1}
 \TestPackage{libertineMono-type1}
+\TestPackage{libertineMono}
+\TestPackage{libertineRoman}
+\TestPackage{libertinus}
+\TestPackage{libertinust1math}
 \TestPackage{lmodern}
 \TestPackage{luximono}
 \TestPackage{mathdesign}% for Roman fonts
 \TestPackage{mdbch}
 \TestPackage{mdput}
 \TestPackage{mdugm}
+\TestPackage{menukeys}
 \TestPackage{MinionPro}
 \TestFont[rzmnr]{minion2newtx}
 \TestPackage{newtxmath}
 \TestPackage[binhex.tex]{binhex} % required by newtxmath
+\TestPackage{noto}
+\TestPackage{noto-serif}
+\TestPackage{noto-sans}
+\TestPackage{noto-mono}
+\TestPackage{paratype}
 \TestFont[psyr]{symbol}
 \TestPackage{tgadventor}
 \TestPackage{tgbonum}
 \TestPackage{tipx}
 \TestPackage{tone}
 \TestPackage{txfonts}% For the txtt monospaced font
+\TestPackage{XCharter}
 % symbol packages supported by LyX for items and the special character dialog
 % see the unicodesymbols file
 \TestPackage{ascii}
 %\TestPackage{mathabx}
 %\TestPackage{mathdesign}% But see above!
 
+%%% Specific package versions
+% 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
 % configure script.