X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=lib%2Fchkconfig.ltx;h=49d51629e92bc6484bf81d60095906b25a0f2c8c;hb=4b799833e7732180ecbcc25cb0b9f181a2ca6229;hp=bc6b84b882f10572acbfce0f7a528e7bc2dfae21;hpb=bcccc2780dca41b0cbd26235fe0cb150f5510c59;p=lyx.git diff --git a/lib/chkconfig.ltx b/lib/chkconfig.ltx index bc6b84b882..49d51629e9 100644 --- a/lib/chkconfig.ltx +++ b/lib/chkconfig.ltx @@ -4,7 +4,7 @@ % with minimal changes by Asger Alstrup (alstrup@diku.dk). % % This script should only be run from the configure script to update -% the files textclass.lst and doc/LyXConfig.lyx +% the files textclass.lst and doc/LaTeXConfig.lyx % % This script is in fact a complete rewrite of the original chkconfig % script. Expect bugs. @@ -19,7 +19,7 @@ %%% 1- Add the command \TestPackage{}. The syntax is: %%% \TestPackage[]{}, which tests whether .sty %%% (or , if this optional parameter is provided) exists. -%%% 2- Add a description for in doc/LyXConfig.lyx.in, +%%% 2- Add a description for in doc/LaTeXConfig.lyx, %%% containing in particular a line like %%% Found @chk_@ %%% This line will be replaced at configure time by the proper text. @@ -27,7 +27,7 @@ %%% For document classes, things are even simpler, since you do not %%% need to edit this file. Just put your layout file in some place %%% where LyX can find it and add if you wish a description in -%%% LyXConfig.lyx.in, as described above. +%%% LaTeXConfig.lyx, as described above. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%% Initialization part (skip) %%%%%%%%%%%%%%%%%%%%% @@ -50,18 +50,23 @@ % Both commands call \AddVariable to give value 'yes' or 'no' to % the variable chk_. %%% + \newcommand{\prefix}{+} % the character used by grep to filter 'good' output + \newcommand{\AddLayout}[4][\default]{ \def\default{#2} \immediate\write\layouts{"#2" "#1" "#3" "#4"}} + \newcommand{\AddVariable}[2]{ - \immediate\write\sed{s!@chk_#1@!#2!g} \immediate\write\vars{chk_#1='#2'}} + \newcommand{\AddPackage}[1]{ \immediate\write\packages{#1}} + % Tests whether an item is present % Syntax: \TestItem{}{}{}{}{}{} \newif\ifexists + \newcommand{\TestItem}[6][\default]{ \def\default{#2} \def\files{#1} @@ -85,8 +90,10 @@ \AddVariable{#2}{no} #6 \fi} + \newcommand{\TestPackage}[2][\default]{ \TestItem[#1]{#2}{package}{sty}{\AddPackage{#2}}{}} + \newcommand{\TestDocClass}[2]{ \def\layoutname{#1} % remember the name of the layout file \@ifundefined{layout@#1} @@ -94,19 +101,13 @@ \global\@namedef{layout@#1}{}} {} % we have already tried this one. } + \newcommand{\DeclareLaTeXClass}[2][\default]{ \TestItem[#1]{\layoutname}{document class}{cls} {\AddLayout[\firstelement]{\layoutname}{#2}{true}} {\AddLayout[\firstelement]{\layoutname}{#2}{false}} } -\newcommand{\DeclareLinuxDocClass}[2][\default]{ - \message{^^J\prefix checking for linuxdoc class \layoutname... } - \@ifundefined{haslinuxdoc} - {\message{no^^J} - \AddLayout[#1]{\layoutname}{#2}{false}} - {\message{yes^^J} - \AddLayout[#1]{\layoutname}{#2}{true}} -} + % Only for compatibility. Will be removed later. \let\DeclareSGMLClass=\DeclareDocBookClass @@ -127,10 +128,9 @@ % Initializes the files \typeout{\prefix Inspecting your LaTeX configuration.} -\newwrite{\layouts} \immediate\openout \layouts = textclass.lst -\newwrite{\sed} \immediate\openout \sed = chkconfig.sed +\newwrite{\layouts} \immediate\openout \layouts = textclass.lst.tmp \newwrite{\vars} \immediate\openout \vars = chkconfig.vars -\newwrite{\packages} \immediate\openout \packages = packages.lst +\newwrite{\packages} \immediate\openout \packages = packages.lst.tmp \immediate\write\layouts{% # This file declares layouts and their associated definition files.^^J% @@ -163,10 +163,12 @@ \def\mesg{} {\def\typeout#1{\xdef\mesg{\mesg #1}} \the\everyjob} + % (2) strip the useless parts from \mesg. This uses the fact that TeX % allows to define macros with parameters delimited by arbitrary text. \def\strip#1patterns for #2, loaded.#3\endmark{\def\langs{#2}} \expandafter\strip\mesg\endmark + % (3) handle the result \message{^^J\prefix checking for available hyphenation patterns... \langs} \AddVariable{languages}{\langs} @@ -187,6 +189,7 @@ \message{^^J\prefix checking for default encoding (this may take a long time)^^J} \font\test=ecrm1000\relax + \ifx\test\nullfont \message{^^J\prefix\prefix checking for ec fonts... no^^J} \AddVariable{ec}{no} @@ -215,30 +218,50 @@ %%% Packages +\TestPackage{algorithm} \TestPackage{array} \TestPackage{babel} +\TestPackage{bibtopic} +\TestPackage{booktabs} +\TestPackage{braille} \TestPackage{color} % this one should be there if graphics.sty is there. +\TestPackage{covington} +\TestPackage{csquotes} +\TestPackage{dvipost} +\TestPackage{endnotes} +\TestPackage{enumitem} +\TestPackage{esint} +\TestPackage{ifthen} +\TestPackage{fancybox} \TestPackage{fancyhdr} -\TestPackage{floatflt} -\TestPackage{setspace} -\TestPackage{subfigure} +\TestPackage{framed} \TestPackage{geometry} +\TestPackage{hyperref} +\TestPackage{jurabib} +\TestPackage{latex8} +\TestPackage{listings} \TestPackage{longtable} -\TestPackage{algorithm} +\TestPackage{natbib} +\TestPackage{nomencl} +\TestPackage{pdfcolmk} +\TestPackage{prettyref} +\TestPackage{preview} \TestPackage{rotating} -\TestPackage{latex8} +\TestPackage{rotfloat} +\TestPackage{setspace} +\TestPackage{soul} +\TestPackage{subfigure} +\TestPackage{textcomp} \TestPackage{url} \TestPackage{varioref} -\TestPackage{prettyref} -\TestPackage{natbib} -\TestPackage{bibtopic} -\TestPackage{jurabib} -\TestPackage{dvipost} -\TestPackage{preview} +\TestPackage{wrapfig} +\TestPackage{xcolor} + % The test for the graphics package is slightly more involved... \newcommand\groption{dvips} \TestItem{graphicx}{package}{sty} + % Let's do some clever things to guess the default driver for the % graphicx package. The maintainer of the site might have declared it % in the file 'graphics.cfg'. Let's hope there are no strange commands @@ -247,6 +270,7 @@ \InputIfFileExists{graphics.cfg}{}{} \AddPackage{graphicx}} {\renewcommand{\groption}{none}} + \message{^^J\prefix checking for graphics driver... \groption^^J} \AddVariable{graphicsdriver}{\groption} @@ -254,6 +278,28 @@ % times.sty. If times.sty is here, we will assume that everything is % fine. \TestPackage[times.sty]{psnfss} +% not sure if these are in all versions of psnfss +\TestPackage{avant} +\TestPackage{bookman} +\TestPackage{chancery} +\TestPackage{charter} +\TestPackage{mathpazo} +\TestPackage{mathpple} +\TestPackage{mathptm} +\TestPackage{mathptmx} +\TestPackage{newcent} +\TestPackage{utopia} +% Other font packages +\TestPackage{ae} +\TestPackage{bera} +\TestPackage{ccfonts} +\TestPackage{cmbright} +\TestPackage{eco} +\TestPackage{fourier} +\TestPackage{lmodern} +\TestPackage{luximono} +\TestPackage{tipa} + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%% END ACTUAL CONFIGURATION INSPECTION CODE %%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -261,10 +307,10 @@ % End of the LaTeX job \immediate\closeout\layouts -\immediate\closeout\sed \immediate\closeout\vars \immediate\closeout\packages \typeout{\prefix Inspection done.} \typeout{\prefix Read the file doc/LaTeXConfig.lyx for more information.} + % Get the real \end command, that has been hidden by LaTeX \@@end