X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=lib%2Fchkconfig.ltx;h=d2cb624b46608a22de452d9bc05ea97c190a389f;hb=c2be69187ce23951506b097f1465b08f98f79ef1;hp=d3a43ca1151cfdd3fa1d02c4671cc6dc0728892d;hpb=487d3bffab0320deac76dc842696b397496317ee;p=lyx.git diff --git a/lib/chkconfig.ltx b/lib/chkconfig.ltx index d3a43ca115..d2cb624b46 100644 --- a/lib/chkconfig.ltx +++ b/lib/chkconfig.ltx @@ -120,6 +120,43 @@ #6 \fi} +% 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]{ + \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} @@ -160,18 +197,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 @@ -204,6 +229,10 @@ \message{^^J\prefix checking for LaTeX version... \fmtversion} \AddVariable{fmtversion}{\fmtversion} +%%% Crucial versions +% This one introduces path encoding changes +\TestLaTeXVersion{2019/10/01} + %%% And now, the list of available languages % The trick is to know that \the\everyjob contains something like % \typeout{LaTeX2e <2001/06/01>} @@ -227,6 +256,11 @@ \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} @@ -268,9 +302,13 @@ %%% Packages +\TestPackage{a0poster} \TestPackage{accents} \TestPackage{achicago} +\TestPackage{afterpage} \TestPackage{algorithm} +\TestPackage{algorithm2e} +\TestPackage{amsmath} \TestPackage{amstext} \TestPackage{apacite} \TestPackage{apalike} @@ -279,48 +317,69 @@ \TestPackage{astron} \TestPackage{authordate1-4} \TestPackage{babel} +\TestPackage{beamerposter} +\TestPackage{biblatex} +\TestPackage{biblatex-chicago} \TestPackage{bibtopic} +\TestPackage{bicaption} \TestPackage{bidi} \TestPackage{bm} \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{eso-pic} -\TestPackage{fontspec} -\TestPackage{harvard} -\TestPackage{hhline} -\TestPackage{ifthen} -\TestPackage{iftex} -\TestPackage[iso-8859-7.def]{greek-inputenc} \TestPackage{fancybox} \TestPackage{fancyhdr} +\TestPackage{filehook} \TestPackage{fixltx2e} \TestPackage{fix-cm} \TestPackage{float} +\TestPackage{fontspec} +\TestPackage{footmisc} +\TestPackage{footnote} +\TestPackage{footnotehyper} +\TestPackage{forest} \TestPackage{framed} \TestPackage{geometry} \TestPackage{graphicx} +\TestPackage[iso-8859-7.def]{greek-inputenc} +\TestPackage{harvard} +\TestPackage{hhline} \TestPackage{hyperref} \TestPackage{hyphenat} +\TestPackage{iftex} +\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} @@ -333,14 +392,23 @@ \TestPackage{natbib} \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{rotating} \TestPackage{rotfloat} +\TestPackage{sciposter} +\TestPackage{sectionbox} +\TestPackage[serbianc.ldf]{serbianc} \TestPackage{setspace} \TestPackage{slashed} \TestPackage{soul} @@ -348,9 +416,14 @@ \TestPackage{stackrel} \TestPackage{stmaryrd} \TestPackage{subfig} +\TestPackage{subscript} \TestPackage{Sweave} +\TestPackage{tablefootnote} +\TestPackage{tabularx} +\TestPackage{tcolorbox} \TestPackage{textcomp} -\TestPackage{subscript} +\TestPackage{thswitch} +\TestPackage{tikz} \TestPackage[turkmen.ldf]{turkmen} \TestPackage{ulem} \TestPackage{undertilde} @@ -358,10 +431,15 @@ \TestPackage{units} \TestPackage{url} \TestPackage{varioref} +\TestPackage{varwidth} +\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} @@ -370,9 +448,10 @@ \TestPackage{caption} \TestPackage{colortbl} \TestPackage{diagbox} -\TestPackage{etoolbox} +\TestPackage{etoolbox} % required by polyglossia and tcolorbox \TestPackage{eurosym} \TestPackage{fp} +\TestPackage{makecmds} % required by polyglossia \TestPackage{marginnote} \TestPackage{picinpar} \TestPackage{pict2e} @@ -387,7 +466,10 @@ \TestPackage{bookman} \TestPackage{chancery} \TestPackage{charter} +\TestPackage{cochineal} \TestPackage{courier} +\TestPackage{crimson} +\TestPackage{CrimsonPro} \TestPackage{helvet} \TestPackage{mathpazo} \TestPackage{mathpple} @@ -399,29 +481,62 @@ % Other font packages \TestPackage{ae} \TestPackage{bera} +\TestPackage{biolinum} \TestPackage{biolinum-type1} -\TestFont[glic1000]{cbgreek}% for Greek +%\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{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} @@ -432,14 +547,13 @@ \TestPackage{tgschola} \TestPackage{tgtermes} \TestFont[ugmr8r]{ugm} -\TestFont[uopr8a]{urwclassico} +\TestFont[uopr8r]{urwclassico} \TestPackage{tipa} \TestPackage{tipx} \TestPackage{tone} \TestPackage{txfonts}% For the txtt monospaced font -% necessary to get correct size for InstantPreview images created by dvipng -\TestPackage[c70fs.fd]{zhmetrics} -% symbol packakges supported by LyX for items and the special character dialog +\TestPackage{XCharter} +% symbol packages supported by LyX for items and the special character dialog % see the unicodesymbols file \TestPackage{ascii} \TestPackage{bbding} @@ -447,6 +561,7 @@ \TestPackage{marvosym} \TestPackage{pmboxdraw} \TestPackage{textgreek} +\TestPackage{tfrupee} \TestFont[wasy10]{wasy} \TestPackage{wasysym} % These packages are disabled in the unicodesymbols file @@ -456,11 +571,17 @@ %\TestPackage{mathabx} %\TestPackage{mathdesign}% But see above! +%%% Specific package versions +% This only works if the package has been loaded before +\IfFileExists{babel.sty}{\RequirePackage{babel}}{} +\TestPackageVersion{babel}{2017/11/03} + %%% Document classes % The list of layout files has been put in this file here by the % configure script. \input{chklayouts} \input{chkmodules} +\input{chkciteengines} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%% END ACTUAL CONFIGURATION INSPECTION CODE %%%%%%%%%%%%%%%%%%%%%%%%%%%%