Package envmath

# Package `envmath`
This is version 2.5, last revised 2010/02/10; documentation date 2005/04/09.

Author: F. Bosisio
E-mail: `fbosisio@bigfoot.com`
CTAN location: `macros/latex/contrib/bosisio`

### Abstract

Documentation for the package `envmath`.

## Table of contents

- Introduction
- The options
- Math-mode environments
  - The `Equation` environment
  - The `MultiLine` equation environment
  - The `System` environment
  - The `EqSystem` environment
- Math-mode commands

## Introduction

This package provides some useful math-commands and enviroments, which are simpler to use and prettier then their standard LaTeX counterpart.

In particular some commands are redefined (see next section if you don't want them to be redefined), so care should be taken, expecially when including this package in an already existent LaTeX file.

The redefined commands are:
`\(`, `\)`, `\[`, `\]`, `\{` and `\}`.
The effect of ```\(` ...`\)`'' can still be achieved by the LaTeX equivalent commands ```\begin{math} ... \end{math}`'' or ```$...$`''.

Similarly, the effect of ```\[...\]`'' can be achieved by the LaTeX equivalent commands ```\begin{displaymath}...\end{displaymath}`'' or ```$$...$$`''.

The ```\{`'' and ```\}`'' commands are the more error-prone, since one may try to use ```\left\{`'', which now is incorrect, because the ```\{`'' command already contains a ```\left`'' declaration. In the rare occasions where a brace of normal size is needed, one can use the LaTeX commands ```\lbrace`'' and ```\rbrace`''.

Also the ```equation`'' environment has been changed, but it is completly compatible with the original definition, so it should be safe, perhaps except when the first character of the equation is an open square bracket or it is placed in a moving argument: in fact, the new version of this command is fragile, and this is true also for most of the commands defined by this package.

## The options

At now, five options are available with the `envmath` package.

The ```RedefEquation`''/```StdEquation`'' and ```RedefBrackets`''/```StdBrackets`'' options control whether the ```equation`'' environment and the brace commands ```\(`'', ```\)`'', ```\[`'', ```\]`'', ```\{`'' and ```\}`'' should be redefined or retain their original LaTeX meaning.

More precisely, ```RedefEquation`'' (default) redefines the ``equation'' environment to have an optional argument (used as a label), while ```StdEquation`'' leaves it unchanged. In the first case, the ``equation'' environment will be equivalent to the ``Equation'' environment (capitalized!) described below, whereas in the second case they will be different.

Similarly, the ```RedefBrackets`'' option (default) makes the bracket commands to be redefined, whilst ```StdBrackets`'' leave them their original meaning.

Also a ```Standard`'' option exists, which amounts to specify both the ```StdEquation`'' and ```StdBrackets`'' options, thus making the package fully standard, which may be useful when sending your LaTeX files to someone else.

## Math-mode environments

This package provides some math-mode environments, each with a ``*-form'' which does not generates numbers (or produce sub-numbering).

### The `Equation` environment

The ```Equation`'' environment has an optional argument which is used as a label to reference it.

    		\begin{Equation}[<label>]
    		        ...
    		\end{Equation}

If the ```RedefEquation`'' option is in effect (default), then the ```equation`'' environment is redefined to have the same optional argument as ```Equation`''.

There is also a *-form, which does not generate a number (so this *-form is really a ``displaymath'' and not an equation, but it has been added for simmetry and for making it easier to add or remove the number to a formula).

The *-form has an optional argument like the non-* form, which is disregarded by the environment and is added only for simmetry reasons.

    		\begin{equation*}[<disregarded-label>]
    		        ...
    		\end{equation*}

### The `MultiLine` equation environment

The ```MultiLine`'' environment is intended for formulas that don't fit on a single line, and so must be broken across lines.

As for the `Equation` environment above, it has an optional argument which is used as a label.

All the lines but the first are automatically indented by the lenght ```\MultiLineIndent`'', which is rougthly what one expects, but can be changed at any time by the user with ```\setlenght\MultiLineIndent{...}`''. You can also control the alignment of the continuation rows by placing an optional `&` in the first row: is such a case all the others line will not be indented by ```\MultiLineIndent`'' but wil behave as if there were an ampersand in front of them (i.e. they will be left-aligned at the right of the & in the first row).

Each line but the last must end with a ```\\`'' command (which can have an optional argument to add some vertical space between lines). When the line is broken in the middle (e.g. after a ``+'' sign) and not at the end (i.e. after a ``='' or similar), the *-form ```\\*`'' may be used to indicate the line-break, the difference being in an extra space added at the beginning of the next line. The width of a this space defaults to 1em and can be changed by the user with ```\setlenght\MultiLineStarIndent{...}`''.

    		\begin{MultiLine}[<label>]
    		      ... [&]= ... =   \\
    	        	     = ... +   \\*
    		               + ... = \\
    		             = ...
    		\end{MultiLine}

Also this environment has a *-form which differs only in that it does not generate an equation number.

    		\begin{MultiLine*}[<disregarded-label>]
    		      ... [&]= ... =   \\
    	        	     = ... +   \\*
    		               + ... = \\
    		             = ...
    		\end{MultiLine*}

### The `System` environment

The ```System`'' environment is used for grouping a set of equations together inside a left brace, with one only equation number.

Again there is an optional argument to indicate a label and each equation is separated by a ```\\`'' or ```\\*`'' command, as for the ```MultiLine`'' environment.

The rows (except the ones ended with the *-form ```\\*`'') may optionally contain one ```&`'', which is usually used when some text should be added to the equation.

    		\begin{System}[<label>]
    		    ... = ...   [& ...] \\
    		    ... = ... +         \\*
    		      + ...     [& ...] \\
    		    ... = ...   [& ...]
    		\end{System}

A *-form which does not generate any number is also provided.

    		\begin{System*}[<disregarded-label>]
    		    ... = ...   [& ...] \\
    		    ... = ... +         \\*
    		      + ...     [& ...] \\
    		    ... = ...   [& ...]
    		\end{System*}

### The `EqSystem` environment

The ```EqSystem`'' environment is used for grouping a set of equations together inside a left brace, each with its own equation number.

Again there is an optional argument to indicate a label and each equation is separated by a ```\\`'' or ```\\*`'' command.

The rows may optionally contain one ```&`'', which is usually used when some text should be added to the equation.

    		\begin{EqSystem}[<label>]
    		    ... = ...   [& ...] \\    % (1.1)
    		    ... = ... +         \\*   %
    		      + ...     [& ...] \\    % (1.2)
    		    ... = ...   [& ...]       % (1.3)
    		\end{EqSystem}

A *-form is also provided: it differs in that each equation is numbered with the same number but with a lowercase letter added, i.e. like (1.1a), (1.1b), etc. instead of (1.1), (1.2) and so on.

    		\begin{EqSystem*}[<label>]
    		    ... = ...   [& ...] \\   % (1.5a)
    		    ... = ... +         \\*  %
    		      + ...     [& ...] \\   % (1.5b)
    		    ... = ...   [& ...]      % (1.5c)
    		\end{EqSystem*}

In both cases, if the optional argument is present, each equation can be referenced by `\ref{<label>:a}`, `\ref{<label>:b}`, ..., where `<label>`, stands for the string used as optional argument. In the case of the *-form, a reference of the kind `\ref{<label>}` will print the equation number without any letter, thus referring to the system as a whole, whereas such a reference is meaningless (and indeed does not exists) when dealing with the non *-form.

## Math-mode commands

In addition to the previously mentioned environments, the `envmath` package defines also some of math-mode commands which considerably simplify the use of adjustable-size parentheses.

The ```\(`'', ```\[`'', ```\{`'', ```\)`'', ```\]`'' and ```\}`'' generates the corresponding parenthesis but with a ```\left`'' or ```\right`'' declaration (respectively) added, so they must come in matched pairs or coupled with a ```\left.`'' or ```\rigtht.`'' or another adjustable-size delimiter.