# Documentation Standards

This page will be used to provide standards to follow in the creation of documentation pages for PCGen.

## Documentation Page Standards

Each page should have information commented in the page which should contain the names of those contributing to the creation and maintenance of the page. There should also be a brief description of the purpose of the page.

## LST Tag Documentation Standards

The following is a generic example of the format to be used when documenting LST tags. You can copy the code and use it as a starting point for new entries if you wish. Following the entry will be a detailed explanation of how the format is should be used.

*** New

Tag Name: TAG:x

Variables Used (x): Text (Explanation)

Variables Used (x): Number (Explanation)

Variables Used (x): Property (Explanation)

What it does:

Explanation of what this tag does and how to use it.

Example:

`TAG:EXAMPLE`

Description of what this example tag does.

Where it is used:

Explanation of where this tag may be used in terms of lines and files.

### Anchors

If you examine the source code you will see that the first line of the entry contains a named anchor next to the horizontal rule. This is so the entry can be linked to from the index and other relevant entries. The anchor name should match the tag name up to the first variable minus any symbols used. See the source code for examples

### State of the entry

Some entries are labeled "New" or "Updated". It is useful to label new tags with the version number that the tag became active.

### Tag Name

The tag name is entered with the whole structure and syntax demonstrated. The variables are indicated using the letter x, y and z. You can use u, v, w and other letters if needed.

### Variables Used

All the variables that can be used are explained. Number variables can be standard numbers or formulas or other variables if the tags accepts them. Text variables accept text strings, names and other text forms. Property variables indicate that the variable must be one of several properties hardcoded into the program. These properties are usualy presented in a list following the variable.

### What it does

A complete explanation of the tag and its uses.

### Example

Examples of the tag in as many variations as needed to demonstrate the variety of uses of the tag.

### Where it is used

Some times it may be helpfull to indicate exactly where the tag may be used. Most times this is indicated by the page the entry is found on.