@title(Long descriptive name of my introduction)
@shorttitle(My introduction)

@author(Kambi)
@created(On some rainy day)

@section(1 SecFirst First section)

This file is supposed to contain some introductory
material about whole code included in your documentation.
You can note that all rules that apply to normal pasdoc
descriptions apply also here, e.g. empty line means new paragraph:

New paragraph.

3rd paragraph. URLs are automatically recognized, like this:
http://pasdoc.sourceforge.net/. You have to write the @@ twice
(like @@@@) to get one @@ in the output. Also normal @@-tags work:
@code(This is some code.)

@section(1 SecSecond Second section)

Here you can see some hot snippet from implementation of this
feature, just to test @@longcode tag:

@longcode(#
  procedure TPasDoc.HandleExtraFile(const FileName: string;
    out ExtraDescription: TExtraDescription);
  begin
    ExtraDescription := TExtraDescription.Create;
    try
      DoMessage(2, mtInformation, 'Now parsing file %s...', [FileName]);

      ExtraDescription.Name := SCharsReplace(
        ChangeFileExt( ExtractFileName(FileName) , ''), [' '], '_');

      ExtraDescription.RawDescription := FileToString(FileName);
    except
      FreeAndNil(ExtraDescription);
      raise;
    end;
  end;
#)

@section(1 ThirdSecond Third section)

Normal links work : @link(MyConstant).

Blah.

Blah.

Blah.

Blah.

Blah.

Blah.

@anchor(SomeAnchor) Here is a paragraph with an anchor.
It looks like a normal paragraph, but you can link to it
with @@link(SomeAnchor).

Blah.

Blah.

Blah.

Blah.

Blah.

Blah.

Blah.

Blah.

Blah.


Sections with the same user-visible names are OK (example
when this is useful is below):

@section(1 SecStrings Routines dealing with strings)

@section(2 SecStringsOverview Overview)

@section(2 SecStringsExamples Examples)

@section(1 SecIntegers Routines dealing with integers)

@section(2 SecIntegersOverview Overview)

@section(2 SecIntegersExamples Examples)
