From e0c6872cf40896c7be36b11dcc744620f10adf1d Mon Sep 17 00:00:00 2001
From: Norbert Preining <norbert@preining.info>
Date: Mon, 2 Sep 2019 13:46:59 +0900
Subject: Initial commit

---
 macros/latex-dev/base/ltxcheck.tex | 975 +++++++++++++++++++++++++++++++++++++
 1 file changed, 975 insertions(+)
 create mode 100644 macros/latex-dev/base/ltxcheck.tex

(limited to 'macros/latex-dev/base/ltxcheck.tex')

diff --git a/macros/latex-dev/base/ltxcheck.tex b/macros/latex-dev/base/ltxcheck.tex
new file mode 100644
index 0000000000..d5426aafa1
--- /dev/null
+++ b/macros/latex-dev/base/ltxcheck.tex
@@ -0,0 +1,975 @@
+% \iffalse meta-comment
+%
+% Copyright 1993-2016
+% The LaTeX3 Project and any individual authors listed elsewhere
+% in this file. 
+% 
+% This file is part of the LaTeX base system.
+% -------------------------------------------
+% 
+% It may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3c
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+%    https://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX 
+% version 2005/12/01 or later.
+% 
+% This file has the LPPL maintenance status "maintained".
+% 
+% The list of all files belonging to the LaTeX base distribution is
+% given in the file `manifest.txt'. See also `legal.txt' for additional
+% information.
+% 
+% The list of derived (unpacked) files belonging to the distribution 
+% and covered by LPPL is defined by the unpacking scripts (with 
+% extension .ins) which are part of the distribution.
+% 
+% \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{643}
+% 
+% \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}
+% \changes{v1.1d}{2004/02/11}
+%         {Remove pict2e.sty}
+%
+\ProvidesFile{ltxcheck.tex}[2015/03/30 v1.1d LaTeX check file (DPC)]
+%
+% \GetFileInfo{ltxcheck.tex}
+% \title{\textsf{ltxcheck}: The \LaTeX\ test program\thanks
+%   {version~\fileversion, dated \filedate}}
+% \author{David Carlisle}
+% \date{\filedate}
+% \MaintainedByLaTeXTeam{latex}
+% \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 down 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%
+ctan: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: ctan: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%
+ctan: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%
+ctan: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%
+ctan: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%
+ctan: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%
+ctan: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%
+ctan: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{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
+%
+
-- 
cgit v1.2.3

