Document Classes and Options

In general the standard LATEX document-classes: article, report, book, letter, slides are translated by LATEX2HTML in the same way. Currently the only real difference is with the display of section-numbering, when the show_section_numbersshowsecnums switch is used, and when numbering of theorem-like environmentstheoremenvs is linked to section-numbering.

These differences are achieved using a mechanism that automatically loads a file: article.perl, report.perl, book.perl, letter.perl, slides.perl according to the requested document-class. These files contain code and are located in the styles/ directory. If a file of the same name exists in the working directory, this will be loaded instead.

Typically such files class.perl contain code to define subroutines or sets values for variables that will affect how certain translations are performed. There can be code that is executed only when specific class-options are specified along with the chosen document-class. For example, the foils.perl implementation of 's foils class defines code create a new sub-section for each `foil'. It also has code which allows LATEX2HTML to ignore those of 's special formatting commands that have no relevance when constructing an HTML page.


Any options given on the documentclass or documentstyle line may also cause a file containing code to be loaded. Such a file is named option.perl for the appropriate option. When such a file exists, in the local directory or in the styles/ directory, it typically contains code to define subroutines or set values for variables that will affect how certain translations are performed. There can be code that is executed only for specific document-classes.

Since the files for class-options are loaded after those for the document-class, it is possible for the option.perl file to contain code that overrides settings made within the document-class file.


If a file named class_option.perl happens to exist for a given combination of document-class class and class-option option, then this will be loaded. When such a file exists, reading and executing its contents is done, rather than executing any class_option specific information that may be contained in class.perl or option.perl .


Currently there are no special option or class-option files provided with the LATEX2HTML distribution. It is hoped that users will identify ways that specific features can be improved or adapted to specific classes of documents, and will write such files themselves, perhaps submitting them for general distribution.


Note: This mechanism for handling code specific to different document classes and class-options is more general than that employed by LATEX2e. New options can be defined for document-classes generally, or for specific classes, without the need to have corresponding .sty or .clo files. LATEX simply notes the existence of unusupported options—processing is not interrupted.