You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
974 lines
26 KiB
974 lines
26 KiB
% \iffalse meta-comment
|
|
%
|
|
% Copyright (C) 1993-2020
|
|
% 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 2008 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
|
|
%
|
|
|