X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=lib%2Fchkconfig.ltx;h=20f957c6263eefd5d640f6b4a706016a9173544d;hb=7b6afb3869c8c38ed485fc112c8361232d6bc541;hp=7a59958f709aff760b2cfc22f470aef35accb096;hpb=5a0176a6ebab29cee7959420a0b3a1768d9273ec;p=lyx.git diff --git a/lib/chkconfig.ltx b/lib/chkconfig.ltx index 7a59958f70..20f957c626 100644 --- a/lib/chkconfig.ltx +++ b/lib/chkconfig.ltx @@ -19,15 +19,19 @@ %%% 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/LaTeXConfig.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. +%%% Found: [InsetInfo] +%%% where [InsetInfo] is obtained by entering in the minibuffer (Alt+X) +%%% info-insert package +%%% This inset will automatically display a boxed "yes" or "no" +%%% depending on the availability of the package. %%% %%% 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 -%%% LaTeXConfig.lyx.in, as described above. +%%% LaTeXConfig.lyx, as described above but using +%%% "info-insert textclass " instead of "info-insert package ". %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%% Initialization part (skip) %%%%%%%%%%%%%%%%%%%%% @@ -50,31 +54,50 @@ % 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]{ + +\newcommand{\AddLayout}[5][\default]{ \def\default{#2} - \immediate\write\layouts{"#2" "#1" "#3" "#4"}} + \immediate\write\layouts{"#2" "#1" "#3" "#4" "#5"}} + \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{}{}{}{}{}{} +% Syntax: \TestItem[]{}{}{}{}{} \newif\ifexists + \newcommand{\TestItem}[6][\default]{ \def\default{#2} \def\files{#1} \message{^^J\prefix checking for #3 #2 [#1]...} \let\firstelement\relax + \let\missingelements\empty \existstrue \@for\file:=\files\do{ \ifx\firstelement\relax \edef\firstelement{\file} \fi - \IfFileExists{\file} + \@expandtwoargs\in@{.}{\file} + \ifin@ + \def\myfile{\file} + \else + \def\myfile{\file.#4} + \fi + \IfFileExists{\myfile} {} - {\IfFileExists{\file.#4}{}{\existsfalse}} + { + \existsfalse + \ifx\missingelements\empty + \edef\missingelements{\myfile} + \else + \edef\missingelements{\missingelements,\myfile} + \fi + } } \ifexists \message{yes^^J} @@ -85,8 +108,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,11 +119,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}} + {\AddLayout[\firstelement]{\layoutname}{#2}{true}{\missingelements}} + {\AddLayout[\firstelement]{\layoutname}{#2}{false}{\missingelements}} } + % Only for compatibility. Will be removed later. \let\DeclareSGMLClass=\DeclareDocBookClass @@ -106,9 +133,9 @@ \message{^^J\prefix checking for docbook\space\space class \layoutname... } \@ifundefined{hasdocbook} {\message{no^^J} - \AddLayout[#1]{\layoutname}{#2}{false}} + \AddLayout[#1]{\layoutname}{#2}{false}{docbook}} {\message{yes^^J} - \AddLayout[#1]{\layoutname}{#2}{true}} + \AddLayout[#1]{\layoutname}{#2}{true}{}} } % Stolen from article.cls @@ -119,15 +146,14 @@ % 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% # It has been automatically generated by configure^^J% -# Use "Options/Reconfigure" if you need to update it after a^^J% +# Use "Tools/Reconfigure" if you need to update it after a^^J% # configuration change. Run ./configure manually to update the^^J% # system wide version of this file.} @@ -155,10 +181,17 @@ \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 +\def\platexname{pLaTeX2e} +\ifx\pfmtname\platexname + \def\langs{japanese} +\else + \def\strip#1patterns for #2, loaded.#3\endmark{\def\langs{#2}} + \expandafter\strip\mesg\endmark +\fi + % (3) handle the result \message{^^J\prefix checking for available hyphenation patterns... \langs} \AddVariable{languages}{\langs} @@ -179,6 +212,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} @@ -189,12 +223,11 @@ \ecrm \ifin@ \message{yes^^J} - \AddVariable{ec}{yes} + \AddPackage{ec} \AddVariable{fontenc}{T1} - \message{^^J \prefix\space\space default encoding will be set to T1^^J} + \message{^^J\prefix\space\space default encoding will be set to T1^^J} \else \message{no^^J} - \AddVariable{ec}{no} \AddVariable{fontenc}{default} \fi \fi @@ -204,72 +237,106 @@ % The list of layout files has been put in this file here by the % configure script. \input{chklayouts} +\input{chkmodules} %%% Packages +\TestPackage{accents} \TestPackage{algorithm} +\TestPackage{amstext} +\TestPackage[arabic.ldf]{arabi} \TestPackage{array} \TestPackage{babel} \TestPackage{bibtopic} +\TestPackage{bm} \TestPackage{booktabs} +\TestPackage{braille} +\TestPackage{CJKutf8} \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{ifsym} +\TestPackage{ifthen} \TestPackage{fancybox} \TestPackage{fancyhdr} -\TestPackage{floatflt} +\TestPackage{float} \TestPackage{framed} \TestPackage{geometry} +\TestPackage{graphicx} +\TestPackage{hyperref} +\TestPackage{hyphenat} +\TestPackage[japanese.ldf]{japanese} \TestPackage{jurabib} \TestPackage{latex8} +\TestPackage{lettrine} +\TestPackage{listings} +\TestPackage[lithuanian.ldf]{lithuanian} \TestPackage{longtable} +\TestPackage{mathdots} +\TestPackage{mathrsfs} +\TestPackage{mhchem} +\TestPackage[mongolian.ldf]{mongolian} \TestPackage{natbib} +\TestPackage{nicefrac} +\TestPackage{nomencl} +\TestPackage{pdfcolmk} +\TestPackage{pdfpages} \TestPackage{prettyref} \TestPackage{preview} +\TestPackage{refstyle} \TestPackage{rotating} +\TestPackage{rotfloat} \TestPackage{setspace} -\TestPackage{subfigure} -\TestPackage{varioref} +\TestPackage{slashed} +\TestPackage{soul} +\TestPackage{splitidx} +\TestPackage{subfig} +\TestPackage{Sweave} +\TestPackage{textcomp} +\TestPackage[turkmen.ldf]{turkmen} +\TestPackage{ulem} +\TestPackage{units} \TestPackage{url} - -% 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 -% in there... - {\renewcommand\ExecuteOptions[1]{\renewcommand\groption{default}} - \InputIfFileExists{graphics.cfg}{}{} - \AddPackage{graphicx}} - {\renewcommand{\groption}{none}} -\message{^^J\prefix checking for graphics driver... \groption^^J} -\AddVariable{graphicsdriver}{\groption} +\TestPackage{varioref} +\TestPackage{wasysym} +\TestPackage{wrapfig} +\TestPackage{xargs} +\TestPackage{xcolor} % psnfss is in fact the name of a set of style files, among which -% times.sty. If times.sty is here, we will assume that everything is -% fine. +% 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{mathptmx} -\TestPackage{mathptm} -\TestPackage{mathpazo} -\TestPackage{mathpple} -\TestPackage{utopia} +% test the following fonts in case they are not in all versions of psnfss \TestPackage{avant} \TestPackage{bookman} -\TestPackage{newcent} -\TestPackage{charter} \TestPackage{chancery} +\TestPackage{charter} +\TestPackage{courier} +\TestPackage{helvet} +\TestPackage{mathpazo} +\TestPackage{mathpple} +\TestPackage{mathptm} +\TestPackage{mathptmx} +\TestPackage{newcent} +\TestPackage{pifont} +\TestPackage{utopia} % Other font packages -\TestPackage{lmodern} \TestPackage{ae} -\TestPackage{fourier} -\TestPackage{cmbright} -\TestPackage{luximono} +\TestPackage{bera} \TestPackage{ccfonts} +\TestPackage{cmbright} \TestPackage{eco} -\TestPackage{bera} +\TestPackage{feyn} +\TestPackage{fourier} +\TestPackage{lmodern} +\TestPackage{luximono} \TestPackage{tipa} +% necessary to get correct size for InstantPreview images created by dvipng +\TestPackage[c70fs.fd]{zhmetrics} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -278,10 +345,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