2 Syntax Extensions w.r.t. Basic GUIDO

Advanced GUIDO uses the same syntax as Basic GUIDO (cf. "The GUIDO Music Notation Format; Specification Part 1: Basic GUIDO", Section 2) with three slight extensions, which will be introduced in this section.

2.1 Named Tag Parameters

In Advanced GUIDO, tag parameters can be named. The syntax for named tag parameters is:

name=value

where name is an identifier composed of one or more letters and digits, the first of which must be a letter; and value is a tag argument, i.e., a number or string.

Examples:

\clef
\slur(d1/4 e)

Named and unnamed tag parameters should not be mixed within the same argument list, i.e. either all parameters within an argument list should be named or unnamed. If named parameters are used, their order within an argument list is arbitrary. Nevertheless we suggest using the standard orderings as specified below for the Advanced GUIDO tags. If unnamed parameters are used, their position in the parameter list decides about their interpretation. If parameters are missing from a list of unnamed parameters, these are assumed to be missing from the end of the list, i.e., the first parameter which occurs is interpreted as if it was the first parameter of a complete list, etc.

Advanced GUIDO uses named tag parameters to facilitate using tags with optional parameters, which often occurs in the context of exact positioning covered by Advanced GUIDO.

2.2 Parameter Values with Units

In the context of exact layout, Advanced GUIDO supports positioning and sizing parameter values with units. These units can be optionally used with the numerical values of sizing and positioning tag parameters by specifying the unit type directly after the value.

Examples:

\pageFormat
\text(c#/2. e/8)

The following units are supported:

  1. m - meter
  2. cm - centimeter
  3. mm - millimeter
  4. in - inch
  5. pt - point (= 1/72.27 inch)
  6. pc - pica (= 12pt)
  7. hs - halfspace (half of the space between two lines of the current staff)
  8. rl - relative measure in percent (used for positioning on score page)
These units can be freely mixed. Where for a size or positioning parameter the unit is omitted, a default unit is used which depends on the specific tag these parameters are used with (cf. descriptions of Advanced GUIDO tags below). As explained later, certain default units can also be set using the \units tag.

2.3 Tag Ranges and Disambiguation

To facilitate the most general case of overlapping tag ranges, Advanced GUIDO introduces explicit disambiguation for begin / end tags.

For every tag \id which can be used with a range, the tagged range \id<...>( ... ) can be alternately represented as \idBegin<...> ... \idEnd. Note that both the \idBegin and \idEnd tags are used without ranges, and the \idBegin tag takes all tag parameters.

To disambiguate overlapping ranges, the \idBegin and \idEnd are extended with a unique numeric postfix, using the syntax

\idBegin:n<...> ... \idEnd:n

Note that for each \idBegin:n<...> tag there must be a corresponding \idEnd:n<...> tag; this will usually occur within the same voice, but might also be located in a different voice.

Examples:

...