# <file_name>

© 2009-2012 John Abbott, Anna M. Bigatti
GNU Free Documentation License, Version 1.2

- Examples
- User documentation
  - Constructors and pseudo-constructors
  - Queries and views
  - Operations
    - <sub-sub-section>
- Maintainer documentation
- Bugs, shortcomings and other ideas
- Main changes

- mini-manual for writing cocoalib documentation using txt2tags
  - Fonts
  - Links
  - Tables
  - Lists
    - example
  - More txt2tags
  - Main changes

CoCoALib Documentation Index

## Examples

- ex-empty.C

## User documentation

An easy way to add a new documentation file is to make a copy of this file and edit its contents as you want. See the mini-manual below for some examples of how to change font, make tables, etc.

### Constructors and pseudo-constructors

### Queries and views

Let `S` be a `ring`

- `IsBlah(S)` -- `true` iff `S` is actually a `Blah`
- `AsBlah(S)` -- if `S` is a `Blah` view it as such

### Operations

#### <sub-sub-section>

## Maintainer documentation

## Bugs, shortcomings and other ideas

## Main changes

2010

- month (v0.99xx): ...

  2009
- February (v0.9910): first release

# mini-manual for writing cocoalib documentation using txt2tags

Compare the documentation text (text2tags) source the html version:

- If you are reading this as html, see the txt source in the file `doc/txt/empty.txt`.

- If you are reading this as txt, run `make skeleton.html` and browse `doc/html/empty.html` to see the generated file.

## Fonts

This is how to type italic, bold, `code`. And also

      preformatted/verbatim single line ("```" in the first column)

      preformatted/verbatim region
      second line

## Links

Links to other files in the documentation are given by double square brackets: for example `PPMonoid` will produce a link to the file/section generated by `PPMonoid.txt`. It will also write the word as "code". Always suggested when mentioning a class with the same name as the .txt file (except within the file itself).

Links inside other files are done like this: See `matrix` operations

NOTE since `[ ]` are used by txt2tags for defining links, even though it is fairly clever, we suggest not use them in non verbatim text. this will become a link to the last

## Tables

Alignment is not important, but you must leave a space between the text and the `|`s. No newlines allowed.

th1 | th2 | th3
--- | --- | ---
td | td | td
td | td | td

## Lists

Lists end with 2 blank lines or with the list item character followed by an empty line:

The list item character is

- `-` for un-numbered lists
- `:` for description lists
- `+` for numbered lists

Lines should start with `- blahblah...` (exactly 1 space)

You may have nested (and mixed) lists (leaving heading spaces)

### example

- `NewInducedHom(RmodI, phi)` creates a new ring homomorphism from RmodI to S where phi is a ring homomorphism from R to S, and where RmodI is a QuotientRing representing R/I. Two types of error may occur:
  - `ERR::BadInducingHom` if domain(phi) is not BaseRing(RmodI)
  - `ERR::BadInducingHomKer` if phi does not map the gens of I to zero.
- last item

## More txt2tags

To know more and to download `txt2tags` visit the website http://txt2tags.sourceforge.net

## Main changes

2012

- May (v0.9951):
  - write which major changes have been done -