Enable building TDS zip files
[latex2e.git] / base / ltxcheck.tex
blobf17af02cd78943707125da919f980f184b69e5dd
1 % \iffalse meta-comment
3 % Copyright 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009
4 % The LaTeX3 Project and any individual authors listed elsewhere
5 % in this file.
6 %
7 % This file is part of the LaTeX base system.
8 % -------------------------------------------
9 %
10 % It may be distributed and/or modified under the
11 % conditions of the LaTeX Project Public License, either version 1.3c
12 % of this license or (at your option) any later version.
13 % The latest version of this license is in
14 % http://www.latex-project.org/lppl.txt
15 % and version 1.3c or later is part of all distributions of LaTeX
16 % version 2005/12/01 or later.
18 % This file has the LPPL maintenance status "maintained".
20 % The list of all files belonging to the LaTeX base distribution is
21 % given in the file `manifest.txt'. See also `legal.txt' for additional
22 % information.
24 % The list of derived (unpacked) files belonging to the distribution
25 % and covered by LPPL is defined by the unpacking scripts (with
26 % extension .ins) which are part of the distribution.
28 % \fi
30 % \iffalse
31 %% File `ltxcheck.tex'.
32 %% Copyright (C) 1994-1997 LaTeX3 project, David Carlisle
34 % LaTeX Test File.
35 % ================
37 % Processing this file with a newly installed LaTeX
38 % will test various aspects of the installation.
40 % To typeset the comments in this file, create a small
41 % file ltxcheck.drv that looks like the following (without the %)
43 % \documentclass{ltxdoc}
44 % \begin{document}
45 % \DocInput{ltxcheck.tex}
46 % \end{document}
48 % and process `latex ltxcheck.drv'.
50 \NeedsTeXFormat{LaTeX2e}[1997/06/01]
51 % \fi
53 % \StopEventually{}
54 % \CheckSum{643}
56 % \changes{v1.0c}{1994/03/15}
57 % {Add \cmd{\NeedsTeXFormat}}
58 % \changes{v1.0t}{1996/09/25}
59 % {Move ltxcheck to separate file}
60 % \changes{v1.0v}{1996/11/20}
61 % {lowercase filenames /1044}
62 % \changes{v1.1d}{2004/02/11}
63 % {Remove pict2e.sty}
65 \ProvidesFile{ltxcheck.tex}[2004/02/11 v1.1d LaTeX check file (DPC)]
67 % \GetFileInfo{ltxcheck.tex}
68 % \title{\textsf{ltxcheck}: The \LaTeX\ test program\thanks
69 % {version~\fileversion, dated \filedate}}
70 % \author{David Carlisle}
71 % \date{\filedate}
72 % \maketitle
74 % This file, |ltxcheck.tex| should be run after \LaTeX\ has been
75 % installed. It Checks some system dependent parts of \LaTeX\ are set up
76 % correctly for your system, and checks that the main input files and
77 % fonts that \LaTeX\ uses are present and can be found by \LaTeX.
79 % \begin{macrocode}
80 \makeatletter
81 % \end{macrocode}
83 % \begin{macrocode}
84 \typeout{^^J%
85 LaTeX2e installation check file^^J%
86 ===============================}
87 % \end{macrocode}
89 % \begin{macrocode}
90 \typeout{^^J%
91 Before running this file through LaTeX2e you should have installed^^J%
92 the Standard LaTeX files in their final `system' directories.^^J%
93 This file should *not* be run in a directory that contains article.cls}
94 % \end{macrocode}
96 % |\pause| just slows things down so that not too much appears on the
97 % screen at once, or scrolls off the top.
98 % \begin{macrocode}
99 \def\pause{%
100 \typeout{}%
101 \message{** Hit return to continue: }%
102 \read -1 to \xxx
103 \typeout{}}
104 % \end{macrocode}
106 % \begin{macrocode}
107 \typeout{^^J%
108 After certain tests, LaTeX will pause so that you can read the^^J%
109 output without it scrolling off the screen.^^J%
110 When you are ready just hit <return> and LaTeX will continue.^^J%
111 When LaTeX pauses, you will see a prompt like the one below.^^J^^J%
112 If a test fails, a message will be displayed followed by^^J%
113 an error message starting `! BAD'.^^J%
114 LaTeX will quit if you try to scroll past some error messages.}
115 \pause
116 % \end{macrocode}
118 % Check that the system has defined |\@currdir| correctly
119 % by writing an |.aux| file and then trying to find it again.
120 % \begin{macrocode}
121 \typeout{^^J%
122 Checking the current directory syntax^^J%
123 =====================================}
124 % \end{macrocode}
126 % \begin{macrocode}
127 \newif\iftest\testfalse
128 % \end{macrocode}
130 % \begin{macrocode}
131 \ifx\@currdir\@undefined
132 \typeout{^^J%
133 \noexpand\@currdir is undefined !!^^J%
134 Something is seriously wrong with the LaTeX2e initialisation.^^J%
135 Either you have corrupted files or this is a LaTeX bug.}
136 \errmessage{BAD LaTeX2e system!!}
137 \expandafter\@@end
139 % \end{macrocode}
141 % \begin{macrocode}
142 \ifx\@currdir\@empty
143 \typeout{^^J%
144 \noexpand\@currdir is defined to be empty.^^J%
145 This means that LaTeX can not distinguish between a file^^J%
146 aaaaa.tex^^J%
147 that exists in the current directory, and a file aaaaa.tex^^J%
148 in another directory.^^J%
149 It may be that this Operating System has no concept of `directory'^^J%
150 in which case the setting is correct. If however it is possible to^^J%
151 uniquely refer to a file then a suitable definition of
152 \noexpand\@currdir^^J%
153 should be added to texsys.cfg, and the format remade.}
154 \pause
155 % \end{macrocode}
157 % \begin{macrocode}
158 \else
159 \typeout{^^J%
160 \noexpand\@currdir is defined as
161 \expandafter\strip@prefix\meaning\@currdir^^J%
162 (Testing...)}
163 % \end{macrocode}
165 % \begin{macrocode}
166 \begingroup
167 \endlinechar=-1
168 \count@\time
169 \divide\count@ 60
170 \count2=-\count@
171 \multiply\count2 60
172 \advance\count2 \time
173 \edef\today{%
174 \the\year/\two@digits{\the\month}/\two@digits{\the\day}:%
175 \two@digits{\the\count@}:\two@digits{\the\count2}}
176 % \end{macrocode}
178 % \begin{macrocode}
179 \immediate\openout15=ltxcheck.aux
180 \immediate\write15{\today^^J}
181 \immediate\closeout15 %
182 % \end{macrocode}
184 % \begin{macrocode}
185 \openin\@inputcheck\@currdir ltxcheck.aux %
186 \ifeof\@inputcheck
187 \typeout{\@currdir ltxcheck.aux not found}%
188 \else
189 \read\@inputcheck to \reserved@a
190 \ifx\reserved@a\today
191 \typeout{\@currdir ltxcheck.aux found}
192 \testtrue
193 \else
194 \typeout{BAD: old file \reserved@a(should be \today)}%
195 \testfalse
198 \closein\@inputcheck
199 % \end{macrocode}
201 % \begin{macrocode}
202 \iftest
203 \endgroup
204 \typeout{\noexpand \@currdir OK!}
205 \else
206 \endgroup
207 % \end{macrocode}
209 % \begin{macrocode}
210 \typeout{^^J%
211 The LaTeX2e installation has defined \noexpand\@currdir^^J%
212 to be \expandafter\strip@prefix\meaning\@currdir.^^J%
213 This appears to be incorrect.^^J%
214 You should add a correct definition to texsys.cfg^^J%
215 and rebuild the format.}
216 \errmessage{BAD LaTeX2e system!!}
217 \expandafter\expandafter\expandafter\@@end
219 \pause
220 % \end{macrocode}
222 % \begin{macrocode}
224 % \end{macrocode}
226 % \changes{v1.0k}{1995/09/27}
227 % {Check filename parser}
228 % Check the filename parser can at least cope with a simple
229 % name + extension, |article.cls|.
230 % \begin{macrocode}
231 \typeout{^^J%
232 Checking the filename parser^^J%
233 ============================}
234 % \end{macrocode}
236 % \begin{macrocode}
237 \filename@parse{article.cls}
238 \def\reserved@a{article}
239 % \end{macrocode}
241 % \begin{macrocode}
242 \testtrue
243 \ifx\filename@base\reserved@a
244 \ifx\filename@ext\@clsextension
245 \else
246 \testfalse
248 \else
249 \testfalse
251 \iftest
252 \typeout{filename parser OK!}\pause
253 \else
254 \typeout{^^J%
255 The LaTeX2e installation has defined \noexpand\filename@parse.^^J%
256 This appears to be incorrect.^^J%
257 You should remove the incorrect definition from texsys.cfg^^J%
258 and rebuild the format.}
259 \errmessage{BAD LaTeX2e system!!}
260 \expandafter\expandafter\expandafter\@@end
263 % \end{macrocode}
265 % Check the input path by looking for |article.cls|. If |article.cls|
266 % is in the current directory it would be found anyway, so first check
267 % it is not there.
268 % \begin{macrocode}
269 \typeout{^^J%
270 Checking the input path^^J%
271 =======================^^J}
272 % \end{macrocode}
274 % \begin{macrocode}
275 \begingroup
276 \let\input@path\@undefined
277 \ifx\@currdir\@empty\else
278 \IfFileExists{\@currdir article.cls}
279 {\typeout{%
280 article.cls appears to be in current directory!^^J^^J%
281 If this is the case, install article.cls into a^^J%
282 `standard input directory'^^J%
283 and copy ltxcheck.tex to another directory before^^J%
284 processing with LaTeX.^^J%
285 ^^J%
286 If article.cls is not in the current directory,^^J%
287 then you need to edit texsys.cfg.^^J%
288 Read the comments in that file. If nothing else works, add:^^J%
289 \string\let\string\@currdir\string\@empty^^J}%
290 \errhelp{Move files, or edit texsys.cfg}
291 \def\ArticleClassFoundInCurrentDirectory{%
292 This file should not be run in a `standard input directory'}
293 \errmessage{BAD: \ArticleClassFoundInCurrentDirectory}}
296 \endgroup
297 % \end{macrocode}
299 % \begin{macrocode}
300 \IfFileExists{article.cls}
301 {\typeout{input path OK!}}
302 {\typeout{^^J%
303 LaTeX claims that article.cls is not on the system.^^J%
304 Either LaTeX has been incorrectly installed, or the
305 \noexpand\input@path^^J%
306 is incorrect. A correct definition should be added to^^J%
307 texsys.cfg, and the format remade.}
308 \pause
309 \typeout{^^J%
310 Typical definitions of \noexpand\input@path include:^^J^^J%
311 \string\let\string\input@path=\noexpand\@undefined
312 (the default definition)^^J^^J%
313 \string\def\string\input@path{\@percentchar^^J
314 {/usr/lib/tex/inputs/} {/usr/local/lib/tex/inputs/} }^^J^^J%
315 \string\def\string\input@path{\@percentchar^^J
316 {c:/tex/inputs/} {a:/} }^^J^^J%
317 \string\def\string\input@path{\@percentchar^^J
318 {tex_inputs:} {SOMEDISK:[SOMEWHERE.TEX.INPUTS]} }^^J}%
319 \pause
320 \typeout{^^J%
321 Note that \noexpand\input@path should be undefined
322 unless your^^J%
323 TeX installation does not make
324 \noexpand\openin and \noexpand\input^^J%
325 search the same directories.^^J%
326 If \noexpand\input@path is defined, entries should be^^J%
327 in the same syntax as \noexpand\@currdir^^J%
328 ie full directory names that may be concatenated with the^^J%
329 basename (note the final / and ] in the above examples).^^J%
330 Some systems may need more complicated settings.^^J%
331 See texsys.cfg for more examples.^^J%
332 ! BAD \noexpand\input@path!!}
333 \@@end}%
334 \pause
335 % \end{macrocode}
337 % For versions prior to \TeX3 complain to the installer. (Although
338 % \LaTeX\ will work with these old \TeX\ versions).
339 % For versions between 3 and 3.14 check that \LaTeX\ is using the
340 % work-around for the |^^J| in |\message| bug.
341 % \begin{macrocode}
342 \typeout{^^J%
343 Checking the TeX version^^J%
344 ========================}
345 % \end{macrocode}
347 % \changes{v0.2j}{1994/02/25}
348 % {\cs{noboundary} is \cs{relax} not undef in TeX2 (initialised
349 % in 2e format)}
350 % \begin{macrocode}
351 \dimen@\ifx\@TeXversion\@undefined4\else\@TeXversion\fi\p@%
352 \ifx\noboundary\relax
353 \typeout{^^J%
354 This is TeX 2. You will not be able to use all the new features^^J%
355 of LaTeX2e with such an old TeX.^^J%
356 The current version (1995/12/11) is TeX 3.14159.^^J%
357 Consider upgrading your TeX.}
358 \ifdim\dimen@<3\p@\else
359 \errhelp{Check that texsys.cfg has not defined \@TeXversion}
360 \def\OldTeX{%
361 BAD: \noexpand\@TeXversion is incorrect: \meaning\@TeXversion}
362 \errmessage{\OldTeX}
364 \else
365 % \end{macrocode}
367 % \changes{v1.0h}{1994/10/11}
368 % {Check for TeX3.141}
369 % \begin{macrocode}
370 \ifdim\dimen@>3.14\p@
371 \typeout{This appears to be a recent version of TeX!^^J%
372 If the following `lines' all appear on the same line,^^J%
373 separated by \string^\string^J %
374 then there has been an incorrect installation.}
375 \else
376 \typeout{^^J%
377 This appears to be a TeX between 3.0 and 3.14^^J%
378 but the current version (1995/12/11) is TeX 3.14159^^J%
379 consider upgrading your TeX.^^J%
380 The following `lines' will appear on the same line,^^J%
381 separated by \string^\string^J;^^J%
382 the same problem may affect other messages from LaTeX.}
384 % \end{macrocode}
386 % \begin{macrocode}
387 \message{line1^^Jline2^^Jline3}
388 \pause
389 % \end{macrocode}
391 % \begin{macrocode}
393 % \end{macrocode}
396 % To check that the \LaTeX\ fonts have been installed, the well known
397 % trick of going into |\batchmode|, and testing for |\nullfont| is used.
398 % Not all fonts are tested, just a representative sample.
399 % \begin{macrocode}
400 \typeout{^^J%
401 Checking fonts^^J%
402 =====================================}
403 % \end{macrocode}
404 % \changes{v1.0h}{1994/10/11}
405 % {Check for fonts}
406 % \begin{macrocode}
407 \def\checkfont#1{%
408 \batchmode
409 \font\test=#1\relax
410 \errorstopmode
411 \ifx\test\nullfont
412 \typeout{\@spaces! BAD: #1.tfm not found!}
413 \@tempswatrue
414 \else
415 \typeout{\@spaces OK: #1.tfm found}
416 \fi}
417 % \end{macrocode}
419 % \begin{macrocode}
420 \typeout{^^JChecking Standard TeX fonts...}
421 \@tempswafalse
422 \checkfont{cmr10}
423 \checkfont{cmr12}
424 \checkfont{cmmi10}
425 \if@tempswa
426 \errhelp{Obtain a complete standard TeX font distribution.}
427 \errmessage{BAD: Missing Standard Fonts}
428 \else
429 % \end{macrocode}
430 % \changes{v1.0s}{1996/07/19}
431 % {Check for bad cm fonts}
432 % \begin{macrocode}
433 \font\testcm=cmr10
434 \testcm
435 \setbox0\hbox{h{}o}
436 \setbox2=\hbox{ho}
437 \ifdim\wd0=\wd2
438 \typeout{^^J%
439 OK: correct Computer Modern fonts installed.}%
440 \else
441 \typeout{^^J%
442 An unauthorised and incompatible release of the^^J%
443 Computer Modern fonts has been installed on your system.^^J%
444 The official fonts may be obtained from CTAN archives in:^^J%
445 tex-archive/fonts/cm^^J%
446 For further details see Donald Knuth's Home page:^^J%
447 http://www-cs-faculty.stanford.edu/\protect~knuth/cm.html}%
448 \errhelp{Re-install Computer Modern fonts, and then rebuild LaTeX}
449 \errmessage{BAD Standard fonts!!}
451 % \end{macrocode}
453 % \begin{macrocode}
454 \pause
456 % \end{macrocode}
458 % \begin{macrocode}
459 \typeout{^^JChecking LaTeX Picture Mode fonts...}
460 \@tempswafalse
461 \checkfont{lcircle10}
462 \checkfont{lcirclew10}
463 \if@tempswa
464 \@tempswafalse
465 \checkfont{circle10}
466 \checkfont{circlew10}
467 \if@tempswa
468 \typeout{^^J! BAD: You do not have the picture mode fonts:^^J%
469 lcircle10 and lcirclew10}
470 \else
471 \typeout{^^J! BAD:%
472 You have the picture mode fonts with their old names:^^J%
473 circle10 and circlew10 have been renamed to^^J%
474 lcircle10 and lcirclew10}
476 \errhelp{Obtain a complete standard LaTeX font distribution.}
477 \errmessage{BAD: Missing LaTeX Fonts}
478 \else
479 \pause
481 % \end{macrocode}
483 % \begin{macrocode}
484 \typeout{^^JChecking Extra LaTeX Computer Modern fonts...}
485 \@tempswafalse
486 \checkfont{cmmib5}
487 \checkfont{cmmib7}
488 \checkfont{cmex7}
489 \if@tempswa
490 \typeout{! BAD:^^J%
491 LaTeX2e uses a few `extra' Computer Modern fonts produced by^^J%
492 The American Mathematical Society.^^J%
493 If you install The AMSFONTS font collection, then these, and other,^^J%
494 fonts will be available to LaTeX.^^J%
495 Although installing AMSFONTS is recommended, LaTeX does not require^^J%
496 The full collection; you may obtain a minimal set of extra LaTeX^^J%
497 fonts from any CTAN archive, in: tex-archive/macros/latex/fonts/}
498 \errhelp{Obtain LaTeX fonts or the AMSFONTS collection.}
499 \errmessage{BAD: Missing LaTeX Fonts}
500 \else
501 \pause
503 % \end{macrocode}
505 % \changes{v1.0k}{1995/09/27}
506 % {Check for dc and tc fonts}
507 % \changes{v1.1a}{1997/01/14}
508 % {Check for ec fonts}
509 % \changes{v1.1c}{1997/06/10}
510 % {Modify messages now ec released}
511 % \begin{macrocode}
512 \typeout{^^JChecking T1 encoded Computer Modern (dc & ec) fonts...}
513 % \end{macrocode}
514 % \changes{v1.0m}{1995/10/31}
515 % {Check the T1 fd files match the dc release.}
516 % This command looks for the string |dcr17<| in the font tables for
517 % T1/cmr. If it is there, then the T1 fd files match the old dc fonts,
518 % for dc release 1.1 or earlier. If not then presumably new fd files
519 % are being used.
520 % \begin{macrocode}
521 \def\dcrseventeen{%
522 \begingroup
523 \escapechar-1
524 \xdef\reserved@a{%
525 \noexpand\in@
526 {\expandafter\string\csname dcr17\endcsname<}%
527 {\expandafter\expandafter\expandafter
528 \string\csname T1/cmr/m/n\endcsname<}}%
529 \endgroup
530 \reserved@a}
531 % \end{macrocode}
532 % Similarly this command looks for the string |ecrm| in the font tables
533 % for T1/cmr. If it is there, then the T1 fd files match the ec fonts,
534 % for ec release 1.0 or later.
535 % \begin{macrocode}
536 \def\ecrm{%
537 \begingroup
538 \escapechar-1
539 \xdef\reserved@a{%
540 \noexpand\in@
541 {\expandafter\string\csname ecrm\endcsname}%
542 {\expandafter\expandafter\expandafter
543 \string\csname T1/cmr/m/n\endcsname}}%
544 \endgroup
545 \reserved@a}
546 % \end{macrocode}
547 % \changes{v1.0o}{1995/11/14}
548 % {dont produce a BAD message if just one set of dc fonts is missing}
549 % Remove the ``! BAD'' typeout while checking for dc fonts so
550 % as not to worry sites with just the new ones.
551 % \begin{macrocode}
552 \def\checkfont#1{%
553 \batchmode
554 \font\test=#1\relax
555 \errorstopmode
556 \ifx\test\nullfont
557 \typeout{\@spaces\@spaces #1.tfm not found}
558 \@tempswatrue
559 \else
560 \typeout{\@spaces OK: #1.tfm found}
561 \fi}
562 % \end{macrocode}
565 % \begin{macrocode}
566 \@tempswafalse
567 \checkfont{ecrm1000}
568 \if@tempswa
569 % \end{macrocode}
570 % No ec fonts. Check the state of the dc fonts.
572 % \begin{macrocode}
573 \typeout{No EC fonts found, checking DC fonts...}
574 \@tempswafalse
575 \checkfont{dcr10}
576 \if@tempswa
577 \@tempswafalse
578 \checkfont{tcr1000}
579 \if@tempswa
580 % \end{macrocode}
581 % No dc fonts at all.
582 % \begin{macrocode}
583 \typeout{^^J%
584 ! BAD: No ec fonts found!!^^J%
585 LaTeX does not require the use of ec fonts^^J%
586 however they are strongly recommended.^^J%
587 The ec fonts are available in a more natural range of sizes^^J%
588 and allow better hyphenation and kerning than the^^J%
589 old fonts such as cmr10.^^J%
590 These ec fonts may be obtained from CTAN archives, in:^^J%
591 tex-archive/fonts/ec}
592 \else
593 % \end{macrocode}
594 % No old dc fonts, but new ones installed.
595 % First check whether the latest patch has been applied.
596 % \changes{v1.0p}{1995/12/11}
597 % {Check for dc fonts 1.2 patch level 1 (Bernd Raichle) /2003}
598 % \changes{v1.0q}{1996/06/03}
599 % {Check for dc fonts 1.3}
600 % \changes{v1.1b}{1997/01/24}
601 % {extra closing brace removed from this branch}
602 % \begin{macrocode}
603 \font\testdc=dcr1000
604 \testdc
605 \setbox0\hbox{A{}y}
606 \setbox2=\hbox{Ay}
607 \ifdim\wd0>\wd2
608 \typeout{^^J%
609 ! BAD: dc fonts release 1.3 installed^^J%
610 The dc fonts are now replaced by the ec fonts^^J%
611 These ec fonts may be obtained from CTAN archives, in:^^J%
612 tex-archive/fonts/ec.}%
613 \else
614 \typeout{^^J%
615 ! BAD dc fonts 1.2 or older installed.^^J%
616 The dc fonts are now replaced by the ec fonts^^J%
617 These ec fonts may be obtained from CTAN archives, in:^^J%
618 tex-archive/fonts/ec.}%
620 \dcrseventeen
621 \ifin@
622 \typeout{^^J%
623 The fd files for the obsolete release 1.1 of the^^J%
624 dc fonts have been loaded into the LaTeX format.^^J%
625 However, you appear to have at least release 1.2 of the dc fonts.^^J%
626 You should generate suitable fd files by running:^^J%
627 latex newdc.ins^^J%
628 and then rebuild the format by rerunning:^^J%
629 initex latex.ltx}
630 \errmessage{BAD LaTeX2e system!!}
631 \else
632 \typeout{^^J%
633 DC fonts OK!}
636 \else
637 \@tempswafalse
638 \checkfont{tcr1000}
639 \if@tempswa
640 % \end{macrocode}
641 % Old DC fonts, but no new ones.
642 % \begin{macrocode}
643 \typeout{^^J%
644 Old dc fonts found!!^^J%
645 Only the original dc fonts are on your system.^^J%
646 Later releases of the dc/ec fonts introduced^^J%
647 many improvements and are strongly recommended.^^J%
648 They may be obtained from CTAN archives, in:^^J%
649 tex-archive/fonts/ec.}
650 \pause
651 \dcrseventeen
652 \ifin@\else
653 \typeout{^^J%
654 The LaTeX2e installation has installed fd files for^^J%
655 release 1.2 (or later) of the dc fonts.^^J%
656 However, you appear to have only release 1.1 of these fonts.^^J%
657 You must now generate the correct fd files by running:^^J%
658 latex olddc.ins^^J%
659 and then rebuild the format by rerunning:^^J%
660 initex latex.ltx}
661 \errmessage{BAD LaTeX2e system!!}
663 \else
664 % \end{macrocode}
665 % Both old and new DC fonts.
666 % \begin{macrocode}
667 \font\testdc=dcr1000
668 \testdc
669 \setbox0\hbox{A{}y}
670 \setbox2=\hbox{Ay}
671 \ifdim\wd0>\wd2
672 \typeout{^^J%
673 ! BAD: dc fonts release 1.3 installed^^J%
674 The dc fonts are now replaced by the ec fonts^^J%
675 These ec fonts may be obtained from CTAN archives, in:^^J%
676 tex-archive/fonts/ec.}%
677 \else
678 \typeout{^^J%
679 ! BAD dc fonts 1.2 or older installed.^^J%
680 The dc fonts are now replaced by the ec fonts^^J%
681 These ec fonts may be obtained from CTAN archives, in:^^J%
682 tex-archive/fonts/ec.}%
684 % \end{macrocode}
686 % \begin{macrocode}
687 \dcrseventeen
688 \ifin@
689 \typeout{^^J%
690 The fd files for the obsolete release 1.1 of the^^J%
691 dc fonts have been loaded into the LaTeX format.^^J%
692 However, you appear to have at least release 1.2 of the dcfonts.^^J%
693 You should use generate suitable fd files by running:^^J%
694 latex newdc.ins^^J%
695 and then rebuild the format by running:^^J%
696 initex latex.ltx^^J%
697 Otherwise LaTeX will always use the older fonts.}
698 \errmessage{BAD LaTeX2e system!!}
699 \else
700 \ecrm
701 \ifin@
702 \typeout{^^J%
703 The fd files for the new EC fonts have been loaded into^^J%
704 the LaTeX format.^^J%
705 However, these fonts are not found by LaTeX.^^J%
706 You should either install the ec fonts, or generate suitable^^J%
707 fd files for the dc fonts by running: \space latex newdc.ins^^J%
708 and then rebuild the format by running: \space initex latex.ltx}
709 \errmessage{BAD LaTeX2e system!!}
710 \else
711 \typeout{^^J%
712 DC fonts OK!^^J%
713 (Both old and new dc font releases are installed.)^^J%
714 Note that the dc fonts are expected to be replaced by ec^^J%
715 in January 1997.}
720 % \end{macrocode}
721 % Else EC fonts are found, so check whether LaTeX is going to use them.
723 % \begin{macrocode}
724 \else
725 % \end{macrocode}
727 % \begin{macrocode}
728 \ecrm
729 \ifin@
730 \typeout{EC fonts OK!}
731 \else
732 \typeout{%
733 EC fonts installed but LaTeX is still using dc fonts.^^J%
734 You may want to run ec.ins and remake the LaTeX format}
736 % \end{macrocode}
738 % \begin{macrocode}
740 \pause
741 % \end{macrocode}
745 % The following files will be unpacked by running iniTeX on
746 % |unpack.ins|.
748 % \begin{macrocode}
749 \typeout{^^JChecking LaTeX input files...^^J}
750 % \end{macrocode}
752 % If the specified file is not there, add it to the list.
753 % \begin{macrocode}
754 \def\checkfile#1{%
755 \IfFileExists{#1}{}{\edef\missingfile{\missingfile#1, }}}
756 % \end{macrocode}
758 % Report any missing files in the last batch tested.
759 % \begin{macrocode}
760 \def\filereport#1#2{%
761 \ifx\missingfile\@empty
762 \typeout{^^J%
763 OK: The #1 files such as #2^^J%
764 are accessible to LaTeX.}
765 \pause
766 \expandafter\@gobbletwo
767 \else
768 \typeout{^^J%
769 ! BAD: The #1 files:^^J%
770 \missingfile^^J%
771 are not accessible to LaTeX.}
772 \errhelp{Check the installation!}
773 \let\missingfile\@empty
775 \errmessage{Missing LaTeX files}}
776 % \end{macrocode}
778 % Kernel files:
779 % \begin{macrocode}
780 \let\missingfile\@empty
781 % \end{macrocode}
783 % \begin{macrocode}
784 \checkfile{hyphen.ltx}
785 \checkfile{fontmath.ltx}
786 \checkfile{fonttext.ltx}
787 \checkfile{preload.ltx}
788 \checkfile{texsys.cfg}
789 \checkfile{latex.ltx}
790 % \end{macrocode}
792 % Don't use |\filereport| here as the message is rather different
793 % as the |.ltx| files don't really need to be available to \LaTeX\
794 % once the format is made.
795 % \begin{macrocode}
796 \ifx\missingfile\@empty
797 \typeout{^^J%
798 OK: The files such as latex.ltx that are used to make^^J%
799 the format are accessible to LaTeX.}
800 \else
801 \typeout{^^J%
802 The files:^^J%
803 \missingfile^^J%
804 that are used to make the format are not accessible to LaTeX.^^J%
805 This is OK, but you will need those files if you need to remake the^^J%
806 the format later.}
808 \pause
809 \let\missingfile\@empty
810 % \end{macrocode}
812 % Class files and class options:
813 % \begin{macrocode}}
814 \checkfile{article.cls}
815 \checkfile{report.cls}
816 \checkfile{book.cls}
817 \checkfile{letter.cls}
818 \checkfile{ltxdoc.cls}
819 \checkfile{proc.cls}
820 \checkfile{slides.cls}
821 \checkfile{bk10.clo}
822 \checkfile{bk11.clo}
823 \checkfile{bk12.clo}
824 \checkfile{size10.clo}
825 \checkfile{size11.clo}
826 \checkfile{size12.clo}
827 \checkfile{fleqn.clo}
828 \checkfile{leqno.clo}
829 % \end{macrocode}
831 % \begin{macrocode}
832 \filereport{main class}{article.cls}
833 % \end{macrocode}
835 % Package files:
836 % \begin{macrocode}
837 \checkfile{alltt.sty}
838 \checkfile{doc.sty}
839 \checkfile{exscale.sty}
840 \checkfile{flafter.sty}
841 \checkfile{fontenc.sty}
842 \checkfile{graphpap.sty}
843 \checkfile{ifthen.sty}
844 \checkfile{inputenc.sty}
845 \checkfile{latexsym.sty}
846 \checkfile{makeidx.sty}
847 \checkfile{newlfont.sty}
848 \checkfile{oldlfont.sty}
849 \checkfile{shortvrb.sty}
850 \checkfile{showidx.sty}
851 \checkfile{slides.sty}
852 \checkfile{syntonly.sty}
853 \checkfile{tracefnt.sty}
854 % \end{macrocode}
857 % \begin{macrocode}
858 \filereport{main package}{ifthen.sty}
859 % \end{macrocode}
861 % Font definition (.fd) files:
862 % \begin{macrocode}}
863 \checkfile{omlcmm.fd}
864 \checkfile{omlcmr.fd}
865 \checkfile{omllcmm.fd}
866 \checkfile{omscmr.fd}
867 \checkfile{omscmsy.fd}
868 \checkfile{omslcmsy.fd}
869 \checkfile{omxcmex.fd}
870 \checkfile{omxlcmex.fd}
871 \checkfile{ot1cmdh.fd}
872 \checkfile{ot1cmfib.fd}
873 \checkfile{ot1cmfr.fd}
874 \checkfile{ot1cmr.fd}
875 \checkfile{ot1cmss.fd}
876 \checkfile{ot1cmtt.fd}
877 \checkfile{ot1cmvtt.fd}
878 \checkfile{ot1lcmss.fd}
879 \checkfile{ot1lcmtt.fd}
880 \checkfile{t1cmdh.fd}
881 \checkfile{t1cmfib.fd}
882 \checkfile{t1cmfr.fd}
883 \checkfile{t1cmr.fd}
884 \checkfile{t1cmss.fd}
885 \checkfile{t1cmtt.fd}
886 \checkfile{t1cmvtt.fd}
887 \checkfile{ts1cmr.fd}
888 \checkfile{ts1cmss.fd}
889 \checkfile{ts1cmtt.fd}
890 \checkfile{ts1cmvtt.fd}
891 \checkfile{ucmr.fd}
892 \checkfile{ucmss.fd}
893 \checkfile{ucmtt.fd}
894 \checkfile{ullasy.fd}
895 \checkfile{ulasy.fd}
896 % \end{macrocode}
899 % \begin{macrocode}
900 \filereport{font definition}{t1cmr.fd}
901 % \end{macrocode}
903 % Font encoding files:
904 % \begin{macrocode}
905 \checkfile{t1enc.def}
906 \checkfile{ot1enc.def}
907 \checkfile{omsenc.def}
908 \checkfile{omlenc.def}
909 % \end{macrocode}
912 % \begin{macrocode}
913 \filereport{font encoding}{t1enc.def}
914 % \end{macrocode}
916 % Input encoding files:
917 % \begin{macrocode}
918 \checkfile{ascii.def}
919 \checkfile{latin1.def}
920 \checkfile{latin2.def}
921 \checkfile{latin3.def}
922 \checkfile{latin5.def}
923 \checkfile{cp850.def}
924 \checkfile{cp852.def}
925 \checkfile{cp865.def}
926 \checkfile{cp437.def}
927 \checkfile{cp437de.def}
928 \checkfile{applemac.def}
929 \checkfile{next.def}
930 \checkfile{ansinew.def}
931 % \end{macrocode}
933 % \begin{macrocode}
934 \filereport{input encoding}{latin1.def}
935 % \end{macrocode}
937 % Compatibility files:
938 % \begin{macrocode}
939 \checkfile{article.sty}
940 \checkfile{book.sty}
941 \checkfile{letter.sty}
942 \checkfile{proc.sty}
943 \checkfile{report.sty}
944 \checkfile{fleqn.sty}
945 \checkfile{leqno.sty}
946 \checkfile{openbib.sty}
947 \checkfile{latex209.def}
948 % \end{macrocode}
951 % \begin{macrocode}
952 \filereport{compatibility mode}{article.sty}
953 % \end{macrocode}
955 % Other files:
956 % \begin{macrocode}
957 \checkfile{bezier.sty}
958 \checkfile{docstrip.tex}
959 \checkfile{slides.def}
960 \checkfile{sfonts.def}
961 \checkfile{t1enc.sty}
962 % \end{macrocode}
964 % \begin{macrocode}
965 \filereport{remaining}{sfonts.def}
966 % \end{macrocode}
968 % \begin{macrocode}
969 \@@end
970 % \end{macrocode}
972 % \Finale