(((title . "The LAML Chords Reference Manual") (author . "Kurt N\370rmark normark@cs.auc.dk") (affiliation . "Department of Computer Science Aalborg University Denmark") (abstract . "This is the manual of the LAML chords song format, which is based on a simple XML DTD. In this format\n it is possible to carry out simple chords markup of a song text. This includes chord decorations and\n and chord inversions (by means of a given bass note). The song document is an XML-in-LAML\n document. In other words, the song source complies with an XML DTD, but it is written as a Scheme/Lisp\n expression, which uses mirror functions that correspond to the XML elements of the chords.dtd. The song format is supported by a few Emacs commands, which make it convenient and flexible to author\n an LAML song text via the Emacs text editor. One of these, M-x make-chords, creates the initial chords file, with the overall markup. A number of specialized embedding commands, M-x embed-in-chord (bound to C-x C-e ), M-x x-embed-in-chord (bound to C-x C-x ), M-x b-embed-in-chord (bound to C-x C-b ), and M-x x-b-embed-in-chord (bound to C-x B ) make it handy to embed a word or phrase in a chord (with or without additional attributes). As a slightly advanced feature, the LAML chords processor is able to transpose a song, via use of\n the transpose attribute of the song-front-matters element. The transposition also affects the bass note of chord inversions. It is also possible to use the font-size attribute to adjust the font size. You can use this attribute to ensure that a song text fits a single page. You\n can also adjust the indentation to fit your preferences via use of the indentation attribute. Finally, you can color the chords by using the chord-color attribute. It may be useful to consult the LAML chords examples. Seen from the context of LAML, the LAML Chords facility serves as a simple example of my personal\n use of LAML within the area music notation (keyboard/MIDI). For chord presentation purposes, we support a number of variations. See the attributes h-hame, cs-or-db, ds-or-eb, fs-or-gb, gs-or-ab, and as-or-hb of the song-front-matters element.") (scheme-source-file . not-provided) (laml-resource . "true") (documentation-commenting-style . not-provided) (default-attribute-explanation . not-provided) (source-destination-delta . not-provided) (css-prestylesheet . "normal") (css-stylesheet . "original") (css-stylesheet-copying . not-provided) (make-dtd-manual-template . not-provided) (keep-syntactical-comment-file . not-provided) (manual-destination-name . not-provided) (mirror-names-defined . not-provided) (mirror-name-prefix . not-provided) (attribute-sorting . not-provided) (scheme-source-linking . not-provided)) ((section-id "song-sec") (kind "manual-section") (section-title "Song and song-front-matters") (section-body "In this section we document the song and the song-front-matters elements.")) ((kind "manual-page") (title "song") (description "The top level element. Notice that it is possible to inore this element, and hereby to leave song-front-matters and song-verses as top-level elements. ") (attribute-descriptions) (cross-references) (kind "manual-page") (content-model "(song-front-matters,song-verses*)") (attributes)) ((kind "manual-page") (title "song-front-matters") (description "This element defines a number of parmeters and processing options of this song.") (attribute-descriptions (attribute-description "transposition" "The number of half tone steps for transposition. An integer number between -11 and 11") (attribute-description "indentation" "The indentation of the song. An integer, denoting pixels") (attribute-description "font-size" "The font size used for the song text. A percentage. 100 means normal size.") (attribute-description "compact-lines" "A boolean value that controls the line compactness. The value true does not give nice results in MS Internet Explorer. (I do not know why).") (attribute-description "rendering-mode" "Either normal or simple. In simple mode, chords with the o attribute valued \"t\" are not shown. The o attribute is short for optional. \"t\" and \"f\" are short for true or false respectively.") (attribute-description "chord-color" "The Color used for the chords. Must be a color value acceptable by CSS") (attribute-description "h-name" "Controls the presentation of the chord name H. H and h are aliases for each other. Similarly, B and b are aliases for each other.") (attribute-description "cs-or-db" "Controls the presentation of the chord which internally is notated cs (C sharp)") (attribute-description "ds-or-eb" "Controls the presentation of the chord which internally is notated eb (B flat)") (attribute-description "fs-or-gb" "Controls the presentation of the chord which internally is notated fs (F sharp)") (attribute-description "gs-or-ab" "Controls the presentation of the chord which internally is notated gs (G sharp)") (attribute-description "as-or-hb" "Controls the presentation of the chord which internally is notated hb (H sharp)")) (cross-references) (kind "manual-page") (content-model "(song-title?,song-author?,song-source?)") (attributes (attribute "transposition" "CDATA" "#IMPLIED") (attribute "indentation" "CDATA" "#IMPLIED") (attribute "font-size" "CDATA" "#IMPLIED") (attribute "compact-lines" ("true" "false") "false") (attribute "rendering-mode" ("normal" "simple") "normal") (attribute "chord-color" "CDATA" "black") (attribute "h-name" ("h" "H" "B" "b") "H") (attribute "cs-or-db" ("cs" "db") "cs") (attribute "ds-or-eb" ("ds" "eb") "eb") (attribute "fs-or-gb" ("fs" "gb") "fs") (attribute "gs-or-ab" ("gs" "ab") "gs") (attribute "as-or-hb" ("as" "hb") "hb")) (cross-references (internal-references "enclosing element" "song"))) ((kind "manual-page") (title "song-verses") (description "A container around individual song verses") (attribute-descriptions) (cross-references) (kind "manual-page") (content-model "(verse*)") (attributes) (cross-references (internal-references "enclosing element" "song"))) ((kind "manual-page") (title "song-title") (description "The song title") (attribute-descriptions) (cross-references) (kind "manual-page") (content-model "(#PCDATA)") (attributes) (cross-references (internal-references "enclosing element" "song-front-matters"))) ((kind "manual-page") (title "song-author") (description "The author/composer of the song") (attribute-descriptions) (cross-references) (kind "manual-page") (content-model "(#PCDATA)") (attributes) (cross-references (internal-references "enclosing element" "song-front-matters"))) ((kind "manual-page") (title "song-source") (description "The book or internet address, which describes the origin of the song and/or the chords of the song.") (attribute-descriptions) (cross-references) (kind "manual-page") (content-model "(#PCDATA)") (attributes) (cross-references (internal-references "enclosing element" "song-front-matters"))) ((section-id "verse-line-sect") (kind "manual-section") (section-title "Verse and line") (section-body "Below we describe the verse and line elements")) ((kind "manual-page") (title "verse") (description "A container around the lines of the song") (attribute-descriptions (attribute-description "n" "The verse number - an integer. It not supplied, no verse numering appears") (attribute-description "chords" "A boolean attribute that controls if chords are shown for this verse. Chords can - of course - only be shown if they appear in the markuped song text.")) (cross-references) (kind "manual-page") (content-model "(line)*") (attributes (attribute "n" "CDATA" "#IMPLIED") (attribute "chords" ("true" "false") "true")) (cross-references (internal-references "enclosing element" "song-verses"))) ((kind "manual-page") (title "line") (description "A line of song verse. Individual words can be embedded in one of the chords elements.") (attribute-descriptions) (cross-references) (kind "manual-page") (content-model "(#PCDATA |a | c | cs | d | e | eb | f | fs | g | gs | h | hb | unison)*") (attributes) (cross-references (internal-references "enclosing element" "verse"))) ((section-id "chords-sec") (kind "manual-section") (section-title "Chords") (section-body "In this section we document the 12 main chords. We also include the unison form. In chord markup the suffix s, such as in cs, means 'sharp'. Similarly, the suffix b, such as in eb, means 'minor'. We use the name 'h' for the chord, which sometimes (and perhaps more often) called b. We support a number of auxiliary functions, which act as conveninent shortcuts for some often used chord abstractions. These are cm, c7, c6, and cm7, and similar functions for the other main chords. In addition, the chord named db can be used as an alias of cs; ds can be used as an alias of eb; gb can be used as an alias of fs; ab can be used as an alias of gs; And as can be used as an alias of hb. The abstractions, such as db7, db6, dbm, and dbm7 are also availble.")) ((kind "manual-page") (title "c") (description "A particular chord. Can surround one of more words in the song. The attributes names are very short, in order not to end up with very long verse lines. This form Can also appear alone without any textual contents.") (attribute-descriptions (attribute-description "x" "Some extra 'abstraction' of this chord. Such as 7,6,dim,...") (attribute-description "b" "The bass note of this chord") (attribute-description "o" "If t this chord is optional. t means true and f means false. The default value is f. Optional notes are not shown in simple rendering mode.")) (cross-references) (kind "manual-page") (content-model "(#PCDATA)") (attributes (attribute "x" "CDATA" "#IMPLIED") (attribute "b" ("c" "cs" "d" "eb" "e" "f" "fs" "g" "gs" "a" "hb" "h") "#IMPLIED") (attribute "o" ("t" "f") "#IMPLIED")) (cross-references (internal-references "enclosing element" "line"))) ((kind "manual-page") (title "cs") (description "C sharp. A particular chord. Can surround one of more words in the song. The attributes names are very short, in order not to end up with very long verse lines. This form Can also appear alone without any textual contents.") (attribute-descriptions (attribute-description "x" "Some extra 'abstraction' of this chord. Such as 7,6,dim,...") (attribute-description "b" "The bass note of this chord") (attribute-description "o" "If t this chord is optional. t means true and f means false. The default value is f. Optional notes are not shown in simple rendering mode.")) (cross-references) (kind "manual-page") (content-model "(#PCDATA)") (attributes (attribute "x" "CDATA" "#IMPLIED") (attribute "b" ("c" "cs" "d" "eb" "e" "f" "fs" "g" "gs" "a" "hb" "h") "#IMPLIED") (attribute "o" ("t" "f") "#IMPLIED")) (cross-references (internal-references "enclosing element" "line"))) ((kind "manual-page") (title "d") (description "A particular chord. Can surround one of more words in the song. The attributes names are very short, in order not to end up with very long verse lines. This form Can also appear alone without any textual contents.") (attribute-descriptions (attribute-description "x" "Some extra 'abstraction' of this chord. Such as 7,6,dim,...") (attribute-description "b" "The bass note of this chord") (attribute-description "o" "If t this chord is optional. t means true and f means false. The default value is f. Optional notes are not shown in simple rendering mode.")) (cross-references) (kind "manual-page") (content-model "(#PCDATA)") (attributes (attribute "x" "CDATA" "#IMPLIED") (attribute "b" ("c" "cs" "d" "eb" "e" "f" "fs" "g" "gs" "a" "hb" "h") "#IMPLIED") (attribute "o" ("t" "f") "#IMPLIED")) (cross-references (internal-references "enclosing element" "line"))) ((kind "manual-page") (title "eb") (description "E minor. A particular chord. Can surround one of more words in the song. The attributes names are very short, in order not to end up with very long verse lines. This form Can also appear alone without any textual contents.") (attribute-descriptions (attribute-description "x" "Some extra 'abstraction' of this chord. Such as 7,6,dim,...") (attribute-description "b" "The bass note of this chord") (attribute-description "o" "If t this chord is optional. t means true and f means false. The default value is f. Optional notes are not shown in simple rendering mode.")) (cross-references) (kind "manual-page") (content-model "(#PCDATA)") (attributes (attribute "x" "CDATA" "#IMPLIED") (attribute "b" ("c" "cs" "d" "eb" "e" "f" "fs" "g" "gs" "a" "hb" "h") "#IMPLIED") (attribute "o" ("t" "f") "#IMPLIED")) (cross-references (internal-references "enclosing element" "line"))) ((kind "manual-page") (title "e") (description "A particular chord. Can surround one of more words in the song. The attributes names are very short, in order not to end up with very long verse lines. This form Can also appear alone without any textual contents.") (attribute-descriptions (attribute-description "x" "Some extra 'abstraction' of this chord. Such as 7,6,dim,...") (attribute-description "b" "The bass note of this chord") (attribute-description "o" "If t this chord is optional. t means true and f means false. The default value is f. Optional notes are not shown in simple rendering mode.")) (cross-references) (kind "manual-page") (content-model "(#PCDATA)") (attributes (attribute "x" "CDATA" "#IMPLIED") (attribute "b" ("c" "cs" "d" "eb" "e" "f" "fs" "g" "gs" "a" "hb" "h") "#IMPLIED") (attribute "o" ("t" "f") "#IMPLIED")) (cross-references (internal-references "enclosing element" "line"))) ((kind "manual-page") (title "f") (description "A particular chord. Can surround one of more words in the song. The attributes names are very short, in order not to end up with very long verse lines. This form Can also appear alone without any textual contents.") (attribute-descriptions (attribute-description "x" "Some extra 'abstraction' of this chord. Such as 7,6,dim,...") (attribute-description "b" "The bass note of this chord") (attribute-description "o" "If t this chord is optional. t means true and f means false. The default value is f. Optional notes are not shown in simple rendering mode.")) (cross-references) (kind "manual-page") (content-model "(#PCDATA)") (attributes (attribute "x" "CDATA" "#IMPLIED") (attribute "b" ("c" "cs" "d" "eb" "e" "f" "fs" "g" "gs" "a" "hb" "h") "#IMPLIED") (attribute "o" ("t" "f") "#IMPLIED")) (cross-references (internal-references "enclosing element" "line"))) ((kind "manual-page") (title "fs") (description "F sharp. A particular chord. Can surround one of more words in the song. The attributes names are very short, in order not to end up with very long verse lines. This form Can also appear alone without any textual contents.") (attribute-descriptions (attribute-description "x" "Some extra 'abstraction' of this chord. Such as 7,6,dim,...") (attribute-description "b" "The bass note of this chord") (attribute-description "o" "If t this chord is optional. t means true and f means false. The default value is f. Optional notes are not shown in simple rendering mode.")) (cross-references) (kind "manual-page") (content-model "(#PCDATA)") (attributes (attribute "x" "CDATA" "#IMPLIED") (attribute "b" ("c" "cs" "d" "eb" "e" "f" "fs" "g" "gs" "a" "hb" "h") "#IMPLIED") (attribute "o" ("t" "f") "#IMPLIED")) (cross-references (internal-references "enclosing element" "line"))) ((kind "manual-page") (title "g") (description "A particular chord. Can surround one of more words in the song. The attributes names are very short, in order not to end up with very long verse lines. This form Can also appear alone without any textual contents.") (attribute-descriptions (attribute-description "x" "Some extra 'abstraction' of this chord. Such as 7,6,dim,...") (attribute-description "b" "The bass note of this chord") (attribute-description "o" "If t this chord is optional. t means true and f means false. The default value is f. Optional notes are not shown in simple rendering mode.")) (cross-references) (kind "manual-page") (content-model "(#PCDATA)") (attributes (attribute "x" "CDATA" "#IMPLIED") (attribute "b" ("c" "cs" "d" "eb" "e" "f" "fs" "g" "gs" "a" "hb" "h") "#IMPLIED") (attribute "o" ("t" "f") "#IMPLIED")) (cross-references (internal-references "enclosing element" "line"))) ((kind "manual-page") (title "gs") (description "G sharp. A particular chord. Can surround one of more words in the song. The attributes names are very short, in order not to end up with very long verse lines. This form Can also appear alone without any textual contents.") (attribute-descriptions (attribute-description "x" "Some extra 'abstraction' of this chord. Such as 7,6,dim,...") (attribute-description "b" "The bass note of this chord") (attribute-description "o" "If t this chord is optional. t means true and f means false. The default value is f. Optional notes are not shown in simple rendering mode.")) (cross-references) (kind "manual-page") (content-model "(#PCDATA)") (attributes (attribute "x" "CDATA" "#IMPLIED") (attribute "b" ("c" "cs" "d" "eb" "e" "f" "fs" "g" "gs" "a" "hb" "h") "#IMPLIED") (attribute "o" ("t" "f") "#IMPLIED")) (cross-references (internal-references "enclosing element" "line"))) ((kind "manual-page") (title "a") (description "A particular chord. Can surround one of more words in the song. The attributes names are very short, in order not to end up with very long verse lines. This form Can also appear alone without any textual contents.") (attribute-descriptions (attribute-description "x" "Some extra 'abstraction' of this chord. Such as 7,6,dim,...") (attribute-description "b" "The bass note of this chord") (attribute-description "o" "If t this chord is optional. t means true and f means false. The default value is f. Optional notes are not shown in simple rendering mode.")) (cross-references) (kind "manual-page") (content-model "(#PCDATA)") (attributes (attribute "x" "CDATA" "#IMPLIED") (attribute "b" ("c" "cs" "d" "eb" "e" "f" "fs" "g" "gs" "a" "hb" "h") "#IMPLIED") (attribute "o" ("t" "f") "#IMPLIED")) (cross-references (internal-references "enclosing element" "line"))) ((kind "manual-page") (title "hb") (description "H flat, also known as B flat. A particular chord. Can surround one of more words in the song. The attributes names are very short, in order not to end up with very long verse lines. This form Can also appear alone without any textual contents.") (attribute-descriptions (attribute-description "x" "Some extra 'abstraction' of this chord. Such as 7,6,dim,...") (attribute-description "b" "The bass note of this chord") (attribute-description "o" "If t this chord is optional. t means true and f means false. The default value is f. Optional notes are not shown in simple rendering mode.")) (cross-references) (kind "manual-page") (content-model "(#PCDATA)") (attributes (attribute "x" "CDATA" "#IMPLIED") (attribute "b" ("c" "cs" "d" "eb" "e" "f" "fs" "g" "gs" "a" "hb" "h") "#IMPLIED") (attribute "o" ("t" "f") "#IMPLIED")) (cross-references (internal-references "enclosing element" "line"))) ((kind "manual-page") (title "h") (description "H, also often notated as B. A particular chord. Can surround one of more words in the song. The attributes names are very short, in order not to end up with very long verse lines. This form Can also appear alone without any textual contents.") (attribute-descriptions (attribute-description "x" "Some extra 'abstraction' of this chord. Such as 7,6,dim,...") (attribute-description "b" "The bass note of this chord") (attribute-description "o" "If t this chord is optional. t means true and f means false. The default value is f. Optional notes are not shown in simple rendering mode.")) (cross-references) (kind "manual-page") (content-model "(#PCDATA)") (attributes (attribute "x" "CDATA" "#IMPLIED") (attribute "b" ("c" "cs" "d" "eb" "e" "f" "fs" "g" "gs" "a" "hb" "h") "#IMPLIED") (attribute "o" ("t" "f") "#IMPLIED")) (cross-references (internal-references "enclosing element" "line"))) ((kind "manual-page") (title "unison") (description "Play without chords. Of typographical reasons it is recommended to use this form on a single word, although it logically apply to a longer phrase of a song line.") (attribute-descriptions) (cross-references) (kind "manual-page") (content-model "(#PCDATA)") (attributes) (cross-references (internal-references "enclosing element" "line"))) ((section-id "emacs-sec") (kind "manual-section") (section-title "Emacs Support") (section-body "In this section we describe the Emacs support for use of the LAML Chords facility. The names of basic chords mirror functions in Scheme are c, cs, d, eb, e, f, fs, g, gs, a, hb, h. These are documented above. These functions are, of course, supported by Emacs. The s in cs means 'sharp' (one half tone up), and the b in hb means flat (one half tone down). In addition, the following alternative chord names are supported: db (= cs), ds (= eb), gb (= fs), ab (= gs), and as (= hb). A number of additional, named mirror functions are derived automatically by the Chords Scheme software. These are CHORD-NAMEm for minor chords, CHORD-NAME7 for the seventh variation, CHORD-NAME6 for the sixth variation, and CHORD-NAMEm7 for the seventh minor variation, where CHORD-NAME is one of c, db, cs, d, ds, eb, e, f, gb, fs, g, ab, gs, a, as, hb, and h. Emacs supports all these names via completion in the chords embedding editing commands, see below. Many of these chord names translate to use of the x attribute with the the attribute value \"m\", \"6\", or \"7\". The following chord-embedding Emacs editing commands are supported: M-x embed-in-chord (C-x C-e): Basic chord embedding. M-x x-embed-in-chord (C-x C-x): Adds an empty x attribute name-value pair. M-x b-embed-in-chord (C-x C-b): Adds an empty b attribute name-value pair. M-x x-b-embed-in-chord (C-x B): Adds empty x and b attribute name-value pairs. These editing commands prompt for chord names, and they use completions to avoid simple typos. In addition to the chord embedding commands, the following chord-related editing command is supported: M-x make-chords: This command is embeds the content of an entire buffer in a LAML chord XML-in-LAML template, and it enters the Chords Emacs mode.")))