1 % \iffalse meta-comment
3 % Copyright (C) 1992 by David Carlisle, Frank Mittelbach.
6 % This file is part of the validate package.
10 % You are not allowed to change this file. In case of error
11 % write to the email address mentioned in the file readme.val.
18 % Version 0.0, 28 May 1992
19 % Version 0.1, 18 Jun 1992 FMi small updates
20 % Version 1.0a, 28 Jun 1992 FMi small updates for distribution
21 % Version 1.0b, 1994/12/08 DPC update for LaTeX2e
23 \def\fileversion{v1.0c
}
24 \def\filedate{1994/
01/
19}
26 % This file should not be used as a package or class file,
27 % it should be \input.
29 % The scope of this \makeatletter will then be the rest of the
30 % document. Put TeX into scroll mode, and stop it showing the
31 % implementation details of macros in error messages.
37 % Start the test, after the optional \documentclass (or \documentstyle)
38 % \begin{document} commands with \START. All lines in the .log file
39 % before this will be ignored. It also prints a docstrip-style
40 % character table in the .tlg file so the .tlg file can easily be
41 % checked for email translations.
43 \def\START{\typeout{START-TEST-LOG^^J^^J
%
44 This is a generated file for the LaTeX
2.09 validation system.
%
45 ^^J^^JDon't change this file in any respect.
%
50 \catcode`\^^A=
\catcode`\%
55 ^^
\endlinechar=`^^\^^J
59 %% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
60 %% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
61 %% Digits \0\1\2\3\4\5\6\7\8\9
62 %% Exclamation \! Double quote \" Hash (number) \#
63 %% Dollar \$ Percent \% Ampersand \&
64 %% Acute accent \' Left paren \( Right paren \)
65 %% Asterisk \* Plus \+ Comma \,
66 %% Minus \- Point \. Solidus \/
67 %% Colon \: Semicolon \; Less than \<
68 %% Equals \= Greater than \> Question mark \?
69 %% Commercial at \@ Left bracket \[ Backslash \\
70 %% Right bracket \] Circumflex \^ Underscore \_
71 %% Grave accent \` Left brace \{ Vertical bar \|
72 %% Right brace \} Tilde \~}
77 % The test should end with
78 % \END or \end{document}
81 %\let\@ED=\enddocument
82 \def\END{\typeout{END-TEST-LOG
}\@@@end
}
86 % After the \START should come declarations of the format and style
89 \def\FORMAT#1{\typeout{Format:
#1}%
90 \def\@tempa
{#1}\ifx\@tempa\@EJ
\else
91 \OMIT\@warning
{Declared format
#1,^^JActual format \@EJ
}\TIMO\fi}
93 % The old version got this information from everyjob,
94 % but that does not work with LaTeX2e as \everyjob is cleared.
95 \edef\@EJ
{\fmtname <
\fmtversion>
}
98 \def\AUTHOR#1{\typeout{Author:
#1}}
99 \def\ADDRESS#1{\typeout{Address:
#1}}
101 % Not all packages declare themselves to the log file, and we can not
102 % rely on TeX`s output as it includes full path names, and does not
103 % include version numbers etc. So for each package included give a
104 % declaration like: \PACKAGES{array v2.0d}
106 \def\STYLE#1{\typeout{Main Style:
#1}}%
107 \def\STYLEOPTIONS#1{\typeout{Style Options:
#1}}
110 % If The class or package is loaded with options, you may
111 % specify the options in the \CLASS (\PACKAGE) declaration. eg:
113 % \CLASS[german,a4page]{article v2.0 1994/01/02}
114 % \PACKAGE{ifthen v2.2 1993/11/12}
115 % \PACKAGE[dvips]{graphics v 3.8 1994/02/02}
117 \def\CLASS{\@ifnextchar
[\OPTCLASS\XCLASS}
118 \def\OPTCLASS[#1]#2{%
119 \typeout{Main Class:
#2^^J\@spaces Options:
#1}}
121 \typeout{Main Class:
#1}}
123 \def\PACKAGE{\@ifnextchar
[\OPTPACKAGE\XPACKAGE}
124 \def\OPTPACKAGE[#1]#2{%
125 \typeout{Package:
#2^^J\@spaces Options:
#1}}
127 \typeout{Package:
#1}}
131 % LaTeX2e always uses NFSS2 so new test files need not use
132 % \FONTSELECTION but it is retained for compatibility for test files
133 % written for 209/NFSS1.
135 \def\FONTSELECTION#1{%
136 \OMIT\@@warning
{\noexpand\FONTSELECTION obsolete.^^J
%
137 LaTeX2e always uses NFSS2
}\TIMO
138 \typeout{Font Selection:
#1}}
142 % Surround commands which produce irrelevant lines in the .log file by
146 \def\OMIT{\typeout{OMIT
}}
147 \def\TIMO{\typeout{TIMO
}}
149 % After the above declarations, and before the main tests, you may
150 % optionally `declare' all the commands in the `module' that you are
151 % about to test. These commands will be registered as defined,
152 % undefined or relaxed (ie \let to \relax). You may wish to declare
153 % commands not currently implemented, so that if they are added at a
154 % later stage, the test will fail, reminding someone to document the
155 % fact that the user interface has changed. So if you are testing
156 % array and tabular environments, you may wish do declare
157 % \extrarowheight. This is undefined in the curent latex, but would
158 % become defined if Mittelbach's array.sty was incorporated into
161 \def\declare@command
#1{%
162 \ifx#1\@undefined
\typeout{Undefined
\string#1}\else
163 \ifx#1\relax\typeout{Relaxed
\space\space\string#1}\else
164 \typeout{Defined
\space\space\string#1}\fi\fi}