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
22 % Version 1.0b, 2016/02/12 DPC don't call \CTable by default.
24 \def\fileversion{v1.0c
}
25 \def\filedate{1994/
01/
19}
27 % This file should not be used as a package or class file,
28 % it should be \input.
30 % The scope of this \makeatletter will then be the rest of the
31 % document. Put TeX into scroll mode, and stop it showing the
32 % implementation details of macros in error messages.
38 % Start the test, after the optional \documentclass (or \documentstyle)
39 % \begin{document} commands with \START. All lines in the .log file
40 % before this will be ignored. It also prints a docstrip-style
41 % character table in the .tlg file so the .tlg file can easily be
42 % checked for email translations.
44 \def\START{\typeout{START-TEST-LOG^^J^^J
%
45 This is a generated file for the LaTeX
2.09 validation system.
%
46 ^^J^^JDon't change this file in any respect.
%
51 \catcode`\^^A=
\catcode`\%
56 ^^
\endlinechar=`^^\^^J
60 %% {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
61 %% 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
62 %% Digits \0\1\2\3\4\5\6\7\8\9
63 %% Exclamation \! Double quote \" Hash (number) \#
64 %% Dollar \$ Percent \% Ampersand \&
65 %% Acute accent \' Left paren \( Right paren \)
66 %% Asterisk \* Plus \+ Comma \,
67 %% Minus \- Point \. Solidus \/
68 %% Colon \: Semicolon \; Less than \<
69 %% Equals \= Greater than \> Question mark \?
70 %% Commercial at \@ Left bracket \[ Backslash \\
71 %% Right bracket \] Circumflex \^ Underscore \_
72 %% Grave accent \` Left brace \{ Vertical bar \|
73 %% Right brace \} Tilde \~}
78 % The test should end with
79 % \END or \end{document}
82 %\let\@ED=\enddocument
83 \def\END{\typeout{END-TEST-LOG
}\@@@end
}
87 % After the \START should come declarations of the format and style
90 \def\FORMAT#1{\typeout{Format:
#1}%
91 \def\@tempa
{#1}\ifx\@tempa\@EJ
\else
92 \OMIT\@warning
{Declared format
#1,^^JActual format \@EJ
}\TIMO\fi}
94 % The old version got this information from everyjob,
95 % but that does not work with LaTeX2e as \everyjob is cleared.
96 \edef\@EJ
{\fmtname <
\fmtversion>
}
99 \def\AUTHOR#1{\typeout{Author:
#1}}
100 \def\ADDRESS#1{\typeout{Address:
#1}}
102 % Not all packages declare themselves to the log file, and we can not
103 % rely on TeX`s output as it includes full path names, and does not
104 % include version numbers etc. So for each package included give a
105 % declaration like: \PACKAGES{array v2.0d}
107 \def\STYLE#1{\typeout{Main Style:
#1}}%
108 \def\STYLEOPTIONS#1{\typeout{Style Options:
#1}}
111 % If The class or package is loaded with options, you may
112 % specify the options in the \CLASS (\PACKAGE) declaration. eg:
114 % \CLASS[german,a4page]{article v2.0 1994/01/02}
115 % \PACKAGE{ifthen v2.2 1993/11/12}
116 % \PACKAGE[dvips]{graphics v 3.8 1994/02/02}
118 \def\CLASS{\@ifnextchar
[\OPTCLASS\XCLASS}
119 \def\OPTCLASS[#1]#2{%
120 \typeout{Main Class:
#2^^J\@spaces Options:
#1}}
122 \typeout{Main Class:
#1}}
124 \def\PACKAGE{\@ifnextchar
[\OPTPACKAGE\XPACKAGE}
125 \def\OPTPACKAGE[#1]#2{%
126 \typeout{Package:
#2^^J\@spaces Options:
#1}}
128 \typeout{Package:
#1}}
132 % LaTeX2e always uses NFSS2 so new test files need not use
133 % \FONTSELECTION but it is retained for compatibility for test files
134 % written for 209/NFSS1.
136 \def\FONTSELECTION#1{%
137 \OMIT\@@warning
{\noexpand\FONTSELECTION obsolete.^^J
%
138 LaTeX2e always uses NFSS2
}\TIMO
139 \typeout{Font Selection:
#1}}
143 % Surround commands which produce irrelevant lines in the .log file by
147 \def\OMIT{\typeout{OMIT
}}
148 \def\TIMO{\typeout{TIMO
}}
150 % After the above declarations, and before the main tests, you may
151 % optionally `declare' all the commands in the `module' that you are
152 % about to test. These commands will be registered as defined,
153 % undefined or relaxed (ie \let to \relax). You may wish to declare
154 % commands not currently implemented, so that if they are added at a
155 % later stage, the test will fail, reminding someone to document the
156 % fact that the user interface has changed. So if you are testing
157 % array and tabular environments, you may wish do declare
158 % \extrarowheight. This is undefined in the curent latex, but would
159 % become defined if Mittelbach's array.sty was incorporated into
162 \def\declare@command
#1{%
163 \ifx#1\@undefined
\typeout{Undefined
\string#1}\else
164 \ifx#1\relax\typeout{Relaxed
\space\space\string#1}\else
165 \typeout{Defined
\space\space\string#1}\fi\fi}