% \iffalse meta-comment
%
% Copyright 1993 1994 1995 1996 1997
% The LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
% For further copyright information, and conditions for modification
% and distribution, see the file legal.txt, and any other copyright
% notices in this file.
%
% This file is part of the LaTeX2e system.
% ----------------------------------------
% This system is distributed in the hope that it will be useful,
% but WITHOUT ANY WARRANTY; without even the implied warranty of
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
%
% For error reports concerning UNCHANGED versions of this file no
% more than one year old, see bugs.txt.
%
% Please do not request updates from us directly. Primary
% distribution is through the CTAN archives.
%
%
% IMPORTANT COPYRIGHT NOTICE:
%
% You are NOT ALLOWED to distribute this file alone.
%
% You are allowed to distribute this file under the condition that it
% is distributed together with all the files listed in manifest.txt.
%
% If you receive only some of these files from someone, complain!
%
%
% Permission is granted to copy this file to another file with a
% clearly different name and to customize the declarations in that
% copy to serve the needs of your installation, provided that you
% comply with the conditions in the file legal.txt.
%
% However, NO PERMISSION is granted to produce or to distribute a
% modified version of this file under its original name.
%
% You are NOT ALLOWED to change this file.
%
%
%
% \fi
%
% \iffalse
%% File `ltxcheck.tex'.
%% Copyright (C) 1994-1997 LaTeX3 project, David Carlisle
%%
% LaTeX Test File.
% ================
%
% Processing this file with a newly installed LaTeX
% will test various aspects of the installation.
%
% To typeset the comments in this file, create a small
% file ltxcheck.drv that looks like the following (without the %)
%
% \documentclass{ltxdoc}
% \begin{document}
% \DocInput{ltxcheck.tex}
% \end{document}
%
% and process `latex ltxcheck.drv'.
%
\NeedsTeXFormat{LaTeX2e}[1997/06/01]
% \fi
%
% \StopEventually{}
% \CheckSum{644}
%
% \changes{v1.0c}{1994/03/15}
% {Add \cmd{\NeedsTeXFormat}}
% \changes{v1.0t}{1996/09/25}
% {Move ltxcheck to separate file}
% \changes{v1.0v}{1996/11/20}
% {lowercase filenames /1044}
%
\ProvidesFile{ltxcheck.tex}[1997/06/10 v1.1c LaTeX check file (DPC)]
%
% \GetFileInfo{ltxcheck.tex}
% \title{\textsf{ltxcheck}: The \LaTeX\ test program\thanks
% {version~\fileversion, dated \filedate}}
% \author{David Carlisle}
% \date{\filedate}
% \maketitle
%
% This file, |ltxcheck.tex| should be run after \LaTeX\ has been
% installed. It Checks some system dependent parts of \LaTeX\ are set up
% correctly for your system, and checks that the main input files and
% fonts that \LaTeX\ uses are present and can be found by \LaTeX.
%
% \begin{macrocode}
\makeatletter
% \end{macrocode}
%
% \begin{macrocode}
\typeout{^^J%
LaTeX2e installation check file^^J%
===============================}
% \end{macrocode}
%
% \begin{macrocode}
\typeout{^^J%
Before running this file through LaTeX2e you should have installed^^J%
the Standard LaTeX files in their final `system' directories.^^J%
This file should *not* be run in a directory that contains article.cls}
% \end{macrocode}
%
% |\pause| just slows things doen so that not too much appears on the
% screen at once, or scrolls off the top.
% \begin{macrocode}
\def\pause{%
\typeout{}%
\message{** Hit return to continue: }%
\read -1 to \xxx
\typeout{}}
% \end{macrocode}
%
% \begin{macrocode}
\typeout{^^J%
After certain tests, LaTeX will pause so that you can read the^^J%
output without it scrolling off the screen.^^J%
When you are ready just hit <return> and LaTeX will continue.^^J%
When LaTeX pauses, you will see a prompt like the one below.^^J^^J%
If a test fails, a message will be displayed followed by^^J%
an error message starting `! BAD'.^^J%
LaTeX will quit if you try to scroll past some error messages.}
\pause
% \end{macrocode}
%
% Check that the system has defined |\@currdir| correctly
% by writing an |.aux| file and then trying to find it again.
% \begin{macrocode}
\typeout{^^J%
Checking the current directory syntax^^J%
=====================================}
% \end{macrocode}
%
% \begin{macrocode}
\newif\iftest\testfalse
% \end{macrocode}
%
% \begin{macrocode}
\ifx\@currdir\@undefined
\typeout{^^J%
\noexpand\@currdir is undefined !!^^J%
Something is seriously wrong with the LaTeX2e initialisation.^^J%
Either you have corrupted files or this is a LaTeX bug.}
\errmessage{BAD LaTeX2e system!!}
\expandafter\@@end
\fi
% \end{macrocode}
%
% \begin{macrocode}
\ifx\@currdir\@empty
\typeout{^^J%
\noexpand\@currdir is defined to be empty.^^J%
This means that LaTeX can not distinguish between a file^^J%
aaaaa.tex^^J%
that exists in the current directory, and a file aaaaa.tex^^J%
in another directory.^^J%
It may be that this Operating System has no concept of `directory'^^J%
in which case the setting is correct. If however it is possible to^^J%
uniquely refer to a file then a suitable definition of
\noexpand\@currdir^^J%
should be added to texsys.cfg, and the format remade.}
\pause
% \end{macrocode}
%
% \begin{macrocode}
\else
\typeout{^^J%
\noexpand\@currdir is defined as
\expandafter\strip@prefix\meaning\@currdir^^J%
(Testing...)}
% \end{macrocode}
%
% \begin{macrocode}
\begingroup
\endlinechar=-1
\count@\time
\divide\count@ 60
\count2=-\count@
\multiply\count2 60
\advance\count2 \time
\edef\today{%
\the\year/\two@digits{\the\month}/\two@digits{\the\day}:%
\two@digits{\the\count@}:\two@digits{\the\count2}}
% \end{macrocode}
%
% \begin{macrocode}
\immediate\openout15=ltxcheck.aux
\immediate\write15{\today^^J}
\immediate\closeout15 %
% \end{macrocode}
%
% \begin{macrocode}
\openin\@inputcheck\@currdir ltxcheck.aux %
\ifeof\@inputcheck
\typeout{\@currdir ltxcheck.aux not found}%
\else
\read\@inputcheck to \reserved@a
\ifx\reserved@a\today
\typeout{\@currdir ltxcheck.aux found}
\testtrue
\else
\typeout{BAD: old file \reserved@a(should be \today)}%
\testfalse
\fi
\fi
\closein\@inputcheck
% \end{macrocode}
%
% \begin{macrocode}
\iftest
\endgroup
\typeout{\noexpand \@currdir OK!}
\else
\endgroup
% \end{macrocode}
%
% \begin{macrocode}
\typeout{^^J%
The LaTeX2e installation has defined \noexpand\@currdir^^J%
to be \expandafter\strip@prefix\meaning\@currdir.^^J%
This appears to be incorrect.^^J%
You should add a correct definition to texsys.cfg^^J%
and rebuild the format.}
\errmessage{BAD LaTeX2e system!!}
\expandafter\expandafter\expandafter\@@end
\fi
\pause
% \end{macrocode}
%
% \begin{macrocode}
\fi
% \end{macrocode}
%
% \changes{v1.0k}{1995/09/27}
% {Check filename parser}
% Check the filename parser can at least cope with a simple
% name + extension, |article.cls|.
% \begin{macrocode}
\typeout{^^J%
Checking the filename parser^^J%
============================}
% \end{macrocode}
%
% \begin{macrocode}
\filename@parse{article.cls}
\def\reserved@a{article}
% \end{macrocode}
%
% \begin{macrocode}
\testtrue
\ifx\filename@base\reserved@a
\ifx\filename@ext\@clsextension
\else
\testfalse
\fi
\else
\testfalse
\fi
\iftest
\typeout{filename parser OK!}\pause
\else
\typeout{^^J%
The LaTeX2e installation has defined \noexpand\filename@parse.^^J%
This appears to be incorrect.^^J%
You should remove the incorrect definition from texsys.cfg^^J%
and rebuild the format.}
\errmessage{BAD LaTeX2e system!!}
\expandafter\expandafter\expandafter\@@end
\fi
%
% \end{macrocode}
%
% Check the input path by looking for |article.cls|. If |article.cls|
% is in the current directory it would be found anyway, so first check
% it is not there.
% \begin{macrocode}
\typeout{^^J%
Checking the input path^^J%
=======================^^J}
% \end{macrocode}
%
% \begin{macrocode}
\begingroup
\let\input@path\@undefined
\ifx\@currdir\@empty\else
\IfFileExists{\@currdir article.cls}
{\typeout{%
article.cls appears to be in current directory!^^J^^J%
If this is the case, install article.cls into a^^J%
`standard input directory'^^J%
and copy ltxcheck.tex to another directory before^^J%
processing with LaTeX.^^J%
^^J%
If article.cls is not in the current directory,^^J%
then you need to edit texsys.cfg.^^J%
Read the comments in that file. If nothing else works, add:^^J%
\string\let\string\@currdir\string\@empty^^J}%
\errhelp{Move files, or edit texsys.cfg}
\def\ArticleClassFoundInCurrentDirectory{%
This file should not be run in a `standard input directory'}
\errmessage{BAD: \ArticleClassFoundInCurrentDirectory}}
{}
\fi
\endgroup
% \end{macrocode}
%
% \begin{macrocode}
\IfFileExists{article.cls}
{\typeout{input path OK!}}
{\typeout{^^J%
LaTeX claims that article.cls is not on the system.^^J%
Either LaTeX has been incorrectly installed, or the
\noexpand\input@path^^J%
is incorrect. A correct definition should be added to^^J%
texsys.cfg, and the format remade.}
\pause
\typeout{^^J%
Typical definitions of \noexpand\input@path include:^^J^^J%
\string\let\string\input@path=\noexpand\@undefined
(the default definition)^^J^^J%
\string\def\string\input@path{\@percentchar^^J
{/usr/lib/tex/inputs/} {/usr/local/lib/tex/inputs/} }^^J^^J%
\string\def\string\input@path{\@percentchar^^J
{c:/tex/inputs/} {a:/} }^^J^^J%
\string\def\string\input@path{\@percentchar^^J
{tex_inputs:} {SOMEDISK:[SOMEWHERE.TEX.INPUTS]} }^^J}%
\pause
\typeout{^^J%
Note that \noexpand\input@path should be undefined
unless your^^J%
TeX installation does not make
\noexpand\openin and \noexpand\input^^J%
search the same directories.^^J%
If \noexpand\input@path is defined, entries should be^^J%
in the same syntax as \noexpand\@currdir^^J%
ie full directory names that may be concatenated with the^^J%
basename (note the final / and ] in the above examples).^^J%
Some systems may need more complicated settings.^^J%
See texsys.cfg for more examples.^^J%
! BAD \noexpand\input@path!!}
\@@end}%
\pause
% \end{macrocode}
%
% For versions prior to \TeX3 complain to the installer. (Although
% \LaTeX\ will work with these old \TeX\ versions).
% For versions between 3 and 3.14 check that \LaTeX\ is using the
% work-around for the |^^J| in |\message| bug.
% \begin{macrocode}
\typeout{^^J%
Checking the TeX version^^J%
========================}
% \end{macrocode}
%
% \changes{v0.2j}{1994/02/25}
% {\cs{noboundary} is \cs{relax} not undef in TeX2 (initialised
% in 2e format)}
% \begin{macrocode}
\dimen@\ifx\@TeXversion\@undefined4\else\@TeXversion\fi\p@%
\ifx\noboundary\relax
\typeout{^^J%
This is TeX 2. You will not be able to use all the new features^^J%
of LaTeX2e with such an old TeX.^^J%
The current version (1995/12/11) is TeX 3.14159.^^J%
Consider upgrading your TeX.}
\ifdim\dimen@<3\p@\else
\errhelp{Check that texsys.cfg has not defined \@TeXversion}
\def\OldTeX{%
BAD: \noexpand\@TeXversion is incorrect: \meaning\@TeXversion}
\errmessage{\OldTeX}
\fi
\else
% \end{macrocode}
%
% \changes{v1.0h}{1994/10/11}
% {Check for TeX3.141}
% \begin{macrocode}
\ifdim\dimen@>3.14\p@
\typeout{This appears to be a recent version of TeX!^^J%
If the following `lines' all appear on the same line,^^J%
separated by \string^\string^J %
then there has been an incorrect installation.}
\else
\typeout{^^J%
This appears to be a TeX between 3.0 and 3.14^^J%
but the current version (1995/12/11) is TeX 3.14159^^J%
consider upgrading your TeX.^^J%
The following `lines' will appear on the same line,^^J%
separated by \string^\string^J;^^J%
the same problem may affect other messages from LaTeX.}
\fi
% \end{macrocode}
%
% \begin{macrocode}
\message{line1^^Jline2^^Jline3}
\pause
% \end{macrocode}
%
% \begin{macrocode}
\fi
% \end{macrocode}
%
%
% To check that the \LaTeX\ fonts have been installed, the well known
% trick of going into |\batchmode|, and testing for |\nullfont| is used.
% Not all fonts are tested, just a representative sample.
% \begin{macrocode}
\typeout{^^J%
Checking fonts^^J%
=====================================}
% \end{macrocode}
% \changes{v1.0h}{1994/10/11}
% {Check for fonts}
% \begin{macrocode}
\def\checkfont#1{%
\batchmode
\font\test=#1\relax
\errorstopmode
\ifx\test\nullfont
\typeout{\@spaces! BAD: #1.tfm not found!}
\@tempswatrue
\else
\typeout{\@spaces OK: #1.tfm found}
\fi}
% \end{macrocode}
%
% \begin{macrocode}
\typeout{^^JChecking Standard TeX fonts...}
\@tempswafalse
\checkfont{cmr10}
\checkfont{cmr12}
\checkfont{cmmi10}
\if@tempswa
\errhelp{Obtain a complete standard TeX font distribution.}
\errmessage{BAD: Missing Standard Fonts}
\else
% \end{macrocode}
% \changes{v1.0s}{1996/07/19}
% {Check for bad cm fonts}
% \begin{macrocode}
\font\testcm=cmr10
\testcm
\setbox0\hbox{h{}o}
\setbox2=\hbox{ho}
\ifdim\wd0=\wd2
\typeout{^^J%
OK: correct Computer Modern fonts installed.}%
\else
\typeout{^^J%
An unauthorised and incompatible release of the^^J%
Computer Modern fonts has been installed on your system.^^J%
The official fonts may be obtained from CTAN archives in:^^J%
tex-archive/fonts/cm^^J%
For further details see Donald Knuth's Home page:^^J%
http://www-cs-faculty.stanford.edu/\protect~knuth/cm.html}%
\errhelp{Re-install Computer Modern fonts, and then rebuild LaTeX}
\errmessage{BAD Standard fonts!!}
\fi
% \end{macrocode}
%
% \begin{macrocode}
\pause
\fi
% \end{macrocode}
%
% \begin{macrocode}
\typeout{^^JChecking LaTeX Picture Mode fonts...}
\@tempswafalse
\checkfont{lcircle10}
\checkfont{lcirclew10}
\if@tempswa
\@tempswafalse
\checkfont{circle10}
\checkfont{circlew10}
\if@tempswa
\typeout{^^J! BAD: You do not have the picture mode fonts:^^J%
lcircle10 and lcirclew10}
\else
\typeout{^^J! BAD:%
You have the picture mode fonts with their old names:^^J%
circle10 and circlew10 have been renamed to^^J%
lcircle10 and lcirclew10}
\fi
\errhelp{Obtain a complete standard LaTeX font distribution.}
\errmessage{BAD: Missing LaTeX Fonts}
\else
\pause
\fi
% \end{macrocode}
%
% \begin{macrocode}
\typeout{^^JChecking Extra LaTeX Computer Modern fonts...}
\@tempswafalse
\checkfont{cmmib5}
\checkfont{cmmib7}
\checkfont{cmex7}
\if@tempswa
\typeout{! BAD:^^J%
LaTeX2e uses a few `extra' Computer Modern fonts produced by^^J%
The American Mathematical Society.^^J%
If you install The AMSFONTS font collection, then these, and other,^^J%
fonts will be available to LaTeX.^^J%
Although installing AMSFONTS is recommended, LaTeX does not require^^J%
The full collection; you may obtain a minimal set of extra LaTeX^^J%
fonts from any CTAN archive, in: tex-archive/macros/latex/fonts/}
\errhelp{Obtain LaTeX fonts or the AMSFONTS collection.}
\errmessage{BAD: Missing LaTeX Fonts}
\else
\pause
\fi
% \end{macrocode}
%
% \changes{v1.0k}{1995/09/27}
% {Check for dc and tc fonts}
% \changes{v1.1a}{1997/01/14}
% {Check for ec fonts}
% \changes{v1.1c}{1997/06/10}
% {Modify messages now ec released}
% \begin{macrocode}
\typeout{^^JChecking T1 encoded Computer Modern (dc & ec) fonts...}
% \end{macrocode}
% \changes{v1.0m}{1995/10/31}
% {Check the T1 fd files match the dc release.}
% This command looks for the string |dcr17<| in the font tables for
% T1/cmr. If it is there, then the T1 fd files match the old dc fonts,
% for dc release 1.1 or earlier. If not then presumably new fd files
% are being used.
% \begin{macrocode}
\def\dcrseventeen{%
\begingroup
\escapechar-1
\xdef\reserved@a{%
\noexpand\in@
{\expandafter\string\csname dcr17\endcsname<}%
{\expandafter\expandafter\expandafter
\string\csname T1/cmr/m/n\endcsname<}}%
\endgroup
\reserved@a}
% \end{macrocode}
% Similarly this command looks for the string |ecrm| in the font tables
% for T1/cmr. If it is there, then the T1 fd files match the ec fonts,
% for ec release 1.0 or later.
% \begin{macrocode}
\def\ecrm{%
\begingroup
\escapechar-1
\xdef\reserved@a{%
\noexpand\in@
{\expandafter\string\csname ecrm\endcsname}%
{\expandafter\expandafter\expandafter
\string\csname T1/cmr/m/n\endcsname}}%
\endgroup
\reserved@a}
% \end{macrocode}
% \changes{v1.0o}{1995/11/14}
% {dont produce a BAD message if just one set of dc fonts is missing}
% Remove the ``! BAD'' typeout while checking for dc fonts so
% as not to worry sites with just the new ones.
% \begin{macrocode}
\def\checkfont#1{%
\batchmode
\font\test=#1\relax
\errorstopmode
\ifx\test\nullfont
\typeout{\@spaces\@spaces #1.tfm not found}
\@tempswatrue
\else
\typeout{\@spaces OK: #1.tfm found}
\fi}
% \end{macrocode}
%
% \begin{macrocode}
\@tempswafalse
\checkfont{ecrm1000}
\if@tempswa
% \end{macrocode}
% No ec fonts. Check the state of the dc fonts.
%
% \begin{macrocode}
\typeout{No EC fonts found, checking DC fonts...}
\@tempswafalse
\checkfont{dcr10}
\if@tempswa
\@tempswafalse
\checkfont{tcr1000}
\if@tempswa
% \end{macrocode}
% No dc fonts at all.
% \begin{macrocode}
\typeout{^^J%
! BAD: No ec fonts found!!^^J%
LaTeX does not require the use of ec fonts^^J%
however they are strongly recommended.^^J%
The ec fonts are available in a more natural range of sizes^^J%
and allow better hyphenation and kerning than the^^J%
old fonts such as cmr10.^^J%
These ec fonts may be obtained from CTAN archives, in:^^J%
tex-archive/fonts/ec}
\else
% \end{macrocode}
% No old dc fonts, but new ones installed.
% First check whether the latest patch has been applied.
% \changes{v1.0p}{1995/12/11}
% {Check for dc fonts 1.2 patch level 1 (Bernd Raichle) /2003}
% \changes{v1.0q}{1996/06/03}
% {Check for dc fonts 1.3}
% \changes{v1.1b}{1997/01/24}
% {extra closing brace removed from this branch}
% \begin{macrocode}
\font\testdc=dcr1000
\testdc
\setbox0\hbox{A{}y}
\setbox2=\hbox{Ay}
\ifdim\wd0>\wd2
\typeout{^^J%
! BAD: dc fonts release 1.3 installed^^J%
The dc fonts are now replaced by the ec fonts^^J%
These ec fonts may be obtained from CTAN archives, in:^^J%
tex-archive/fonts/ec.}%
\else
\typeout{^^J%
! BAD dc fonts 1.2 or older installed.^^J%
The dc fonts are now replaced by the ec fonts^^J%
These ec fonts may be obtained from CTAN archives, in:^^J%
tex-archive/fonts/ec.}%
\fi
\dcrseventeen
\ifin@
\typeout{^^J%
The fd files for the obsolete release 1.1 of the^^J%
dc fonts have been loaded into the LaTeX format.^^J%
However, you appear to have at least release 1.2 of the dc fonts.^^J%
You should generate suitable fd files by running:^^J%
latex newdc.ins^^J%
and then rebuild the format by rerunning:^^J%
initex latex.ltx}
\errmessage{BAD LaTeX2e system!!}
\else
\typeout{^^J%
DC fonts OK!}
\fi
\fi
\else
\@tempswafalse
\checkfont{tcr1000}
\if@tempswa
% \end{macrocode}
% Old DC fonts, but no new ones.
% \begin{macrocode}
\typeout{^^J%
Old dc fonts found!!^^J%
Only the original dc fonts are on your system.^^J%
Later releases of the dc/ec fonts introduced^^J%
many improvements and are strongly recommended.^^J%
They may be obtained from CTAN archives, in:^^J%
tex-archive/fonts/ec.}
\pause
\dcrseventeen
\ifin@\else
\typeout{^^J%
The LaTeX2e installation has installed fd files for^^J%
release 1.2 (or later) of the dc fonts.^^J%
However, you appear to have only release 1.1 of these fonts.^^J%
You must now generate the correct fd files by running:^^J%
latex olddc.ins^^J%
and then rebuild the format by rerunning:^^J%
initex latex.ltx}
\errmessage{BAD LaTeX2e system!!}
\fi
\else
% \end{macrocode}
% Both old and new DC fonts.
% \begin{macrocode}
\font\testdc=dcr1000
\testdc
\setbox0\hbox{A{}y}
\setbox2=\hbox{Ay}
\ifdim\wd0>\wd2
\typeout{^^J%
! BAD: dc fonts release 1.3 installed^^J%
The dc fonts are now replaced by the ec fonts^^J%
These ec fonts may be obtained from CTAN archives, in:^^J%
tex-archive/fonts/ec.}%
\else
\typeout{^^J%
! BAD dc fonts 1.2 or older installed.^^J%
The dc fonts are now replaced by the ec fonts^^J%
These ec fonts may be obtained from CTAN archives, in:^^J%
tex-archive/fonts/ec.}%
\fi
% \end{macrocode}
%
% \begin{macrocode}
\dcrseventeen
\ifin@
\typeout{^^J%
The fd files for the obsolete release 1.1 of the^^J%
dc fonts have been loaded into the LaTeX format.^^J%
However, you appear to have at least release 1.2 of the dcfonts.^^J%
You should use generate suitable fd files by running:^^J%
latex newdc.ins^^J%
and then rebuild the format by running:^^J%
initex latex.ltx^^J%
Otherwise LaTeX will always use the older fonts.}
\errmessage{BAD LaTeX2e system!!}
\else
\ecrm
\ifin@
\typeout{^^J%
The fd files for the new EC fonts have been loaded into^^J%
the LaTeX format.^^J%
However, these fonts are not found by LaTeX.^^J%
You should either install the ec fonts, or generate suitable^^J%
fd files for the dc fonts by running: \space latex newdc.ins^^J%
and then rebuild the format by running: \space initex latex.ltx}
\errmessage{BAD LaTeX2e system!!}
\else
\typeout{^^J%
DC fonts OK!^^J%
(Both old and new dc font releases are installed.)^^J%
Note that the dc fonts are expected to be replaced by ec^^J%
in January 1997.}
\fi
\fi
\fi
\fi
% \end{macrocode}
% Else EC fonts are found, so check whether LaTeX is going to use them.
%
% \begin{macrocode}
\else
% \end{macrocode}
%
% \begin{macrocode}
\ecrm
\ifin@
\typeout{EC fonts OK!}
\else
\typeout{%
EC fonts installed but LaTeX is still using dc fonts.^^J%
You may want to run ec.ins and remake the LaTeX format}
\fi
% \end{macrocode}
%
% \begin{macrocode}
\fi
\pause
% \end{macrocode}
%
%
%
% The following files will be unpacked by running iniTeX on
% |unpack.ins|.
%
% \begin{macrocode}
\typeout{^^JChecking LaTeX input files...^^J}
% \end{macrocode}
%
% If the specified file is not there, add it to the list.
% \begin{macrocode}
\def\checkfile#1{%
\IfFileExists{#1}{}{\edef\missingfile{\missingfile#1, }}}
% \end{macrocode}
%
% Report any missing files in the last batch tested.
% \begin{macrocode}
\def\filereport#1#2{%
\ifx\missingfile\@empty
\typeout{^^J%
OK: The #1 files such as #2^^J%
are accessible to LaTeX.}
\pause
\expandafter\@gobbletwo
\else
\typeout{^^J%
! BAD: The #1 files:^^J%
\missingfile^^J%
are not accessible to LaTeX.}
\errhelp{Check the installation!}
\let\missingfile\@empty
\fi
\errmessage{Missing LaTeX files}}
% \end{macrocode}
%
% Kernel files:
% \begin{macrocode}
\let\missingfile\@empty
% \end{macrocode}
%
% \begin{macrocode}
\checkfile{hyphen.ltx}
\checkfile{fontmath.ltx}
\checkfile{fonttext.ltx}
\checkfile{preload.ltx}
\checkfile{texsys.cfg}
\checkfile{latex.ltx}
% \end{macrocode}
%
% Don't use |\filereport| here as the message is rather different
% as the |.ltx| files don't really need to be available to \LaTeX\
% once the format is made.
% \begin{macrocode}
\ifx\missingfile\@empty
\typeout{^^J%
OK: The files such as latex.ltx that are used to make^^J%
the format are accessible to LaTeX.}
\else
\typeout{^^J%
The files:^^J%
\missingfile^^J%
that are used to make the format are not accessible to LaTeX.^^J%
This is OK, but you will need those files if you need to remake the^^J%
the format later.}
\fi
\pause
\let\missingfile\@empty
% \end{macrocode}
%
% Class files and class options:
% \begin{macrocode}}
\checkfile{article.cls}
\checkfile{report.cls}
\checkfile{book.cls}
\checkfile{letter.cls}
\checkfile{ltxdoc.cls}
\checkfile{proc.cls}
\checkfile{slides.cls}
\checkfile{bk10.clo}
\checkfile{bk11.clo}
\checkfile{bk12.clo}
\checkfile{size10.clo}
\checkfile{size11.clo}
\checkfile{size12.clo}
\checkfile{fleqn.clo}
\checkfile{leqno.clo}
% \end{macrocode}
%
% \begin{macrocode}
\filereport{main class}{article.cls}
% \end{macrocode}
%
% Package files:
% \begin{macrocode}
\checkfile{alltt.sty}
\checkfile{doc.sty}
\checkfile{exscale.sty}
\checkfile{flafter.sty}
\checkfile{fontenc.sty}
\checkfile{graphpap.sty}
\checkfile{ifthen.sty}
\checkfile{inputenc.sty}
\checkfile{latexsym.sty}
\checkfile{makeidx.sty}
\checkfile{newlfont.sty}
\checkfile{oldlfont.sty}
\checkfile{pict2e.sty}
\checkfile{shortvrb.sty}
\checkfile{showidx.sty}
\checkfile{slides.sty}
\checkfile{syntonly.sty}
\checkfile{tracefnt.sty}
% \end{macrocode}
%
%
% \begin{macrocode}
\filereport{main package}{ifthen.sty}
% \end{macrocode}
%
% Font definition (.fd) files:
% \begin{macrocode}}
\checkfile{omlcmm.fd}
\checkfile{omlcmr.fd}
\checkfile{omllcmm.fd}
\checkfile{omscmr.fd}
\checkfile{omscmsy.fd}
\checkfile{omslcmsy.fd}
\checkfile{omxcmex.fd}
\checkfile{omxlcmex.fd}
\checkfile{ot1cmdh.fd}
\checkfile{ot1cmfib.fd}
\checkfile{ot1cmfr.fd}
\checkfile{ot1cmr.fd}
\checkfile{ot1cmss.fd}
\checkfile{ot1cmtt.fd}
\checkfile{ot1cmvtt.fd}
\checkfile{ot1lcmss.fd}
\checkfile{ot1lcmtt.fd}
\checkfile{t1cmdh.fd}
\checkfile{t1cmfib.fd}
\checkfile{t1cmfr.fd}
\checkfile{t1cmr.fd}
\checkfile{t1cmss.fd}
\checkfile{t1cmtt.fd}
\checkfile{t1cmvtt.fd}
\checkfile{ts1cmr.fd}
\checkfile{ts1cmss.fd}
\checkfile{ts1cmtt.fd}
\checkfile{ts1cmvtt.fd}
\checkfile{ucmr.fd}
\checkfile{ucmss.fd}
\checkfile{ucmtt.fd}
\checkfile{ullasy.fd}
\checkfile{ulasy.fd}
% \end{macrocode}
%
%
% \begin{macrocode}
\filereport{font definition}{t1cmr.fd}
% \end{macrocode}
%
% Font encoding files:
% \begin{macrocode}
\checkfile{t1enc.def}
\checkfile{ot1enc.def}
\checkfile{omsenc.def}
\checkfile{omlenc.def}
% \end{macrocode}
%
%
% \begin{macrocode}
\filereport{font encoding}{t1enc.def}
% \end{macrocode}
%
% Input encoding files:
% \begin{macrocode}
\checkfile{ascii.def}
\checkfile{latin1.def}
\checkfile{latin2.def}
\checkfile{latin3.def}
\checkfile{latin5.def}
\checkfile{cp850.def}
\checkfile{cp852.def}
\checkfile{cp865.def}
\checkfile{cp437.def}
\checkfile{cp437de.def}
\checkfile{applemac.def}
\checkfile{next.def}
\checkfile{ansinew.def}
% \end{macrocode}
%
% \begin{macrocode}
\filereport{input encoding}{latin1.def}
% \end{macrocode}
%
% Compatibility files:
% \begin{macrocode}
\checkfile{article.sty}
\checkfile{book.sty}
\checkfile{letter.sty}
\checkfile{proc.sty}
\checkfile{report.sty}
\checkfile{fleqn.sty}
\checkfile{leqno.sty}
\checkfile{openbib.sty}
\checkfile{latex209.def}
% \end{macrocode}
%
%
% \begin{macrocode}
\filereport{compatibility mode}{article.sty}
% \end{macrocode}
%
% Other files:
% \begin{macrocode}
\checkfile{bezier.sty}
\checkfile{docstrip.tex}
\checkfile{slides.def}
\checkfile{sfonts.def}
\checkfile{t1enc.sty}
% \end{macrocode}
%
% \begin{macrocode}
\filereport{remaining}{sfonts.def}
% \end{macrocode}
%
% \begin{macrocode}
\@@end
% \end{macrocode}
%
% \Finale
%
|