Vai al contenuto

Note a piè di pagina (richiamo [^etichetta] + blocco FOOT))

STATO: SPEC. Il richiamo [^etichetta] è un costrutto di markup (vedi anche neumaRk_text_markup.md); il blocco FOOT) è una sezione globale gemella di LYRICS) (neumaRk_lyrics.md §8) e FORM) (neumaRk_play_and_form.md).

Questo file IT è la source of truth; la versione EN (../en/neumaRk_footnotes.md) la rispecchia.

1. Definizione

Una nota a piè di pagina collega un punto della partitura a un testo di rimando. Si compone di due parti ortogonali:

  1. il richiamo [^etichetta] — un piccolo segno in apice inserito dentro un contenitore di testo (annotazione di nota, comment-label di accordo, testo di marker, prosa TEXT), prosa e label box PLAY)/FORM), sillaba L));
  2. la definizione — una voce del blocco globale FOOT), indicizzata per etichetta, che porta il testo del rimando.

Resa di riferimento (informativa). Il segno in apice è disegnato per: annotazioni di nota (voce 1 + 2), comment/group-label di accordo, prosa TEXT), e prosa + label box (top/name/bottom) di PLAY)/FORM), inclusi i blocchi trailing e FORM). Nel testo dei marker M) e nelle sillabe L) il richiamo è parsato e validato ma il segno non è disegnato. In quei contenitori il contatore auto [^] salta il richiamo, così la numerazione resta auto-consistente.

La sintassi è indipendente dalla modalità di visualizzazione: àncora il richiamo a un punto musicale e definisce il testo; è il renderer a decidere dove posare la nota (in fondo alla pagina che la referenzia in modalità carta/strip; in coda al brano — endnote — in modalità papiro).

2. Richiamo [^etichetta]

Il richiamo è un token di markup (neumaRk_text_markup.md), quindi vive dentro un testo, non come token di riga:

N) c4("sax;piano[^*]")          // annotazione nota
C) Cmaj7"voicing[^1]"           // comment-label accordo
M) [A] "freely[^*]"             // testo di marker

2.1 Etichetta

L'etichetta è la sequenza di caratteri fra [^ e ]. Determina il segno stampato in apice:

Forma Segno reso
[^*] [^†] [^‡] [^§] [^#] il simbolo tipografico, così com'è
[^1] … [^999] il numero
[^] (vuota) auto-numerato dal renderer in ordine di lettura

L'ordine di lettura per l'auto-numerazione è posizionale-musicale (misura → battito → rigo dall'alto in basso), stabile fra le modalità di visualizzazione, continuo su tutto il brano (nessun reset di pagina).

2.2 Riconoscimento ed escape

[^…] è riconosciuto come richiamo solo dentro un testo quotato "…" per i contenitori note/accordi/marker e i testi di A)/D) (dove [NAME] avrebbe altrimenti significato strutturale); nella prosa PLAY)/FORM)/TEXT) e nelle sillabe L), che non sono quotate, vale sull'intero testo. La cornice [^ … ] dà delimitazione netta: parola[^1]altra non è ambiguo, l'etichetta è 1. Nel riquadro abbreviato […] la ] del richiamo chiuderebbe il riquadro: c4[a[^1]] non è valido (E001), si scrive c4["a[^1]"].

L'escape \[ (già in neumaRk_text_markup.md) rende una parentesi quadra letterale: piano\[^*] è testo, non un richiamo. Il richiamo NON collide con il corsivo *…*: per questo si usa la cornice [^…] e non un * nudo.

2.3 Riferimenti multipli

La stessa etichetta esplicita può essere referenziata da più punti: tutti mostrano lo stesso segno e puntano a una definizione. In modalità carta/strip la definizione viene ripetuta in fondo a ogni pagina che la referenzia. Con [^] (auto) ogni richiamo è una nota distinta (anonima) → l'unico modo per referenziare due volte la stessa nota è l'etichetta esplicita.

3. Blocco FOOT)

Sezione globale (fuori dai datapack), una o più occorrenze, convenzionalmente in coda al brano. Le righe successive all'header FOOT) sono le voci. Il blocco finisce alla riga vuota o al primo marcatore di riga esplicito (regola unica dei blocchi a testo libero, neumaRk_datapack.md §13).

FOOT)
[^*] Piano plays all notes, sax plays top
[^1] Transcribed from the 1962 take; *ossia* in the coda

Grammatica di una voce: [^etichetta] <spazio> <testo>.

  • Il testo riusa tutto neumaRk_text_markup.md: a-capo ; (§3bis, la voce si rende su più righe), *corsivo*, **grassetto**, __sottolineato__, dimensioni #, escape.
  • Più blocchi FOOT) sono uniti in ordine di file.
  • Il match richiamo↔definizione è per uguaglianza di etichetta (posizione-indipendente, come i riferimenti [NOME] di PLAY/FORM).

3.1 Etichette esplicite vs auto

Un documento usa o etichette esplicite o auto-numerazione [^], non mischiate. Il mix produce W166 (non bloccante) e una risoluzione deterministica lato renderer.

4. Diagnostici

Codice Livello Significato
W162 warning voce FOOT) che non inizia con un'etichetta [^…] (ignorata)
W163 warning etichetta esplicita duplicata in FOOT)
W164 warning richiamo [^…] senza definizione corrispondente in FOOT)
W165 warning definizione FOOT) mai referenziata
W166 warning mix di etichette esplicite e auto [^] nello stesso documento

Nessun errore bloccante: le note a piè di pagina non invalidano il documento.

5. Round-trip

Il blocco FOOT) è preservato verbatim (round-trip lossless). I richiami [^…] viaggiano nel testo del contenitore e round-trippano naturalmente. L'etichetta vuota [^] (auto) è riemessa come [^], mai come numero risolto (il numero è resa, non contenuto).

6. Esempio completo

nrk:0.6
HT) Duet Sketch
HK) C
HM) 4/4

C) Cmaj7"voicing[^1]" | Dm7 G7
N) c4("sax;piano[^*]") d e f | g a b c

FOOT)
[^*] Piano plays all notes, sax plays top
[^1] rootless voicing

Reso: un asterisco in apice dopo "piano" (annotazione nota) e un "1" dopo "voicing" (label accordo); in calce, il filetto e le due voci.