Next: Loading files Up: Commands for class and Previous: Commands for class and Contents

## Identification

The first group of commands discussed here are those used to identify your class or package file.

`\NeedsTeXFormat` `{`<format-name>`}` `[`<release-date>`]`

This command tells TEX that this file should be processed using a format with name <format-name>. You can use the optional argument <release-date> to further specify the earliest release date of the format that is needed. When the release date of the format is older than the one specified a warning will be generated. The standard <format-name> is `LaTeX2e`. The date, if present, must be in the form YYYY/MM/DD.

Example:

       \NeedsTeXFormat{LaTeX2e}[1994/06/01]

`\ProvidesClass` `{`<class-name>`}` `[`<release-info>`]`
`\ProvidesPackage` `{`<package-name>`}` `[`<release-info>`]`

This declares that the current file contains the definitions for the document class <class-name> or package <package-name>.

The optional <release-info>, if used, must contain:

- the release date of this version of the file, in the form YYYY/MM/DD;
- optionally followed by a space and a short description, possibly including a version number.

The above syntax must be followed exactly so that this information can be used by `\LoadClass` or `\documentclass` (for classes) or `\RequirePackage` or `\usepackage` (for packages) to test that the release is not too old.

The whole of this <release-info> information is displayed by `\listfiles` and should therefore not be too long.

Example:

       \ProvidesClass{article}[1994/06/01 v1.0 Standard LaTeX class]
       \ProvidesPackage{ifthen}[1994/06/01 v1.0 Standard LaTeX package]

`\ProvidesFile` `{`<file-name>`}` `[`<release-info>`]`

This is similar to the two previous commands except that here the full filename, including the extension, must be given. It is used for declaring any files other than main class and package files.

Example:

       \ProvidesFile{T1enc.def}[1994/06/01 v1.0 Standard LaTeX file]

Note that the phrase `Standard LaTeX` must not be used in the identification banner of any file other than those in the standard LATEX distribution.

Next: Loading files Up: Commands for class and Previous: Commands for class and Contents