Tags can be categorized into 3 groups, based on how they treat their parameters:

  1. Simple tags that do not take any parameters (e.g. @nil or @name). Pasdoc will show a warning if you try to pass parameters to such tags.

  2. Tags that take their parameters and expand tags inside them too, recursively. This means that inside these parameters @-tags are expanded, whitespaces do not matter, an empty line means "start new paragraph" etc. (see WritingDocumentation). This also means that inside the parameters you must write @@ to get one @ in the output.

    Example of using such recursive tag @raises:

       1 { @raises(EMyException
       2     when global variable @link(FailWithException) 
       3     is set to true.) }
       4 procedure MyProcedure(A: Integer);
    
  3. Tags that take some parameters but do not expand them. These are very exceptional tags, serving a special purpose and their parameters have a special meaning. Tags belonging to this group are:
    • @html tag: parameter of it must be valid HTML markup, and will be copied verbatim to the HTML output

    • @latex tag: parameter is valid LaTeX markup

    • @link tag: parameter is an existing Pascal item identifier

    • @longcode tag: parameter of it is interpreted as a Pascal source code.

    When using these tags you should note that inside their parameters @-tags are not expanded, whitespace is not interpreted in any special way (e.g. empty lines are not converted to paragraphs) etc. This also means that the @ character is not special, and you do not have to (in fact, you cannot) double it if you want a single @ in the output.

TagsParameters (last edited 2007-10-28 22:57:18 by localhost)