snippet-update:
$(PYTHON) $(buildscript-dir)/update-snippets.py user $(ISOLANG)/user '*.itely'
-endif
+DOCUMENTS_INCLUDES:=-I $(ISOLANG)/user \
+-I $(top-build-dir)/Documentation/$(ISOLANG)/user/out-www \
+-I $(top-src-dir)/input/lsr \
+-I $(top-build-dir)/input/lsr/out-www \
+-I user -I $(top-build-dir)/Documentation/user/out-www
+
+else # ISOLANG is empty
+
+DOCUMENTS_INCLUDES:=-I user \
+-I $(top-build-dir)/Documentation/user/out-www \
+-I $(top-src-dir)/input/lsr \
+-I $(top-build-dir)/input/lsr/out-www
+
+endif # ISOLANG
+
+check-xrefs:
+ $(PYTHON) $(buildscript-dir)/check_texi_refs.py --batch \
+ $(DOCUMENTS_INCLUDES) $(buildscript-dir)/manuals_definitions.py
+
+fix-xrefs:
+ $(PYTHON) $(buildscript-dir)/check_texi_refs.py --auto-fix \
+ $(DOCUMENTS_INCLUDES) $(buildscript-dir)/manuals_definitions.py
check-translation:
$(PYTHON) $(buildscript-dir)/check_translation.py $(buildscript-dir) $(CHECKED_FILES)
Für die Notation Alter Musik kann ein Notenkopfstil ausgewählt werden, der sich
vom Standard (@code{default}) unterscheidet. Dies wird erreicht, indem die
-@code{style}-Eigenschaft der Notenkopf-(@internalsref{NoteHead})-Objekte auf
+@code{style}-Eigenschaft der Notenkopf-(@rinternals{NoteHead})-Objekte auf
einen der Werte @code{baroque}, @code{neomensural}, @code{mensural} oder
@code{petrucci} gesetzt wird. Der barocke (@code{baroque}) Stil unterscheidet
sich vom Standard (@code{default}) nur in sofern, als eine viereckige Form für
@end lilypond
Für die Notation des Gregorianischen Chorals werden vom
-@internalsref{Gregorian_ligature_engraver} automatisch die richtigen Notenköpfe
+@rinternals{Gregorian_ligature_engraver} automatisch die richtigen Notenköpfe
ausgewählt, so dass man den Stil nicht manuell setzen muss. Trotzdem kann
der Stil manuell verändert werden, z. B. auf den Wert
@code{vaticana_punctum}, um Punktum-Neumen zu produzieren. Gleichfalls erstellt
-der @internalsref{Mensural_ligature_engraver} automatisch Ligaturen der
+der @rinternals{Mensural_ligature_engraver} automatisch Ligaturen der
Mensuralnotation. Siehe @ref{Ligatures} zu einer Übersicht über die Funktion
und Notation von Ligaturen.
Mit der @code{glyph-name-alist}-Eigenschaft der
-Versetzungszeichen-(@internalsref{Accidental})- und
-Vorzeichen-(@internalsref{KeySignature})-Eigenschaften können Vorzeichen
+Versetzungszeichen-(@rinternals{Accidental})- und
+Vorzeichen-(@rinternals{KeySignature})-Eigenschaften können Vorzeichen
und Versetzungszeichen für die Alte Musik ausgewählt werden.
@lilypond[quote,ragged-right,staffsize=26]
Ähnlich wie Versetzungszeichen können auch die Vorzeichen für die Angabe der
Tonart verändert werden, indem die @code{glyph-name-alist}-Eigenschaft
-des @internalsref{KeySignature}-Objektes gesetzt wird.
+des @rinternals{KeySignature}-Objektes gesetzt wird.
@seealso
von Versetzungszeichen. Der Abschnitt @ref{Key signature} zeigt die allgemeine
Benutzung von Vorzeichen.
-Programmreferenz: @internalsref{KeySignature}.
+Programmreferenz: @rinternals{KeySignature}.
Beispiele: @lsrdir{ancient}.
Besondere Pausensymbole für die Notation der Alten Musik können mit der
@code{style}-Eigenschaft des graphischen Objektes (grob) @qq{Pause}
-(@internalsref{Rest}) angewählt werden. Unterstützte Stile sind
+(@rinternals{Rest}) angewählt werden. Unterstützte Stile sind
klassisch (@code{classical}), @code{neomensural} und @code{mensural}.
Der klassische (@code{classical}) Stil unterscheidet sich vom Standardstil
(@code{default}) nur darin, dass die Viertelpause wie eine gespiegelte
@cindex Fähnchen, Alte Musik
Mit der Fähnchen-(@code{flag-style})-Eigenschaft der graphischen Objekte
-@qq{Hals} (@internalsref{Stem}) können auch Fähnchen passend zu den Notenköpfen
+@qq{Hals} (@rinternals{Stem}) können auch Fähnchen passend zu den Notenköpfen
der Alten Musik gesetzt werden. Neben dem Standardstil (@code{default}) ist
auch ein mensuraler Stil (@code{mensural}) unterstützt.
}
@end lilypond
-Mit der @code{style}-Eigenschaft des Objektes @internalsref{TimeSignature}
+Mit der @code{style}-Eigenschaft des Objektes @rinternals{TimeSignature}
können die Taktarten angewählt werden. Unterstützte Stile sind:
@code{neomensural} und @code{mensural}. In der Tabelle oben wurde der
neomensurale Stil verwendet. Dieser Stil ist geeignet, um im Incipt von
@emph{editio vaticana}. LilyPond stellt unterschiedliche Custos-Symbole für
die unterschiedlichen Notationsstile zur Verfügung.
-Damit Custodes angezeigt werden, muss ein @internalsref{Custos_engraver}
-im @internalsref{Staff}-Kontext gefordert werden. Der Aufruf folgt im Rahmen
+Damit Custodes angezeigt werden, muss ein @rinternals{Custos_engraver}
+im @rinternals{Staff}-Kontext gefordert werden. Der Aufruf folgt im Rahmen
des Layout-Kontextes, wie das folgende Beispiel zeigt.
@example
@seealso
-Programmreferenz: @internalsref{Custos}.
+Programmreferenz: @rinternals{Custos}.
Examples:
@lsr{ancient,custodes@/.ly}.
In diesem Handbuch: @ref{Breath marks}.
-Programmreferenz: @internalsref{BreathingSign}.
+Programmreferenz: @rinternals{BreathingSign}.
Beispiele: @lsr{expressive,breathing-sign.ly}.
Ligaturen werden eingegeben, indem die dazugehörigen Noten zwischen
@code{\[} und @code{\]} eingeschlossen werden. Einige Ligaturstile benötigen
zusätzliche Syntax für eine bestimmte Ligatur. In der Standardeinstellung
-setzt der @internalsref{LigatureBracket} ganz einfach eckige Klammern über
+setzt der @rinternals{LigatureBracket} ganz einfach eckige Klammern über
die Noten der Ligatur.
@lilypond[quote,ragged-right,verbatim]
Begrenzte Unterstützung für Ligaturen der weißen Mensuralnotation.
Um weiße Mensuralligaturen zu benutzen, muss innerhalb des Layout-Blocks
-im @internalsref{Voice}-Kontext der @internalsref{Mensural_ligature_engraver}
+im @rinternals{Voice}-Kontext der @rinternals{Mensural_ligature_engraver}
aktiviert werden und gleichzeitig der
-@internalsref{Ligature_bracket_engraver} (der die Klammern über den Noten
+@rinternals{Ligature_bracket_engraver} (der die Klammern über den Noten
setzt) entfernt werden, wie im Beispiel.
@example
}
@end lilypond
-Wenn der @internalsref{Ligature_bracket_engraver} nicht durch den
-@internalsref{Mensural_ligature_engraver} ersetzt wird, werden die Noten
+Wenn der @rinternals{Ligature_bracket_engraver} nicht durch den
+@rinternals{Mensural_ligature_engraver} ersetzt wird, werden die Noten
wie folgt ausgegeben:
@lilypond[quote,ragged-right]
@seealso
-Programmreferenz: @internalsref{Accidental_engraver}-Setzer und das
-@internalsref{AccidentalSuggestion}-Objekt.
+Programmreferenz: @rinternals{Accidental_engraver}-Setzer und das
+@rinternals{AccidentalSuggestion}-Objekt.
@node Figured bass
@unnumberedsubsubsec Figured bass
Die Unterstützung besteht aus zwei Teilen: Es gibt einen Eingabe-Modus,
aktiviert durch den Befehl @code{\figuremode}, in dem Ziffern für den Bass
als Nummern eingegeben werden können, und einen Kontext
- @internalsref{FiguredBass}, der dafür sorgt, dass die entsprechenden
- @internalsref{BassFigure}-Objekte auch erstellt werden.
+ @rinternals{FiguredBass}, der dafür sorgt, dass die entsprechenden
+ @rinternals{BassFigure}-Objekte auch erstellt werden.
Im Eingabemodus wird eine Gruppe von Bassziffern mit den Zeichen
@code{<} and @code{>} begrenzt. Die Dauer wird nach dem @code{>}-Zeichen
Auch wenn die Unterstützung für bezifferten Bass anscheinend an die
Akkord-Notation erinnert, ist sie doch sehr viel einfacher. Der Modus
@code{\figuremode} speichert einfach die Ziffern und der
-@internalsref{FiguredBass}-Kontext gibt sie so aus, wie sie notiert
+@rinternals{FiguredBass}-Kontext gibt sie so aus, wie sie notiert
werden. Es gibt also keine Umrechnung von Tonhöhen und die Notation
wird in der MIDI-Datei nicht umgesetzt.
@seealso
-Programmreferenz: @internalsref{NewBassFigure}-,
-@internalsref{BassFigureAlignment}-, @internalsref{BassFigureLine}-,
-@internalsref{BassFigureBracket}- und
-@internalsref{BassFigureContinuation}-Objekte und der
-@internalsref{FiguredBass}-Kontext.
+Programmreferenz: @rinternals{NewBassFigure}-,
+@rinternals{BassFigureAlignment}-, @rinternals{BassFigureLine}-,
+@rinternals{BassFigureBracket}- und
+@rinternals{BassFigureContinuation}-Objekte und der
+@rinternals{FiguredBass}-Kontext.
@cindex Symbole, Akkord-
Um Akkordsymbole anstelle der Noten zu setzen, muss der
-@internalsref{ChordNames}-Kontext. Die Akkorde können entweder
+@rinternals{ChordNames}-Kontext. Die Akkorde können entweder
mit der Notation aus dem vorigen Abschnitt oder direkt
mit der Akkordeingabe für Noten (@code{<} und @code{>})
notiert werden.
In den vorangegangenen Beispielen wurden alle Akkorde über dem
Notensystem mit den entsprechenden Noten ausgegeben. Das ist aber
nicht erforderlich. Akkorde können auch alleine gedruckt werden.
-Dabei kann es nötig sein, @internalsref{Volta_engraver} und
-@internalsref{Bar_engraver} einzufügen, damit Wiederholungen
+Dabei kann es nötig sein, @rinternals{Volta_engraver} und
+@rinternals{Bar_engraver} einzufügen, damit Wiederholungen
angezeigt werden.
@lilypond[ragged-right,verbatim]
@seealso
-Programmreferenz: @internalsref{Fingering}.
+Programmreferenz: @rinternals{Fingering}.
Beispiele: @lsr{expressive,fingering-chords.ly}
@unnumberedsubsubsec Stems
Immer, wenn das Programm eine Note findet, wird automatisch
-ein Notenhals (@internalsref{Stem}) -Objekt erzeugt. Auch
+ein Notenhals (@rinternals{Stem}) -Objekt erzeugt. Auch
für ganze Noten und Pausen werden sie erzeugt, aber unsichtbar
gemacht.
Die vertikale Anordnung der Zeichen wird durch die
@code{script-priority}-Eigenschaft kontrolliert. Je kleiner die Zahl
ist, umso näher wird das Zeichen an die Note gesetzt. In dem
-nächsten Beispiel hat das Textsymbol (@internalsref{TextScript}),
+nächsten Beispiel hat das Textsymbol (@rinternals{TextScript}),
ein Kreuz, die niedrigste Priorität und wird also als unterstes
-gesetzt. Im zweiten Beispiel hat der Praller (das @internalsref{Script})
+gesetzt. Im zweiten Beispiel hat der Praller (das @rinternals{Script})
die niedrigste Priorität und erscheint innen. Wenn zwei Objekte die
gleiche Priorität haben, entscheidet die Reihenfolge, in der sie notiert
sind, welches zuerst kommt.
@seealso
-Programmreferenz: @internalsref{Script}.
+Programmreferenz: @rinternals{Script}.
@knownissues
@end lilypond
Hier können allerdings sehr kurze Klammern auftreten. Der Wert von
-@code{minimum-length} in @internalsref{Voice}.@internalsref{Hairpin}
+@code{minimum-length} in @rinternals{Voice}.@rinternals{Hairpin}
kann angepasst werden, etwa:
@example
gesetzt wird, zu erstellen, siehe den Abschnitt @ref{New dynamic marks}.
Vertikale Position der Zeichen wird von der Funktion
-@internalsref{DynamicLineSpanner} verwaltet.
+@rinternals{DynamicLineSpanner} verwaltet.
@commonprop
@seealso
-Programmreferenz: @internalsref{DynamicText}, @internalsref{Hairpin}.
+Programmreferenz: @rinternals{DynamicText}, @rinternals{Hairpin}.
Vertikale Positionierung der Symbole wird von der Eigenschaft
-@internalsref{DynamicLineSpanner} verwaltet.
+@rinternals{DynamicLineSpanner} verwaltet.
@node New dynamic marks
Im Handbuch: @ref{Automatic note splitting}.
-Programmreferenz: @internalsref{Tie}.
+Programmreferenz: @rinternals{Tie}.
@knownissues
@seealso
-Programmreferenz: @internalsref{Slur}.
+Programmreferenz: @rinternals{Slur}.
@node Phrasing slurs
@seealso
-Programmreferenz: @internalsref{PhrasingSlur}.
+Programmreferenz: @rinternals{PhrasingSlur}.
@node Laissez vibrer ties
@seealso
Programmreferenz:
-@internalsref{LaissezVibrerTie}
-@internalsref{LaissezVibrerTieColumn}
+@rinternals{LaissezVibrerTie}
+@rinternals{LaissezVibrerTieColumn}
Beispiele:
@lsr{connecting,laissez-vibrer-ties.ly}
@seealso
-Programmreferenz: @internalsref{BreathingSign}.
+Programmreferenz: @rinternals{BreathingSign}.
Beispiele: @lsr{expressive,breathing-sign.ly}
@seealso
-Programmreferenz: @internalsref{Glissando}.
+Programmreferenz: @rinternals{Glissando}.
Beispiele:
@lsr{expressive,glissando.ly}, @lsr{expressive,line-styles.ly}
Wenn ein Arpeggio sich über mehrere Systeme erstreckt, kann mit einem
Klaviersystem die Eigenschaft
-@internalsref{PianoStaff}.@code{connectArpeggios} gesetzt werden.
+@rinternals{PianoStaff}.@code{connectArpeggios} gesetzt werden.
@lilypond[quote,ragged-right,fragment,relative=1,verbatim]
\new PianoStaff <<
Notationshandbuch: @ref{Ties}, um Arpeggios auszuschreiben.
-Programmreferenz: @internalsref{Arpeggio}.
+Programmreferenz: @rinternals{Arpeggio}.
@knownissues
@seealso
-Programmreferenz: @internalsref{TrillSpanner}.
+Programmreferenz: @rinternals{TrillSpanner}.
@seealso
-Programmreferenz: @internalsref{StringNumber},
+Programmreferenz: @rinternals{StringNumber},
@lsr{guitar/,string-number.ly}.
Viertelnote C auf der dritten Saite. In der Standardeinstellung ist
die erste Saite die höchste Saite und als Stimmung wird die übliche
Gitarrenstimmung auf sechs Saiten angenommen. Die Noten werden in
-einer Tabulatur gesetzt, indem @internalsref{TabStaff} und
-@internalsref{TabVoice}-Kontexte verwendet werden.
+einer Tabulatur gesetzt, indem @rinternals{TabStaff} und
+@rinternals{TabVoice}-Kontexte verwendet werden.
@lilypond[quote,ragged-right,fragment,verbatim]
\new TabStaff {
@seealso
-Programmreferenz: @internalsref{TabStaff}, @internalsref{TabVoice}.
+Programmreferenz: @rinternals{TabStaff}, @rinternals{TabVoice}.
@knownissues
In der Datei @file{scm/@/output@/-lib@/.scm} sind die Stimmungen
definiert.
-Programmreferenz: @internalsref{Tab_note_heads_engraver}.
+Programmreferenz: @rinternals{Tab_note_heads_engraver}.
@knownissues
Einige graphische Eigenschaften können verändert werden. Genaueres zur
Schnittstelle für die Griffsymboleigenschaften findet sich unter
-@internalsref{fret-diagram-interface}.
+@rinternals{fret-diagram-interface}.
@seealso
@seealso
-Program reference: @internalsref{StrokeFinger}
+Program reference: @rinternals{StrokeFinger}
@seealso
-Programmreferenz: @internalsref{Contexts}.
+Programmreferenz: @rinternals{Contexts}.
@lilypond[quote,ragged-right]
\include "engraver-example.ily"
Im Handbuch: @rlearning{Single staff}.
-Programmreferenz: @internalsref{AutoChangeMusic}.
+Programmreferenz: @rinternals{AutoChangeMusic}.
@knownissues
@seealso
-Programmreferenz: @internalsref{VoiceFollower}.
+Programmreferenz: @rinternals{VoiceFollower}.
@predefined
What is printed can be modified by setting @code{pedal@var{X}Strings},
where @var{X} is one of the pedal types: @code{Sustain},
@code{Sostenuto} or @code{UnaCorda}. Refer to
-@internalsref{SustainPedal} in the program reference for more
+@rinternals{SustainPedal} in the program reference for more
information.
Pedalbenutzung kann auch durch eine Anzahl von Klammern angezeigt
Die Erscheinung der Pedal-Klammer kann mit den Eigenschaften
@code{edge-width}, @code{edge-height} und @code{shorten-pair} des
@code{PianoPedalBracket}-Objekts verändert werden (siehe
-@internalsref{PianoPedalBracket} in der Programmreferenz). Zum
+@rinternals{PianoPedalBracket} in der Programmreferenz). Zum
Beispiel kann die Klammer bis zum rechten Ende eines Notenkopfes
verlängert werden.
@c obsolete, remove when translation is fully updated
@macro context{TEXT}
@vindex \TEXT\
-@code{\TEXT\}@c should use internalsref
+@code{\TEXT\}@c should use rinternals
@end macro
+@macro lydoctitle {TEXT}
+@emph{\TEXT\}
+
+@end macro
@macro funindex {TEXT}
@findex \TEXT\
@c Definitions for references:
-@c @internalsref
+@c @rinternals
@c @rglos
@c @rprogram
@c @ruser
@ifset bigpage
-@macro internalsref{TEXT}
+@macro rinternals{TEXT}
@vindex \TEXT\
@ref{\TEXT\,,,lilypond-internals-big-page,Programmreferenz}
@end macro
@ifclear bigpage
-@macro internalsref{TEXT}
+@macro rinternals{TEXT}
@vindex \TEXT\
@ref{\TEXT\,,,lilypond-internals,Programmreferenz}
@end macro
@ifdocbook
@c ***** DOCBOOK-XML *****
-@macro internalsref{TEXT}
+@macro rinternals{TEXT}
@vindex \TEXT\
@ref{\TEXT\,,,lilypond-internals,Programmreferenz}
@end macro
@ifinfo
@c **** INFO ****
-@macro internalsref{NAME}
+@macro rinternals{NAME}
@vindex \NAME\
@inforef{\NAME\,,lilypond-internals,Programmreferenz}
@end macro
@c **** TEX ****
@iftex
-@macro internalsref{TEXT}
+@macro rinternals{TEXT}
@vindex \TEXT\
@code{\TEXT\}
@end macro
@seealso
-Programmreferenz: @internalsref{RhythmicStaff}.
+Programmreferenz: @rinternals{RhythmicStaff}.
@node Entering percussion
@seealso
-Programmreferenz: @internalsref{note-event}.
+Programmreferenz: @rinternals{note-event}.
@node Percussion staves
@unnumberedsubsubsec Percussion staves
darstellt.
Um die Noten darstellen zu können, müssen sie sich innerhalb von
-einem @internalsref{DrumStaff}- und einem
-@internalsref{DrumVoice}-Kontext befinden.
+einem @rinternals{DrumStaff}- und einem
+@rinternals{DrumVoice}-Kontext befinden.
@lilypond[quote,ragged-right,verbatim]
up = \drummode { crashcymbal4 hihat8 halfopenhihat hh hh hh openhihat }
Das Beispiel zeigt ausdrücklich definierte mehrstimmige Notation. Die
Kurznotation für mehrstimmige Musik, wie sie im Abschnitt
@ref{Basic polyphony} beschrieben wird, kann auch verwendet werden,
-wenn die @internalsref{DrumVoice} (Schlagzeugstimmen) am Anfang explizit
+wenn die @rinternals{DrumVoice} (Schlagzeugstimmen) am Anfang explizit
initialisiert werden.
@lilypond[quote,ragged-right,fragment,verbatim]
Es gibt auch weitere Layout-Einstellungen. Um diese zu verwenden,
muss die Eigenschaft @code{drumStyleTable} im
-@internalsref{DrumVoice}-Kontext entsprechend eingestellt werden.
+@rinternals{DrumVoice}-Kontext entsprechend eingestellt werden.
Folgende Variablen sind vordefiniert:
@table @code
Init-Dateien: @file{ly/@/drumpitch@/-init@/.ly}.
-Programmreferenz: @internalsref{DrumStaff}, @internalsref{DrumVoice}.
+Programmreferenz: @rinternals{DrumStaff}, @rinternals{DrumVoice}.
@knownissues
@seealso
-Programmreferenz: @internalsref{LedgerLineSpanner},
-@internalsref{NoteHead}.
+Programmreferenz: @rinternals{LedgerLineSpanner},
+@rinternals{NoteHead}.
@node Cautionary accidentals
@seealso
-Programmreferenz: @internalsref{TransposedMusic}.
+Programmreferenz: @rinternals{TransposedMusic}.
Beispiel: @lsr{scheme,transpose-pitches-with-minimum-accidentals.ly}.
Handbuch: @ref{Grace notes}.
-Programmreferenz: @internalsref{Clef}.
+Programmreferenz: @rinternals{Clef}.
@node Key signature
@seealso
-Programmreferenz: @internalsref{KeyCancellation},
-@internalsref{KeySignature}.
+Programmreferenz: @rinternals{KeyCancellation},
+@rinternals{KeySignature}.
@node Ottava brackets
@seealso
-Programmreferenz: @internalsref{VoltaBracket},
-@internalsref{RepeatedMusic},
-@internalsref{VoltaRepeatedMusic} und
-@internalsref{UnfoldedRepeatedMusic}.
+Programmreferenz: @rinternals{VoltaBracket},
+@rinternals{RepeatedMusic},
+@rinternals{VoltaRepeatedMusic} und
+@rinternals{UnfoldedRepeatedMusic}.
Beispiele:
@seealso
-Programmreferenz: @internalsref{VoltaBracket},
-@internalsref{RepeatedMusic},
-@internalsref{VoltaRepeatedMusic} und
-@internalsref{UnfoldedRepeatedMusic}.
+Programmreferenz: @rinternals{VoltaBracket},
+@rinternals{RepeatedMusic},
+@rinternals{VoltaRepeatedMusic} und
+@rinternals{UnfoldedRepeatedMusic}.
@node Short repeats
@seealso
-Programmreferenz: @internalsref{RepeatSlash},
-@internalsref{PercentRepeat}, @internalsref{DoublePercentRepeat},
-@internalsref{DoublePercentRepeatCounter},
-@internalsref{PercentRepeatCounter},
-@internalsref{PercentRepeatedMusic}.
+Programmreferenz: @rinternals{RepeatSlash},
+@rinternals{PercentRepeat}, @rinternals{DoublePercentRepeat},
+@rinternals{DoublePercentRepeatCounter},
+@rinternals{PercentRepeatCounter},
+@rinternals{PercentRepeatedMusic}.
Im Handbuch: @ref{Tremolo subdivisions}, @ref{Repeats}.
-Programmreferenz: @internalsref{Beam}, @internalsref{StemTremolo}.
+Programmreferenz: @rinternals{Beam}, @rinternals{StemTremolo}.
@node Tremolo subdivisions
Im Handbuch: @ref{Tremolo repeats}.
-Programmreferenz: @internalsref{StemTremolo}.
+Programmreferenz: @rinternals{StemTremolo}.
@seealso
-Programmreferenz: @internalsref{Dots}, and @internalsref{DotColumn}.
+Programmreferenz: @rinternals{Dots}, and @rinternals{DotColumn}.
@node Tuplets
@seealso
-Programmreferenz: @internalsref{TupletBracket},
-@internalsref{TupletNumber} und @internalsref{TimeScaledMusic}.
+Programmreferenz: @rinternals{TupletBracket},
+@rinternals{TupletNumber} und @rinternals{TimeScaledMusic}.
@seealso
-Programmreferenz: @internalsref{Rest}.
+Programmreferenz: @rinternals{Rest}.
@node Skips
Durch ihn wird
überhaupt nichts gesetzt, auch keine transparenten Objekte.
-Die Überspringung mit @code{s} hingegen erstellt @internalsref{Staff} und
-@internalsref{Voice} wenn es erforderlich ist, genauso wie Noten und Pausen.
+Die Überspringung mit @code{s} hingegen erstellt @rinternals{Staff} und
+@rinternals{Voice} wenn es erforderlich ist, genauso wie Noten und Pausen.
Das folgende Beispiel etwa setzt ein leeres Notensystem:
@lilypond[quote,ragged-right,verbatim]
@seealso
-Programmreferenz: @internalsref{SkipMusic}.
+Programmreferenz: @rinternals{SkipMusic}.
@node Multi measure rests
@code{timeSignatureFraction}, @code{beatLength}
und @code{measureLength} im @code{Timing}-Kontext ein,
der normalerweise zu den Eigenschaften aller System
-(@internalsref{Score}-Ebene) gehört. Die Eigenschaft
+(@rinternals{Score}-Ebene) gehört. Die Eigenschaft
@code{measureLenght} bestimmt, wo Taktlinien eingefügt werden,
und wie automatische Balken gesetzt werden. Ein Verändern
der Eigenschaften von @code{timeSignatureFraction} gibt
Auf weitere Optionen kann man über die Scheme-Funktion
@code{set-time-signature} zugreifen. In Kombination mit
-@internalsref{Measure_grouping_engraver} werden hiermit
-@internalsref{MeasureGrouping}-Zeichen erzeugt. Solche
+@rinternals{Measure_grouping_engraver} werden hiermit
+@rinternals{MeasureGrouping}-Zeichen erzeugt. Solche
Zeichen erleichtern es, rhythmisch komplexe moderne Musik
zu lesen. Im nächsten Beispiel ist der 9/8-Takt in 2, 2, 2
und 3 Achtel unterteilt. Das wird im dritten Argument an
@seealso
-Programmreferenz: @internalsref{TimeSignature} und
-@internalsref{Timing_translator}.
+Programmreferenz: @rinternals{TimeSignature} und
+@rinternals{Timing_translator}.
Beispiele: @lsr{contemporary,compound-time-signature.ly}.
@unnumberedsubsubsec Automatic note splitting
Lange Noten können automatisch in übergebundene Noten aufgeteilt werden.
-Dieses Verhalten erreicht man, indem der @internalsref{Note_heads_engraver}
-mit dem @internalsref{Completion_heads_engraver} ausgetauscht wird.
+Dieses Verhalten erreicht man, indem der @rinternals{Note_heads_engraver}
+mit dem @rinternals{Completion_heads_engraver} ausgetauscht wird.
Im nächsten Beispiel werden Noten, die über die Taktlinie dauern, aufgeteilt
und übergebunden.
Wenn Sie wollen, dass auch Zeilenumbrüche an den Stellen, an denen
automatisch Noten aufgeteilt wurden, stattfinden, müssen Sie auch
-den Formatierer @internalsref{Forbid_line_break_engraver} mit
+den Formatierer @rinternals{Forbid_line_break_engraver} mit
dem @code{\remove}-Befehl entfernen.
@seealso
-Programmreferenz: @internalsref{Completion_heads_engraver}.
+Programmreferenz: @rinternals{Completion_heads_engraver}.
@node Beams
@seealso
-Programmreferenz: @internalsref{Beam}.
+Programmreferenz: @rinternals{Beam}.
@node Manual beams
Im Handbuch: @ref{Repeats}, @ref{System start delimiters}.
-Programmreferenz: @internalsref{BarLine} (auf Partitur
-(@internalsref{Staff})-Ebene erstellt),
-@internalsref{SpanBar} (zwischen Systemen).
+Programmreferenz: @rinternals{BarLine} (auf Partitur
+(@rinternals{Staff})-Ebene erstellt),
+@rinternals{SpanBar} (zwischen Systemen).
@node Bar numbers
@seealso
-Programmreferenz: @internalsref{GraceMusic}.
+Programmreferenz: @rinternals{GraceMusic}.
@knownissues
}
@end lilypond
-Dieser Trenner veranlasst, dass Stimmen (@internalsref{Voice})
+Dieser Trenner veranlasst, dass Stimmen (@rinternals{Voice})
-Kontexte@footnote{Polyphone Stimmen werden in anderen
Programmen teilweise als @qq{layers} (Schichten) bezeichnet.}
@cindex Layers
@node Explicitly instantiating voices
@unnumberedsubsubsec Explicitly instantiating voices
-@internalsref{Voice}-Kontexte können auch manuell innerhalb
+@rinternals{Voice}-Kontexte können auch manuell innerhalb
eines @code{<< >>}-Abschnittes initiiert werden. Mit den Befehlen
@code{\voiceOne} bis hin zu @code{\voiceFour} kann jeder Stimme
entsprechendes Verhalten von vertikaler Verschiebung und Richtung
Normalerweise werden Notenköpfe mit einer unterschiedlichen Anzahl
von Punktierungen nicht verschmolzen, aber wenn die Objekt-Eigenschaft
@code{merge-differently-dotted} in ein
-Notenkollisions (@internalsref{NoteCollision})-Objekt gesetzt wird,
+Notenkollisions (@rinternals{NoteCollision})-Objekt gesetzt wird,
werden sie zusammengefasst.
@lilypond[quote,verbatim,fragment,ragged-right,relative=2]
Wenn LilyPond selber keine Lösung bieten kann, können die
Eigenschaft @code{force-hshift} des
-@internalsref{NoteColumn}-Objektes (siehe unten)
+@rinternals{NoteColumn}-Objektes (siehe unten)
sowie Pausen mit definierter Tonhöhe eingesetzt werden,
um Satzentscheidungen des Programmes zu überschreiben.
Programmreferenz: Die Objekte, die für Auflösung von Zusammenstößen
zuständig sind, sind
-@internalsref{NoteCollision} und @internalsref{RestCollision}.
+@rinternals{NoteCollision} und @rinternals{RestCollision}.
@knownissues
@itemize @bullet
@item Die Gruppe wird mit einer Klammer an der linken Seite geöffnet und
die Taktlinien sind verbunden. Das ist der Klaviersystem
-(@internalsref{GrandStaff})-Kontext.
+(@rinternals{GrandStaff})-Kontext.
@lilypond[verbatim,ragged-right,quote]
\new GrandStaff
@item Die Gruppe beginnt mit einer Klammer und die Taktlinien sind verbunden.
Dieses Verhalten erzeugt der Stimmgruppen
-(@internalsref{StaffGroup})-Kontext.
+(@rinternals{StaffGroup})-Kontext.
@lilypond[verbatim,ragged-right,quote]
\new StaffGroup
@item Die Gruppe beginnt mit einer Klammer, aber die Taktlinien sind nicht
miteinander verbunden. Das wird mit dem Chorsystem
-(@internalsref{ChoirStaff})-Kontext erreicht.
+(@rinternals{ChoirStaff})-Kontext erreicht.
@lilypond[verbatim,ragged-right,quote]
\new ChoirStaff
@seealso
Die Definition der Taktlinien am Beginn jedes Systems werden mit
-den Befehlen @internalsref{SystemStartBar}, @internalsref{SystemStartBrace}
-und @internalsref{SystemStartBracket} festgelegt. Nur einer dieser
+den Befehlen @rinternals{SystemStartBar}, @rinternals{SystemStartBrace}
+und @rinternals{SystemStartBracket} festgelegt. Nur einer dieser
drei Typen wird in jedem Kontext erstellt, und dieser Typ wird durch
die @code{systemStartDelimiter}-Eigenschaft bestimmt.
@seealso
-Programmreferenz: @internalsref{StaffSymbol}.
+Programmreferenz: @rinternals{StaffSymbol}.
Beispiele: @lsrdir{staff}
@quotation
@seealso
-Programmreferenz: @internalsref{DynamicText}, @internalsref{Hairpin}.
+Programmreferenz: @rinternals{DynamicText}, @rinternals{Hairpin}.
Vertikale Positionierung dieser Symbole wird mit
-@internalsref{DynamicLineSpanner} erreicht.
+@rinternals{DynamicLineSpanner} erreicht.
@end quotation
@noindent
Para la notación antigua, se puede elegir un estilo de cabezas de notas distinto al @code{default}
(estilo por defecto). Esto se consigue estableciendo la propiedad @code{style}
-del objeto @internalsref{NoteHead} a los valores @code{baroque},
+del objeto @rinternals{NoteHead} a los valores @code{baroque},
@code{neomensural}, @code{mensural} o @code{petrucci}. El estilo
@code{baroque} se diferencia del estilo por defecto @code{default} únicamente en que usa
una forma cuadrada para las cabezas de las @code{\breve}. El estilo
@end lilypond
Cuando se tipografía una pieza en notación de Canto Gregoriano, el grabador
-@internalsref{Gregorian_ligature_engraver} selecciona automáticamente
+@rinternals{Gregorian_ligature_engraver} selecciona automáticamente
las cabezas adecuadas, de manera que no es necesario establecer el estilo de las cabezas
explícitamente. Aún así, el estilo de las cabezas se puede establecer, p.ej., a
@code{vaticana_punctum} para producir neumas punctum. De forma similar, se utiliza un grabador
-@internalsref{Mensural_ligature_engraver} para construir automáticamente
+@rinternals{Mensural_ligature_engraver} para construir automáticamente
ligaduras mensurales. Consulte @ref{Ligatures} para ver cómo funcionan los grabadores
de las ligaduras.
Utilice la propiedad @code{glyph-name-alist} del elemento gráfico
-@internalsref{Accidental} y @internalsref{KeySignature} para seleccionar
+@rinternals{Accidental} y @rinternals{KeySignature} para seleccionar
los símbolos de alteración de la notación antigua.
@lilypond[quote,ragged-right,staffsize=26]
De forma similar a las alteraciones accidentales, el estilo de la armadura de la tonalidad se puede
controlar a través de la propiedad @code{glyph-name-alist} del elemento gráfico
-@internalsref{KeySignature}.
+@rinternals{KeySignature}.
@seealso
alteraciones. @ref{Key signature} ofrece una introducción general al uso de
las armaduras de tonalidad.
-Referencia del programa: @internalsref{KeySignature}.
+Referencia del programa: @rinternals{KeySignature}.
Ejemplos: @lsrdir{ancient}
@cindex silencios antiguos
-Utilice la propiedad @code{style} del elemento gráfico @internalsref{Rest} para seleccionar
+Utilice la propiedad @code{style} del elemento gráfico @rinternals{Rest} para seleccionar
silencios antiguos. Los estilos contemplados son @code{classical},
@code{neomensural} y @code{mensural}. @code{classical} se diferencia
del estilo por defecto @code{default} solamente en que el silencio de negra parece
@cindex corchetes
-Utilice la propiedad @code{flag-style} del elemento gráfico @internalsref{Stem} para seleccionar
+Utilice la propiedad @code{flag-style} del elemento gráfico @rinternals{Stem} para seleccionar
los corchetes de estilo antiguo. Aparte del estilo de corchete por defecto @code{default},
sólo está contemplado el estilo @code{mensural}
}
@end lilypond
-Utilice la propiedad @code{style} del elemento gráfico @internalsref{TimeSignature} para
+Utilice la propiedad @code{style} del elemento gráfico @rinternals{TimeSignature} para
seleccionar las indicaciones de compás de la música antigua. Los estilos contemplados son
@code{neomensural} y @code{mensural}. La tabla anterior utiliza el
estilo @code{neomensural}. Este estilo es adecuado para el
como la @emph{editio vaticana}. Hay distintos glifos para el custos
que se utilizan en las diferentes variaciones de estilo notacional.
-Para tipografiar las custodias, simplemente coloque un grabador @internalsref{Custos_engraver} dentro del contexto
-@internalsref{Staff} (el contexto del pentagrama) al declarar el bloque de @code{\layout} (el bloque de disposición de la página),
+Para tipografiar las custodias, simplemente coloque un grabador @rinternals{Custos_engraver} dentro del contexto
+@rinternals{Staff} (el contexto del pentagrama) al declarar el bloque de @code{\layout} (el bloque de disposición de la página),
como se muestra en el ejemplo siguiente:
@example
@seealso
-Referencia del programa: @internalsref{Custos}.
+Referencia del programa: @rinternals{Custos}.
Ejemplos:
@lsr{ancient,custodes@/.ly}.
En el presente manual: @ref{Breath marks}.
-Referencia del programa: @internalsref{BreathingSign}.
+Referencia del programa: @rinternals{BreathingSign}.
Ejemplos: @lsr{expressive,breathing-sign.ly}.
Las ligaduras se escriben encerrándolas dentro de un par @code{\[} y @code{\]}.
Ciertos estilos de ligadura podrían necesitar una sintaxis de entrada adicional específica para
este tipo de ligadura en particular. Por defecto, el grabador
-@internalsref{LigatureBracket} se limita a colocar un corchete recto
+@rinternals{LigatureBracket} se limita a colocar un corchete recto
sobre la ligadura
@lilypond[quote,ragged-right,verbatim]
@end lilypond
Para seleccionar un estilo de ligaduras específico, se debe añadir el grabador adecuado
-al contexto @internalsref{Voice}, tal y como se explica en los
+al contexto @rinternals{Voice}, tal y como se explica en los
sub-apartados siguientes. Solamente están contempladas las ligaduras mensurales
blancas con ciertas limitaciones.
Las ligaduras mensurales blancas están contempladas de forma limitada.
Para grabar ligaduras mensurales blancas, en el bloque layout o de disposición de la página coloque el grabador
-@internalsref{Mensural_ligature_engraver} dentro del contexto
-@internalsref{Voice}, y elimine el grabador
-@internalsref{Ligature_bracket_engraver}, de la siguiente manera:
+@rinternals{Mensural_ligature_engraver} dentro del contexto
+@rinternals{Voice}, y elimine el grabador
+@rinternals{Ligature_bracket_engraver}, de la siguiente manera:
@example
\layout @{
}
@end lilypond
-Si no se sustituye el grabador @internalsref{Ligature_bracket_engraver} por el
-@internalsref{Mensural_ligature_engraver}, la misma música se transcribe
+Si no se sustituye el grabador @rinternals{Ligature_bracket_engraver} por el
+@rinternals{Mensural_ligature_engraver}, la misma música se transcribe
de la siguiente manera:
@lilypond[quote,ragged-right]
@seealso
-Referencia del programa: el grabador @internalsref{Accidental_engraver} y el objeto
-@internalsref{AccidentalSuggestion}.
+Referencia del programa: el grabador @rinternals{Accidental_engraver} y el objeto
+@rinternals{AccidentalSuggestion}.
@node Figured bass
@subsubsection Figured bass
El soporte para el bajo cifrado consta de dos partes: hay un modo de entrada,
que se inicia mediante @code{\figuremode}, en el que puede escribir las cifras del bajo
-como números, y hay un contexto llamado @internalsref{FiguredBass} que se ocupa
-de crear los objetos @internalsref{BassFigure} (cifras del bajo).
+como números, y hay un contexto llamado @rinternals{FiguredBass} que se ocupa
+de crear los objetos @rinternals{BassFigure} (cifras del bajo).
En el modo de entrada de cifras, un grupo de cifras del bajo se encuentra delimitado por
los paréntesis en ángulo @code{<} y @code{>}. La duración se introduce después del ángulo de cierre @code{>}
Aunque posiblemente la forma en que está contemplado el bajo cifrado se parece superficialmente a los
acordes, es mucho más simple. El modo @code{\figuremode} sencillamente
-almacena los números, y el contexto @internalsref{FiguredBass} los imprime
+almacena los números, y el contexto @rinternals{FiguredBass} los imprime
tal y como se han escrito. No hay ninguna conversión a alturas de nota ni se reproduce ninguna realización
del bajo en el archivo MIDI.
@seealso
-Referencia del programa: Objetos @internalsref{NewBassFigure},
-@internalsref{BassFigureAlignment}, @internalsref{BassFigureLine},
-@internalsref{BassFigureBracket} y
-@internalsref{BassFigureContinuation} y el contexto
-@internalsref{FiguredBass}.
+Referencia del programa: Objetos @rinternals{NewBassFigure},
+@rinternals{BassFigureAlignment}, @rinternals{BassFigureLine},
+@rinternals{BassFigureBracket} y
+@rinternals{BassFigureContinuation} y el contexto
+@rinternals{FiguredBass}.
En la referencia del programa se encuentra una descripción completa de todos los contextos que están disponibles,
consulte
@ifhtml
-@internalsref{Contexts}.
+@rinternals{Contexts}.
@end ifhtml
@ifnothtml
Traducción @expansion{} Contexto.
@noindent
el argumento @var{contexto} para la instrucción @code{\set} está omitido, por tanto
-el barrado automático está desactivado en la @internalsref{Voice} (voz) actual. Fíjese en que
+el barrado automático está desactivado en la @rinternals{Voice} (voz) actual. Fíjese en que
el contexto más bajo no siempre contiene la propiedad que quiere
cambiar. Por ejemplo, si intenta establecer la propiedad @code{skipBars}
(del contexto más bajo, en este caso @code{Voice}) no se producirá ningún
En la referencia del programa hay una descripción detallada de todas las propiedades de contexto disponibles,
véase
@ifhtml
-@internalsref{Tunable context properties}.
+@rinternals{Tunable context properties}.
@end ifhtml
@ifnothtml
Traducción @expansion{} propiedades de contexto ajustables.
Para ver una descripción completa de cada uno de los añadidos, consulte
@ifhtml
-@internalsref{Engravers}.
+@rinternals{Engravers}.
@end ifhtml
@ifnothtml
Referencia del programa @expansion Traducción @expansion{} Grabadores.
@end ifnothtml
cada uno de los contextos descritos en
@ifhtml
-@internalsref{Contexts}
+@rinternals{Contexts}
@end ifhtml
@ifnothtml
Referencia del programa @expansion Traducción @expansion{} Contexto.
@seealso
-Funcionamiento interno: @internalsref{OverrideProperty}, @internalsref{RevertProperty},
-@internalsref{PropertySet}, @internalsref{Backend} y
-@internalsref{All layout objects}.
+Funcionamiento interno: @rinternals{OverrideProperty}, @rinternals{RevertProperty},
+@rinternals{PropertySet}, @rinternals{Backend} y
+@rinternals{All layout objects}.
@knownissues
squashedPosition = #0
@end example
-El grabador @internalsref{Pitch_squash_engraver} modifica las cabezas de nota (creadas
-por el grabador @internalsref{Note_heads_engraver}) y establece sus posiciones verticales
+El grabador @rinternals{Pitch_squash_engraver} modifica las cabezas de nota (creadas
+por el grabador @rinternals{Note_heads_engraver}) y establece sus posiciones verticales
al valor de @code{squashedPosition}, en este caso@tie{}@code{0},
la línea central.
Todos estos añadidos tienen que cooperar, y esto se consigue con un añadido especial,
que se debe marcar con la palabra clave @code{\type}.
-Este será siempre @internalsref{Engraver_group},
+Este será siempre @rinternals{Engraver_group},
@example
\type "Engraver_group"
@quotation
@seealso
-Referencia de funcionamiento interno: @internalsref{Fingering}.
+Referencia de funcionamiento interno: @rinternals{Fingering}.
@end quotation
forward. For example, it says
@quotation
-Accepted by: @internalsref{Fingering_engraver},
+Accepted by: @rinternals{Fingering_engraver},
@end quotation
@noindent
plug-in, which says
@quotation
-This engraver creates the following layout objects: @internalsref{Fingering}.
+This engraver creates the following layout objects: @rinternals{Fingering}.
@end quotation
In other words, once the @code{FingerEvent}s are interpreted, the
@code{Fingering_engraver} plug-in will process them.
@c I can't figure out what this is supposed to mean. -gp
The @code{Fingering_engraver} is also listed to create
-@internalsref{Fingering} objects,
+@rinternals{Fingering} objects,
@c old info? it doesn't make any sense to me with our current docs.
This is also the
formato PDF.
@end ifnothtml
-Siga el enlace que lleva a @internalsref{Fingering}. Al principio de la página,
+Siga el enlace que lleva a @rinternals{Fingering}. Al principio de la página,
puede ver
@quotation
-Los objetos de digitación se crean por parte de: @internalsref{Fingering_engraver} y
-@internalsref{New_fingering_engraver}.
+Los objetos de digitación se crean por parte de: @rinternals{Fingering_engraver} y
+@rinternals{New_fingering_engraver}.
@end quotation
Siguiendo los enlaces relacionados dentro de la referencia del programa, podemos seguir el
@itemize
-@item @internalsref{Fingering}:
-los objetos @internalsref{Fingering} se crean por parte de:
-@internalsref{Fingering_engraver}
+@item @rinternals{Fingering}:
+los objetos @rinternals{Fingering} se crean por parte de:
+@rinternals{Fingering_engraver}
-@item @internalsref{Fingering_engraver}:
-Tipos de música aceptados: @internalsref{fingering-event}
+@item @rinternals{Fingering_engraver}:
+Tipos de música aceptados: @rinternals{fingering-event}
-@item @internalsref{fingering-event}:
+@item @rinternals{fingering-event}:
El tipo de evento musical @code{fingering-event} está descrito en Expresiones musicales con el nombre de
-@internalsref{FingerEvent}
+@rinternals{FingerEvent}
@end itemize
Este camino se recorre en contra de la corriente de información del programa: comienza
La referencia del programa también se puede examinar como un documento normal. Contiene
capítulos que tratan de
@ifhtml
-@internalsref{Music definitions},
+@rinternals{Music definitions},
@end ifhtml
@ifnothtml
@code{Music definitions}
@end ifnothtml
-de la @internalsref{Translation}, y del @internalsref{Backend}. Cada uno de los capítulos
+de la @rinternals{Translation}, y del @rinternals{Backend}. Cada uno de los capítulos
relaciona todas las definiciones utilizadas y todas las propiedades que se pueden
ajustar.
@cindex grob
La página HTML que pudimos ver en la sección anterior describe el
-objeto de presentación llamado @internalsref{Fingering}. Dicho objeto es un
+objeto de presentación llamado @rinternals{Fingering}. Dicho objeto es un
símbolo dentro de la partitura. Tiene propiedades que guardan números (como
grosores y direcciones), pero también punteros a objetos relacionados. Un
objeto de presentación también se llama un @emph{Grob}, que es una abreviatura de Graphical
-Object (objeto gráfico). Para ver más detalles acerca de los objetos gráficos o Grobs, consulte @internalsref{grob-interface}.
+Object (objeto gráfico). Para ver más detalles acerca de los objetos gráficos o Grobs, consulte @rinternals{grob-interface}.
La página dedicada a @code{Fingering} relaciona las definiciones del objeto
@code{Fingering}. Por ejemplo, la página dice
@end itemize
Cada uno de estos aspectos se capta en lo que se llaman @emph{interface}s,
-que se relacionan al final de la página dedicada a @internalsref{Fingering}
+que se relacionan al final de la página dedicada a @rinternals{Fingering}
@quotation
Este objeto contempla los siguientes interfaces:
-@internalsref{item-interface},
-@internalsref{self-alignment-interface},
-@internalsref{side-position-interface}, @internalsref{text-interface},
-@internalsref{text-script-interface}, @internalsref{font-interface},
-@internalsref{finger-interface} y @internalsref{grob-interface}.
+@rinternals{item-interface},
+@rinternals{self-alignment-interface},
+@rinternals{side-position-interface}, @rinternals{text-interface},
+@rinternals{text-script-interface}, @rinternals{font-interface},
+@rinternals{finger-interface} y @rinternals{grob-interface}.
@end quotation
Al pulsar sobre cualquiera de los enlaces nos desplazaremos a la página del respectivo interfaz del
En este caso, el contexto de este truco es @code{Voice}. Este
hecho se puede deducir también a partir de la referencia del programa, ya que la página dedicada al
-añadido @internalsref{Fingering_engraver} dice
+añadido @rinternals{Fingering_engraver} dice
@quotation
-El grabador Fingering_engraver es parte de los contextos: @dots{} @internalsref{Voice}
+El grabador Fingering_engraver es parte de los contextos: @dots{} @rinternals{Voice}
@end quotation
aplicar.
Esta técnica sólo funciona para los objetos que están conectados directamente a
-un @internalsref{Event} (evento) del texto de entrada, por ejemplo
+un @rinternals{Event} (evento) del texto de entrada, por ejemplo
@itemize
@item cabezas de nota, producidas por chord-pitch (p. ej.: las notas de un acorde)
si es así, establece @code{extra-offset}.
@end itemize
-Este procedimiento se instala dentro de @internalsref{Tie} (ligadura de unión), de forma que la última parte
+Este procedimiento se instala dentro de @rinternals{Tie} (ligadura de unión), de forma que la última parte
de la ligadura dividida se traslada hacia arriba.
@c KEEP LY
@cindex acordes, nombres de
@cindex acordes
-Para la presentación de los nombres de acordes impresos utilice el contexto @internalsref{ChordNames}.
+Para la presentación de los nombres de acordes impresos utilice el contexto @rinternals{ChordNames}.
Los acordes se puede introducir o bien usando la notación
descrita anteriormente, o directamente usando @code{<} y @code{>}
@end lilypond
Puede hacer que los cambios de acorde se hagan notar, estableciendo
-@internalsref{ChordNames}.@code{chordChanges} al valor verdadero. Esto sólo
+@rinternals{ChordNames}.@code{chordChanges} al valor verdadero. Esto sólo
mostrará los nombres de los acordes cuando ocurra un cambio en la estructura de acordes y al comienzo
de una línea
Todos los ejemplos anteriores muestran los acordes sobre una pauta. Esto no es
necesario. Los acordes también se pueden imprimir por separado. Puede ser necesario
-añadir @internalsref{Volta_engraver} y @internalsref{Bar_engraver}
+añadir @rinternals{Volta_engraver} y @rinternals{Bar_engraver}
para mostrar las repeticiones.
@lilypond[ragged-right,verbatim]
que tiene un convertidor para un formato directo.
@command{midi2ly} convierte las pistas en contextos de
-@internalsref{Staff}) y los canales en contextos de
-@internalsref{Voice}. Se utiliza el modo relativo para las alturas, y
+@rinternals{Staff}) y los canales en contextos de
+@rinternals{Voice}. Se utiliza el modo relativo para las alturas, y
las duraciones se escriben solamente cuando es necesario.
Es posible grabar un archivo MIDI usando un teclado digital y
@lsrdir{Editorial,Editorial-annotations}.
Referencia de funcionamiento interno:
-@internalsref{fontSize},
-@internalsref{font-size},
-@internalsref{font-interface}.
+@rinternals{fontSize},
+@rinternals{font-size},
+@rinternals{font-interface}.
@node Fingering instructions
@lsrdir{Editorial,Editorial-annotations}.
Referencia de funcionamiento interno:
-@internalsref{FingeringEvent},
-@internalsref{fingering-event},
-@internalsref{Fingering_engraver},
-@internalsref{New_fingering_engraver},
-@internalsref{Fingering}.
+@rinternals{FingeringEvent},
+@rinternals{fingering-event},
+@rinternals{Fingering_engraver},
+@rinternals{New_fingering_engraver},
+@rinternals{Fingering}.
@node Hidden notes
@lsrdir{Editorial,Editorial-annotations}.
Referencia de funcionamiento interno:
-@internalsref{Note_spacing_engraver},
-@internalsref{NoteSpacing}.
+@rinternals{Note_spacing_engraver},
+@rinternals{NoteSpacing}.
@node Coloring objects
@lsrdir{Editorial,Editorial-annotations}.
Referencia de funciionamiento interno:
-@internalsref{Parenthesis_engraver},
-@internalsref{ParenthesesItem},
-@internalsref{parentheses-interface}.
+@rinternals{Parenthesis_engraver},
+@rinternals{ParenthesesItem},
+@rinternals{parentheses-interface}.
@node Stems
@lsrdir{Editorial,Editorial-annotations}.
Referencia de funcionamiento interno:
-@internalsref{Stem_engraver},
-@internalsref{Stem},
-@internalsref{stem-interface}.
+@rinternals{Stem_engraver},
+@rinternals{Stem},
+@rinternals{stem-interface}.
@node Outside the staff
@lsrdir{Editorial,Editorial-annotations}.
Referencia de funcionamiento interno:
-@internalsref{Balloon_engraver},
-@internalsref{BalloonTextItem},
-@internalsref{balloon-interface}.
+@rinternals{Balloon_engraver},
+@rinternals{BalloonTextItem},
+@rinternals{balloon-interface}.
@node Grid lines
@lsrdir{Editorial,Editorial-annotations}.
Referencia de funcionamiento interno:
-@internalsref{Grid_line_span_engraver},
-@internalsref{Grid_point_engraver},
-@internalsref{GridLine},
-@internalsref{GridPoint},
-@internalsref{grid-line-interface},
-@internalsref{grid-point-interface}.
+@rinternals{Grid_line_span_engraver},
+@rinternals{Grid_point_engraver},
+@rinternals{GridLine},
+@rinternals{GridPoint},
+@rinternals{grid-line-interface},
+@rinternals{grid-point-interface}.
@node Analysis brackets
@lsrdir{Editorial,Editorial-annotations}.
Referencia de funcionamiento interno:
-@internalsref{Horizontal_bracket_engraver},
-@internalsref{HorizontalBracket},
-@internalsref{horizontal-bracket-interface},
-@internalsref{Staff}.
+@rinternals{Horizontal_bracket_engraver},
+@rinternals{HorizontalBracket},
+@rinternals{horizontal-bracket-interface},
+@rinternals{Staff}.
Fragmentos de código: @lsrdir{Expressive,Expressive-marks}
-Referencia de funcionamiento interno: @internalsref{Script},
-@internalsref{TextScript}.
+Referencia de funcionamiento interno: @rinternals{Script},
+@rinternals{TextScript}.
@knownissues
Esto puede dar lugar a reguladores excesivamente cortos. Para
alargarlos, utilice por ejemplo @code{minimum-length} dentro de
-@internalsref{Voice}.@internalsref{Hairpin}:
+@rinternals{Voice}.@rinternals{Hairpin}:
@example
\override Voice.Hairpin #'minimum-length = #5
con los matices, consulte @ref{New dynamic marks}.
El posicionamiento vertical de las expresiones dinámicas se gestiona a
-través de @internalsref{DynamicLineSpanner}.
+través de @rinternals{DynamicLineSpanner}.
@predefined
Fragmentos de código: @lsrdir{Expressive,Expressive-marks}
-Referencia de funcionamiento interno: @internalsref{DynamicText},
-@internalsref{Hairpin}. El posicionamiento vertical de estos símbolos
-se maneja por parte de @internalsref{DynamicLineSpanner}.
+Referencia de funcionamiento interno: @rinternals{DynamicText},
+@rinternals{Hairpin}. El posicionamiento vertical de estos símbolos
+se maneja por parte de @rinternals{DynamicLineSpanner}.
@node Curves
@subsection Curves
@seealso
-Referencia del programa: @internalsref{Slur}.
+Referencia del programa: @rinternals{Slur}.
@node Phrasing slurs
@seealso
-Referencia del programa: @internalsref{PhrasingSlur}.
+Referencia del programa: @rinternals{PhrasingSlur}.
@node Breath marks
@subsubsection Breath marks
@seealso
-Referencia del programa: @internalsref{BreathingSign}.
+Referencia del programa: @rinternals{BreathingSign}.
Ejemplos: @lsr{expressive,breathing-sign.ly}
@seealso
-Referencia del programa: @internalsref{Glissando}.
+Referencia del programa: @rinternals{Glissando}.
Archivos de ejemplo:
@lsr{expressive,glissando.ly}, @lsr{expressive,line-styles.ly}
Fragmentos de código: @lsrdir{Expressive,Expressive-marks}
-Referencia de funcionamiento interno: @internalsref{Arpeggio},
-@internalsref{PianoStaff}.
+Referencia de funcionamiento interno: @rinternals{Arpeggio},
+@rinternals{PianoStaff}.
@knownissues
No es posible mezclar arpegios conectados y no conectados en un
-@internalsref{PianoStaff} en el mismo instante de tiempo.
+@rinternals{PianoStaff} en el mismo instante de tiempo.
@node Trills
Fragmentos de código: @lsrdir{Expressive,Expressive-marks}
-Referencia de funcionamiento interno: @internalsref{TrillSpanner}.
+Referencia de funcionamiento interno: @rinternals{TrillSpanner}.
@seealso
-Referencia del programa: @internalsref{StringNumber},
+Referencia del programa: @rinternals{StringNumber},
@lsr{guitar/,string-number.ly}.
seguida por un número, p.ej. @code{c4\3} es un Do negra sobre la tercera cuerda.
Por defecto, la cuerda 1 es la más aguda, y la afinación normal
es la afinación estándar de guitarra (con 6 cuerdas). Las notas
-se imprimen como tablatura, usando lo contextos @internalsref{TabStaff} y
-@internalsref{TabVoice}
+se imprimen como tablatura, usando lo contextos @rinternals{TabStaff} y
+@rinternals{TabVoice}
@lilypond[quote,ragged-right,fragment,verbatim]
\new TabStaff {
@seealso
-Referencia del programa: @internalsref{TabStaff}, @internalsref{TabVoice}.
+Referencia del programa: @rinternals{TabStaff}, @rinternals{TabVoice}.
@knownissues
El archivo @file{scm/@/output@/-lib@/.scm} contiene las afinaciones predefinidas
de las cuerdas.
-Referencia del programa: @internalsref{Tab_note_heads_engraver}.
+Referencia del programa: @rinternals{Tab_note_heads_engraver}.
@knownissues
Puede establecer un cierto número de propiedades gráficas según su elección.
Se pueden encontrar más detalles sobre el interface de las propiedades de los diagramas de trastes en
-@internalsref{fret-diagram-interface}.
+@rinternals{fret-diagram-interface}.
@seealso
@seealso
-Referencia del programa: @internalsref{StrokeFinger}
+Referencia del programa: @rinternals{StrokeFinger}
En la referencia del programa se encuentra una descripción completa de todos los contextos que están disponibles,
consulte
@ifhtml
-@internalsref{Contexts}.
+@rinternals{Contexts}.
@end ifhtml
@ifnothtml
Traducción @expansion{} Contexto.
@c -*- coding: utf-8; mode: texinfo; -*-
@c This file is part of lilypond.tely
@ignore
- Translation of GIT committish: 03184badb3c2378e1ab3eec6ee62a6bdc0609082
+ Translation of GIT committish: 23542761090f167ad42dbff7ef11d44a9c1374ac
When revising a translation, copy the HEAD committish of the
version that you are working on. See TRANSLATION for details.
la funcionalidad del programa quedaba como esculpida en piedra por los desarrolladores.
Este esquema resultó no ser muy satisfactorio por una serie de motivos:
-@itemize @bullet
+@itemize
@item Cuando LilyPond comete fallos,
los usuarios tienen la necesidad de superar las decisiones de formateo. Por
ello el usuario debe tener acceso
@seealso
-Referencia de funcionamiento interno: @internalsref{Contexts}.
+Referencia de funcionamiento interno: @rinternals{Contexts}.
@lilypond[quote,ragged-right]
\include "engraver-example.ily"
En este manual: @ref{Inside the staff}.
-Referencia del programa: @internalsref{AutoChangeMusic}.
+Referencia del programa: @rinternals{AutoChangeMusic}.
@seealso
-Referencia de funcionamiento interno: @internalsref{VoiceFollower}.
+Referencia de funcionamiento interno: @rinternals{VoiceFollower}.
@predefined
Es posible modificar lo que se imprime estableciendo @code{pedal@var{X}Strings},
donde @var{X} es uno de los tipos de pedal: @code{Sustain},
@code{Sostenuto} o @code{UnaCorda}. Consulte
-@internalsref{SustainPedal} dentro de la referencia del programa para más
+@rinternals{SustainPedal} dentro de la referencia del programa para más
información.
Los pedales se pueden indicar también mediante una secuencia de corchetes, estableciendo la
Para hacer un ajuste fino del aspecto de un corchete de pedal, se
pueden modificar las propiedades @code{edge-width}, @code{edge-height}
y @code{shorten-pair} de los objetos @code{PianoPedalBracket} (véase
-@internalsref{PianoPedalBracket} en la Referencia del programa). Por
+@rinternals{PianoPedalBracket} en la Referencia del programa). Por
ejemplo, el corchete se puede extender hasta el borde derecho de la
cabeza de la nota
@c * Deprecated: not in English macros.itexi *
@macro context{TEXT}
@vindex \TEXT\
-@code{\TEXT\}@c should use internalsref
+@code{\TEXT\}@c should use rinternals
@end macro
@c * Deprecated: not in English macros.itexi *
@code{\TEXT\}
@end macro
+@macro lydoctitle {TEXT}
+@emph{\TEXT\}
+
+@end macro
+
@macro funindex {TEXT}
@findex \TEXT\
@kindex \TEXT\
@c Definitions for references:
-@c @internalsref
+@c @rinternals
@c @rglos
@c @rprogram
@c @ruser
@ifset bigpage
-@macro internalsref{TEXT}
+@macro rinternals{TEXT}
@vindex \TEXT\
@ref{\TEXT\,,,lilypond-internals-big-page,Referencia de Funcionamiento Interno}
@end macro
@ifclear bigpage
-@macro internalsref{TEXT}
+@macro rinternals{TEXT}
@vindex \TEXT\
@ref{\TEXT\,,,lilypond-internals,Referencia de Funcionamiento Interno}
@end macro
@ifdocbook
@c ***** DOCBOOK-XML *****
-@macro internalsref{TEXT}
+@macro rinternals{TEXT}
@vindex \TEXT\
@ref{\TEXT\,,,lilypond-internals,Referencia de Funcionamiento Interno}
@end macro
@ifinfo
@c **** INFO ****
-@macro internalsref{TEXT}
+@macro rinternals{TEXT}
@vindex \TEXT\
@inforef{\TEXT\,,lilypond-internals,Referencia de Funcionamiento Interno}
@end macro
@c **** TEX ****
@iftex
-@macro internalsref{TEXT}
+@macro rinternals{TEXT}
@vindex \TEXT\
@code{\TEXT\}
@end macro
crescendi y decrescendi hacen que el volumen varíe de forma lineal
entre sus dos extremos. Las fracciones se pueden ajustar mediante
@code{dynamicAbsoluteVolumeFunction} dentro de un contexto
-@internalsref{Voice}. Para cada tipo de instrumento MIDI se puede
+@rinternals{Voice}. Para cada tipo de instrumento MIDI se puede
definir un rango de volumen. Esto proporciona un control de
ecualización básico, que puede realzar significativamente la calidad
de la salida MIDI. El ecualizador se puede controlar estableciendo un
@seealso
-Referencia del programa: @internalsref{RhythmicStaff}.
+Referencia del programa: @rinternals{RhythmicStaff}.
@node Entering percussion
@seealso
-Referencia del programa: @internalsref{note-event}.
+Referencia del programa: @rinternals{note-event}.
@node Percussion staves
@subsubsection Percussion staves
Para tipografiar la música, se deben interpretar las notas dentro de los contextos
-@internalsref{DrumStaff} y @internalsref{DrumVoice}
+@rinternals{DrumStaff} y @rinternals{DrumVoice}
@lilypond[quote,ragged-right,verbatim]
up = \drummode { crashcymbal4 hihat8 halfopenhihat hh hh hh openhihat }
El ejemplo anterior muestra una notación polifónica prolija. La notación
polifónica abreviada, descrita en @rlearning{I'm hearing Voices}, también se puede usar si
-las @internalsref{DrumVoice}s se instancian primero a mano. Por ejemplo,
+las @rinternals{DrumVoice}s se instancian primero a mano. Por ejemplo,
@lilypond[quote,ragged-right,fragment,verbatim]
\new DrumStaff <<
También existen otras posibilidades en lo referente a la disposición. Para usarlas, establezca la
-propiedad @code{drumStyleTable} en el contexto @internalsref{DrumVoice}.
+propiedad @code{drumStyleTable} en el contexto @rinternals{DrumVoice}.
Se han predefinido las siguientes variables:
@table @code
Archivos de inicio: @file{ly/@/drumpitch@/-init@/.ly}.
-Referencia del programa: @internalsref{DrumStaff}, @internalsref{DrumVoice}.
+Referencia del programa: @rinternals{DrumStaff}, @rinternals{DrumVoice}.
@knownissues
@lsrdir{Pitches,Pitches}.
Referencia de funcionamiento interno:
-@internalsref{RelativeOctaveMusic}.
+@rinternals{RelativeOctaveMusic}.
@funindex \transpose
@lsrdir{Pitches,Pitches}.
Referencia de funcionamiento interno:
-@internalsref{Accidental_engraver},
-@internalsref{Accidental},
-@internalsref{AccidentalCautionary},
-@internalsref{accidental-interface}.
+@rinternals{Accidental_engraver},
+@rinternals{Accidental},
+@rinternals{AccidentalCautionary},
+@rinternals{accidental-interface}.
@knownissues
@lsrdir{Pitches,Pitches}.
Referencia de funcionamiento interno:
-@internalsref{RelativeOctaveCheck}.
+@rinternals{RelativeOctaveCheck}.
@node Transpose
@unnumberedsubsubsec Transpose
@lsrdir{Pitches,Pitches}.
Referencia de funcionamiento interno:
-@internalsref{TransposedMusic}.
+@rinternals{TransposedMusic}.
@funindex \transpose
@funindex \chordmode
@lsrdir{Pitches,Pitches}.
Referencia de funcionamiento interno:
-@internalsref{Clef_engraver},
-@internalsref{Clef},
-@internalsref{OctavateEight},
-@internalsref{clef-interface}.
+@rinternals{Clef_engraver},
+@rinternals{Clef},
+@rinternals{OctavateEight},
+@rinternals{clef-interface}.
@node Key signature
@lsrdir{Pitches,Pitches}.
Referencia de funcionamiento interno:
-@internalsref{KeyChangeEvent},
-@internalsref{Key_engraver},
-@internalsref{Key_performer},
-@internalsref{KeyCancellation},
-@internalsref{KeySignature},
-@internalsref{key-cancellation-interface},
-@internalsref{key-signature-interface}.
+@rinternals{KeyChangeEvent},
+@rinternals{Key_engraver},
+@rinternals{Key_performer},
+@rinternals{KeyCancellation},
+@rinternals{KeySignature},
+@rinternals{key-cancellation-interface},
+@rinternals{key-signature-interface}.
@node Ottava brackets
@lsrdir{Pitches,Pitches}.
Internals Reference:
-@internalsref{Ottava_spanner_engraver},
-@internalsref{OttavaBracket},
-@internalsref{ottava-bracket-interface}.
+@rinternals{Ottava_spanner_engraver},
+@rinternals{OttavaBracket},
+@rinternals{ottava-bracket-interface}.
@lsrdir{Pitches,Pitches}.
Referencia de funcionamiento interno:
-@internalsref{Accidental},
-@internalsref{Accidental_engraver},
-@internalsref{GrandStaff} and
-@internalsref{PianoStaff},
-@internalsref{Staff},
-@internalsref{AccidentalSuggestion},
-@internalsref{AccidentalPlacement},
-@internalsref{accidental-suggestion-interface}.
+@rinternals{Accidental},
+@rinternals{Accidental_engraver},
+@rinternals{GrandStaff} and
+@rinternals{PianoStaff},
+@rinternals{Staff},
+@rinternals{AccidentalSuggestion},
+@rinternals{AccidentalPlacement},
+@rinternals{accidental-suggestion-interface}.
@cindex alteraciones y notas simultáneas
@lsrdir{Pitches,Pitches}.
Referencia de funcionamiento interno:
-@internalsref{Ambitus_engraver},
-@internalsref{Voice},
-@internalsref{Staff},
-@internalsref{Ambitus},
-@internalsref{AmbitusAccidental},
-@internalsref{AmbitusLine},
-@internalsref{AmbitusNoteHead},
-@internalsref{ambitus-interface}.
+@rinternals{Ambitus_engraver},
+@rinternals{Voice},
+@rinternals{Staff},
+@rinternals{Ambitus},
+@rinternals{AmbitusAccidental},
+@rinternals{AmbitusLine},
+@rinternals{AmbitusNoteHead},
+@rinternals{ambitus-interface}.
@knownissues
@ref{Note head styles}.
Referencia de funcionamiento interno:
-@internalsref{note-event},
-@internalsref{Note_heads_engraver},
-@internalsref{Ledger_line_engraver},
-@internalsref{NoteHead},
-@internalsref{LedgerLineSpanner},
-@internalsref{note-head-interface},
-@internalsref{ledger-line-spanner-interface}.
+@rinternals{note-event},
+@rinternals{Note_heads_engraver},
+@rinternals{Ledger_line_engraver},
+@rinternals{NoteHead},
+@rinternals{LedgerLineSpanner},
+@rinternals{note-head-interface},
+@rinternals{ledger-line-spanner-interface}.
@node Easy notation note heads
@unnumberedsubsubsec Easy notation note heads
@lsrdir{Pitches,Pitches}.
Referencia de funcionamiento interno:
-@internalsref{note-event},
-@internalsref{Note_heads_engraver},
-@internalsref{NoteHead},
-@internalsref{note-head-interface}.
+@rinternals{note-event},
+@rinternals{Note_heads_engraver},
+@rinternals{NoteHead},
+@rinternals{note-head-interface}.
@node Shape note heads
@ref{Note head styles}.
Referencia de funcionamiento interno:
-@internalsref{note-event},
-@internalsref{Note_heads_engraver},
-@internalsref{NoteHead},
-@internalsref{note-head-interface}.
+@rinternals{note-event},
+@rinternals{Note_heads_engraver},
+@rinternals{NoteHead},
+@rinternals{note-head-interface}.
@node Improvisation
@lsrdir{Pitches,Pitches}.
Referencia de funcionamiento interno:
-@internalsref{Pitch_squash_engraver},
-@internalsref{Voice},
-@internalsref{RhythmicStaff}.
+@rinternals{Pitch_squash_engraver},
+@rinternals{Voice},
+@rinternals{RhythmicStaff}.
Fragmentos de código: @lsrdir{Repeats,Repeats}
-Referencia de funcionamiento interno: @internalsref{VoltaBracket},
-@internalsref{RepeatedMusic}, @internalsref{VoltaRepeatedMusic},
-@internalsref{UnfoldedRepeatedMusic}.
+Referencia de funcionamiento interno: @rinternals{VoltaBracket},
+@rinternals{RepeatedMusic}, @rinternals{VoltaRepeatedMusic},
+@rinternals{UnfoldedRepeatedMusic}.
@c Ejemplos:
Fragmentos de código: @lsrdir{Repeats,Repeats}
-Referencia del programa: @internalsref{VoltaBracket},
-@internalsref{RepeatedMusic}, @internalsref{VoltaRepeatedMusic} y
-@internalsref{UnfoldedRepeatedMusic}.
+Referencia del programa: @rinternals{VoltaBracket},
+@rinternals{RepeatedMusic}, @rinternals{VoltaRepeatedMusic} y
+@rinternals{UnfoldedRepeatedMusic}.
@node Written-out repeats
Fragmentos de código: @lsrdir{Repeats,Repeats}
-Referencia del programa: @internalsref{RepeatSlash},
-@internalsref{PercentRepeat}, @internalsref{DoublePercentRepeat},
-@internalsref{DoublePercentRepeatCounter},
-@internalsref{PercentRepeatCounter},
-@internalsref{PercentRepeatedMusic}.
+Referencia del programa: @rinternals{RepeatSlash},
+@rinternals{PercentRepeat}, @rinternals{DoublePercentRepeat},
+@rinternals{DoublePercentRepeatCounter},
+@rinternals{PercentRepeatCounter},
+@rinternals{PercentRepeatedMusic}.
@node Tremolo repeats
@subsubsection Tremolo repeats
Referencia de la notación: @ref{Tremolo repeats}.
-Referencia de funcionamiento interno: @internalsref{Beam},
-@internalsref{StemTremolo}.
+Referencia de funcionamiento interno: @rinternals{Beam},
+@rinternals{StemTremolo}.
Fragmentos de código: @lsrdir{Repeats,Repeats}
-En otros lugares: @internalsref{StemTremolo}.
+En otros lugares: @rinternals{StemTremolo}.
@lsrdir{Rhythms,Rhythms}.
Referencia de funcionamiento interno:
-@internalsref{Dots},
-@internalsref{DotColumn}.
+@rinternals{Dots},
+@rinternals{DotColumn}.
@knownissues
@lsrdir{Rhythms,Rhythms}.
Referencia de funcionamiento interno:
-@internalsref{TupletBracket},
-@internalsref{TupletNumber},
-@internalsref{TimeScaledMusic}.
+@rinternals{TupletBracket},
+@rinternals{TupletNumber},
+@rinternals{TimeScaledMusic}.
@knownissues
@cindex adorno, notas de, dentro de corchetes de grupo especial
@lsrdir{Rhythms,Rhythms}.
Referencia de funcionamiento interno:
-@internalsref{LaissezVibrerTie},
-@internalsref{LaissezVibrerTieColumn},
-@internalsref{TieColumn},
-@internalsref{Tie}.
+@rinternals{LaissezVibrerTie},
+@rinternals{LaissezVibrerTieColumn},
+@rinternals{TieColumn},
+@rinternals{Tie}.
@knownissues
@seealso
Referencia de funcionamiento interno:
-@internalsref{Rest}.
+@rinternals{Rest}.
@node Skips
El comando skip es un mero contenedor musical vacío. No produce
ninguna salida, ni siguiera una salida transparente.
-El comando de desplazamiento @code{s} crea una @internalsref{Staff} y una
-@internalsref{Voice} cuando es necesario, de forma similar a los comandos de nota y de silencio.
+El comando de desplazamiento @code{s} crea una @rinternals{Staff} y una
+@rinternals{Voice} cuando es necesario, de forma similar a los comandos de nota y de silencio.
Por ejemplo, el fragmento siguiente produce un pentagrama vacío.
@lilypond[quote,ragged-right,verbatim]
@seealso
Referencia de funcionamiento interno:
-@internalsref{SkipMusic}.
+@rinternals{SkipMusic}.
@node Full measure rests
@seealso
Referencia de funcionamiento interno:
-@internalsref{MultiMeasureRestMusicGroup},
-@internalsref{MultiMeasureRest}.
+@rinternals{MultiMeasureRestMusicGroup},
+@rinternals{MultiMeasureRest}.
-El objeto de presentación @internalsref{MultiMeasureRestNumber} es para el número
-por defecto, y @internalsref{MultiMeasureRestText} para los textos
+El objeto de presentación @rinternals{MultiMeasureRestNumber} es para el número
+por defecto, y @rinternals{MultiMeasureRestText} para los textos
definidos por el usuario.
@code{\time} establece las propiedades @code{timeSignatureFraction},
@code{beatLength} y @code{measureLength} en el contexto @code{Timing},
-cuyo nombre alternativo normalmente es @internalsref{Score}. La
+cuyo nombre alternativo normalmente es @rinternals{Score}. La
propiedad @code{measureLength} determina el lugar en que se deben insertar las barras de compás
y cómo se generan las barras de corchea automáticas. La modificación del valor de
@code{timeSignatureFraction} también provoca que se imprima
Están disponibles más opciones a través de la función de Scheme
@code{set-time-signature}. En combinación con el grabador
-@internalsref{Measure_grouping_engraver} (agrupación de compases), creará signos de
-@internalsref{MeasureGrouping}. Estos signos facilitan la lectura de música moderna
+@rinternals{Measure_grouping_engraver} (agrupación de compases), creará signos de
+@rinternals{MeasureGrouping}. Estos signos facilitan la lectura de música moderna
rítmicamente compleja. En el siguiente ejemplo el compás de 9/8
se subdivide en 2, 2, 2 y 3. Esto se pasa a
@code{set-time-signature} como un tercer argumento con el valor @code{(2 2 2 3)}
@seealso
Referencia de funcionamiento interno:
-@internalsref{TimeSignature},
-@internalsref{Timing_translator}.
+@rinternals{TimeSignature},
+@rinternals{Timing_translator}.
Ejemplos: @lsr{contemporary,compound-time-signature.ly}.
@subsubsection Automatic note splitting
Las notas largas se pueden convertir automáticamente en notas ligadas.
-Se hace mediante la sustitución del @internalsref{Note_heads_engraver}
-por el @internalsref{Completion_heads_engraver}. En los siguientes
+Se hace mediante la sustitución del @rinternals{Note_heads_engraver}
+por el @rinternals{Completion_heads_engraver}. En los siguientes
ejemplos, las notas que atraviesan la barra de compás se dividen y se unen mediante una ligadura.
@lilypond[quote,fragment,verbatim,relative=1,line-width=12\cm]
exactamente cuánto le falta a cada compás.
Si quiere permitir el salto de línea en las barras de compás en las
-que @internalsref{Completion_heads_engraver} divide las notas, debe
-eliminar también @internalsref{Forbid_line_break_engraver}.
+que @rinternals{Completion_heads_engraver} divide las notas, debe
+eliminar también @rinternals{Forbid_line_break_engraver}.
@knownissues
@seealso
Referencia de funcionamiento interno:
-@internalsref{Completion_heads_engraver}.
+@rinternals{Completion_heads_engraver}.
@node Beams
@seealso
Referencia de funcionamiento interno:
-@internalsref{Beam}.
+@rinternals{Beam}.
@node Setting automatic beam behavior
@subsubsection Setting automatic beam behavior
@ref{System start delimiters}.
Referencia de funcionamiento interno:
-@internalsref{BarLine} (creada al nivel de @internalsref{Staff} (pentagrama)),
-@internalsref{SpanBar} (a través de los pentagramas).
+@rinternals{BarLine} (creada al nivel de @rinternals{Staff} (pentagrama)),
+@rinternals{SpanBar} (a través de los pentagramas).
@node Bar numbers
@seealso
Referencia de funcionamiento interno:
-@internalsref{BarNumber}.
+@rinternals{BarNumber}.
Ejemplos: @lsrdir{staff}
@knownissues
-Los números de compás pueden colisionar con el corchete @internalsref{StaffGroup}, si hay uno
+Los números de compás pueden colisionar con el corchete @rinternals{StaffGroup}, si hay uno
en la parte de arriba. Para solucionarlo, se puede usar la propiedad de relleno
-@code{padding} de @internalsref{BarNumber} para
+@code{padding} de @rinternals{BarNumber} para
colocar el número correctamente.
@ref{Text marks}.
Referencia de funcionamiento interno:
-@internalsref{RehearsalMark}.
+@rinternals{RehearsalMark}.
Archivos de inicio: @file{scm/@/translation@/-functions@/.scm} contiene la definición
de @code{format-mark-numbers} y de
@seealso
Referencia de funcionamiento interno:
-@internalsref{GraceMusic}.
+@rinternals{GraceMusic}.
@knownissues
@c -*- coding: utf-8; mode: texinfo; -*-
@ignore
- Translation of GIT committish: 95df76f110099096e2d55d57798fa4a2bede19fd
+ Translation of GIT committish: b5ba45ccb092324961dac292dc58cc0eddbc7307
When revising a translation, copy the HEAD committish of the
version that you are working on. See TRANSLATION for details.
Un «cluster» o racimo indica que se deben tocar simultáneamente un
conjunto de notas consecutivas. Se escriben aplicando la función
-@code{\makeClusters} a una secuencia de cordes, p.ej.:
+@code{\makeClusters} a una secuencia de acordes, p.ej.:
@lilypond[quote,ragged-right,relative=2,fragment,verbatim]
\makeClusters { <g b>2 <c g'> }
@seealso
-Music Glossary:
+Glosario musical:
@rglos{cluster}.
Fragmentos de código:
@rlsr{Simultaneous notes}.
Referencia de funcionamiento interno:
-@internalsref{ClusterSpanner},
-@internalsref{ClusterSpannerBeacon},
-@internalsref{Cluster_spanner_engraver}.
+@rinternals{ClusterSpanner},
+@rinternals{ClusterSpannerBeacon},
+@rinternals{Cluster_spanner_engraver}.
@c Examples: @rlsr{contemporary,cluster@/.ly}.
Normalmente las cabezas de nota con un número de puntillos diferente
no se mezclan en una sola, pero cuando se le da un valor verdadero a
la propiedad @code{merge-differently-dotted} en el objeto
-@internalsref{NoteCollision}, se juntan en una sola:
+@rinternals{NoteCollision}, se juntan en una sola:
@lilypond[quote,verbatim,fragment,ragged-right,relative=2]
\new Voice << {
Cuando LilyPond no puede con todo, se pueden usar la propiedad
@code{force-hshift} (forzar desplazamiento) del objeto
-@internalsref{NoteColumn} y los silencios con altura para
+@rinternals{NoteColumn} y los silencios con altura para
sobreescribir las decisiones de composición tipográfica.
@lilypond[quote,verbatim,ragged-right]
Referencia de funcionamiento interno: los objetos responsables de
resolver las colisiones son
-@internalsref{NoteCollision} y
-@internalsref{RestCollision}.
+@rinternals{NoteCollision} y
+@rinternals{RestCollision}.
@knownissues
@end lilypond
Los dos argumentos de @code{\partcombine} se interpretan como
-contextos de @internalsref{Voice}. Si se están usando octavas
+contextos de @rinternals{Voice}. Si se están usando octavas
relativas, se debe especificar @code{\relative} para ambas expresiones
musicales, es decir:
@lsrdir{Simultaneous,Simultaneous-notes}.
Referencia de funcionamiento interno:
-@internalsref{PartCombineMusic}, @internalsref{Voice}.
+@rinternals{PartCombineMusic}, @rinternals{Voice}.
@knownissues
Internamente, el @code{\partcombine} interpreta los dos argumentos
como @code{Voice}s llamadas @code{one} y @code{two}, y después decide
cuándo se pueden combinar las partes. Como consecuencia, si los
-argumentos cambian a contextos de @internalsref{Voice} con nombres
+argumentos cambian a contextos de @rinternals{Voice} con nombres
diferentes, los eventos que contienen se ignorarán.
@itemize @bullet
@item El grupo comienza con una llave a la izquierda y las líneas de compás
-están conectadas. Esto se hace con el contexto @internalsref{GrandStaff}.
+están conectadas. Esto se hace con el contexto @rinternals{GrandStaff}.
@lilypond[verbatim,ragged-right,quote]
\new GrandStaff
@item El grupo comienza con un corchete recto y las líneas de compás están conectadas.
Esto se hace con el contexto
-@internalsref{StaffGroup}
+@rinternals{StaffGroup}
@lilypond[verbatim,ragged-right,quote]
\new StaffGroup
@end lilypond
@item El grupo comienza con un corchete recto pero las líneas de compás no están conectadas.
-Esto se hace con el contexto @internalsref{ChoirStaff}.
+Esto se hace con el contexto @rinternals{ChoirStaff}.
@lilypond[verbatim,ragged-right,quote]
\new ChoirStaff
@seealso
Las barras de compás al principio de cada sistema son
-@internalsref{SystemStartBar}, @internalsref{SystemStartBrace} y
-@internalsref{SystemStartBracket}. En cada contexto solamente se
+@rinternals{SystemStartBar}, @rinternals{SystemStartBrace} y
+@rinternals{SystemStartBracket}. En cada contexto solamente se
crea uno de estos tipos, y ese tipo está determinado por la propiedad
@code{systemStartDelimiter}.
@seealso
-Referencia del programa: @internalsref{StaffSymbol}.
+Referencia del programa: @rinternals{StaffSymbol}.
Ejemplos: @lsrdir{staff}
En las partituras orquestales, generalmente se eliminan las líneas de pauta que contienen sólo silencios;
así se ahorra espacio. Este estilo se llama @q{Partitura francesa}.
-Para @internalsref{Lyrics},
-@internalsref{ChordNames} y @internalsref{FiguredBass}, esta opción está
+Para @rinternals{Lyrics},
+@rinternals{ChordNames} y @rinternals{FiguredBass}, esta opción está
activada por defecto. Cuando las líneas de estos contextos resultan vacías
después del proceso de cálculo de los saltos de línea, se eliminan.
-Para las pautas normales hay un contexto especializado @internalsref{Staff}, que
+Para las pautas normales hay un contexto especializado @rinternals{Staff}, que
hace lo mismo: las pautas que no contienen nada (o solamente
silencios multicompás) se quitan. La definición de contexto se almacena dentro de la variable
@code{\RemoveEmptyStaffContext}. Observe cómo el segundo pentagrama del siguiente ejemplo
El primer sistema muestra todos los pentagramas al completo. Si queremos que los pentagramas vacíos se
quiten también del primer sistema, podemos establecer @code{remove-first} al valor true en
-@internalsref{VerticalAxisGroup}.
+@rinternals{VerticalAxisGroup}.
@example
\override Score.VerticalAxisGroup #'remove-first = ##t
@seealso
-Referencia del programa: @internalsref{MetronomeMark}.
+Referencia del programa: @rinternals{MetronomeMark}.
@knownissues
En una partitura orquestal, los nombres de los instrumentos se imprimen en el lado izquierdo
de los pentagramas.
-Esto se puede conseguir estableciendo @internalsref{Staff}.@code{instrumentName}
-y @internalsref{Staff}.@code{shortInstrumentName}, o bien
-@internalsref{PianoStaff}.@code{instrumentName} y
-@internalsref{PianoStaff}.@code{shortInstrumentName}. Esto
+Esto se puede conseguir estableciendo @rinternals{Staff}.@code{instrumentName}
+y @rinternals{Staff}.@code{shortInstrumentName}, o bien
+@rinternals{PianoStaff}.@code{instrumentName} y
+@rinternals{PianoStaff}.@code{shortInstrumentName}. Esto
imprimirá el texto antes del
principio del pentagrama. Para el primer pentagrama se usa @code{instrumentName},
y para los siguientes se usa @code{shortInstrumentName}.
@seealso
-Referencia del programa: @internalsref{InstrumentName}.
+Referencia del programa: @rinternals{InstrumentName}.
@node Quoting other voices
@knownissues
-Sólo los contenidos de la primera @internalsref{Voice} que aparece dentro de una
+Sólo los contenidos de la primera @rinternals{Voice} que aparece dentro de una
instrucción @code{\addQuote} se tendrán en consideración para su cita, así que
@var{música} no puede contener sentencias @code{\new} y @code{\context Voice}
que podrían producir el cambio a una Voz diferente.
Ejemplos: @lsr{parts,quote.ly}, @lsr{parts,quote-transportation.ly}
-Referencia del programa: @internalsref{QuoteMusic}.
+Referencia del programa: @rinternals{QuoteMusic}.
@node Formatting cue notes
@end example
Esto insertará las notas de la parte @var{nombre} en una
-@internalsref{Voice} llamada @code{cue}. Esto ocurre de forma simultánea
+@rinternals{Voice} llamada @code{cue}. Esto ocurre de forma simultánea
con @var{música}, que por lo general es un silencio. Cuando comienzan las notas guía,
el pentagrama se hace polifónico por un momento. El argumento
@var{arriba_abajo} determina si las notas guía se deben tipografiar como
En este manual: @ref{Text markup}.
-Referencia del programa: @internalsref{TextScript}.
+Referencia del programa: @rinternals{TextScript}.
@node Text and line spanners
@seealso
-Referencia del programa: @internalsref{TextSpanner},
-@internalsref{Glissando}, @internalsref{VoiceFollower},
-@internalsref{TrillSpanner}, @internalsref{line-spanner-interface}.
+Referencia del programa: @rinternals{TextSpanner},
+@rinternals{Glissando}, @rinternals{VoiceFollower},
+@rinternals{TrillSpanner}, @rinternals{line-spanner-interface}.
Ejemplos: @lsr{expressive,line-styles.ly}, @lsr{expressive,line-arrows.ly}
@seealso
-Referencia del programa: @internalsref{TextSpanner}.
+Referencia del programa: @rinternals{TextSpanner}.
@node Text marks
@seealso
-Referencia del programa: @internalsref{RehearsalMark}.
+Referencia del programa: @rinternals{RehearsalMark}.
@node New dynamic marks
Consulte @ref{Text markup commands}, para ver una lista de todas las
instrucciones.
-@code{\markup} se usa principalmente para indicaciones del tipo @internalsref{TextScript},
+@code{\markup} se usa principalmente para indicaciones del tipo @rinternals{TextScript},
pero también se pueden usar en cualquier lugar donde se requiere texto en lilypond
@lilypond[quote,verbatim]
Ciertos objetos tienen procedimientos de alineación propios, que cancelan
cualquier efecto de las alineaciones aplicadas a sus argumentos de marcado en su conjunto.
-Por ejemplo la @internalsref{RehearsalMark} se centra
+Por ejemplo la @rinternals{RehearsalMark} se centra
horizontalmente, por lo que usar @code{\mark \markup @{ \left-align .. @}} no tiene
ningún efecto.
En el presente manual: @ref{Text markup commands}.
-Referencia del programa: @internalsref{TextScript}.
+Referencia del programa: @rinternals{TextScript}.
Archivos de inicio: @file{scm/@/new@/-markup@/.scm}.
@c -*- coding: utf-8; mode: texinfo; -*-
@c This file is part of lilypond.tely
@ignore
- Translation of GIT committish: 7cc6b12897031c450e3399d59cdb22ca9df4fd8c
+ Translation of GIT committish: 23542761090f167ad42dbff7ef11d44a9c1374ac
When revising a translation, copy the HEAD committish of the
version that you are working on. See TRANSLATION for details.
@node Other uses for tweaks
@subsection Other uses for tweaks
-@itemize
-
@cindex transparent, uso de la propiedad
@cindex objetos, hace invisibles
@cindex eliminar objetos
@cindex invisibles, objetos
@cindex ligar notas entre voces distintas
-@item
@subheading Tying notes across voices
El ejemplo siguiente muestra cómo conectar notas que están en
>>
@end lilypond
-@item
@subheading Simulating a fermata
@cindex sello, uso de la propiedad
separación de las notas, mientras que la segunda (sin «sello») no
influye.
-@end itemize
-
@node Using variables for tweaks
@subsection Using variables for tweaks
@seealso
-Referencia de funcionamiento interno: @internalsref{LyricText},
-@internalsref{LyricSpace}.
+Referencia de funcionamiento interno: @rinternals{LyricText},
+@rinternals{LyricSpace}.
@node Working with lyrics and variables
@subsubsection Working with lyrics and variables
@c TODO: document \new Staff << Voice \lyricsto >> bug
Referencia de funcionamiento interno:
-@internalsref{LyricCombineMusic}, @internalsref{Lyrics}.
+@rinternals{LyricCombineMusic}, @rinternals{Lyrics}.
@node Aligning lyrics to a melody
La letra se imprime a través de su interpretación dentro del contexto
-llamado @internalsref{Lyrics}.
+llamado @rinternals{Lyrics}.
@example
\new Lyrics \lyricmode @dots{}
\new Lyrics \lyricsto @var{nombre} @dots{}
@end example
-Esto alinea la letra a las notas del contexto de @internalsref{Voice}
+Esto alinea la letra a las notas del contexto de @rinternals{Voice}
llamado @var{nombre}, que debe existir previamente. Por ello la
@code{Voice} normalmente se especifica en primer lugar, y después se
especifica la letra con @code{\lyricsto}. La instrucción
@noindent
El valor de la propiedad (aquí: @code{"lala"}) ha de ser el nombre de
-un contexto de @internalsref{Voice}. Sin este ajuste, las líneas de
+un contexto de @rinternals{Voice}. Sin este ajuste, las líneas de
extensión no se formatearán correctamente.
Presentamos a continuación un ejemplo que muestra el uso de las
@seealso
-Referencia de funcionamiento interno: @internalsref{Lyrics}.
+Referencia de funcionamiento interno: @rinternals{Lyrics}.
@node Multiple syllables to one note
@seealso
-Referencia de funcionamiento interno: @internalsref{LyricCombineMusic}.
+Referencia de funcionamiento interno: @rinternals{LyricCombineMusic}.
@c Here come the section which used to be "Melismata"
@c the new title might be more self-explanatory
@seealso
-Referencia de funcionamiento interno: @internalsref{Melisma_translator}.
+Referencia de funcionamiento interno: @rinternals{Melisma_translator}.
@c @lsr{vocal,lyric@/-combine.ly}.
@seealso
-Referencia de funcionamiento interno: @internalsref{LyricExtender},
-@internalsref{LyricHyphen}
+Referencia de funcionamiento interno: @rinternals{LyricExtender},
+@rinternals{LyricHyphen}
@node Lyrics and repeats
@seealso
-Referencia de funcionamiento interno: @internalsref{LyricText},
-@internalsref{StanzaNumber}, @internalsref{VocalName}.
+Referencia de funcionamiento interno: @rinternals{LyricText},
+@rinternals{StanzaNumber}, @rinternals{VocalName}.
@c -*- coding: utf-8; mode: texinfo; -*-
@c This file is part of lilypond.tely
@ignore
- Translation of GIT committish: 7cc6b12897031c450e3399d59cdb22ca9df4fd8c
+ Translation of GIT committish: 23542761090f167ad42dbff7ef11d44a9c1374ac
When revising a translation, copy the HEAD committish of the
version that you are working on. See TRANSLATION for details.
tengan sus archivos. Sin embargo existen algunas otras cosas a tener
en cuenta cuando se escriben archivos de LilyPond.
-@itemize @bullet
+@itemize
@item ¿Qué ocurre si comete un fallo? La estructura de un archivo
de LilyPond puede hacer que ciertos errores se hagan más fáciles (o
más difíciles) de encontrar.
Presentamos algunas sugerencias que le pueden servir de ayuda para evitar
o corregir problemas:
-@itemize @bullet
+@itemize
@item @strong{Incluya los números de @code{\version} en todos los archivos}. Dese cuenta de que todas las
plantillas contienen información sobre la @code{\version}. Le
recomendamos mucho que siempre incluya la @code{\version}, sin
Si está introduciendo música a partir de una partitura existente (es decir, tipografiando una hoja
de música ya impresa),
-@itemize @bullet
+@itemize
@item Introduzca un sistema del manuscrito (la copia física) cada vez (pero mantenga
la práctica de escribir un compás por línea de texto), y compruebe
Al trabajar en proyecto grande se hace esencial tener una estructura clara
en los archivos de LilyPond
-@itemize @bullet
+@itemize
@item @strong{Utilice un identificador para cada voz}, con un mínimo de
estructura dentro de la definición. La estructura de la sección
Pour de la musique ancienne, vous disposez de plusieurs styles de tête
de note, en plus du style par défaut @code{default}. Vous pouvez
-affecter à la propriété @code{style} de l'objet @internalsref{NoteHead}
+affecter à la propriété @code{style} de l'objet @rinternals{NoteHead}
les valeurs @code{baroque}, @code{neomensural}, @code{mensural} ou
@code{petrucci}. En style @code{baroque}, la seule différence par
rapport au style @code{default} concerne la @code{\breve} qui sera
@end lilypond
Si vous écrivez en notation grégorienne, le
-@internalsref{Gregorian_ligature_engraver} se chargera de sélectionner
+@rinternals{Gregorian_ligature_engraver} se chargera de sélectionner
les têtes de note appropriées ; il est donc inutile de spécifier le
style à utiliser. Vous pouvez cependant spécifier par exemple le style
@code{vaticana_punctum} pour obtenir des neumes punctums. De même,
-c'est le @internalsref{Mensural_ligature_engraver} qui se chargera des
+c'est le @rinternals{Mensural_ligature_engraver} qui se chargera des
ligatures mensurales. Consultez la section @ref{Ligatures} pour savoir
comment fonctionnent les graveurs de ligature.
Pour utiliser les formes anciennes d'altération, utilisez la propriété
-@code{glyph-name-alist} des objets graphiques @internalsref{Accidental}
-et @internalsref{KeySignature}.
+@code{glyph-name-alist} des objets graphiques @rinternals{Accidental}
+et @rinternals{KeySignature}.
@lilypond[quote,ragged-right,staffsize=26]
\score {
À l'instar des altérations accidentelles, le style d'armure est géré
par la propriété @code{glyph-name-alist} de l'objet
-@internalsref{KeySignature}.
+@rinternals{KeySignature}.
@seealso
@ref{Automatic accidentals}, pour les principes généraux d'utilisation
des altérations ; @ref{Key signature} pour les armures.
-Référence du programme : @internalsref{KeySignature}.
+Référence du programme : @rinternals{KeySignature}.
Exemples : @lsrdir{ancient}
@cindex silences, musique ancienne
-La propriété @code{style} de l'objet @internalsref{Rest} permet
+La propriété @code{style} de l'objet @rinternals{Rest} permet
d'obtenir des silences de type ancien. Vous disposez des styles
@code{classical}, @code{neomensural} et @code{mensural}. Le style
@code{classical} ne se distingue du style @code{default} que par le
@cindex crochets
Le réglage de la propriété @code{flag-style} de l'objet hampe
-(@internalsref{Stem}) donne accès aux crochets de style ancien. Les
+(@rinternals{Stem}) donne accès aux crochets de style ancien. Les
seuls styles actuellement pris en charge sont @code{default} et
@code{mensural}.
}
@end lilypond
-La propriété @code{style} de l'objet @internalsref{TimeSignature} permet
+La propriété @code{style} de l'objet @rinternals{TimeSignature} permet
d'accéder aux indicateurs de métrique anciens. Les styles
@code{neomensural} et @code{mensural} sont disponibles. Vous avez vu
ci-dessus le style @code{neomensural}, particulièrement utilisé pour
de notation.
L'impression de guidons s'obtient en affectant, dans un bloc
-@code{\layout}, le @internalsref{Custos_engraver} au contexte
+@code{\layout}, le @rinternals{Custos_engraver} au contexte
@code{Staff}, comme le montre l'exemple suivant.
@example
@seealso
-Référence du programme : @internalsref{Custos}.
+Référence du programme : @rinternals{Custos}.
Exemples : @lsr{ancient,custodes@/.ly}.
Dans ce manuel : @ref{Breath marks}.
-Référence du programme : @internalsref{BreathingSign}.
+Référence du programme : @rinternals{BreathingSign}.
Exemples : @lsr{expressive,breathing-sign.ly}.
Les ligatures s'indiquent par une inclusion entre @code{\[} et
@code{\]}. Certains styles de ligature peuvent demander un complément
de syntaxe spécifique. Par défaut, le graveur
-@internalsref{LigatureBracket} place un simple crochet au dessus de
+@rinternals{LigatureBracket} place un simple crochet au dessus de
la ligature :
@lilypond[quote,ragged-right,verbatim]
@end lilypond
Selon le style de ligature désiré, il faut ajouter au contexte
-@internalsref{Voice} le graveur de ligature approprié, comme nous le
+@rinternals{Voice} le graveur de ligature approprié, comme nous le
verrons plus loin. Seules sont disponibles les ligatures mensurales
blanches, avec quelques limitations.
limitations.
La gravure des ligatures mensurales blanches s'obtient après avoir
-ajouté le @internalsref{Mensural_ligature_engraver} et enlevé le
-@internalsref{Ligature_bracket_engraver} dans le contexte
-@internalsref{Voice}, comme ici :
+ajouté le @rinternals{Mensural_ligature_engraver} et enlevé le
+@rinternals{Ligature_bracket_engraver} dans le contexte
+@rinternals{Voice}, comme ici :
@example
\layout @{
}
@end lilypond
-Si on ne remplace pas le @internalsref{Ligature_bracket_engraver}
-par le @internalsref{Mensural_ligature_engraver}, on obtient
+Si on ne remplace pas le @rinternals{Ligature_bracket_engraver}
+par le @rinternals{Mensural_ligature_engraver}, on obtient
@lilypond[quote,ragged-right]
\transpose c c' {
@seealso
-Référence du programme : le graveur @internalsref{Accidental_engraver}
-et l'objet @internalsref{AccidentalSuggestion}.
+Référence du programme : le graveur @rinternals{Accidental_engraver}
+et l'objet @rinternals{AccidentalSuggestion}.
@node Figured bass
La gestion de la basse chiffrée se décompose en deux parties. Dans un
premier temps, le mode @code{\figuremode} permet de saisir les accords
-sous forme chiffrée. Le contexte @internalsref{FiguredBass} s'occupera
-ensuite de gérer les objets @internalsref{BassFigure}.
+sous forme chiffrée. Le contexte @rinternals{FiguredBass} s'occupera
+ensuite de gérer les objets @rinternals{BassFigure}.
En mode de saisie, un chiffrage est délimité par @code{<} et
@code{>}. La durée est indiquée après le @code{>} :
Bien que la gestion de la basse chiffrée ressemble beaucoup à celle
des accords, elle est beaucoup plus simpliste. Le mode
@code{\figuremode} ne fait que stocker des chiffres que le contexte
-@internalsref{FiguredBass} se chargera d'imprimer tels quels. En
+@rinternals{FiguredBass} se chargera d'imprimer tels quels. En
aucune manière ils ne sont transformés en son, et ils ne sont pas
rendus dans un fichier MIDI.
@seealso
-Référence du programme : les objets @internalsref{NewBassFigure},
-@internalsref{BassFigureAlignment}, @internalsref{BassFigureLine},
-@internalsref{BassFigureBracket} et
-@internalsref{BassFigureContinuation}, ainsi que le contexte
-@internalsref{FiguredBass}.
+Référence du programme : les objets @rinternals{NewBassFigure},
+@rinternals{BassFigureAlignment}, @rinternals{BassFigureLine},
+@rinternals{BassFigureBracket} et
+@rinternals{BassFigureContinuation}, ainsi que le contexte
+@rinternals{FiguredBass}.
Cette règle est équivalente à @code{modern}, mais les bécarres de précaution sont
imprimés de façon particulière : soit plus petits, soit (par défaut) entre parenthèses.
Il est possible de le définir au moyen de la propriété @code{cautionary-style}
-pour l'objet @internalsref{AccidentalSuggestion}.
+pour l'objet @rinternals{AccidentalSuggestion}.
@lilypond[quote,ragged-right]
musicA = { << \relative { cis'8 fis, d'4 <a cis>8 f bis4 | cis2. <c, g'>4 | } \\
Cette règle sert aux altérations dans de la musique polyphonique destinée
autant à des musiciens différents qu'à quelqu'un qui lirait l'ensemble des voix.
Les altérations sont imprimées voix par voix, mais les autres voix, dans le même
-contexte @internalsref{Staff}, en @emph{tiennent compte} cette fois.
+contexte @rinternals{Staff}, en @emph{tiennent compte} cette fois.
@lilypond[quote,ragged-right]
musicA = { << \relative { cis'8 fis, d'4 <a cis>8 f bis4 | cis2. <c, g'>4 | } \\
Cette règle est communément employée pour les partitions de piano au XXème siècle.
Très similaire à @code{modern} de par son comportement, elle s'en distingue en ce que
-les altérations tiennent compte des autre portées du contexte @internalsref{GrandStaff} ou
-@internalsref{PianoStaff}.
+les altérations tiennent compte des autre portées du contexte @rinternals{GrandStaff} ou
+@rinternals{PianoStaff}.
@lilypond[quote,ragged-right]
musicA = { << \relative { cis'8 fis, d'4 <a cis>8 f bis4 | cis2. <c, g'>4 | } \\
@seealso
-Référence du programme : @internalsref{Accidental_engraver},
-@internalsref{Accidental}, @internalsref{AccidentalSuggestion} et @internalsref{AccidentalPlacement}.
+Référence du programme : @rinternals{Accidental_engraver},
+@rinternals{Accidental}, @rinternals{AccidentalSuggestion} et @rinternals{AccidentalPlacement}.
@knownissues
@noindent
aucun argument @var{contexte} n'a été donné à la commande @code{\set}.
De ce fait, les ligatures automatiques sont désactivées dans le
-contexte actuel, c'est-à-dire @internalsref{Voice}. Notez que le
+contexte actuel, c'est-à-dire @rinternals{Voice}. Notez que le
contexte le plus restreint n'est pas toujours le bon,
et peut ne pas contenir la propriété qui vous intéresse : ainsi, la propriété
@code{skipBars}, évoquée plus haut, ne relève pas du contexte @code{Voice},
La référence du programme contient une description exhaustive de toutes les
propriétés contexte par contexte : voir
@ifhtml
-@internalsref{Tunable context properties}.
+@rinternals{Tunable context properties}.
@end ifhtml
@ifnothtml
Translation @expansion{} Tunable context properties.
Vous trouverez une description exhaustive de chaque graveur dans
@ifhtml
-@internalsref{Engravers}.
+@rinternals{Engravers}.
@end ifhtml
@ifnothtml
Program reference @expansion Translation @expansion{} Engravers.
@end ifnothtml
Chaque contexte mentionné dans
@ifhtml
-@internalsref{Contexts}
+@rinternals{Contexts}
@end ifhtml
@ifnothtml
Program reference @expansion Translation @expansion{} Context.
@seealso
-Référence du programme : @internalsref{OverrideProperty}, @internalsref{RevertProperty},
-@internalsref{PropertySet}, @internalsref{Backend}, et
-@internalsref{All layout objects}.
+Référence du programme : @rinternals{OverrideProperty}, @rinternals{RevertProperty},
+@rinternals{PropertySet}, @rinternals{Backend}, et
+@rinternals{All layout objects}.
@knownissues
@end example
@noindent
-Le graveur @internalsref{Pitch_squash_engraver} intercepte les notes créées par
-@internalsref{Note_heads_engraver}, et les @q{écrase} pour qu'elles aient toutes la
+Le graveur @rinternals{Pitch_squash_engraver} intercepte les notes créées par
+@rinternals{Note_heads_engraver}, et les @q{écrase} pour qu'elles aient toutes la
même position verticale, définie par @code{squashedPosition} : ici il s'agit de la
valeur@tie{}@code{0}, c'est-à-dire la ligne du milieu.
@item Afin que tous ces graveurs puissent travailler de concert, on leur adjoint un
sous-programme spécial, introduit par la commande @code{\type} : il s'agit de
-@internalsref{Engraver_group},
+@rinternals{Engraver_group},
@example
\type "Engraver_group"
@quotation
@seealso
-Référence du programme : @internalsref{Fingering}.
+Référence du programme : @rinternals{Fingering}.
@end quotation
forward. For example, it says
@quotation
-Accepted by: @internalsref{Fingering_engraver},
+Accepted by: @rinternals{Fingering_engraver},
@end quotation
@noindent
plug-in, which says
@quotation
-This engraver creates the following layout objects: @internalsref{Fingering}.
+This engraver creates the following layout objects: @rinternals{Fingering}.
@end quotation
In other words, once the @code{FingerEvent}s are interpreted, the
@c I can't figure out what this is supposed to mean. -gp
The @code{Fingering_engraver} is also listed to create
-@internalsref{Fingering} objects,
+@rinternals{Fingering} objects,
@c old info? it doesn't make any sense to me with our current docs.
This is also the
dans un document au format PDF.
@end ifnothtml
-Suivons le lien @internalsref{Fingering}. En haut de la nouvelle page,
+Suivons le lien @rinternals{Fingering}. En haut de la nouvelle page,
on peut lire
@quotation
-Fingering objects are created by: @internalsref{Fingering_engraver} and
-@internalsref{New_fingering_engraver}.
+Fingering objects are created by: @rinternals{Fingering_engraver} and
+@rinternals{New_fingering_engraver}.
@end quotation
En d'autres termes, @emph{Les indications de doigtés}
(@code{Fingering} en anglais) @emph{sont créées par les graveurs
-@internalsref{Fingering_engraver} et @internalsref{New_fingering_engraver}.}
+@rinternals{Fingering_engraver} et @rinternals{New_fingering_engraver}.}
En suivant derechef les liens propres à la référence du programme, on suit en fait
le cheminement qui aboutit à la création de la partition :
@itemize @bullet
-@item @internalsref{Fingering}:
-@internalsref{Fingering} objects are created by:
-@internalsref{Fingering_engraver}
+@item @rinternals{Fingering}:
+@rinternals{Fingering} objects are created by:
+@rinternals{Fingering_engraver}
-@item @internalsref{Fingering_engraver}:
-Music types accepted: @internalsref{fingering-event}
+@item @rinternals{Fingering_engraver}:
+Music types accepted: @rinternals{fingering-event}
-@item @internalsref{fingering-event}:
+@item @rinternals{fingering-event}:
Music event type @code{fingering-event} is in Music expressions named
-@internalsref{FingerEvent}
+@rinternals{FingerEvent}
@end itemize
Ce cheminement se produit, bien sûr, en sens inverse : nous sommes ici partis
La référence du programme peut également se parcourir comme un document normal.
On y trouve des chapitres tels que
@ifhtml
-@internalsref{Music definitions},
+@rinternals{Music definitions},
@end ifhtml
@ifnothtml
@code{Music definitions}
@end ifnothtml
-@internalsref{Translation}, ou encore @internalsref{Backend}. Chaque chapitre
+@rinternals{Translation}, ou encore @rinternals{Backend}. Chaque chapitre
recense toutes les définitions employées, et les propriétés sujettes à
ajustements.
(en anglais @q{Graphical Object}, d'où le diminutif @emph{Grob}).
Chaque objet est doté d'un certain nombre de propriétés (l'épaisseur du trait,
l'orientation, etc.), et lié à d'autres objets.
-Le fonctionnement de ces objets est décrit en détail dans @internalsref{grob-interface}.
+Le fonctionnement de ces objets est décrit en détail dans @rinternals{grob-interface}.
Prenons l'exemple des doigtés (en anglais @q{Fingering}).
La page @code{Fingering} de la Référence du programme établit une liste de définitions
@end itemize
Faire appliquer ces différents attributs est le rôle des @emph{interfaces},
-que l'on trouve en bas de la page @internalsref{Fingering}.
+que l'on trouve en bas de la page @rinternals{Fingering}.
@quotation
This object supports the following interfaces:
-@internalsref{item-interface},
-@internalsref{self-alignment-interface},
-@internalsref{side-position-interface}, @internalsref{text-interface},
-@internalsref{text-script-interface}, @internalsref{font-interface},
-@internalsref{finger-interface}, and @internalsref{grob-interface}.
+@rinternals{item-interface},
+@rinternals{self-alignment-interface},
+@rinternals{side-position-interface}, @rinternals{text-interface},
+@rinternals{text-script-interface}, @rinternals{font-interface},
+@rinternals{finger-interface}, and @rinternals{grob-interface}.
@end quotation
@noindent
Dans le cas présent, le réglage intervient dans le contexte @context{Voice},
ce qui pouvait également se déduire de la Référence du programme, où la page
-du graveur @internalsref{Fingering_engraver} indique :
+du graveur @rinternals{Fingering_engraver} indique :
@quotation
-Fingering_engraver is part of contexts: @dots{} @internalsref{Voice}
+Fingering_engraver is part of contexts: @dots{} @rinternals{Voice}
@end quotation
@noindent
Ce qui signifie
@quotation
-Le graveur Fingering_engraver fait partie des contextes : @dots{} @internalsref{Voice}
+Le graveur Fingering_engraver fait partie des contextes : @dots{} @rinternals{Voice}
@end quotation
le nom de l'objet (@emph{grob}), ni le contexte dans lequel cela doit s'appliquer.
Ce procédé ne marche que pour des objets directement liés aux évènements
-(@internalsref{Event}) du fichier source. Par exemple :
+(@rinternals{Event}) du fichier source. Par exemple :
@itemize @bullet
@item Les têtes de notes au sein d'un accord, qui sont directement engendrées par
si oui, applique un espacement supplémentaire (@code{extra-offset}).
@end itemize
-On ajoute cette procédure à l'objet @internalsref{Tie} (liaison de tenue),
+On ajoute cette procédure à l'objet @rinternals{Tie} (liaison de tenue),
de façon à ce que le deuxième morceau d'une liaison divisée soit rehaussé.
@c KEEP LY
@cindex accords
Les chiffrages d'accords sont liés au contexte
-@internalsref{ChordNames}. Les accords peuvent être saisis soit au
+@rinternals{ChordNames}. Les accords peuvent être saisis soit au
moyen de la notation indiquée ci-dessus, soit directement avec les
symboles @code{<} et @code{>}.
Vous pouvez faire ressortir les chiffrages d'accords en assignant la
valeur vrai à la propriété @code{chordChanges} dans le contexte
-@internalsref{ChordNames}. De cette façon, les chiffrages ne sont
+@rinternals{ChordNames}. De cette façon, les chiffrages ne sont
imprimés qu'aux changements d'accord ou en début de ligne.
@lilypond[quote,verbatim,ragged-right]
Les exemples précédents montrent des chiffrages placés au-dessus de la
portée, mais ce n'est pas obligatoire : les accords peuvent également
être imprimés séparément -- auquel cas vous aurez peut-être besoin
-d'ajouter le @internalsref{Volta_engraver} et le
-@internalsref{Bar_engraver} afin que les éventuelles barres de reprises
+d'ajouter le @rinternals{Volta_engraver} et le
+@rinternals{Bar_engraver} afin que les éventuelles barres de reprises
s'affichent correctement.
@lilypond[ragged-right,verbatim]
convertisseur capable d'importer directement un fichier.
@command{midi2ly} convertit les pistes en contextes de portée
-(@internalsref{Staff}) et les canaux en contextes de voix
-(@internalsref{Voice}). Les hauteurs sont rendues en mode relatif, et
+(@rinternals{Staff}) et les canaux en contextes de voix
+(@rinternals{Voice}). Les hauteurs sont rendues en mode relatif, et
les durées spécifiées lorsque nécessaire.
Vous pouvez enregistrer un fichier MIDI grace à un clavier
La propriété @code{font-size} ne peut intervenir que pour les objets
qui utilisent des polices, autrement dit ceux qui disposent de
-l'interface de rendu @internalsref{font-interface}.
+l'interface de rendu @rinternals{font-interface}.
@predefined
@seealso
-Référence du programme : @internalsref{Fingering}.
+Référence du programme : @rinternals{Fingering}.
D'autres exemples : @lsr{expressive,fingering-chords.ly}.
Pour exprimer l'ambitus d'une pièce, on indique avant la clé deux notes
représentant la hauteur la plus basse et la plus haute. Pour imprimer
-cet ambitus, il faut ajouter le graveur @internalsref{Ambitus_engraver}
-au contexte @internalsref{Voice}. Ainsi,
+cet ambitus, il faut ajouter le graveur @rinternals{Ambitus_engraver}
+au contexte @rinternals{Voice}. Ainsi,
@example
\layout @{
@end lilypond
Si plusieurs voix se trouvent sur une même portée, on peut attribuer le
-graveur @internalsref{Ambitus_engraver} au contexte @internalsref{Staff}
-plutôt qu'au contexte @internalsref{Voice} ; l'ambitus affiché sera
+graveur @rinternals{Ambitus_engraver} au contexte @rinternals{Staff}
+plutôt qu'au contexte @rinternals{Voice} ; l'ambitus affiché sera
alors celui de toutes les voix cumulées, non d'une seule des voix
actives.
@seealso
-Référence du programme : @internalsref{Ambitus},
-@internalsref{AmbitusLine}, @internalsref{AmbitusNoteHead},
-@internalsref{AmbitusAccidental}.
+Référence du programme : @rinternals{Ambitus},
+@rinternals{AmbitusLine}, @rinternals{AmbitusNoteHead},
+@rinternals{AmbitusAccidental}.
Exemples :
@lsr{vocal,ambitus@/.ly}.
@node Stems
@unnumberedsubsubsec Stems
-Dès qu'une note est rencontrée, un objet @internalsref{Stem} se crée
+Dès qu'une note est rencontrée, un objet @rinternals{Stem} se crée
automatiquement. Pour les rondes et les silences, ils sont aussi
créés, mais en mode invisible.
@seealso
-Référence du programme : @internalsref{text-balloon-interface}.
+Référence du programme : @rinternals{text-balloon-interface}.
@node Grid lines
Les symboles s'ordonnent verticalement suivant la propriété
@code{script-priority}. Plus sa valeur numérique est faible, plus le
symbole sera proche de la note. Dans l'exemple suivant, l'objet
-@internalsref{TextScript} --- le dièse --- a d'abord la propriété la
+@rinternals{TextScript} --- le dièse --- a d'abord la propriété la
plus basse, et il est donc placé plus près de la note ; ensuite c'est
-l'objet @internalsref{Script} qui a la propriété la plus basse, et il se
+l'objet @rinternals{Script} qui a la propriété la plus basse, et il se
place alors sous le dièse. Lorsque deux objets ont la même priorité,
c'est l'ordre dans lequel ils sont indiqués qui détermine lequel sera
placé en premier.
@seealso
-Référence du programme : @internalsref{Script}.
+Référence du programme : @rinternals{Script}.
@knownissues
Cependant, ces deux indications graphiques peuvent se trouver très
comprimées horizontalement. Pour les rallonger, on peut modifier la
propriété @code{minimum-length} de
-@code{Voice.Hairpin} --- @internalsref{Voice}
-étant le contexte, et @internalsref{Hairpin} l'objet affecté. Par
+@code{Voice.Hairpin} --- @rinternals{Voice}
+étant le contexte, et @rinternals{Hairpin} l'objet affecté. Par
exemple :
@example
avec les nuances habituelles, voir @ref{New dynamic marks}.
Le positionnement vertical des nuances est géré par le
-@internalsref{DynamicLineSpanner}.
+@rinternals{DynamicLineSpanner}.
@commonprop
@seealso
-Référence du programme : @internalsref{DynamicText}, @internalsref{Hairpin}.
+Référence du programme : @rinternals{DynamicText}, @rinternals{Hairpin}.
Le placement vertical de ces éléments graphiques est géré par le
-@internalsref{DynamicLineSpanner}.
+@rinternals{DynamicLineSpanner}.
@node Curves
Dans ce même manuel : @ref{Automatic note splitting}.
-Référence du programme : @internalsref{Tie}.
+Référence du programme : @rinternals{Tie}.
@knownissues
@seealso
-Référence du programme : @internalsref{Slur}.
+Référence du programme : @rinternals{Slur}.
@node Phrasing slurs
@seealso
-Référence du programme : @internalsref{PhrasingSlur}.
+Référence du programme : @rinternals{PhrasingSlur}.
@node Laissez vibrer ties
@seealso
Référence du programme :
-@internalsref{LaissezVibrerTie}
-@internalsref{LaissezVibrerTieColumn}
+@rinternals{LaissezVibrerTie}
+@rinternals{LaissezVibrerTieColumn}
D'autres exemples :
@lsr{connecting,laissez-vibrer-ties.ly}
@seealso
-Référence du programme : @internalsref{BreathingSign}.
+Référence du programme : @rinternals{BreathingSign}.
Exemples : @lsr{expressive,breathing-sign.ly}
@seealso
-Référence du programme : @internalsref{Glissando}.
+Référence du programme : @rinternals{Glissando}.
D'autres exemples : @lsr{expressive,glissando.ly}, @lsr{expressive,line-styles.ly}.
Quand un arpège couvre plusieurs portées, il est possible d'indiquer
l'arpège sur chacune des portées, puis de relier la ligne de vaguelettes
en assignant @emph{vrai} à la propriété @code{connectArpeggios}, par
-exemple dans le contexte @internalsref{PianoStaff} :
+exemple dans le contexte @rinternals{PianoStaff} :
@lilypond[quote,ragged-right,fragment,relative=1,verbatim]
\new PianoStaff <<
Dans ce même manuel : @ref{Ties}, pour noter explicitement des arpèges.
-Référence du programme : @internalsref{Arpeggio}.
+Référence du programme : @rinternals{Arpeggio}.
@knownissues
Il est impossible de mêler au même instant, dans un contexte
-@internalsref{PianoStaff}, des lignes d'arpèges connectées et d'autres
+@rinternals{PianoStaff}, des lignes d'arpèges connectées et d'autres
non connectées.
@seealso
-Référence du programme : @internalsref{TrillSpanner}.
+Référence du programme : @rinternals{TrillSpanner}.
@node Analysis brackets
On utilise des crochets en analyse musicale, pour indiquer la
structure d'une pièce. LilyPond permet d'utiliser une forme
simplifiée de crochets horizontaux imbriqués, dans la mesure où le
-contexte @internalsref{Staff} comporte le graveur
-@internalsref{Horizontal_bracket_engraver}. Un crochet s'ouvre avec
+contexte @rinternals{Staff} comporte le graveur
+@rinternals{Horizontal_bracket_engraver}. Un crochet s'ouvre avec
@code{\startGroup}, et se ferme avec @code{\stopGroup}.
@lilypond[quote,ragged-right,verbatim]
@seealso
-Référence du programme : @internalsref{HorizontalBracket}.
+Référence du programme : @rinternals{HorizontalBracket}.
@seealso
-Référence du programme : @internalsref{StringNumber},
+Référence du programme : @rinternals{StringNumber},
@lsr{guitar/,string-number.ly}.
noire à jouer sur la troisième corde. Par défaut, la première corde est
la plus aigüe, et les cordes suivent l'accord traditionnel d'une guitare
à six cordes. Les notes sont imprimées sous forme de tablature, dans
-les contextes @internalsref{TabStaff} et @internalsref{TabVoice}.
+les contextes @rinternals{TabStaff} et @rinternals{TabVoice}.
@lilypond[quote,ragged-right,fragment,verbatim]
\new TabStaff {
@seealso
-Référence du programme : @internalsref{TabStaff}, @internalsref{TabVoice}.
+Référence du programme : @rinternals{TabStaff}, @rinternals{TabVoice}.
@knownissues
Vous trouverez une liste complète des jeux prédéfinis dans le fichier
@file{scm/@/output@/-lib@/.scm}.
-Référence du programme : @internalsref{Tab_note_heads_engraver}.
+Référence du programme : @rinternals{Tab_note_heads_engraver}.
@knownissues
Par ailleurs, plusieurs propriétés permettent d'ajuster le graphisme
à votre convenance. Vous en trouverez les détails dans
-@internalsref{fret-diagram-interface}.
+@rinternals{fret-diagram-interface}.
@seealso
@seealso
-Référence du programme : @internalsref{StrokeFinger}
+Référence du programme : @rinternals{StrokeFinger}
@node Explicitly instantiating voices
@subsection Explicitly instantiating voices
-Les contextes @internalsref{Voice} peuvent être déclarés manuellement
+Les contextes @rinternals{Voice} peuvent être déclarés manuellement
dans un bloc @code{<< >>} pour créer de la musique polyphonique, en
utilisant @code{\voiceOne}, @dots{} jusqu'à @code{\voiceFour} pour
assigner des directions de hampes et un déplacement horizontal pour
Une description exhaustive de tous les contextes disponibles peut être trouvée dans la
référence du programme : voir
@ifhtml
-@internalsref{Contexts}.
+@rinternals{Contexts}.
@end ifhtml
@ifnothtml
Translation @expansion{} Context.
@seealso
-Program reference: @internalsref{Contexts}.
+Program reference: @rinternals{Contexts}.
@lilypond[quote,ragged-right]
\include "engraver-example.ily"
Dans ce même manuel : @ruser{Changing staff manually}.
-Référence du programme : @internalsref{AutoChangeMusic}.
+Référence du programme : @rinternals{AutoChangeMusic}.
@seealso
-Référence du programme : @internalsref{VoiceFollower}.
+Référence du programme : @rinternals{VoiceFollower}.
@predefined
Les modalités d'impression de ces indications sont définies par la
propriété @code{pedal@var{X}Strings}, @var{X} étant l'une des trois
pédales @code{Sustain}, @code{Sostenuto} ou @code{UnaCorda}. Voyez
-la référence du programme, section @internalsref{SustainPedal}, pour en
+la référence du programme, section @rinternals{SustainPedal}, pour en
savoir plus.
La propriété @code{pedalSustainStyle} permet différentes notations de
moyen des propriétés @code{edge-width}, @code{edge-height}, et
@code{shorten-pair}, appliquées aux objets @code{PianoPedalBracket} ---
voir la référence du programme, section
-@internalsref{PianoPedalBracket}. Par exemple, on peut étirer le crochet
+@rinternals{PianoPedalBracket}. Par exemple, on peut étirer le crochet
jusqu'à l'extrémité droite de la dernière note :
@lilypond[quote,ragged-right,fragment,verbatim,relative=2]
@c obsolete, remove when translation is fully updated
@macro context{TEXT}
@vindex \TEXT\
-@code{\TEXT\}@c should use internalsref
+@code{\TEXT\}@c should use rinternals
@end macro
@c obsolete, remove when translation is fully updated
@code{\TEXT\}
@end macro
+@macro lydoctitle {TEXT}
+@emph{\TEXT\}
+
+@end macro
+
@macro funindex {TEXT}
@findex \TEXT\
@kindex \TEXT\
@c Definitions for references:
-@c @internalsref
+@c @rinternals
@c @rglos
@c @rprogram
@c @ruser
@ifset bigpage
-@macro internalsref{TEXT}
+@macro rinternals{TEXT}
@vindex \TEXT\
@ref{\TEXT\,,,lilypond-internals-big-page,Référence des propriétés internes}
@end macro
@ifclear bigpage
-@macro internalsref{TEXT}
+@macro rinternals{TEXT}
@vindex \TEXT\
@ref{\TEXT\,,,lilypond-internals,Référence des propriétés internes}
@end macro
@ifdocbook
@c ***** DOCBOOK-XML *****
-@macro internalsref{TEXT}
+@macro rinternals{TEXT}
@vindex \TEXT\
@ref{\TEXT\,,,lilypond-internals,Référence des propriétés internes}
@end macro
@ifinfo
@c **** INFO ****
-@macro internalsref{NAME}
+@macro rinternals{NAME}
@vindex \NAME\
@inforef{\NAME\,,lilypond-internals,Référence des propriétés internes}
@end macro
@c **** TEX ****
@iftex
-@macro internalsref{TEXT}
+@macro rinternals{TEXT}
@vindex \TEXT\
@code{\TEXT\}
@end macro
@seealso
-Référence du programme : @internalsref{RhythmicStaff}.
+Référence du programme : @rinternals{RhythmicStaff}.
@node Entering percussion
@seealso
-Référence du Programme : @internalsref{note-event}.
+Référence du Programme : @rinternals{note-event}.
@node Percussion staves
@unnumberedsubsubsec Percussion staves
portée représente un instrument à percussion.
Pour saisir cette musique, il faut que les notes soient situées dans
-des contextes @internalsref{DrumStaff} et @internalsref{DrumVoice}.
+des contextes @rinternals{DrumStaff} et @rinternals{DrumVoice}.
@lilypond[quote,ragged-right,verbatim]
up = \drummode { crashcymbal4 hihat8 halfopenhihat hh hh hh openhihat }
L'exemple ci-dessus montre une notation polyphonique détaillée. La
notation polyphonique abrégée peut être employée lorsque le contexte
-@internalsref{DrumVoice} est spécifié explicitement :
+@rinternals{DrumVoice} est spécifié explicitement :
@lilypond[quote,ragged-right,fragment,verbatim]
\new DrumStaff <<
@end lilypond
On peut choisir d'autres mises en forme si l'on définit la propriété
-@code{drumStyleTable} dans le contexte @internalsref{DrumVoice}.
+@code{drumStyleTable} dans le contexte @rinternals{DrumVoice}.
Quelques variables prédéfinies sont disponibles :
@table @code
Fichier d'initialisation : @file{ly/@/drumpitch@/-init@/.ly}.
-Référence du programme : @internalsref{DrumStaff}, @internalsref{DrumVoice}.
+Référence du programme : @rinternals{DrumStaff}, @rinternals{DrumVoice}.
@knownissues
@seealso
-Référence du programme : @internalsref{LedgerLineSpanner},
-@internalsref{NoteHead}.
+Référence du programme : @rinternals{LedgerLineSpanner},
+@rinternals{NoteHead}.
@node Cautionary accidentals
@seealso
-Référence du programme : @internalsref{TransposedMusic}.
+Référence du programme : @rinternals{TransposedMusic}.
Exemple : @lsr{scheme,transpose-pitches-with-minimum-accidentals.ly}.
Dans ce manuel : @ref{Grace notes}.
-Référence du programme : @internalsref{Clef}.
+Référence du programme : @rinternals{Clef}.
@node Key signature
@seealso
-Référence du programme : @internalsref{KeyCancellation},
-@internalsref{KeySignature}.
+Référence du programme : @rinternals{KeyCancellation},
+@rinternals{KeySignature}.
@node Ottava brackets
@seealso
-Référence du programme : @internalsref{OttavaBracket}.
+Référence du programme : @rinternals{OttavaBracket}.
@knownissues
@seealso
-Référence du programme : @internalsref{NoteHead}.
+Référence du programme : @rinternals{NoteHead}.
@node Easy notation note heads
@end lilypond
La commande @code{\easyHeadsOn} remplace tous les réglages de l'objet
-@internalsref{NoteHead}. L'impression doit être de plus grande
+@rinternals{NoteHead}. L'impression doit être de plus grande
taille, afin que les lettres soient lisibles. Voir à ce propos
@ref{Setting the staff size}.
L'improvisation peut quelquefois s'indiquer à l'aide de notes de forme
allongée (@emph{slash}). Ces têtes de notes sont créées par
-l'adjonction du graveur @internalsref{Pitch_squash_engraver} au
-contexte @internalsref{Voice}, de telle sorte que la commande
+l'adjonction du graveur @rinternals{Pitch_squash_engraver} au
+contexte @rinternals{Voice}, de telle sorte que la commande
@example
\set squashedPosition = #0
@seealso
-Program reference: @internalsref{VoltaBracket},
-@internalsref{RepeatedMusic},
-@internalsref{VoltaRepeatedMusic}, et
-@internalsref{UnfoldedRepeatedMusic}.
+Program reference: @rinternals{VoltaBracket},
+@rinternals{RepeatedMusic},
+@rinternals{VoltaRepeatedMusic}, et
+@rinternals{UnfoldedRepeatedMusic}.
Examples
@seealso
-Référence du programme : @internalsref{VoltaBracket},
-@internalsref{RepeatedMusic},
-@internalsref{VoltaRepeatedMusic}, et
-@internalsref{UnfoldedRepeatedMusic}.
+Référence du programme : @rinternals{VoltaBracket},
+@rinternals{RepeatedMusic},
+@rinternals{VoltaRepeatedMusic}, et
+@rinternals{UnfoldedRepeatedMusic}.
@node Other repeats
Dans ce manuel : @ref{Tremolo subdivisions}, @ref{Repeats}.
-Référence du programme : @internalsref{Beam}, @internalsref{StemTremolo}.
+Référence du programme : @rinternals{Beam}, @rinternals{StemTremolo}.
@node Tremolo subdivisions
Dans ce manuel : @ref{Tremolo repeats}.
-Référence du programme : @internalsref{StemTremolo}.
+Référence du programme : @rinternals{StemTremolo}.
@node Measure repeats
@seealso
-Référence du programme : @internalsref{RepeatSlash},
-@internalsref{PercentRepeat}, @internalsref{DoublePercentRepeat},
-@internalsref{DoublePercentRepeatCounter},
-@internalsref{PercentRepeatCounter},
-@internalsref{PercentRepeatedMusic}.
+Référence du programme : @rinternals{RepeatSlash},
+@rinternals{PercentRepeat}, @rinternals{DoublePercentRepeat},
+@rinternals{DoublePercentRepeatCounter},
+@rinternals{PercentRepeatCounter},
+@rinternals{PercentRepeatedMusic}.
@seealso
-Référence du programme : @internalsref{Dots}, @internalsref{DotColumn}.
+Référence du programme : @rinternals{Dots}, @rinternals{DotColumn}.
@node Tuplets
@seealso
-Référence du programme : @internalsref{TupletBracket},
-@internalsref{TupletNumber}, @internalsref{TimeScaledMusic}.
+Référence du programme : @rinternals{TupletBracket},
+@rinternals{TupletNumber}, @rinternals{TimeScaledMusic}.
@seealso
-Référence du programme : @internalsref{Rest}.
+Référence du programme : @rinternals{Rest}.
@node Skips
La commande de saut génère simplement une case musicale vide. Elle ne
produit rien sur la partition, pas même un symbole transparent. Le code
-de saut @code{s} crée tout de même une @internalsref{Staff} et une
-@internalsref{Voice} lorsque nécessaire, tout comme les commandes de
+de saut @code{s} crée tout de même une @rinternals{Staff} et une
+@rinternals{Voice} lorsque nécessaire, tout comme les commandes de
note et de silence. Ainsi, le code suivant aboutit à une portée vide.
@lilypond[quote,ragged-right,verbatim]
@seealso
-Référence du programme : @internalsref{SkipMusic}.
+Référence du programme : @rinternals{SkipMusic}.
@node Multi measure rests
@seealso
-Référence du programme : @internalsref{MultiMeasureRestMusic},
-@internalsref{MultiMeasureRest}.
+Référence du programme : @rinternals{MultiMeasureRestMusic},
+@rinternals{MultiMeasureRest}.
-L'objet de rendu @internalsref{MultiMeasureRestNumber} traite les
-nombres, et @internalsref{MultiMeasureRestText} le texte ajouté par
+L'objet de rendu @rinternals{MultiMeasureRestNumber} traite les
+nombres, et @rinternals{MultiMeasureRestText} le texte ajouté par
l'utilisateur.
@code{\time} définit les propriétés @code{timeSignatureFraction},
@code{beatLength} et @code{measureLength} dans le contexte
-@code{Timing}, qui en principe est assimilé à @internalsref{Score}. La
+@code{Timing}, qui en principe est assimilé à @rinternals{Score}. La
propriété @code{measureLength} détermine où des barres de mesure doivent
être insérées, et comment les groupements de notes doivent être gérés.
La modification de la valeur de @code{timeSignatureFraction} donne
Plus d'options sont accessibles au moyen de la fonction Scheme
@code{set-time-signature}. De concert avec le
-@internalsref{Measure_grouping_engraver}, elle crée les signes de
-@internalsref{MeasureGrouping}, qui facilitent la lecture de musiques
+@rinternals{Measure_grouping_engraver}, elle crée les signes de
+@rinternals{MeasureGrouping}, qui facilitent la lecture de musiques
modernes, complexes rythmiquement. Dans l'exemple suivant, les mesures
à 9/8 sont subdivisées en @code{(2 2 2 3)}, ce qui est donné comme
argument à la commande @code{set-time-signature}, en troisième position.
@seealso
-Référence du programme : @internalsref{TimeSignature} et
-@internalsref{Timing_translator}.
+Référence du programme : @rinternals{TimeSignature} et
+@rinternals{Timing_translator}.
Exemples : @lsr{contemporary,compound-time-signature.ly}.
mais on peut contourner ce problème. Dans l'exemple suivant,
l'indicateur de métrique est obtenu grâce à une étiquette textuelle.
Cette étiquette vient s'insérer dans l'objet graphique (@emph{grob})
-@internalsref{TimeSignature}. Voir aussi
+@rinternals{TimeSignature}. Voir aussi
@lsr{contemporary,compound-time-signature}.
@end lilypond
Il arrive aussi que chaque portée ait sa propre métrique. Vous y
-parviendrez en déplaçant le @internalsref{Timing_translator} dans le
-contexte @internalsref{Staff}.
+parviendrez en déplaçant le @rinternals{Timing_translator} dans le
+contexte @rinternals{Staff}.
@example
\layout @{
@unnumberedsubsubsec Automatic note splitting
On peut convertir automatiquement les notes longues en notes liées. Il
-faut pour cela remplacer le graveur @internalsref{Note_heads_engraver}
-par le graveur @internalsref{Completion_heads_engraver}. Dans les
+faut pour cela remplacer le graveur @rinternals{Note_heads_engraver}
+par le graveur @rinternals{Completion_heads_engraver}. Dans les
exemples suivants, les notes dépassant de la mesure sont divisées et
liées.
exactement la durée des décalages de mesure.
Si vous voulez permettre un saut de ligne aux barres de mesure où
-@internalsref{Completion_heads_engraver} divise les notes, vous devez
-aussi enlever @internalsref{Forbid_line_break_engraver}.
+@rinternals{Completion_heads_engraver} divise les notes, vous devez
+aussi enlever @rinternals{Forbid_line_break_engraver}.
@knownissues
@seealso
-Référence du programme : @internalsref{Completion_heads_engraver}.
+Référence du programme : @rinternals{Completion_heads_engraver}.
@node Beams
@seealso
-Référence du programme : @internalsref{Beam}.
+Référence du programme : @rinternals{Beam}.
@node Manual beams
Dans ce manuel : @ref{Repeats}, @ref{System start delimiters}.
-Référence du programme : @internalsref{BarLine} (faisant partie du
-contexte @internalsref{Staff}), @internalsref{SpanBar} (sur plusieurs
+Référence du programme : @rinternals{BarLine} (faisant partie du
+contexte @rinternals{Staff}), @rinternals{SpanBar} (sur plusieurs
portées).
@seealso
-Référence du programme : @internalsref{BarNumber}.
+Référence du programme : @rinternals{BarNumber}.
Exemples : @lsrdir{staff}
@knownissues
Les numéros de mesure peuvent entrer en collision avec les crochets de
-@internalsref{StaffGroup}. La propriété @code{padding} --- décalage
---- de l'objet @internalsref{BarNumber} permet alors d'ajuster leur
+@rinternals{StaffGroup}. La propriété @code{padding} --- décalage
+--- de l'objet @rinternals{BarNumber} permet alors d'ajuster leur
positionnement.
Dans ce manuel : @ref{Text marks}.
-Référence du programme : @internalsref{RehearsalMark}.
+Référence du programme : @rinternals{RehearsalMark}.
Fichiers d'initialisation : @file{scm/@/translation@/-functions@/.scm}
contient les définitions de @code{format-mark-numbers} et
@seealso
-Référence du programme : @internalsref{GraceMusic}.
+Référence du programme : @rinternals{GraceMusic}.
@knownissues
@cindex temps, gestion du
-Le temps est administré par le @internalsref{Time_signature_engraver},
-qui réside en principe dans le contexte @internalsref{Score}. Sa
+Le temps est administré par le @rinternals{Time_signature_engraver},
+qui réside en principe dans le contexte @rinternals{Score}. Sa
gestion traite les variables suivantes :
@table @code
@item La véritable notation proportionnelle exige que des symboles
puissent en écraser d'autres. Pour y parvenir, il faut retirer le
-@internalsref{Separating_line_group_engraver} du contexte
-@internalsref{Staff}.
+@rinternals{Separating_line_group_engraver} du contexte
+@rinternals{Staff}.
@item L'influence en matière d'espacement induite par le formatage
(clés, barres de mesure, etc) s'annule en assignant
@emph{vrai}@tie{}(#t) à la propriété @code{strict-note-spacing} de
-l'objet @internalsref{SpacingSpanner}.
+l'objet @rinternals{SpacingSpanner}.
@item Les affinages optiques se règlent en assignant @emph{vrai} à la
-propriété @code{uniform-stretching} du @internalsref{SpacingSpanner}.
+propriété @code{uniform-stretching} du @rinternals{SpacingSpanner}.
@end itemize
@seealso
-Référence du programme : @internalsref{ClusterSpanner},
-@internalsref{ClusterSpannerBeacon},
-@internalsref{Cluster_spanner_engraver}.
+Référence du programme : @rinternals{ClusterSpanner},
+@rinternals{ClusterSpannerBeacon},
+@rinternals{Cluster_spanner_engraver}.
Exemples : @lsr{contemporary,cluster@/.ly}.
}
@end lilypond
-Le séparateur permet aux contextes @internalsref{Voice}@footnote{Ces
+Le séparateur permet aux contextes @rinternals{Voice}@footnote{Ces
voix polyphoniques sont parfois appelées @qq{couches} ou @qq{calques} dans
d'autres logiciels de notation.}
@cindex couches
D'ordinaire, les têtes de notes pointées et non-pointées ne sont pas
fusionnées, mais lorsque la propriété @code{merge-differently-dotted} de
-l'objet @internalsref{NoteCollision} est définie, elles se trouvent
+l'objet @rinternals{NoteCollision} est définie, elles se trouvent
fusionnées :
@lilypond[quote,verbatim,fragment,ragged-right,relative=2]
et @code{\shiftOnnn} sont des niveaux supplémentaires de décalage.
Quand LilyPond est dépassé, la propriété @code{force-hshift} de l'objet
-@internalsref{NoteColumn}, et des silences à hauteur déterminée, peuvent
+@rinternals{NoteColumn}, et des silences à hauteur déterminée, peuvent
s'avérer utiles pour dicter au programme les choix de placement.
@lilypond[quote,verbatim,ragged-right]
@seealso
Référence du programme : les objets appropriés pour résoudre les
-collisions sont @internalsref{NoteCollision} et
-@internalsref{RestCollision}.
+collisions sont @rinternals{NoteCollision} et
+@rinternals{RestCollision}.
@knownissues
>>
@end lilypond
-LilyPond interprète dans un contexte @internalsref{Voice} les
+LilyPond interprète dans un contexte @rinternals{Voice} les
arguments fournis à @code{\partcombine}. Si vous travaillez avec des
octaves relatives, spécifiez @code{\relative} dans chacune des
expressions musicales, comme ceci :
@seealso
-Référence du programme : @internalsref{PartCombineMusic}.
+Référence du programme : @rinternals{PartCombineMusic}.
@knownissues
En interne, @code{\partcombine} interprète les deux arguments en tant
que @code{Voice}s, dénommées @code{one} et @code{two}, puis décide de
quand les parties seront fusionnées. Par conséquent, si les arguments
-changent pour d'autres noms de contexte @internalsref{Voice}, les
+changent pour d'autres noms de contexte @rinternals{Voice}, les
événements qu'ils contiendraient seront ignorés.
@itemize @bullet
@item Le groupe de portées est attaché par une accolade sur la gauche,
et les barres de mesure sont d'un seul tenant. Il s'agit du contexte
-@internalsref{GrandStaff}.
+@rinternals{GrandStaff}.
@lilypond[verbatim,ragged-right,quote]
\new GrandStaff
@item Le groupe de portées est attaché par un crochet, et les barres
de mesure sont d'un seul tenant. Il s'agit du contexte
-@internalsref{StaffGroup}.
+@rinternals{StaffGroup}.
@lilypond[verbatim,ragged-right,quote]
\new StaffGroup
@item Le groupe de portées est attaché par un crochet, mais les barres
de mesure sont séparées d'une portée à l'autre. Il s'agit du contexte
-@internalsref{ChoirStaff}.
+@rinternals{ChoirStaff}.
@lilypond[verbatim,ragged-right,quote]
\new ChoirStaff
@seealso
Les barres de mesure au début de chaque système prennent l'un des styles
-@internalsref{SystemStartBar}, @internalsref{SystemStartBrace},
-@internalsref{SystemStartBracket}. Dans chaque contexte, seul l'un de
+@rinternals{SystemStartBar}, @rinternals{SystemStartBrace},
+@rinternals{SystemStartBracket}. Dans chaque contexte, seul l'un de
ces styles est utilisé, et c'est la propriété
@code{systemStartDelimiter} qui détermine lequel.
@seealso
-Référence du programme : @internalsref{StaffSymbol}.
+Référence du programme : @rinternals{StaffSymbol}.
D'autres exemples : @lsrdir{staff}.
silences sont habituellement masquées afin de gagner de la place. Ce
style d'édition s'appelle en anglais @qq{French Score}.
Cette fonctionnalité est activée par défaut dans les contextes
-@internalsref{Lyrics}, @internalsref{ChordNames} et
-@internalsref{FiguredBass}. Lorsque des lignes appartenant à ces
+@rinternals{Lyrics}, @rinternals{ChordNames} et
+@rinternals{FiguredBass}. Lorsque des lignes appartenant à ces
contextes se retrouvent vides après placement des sauts de ligne,
elles sont effacées.
En ce qui concerne les portées normales, il existe un contexte
-@internalsref{Staff} spécifique qui permet d'arriver à ce résultat :
+@rinternals{Staff} spécifique qui permet d'arriver à ce résultat :
les portées ne contenant rien ou uniquement des silences multi-mesures
seront retirées. La définition de ce contexte est enregistrée dans la
variable @code{\RemoveEmptyStaffContext}. Voyez comment la deuxième
Le premier système comportera absolument toutes les portées. Si vous
voulez masquer les portées vides y compris pour le premier système,
vous devrez assigner vrai à la propriété @code{remove-first} dans
-@internalsref{VerticalAxisGroup}.
+@rinternals{VerticalAxisGroup}.
@example
\override Score.VerticalAxisGroup #'remove-first = ##t
@seealso
-Référence du programme : @internalsref{MetronomeMark}.
+Référence du programme : @rinternals{MetronomeMark}.
@knownissues
chacune des portées.
Ce résultat s'obtient en spécifiant
-@internalsref{Staff}.@code{instrumentName} et
-@internalsref{Staff}.@code{shortInstrumentName}, ou
-@internalsref{PianoStaff}.@code{instrumentName} et
-@internalsref{PianoStaff}.@code{shortInstrumentName}. L'argument
+@rinternals{Staff}.@code{instrumentName} et
+@rinternals{Staff}.@code{shortInstrumentName}, ou
+@rinternals{PianoStaff}.@code{instrumentName} et
+@rinternals{PianoStaff}.@code{shortInstrumentName}. L'argument
textuel apparaîtra avant le début de la portée. La première ligne
affichera @code{instrumentName}, et les suivantes
@code{shortInstrumentName}.
@seealso
-Référence du programme : @internalsref{InstrumentName}.
+Référence du programme : @rinternals{InstrumentName}.
@node Quoting other voices
@knownissues
-Seul le contenu de la première @internalsref{Voice} rencontrée dans la
+Seul le contenu de la première @rinternals{Voice} rencontrée dans la
partie marquée d'une commande @code{\addQuote} pourra être retenu. Par
voie de conséquence, @code{music} ne saurait comprendre de @code{\new}
ou une instance @code{context Voice} qui la ferait passer à une autre voix.
Exemples : @lsr{parts,quote.ly}, @lsr{parts,quote-transportation.ly}
-Référence du programme : @internalsref{QuoteMusic}.
+Référence du programme : @rinternals{QuoteMusic}.
@node Formatting cue notes
@end example
Des notes issues de la partie @var{nom} s'insèreront dans une
-@internalsref{Voice} nommée @code{cue}, simultanément avec
+@rinternals{Voice} nommée @code{cue}, simultanément avec
@var{musique} --- habituellement un silence. L'apparition des petites
notes initialise une polyphonie temporaire pour la portée concernée.
L'argument @var{updown} détermine si ces petites notes seront
Dans ce manuel : @ref{Text markup}.
-Référence du programme : @internalsref{TextScript}.
+Référence du programme : @rinternals{TextScript}.
@node Text and line spanners
@seealso
-Référence du programme : @internalsref{TextSpanner},
-@internalsref{Glissando}, @internalsref{VoiceFollower},
-@internalsref{TrillSpanner}, @internalsref{line-spanner-interface}.
+Référence du programme : @rinternals{TextSpanner},
+@rinternals{Glissando}, @rinternals{VoiceFollower},
+@rinternals{TrillSpanner}, @rinternals{line-spanner-interface}.
Exemples : @lsr{expressive,line-styles.ly}, @lsr{expressive,line-arrows.ly}
@seealso
-Référence du programme : @internalsref{TextSpanner}.
+Référence du programme : @rinternals{TextSpanner}.
@node Text marks
@seealso
-Référence du programme : @internalsref{RehearsalMark}.
+Référence du programme : @rinternals{RehearsalMark}.
@node New dynamic marks
@code{\markup} est avant tout conçu pour gérer les
-@internalsref{TextScript}s, mais rien ne s'oppose à son utilisation
+@rinternals{TextScript}s, mais rien ne s'oppose à son utilisation
pour traiter du texte avec LilyPond.
@lilypond[quote,verbatim]
Certains objets possèdent leurs propres procédures d'alignement, qui
annuleront toute spécification d'alignement que vous pourriez affecter
à un argument de type @emph{markup} que vous leur auriez fourni. Par
-exemple, les @internalsref{RehearsalMark} sont centrées
+exemple, les @rinternals{RehearsalMark} sont centrées
horizontalement ; de fait, utiliser
@code{\mark \markup @{ \left-align .. @}} sera sans effet.
Dans ce manuel : @ref{Text markup commands}.
-Référence du programme : @internalsref{TextScript}.
+Référence du programme : @rinternals{TextScript}.
Fichiers d'initialisation : @file{scm/@/new@/-markup@/.scm}.
@quotation
@seealso
-Référence du programme : @internalsref{DynamicText}, @internalsref{Hairpin}.
+Référence du programme : @rinternals{DynamicText}, @rinternals{Hairpin}.
Le placement vertical de ces symboles est contrôlé par
-@internalsref{DynamicLineSpanner}.
+@rinternals{DynamicLineSpanner}.
@end quotation
@noindent
@seealso
-Référence du programme : @internalsref{LyricText}, @internalsref{LyricSpace}.
+Référence du programme : @rinternals{LyricText}, @rinternals{LyricSpace}.
@node Working with lyrics and variables
@c TODO: document \new Staff << Voice \lyricsto >> bug
-Référence du programme : @internalsref{LyricCombineMusic},
-@internalsref{Lyrics}.
+Référence du programme : @rinternals{LyricCombineMusic},
+@rinternals{Lyrics}.
Avant d'être imprimées, les paroles sont interprétées par le programme
-dans le contexte @internalsref{Lyrics}.
+dans le contexte @rinternals{Lyrics}.
@example
\new Lyrics \lyricmode @dots{}
@end example
Cette commande adapte les paroles aux notes de la voix (contexte
-@internalsref{Voice} dans le jargon LilyPond) @var{nom}. Ce contexte
+@rinternals{Voice} dans le jargon LilyPond) @var{nom}. Ce contexte
@code{Voice} doit exister avant l'indication des paroles avec
@code{\lyricsto}. La commande @code{\lyricsto} introduit
automatiquement le mode @code{\lyricmode}, donc dans ce cas vous n'avez
@noindent
La valeur que vous attribuez à cette propriété (ici @code{"lala"})
-doit désigner un contexte @internalsref{Voice}, sans quoi les mélismes
+doit désigner un contexte @rinternals{Voice}, sans quoi les mélismes
ne seront pas imprimés correctement.
Voici un exemple de cette manière de procéder :
@seealso
-Référence du programme : @internalsref{Lyrics}.
+Référence du programme : @rinternals{Lyrics}.
@node Multiple syllables to one note
@seealso
-Référence du programme : @internalsref{LyricCombineMusic}.
+Référence du programme : @rinternals{LyricCombineMusic}.
@c Here come the section which used to be "Melismata"
@c the new title might be more self-explanatory
@seealso
-Référence du programme : @internalsref{Melisma_translator}.
+Référence du programme : @rinternals{Melisma_translator}.
@lsr{vocal,lyric@/-combine.ly}.
@seealso
-Référence du programme : @internalsref{LyricExtender},
-@internalsref{LyricHyphen}
+Référence du programme : @rinternals{LyricExtender},
+@rinternals{LyricHyphen}
@node Lyrics and repeats
@seealso
-Référence du programme : @internalsref{LyricText},
-@internalsref{StanzaNumber}, @internalsref{VocalName}.
+Référence du programme : @rinternals{LyricText},
+@rinternals{StanzaNumber}, @rinternals{VocalName}.
in <a class="title" href="user/lilypond-program.pdf">PDF</a>)
<br>(how to install and run the program)
-<li><a class="title" href="../input/lsr/lilypond-snippets/index.html">Snippets</a>
+<li><a class="title"href="../input/lsr/lilypond-snippets/index.html">Snippets List (SL)</a>
(in <a class="title" href="../input/lsr/lilypond-snippets-big-page.html">one big page</a>,
in <a class="title" href="user/lilypond-snippets.pdf">PDF</a>)
<br>(Short tricks, tips, and examples)
msgstr ""
"Project-Id-Version: es\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2008-04-27 00:03+0200\n"
-"PO-Revision-Date: 2008-03-30 17:19+0200\n"
+"POT-Creation-Date: 2008-05-08 22:33+0200\n"
+"PO-Revision-Date: 2008-05-12 01:22+0200\n"
"Last-Translator: Francisco Vila <francisco.vila@hispalinux.es>\n"
"Language-Team: Español <lilypond.org>\n"
"MIME-Version: 1.0\n"
#. Documentation/user/tutorial.itely:226 (comment)
msgid "set the starting point to middle C"
-msgstr ""
+msgstr "fijar el punto de inicio en Do central"
#. Documentation/user/tutorial.itely:256 (comment)
msgid "one octave above middle C"
-msgstr ""
+msgstr "una octava por encima del Do central"
#. Documentation/user/tutorial.itely:271 (comment)
msgid "c is 1 staff space up, so is the c above"
-msgstr ""
+msgstr "el Do está un espacio por encima, es el Do agudo"
#. Documentation/user/tutorial.itely:272 (comment)
msgid "d is 2 up or 5 down, so is the d above"
-msgstr ""
+msgstr "el Re está 2 por encima ó 5 por debajo, es el Re agudo"
#. Documentation/user/tutorial.itely:273 (comment)
msgid "e is 3 up or 4 down, so is the e above"
-msgstr ""
+msgstr "el Mi está 3 por encima ó 4 por debajo, es el Mi agudo"
#. Documentation/user/tutorial.itely:274 (comment)
msgid "a is 6 up or 1 down, so is the a below"
-msgstr ""
+msgstr "el La está 6 por encima ó 1 por debajo, es el La grave"
#. Documentation/user/tutorial.itely:275 (comment)
msgid "g is 5 up or 2 down, so is the g below"
-msgstr ""
+msgstr "el Sol está 5 por encima ó 2 por debajo, es el Sol grave"
#. Documentation/user/tutorial.itely:276 (comment)
msgid "f is 4 up or 3 down, so is the f below"
-msgstr ""
+msgstr "el Fa está 4 por encima ó 3 por debajo, es el Fa grave"
#. Documentation/user/tutorial.itely:1527 (variable)
#. Documentation/user/working.itely:214 (variable)
#. Documentation/user/working.itely:229 (variable)
-#, fuzzy
msgid "violin"
-msgstr "Líneas"
+msgstr "violin"
#. Documentation/user/tutorial.itely:1530 (variable)
-#, fuzzy
msgid "cello"
-msgstr "color"
+msgstr "cello"
#. Documentation/user/tutorial.itely:1553 (variable)
-#, fuzzy
msgid "tripletA"
-msgstr "tresillo"
+msgstr "tresilloA"
#. Documentation/user/tutorial.itely:1554 (variable)
msgid "barA"
-msgstr ""
+msgstr "compasA"
#. @rglos in Documentation/user/tutorial.itely
#. @rglos in Documentation/es/user/tutorial.itely
#. @subsubheading in Documentation/user/tutorial.itely
#. @subsubheading in Documentation/es/user/tutorial.itely
msgid "UNIX"
-msgstr ""
+msgstr "UNIX"
#. @node in Documentation/user/tutorial.itely
#. @subsection in Documentation/user/tutorial.itely
#. @node in Documentation/user/tutorial.itely
#. @subsection in Documentation/user/tutorial.itely
-#, fuzzy
msgid "Working on input files"
-msgstr "Trabajar sobre archivos de texto"
+msgstr "Trabajar sobre los archivos de entrada"
#. @node in Documentation/user/tutorial.itely
#. @subsection in Documentation/user/tutorial.itely
#. @rglos in Documentation/user/tutorial.itely
#. @rglos in Documentation/user/pitches.itely
+#. @rglos in Documentation/es/user/tutorial.itely
#. @rglos in Documentation/es/user/pitches.itely
#. @rglos in Documentation/de/user/tutorial.itely
msgid "Pitch names"
msgstr "Ligaduras de fraseo"
#. @rglos in Documentation/user/tutorial.itely
+#. @rglos in Documentation/es/user/tutorial.itely
#. @rglos in Documentation/de/user/tutorial.itely
msgid "phrasing"
msgstr "fraseo"
msgstr "Digitaciones"
#. @rglos in Documentation/user/tutorial.itely
+#. @rglos in Documentation/es/user/tutorial.itely
#. @rglos in Documentation/de/user/tutorial.itely
msgid "fingering"
msgstr "digitaciones"
msgstr "Matices dinámicos"
#. @rglos in Documentation/user/tutorial.itely
+#. @rglos in Documentation/es/user/tutorial.itely
#. @rglos in Documentation/de/user/tutorial.itely
msgid "dynamics"
msgstr "matices dinámicos"
#. @rglos in Documentation/user/tutorial.itely
#. @rglos in Documentation/user/expressive.itely
+#. @rglos in Documentation/es/user/tutorial.itely
#. @rglos in Documentation/es/user/expressive.itely
#. @rglos in Documentation/de/user/tutorial.itely
msgid "crescendo"
#. @rglos in Documentation/user/tutorial.itely
#. @rglos in Documentation/user/expressive.itely
+#. @rglos in Documentation/es/user/tutorial.itely
#. @rglos in Documentation/es/user/expressive.itely
#. @rglos in Documentation/de/user/tutorial.itely
msgid "decrescendo"
#. @rglos in Documentation/user/tutorial.itely
#. @rglos in Documentation/user/rhythms.itely
+#. @rglos in Documentation/es/user/tutorial.itely
#. @rglos in Documentation/es/user/rhythms.itely
#. @rglos in Documentation/de/user/tutorial.itely
msgid "note value"
#. @rglos in Documentation/user/tutorial.itely
#. @rglos in Documentation/user/rhythms.itely
+#. @rglos in Documentation/es/user/tutorial.itely
#. @rglos in Documentation/es/user/rhythms.itely
#. @rglos in Documentation/de/user/tutorial.itely
msgid "triplet"
#. @rglos in Documentation/user/tutorial.itely
#. @rglos in Documentation/user/rhythms.itely
+#. @rglos in Documentation/es/user/tutorial.itely
#. @rglos in Documentation/de/user/tutorial.itely
msgid "grace notes"
msgstr "notas de adorno"
#. @rglos in Documentation/user/tutorial.itely
#. @rglos in Documentation/user/rhythms.itely
+#. @rglos in Documentation/es/user/tutorial.itely
+#. @rglos in Documentation/de/user/tutorial.itely
msgid "acciaccatura"
msgstr "acciaccatura"
#. @rglos in Documentation/user/tutorial.itely
#. @rglos in Documentation/user/rhythms.itely
+#. @rglos in Documentation/es/user/tutorial.itely
#. @rglos in Documentation/de/user/tutorial.itely
msgid "appoggiatura"
msgstr "appoggiatura"
#. @rglos in Documentation/user/tutorial.itely
#. @rglos in Documentation/user/simultaneous.itely
+#. @rglos in Documentation/es/user/tutorial.itely
#. @rglos in Documentation/es/user/simultaneous.itely
#. @rglos in Documentation/de/user/tutorial.itely
msgid "chord"
#. @node in Documentation/user/vocal.itely
#. @subsubsection in Documentation/user/vocal.itely
#. @node in Documentation/fr/user/vocal.itely
-#. @unnumberedsubsubsec in Documentation/fr/user/vocal.itely
+#. @subsubsection in Documentation/fr/user/vocal.itely
#. @node in Documentation/es/user/tutorial.itely
#. @subsection in Documentation/es/user/tutorial.itely
#. @node in Documentation/es/user/vocal.itely
#. @node in Documentation/user/vocal.itely
#. @subsection in Documentation/user/vocal.itely
#. @node in Documentation/fr/user/vocal.itely
-#. @unnumberedsubsubsec in Documentation/fr/user/vocal.itely
+#. @subsection in Documentation/fr/user/vocal.itely
#. @node in Documentation/es/user/tutorial.itely
#. @subsection in Documentation/es/user/tutorial.itely
#. @node in Documentation/es/user/vocal.itely
msgid "After the tutorial"
msgstr "Más allá del tutorial"
-#. Documentation/user/fundamental.itely:291 (variable)
-#. Documentation/user/vocal.itely:1055 (variable)
-#. Documentation/user/vocal.itely:1097 (variable)
+#. Documentation/user/fundamental.itely:352 (variable)
+#. Documentation/user/vocal.itely:1054 (variable)
+#. Documentation/user/vocal.itely:1096 (variable)
msgid "melody"
-msgstr ""
+msgstr "melodia"
-#. Documentation/user/fundamental.itely:292 (variable)
-#. Documentation/user/vocal.itely:880 (variable)
-#. Documentation/user/vocal.itely:1060 (variable)
-#. Documentation/user/vocal.itely:1101 (variable)
-#, fuzzy
+#. Documentation/user/fundamental.itely:353 (variable)
+#. Documentation/user/vocal.itely:879 (variable)
+#. Documentation/user/vocal.itely:1059 (variable)
+#. Documentation/user/vocal.itely:1100 (variable)
msgid "text"
-msgstr "Texto"
+msgstr "texto"
-#. Documentation/user/fundamental.itely:293 (variable)
-#. Documentation/user/fundamental.itely:2127 (variable)
+#. Documentation/user/fundamental.itely:354 (variable)
+#. Documentation/user/fundamental.itely:2513 (variable)
msgid "upper"
-msgstr ""
+msgstr "superior"
-#. Documentation/user/fundamental.itely:294 (variable)
-#. Documentation/user/fundamental.itely:2134 (variable)
-#, fuzzy
+#. Documentation/user/fundamental.itely:355 (variable)
+#. Documentation/user/fundamental.itely:2520 (variable)
msgid "lower"
-msgstr "color"
+msgstr "inferior"
-#. Documentation/user/fundamental.itely:541 (comment)
-#. Documentation/user/fundamental.itely:551 (comment)
-#. Documentation/user/fundamental.itely:566 (comment)
-#. Documentation/user/fundamental.itely:571 (comment)
-#. Documentation/user/fundamental.itely:591 (comment)
+#. Documentation/user/fundamental.itely:613 (comment)
+#. Documentation/user/fundamental.itely:623 (comment)
+#. Documentation/user/fundamental.itely:638 (comment)
+#. Documentation/user/fundamental.itely:643 (comment)
+#. Documentation/user/fundamental.itely:663 (comment)
msgid "Voice "
-msgstr ""
+msgstr "Voz "
-#. Documentation/user/fundamental.itely:589 (comment)
-#. Documentation/user/fundamental.itely:613 (comment)
-#, fuzzy
+#. Documentation/user/fundamental.itely:661 (comment)
+#. Documentation/user/fundamental.itely:685 (comment)
msgid "Main voice"
-msgstr "Una voz única"
+msgstr "Voz principal"
-# También Líneas divisorias. FVD
-#. Documentation/user/fundamental.itely:615 (comment)
-#. Documentation/user/simultaneous.itely:434 (comment)
-#, fuzzy
+#. Documentation/user/fundamental.itely:687 (comment)
msgid "Bar 1"
-msgstr "Barras de compás"
+msgstr "Compás 1"
# También Líneas divisorias. FVD
-#. Documentation/user/fundamental.itely:626 (comment)
-#. Documentation/user/simultaneous.itely:444 (comment)
-#, fuzzy
+#. Documentation/user/fundamental.itely:698 (comment)
+#. Documentation/user/simultaneous.itely:439 (comment)
msgid "Bar 2"
-msgstr "Barras de compás"
+msgstr "Compás 2"
-#. Documentation/user/fundamental.itely:627 (comment)
-#, fuzzy
+#. Documentation/user/fundamental.itely:699 (comment)
msgid "Voice 1 continues"
-msgstr "Las voces contienen música"
+msgstr "Continúa la voz 1"
-#. Documentation/user/fundamental.itely:630 (comment)
-#, fuzzy
+#. Documentation/user/fundamental.itely:702 (comment)
msgid "Voice 2 continues"
-msgstr "Las voces contienen música"
+msgstr "Continúa la voz 2"
-#. Documentation/user/fundamental.itely:793 (comment)
-#, fuzzy
+#. Documentation/user/fundamental.itely:867 (comment)
msgid "Voice one"
-msgstr "Microtonos"
+msgstr "Voz uno"
-#. Documentation/user/fundamental.itely:795 (comment)
+#. Documentation/user/fundamental.itely:869 (comment)
msgid "Voice two"
-msgstr ""
+msgstr "Voz dos"
-#. Documentation/user/fundamental.itely:797 (comment)
+#. Documentation/user/fundamental.itely:871 (comment)
msgid "Omit Voice three"
-msgstr ""
+msgstr "Omitir la voz tres"
-#. Documentation/user/fundamental.itely:798 (comment)
+#. Documentation/user/fundamental.itely:872 (comment)
msgid "Voice four"
-msgstr ""
+msgstr "Voz cuatro"
-#. Documentation/user/fundamental.itely:883 (comment)
+#. Documentation/user/fundamental.itely:959 (comment)
msgid "Default behavior or behavior after \\oneVoice"
-msgstr ""
+msgstr "Comportamiento predeterminado o comportamiento después de \\oneVoice"
-#. Documentation/user/fundamental.itely:917 (comment)
+#. Documentation/user/fundamental.itely:997 (comment)
msgid "The following notes are monophonic"
-msgstr ""
+msgstr "Las notas siguientes son monofónicas"
-#. Documentation/user/fundamental.itely:919 (comment)
-#, fuzzy
+#. Documentation/user/fundamental.itely:999 (comment)
msgid "Start simultaneous section of three voices"
-msgstr "Notas simultáneas"
+msgstr "Inicio de la sección de tres voces simultáneas"
-#. Documentation/user/fundamental.itely:921 (comment)
-#, fuzzy
+#. Documentation/user/fundamental.itely:1001 (comment)
msgid "Continue the main voice in parallel"
-msgstr "Escribir música en paralelo"
+msgstr "Continuar la voz principal en paralelo"
-#. Documentation/user/fundamental.itely:923 (comment)
-#. Documentation/user/fundamental.itely:981 (comment)
+#. Documentation/user/fundamental.itely:1003 (comment)
+#. Documentation/user/fundamental.itely:1065 (comment)
msgid "Initiate second voice"
-msgstr ""
+msgstr "Iniciar la segunda voz"
-#. Documentation/user/fundamental.itely:925 (comment)
+#. Documentation/user/fundamental.itely:1005 (comment)
msgid "Set stems, etc, down"
-msgstr ""
+msgstr "Poner plicas, etc. hacia abajo"
-#. Documentation/user/fundamental.itely:929 (comment)
-#. Documentation/user/fundamental.itely:987 (comment)
-#, fuzzy
+#. Documentation/user/fundamental.itely:1009 (comment)
+#. Documentation/user/fundamental.itely:1071 (comment)
msgid "Initiate third voice"
-msgstr "Citar otras voces"
+msgstr "Iniciar la tercera voz"
-#. Documentation/user/fundamental.itely:931 (comment)
+#. Documentation/user/fundamental.itely:1011 (comment)
msgid "Set stems, etc, up"
-msgstr ""
+msgstr "Poner las plicas, etc. hacia arriba"
-#. Documentation/user/fundamental.itely:976 (comment)
+#. Documentation/user/fundamental.itely:1060 (comment)
msgid "Initiate first voice"
-msgstr ""
+msgstr "Iniciar la primera voz"
-#. Documentation/user/fundamental.itely:983 (comment)
+#. Documentation/user/fundamental.itely:1067 (comment)
msgid "set stems, etc down"
-msgstr ""
+msgstr "Poner las plicas, etc. hacia abajo"
-#. Documentation/user/fundamental.itely:989 (comment)
+#. Documentation/user/fundamental.itely:1073 (comment)
msgid "set stems, etc up"
-msgstr ""
+msgstr "Poner las plicas, etc. hacia arriba"
-#. Documentation/user/fundamental.itely:1076 (variable)
-#. Documentation/user/fundamental.itely:2104 (variable)
+#. Documentation/user/fundamental.itely:1180 (variable)
+#. Documentation/user/fundamental.itely:2490 (variable)
#. Documentation/user/tweaks.itely:3132 (variable)
+#. Documentation/user/simultaneous.itely:430 (variable)
msgid "global"
-msgstr ""
+msgstr "global"
-#. Documentation/user/fundamental.itely:1077 (variable)
+#. Documentation/user/fundamental.itely:1181 (variable)
msgid "SopOneMusic"
-msgstr ""
+msgstr "MusicaSopranoUno"
-#. Documentation/user/fundamental.itely:1079 (variable)
+#. Documentation/user/fundamental.itely:1183 (variable)
msgid "SopTwoMusic"
-msgstr ""
+msgstr "MusicaSopranoDos"
-#. Documentation/user/fundamental.itely:1081 (variable)
-#, fuzzy
+#. Documentation/user/fundamental.itely:1185 (variable)
msgid "SopOneLyrics"
-msgstr "Letras sencillas"
+msgstr "LetraSopranoUno"
-#. Documentation/user/fundamental.itely:1083 (variable)
+#. Documentation/user/fundamental.itely:1187 (variable)
msgid "SopTwoLyrics"
-msgstr ""
+msgstr "LetraSopranoDos"
-#. Documentation/user/fundamental.itely:1121 (variable)
-#. Documentation/user/fundamental.itely:2314 (variable)
+#. Documentation/user/fundamental.itely:1231 (variable)
+#. Documentation/user/fundamental.itely:2705 (variable)
msgid "TimeKey"
-msgstr ""
+msgstr "CompasTono"
-#. Documentation/user/fundamental.itely:1122 (variable)
+#. Documentation/user/fundamental.itely:1232 (variable)
#. Documentation/user/tweaks.itely:3133 (variable)
msgid "SopMusic"
-msgstr ""
+msgstr "MusicaSoprano"
-#. Documentation/user/fundamental.itely:1123 (variable)
+#. Documentation/user/fundamental.itely:1233 (variable)
#. Documentation/user/tweaks.itely:3134 (variable)
msgid "AltoMusic"
-msgstr ""
+msgstr "MusicaAlto"
-#. Documentation/user/fundamental.itely:1124 (variable)
+#. Documentation/user/fundamental.itely:1234 (variable)
#. Documentation/user/tweaks.itely:3135 (variable)
msgid "TenorMusic"
-msgstr ""
+msgstr "MusicaTenor"
-#. Documentation/user/fundamental.itely:1125 (variable)
+#. Documentation/user/fundamental.itely:1235 (variable)
#. Documentation/user/tweaks.itely:3136 (variable)
msgid "BassMusic"
-msgstr ""
+msgstr "MusicaBajo"
-#. Documentation/user/fundamental.itely:1126 (variable)
+#. Documentation/user/fundamental.itely:1236 (variable)
#. Documentation/user/tweaks.itely:3137 (variable)
msgid "VerseOne"
-msgstr ""
+msgstr "EstrofaUno"
-#. Documentation/user/fundamental.itely:1128 (variable)
+#. Documentation/user/fundamental.itely:1238 (variable)
#. Documentation/user/tweaks.itely:3138 (variable)
msgid "VerseTwo"
-msgstr ""
+msgstr "EstrofaDos"
-#. Documentation/user/fundamental.itely:1130 (variable)
+#. Documentation/user/fundamental.itely:1240 (variable)
#. Documentation/user/tweaks.itely:3139 (variable)
msgid "VerseThree"
-msgstr ""
+msgstr "EstrofaTres"
-#. Documentation/user/fundamental.itely:1132 (variable)
+#. Documentation/user/fundamental.itely:1242 (variable)
#. Documentation/user/tweaks.itely:3140 (variable)
-#, fuzzy
msgid "VerseFour"
-msgstr "Número de la versión"
+msgstr "EstrofaCuatro"
+
+#. Documentation/user/fundamental.itely:1285 (variable)
+#. Documentation/user/fundamental.itely:1337 (variable)
+#. Documentation/user/fundamental.itely:1398 (variable)
+msgid "versenotes"
+msgstr "notas_estrofa"
+
+#. Documentation/user/fundamental.itely:1290 (variable)
+#. Documentation/user/fundamental.itely:1351 (variable)
+#. Documentation/user/fundamental.itely:1412 (variable)
+msgid "versewords"
+msgstr "letra_estrofa"
+
+#. Documentation/user/fundamental.itely:1342 (variable)
+#. Documentation/user/fundamental.itely:1403 (variable)
+msgid "refrainnotesA"
+msgstr "notas_estribilloA"
+
+#. Documentation/user/fundamental.itely:1346 (variable)
+#. Documentation/user/fundamental.itely:1407 (variable)
+msgid "refrainnotesB"
+msgstr "notas_estribilloB"
+
+#. Documentation/user/fundamental.itely:1354 (variable)
+#. Documentation/user/fundamental.itely:1415 (variable)
+msgid "refrainwordsA"
+msgstr "letra_estribilloA"
+
+#. Documentation/user/fundamental.itely:1357 (variable)
+#. Documentation/user/fundamental.itely:1418 (variable)
+msgid "refrainwordsB"
+msgstr "letra_estribilloB"
+
+#. Documentation/user/fundamental.itely:1582 (comment)
+msgid "start single compound music expression"
+msgstr "inicio de la expresión compuesta única"
+
+#. Documentation/user/fundamental.itely:1583 (comment)
+msgid "start of simultaneous staves section"
+msgstr "inicio de la sección de pentagramas simultáneos"
+
+#. Documentation/user/fundamental.itely:1585 (comment)
+msgid "create RH staff"
+msgstr "crear pentagrama de la M.D."
+
+#. Documentation/user/fundamental.itely:1588 (comment)
+msgid "create voice for RH notes"
+msgstr "crear voz para las notas de la M.D."
+
+#. Documentation/user/fundamental.itely:1589 (comment)
+msgid "start of RH notes"
+msgstr "inicio de las notas de la M.D."
+
+#. Documentation/user/fundamental.itely:1592 (comment)
+msgid "end of RH notes"
+msgstr "fin de las notas de la M.D."
+
+#. Documentation/user/fundamental.itely:1593 (comment)
+msgid "end of RH voice"
+msgstr "fin de la voz de la M.D."
+
+#. Documentation/user/fundamental.itely:1594 (comment)
+msgid "end of RH staff"
+msgstr "fin del pentagrama de la M.D."
+
+#. Documentation/user/fundamental.itely:1595 (comment)
+msgid "create LH staff; needs two simultaneous voices"
+msgstr "crear el pentagrama de la M.I.; necesita dos voces"
+
+#. Documentation/user/fundamental.itely:1598 (comment)
+msgid "create LH voice one"
+msgstr "crear la voz uno de la M.I."
+
+#. Documentation/user/fundamental.itely:1600 (comment)
+msgid "start of LH voice one notes"
+msgstr "inicio de las notas de la voz uno de la M.I."
+
+#. Documentation/user/fundamental.itely:1603 (comment)
+msgid "end of LH voice one notes"
+msgstr "fin de las notas de la voz uno de la M.I."
+
+#. Documentation/user/fundamental.itely:1604 (comment)
+msgid "end of first LH voice"
+msgstr "fin de la primera voz de la M.I."
+
+#. Documentation/user/fundamental.itely:1605 (comment)
+msgid "create LH voice two"
+msgstr "crear voz dos de la M.I."
+
+#. Documentation/user/fundamental.itely:1607 (comment)
+msgid "start of LH voice two notes"
+msgstr "inicio de las notas de la voz dos de la M.I."
+
+#. Documentation/user/fundamental.itely:1610 (comment)
+msgid "end of LH voice two notes"
+msgstr "fin de las notas de la voz dos de la M.I."
+
+#. Documentation/user/fundamental.itely:1611 (comment)
+msgid "end of LH voice two"
+msgstr "fin de la voz dos de la M.I."
+
+#. Documentation/user/fundamental.itely:1612 (comment)
+msgid "end of LH staff"
+msgstr "fin del pentagrama de la M.I."
+
+#. Documentation/user/fundamental.itely:1613 (comment)
+msgid "end of simultaneous staves section"
+msgstr "fin de la sección de pentagramas simultáneos"
+
+#. Documentation/user/fundamental.itely:1614 (comment)
+msgid "end of single compound music expression"
+msgstr "fin de la expresión musical compuesta única"
-#. Documentation/user/fundamental.itely:1452 (comment)
+#. Documentation/user/fundamental.itely:1817 (comment)
msgid "Wrong!"
-msgstr ""
+msgstr "¡Mal!"
# Fuzzy.FVD
-#. Documentation/user/fundamental.itely:1528 (comment)
-#. Documentation/user/fundamental.itely:1617 (comment)
-#, fuzzy
+#. Documentation/user/fundamental.itely:1901 (comment)
+#. Documentation/user/fundamental.itely:1996 (comment)
msgid "make note heads smaller"
-msgstr "Cabezas de notas con formas diversas"
+msgstr "cabezas más pequeñas"
# Fuzzy.FVD
-#. Documentation/user/fundamental.itely:1531 (comment)
-#. Documentation/user/fundamental.itely:1619 (comment)
-#, fuzzy
+#. Documentation/user/fundamental.itely:1904 (comment)
+#. Documentation/user/fundamental.itely:1998 (comment)
msgid "make note heads larger"
-msgstr "Cabezas de notas con formas diversas"
+msgstr "cabezas más grandes"
-#. Documentation/user/fundamental.itely:1534 (comment)
-#. Documentation/user/fundamental.itely:1621 (comment)
+#. Documentation/user/fundamental.itely:1907 (comment)
+msgid "return to default size"
+msgstr "tamaño predeterminado"
+
+#. Documentation/user/fundamental.itely:2000 (comment)
msgid "return to original size"
-msgstr ""
+msgstr "tamaño original"
-#. Documentation/user/fundamental.itely:1884 (variable)
-#, fuzzy
+#. Documentation/user/fundamental.itely:2267 (variable)
msgid "sopranoMusic"
-msgstr "Música de piano"
+msgstr "musicaSoprano"
-#. Documentation/user/fundamental.itely:1891 (variable)
+#. Documentation/user/fundamental.itely:2274 (variable)
msgid "sopranoLyrics"
-msgstr ""
+msgstr "letraSoprano"
-#. Documentation/user/fundamental.itely:1895 (variable)
+#. Documentation/user/fundamental.itely:2278 (variable)
msgid "celloMusic"
-msgstr ""
+msgstr "musicaCello"
-#. Documentation/user/fundamental.itely:2105 (variable)
+#. Documentation/user/fundamental.itely:2491 (variable)
msgid "sopMusic"
-msgstr ""
+msgstr "musicaSoprano"
-#. Documentation/user/fundamental.itely:2109 (variable)
+#. Documentation/user/fundamental.itely:2495 (variable)
msgid "sopWords"
-msgstr ""
+msgstr "letraSoprano"
-#. Documentation/user/fundamental.itely:2112 (variable)
-#, fuzzy
+#. Documentation/user/fundamental.itely:2498 (variable)
msgid "altoMusic"
-msgstr "Música vocal"
+msgstr "musicaContralto"
-#. Documentation/user/fundamental.itely:2116 (variable)
+#. Documentation/user/fundamental.itely:2502 (variable)
msgid "altoWords"
-msgstr ""
+msgstr "letraContralto"
-#. Documentation/user/fundamental.itely:2117 (variable)
+#. Documentation/user/fundamental.itely:2503 (variable)
msgid "tenorMusic"
-msgstr ""
+msgstr "musicaTenor"
-#. Documentation/user/fundamental.itely:2121 (variable)
+#. Documentation/user/fundamental.itely:2507 (variable)
msgid "tenorWords"
-msgstr ""
+msgstr "letraTenor"
-#. Documentation/user/fundamental.itely:2122 (variable)
+#. Documentation/user/fundamental.itely:2508 (variable)
msgid "bassMusic"
-msgstr ""
+msgstr "musicaBajo"
-#. Documentation/user/fundamental.itely:2126 (variable)
+#. Documentation/user/fundamental.itely:2512 (variable)
msgid "bassWords"
-msgstr ""
+msgstr "letraBajo"
-#. Documentation/user/fundamental.itely:2143 (comment)
+#. Documentation/user/fundamental.itely:2529 (comment)
msgid "combine ChoirStaff and PianoStaff in parallel"
-msgstr ""
+msgstr "combinar ChoirStaff y PianoStaff en paralelo"
-#. Documentation/user/fundamental.itely:2165 (comment)
+#. Documentation/user/fundamental.itely:2551 (comment)
msgid "end ChoirStaff"
-msgstr ""
+msgstr "fin del ChoirStaff"
-#. Documentation/user/fundamental.itely:2315 (variable)
+#. Documentation/user/fundamental.itely:2706 (variable)
msgid "ManualOneVoiceOneMusic"
-msgstr ""
+msgstr "MusicaManualUnoVozUno"
-#. Documentation/user/fundamental.itely:2318 (variable)
+#. Documentation/user/fundamental.itely:2709 (variable)
msgid "ManualOneVoiceTwoMusic"
-msgstr ""
+msgstr "MusicaManualUnoVozDos"
-#. Documentation/user/fundamental.itely:2322 (variable)
+#. Documentation/user/fundamental.itely:2713 (variable)
msgid "ManualTwoMusic"
-msgstr ""
+msgstr "MusicaManualDos"
-#. Documentation/user/fundamental.itely:2326 (variable)
+#. Documentation/user/fundamental.itely:2717 (variable)
msgid "PedalOrganMusic"
-msgstr ""
+msgstr "MusicaPedales"
-#. Documentation/user/fundamental.itely:2332 (comment)
+#. Documentation/user/fundamental.itely:2723 (comment)
msgid "PianoStaff and Pedal Staff must be simultaneous"
-msgstr ""
+msgstr "El PianoStaff y el pentagrama del Pedal son simultáneos"
-#. Documentation/user/fundamental.itely:2335 (comment)
-#, fuzzy
+#. Documentation/user/fundamental.itely:2726 (comment)
msgid "set time signature and key"
-msgstr "indicación de compás"
+msgstr "indicación de compás y armadura"
-#. Documentation/user/fundamental.itely:2339 (comment)
+#. Documentation/user/fundamental.itely:2730 (comment)
msgid "end ManualOne Staff context"
-msgstr ""
+msgstr "fin del contexto de pentagrama del ManualUno"
-#. Documentation/user/fundamental.itely:2344 (comment)
+#. Documentation/user/fundamental.itely:2735 (comment)
msgid "end ManualTwo Staff context"
-msgstr ""
+msgstr "fin del contexto de pentagrama del ManualDos"
-#. Documentation/user/fundamental.itely:2345 (comment)
-#, fuzzy
+#. Documentation/user/fundamental.itely:2736 (comment)
msgid "end PianoStaff context"
-msgstr "Búsqueda del contexto"
+msgstr "fin del contexto PianoStaff"
-#. Documentation/user/fundamental.itely:2350 (comment)
+#. Documentation/user/fundamental.itely:2741 (comment)
msgid "end PedalOrgan Staff"
-msgstr ""
+msgstr "fin del pentagrama del Pedal"
-#. Documentation/user/fundamental.itely:2352 (comment)
-#, fuzzy
+#. Documentation/user/fundamental.itely:2743 (comment)
msgid "end Score context"
-msgstr "Búsqueda del contexto"
+msgstr "fin del contexto de Score (partitura)"
#. @node in Documentation/user/fundamental.itely
#. @chapter in Documentation/user/fundamental.itely
#. @node in Documentation/user/fundamental.itely
#. @section in Documentation/user/fundamental.itely
-#, fuzzy
msgid "How LilyPond input files work"
-msgstr "Cómo funcionan los archivos de LilyPond"
+msgstr "Cómo funcionan los archivos de entrada de LilyPond"
#. @node in Documentation/user/fundamental.itely
#. @subsection in Documentation/user/fundamental.itely
msgid "Explicitly instantiating voices"
msgstr "Voces explícitas"
+#. @subsubheading in Documentation/user/fundamental.itely
+msgid "Note columns"
+msgstr "Columnas de notas"
+
#. @node in Documentation/user/fundamental.itely
#. @subsection in Documentation/user/fundamental.itely
#. @node in Documentation/fr/user/fundamental.itely
#. Documentation/user/tweaks.itely:540 (comment)
#. Documentation/user/tweaks.itely:664 (comment)
msgid "Increase thickness of all following slurs from 1.2 to 5.0"
-msgstr ""
+msgstr "Aumentar el grosor de todas las ligaduras siguientes de 1.2 a 5.0"
#. Documentation/user/tweaks.itely:605 (comment)
#. Documentation/user/tweaks.itely:639 (comment)
#. Documentation/user/tweaks.itely:642 (comment)
msgid "Increase thickness of immediately following slur only"
-msgstr ""
+msgstr "Aumentar solamente el grosor de la ligadura siguiente"
#. Documentation/user/tweaks.itely:668 (comment)
msgid "Revert thickness of all following slurs to default of 1.2"
-msgstr ""
+msgstr "Devolver el grosor de las ligaduras siguientes al valor predeterminado 1.2"
#. Documentation/user/tweaks.itely:1257 (comment)
msgid "Don't print clefs in this staff"
-msgstr ""
+msgstr "No imprimir la clave en este pentagrama"
#. Documentation/user/tweaks.itely:1259 (comment)
-#, fuzzy
msgid "Don't print time signatures in this staff"
-msgstr "Indicaciones antiguas de compás"
+msgstr "No imprimir el compás en este pentagrama"
#. Documentation/user/tweaks.itely:1320 (comment)
msgid "Reduce all font sizes by ~24%"
-msgstr ""
+msgstr "Reducir el tamaño de la fuente en un 24% aprox."
#. Documentation/user/tweaks.itely:1376 (comment)
msgid "Reduce stem length and line spacing to match"
-msgstr ""
+msgstr "Reducir la longitud de la plica y el espaciado de la línea en coincidencia"
#. Documentation/user/tweaks.itely:1750 (comment)
#. Documentation/user/tweaks.itely:1811 (comment)
msgid "Set details for later Text Spanner"
-msgstr ""
+msgstr "Establecer ajustes para el extensor de texto ulterior"
#. Documentation/user/tweaks.itely:1753 (comment)
#. Documentation/user/tweaks.itely:1814 (comment)
msgid "Place dynamics above staff"
-msgstr ""
+msgstr "Situar la dinámica por encima"
# fuzzy. FVD
#. Documentation/user/tweaks.itely:1755 (comment)
#. Documentation/user/tweaks.itely:1818 (comment)
-#, fuzzy
msgid "Start Ottava Bracket"
-msgstr "Corchetes de octava"
+msgstr "Inicio del corchete de octava"
#. Documentation/user/tweaks.itely:1758 (comment)
#. Documentation/user/tweaks.itely:1765 (comment)
#. Documentation/user/tweaks.itely:1821 (comment)
#. Documentation/user/tweaks.itely:1828 (comment)
msgid "Add Dynamic Text"
-msgstr ""
+msgstr "Añadir indicación dinámica textual"
#. Documentation/user/tweaks.itely:1760 (comment)
#. Documentation/user/tweaks.itely:1823 (comment)
msgid "Add Dynamic Line Spanner"
-msgstr ""
+msgstr "Añadir indicación dinámica de extensión de línea"
#. Documentation/user/tweaks.itely:1762 (comment)
#. Documentation/user/tweaks.itely:1825 (comment)
-#, fuzzy
msgid "Add Text Script"
msgstr "Guiones de texto"
-# fuzzy. FVD
#. Documentation/user/tweaks.itely:1767 (comment)
#. Documentation/user/tweaks.itely:1830 (comment)
-#, fuzzy
msgid "Stop Ottava Bracket"
-msgstr "Corchetes de octava"
+msgstr "Detener el corchete de octava"
#. Documentation/user/tweaks.itely:1816 (comment)
msgid "Place following Ottava Bracket below Text Spanners"
-msgstr ""
+msgstr "Situar el corchete de octava ulterior por debajo de los extensores de texto"
#. Documentation/user/tweaks.itely:1872 (comment)
msgid "Cause notes to space out to accommodate text"
-msgstr ""
+msgstr "Ocasionar que las notas se espacíen para adecuarse al texto"
#. Documentation/user/tweaks.itely:1890 (comment)
msgid "This markup is short enough to fit without collision"
-msgstr ""
+msgstr "Este marcado es corto y cabe sin colisionar"
#. Documentation/user/tweaks.itely:1894 (comment)
msgid "This is too long to fit, so it is displaced upwards"
-msgstr ""
+msgstr "Este es muy largo y se desplaza hacia arriba"
#. Documentation/user/tweaks.itely:1898 (comment)
#. Documentation/user/tweaks.itely:1903 (comment)
-#, fuzzy
msgid "Turn off collision avoidance"
-msgstr "Evitar las colisiones verticales"
+msgstr "Desactivar el detector de colisiones"
#. Documentation/user/tweaks.itely:1905 (comment)
-#, fuzzy
msgid "and turn on textLengthOn"
-msgstr "\\textLengthOn"
+msgstr "y activar textLengthOn"
#. Documentation/user/tweaks.itely:1906 (comment)
msgid "Spaces at end are honored"
-msgstr ""
+msgstr "Los espacios al final se respetan"
#. Documentation/user/tweaks.itely:2009 (comment)
msgid "Extend width by 1 staff space"
-msgstr ""
+msgstr "Aumentar la anchura en un espacio de pentagrama"
#. Documentation/user/tweaks.itely:2270 (comment)
msgid "This will not work, see below:"
-msgstr ""
+msgstr "Esto no va a funcionar, véase más abajo:"
#. Documentation/user/tweaks.itely:2274 (comment)
msgid "This works:"
-msgstr ""
+msgstr "Esto sí funciona:"
#. Documentation/user/tweaks.itely:2319 (variable)
-#, fuzzy
msgid "naturalplusflat"
-msgstr "becuadro"
+msgstr "becuadro_y_bemol"
#. Documentation/user/tweaks.itely:2354 (comment)
msgid "Extend width by 1 unit"
-msgstr ""
+msgstr "Aumentar la anchura en una unidad"
#. Documentation/user/tweaks.itely:2356 (comment)
msgid "Align dynamics to a base line 2 units above staff"
-msgstr ""
+msgstr "Alinear los matices a dos unidades por encima del pentagrama"
#. Documentation/user/tweaks.itely:2634 (variable)
#. Documentation/user/tweaks.itely:2685 (variable)
#. Documentation/user/tweaks.itely:2880 (variable)
#. Documentation/user/tweaks.itely:2935 (variable)
msgid "rhMusic"
-msgstr ""
+msgstr "Musica_m_der"
#. Documentation/user/tweaks.itely:2639 (comment)
#. Documentation/user/tweaks.itely:2690 (comment)
#. Documentation/user/tweaks.itely:2827 (comment)
#. Documentation/user/tweaks.itely:2889 (comment)
msgid "Start polyphonic section of four voices"
-msgstr ""
+msgstr "Inicio de la sección polifónica de cuatro voces"
#. Documentation/user/tweaks.itely:2652 (variable)
#. Documentation/user/tweaks.itely:2703 (variable)
#. Documentation/user/tweaks.itely:2906 (variable)
#. Documentation/user/tweaks.itely:2963 (variable)
msgid "lhMusic"
-msgstr ""
+msgstr "Muslca_m_izq"
#. Documentation/user/tweaks.itely:2893 (comment)
#. Documentation/user/tweaks.itely:2950 (comment)
msgid "Move the c2 out of the main note column so the merge will work"
-msgstr ""
+msgstr "Sacar el Do blanca de la columna principal de notas para que la fusión funcione"
#. Documentation/user/tweaks.itely:2896 (comment)
#. Documentation/user/tweaks.itely:2953 (comment)
msgid "Stem on the d2 must be down to permit merging"
-msgstr ""
+msgstr "La plica del Re blanca debe estar hacia abajo para permitir la fusión"
#. Documentation/user/tweaks.itely:2948 (comment)
msgid "Reposition the c2 to the right of the merged note"
-msgstr ""
+msgstr "Recolocar el Do blanca a la derecha de la nota fundida"
#. Documentation/user/tweaks.itely:3076 (comment)
msgid "Visible tempo marking"
-msgstr ""
+msgstr "Indicación metronómica visible"
#. Documentation/user/tweaks.itely:3080 (comment)
msgid "Invisible tempo marking to lengthen fermata note in MIDI"
-msgstr ""
+msgstr "Incidación metronómica invisible para prolongar la nota con calderón en el MIDI"
#. Documentation/user/tweaks.itely:3084 (comment)
msgid "Invisible tempo marking to restore tempo in MIDI"
-msgstr ""
+msgstr "Indicación metronómica invisible para restaurar el tempo en el MIDI"
#. Documentation/user/tweaks.itely:3123 (variable)
msgid "emph"
-msgstr ""
+msgstr "enfasis"
#. Documentation/user/tweaks.itely:3127 (variable)
-#, fuzzy
msgid "norm"
-msgstr "menor"
+msgstr "normal"
#. Documentation/user/tweaks.itely:3329 (comment)
msgid "Arrange to obtain color from color-notehead procedure"
-msgstr ""
+msgstr "Truco para obtener color a partir del procedimiento color-notehead"
#. @node in Documentation/user/tweaks.itely
#. @chapter in Documentation/user/tweaks.itely
#. @node in Documentation/user/tweaks.itely
#. @subsection in Documentation/user/tweaks.itely
-#, fuzzy
msgid "Automatic behavior"
msgstr "Comportamiento automático"
#. @subheading in Documentation/user/tweaks.itely
#. @subheading in Documentation/es/user/tweaks.itely
msgid "left-padding and right-padding"
-msgstr ""
-"left-padding y right-padding (relleno por la izquierda y por la derecha)"
+msgstr "left-padding y right-padding (relleno por la izquierda y por la derecha)"
#. @subheading in Documentation/user/tweaks.itely
#. @subheading in Documentation/es/user/tweaks.itely
msgstr "Trucos avanzados con Scheme"
#. Documentation/user/working.itely:201 (variable)
-#, fuzzy
msgid "hornNotes"
-msgstr "Notas en acorde"
+msgstr "notasTrompa"
#. Documentation/user/working.itely:212 (variable)
msgid "fragA"
-msgstr ""
+msgstr "fragmentoA"
#. Documentation/user/working.itely:213 (variable)
msgid "fragB"
-msgstr ""
+msgstr "fragmentoB"
#. Documentation/user/working.itely:226 (variable)
msgid "dolce"
-msgstr ""
+msgstr "dolce"
#. Documentation/user/working.itely:227 (variable)
#. Documentation/user/working.itely:273 (variable)
#. Documentation/user/scheme-tutorial.itely:235 (variable)
#. Documentation/user/programming-interface.itely:99 (variable)
-#, fuzzy
msgid "padText"
-msgstr "Texto"
+msgstr "textoRelleno"
#. Documentation/user/working.itely:228 (variable)
msgid "fthenp"
-msgstr ""
+msgstr "f_luego_p"
#. Documentation/user/working.itely:310 (variable)
msgid "mpdolce"
-msgstr ""
+msgstr "mpdolce"
#. Documentation/user/working.itely:312 (variable)
#. Documentation/user/scheme-tutorial.itely:256 (variable)
#. Documentation/user/programming-interface.itely:133 (variable)
msgid "tempoMark"
-msgstr ""
+msgstr "marcaDeTempo"
#. @node in Documentation/user/working.itely
#. @chapter in Documentation/user/working.itely
#. @node in Documentation/user/working.itely
#. @section in Documentation/user/working.itely
-#, fuzzy
msgid "Suggestions for writing LilyPond input files"
-msgstr "Sugerencias para escribir archivos de LilyPond"
+msgstr "Sugerencias para escribir archivos de entrada de LilyPond"
#. @node in Documentation/user/working.itely
#. @subsection in Documentation/user/working.itely
#. @node in Documentation/user/working.itely
#. @subsection in Documentation/user/working.itely
-#, fuzzy
msgid "Updating old input files"
-msgstr "Actualizar archivos antiguos"
+msgstr "Actualizar archivos de entrada antiguos"
#. @node in Documentation/user/working.itely
#. @subsection in Documentation/user/working.itely
#. @appendixsec in Documentation/fr/user/templates.itely
#. @node in Documentation/es/user/templates.itely
#. @appendixsec in Documentation/es/user/templates.itely
-#, fuzzy
msgid "lilypond-book templates"
msgstr "Plantillas de lilypond-book"
#. Documentation/user/scheme-tutorial.itely:274 (variable)
msgid "pattern"
-msgstr ""
+msgstr "patron"
#. @node in Documentation/user/scheme-tutorial.itely
#. @appendix in Documentation/user/scheme-tutorial.itely
msgstr "Notación musical"
#. Documentation/user/pitches.itely:612 (variable)
-#, fuzzy
msgid "mus"
-msgstr "tesitura"
+msgstr "mus"
#. Documentation/user/pitches.itely:977 (comment)
msgid "not strictly necessary, but a good reminder"
-msgstr ""
+msgstr "no es imprescindible pero es bueno recordarlo"
#. Documentation/user/pitches.itely:1066 (variable)
msgid "musicA"
-msgstr ""
+msgstr "musicaA"
#. Documentation/user/pitches.itely:1080 (variable)
msgid "musicB"
-msgstr ""
+msgstr "musicaB"
#. @node in Documentation/user/pitches.itely
#. @subsection in Documentation/user/pitches.itely
msgstr "quinta"
#. @rglos in Documentation/user/pitches.itely
-#, fuzzy
msgid "quarter tone"
msgstr "cuarto de tono"
#. @subsection in Documentation/fr/user/changing-defaults.itely
#. @node in Documentation/es/user/pitches.itely
#. @unnumberedsubsubsec in Documentation/es/user/pitches.itely
+#. @node in Documentation/de/user/pitches.itely
+#. @unnumberedsubsubsec in Documentation/de/user/pitches.itely
msgid "Automatic accidentals"
msgstr "Alteraciones accidentales automáticas"
#. @unnumberedsubsubsec in Documentation/fr/user/editorial.itely
#. @node in Documentation/es/user/pitches.itely
#. @unnumberedsubsubsec in Documentation/es/user/pitches.itely
+#. @node in Documentation/de/user/pitches.itely
+#. @unnumberedsubsubsec in Documentation/de/user/pitches.itely
msgid "Ambitus"
msgstr "Tesitura"
#. @subsection in Documentation/fr/user/pitches.itely
#. @node in Documentation/es/user/pitches.itely
#. @subsection in Documentation/es/user/pitches.itely
+#. @node in Documentation/de/user/pitches.itely
+#. @subsection in Documentation/de/user/pitches.itely
msgid "Note heads"
msgstr "Cabeza de las notas"
#. @unnumberedsubsubsec in Documentation/fr/user/pitches.itely
#. @node in Documentation/es/user/pitches.itely
#. @unnumberedsubsubsec in Documentation/es/user/pitches.itely
+#. @node in Documentation/de/user/pitches.itely
+#. @unnumberedsubsubsec in Documentation/de/user/pitches.itely
msgid "Special note heads"
msgstr "Cabezas de nota especiales"
#. @unnumberedsubsubsec in Documentation/fr/user/pitches.itely
#. @node in Documentation/es/user/pitches.itely
#. @unnumberedsubsubsec in Documentation/es/user/pitches.itely
+#. @node in Documentation/de/user/pitches.itely
+#. @unnumberedsubsubsec in Documentation/de/user/pitches.itely
msgid "Easy notation note heads"
msgstr "Cabezas de notas de Notación Fácil"
#. @unnumberedsubsubsec in Documentation/fr/user/pitches.itely
#. @node in Documentation/es/user/pitches.itely
#. @unnumberedsubsubsec in Documentation/es/user/pitches.itely
+#. @node in Documentation/de/user/pitches.itely
+#. @unnumberedsubsubsec in Documentation/de/user/pitches.itely
msgid "Shape note heads"
msgstr "Cabezas de notas con formas diversas"
#. @unnumberedsubsubsec in Documentation/fr/user/pitches.itely
#. @node in Documentation/es/user/pitches.itely
#. @unnumberedsubsubsec in Documentation/es/user/pitches.itely
+#. @node in Documentation/de/user/pitches.itely
+#. @unnumberedsubsubsec in Documentation/de/user/pitches.itely
msgid "Improvisation"
msgstr "Improvisación"
-# ?? FVD
#. Documentation/user/rhythms.itely:288 (comment)
-#, fuzzy
msgid "Alter durations to triplets"
-msgstr "Introducción al trucaje"
+msgstr "Alterar la duración de los tresillos"
#. Documentation/user/rhythms.itely:290 (comment)
#. Documentation/user/rhythms.itely:323 (comment)
-#, fuzzy
msgid "Normal durations"
-msgstr "Repeticiones normales"
+msgstr "Duraciones normales"
#. Documentation/user/rhythms.itely:292 (comment)
msgid "Double the duration of chord"
-msgstr ""
+msgstr "Duplicar la duración del acorde"
#. Documentation/user/rhythms.itely:294 (comment)
msgid "Duration of quarter, appears like sixteenth"
-msgstr ""
+msgstr "Duración de negra, aparece como semicorchea"
#. Documentation/user/rhythms.itely:325 (comment)
-#, fuzzy
msgid "Scale music by *2/3"
-msgstr "Música vocal"
+msgstr "Escalar la música en un factor 2/3"
#. Documentation/user/rhythms.itely:329 (comment)
-#, fuzzy
msgid "Scale music by *2"
-msgstr "Música vocal"
+msgstr "Escalar la música en un factor de 2"
#. Documentation/user/rhythms.itely:414 (comment)
msgid "First alternative: following note is tied normally"
-msgstr ""
+msgstr "Primera alternativa: la nota siguiente se liga normalmente"
#. Documentation/user/rhythms.itely:416 (comment)
msgid "Second alternative: following note has a repeated tie"
-msgstr ""
+msgstr "Segunda alternativa, la nota siguiente lleva una ligadura repetida"
#. Documentation/user/rhythms.itely:529 (comment)
msgid "These two lines are just to prettify this example"
-msgstr ""
+msgstr "Estas dos líneas son solamente para embellecer el ejemplo"
#. Documentation/user/rhythms.itely:532 (comment)
msgid "Print a maxima rest, equal to four breves"
-msgstr ""
+msgstr "Imprimir un silencio de máxima, equivalente a cuatro breves"
#. Documentation/user/rhythms.itely:534 (comment)
msgid "Print a longa rest, equal to two breves"
-msgstr ""
+msgstr "Imprimir un silencio de longa, igual a dos breves"
#. Documentation/user/rhythms.itely:536 (comment)
msgid "Print a breve rest"
-msgstr ""
+msgstr "Imprimir un silencio de breve"
#. Documentation/user/rhythms.itely:596 (comment)
msgid "Skip the third beat in the first measure"
-msgstr ""
+msgstr "Saltar la tercera parte del primer compás"
#. Documentation/user/rhythms.itely:598 (comment)
msgid "Use skip command to skip a whole note (measure)"
-msgstr ""
+msgstr "Usar la instrucción skip para saltar una redonda (un compás)"
#. Documentation/user/rhythms.itely:660 (comment)
msgid "Rest bars contracted to single bar"
-msgstr ""
+msgstr "Compases en silencio contraídos a un solo compás"
#. Documentation/user/rhythms.itely:680 (comment)
-#, fuzzy
msgid "Default behavior"
-msgstr "Comportamiento automático"
+msgstr "Comportamiento predeterminado"
#. Documentation/user/rhythms.itely:684 (comment)
msgid "Rest measures contracted to single measure"
-msgstr ""
+msgstr "Compases en silencio contraídos a un solo compás"
#. Documentation/user/rhythms.itely:687 (comment)
msgid "Rest measures expanded"
-msgstr ""
+msgstr "Compases de silencio expandidos"
#. Documentation/user/rhythms.itely:739 (comment)
msgid "This fails, as the wrong object name is specified"
-msgstr ""
+msgstr "Esto no funciona, se ha especificado un nombre de objeto equivocado"
#. Documentation/user/rhythms.itely:742 (comment)
msgid "This is correct and works"
-msgstr ""
+msgstr "Esto es correcto y funciona"
#. Documentation/user/rhythms.itely:891 (comment)
-#, fuzzy
msgid "Default style"
-msgstr "Archivos por omisión"
+msgstr "Estilo predeterminado"
#. Documentation/user/rhythms.itely:894 (comment)
msgid "Change to numeric style"
-msgstr ""
+msgstr "Cambiar al estilo numérico"
#. Documentation/user/rhythms.itely:898 (comment)
msgid "Revert to default style"
-msgstr ""
+msgstr "Retornar al estilo predeterminado"
#. Documentation/user/rhythms.itely:1095 (comment)
-#, fuzzy
msgid "Show all bar numbers"
-msgstr "Numeración de compases"
+msgstr "Mostrar todos los números de compás"
#. Documentation/user/rhythms.itely:1149 (comment)
msgid "Create 9/8 split into 2/4 + 5/8"
-msgstr ""
+msgstr "Crear un 9/8 dividido en 2/4 + 5/8"
#. Documentation/user/rhythms.itely:1150 (variable)
-#, fuzzy
msgid "tsMarkup"
-msgstr "Marcado del texto"
+msgstr "marcadoTs"
#. Documentation/user/rhythms.itely:1227 (comment)
msgid "Now each staff has its own time signature."
-msgstr ""
+msgstr "Ahora cada pentagrama tiene un compás distinto"
#. Documentation/user/rhythms.itely:1424 (comment)
msgid "Set beam sub-group length to an eighth note"
-msgstr ""
+msgstr "Establecer longitud de barra del subgrupo a corchea"
#. Documentation/user/rhythms.itely:1427 (comment)
msgid "Set beam sub-group length to a sixteenth note"
-msgstr ""
+msgstr "Establecer longitud de barra del subgrupo a semicorchea"
#. Documentation/user/rhythms.itely:1595 (comment)
msgid "this won't revert it!"
-msgstr ""
+msgstr "¡esto no lo devuelve a su valor anterior!"
#. Documentation/user/rhythms.itely:1597 (comment)
msgid "this will"
-msgstr ""
+msgstr "esto sí"
#. Documentation/user/rhythms.itely:1770 (comment)
-#, fuzzy
msgid "revert to non-feathered beams"
-msgstr "Barras punteadas"
+msgstr "volver a usar barras continuas"
#. Documentation/user/rhythms.itely:1991 (comment)
#. Documentation/user/rhythms.itely:2007 (comment)
msgid "Permit first bar number to be printed"
-msgstr ""
+msgstr "Habilitar la impresión del número del primer compás"
#. Documentation/user/rhythms.itely:2008 (comment)
#. Documentation/user/rhythms.itely:2056 (comment)
msgid "Print a bar number every second measure"
-msgstr ""
+msgstr "Imprimir el número de compás cada dos compases"
#. Documentation/user/rhythms.itely:2024 (comment)
msgid "Prevent bar numbers at the end of a line and permit them elsewhere"
-msgstr ""
+msgstr "No poner números de compás al final de la línea, pero sí en otros lugares"
#. Documentation/user/rhythms.itely:2028 (comment)
msgid "Increase the size of the bar number by 2 "
-msgstr ""
+msgstr "Aumentar en 2 el tamaño del número de compás"
#. Documentation/user/rhythms.itely:2032 (comment)
msgid "Draw a box round the following bar number(s)"
-msgstr ""
+msgstr "Pintar una caja rodeando al siguiente(s) número de compás"
#. Documentation/user/rhythms.itely:2037 (comment)
msgid "Draw a circle round the following bar number(s)"
-msgstr ""
+msgstr "Rodear con un círculo el siguiente(s) número de compás"
#. Documentation/user/rhythms.itely:2054 (comment)
msgid "Increase the size of the bar number by 2"
-msgstr ""
+msgstr "Aumentar en 2 el tamaño del número de compás"
#. Documentation/user/rhythms.itely:2059 (comment)
-#, fuzzy
msgid "Center-align bar numbers"
-msgstr "Comprobación de compás y de número de compás"
+msgstr "Alinear números de compás al centro"
#. Documentation/user/rhythms.itely:2062 (comment)
-#, fuzzy
msgid "Right-align bar numbers"
-msgstr "Añadir números de verso"
+msgstr "Alinear números de compás a la derecha"
#. Documentation/user/rhythms.itely:2160 (variable)
msgid "pipeSymbol"
-msgstr ""
+msgstr "simboloTubo"
#. Documentation/user/rhythms.itely:2535 (variable)
#. @rglos in Documentation/user/rhythms.itely
msgid "cadenza"
-msgstr ""
+msgstr "cadenza"
#. @node in Documentation/user/rhythms.itely
#. @section in Documentation/user/rhythms.itely
#. @node in Documentation/de/user/rhythms.itely
#. @section in Documentation/de/user/rhythms.itely
msgid "Rhythms"
-msgstr "Ritmos"
+msgstr "Duraciones"
#. @node in Documentation/user/rhythms.itely
#. @subsection in Documentation/user/rhythms.itely
#. @subsection in Documentation/fr/user/changing-defaults.itely
#. @node in Documentation/es/user/rhythms.itely
#. @subsubsection in Documentation/es/user/rhythms.itely
+#. @node in Documentation/de/user/rhythms.itely
+#. @unnumberedsubsubsec in Documentation/de/user/rhythms.itely
msgid "Setting automatic beam behavior"
msgstr "Establecer el comportamiento de las barras automáticas"
msgstr "Gestión del tiempo"
#. Documentation/user/expressive.itely:122 (variable)
-#, fuzzy
msgid "dashPlus"
-msgstr "ligaduras de expresión"
+msgstr "punteadoPlus"
-#. Documentation/user/expressive.itely:388 (variable)
+#. Documentation/user/expressive.itely:417 (variable)
msgid "sfzp"
-msgstr ""
+msgstr "sfzp"
-#. Documentation/user/expressive.itely:402 (variable)
+#. Documentation/user/expressive.itely:431 (variable)
msgid "rndf"
-msgstr ""
+msgstr "rnd_f"
-#. Documentation/user/expressive.itely:404 (variable)
+#. Documentation/user/expressive.itely:433 (variable)
msgid "boxf"
-msgstr ""
+msgstr "caja_f"
-#. Documentation/user/expressive.itely:644 (variable)
+#. Documentation/user/expressive.itely:685 (variable)
msgid "I"
-msgstr ""
+msgstr "I"
#. @node in Documentation/user/expressive.itely
#. @section in Documentation/user/expressive.itely
#. @unnumberedsubsubsec in Documentation/fr/user/text.itely
#. @node in Documentation/es/user/text.itely
#. @subsubsection in Documentation/es/user/text.itely
+#. @node in Documentation/de/user/expressive.itely
+#. @subsubsection in Documentation/de/user/expressive.itely
msgid "New dynamic marks"
msgstr "Indicaciones dinámicas contemporáneas"
#. @node in Documentation/user/repeats.itely
#. @subsection in Documentation/user/repeats.itely
-#. @node in Documentation/es/user/repeats.itely
-#. @subsection in Documentation/es/user/repeats.itely
-#. @node in Documentation/de/user/repeats.itely
-#. @subsection in Documentation/de/user/repeats.itely
-msgid "Writing long repeats"
-msgstr "Escribir repeticiones largas"
+msgid "Long repeats"
+msgstr "Repeticiones largas"
#. @node in Documentation/user/repeats.itely
#. @subsubsection in Documentation/user/repeats.itely
#. @node in Documentation/user/repeats.itely
#. @subsubsection in Documentation/user/repeats.itely
-#. @node in Documentation/es/user/repeats.itely
-#. @subsubsection in Documentation/es/user/repeats.itely
-msgid "Written-out repeats"
-msgstr "Repeticiones explícitas"
+msgid "Written-out repeats (unfold)"
+msgstr "Repeticiones explícitas (desplegadas)"
#. @node in Documentation/user/repeats.itely
#. @subsection in Documentation/user/repeats.itely
msgid "Tremolo repeats"
msgstr "Repeticiones de trémolo"
-#. @rglos in Documentation/user/repeats.itely
-msgid "tremolo"
-msgstr ""
-
-#. Documentation/user/simultaneous.itely:203 (variable)
+#. Documentation/user/simultaneous.itely:205 (variable)
msgid "voiceFive"
-msgstr ""
+msgstr "vozCinco"
-#. Documentation/user/simultaneous.itely:430 (variable)
-#, fuzzy
+#. Documentation/user/simultaneous.itely:431 (variable)
msgid "music"
-msgstr "Música vocal"
+msgstr "musica"
+
+#. Documentation/user/simultaneous.itely:433 (comment)
+msgid "Bar 1 "
+msgstr "Compás 1 "
-#. Documentation/user/simultaneous.itely:450 (comment)
+#. Documentation/user/simultaneous.itely:445 (comment)
msgid "Bar 3 ..."
-msgstr ""
+msgstr "Compás 3 ..."
#. @node in Documentation/user/simultaneous.itely
#. @section in Documentation/user/simultaneous.itely
msgstr "Racimos (clusters)"
#. @rglos in Documentation/user/simultaneous.itely
-#, fuzzy
+#. @rglos in Documentation/es/user/simultaneous.itely
msgid "cluster"
-msgstr "Racimos (clusters)"
+msgstr "racimo (cluster)"
#. @node in Documentation/user/simultaneous.itely
#. @subsection in Documentation/user/simultaneous.itely
#. Documentation/user/staff.itely:534 (comment)
msgid "Set here the overrides for the staff "
-msgstr ""
+msgstr "Establecer aquí las sobreescrituras para el pentagrama"
#. Documentation/user/staff.itely:538 (comment)
msgid "Revert to the default"
-msgstr ""
+msgstr "Devolver al valor predeterminado"
#. Documentation/user/staff.itely:604 (comment)
msgid "No time signature in the ossia staff"
-msgstr ""
+msgstr "El ossia no tiene compás"
#. Documentation/user/staff.itely:726 (comment)
msgid "To use the setting globally, uncomment the following line:"
-msgstr ""
+msgstr "Para emplear el ajuste globalmente, quite el comentario de la línea siguiente:"
#. Documentation/user/staff.itely:727 (comment)
msgid "\\override VerticalAxisGroup #'remove-first = ##t"
-msgstr ""
+msgstr "\\override VerticalAxisGroup #'remove-first = ##t"
#. Documentation/user/staff.itely:735 (comment)
-msgid ""
-"To use the setting globally, comment this line, uncomment the line above"
-msgstr ""
+msgid "To use the setting globally, comment this line, uncomment the line above"
+msgstr "Para emplear el ajuste globalmente, comente esta línea, descomente la anterior"
#. Documentation/user/staff.itely:1105 (variable)
-#, fuzzy
msgid "smaller"
-msgstr "escala"
+msgstr "menor"
#. Documentation/user/staff.itely:1119 (comment)
msgid "setup a context for cue notes."
-msgstr ""
+msgstr "preparar un contexto para las notas guía"
#. Documentation/user/staff.itely:1161 (variable)
-#, fuzzy
msgid "picc"
-msgstr "altura"
+msgstr "fltin"
#. Documentation/user/staff.itely:1169 (variable)
msgid "cbsn"
-msgstr ""
+msgstr "cbjo"
#. @node in Documentation/user/staff.itely
#. @section in Documentation/user/staff.itely
msgstr "llave o corchete"
#. @rglos in Documentation/user/staff.itely
-#, fuzzy
msgid "grand staff"
-msgstr "Sistemas a la francesa"
+msgstr "sistema de piano"
#. @node in Documentation/user/staff.itely
#. @subsubsection in Documentation/user/staff.itely
msgstr "El símbolo del pentagrama"
#. @rglos in Documentation/user/staff.itely
-#, fuzzy
msgid "line"
-msgstr "Líneas"
+msgstr "línea"
#. @rglos in Documentation/user/staff.itely
-#, fuzzy
msgid "ledger line"
-msgstr "línea extensora"
+msgstr "línea adicional"
#. @node in Documentation/user/staff.itely
#. @subsubsection in Documentation/user/staff.itely
#. Documentation/user/editorial.itely:288 (comment)
msgid "this is deliberate nonsense; note that the stems remain black"
-msgstr ""
+msgstr "esto no tiene sentido, intencionalmente. Observe que las plicas siguen negras"
#. @node in Documentation/user/editorial.itely
#. @section in Documentation/user/editorial.itely
msgid "Analysis brackets"
msgstr "Corchetes de análisis"
+#. Documentation/user/text.itely:407 (variable)
+msgid "allegro"
+msgstr "allegro"
+
#. @node in Documentation/user/text.itely
#. @section in Documentation/user/text.itely
#. @node in Documentation/fr/user/text.itely
#. @node in Documentation/de/user/text.itely
#. @subsubsection in Documentation/de/user/text.itely
msgid "Separate text"
-msgstr ""
+msgstr "Texto separado"
#. @node in Documentation/user/text.itely
#. @subsection in Documentation/user/text.itely
#. @node in Documentation/de/user/text.itely
#. @subsection in Documentation/de/user/text.itely
-#, fuzzy
msgid "Formatting text"
-msgstr "Formateo de las notas de aviso"
+msgstr "Formatear el texto"
#. @node in Documentation/user/text.itely
#. @subsubsection in Documentation/user/text.itely
#. @node in Documentation/user/text.itely
#. @subsubsection in Documentation/user/text.itely
-#, fuzzy
msgid "Common markup commands"
-msgstr "Panorámica de las instrucciones de marcado de texto"
+msgstr "Instrucciones de marcado de texto más usuales"
# fuzzy. FVD
#. @node in Documentation/user/text.itely
#. @subsubsection in Documentation/user/text.itely
-#, fuzzy
msgid "Text alignment"
-msgstr "Extensiones de texto y de línea"
+msgstr "Alineación de texto"
#. @node in Documentation/user/text.itely
#. @subsubsection in Documentation/user/text.itely
msgid "Graphic notation inside markup"
-msgstr ""
+msgstr "Notación gráfica dentro de elementos de marcado"
#. @node in Documentation/user/text.itely
#. @subsubsection in Documentation/user/text.itely
-#, fuzzy
msgid "Music notation inside markup"
-msgstr "Notación musical"
+msgstr "Notación musical dentro de elementos de marcado"
#. @node in Documentation/user/text.itely
#. @subsubsection in Documentation/user/text.itely
msgid "Multi-page markup"
-msgstr ""
+msgstr "Elementos de marcado de varias páginas"
#. @node in Documentation/user/text.itely
#. @subsection in Documentation/user/text.itely
-#, fuzzy
msgid "Fonts"
-msgstr "Notas al pie"
+msgstr "Tipografías"
#. @node in Documentation/user/text.itely
#. @subsubsection in Documentation/user/text.itely
-#, fuzzy
msgid "Entire document fonts"
-msgstr "Otros documentos"
+msgstr "Fuentes tipográficas del documento completo"
#. @node in Documentation/user/text.itely
#. @subsubsection in Documentation/user/text.itely
-#, fuzzy
msgid "Single entry fonts"
-msgstr "Pentagrama único"
+msgstr "Fuentes de un solo elemento"
#. @node in Documentation/user/specialist.itely
#. @chapter in Documentation/user/specialist.itely
msgid "Specialist notation"
msgstr "Notación especializada"
-#. Documentation/user/vocal.itely:722 (variable)
+#. Documentation/user/vocal.itely:720 (variable)
msgid "voice"
-msgstr ""
+msgstr "voz"
-#. Documentation/user/vocal.itely:729 (variable)
-#, fuzzy
+#. Documentation/user/vocal.itely:727 (variable)
msgid "lyr"
msgstr "letra"
-#. Documentation/user/vocal.itely:934 (comment)
+#. Documentation/user/vocal.itely:933 (comment)
msgid "{"
-msgstr ""
+msgstr "{"
-#. Documentation/user/vocal.itely:947 (comment)
+#. Documentation/user/vocal.itely:946 (comment)
msgid "applies to "
-msgstr ""
+msgstr "se aplica a"
-#. Documentation/user/vocal.itely:953 (comment)
+#. Documentation/user/vocal.itely:952 (comment)
msgid "}"
-msgstr ""
+msgstr "}"
-#. Documentation/user/vocal.itely:1115 (comment)
+#. Documentation/user/vocal.itely:1114 (comment)
msgid "moves the column off the left margin; can be removed if"
-msgstr ""
+msgstr "aleja la columna del margen izquierdo; se puede quitar si el"
-#. Documentation/user/vocal.itely:1116 (comment)
+#. Documentation/user/vocal.itely:1115 (comment)
msgid "space on the page is tight"
-msgstr ""
+msgstr "espaciado en esta página queda apretado"
-#. Documentation/user/vocal.itely:1124 (comment)
-#. Documentation/user/vocal.itely:1142 (comment)
-#, fuzzy
+#. Documentation/user/vocal.itely:1123 (comment)
+#. Documentation/user/vocal.itely:1141 (comment)
msgid "adds vertical spacing between verses"
-msgstr "Espaciado vertical entre sistemas"
+msgstr "añade espaciado vertical entre estrofas"
-#. Documentation/user/vocal.itely:1132 (comment)
+#. Documentation/user/vocal.itely:1131 (comment)
msgid "adds horizontal spacing between columns; if they are"
-msgstr ""
+msgstr "añade espaciado horizontal entre columnas; si todavía"
-#. Documentation/user/vocal.itely:1133 (comment)
+#. Documentation/user/vocal.itely:1132 (comment)
msgid "still too close, add more pairs until the result "
-msgstr ""
+msgstr "están muy juntas, añada más parejas hasta que el resultado"
-#. Documentation/user/vocal.itely:1134 (comment)
+#. Documentation/user/vocal.itely:1133 (comment)
msgid "looks good"
-msgstr ""
+msgstr "parezca correcto"
-#. Documentation/user/vocal.itely:1150 (comment)
+#. Documentation/user/vocal.itely:1149 (comment)
msgid "gives some extra space on the right margin; can"
-msgstr ""
+msgstr "aplica más separación en el margen derecho; se puede"
-#. Documentation/user/vocal.itely:1151 (comment)
+#. Documentation/user/vocal.itely:1150 (comment)
msgid "be removed if page space is tight"
-msgstr ""
+msgstr "quitar si el espaciado de la página es apretado"
#. @node in Documentation/user/vocal.itely
#. @section in Documentation/user/vocal.itely
#. @node in Documentation/user/vocal.itely
#. @subsection in Documentation/user/vocal.itely
+#. @node in Documentation/fr/user/vocal.itely
+#. @subsection in Documentation/fr/user/vocal.itely
+#. @node in Documentation/es/user/vocal.itely
+#. @subsection in Documentation/es/user/vocal.itely
msgid "Common notation for vocals"
-msgstr ""
+msgstr "Notación usual para voces"
#. @node in Documentation/user/vocal.itely
#. @subsubsection in Documentation/user/vocal.itely
-#, fuzzy
+#. @node in Documentation/fr/user/vocal.itely
+#. @subsubsection in Documentation/fr/user/vocal.itely
+#. @node in Documentation/es/user/vocal.itely
+#. @subsubsection in Documentation/es/user/vocal.itely
msgid "References for vocal music"
-msgstr "Referencias a números de página"
+msgstr "Referencias para música vocal"
#. @node in Documentation/user/vocal.itely
#. @subsubsection in Documentation/user/vocal.itely
#. @node in Documentation/fr/user/vocal.itely
-#. @unnumberedsubsubsec in Documentation/fr/user/vocal.itely
+#. @subsubsection in Documentation/fr/user/vocal.itely
#. @node in Documentation/es/user/vocal.itely
#. @subsubsection in Documentation/es/user/vocal.itely
#. @node in Documentation/de/user/vocal.itely
#. @node in Documentation/user/vocal.itely
#. @subsubsection in Documentation/user/vocal.itely
+#. @node in Documentation/fr/user/vocal.itely
+#. @subsubsection in Documentation/fr/user/vocal.itely
#. @node in Documentation/es/user/vocal.itely
#. @subsubsection in Documentation/es/user/vocal.itely
#. @node in Documentation/de/user/vocal.itely
#. @node in Documentation/user/vocal.itely
#. @subsubsection in Documentation/user/vocal.itely
#. @node in Documentation/fr/user/vocal.itely
-#. @unnumberedsubsubsec in Documentation/fr/user/vocal.itely
+#. @subsubsection in Documentation/fr/user/vocal.itely
#. @node in Documentation/es/user/vocal.itely
#. @subsubsection in Documentation/es/user/vocal.itely
#. @node in Documentation/de/user/vocal.itely
#. @node in Documentation/user/vocal.itely
#. @subsubsection in Documentation/user/vocal.itely
-#, fuzzy
+#. @node in Documentation/fr/user/vocal.itely
+#. @subsubsection in Documentation/fr/user/vocal.itely
+#. @node in Documentation/es/user/vocal.itely
+#. @subsubsection in Documentation/es/user/vocal.itely
msgid "Manual syllable durations"
-msgstr "Duración automática de las sílabas"
+msgstr "Duración manual de las sílabas"
#. @node in Documentation/user/vocal.itely
#. @subsubsection in Documentation/user/vocal.itely
-#, fuzzy
+#. @node in Documentation/fr/user/vocal.itely
+#. @subsubsection in Documentation/fr/user/vocal.itely
+#. @node in Documentation/es/user/vocal.itely
+#. @subsubsection in Documentation/es/user/vocal.itely
msgid "Multiple syllables to one note"
-msgstr "Varias notas a la vez"
+msgstr "Varias sílabas sobre una nota"
#. @node in Documentation/user/vocal.itely
#. @subsubsection in Documentation/user/vocal.itely
-#, fuzzy
+#. @node in Documentation/fr/user/vocal.itely
+#. @subsubsection in Documentation/fr/user/vocal.itely
+#. @node in Documentation/es/user/vocal.itely
+#. @subsubsection in Documentation/es/user/vocal.itely
msgid "Multiple notes to one syllable"
-msgstr "Varias notas a la vez"
+msgstr "Varias notas sobre una sílaba"
#. @node in Documentation/user/vocal.itely
#. @subsubsection in Documentation/user/vocal.itely
-#, fuzzy
+#. @node in Documentation/fr/user/vocal.itely
+#. @subsubsection in Documentation/fr/user/vocal.itely
+#. @node in Documentation/es/user/vocal.itely
+#. @subsubsection in Documentation/es/user/vocal.itely
msgid "Skipping notes"
-msgstr "Saltar la música corregida"
+msgstr "Saltar notas"
#. @node in Documentation/user/vocal.itely
#. @subsubsection in Documentation/user/vocal.itely
#. @node in Documentation/fr/user/vocal.itely
-#. @unnumberedsubsubsec in Documentation/fr/user/vocal.itely
+#. @subsubsection in Documentation/fr/user/vocal.itely
#. @node in Documentation/es/user/vocal.itely
#. @subsubsection in Documentation/es/user/vocal.itely
#. @node in Documentation/de/user/vocal.itely
#. @node in Documentation/user/vocal.itely
#. @subsubsection in Documentation/user/vocal.itely
-#, fuzzy
+#. @node in Documentation/fr/user/vocal.itely
+#. @subsubsection in Documentation/fr/user/vocal.itely
+#. @node in Documentation/es/user/vocal.itely
+#. @subsubsection in Documentation/es/user/vocal.itely
msgid "Lyrics and repeats"
-msgstr "Repeticiones de compás o parte de ellos"
+msgstr "Letras y repeticiones"
#. @node in Documentation/user/vocal.itely
#. @subsection in Documentation/user/vocal.itely
-#, fuzzy
+#. @node in Documentation/fr/user/vocal.itely
+#. @subsection in Documentation/fr/user/vocal.itely
+#. @node in Documentation/es/user/vocal.itely
+#. @subsection in Documentation/es/user/vocal.itely
msgid "Placement of lyrics"
-msgstr "Colocación de los objetos"
+msgstr "Colocación de la letra"
#. @node in Documentation/user/vocal.itely
#. @subsubsection in Documentation/user/vocal.itely
#. @node in Documentation/fr/user/vocal.itely
-#. @unnumberedsubsubsec in Documentation/fr/user/vocal.itely
+#. @subsubsection in Documentation/fr/user/vocal.itely
#. @node in Documentation/es/user/vocal.itely
#. @subsubsection in Documentation/es/user/vocal.itely
#. @node in Documentation/de/user/vocal.itely
#. @node in Documentation/user/vocal.itely
#. @subsubsection in Documentation/user/vocal.itely
#. @node in Documentation/fr/user/vocal.itely
-#. @unnumberedsubsubsec in Documentation/fr/user/vocal.itely
+#. @subsubsection in Documentation/fr/user/vocal.itely
#. @node in Documentation/es/user/vocal.itely
#. @subsubsection in Documentation/es/user/vocal.itely
#. @node in Documentation/de/user/vocal.itely
#. @node in Documentation/user/vocal.itely
#. @subsubsection in Documentation/user/vocal.itely
+#. @node in Documentation/fr/user/vocal.itely
+#. @subsubsection in Documentation/fr/user/vocal.itely
+#. @node in Documentation/es/user/vocal.itely
+#. @subsubsection in Documentation/es/user/vocal.itely
msgid "Chants"
msgstr ""
#. @node in Documentation/user/vocal.itely
#. @subsubsection in Documentation/user/vocal.itely
-#, fuzzy
+#. @node in Documentation/fr/user/vocal.itely
+#. @subsubsection in Documentation/fr/user/vocal.itely
+#. @node in Documentation/es/user/vocal.itely
+#. @subsubsection in Documentation/es/user/vocal.itely
msgid "Spacing out syllables"
-msgstr "Espaciado de la letra"
+msgstr "Espaciado de las sílabas"
#. @node in Documentation/user/vocal.itely
#. @subsubsection in Documentation/user/vocal.itely
-#, fuzzy
+#. @node in Documentation/fr/user/vocal.itely
+#. @subsubsection in Documentation/fr/user/vocal.itely
+#. @node in Documentation/es/user/vocal.itely
+#. @subsubsection in Documentation/es/user/vocal.itely
msgid "Centering lyrics between staves"
-msgstr "Introducir la letra"
+msgstr "Centrado de la letra entre pentagramas"
#. @node in Documentation/user/vocal.itely
#. @subsection in Documentation/user/vocal.itely
+#. @node in Documentation/fr/user/vocal.itely
+#. @subsection in Documentation/fr/user/vocal.itely
+#. @node in Documentation/es/user/vocal.itely
+#. @subsection in Documentation/es/user/vocal.itely
msgid "Stanzas"
-msgstr ""
+msgstr "Versos"
#. @node in Documentation/user/vocal.itely
#. @subsubsection in Documentation/user/vocal.itely
-#. @unnumberedsubsubsec in Documentation/fr/user/vocal.itely
+#. @node in Documentation/fr/user/vocal.itely
+#. @subsubsection in Documentation/fr/user/vocal.itely
#. @node in Documentation/es/user/vocal.itely
#. @subsubsection in Documentation/es/user/vocal.itely
#. @node in Documentation/de/user/vocal.itely
#. @node in Documentation/user/vocal.itely
#. @subsubsection in Documentation/user/vocal.itely
-#, fuzzy
+#. @node in Documentation/fr/user/vocal.itely
+#. @subsubsection in Documentation/fr/user/vocal.itely
+#. @node in Documentation/es/user/vocal.itely
+#. @subsubsection in Documentation/es/user/vocal.itely
msgid "Adding dynamics marks to stanzas"
-msgstr "Añadir expresiones dinámicas"
+msgstr "Añadir expresiones dinámicas a los versos"
#. @node in Documentation/user/vocal.itely
#. @subsubsection in Documentation/user/vocal.itely
-#, fuzzy
+#. @node in Documentation/fr/user/vocal.itely
+#. @subsubsection in Documentation/fr/user/vocal.itely
+#. @node in Documentation/es/user/vocal.itely
+#. @subsubsection in Documentation/es/user/vocal.itely
msgid "Adding singers' names to stanzas"
-msgstr "Añadir el nombre de los cantantes"
+msgstr "Añadir el nombre de los cantantes a los versos"
#. @node in Documentation/user/vocal.itely
#. @subsubsection in Documentation/user/vocal.itely
+#. @node in Documentation/fr/user/vocal.itely
+#. @subsubsection in Documentation/fr/user/vocal.itely
+#. @node in Documentation/es/user/vocal.itely
+#. @subsubsection in Documentation/es/user/vocal.itely
msgid "Stanzas with different rhythms"
-msgstr ""
+msgstr "Versos con ritmos distintos"
#. @subsubheading in Documentation/user/vocal.itely
+#. @subsubheading in Documentation/es/user/vocal.itely
msgid "Ignoring melismata"
-msgstr ""
+msgstr "Ignorar los melismas"
#. @subsubheading in Documentation/user/vocal.itely
+#. @subsubheading in Documentation/es/user/vocal.itely
msgid "Switching to an alternative melody"
-msgstr ""
+msgstr "Cambio a una melodía alternativa"
#. @node in Documentation/user/vocal.itely
#. @subsubsection in Documentation/user/vocal.itely
-#. @unnumberedsubsubsec in Documentation/fr/user/vocal.itely
+#. @node in Documentation/fr/user/vocal.itely
+#. @subsubsection in Documentation/fr/user/vocal.itely
#. @node in Documentation/es/user/vocal.itely
#. @subsubsection in Documentation/es/user/vocal.itely
#. @node in Documentation/de/user/vocal.itely
#. @node in Documentation/user/vocal.itely
#. @subsubsection in Documentation/user/vocal.itely
-#. @unnumberedsubsubsec in Documentation/fr/user/vocal.itely
+#. @node in Documentation/fr/user/vocal.itely
+#. @subsubsection in Documentation/fr/user/vocal.itely
#. @node in Documentation/es/user/vocal.itely
#. @subsubsection in Documentation/es/user/vocal.itely
#. @node in Documentation/de/user/vocal.itely
msgid "Printing stanzas at the end in multiple columns"
msgstr "Imprimir los versos al final en varias columnas"
-#. Documentation/user/keyboards.itely:137 (variable)
-#, fuzzy
-msgid "upStaff"
-msgstr "pantagrama"
-
-#. Documentation/user/keyboards.itely:138 (variable)
-msgid "downStaff"
-msgstr ""
-
-#. Documentation/user/keyboards.itely:146 (comment)
-msgid "keep the context alive"
-msgstr ""
+#. Documentation/user/keyboards.itely:143 (comment)
+msgid "keep staff alive"
+msgstr "mantener vivo el pentagrama"
-#. Documentation/user/keyboards.itely:274 (variable)
+#. Documentation/user/keyboards.itely:271 (variable)
msgid "stemExtend"
-msgstr ""
+msgstr "extenderPlica"
-#. Documentation/user/keyboards.itely:278 (variable)
+#. Documentation/user/keyboards.itely:275 (variable)
msgid "noFlag"
-msgstr ""
+msgstr "sinCorchete"
#. @node in Documentation/user/keyboards.itely
#. @section in Documentation/user/keyboards.itely
-#, fuzzy
+#. @node in Documentation/fr/user/keyboards.itely
+#. @section in Documentation/fr/user/keyboards.itely
+#. @node in Documentation/es/user/keyboards.itely
+#. @section in Documentation/es/user/keyboards.itely
+#. @node in Documentation/de/user/keyboards.itely
+#. @section in Documentation/de/user/keyboards.itely
msgid "Keyboard instruments"
-msgstr "Instrumentos MIDI"
+msgstr "Instrumentos de teclado"
# Fuzzy.FVD
#. @node in Documentation/user/keyboards.itely
#. @subsection in Documentation/user/keyboards.itely
-#, fuzzy
+#. @node in Documentation/fr/user/keyboards.itely
+#. @subsection in Documentation/fr/user/keyboards.itely
+#. @node in Documentation/es/user/keyboards.itely
+#. @subsection in Documentation/es/user/keyboards.itely
+#. @node in Documentation/de/user/keyboards.itely
+#. @subsection in Documentation/de/user/keyboards.itely
msgid "Common notation for keyboards"
-msgstr "Cabezas de notas de Notación Fácil"
+msgstr "Notación usual para instrumentos de teclado"
#. @node in Documentation/user/keyboards.itely
#. @subsubsection in Documentation/user/keyboards.itely
-#, fuzzy
+#. @node in Documentation/fr/user/keyboards.itely
+#. @subsubsection in Documentation/fr/user/keyboards.itely
+#. @node in Documentation/es/user/keyboards.itely
+#. @subsubsection in Documentation/es/user/keyboards.itely
+#. @node in Documentation/de/user/keyboards.itely
+#. @subsubsection in Documentation/de/user/keyboards.itely
msgid "References for keyboards"
-msgstr "Referencias a números de página"
-
-#. @node in Documentation/user/keyboards.itely
-#. @subsubsection in Documentation/user/keyboards.itely
-msgid "The piano staff"
-msgstr ""
+msgstr "Referencias para teclados"
#. @node in Documentation/user/keyboards.itely
#. @subsubsection in Documentation/user/keyboards.itely
-#, fuzzy
+#. @node in Documentation/fr/user/keyboards.itely
+#. @subsubsection in Documentation/fr/user/keyboards.itely
+#. @node in Documentation/es/user/keyboards.itely
+#. @subsubsection in Documentation/es/user/keyboards.itely
+#. @node in Documentation/de/user/keyboards.itely
+#. @subsubsection in Documentation/de/user/keyboards.itely
msgid "Changing staff manually"
-msgstr "Cambiar los valores por omisión"
+msgstr "Cambiar de pentagrama manualmente"
#. @node in Documentation/user/keyboards.itely
#. @subsubsection in Documentation/user/keyboards.itely
+#. @node in Documentation/fr/user/keyboards.itely
+#. @subsubsection in Documentation/fr/user/keyboards.itely
+#. @node in Documentation/es/user/keyboards.itely
+#. @subsubsection in Documentation/es/user/keyboards.itely
+#. @node in Documentation/de/user/keyboards.itely
+#. @subsubsection in Documentation/de/user/keyboards.itely
msgid "Changing staff automatically"
-msgstr ""
+msgstr "Cambiar de pentagrama automáticamente"
#. @node in Documentation/user/keyboards.itely
#. @subsubsection in Documentation/user/keyboards.itely
-#, fuzzy
+#. @node in Documentation/fr/user/keyboards.itely
+#. @subsubsection in Documentation/fr/user/keyboards.itely
+#. @node in Documentation/es/user/keyboards.itely
+#. @subsubsection in Documentation/es/user/keyboards.itely
+#. @node in Documentation/de/user/keyboards.itely
+#. @subsubsection in Documentation/de/user/keyboards.itely
msgid "Staff-change lines"
msgstr "Líneas de cambio de pentagrama"
#. @node in Documentation/user/keyboards.itely
#. @subsubsection in Documentation/user/keyboards.itely
-#, fuzzy
+#. @node in Documentation/fr/user/keyboards.itely
+#. @subsubsection in Documentation/fr/user/keyboards.itely
+#. @node in Documentation/es/user/keyboards.itely
+#. @subsubsection in Documentation/es/user/keyboards.itely
+#. @node in Documentation/de/user/keyboards.itely
+#. @subsubsection in Documentation/de/user/keyboards.itely
msgid "Cross-staff stems"
msgstr "Plicas de pentagrama cruzado"
#. @node in Documentation/user/keyboards.itely
#. @subsection in Documentation/user/keyboards.itely
-#, fuzzy
+#. @node in Documentation/fr/user/keyboards.itely
+#. @subsection in Documentation/fr/user/keyboards.itely
+#. @node in Documentation/es/user/keyboards.itely
+#. @subsection in Documentation/es/user/keyboards.itely
+#. @node in Documentation/de/user/keyboards.itely
+#. @subsection in Documentation/de/user/keyboards.itely
msgid "Piano"
-msgstr "Música de piano"
+msgstr "Piano"
#. @node in Documentation/user/keyboards.itely
#. @subsubsection in Documentation/user/keyboards.itely
-#, fuzzy
+#. @node in Documentation/fr/user/keyboards.itely
+#. @subsubsection in Documentation/fr/user/keyboards.itely
+#. @node in Documentation/es/user/keyboards.itely
+#. @subsubsection in Documentation/es/user/keyboards.itely
+#. @node in Documentation/de/user/keyboards.itely
+#. @subsubsection in Documentation/de/user/keyboards.itely
msgid "Piano pedals"
-msgstr "Plantillas de piano"
+msgstr "Pedales de piano"
#. @node in Documentation/user/keyboards.itely
#. @subsection in Documentation/user/keyboards.itely
+#. @node in Documentation/fr/user/keyboards.itely
+#. @subsection in Documentation/fr/user/keyboards.itely
+#. @node in Documentation/es/user/keyboards.itely
+#. @subsection in Documentation/es/user/keyboards.itely
+#. @node in Documentation/de/user/keyboards.itely
+#. @subsection in Documentation/de/user/keyboards.itely
msgid "Accordion"
-msgstr ""
+msgstr "Acordeón"
#. @node in Documentation/user/keyboards.itely
#. @subsubsection in Documentation/user/keyboards.itely
+#. @node in Documentation/fr/user/keyboards.itely
+#. @subsubsection in Documentation/fr/user/keyboards.itely
+#. @node in Documentation/es/user/keyboards.itely
+#. @subsubsection in Documentation/es/user/keyboards.itely
+#. @node in Documentation/de/user/keyboards.itely
+#. @subsubsection in Documentation/de/user/keyboards.itely
msgid "Discant symbols"
-msgstr ""
+msgstr "Símbolos de Discanto"
#. @node in Documentation/user/unfretted-strings.itely
#. @section in Documentation/user/unfretted-strings.itely
-#, fuzzy
+#. @node in Documentation/fr/user/unfretted-strings.itely
+#. @section in Documentation/fr/user/unfretted-strings.itely
+#. @node in Documentation/es/user/unfretted-strings.itely
+#. @section in Documentation/es/user/unfretted-strings.itely
+#. @node in Documentation/de/user/unfretted-strings.itely
+#. @section in Documentation/de/user/unfretted-strings.itely
msgid "Unfretted string instruments"
-msgstr "instrumento transpositor"
+msgstr "Instrumentos de cuerda sin trastes"
#. @node in Documentation/user/unfretted-strings.itely
#. @subsection in Documentation/user/unfretted-strings.itely
msgid "Common notation for unfretted strings"
-msgstr ""
+msgstr "Notación usual para cuerdas sin trastes"
#. @node in Documentation/user/unfretted-strings.itely
#. @subsubsection in Documentation/user/unfretted-strings.itely
msgid "References for unfretted strings"
-msgstr ""
+msgstr "Referencias para cuerdas sin trastes"
#. @node in Documentation/user/unfretted-strings.itely
#. @subsection in Documentation/user/unfretted-strings.itely
-#, fuzzy
msgid "Bowed instruments"
-msgstr "Instrumentos MIDI"
+msgstr "Instrumentos de arco"
#. @node in Documentation/user/unfretted-strings.itely
#. @subsubsection in Documentation/user/unfretted-strings.itely
-#. @node in Documentation/fr/user/strings.itely
-#. @unnumberedsubsubsec in Documentation/fr/user/strings.itely
-#. @node in Documentation/es/user/strings.itely
-#. @subsubsection in Documentation/es/user/strings.itely
-#. @node in Documentation/de/user/strings.itely
-#. @unnumberedsubsubsec in Documentation/de/user/strings.itely
+#. @node in Documentation/fr/user/unfretted-strings.itely
+#. @unnumberedsubsubsec in Documentation/fr/user/unfretted-strings.itely
+#. @node in Documentation/es/user/unfretted-strings.itely
+#. @subsubsection in Documentation/es/user/unfretted-strings.itely
+#. @node in Documentation/de/user/unfretted-strings.itely
+#. @unnumberedsubsubsec in Documentation/de/user/unfretted-strings.itely
msgid "Artificial harmonics (strings)"
msgstr "Armónicos artificiales de los instrumentos de cuerda"
#. @node in Documentation/user/unfretted-strings.itely
#. @subsection in Documentation/user/unfretted-strings.itely
-#, fuzzy
msgid "Plucked instruments"
-msgstr "Instrumentos MIDI"
+msgstr "Instrumentos de cuerda pulsada"
#. @node in Documentation/user/unfretted-strings.itely
#. @subsubsection in Documentation/user/unfretted-strings.itely
-#, fuzzy
msgid "Harp"
-msgstr "sostenido"
+msgstr "Arpa"
#. Documentation/user/fretted-strings.itely:135 (variable)
-#, fuzzy
msgid "melodia"
-msgstr "melisma"
+msgstr "melodia"
#. @node in Documentation/user/fretted-strings.itely
#. @section in Documentation/user/fretted-strings.itely
-#, fuzzy
+#. @node in Documentation/fr/user/fretted-strings.itely
+#. @section in Documentation/fr/user/fretted-strings.itely
+#. @node in Documentation/es/user/fretted-strings.itely
+#. @section in Documentation/es/user/fretted-strings.itely
+#. @node in Documentation/de/user/fretted-strings.itely
+#. @section in Documentation/de/user/fretted-strings.itely
msgid "Fretted string instruments"
-msgstr "instrumento transpositor"
+msgstr "Instrumentos de cuerda con trastes"
#. @node in Documentation/user/fretted-strings.itely
#. @subsection in Documentation/user/fretted-strings.itely
msgid "Common notation for fretted strings"
-msgstr ""
+msgstr "Notación usual para cuerdas con trastes"
#. @node in Documentation/user/fretted-strings.itely
#. @subsubsection in Documentation/user/fretted-strings.itely
msgid "References for fretted strings"
-msgstr ""
+msgstr "Referencias para cuerdas con trastes"
#. @node in Documentation/user/fretted-strings.itely
#. @subsubsection in Documentation/user/fretted-strings.itely
-#. @node in Documentation/fr/user/guitar.itely
-#. @unnumberedsubsubsec in Documentation/fr/user/guitar.itely
-#. @node in Documentation/es/user/guitar.itely
-#. @subsubsection in Documentation/es/user/guitar.itely
-#. @node in Documentation/de/user/guitar.itely
-#. @unnumberedsubsubsec in Documentation/de/user/guitar.itely
+#. @node in Documentation/fr/user/fretted-strings.itely
+#. @unnumberedsubsubsec in Documentation/fr/user/fretted-strings.itely
+#. @node in Documentation/es/user/fretted-strings.itely
+#. @subsubsection in Documentation/es/user/fretted-strings.itely
+#. @node in Documentation/de/user/fretted-strings.itely
+#. @unnumberedsubsubsec in Documentation/de/user/fretted-strings.itely
msgid "String number indications"
msgstr "Indicación de los números de cuerda"
#. @node in Documentation/user/fretted-strings.itely
#. @subsubsection in Documentation/user/fretted-strings.itely
-#, fuzzy
msgid "Default tablatures"
-msgstr "Archivos por omisión"
+msgstr "Tablaturas predeterminadas"
#. @node in Documentation/user/fretted-strings.itely
#. @subsubsection in Documentation/user/fretted-strings.itely
-#, fuzzy
msgid "Custom tablatures"
-msgstr "Títulos personalizados"
+msgstr "Tablaturas personalizadas"
#. @node in Documentation/user/fretted-strings.itely
#. @subsubsection in Documentation/user/fretted-strings.itely
-#. @node in Documentation/fr/user/guitar.itely
-#. @unnumberedsubsubsec in Documentation/fr/user/guitar.itely
-#. @node in Documentation/es/user/guitar.itely
-#. @subsubsection in Documentation/es/user/guitar.itely
-#. @node in Documentation/de/user/guitar.itely
-#. @unnumberedsubsubsec in Documentation/de/user/guitar.itely
+#. @node in Documentation/fr/user/fretted-strings.itely
+#. @unnumberedsubsubsec in Documentation/fr/user/fretted-strings.itely
+#. @node in Documentation/es/user/fretted-strings.itely
+#. @subsubsection in Documentation/es/user/fretted-strings.itely
+#. @node in Documentation/de/user/fretted-strings.itely
+#. @unnumberedsubsubsec in Documentation/de/user/fretted-strings.itely
msgid "Fret diagrams"
msgstr "Diagramas de trastes"
#. @node in Documentation/user/fretted-strings.itely
#. @subsubsection in Documentation/user/fretted-strings.itely
-#. @node in Documentation/fr/user/guitar.itely
-#. @unnumberedsubsubsec in Documentation/fr/user/guitar.itely
-#. @node in Documentation/es/user/guitar.itely
-#. @subsubsection in Documentation/es/user/guitar.itely
-#. @node in Documentation/de/user/guitar.itely
-#. @unnumberedsubsubsec in Documentation/de/user/guitar.itely
+#. @node in Documentation/fr/user/fretted-strings.itely
+#. @unnumberedsubsubsec in Documentation/fr/user/fretted-strings.itely
+#. @node in Documentation/es/user/fretted-strings.itely
+#. @subsubsection in Documentation/es/user/fretted-strings.itely
+#. @node in Documentation/de/user/fretted-strings.itely
+#. @unnumberedsubsubsec in Documentation/de/user/fretted-strings.itely
msgid "Right hand fingerings"
msgstr "Digitaciones de la mano derecha"
#. @node in Documentation/user/fretted-strings.itely
#. @subsection in Documentation/user/fretted-strings.itely
-#. @node in Documentation/fr/user/guitar.itely
-#. @section in Documentation/fr/user/guitar.itely
-#. @node in Documentation/es/user/guitar.itely
-#. @section in Documentation/es/user/guitar.itely
-#. @node in Documentation/de/user/guitar.itely
-#. @section in Documentation/de/user/guitar.itely
msgid "Guitar"
msgstr "Guitarra"
# ¡Distintos a la guitarra!. FVD
#. @node in Documentation/user/fretted-strings.itely
#. @subsubsection in Documentation/user/fretted-strings.itely
-#, fuzzy
msgid "Guitar tablatures"
-msgstr "Tablaturas para otros instrumentos"
+msgstr "Tablaturas de guitarra"
#. @node in Documentation/user/fretted-strings.itely
#. @subsubsection in Documentation/user/fretted-strings.itely
msgid "Indicating position and barring"
-msgstr ""
+msgstr "Indicar la posición y la cejilla"
#. @node in Documentation/user/fretted-strings.itely
#. @subsection in Documentation/user/fretted-strings.itely
-#, fuzzy
msgid "Banjo"
-msgstr "mayor"
+msgstr "Banjo"
#. @node in Documentation/user/fretted-strings.itely
#. @subsubsection in Documentation/user/fretted-strings.itely
-#. @node in Documentation/fr/user/guitar.itely
-#. @unnumberedsubsubsec in Documentation/fr/user/guitar.itely
-#. @node in Documentation/es/user/guitar.itely
-#. @subsubsection in Documentation/es/user/guitar.itely
-#. @node in Documentation/de/user/guitar.itely
-#. @unnumberedsubsubsec in Documentation/de/user/guitar.itely
+#. @node in Documentation/fr/user/fretted-strings.itely
+#. @unnumberedsubsubsec in Documentation/fr/user/fretted-strings.itely
+#. @node in Documentation/es/user/fretted-strings.itely
+#. @subsubsection in Documentation/es/user/fretted-strings.itely
+#. @node in Documentation/de/user/fretted-strings.itely
+#. @unnumberedsubsubsec in Documentation/de/user/fretted-strings.itely
msgid "Banjo tablatures"
msgstr "Tablaturas de banjo"
#. Documentation/user/percussion.itely:120 (variable)
#. Documentation/user/percussion.itely:300 (variable)
msgid "up"
-msgstr ""
+msgstr "arriba"
#. Documentation/user/percussion.itely:121 (variable)
#. Documentation/user/percussion.itely:301 (variable)
msgid "down"
-msgstr ""
+msgstr "abajo"
#. @node in Documentation/user/percussion.itely
#. @section in Documentation/user/percussion.itely
#. @node in Documentation/user/percussion.itely
#. @subsection in Documentation/user/percussion.itely
-#, fuzzy
msgid "Common notation for percussion"
-msgstr "Introducir la percusión"
+msgstr "Notación usual para percusión"
#. @node in Documentation/user/percussion.itely
#. @subsubsection in Documentation/user/percussion.itely
-#, fuzzy
msgid "References for percussion"
-msgstr "Referencias a números de página"
+msgstr "Referencias para percusión"
#. @node in Documentation/user/percussion.itely
#. @subsubsection in Documentation/user/percussion.itely
-#, fuzzy
msgid "Basic percussion notation"
-msgstr "Secciones de percusión"
+msgstr "Notación básica de percusión"
#. @node in Documentation/user/percussion.itely
#. @subsubsection in Documentation/user/percussion.itely
#. @node in Documentation/user/wind.itely
#. @section in Documentation/user/wind.itely
-#, fuzzy
+#. @node in Documentation/fr/user/wind.itely
+#. @section in Documentation/fr/user/wind.itely
+#. @node in Documentation/es/user/wind.itely
+#. @section in Documentation/es/user/wind.itely
+#. @node in Documentation/de/user/wind.itely
+#. @section in Documentation/de/user/wind.itely
msgid "Wind instruments"
-msgstr "Instrumentos MIDI"
+msgstr "Instrumentos de viento"
#. @node in Documentation/user/wind.itely
#. @subsection in Documentation/user/wind.itely
-#, fuzzy
msgid "Common notation"
-msgstr "Convenciones usuales"
+msgstr "Notación usual"
#. @node in Documentation/user/wind.itely
#. @subsubsection in Documentation/user/wind.itely
-#, fuzzy
msgid "References for wind instruments"
-msgstr "Referencias a números de página"
+msgstr "Referencias para instrumentos de viento"
#. @node in Documentation/user/wind.itely
#. @subsubsection in Documentation/user/wind.itely
msgid "Half-holes"
-msgstr ""
+msgstr "Medios agujeros"
#. @node in Documentation/user/wind.itely
#. @subsection in Documentation/user/wind.itely
-#. @node in Documentation/fr/user/bagpipes.itely
-#. @section in Documentation/fr/user/bagpipes.itely
-#. @node in Documentation/es/user/bagpipes.itely
-#. @section in Documentation/es/user/bagpipes.itely
-#. @node in Documentation/de/user/bagpipes.itely
-#. @section in Documentation/de/user/bagpipes.itely
msgid "Bagpipes"
msgstr "Gaita"
#. @node in Documentation/user/wind.itely
#. @subsubsection in Documentation/user/wind.itely
-#. @node in Documentation/fr/user/bagpipes.itely
-#. @unnumberedsubsubsec in Documentation/fr/user/bagpipes.itely
-#. @node in Documentation/es/user/bagpipes.itely
-#. @subsubsection in Documentation/es/user/bagpipes.itely
-#. @node in Documentation/de/user/bagpipes.itely
-#. @unnumberedsubsubsec in Documentation/de/user/bagpipes.itely
+#. @node in Documentation/fr/user/wind.itely
+#. @unnumberedsubsubsec in Documentation/fr/user/wind.itely
+#. @node in Documentation/es/user/wind.itely
+#. @subsubsection in Documentation/es/user/wind.itely
+#. @node in Documentation/de/user/wind.itely
+#. @unnumberedsubsubsec in Documentation/de/user/wind.itely
msgid "Bagpipe definitions"
msgstr "Definiciones para la gaita"
#. @node in Documentation/user/wind.itely
#. @subsubsection in Documentation/user/wind.itely
-#. @node in Documentation/fr/user/bagpipes.itely
-#. @unnumberedsubsubsec in Documentation/fr/user/bagpipes.itely
-#. @node in Documentation/es/user/bagpipes.itely
-#. @subsubsection in Documentation/es/user/bagpipes.itely
-#. @node in Documentation/de/user/bagpipes.itely
-#. @unnumberedsubsubsec in Documentation/de/user/bagpipes.itely
+#. @node in Documentation/fr/user/wind.itely
+#. @unnumberedsubsubsec in Documentation/fr/user/wind.itely
+#. @node in Documentation/es/user/wind.itely
+#. @subsubsection in Documentation/es/user/wind.itely
+#. @node in Documentation/de/user/wind.itely
+#. @unnumberedsubsubsec in Documentation/de/user/wind.itely
msgid "Bagpipe example"
msgstr "Ejemplo de música de gaita"
#. Documentation/user/chords.itely:107 (variable)
msgid "twoWays"
-msgstr ""
+msgstr "dosFormas"
#. Documentation/user/chords.itely:137 (variable)
-#, fuzzy
msgid "FGGChordNames"
-msgstr "Modo de acordes"
+msgstr "nombresAcordes_FGG"
#. Documentation/user/chords.itely:141 (variable)
msgid "chExceptions"
-msgstr ""
+msgstr "excepcionesAc"
#. Documentation/user/chords.itely:145 (variable)
-#, fuzzy
msgid "chordStuff"
-msgstr "acorde"
+msgstr "acordes"
#. Documentation/user/chords.itely:147 (comment)
-#, fuzzy
msgid "standard names"
-msgstr "Nombres de instrumentos"
+msgstr "nombres estándar"
#. Documentation/user/chords.itely:150 (comment)
msgid "names with FGG's custom exceptions"
-msgstr ""
+msgstr "nombres con las excepciones personalizadas de FGG"
#. Documentation/user/chords.itely:303 (variable)
#. Documentation/user/chords.itely:318 (variable)
-#, fuzzy
msgid "harmonies"
-msgstr "Modo de acordes"
+msgstr "armonias"
#. @node in Documentation/user/chords.itely
#. @section in Documentation/user/chords.itely
-#, fuzzy
+#. @node in Documentation/fr/user/chords.itely
+#. @section in Documentation/fr/user/chords.itely
+#. @node in Documentation/es/user/chords.itely
+#. @section in Documentation/es/user/chords.itely
+#. @node in Documentation/de/user/chords.itely
msgid "Chord notation"
-msgstr "Secciones de acordes"
+msgstr "Notación de acordes"
#. @node in Documentation/user/chords.itely
#. @subsection in Documentation/user/chords.itely
-#, fuzzy
+#. @node in Documentation/es/user/chords.itely
+#. @subsection in Documentation/es/user/chords.itely
msgid "Modern chords"
-msgstr "acorde quebrado"
+msgstr "Acordes de música moderna"
#. @node in Documentation/user/chords.itely
#. @subsubsection in Documentation/user/chords.itely
-#, fuzzy
msgid "Chord modes"
-msgstr "Modo de acordes"
+msgstr "Modos de acordes"
#. @node in Documentation/user/chords.itely
#. @subsubsection in Documentation/user/chords.itely
#. @subsubsection in Documentation/es/user/chords.itely
#. @node in Documentation/de/user/chords.itely
#. @unnumberedsubsubsec in Documentation/de/user/chords.itely
-#, fuzzy
msgid "Entering chord names"
-msgstr "Impresión de los nombres de acorde"
+msgstr "Escritura de los nombres de acorde"
#. @node in Documentation/user/chords.itely
#. @subsubsection in Documentation/user/chords.itely
-#, fuzzy
msgid "Building chords"
-msgstr "Compilar LilyPond"
+msgstr "Construcción de acordes"
#. @node in Documentation/user/chords.itely
#. @subsubsection in Documentation/user/chords.itely
-#, fuzzy
msgid "Lead sheets"
msgstr "Hojas guía de acordes"
# ?? FVD
#. @node in Documentation/user/chords.itely
#. @subsubsection in Documentation/user/chords.itely
-#, fuzzy
msgid "Introduction to figured bass"
-msgstr "Introducción al trucaje"
+msgstr "Introducción al bajo cifrado"
#. @node in Documentation/user/chords.itely
#. @subsubsection in Documentation/user/chords.itely
-#, fuzzy
msgid "Entering figures"
-msgstr "Introducir la letra"
+msgstr "Introducir las cifras"
#. @node in Documentation/user/chords.itely
#. @subsubsection in Documentation/user/chords.itely
-#, fuzzy
msgid "Repeated figures"
-msgstr "Tipos de repetición"
+msgstr "Cifras repetidas"
#. @node in Documentation/user/ancient.itely
#. @section in Documentation/user/ancient.itely
# ?? FVD
#. @node in Documentation/user/ancient.itely
#. @subsection in Documentation/user/ancient.itely
-#, fuzzy
msgid "Introduction to ancient notation"
-msgstr "Introducción a la disposición"
+msgstr "Introducción a la notación antigua"
#. @node in Documentation/user/ancient.itely
#. @subsubsection in Documentation/user/ancient.itely
-#, fuzzy
msgid "Ancient notation supported"
-msgstr "Plantillas para notación antigua"
+msgstr "Notación antigua contemplada"
#. @node in Documentation/user/ancient.itely
#. @subsection in Documentation/user/ancient.itely
-#, fuzzy
msgid "Alternative note signs"
-msgstr "Símbolos de nota alternativos para música antigua"
+msgstr "Símbolos de nota alternativos"
#. @node in Documentation/user/ancient.itely
#. @subsubsection in Documentation/user/ancient.itely
#. @node in Documentation/user/ancient.itely
#. @subsection in Documentation/user/ancient.itely
-#, fuzzy
msgid "Additional note signs"
-msgstr "Símbolos de nota adicionales para música antigua"
+msgstr "Símbolos de nota adicionales"
#. @node in Documentation/user/ancient.itely
#. @subsubsection in Documentation/user/ancient.itely
#. @node in Documentation/user/ancient.itely
#. @subsection in Documentation/user/ancient.itely
-#, fuzzy
msgid "Transcribing ancient music"
-msgstr "Transcripción de música mensural"
+msgstr "Transcripción de música antigua"
#. @node in Documentation/user/ancient.itely
#. @subsubsection in Documentation/user/ancient.itely
-#, fuzzy
msgid "Ancient and modern from one source"
-msgstr "Distintas ediciones a partir de una misma fuente"
+msgstr "Antigua y moderna desde la misma fuente"
#. @node in Documentation/user/ancient.itely
#. @subsubsection in Documentation/user/ancient.itely
-#, fuzzy
msgid "Incipits"
-msgstr "Entrada"
+msgstr "Incipits"
#. @node in Documentation/user/ancient.itely
#. @subsubsection in Documentation/user/ancient.itely
-#, fuzzy
msgid "Mensurstriche layout"
-msgstr "Disposición de la música"
+msgstr "Disposición tipo «Mensurstriche»"
#. @node in Documentation/user/ancient.itely
#. @subsubsection in Documentation/user/ancient.itely
msgid "Transcribing Gregorian chant"
-msgstr ""
+msgstr "Transcripción de Canto Gregoriano"
#. @node in Documentation/user/ancient.itely
#. @subsection in Documentation/user/ancient.itely
-#, fuzzy
msgid "Editorial markings"
msgstr "Anotaciones editoriales"
#. @node in Documentation/user/ancient.itely
#. @subsubsection in Documentation/user/ancient.itely
-#, fuzzy
msgid "Annotational accidentals"
-msgstr "Alteraciones de precaución"
+msgstr "Alteraciones de anotación"
#. @node in Documentation/user/ancient.itely
#. @subsubsection in Documentation/user/ancient.itely
-#, fuzzy
msgid "Baroque rhythmic notation"
-msgstr "Notación automática"
+msgstr "Notación rítmica barroca"
#. @node in Documentation/user/input.itely
#. @chapter in Documentation/user/input.itely
#. Documentation/user/non-music.itely:190 (comment)
msgid "not printed"
-msgstr ""
+msgstr "no impreso"
#. @node in Documentation/user/non-music.itely
#. @chapter in Documentation/user/non-music.itely
#. Documentation/user/spacing.itely:632 (comment)
msgid "this does nothing"
-msgstr ""
+msgstr "esto no hace nada"
#. Documentation/user/spacing.itely:633 (comment)
msgid "a break here would work"
-msgstr ""
+msgstr "un salto aquí funcionaría"
#. Documentation/user/spacing.itely:634 (comment)
msgid "as does this break"
-msgstr ""
+msgstr "como por ejemplo este salto"
#. Documentation/user/spacing.itely:646 (comment)
msgid "now the break is allowed"
-msgstr ""
+msgstr "ahora se permite el salto de línea"
#. Documentation/user/spacing.itely:1399 (comment)
msgid "this time the text will be closer to the staff"
-msgstr ""
+msgstr "esta vez el texto estará más cerca del pentagrama"
#. Documentation/user/spacing.itely:1401 (comment)
msgid "by setting outside-staff-priority to a non-number, we"
-msgstr ""
+msgstr "ajustando el valor de outside-staff-priority a algo que no sea un número,"
#. Documentation/user/spacing.itely:1402 (comment)
-#, fuzzy
msgid "disable the automatic collision avoidance"
-msgstr "Evitar las colisiones verticales"
+msgstr "desactivamos la evitación automática de colisiones"
#. Documentation/user/spacing.itely:1405 (comment)
msgid "now they will collide"
-msgstr ""
+msgstr "ahora se producirá la colisión"
#. Documentation/user/spacing.itely:1430 (comment)
msgid "the markup is too close to the following note"
-msgstr ""
+msgstr "el marcado está demasiado cerca de la nota siguiente"
#. Documentation/user/spacing.itely:1433 (comment)
msgid "setting outside-staff-horizontal-padding fixes this"
-msgstr ""
+msgstr "ajustar outside-staff-horizontal-padding corrige esto"
#. @node in Documentation/user/spacing.itely
#. @chapter in Documentation/user/spacing.itely
#. Documentation/user/programming-interface.itely:116 (variable)
msgid "custosNote"
-msgstr ""
+msgstr "notaCustos"
#. Documentation/user/programming-interface.itely:176 (variable)
-#, fuzzy
msgid "manualBeam"
-msgstr "Barras manuales"
+msgstr "barraManual"
#. Documentation/user/programming-interface.itely:196 (variable)
msgid "AltOn"
-msgstr ""
+msgstr "varSi"
#. Documentation/user/programming-interface.itely:201 (variable)
msgid "AltOff"
-msgstr ""
+msgstr "varNo"
#. Documentation/user/programming-interface.itely:214 (variable)
msgid "withAlt"
-msgstr ""
+msgstr "variante"
#. Documentation/user/programming-interface.itely:348 (variable)
msgid "traLaLa"
-msgstr ""
+msgstr "traLaLa"
#. Documentation/user/programming-interface.itely:350 (comment)
msgid "dummy action to deal with parser lookahead"
-msgstr ""
+msgstr "acción vacía para la predicción del analizador sintáctico"
#. @node in Documentation/user/programming-interface.itely
#. @chapter in Documentation/user/programming-interface.itely
msgid "Note head styles"
msgstr "Estilos de cabezas de nota"
-#. @node in Documentation/user/notation-appendices.itely
-#. @appendixsec in Documentation/user/notation-appendices.itely
-#, fuzzy
-msgid "Text markup commands"
-msgstr "Panorámica de las instrucciones de marcado de texto"
-
-#. @node in Documentation/user/notation-appendices.itely
-#. @appendixsec in Documentation/user/notation-appendices.itely
-#, fuzzy
-msgid "Text markup list commands"
-msgstr "Panorámica de las instrucciones de listas de marcado de texto"
-
#. @node in Documentation/user/notation-appendices.itely
#. @appendixsec in Documentation/user/notation-appendices.itely
#. @node in Documentation/fr/user/notation-appendices.itely
#. @appendixsec in Documentation/fr/user/notation-appendices.itely
#. @node in Documentation/es/user/notation-appendices.itely
#. @appendixsec in Documentation/es/user/notation-appendices.itely
+#. @node in Documentation/de/user/notation-appendices.itely
+#. @appendixsec in Documentation/de/user/notation-appendices.itely
msgid "List of articulations"
msgstr "Lista de articulaciones"
#. @appendixsec in Documentation/fr/user/notation-appendices.itely
#. @node in Documentation/es/user/notation-appendices.itely
#. @appendixsec in Documentation/es/user/notation-appendices.itely
+#. @node in Documentation/de/user/notation-appendices.itely
+#. @appendixsec in Documentation/de/user/notation-appendices.itely
msgid "All context properties"
msgstr "Todas las propiedades de contexto"
#. @appendixsec in Documentation/fr/user/notation-appendices.itely
#. @node in Documentation/es/user/notation-appendices.itely
#. @appendixsec in Documentation/es/user/notation-appendices.itely
+#. @node in Documentation/de/user/notation-appendices.itely
+#. @appendixsec in Documentation/de/user/notation-appendices.itely
msgid "Layout properties"
msgstr "Propiedades de disposición"
#. @appendixsec in Documentation/fr/user/notation-appendices.itely
#. @node in Documentation/es/user/notation-appendices.itely
#. @appendixsec in Documentation/es/user/notation-appendices.itely
+#. @node in Documentation/de/user/notation-appendices.itely
+#. @appendixsec in Documentation/de/user/notation-appendices.itely
msgid "Identifiers"
msgstr "Identificadores"
#. @appendixsec in Documentation/fr/user/notation-appendices.itely
#. @node in Documentation/es/user/notation-appendices.itely
#. @appendixsec in Documentation/es/user/notation-appendices.itely
+#. @node in Documentation/de/user/notation-appendices.itely
+#. @appendixsec in Documentation/de/user/notation-appendices.itely
msgid "Scheme functions"
msgstr "Funciones de Scheme"
msgid "Font selection"
msgstr "Selección de la tipografía"
-#. @node in Documentation/fr/user/vocal.itely
-#. @subsection in Documentation/fr/user/vocal.itely
-msgid "TODO subsection vocal music"
-msgstr "Música vocal"
-
-#. @node in Documentation/fr/user/vocal.itely
-#. @unnumberedsubsubsec in Documentation/fr/user/vocal.itely
-#. @node in Documentation/es/user/vocal.itely
-#. @subsubsection in Documentation/es/user/vocal.itely
-#. @node in Documentation/de/user/vocal.itely
-#. @subsubsection in Documentation/de/user/vocal.itely
-msgid "Another way of entering lyrics"
-msgstr "Otra manera de introducir la letra"
-
-#. @node in Documentation/fr/user/vocal.itely
-#. @unnumberedsubsubsec in Documentation/fr/user/vocal.itely
-#. @node in Documentation/es/user/vocal.itely
-#. @subsubsection in Documentation/es/user/vocal.itely
-#. @node in Documentation/de/user/vocal.itely
-#. @subsubsection in Documentation/de/user/vocal.itely
-msgid "Assigning more than one syllable to a single note"
-msgstr "Asignación de varias sílabas a una sola nota"
-
-#. @node in Documentation/fr/user/vocal.itely
-#. @unnumberedsubsubsec in Documentation/fr/user/vocal.itely
-#. @node in Documentation/es/user/vocal.itely
-#. @subsubsection in Documentation/es/user/vocal.itely
-#. @node in Documentation/de/user/vocal.itely
-#. @subsubsection in Documentation/de/user/vocal.itely
-msgid "More than one note on a single syllable"
-msgstr "Varias notas sobre una sola sílaba"
-
-#. @node in Documentation/fr/user/vocal.itely
-#. @unnumberedsubsubsec in Documentation/fr/user/vocal.itely
-msgid "Working with lyrics and identifiers"
-msgstr "Trabajar con el texto y los identificadores"
-
-#. @node in Documentation/fr/user/vocal.itely
-#. @unnumberedsubsubsec in Documentation/fr/user/vocal.itely
-#. @node in Documentation/es/user/vocal.itely
-#. @subsection in Documentation/es/user/vocal.itely
-#. @node in Documentation/de/user/vocal.itely
-#. @subsection in Documentation/de/user/vocal.itely
-msgid "Flexibility in placement"
-msgstr "Flexibilidad en la colocación"
+#. @subsubheading in Documentation/fr/user/vocal.itely
+msgid "Mélismes dans certaines strophes seulement"
+msgstr ""
-#. @node in Documentation/fr/user/vocal.itely
-#. @unnumberedsubsubsec in Documentation/fr/user/vocal.itely
-#. @node in Documentation/es/user/vocal.itely
-#. @subsubsection in Documentation/es/user/vocal.itely
-#. @node in Documentation/de/user/vocal.itely
-#. @subsubsection in Documentation/de/user/vocal.itely
-msgid "Lyrics to multiple notes of a melisma"
-msgstr "Una sílaba de la letra sobre varias notas de un melisma"
+#. @subsubheading in Documentation/fr/user/vocal.itely
+msgid "Basculer vers une mélodie alternative"
+msgstr ""
-#. @node in Documentation/fr/user/vocal.itely
-#. @unnumberedsubsubsec in Documentation/fr/user/vocal.itely
-#. @node in Documentation/es/user/vocal.itely
-#. @subsubsection in Documentation/es/user/vocal.itely
-#. @node in Documentation/de/user/vocal.itely
-#. @subsubsection in Documentation/de/user/vocal.itely
-msgid "Switching the melody associated with a lyrics line"
-msgstr "Cambiar la melodía dependiendo de la letra"
+#. @node in Documentation/fr/user/keyboards.itely
+#. @subsubsection in Documentation/fr/user/keyboards.itely
+#. @node in Documentation/es/user/keyboards.itely
+#. @subsubsection in Documentation/es/user/keyboards.itely
+#. @node in Documentation/de/user/keyboards.itely
+#. @subsubsection in Documentation/de/user/keyboards.itely
+msgid "The piano staff"
+msgstr "El sistema de piano"
-#. @node in Documentation/fr/user/vocal.itely
-#. @unnumberedsubsubsec in Documentation/fr/user/vocal.itely
-#. @node in Documentation/es/user/vocal.itely
-#. @subsubsection in Documentation/es/user/vocal.itely
-#. @node in Documentation/de/user/vocal.itely
-#. @subsubsection in Documentation/de/user/vocal.itely
-msgid "Spacing lyrics"
-msgstr "Espaciar las sílabas de la letra"
+#. @node in Documentation/fr/user/unfretted-strings.itely
+#. @subsection in Documentation/fr/user/unfretted-strings.itely
+msgid "Orchestral strings sections"
+msgstr "Secciones orquestales de cuerda"
-#. @node in Documentation/fr/user/vocal.itely
-#. @unnumberedsubsubsec in Documentation/fr/user/vocal.itely
-#. @node in Documentation/es/user/vocal.itely
-#. @subsection in Documentation/es/user/vocal.itely
-#. @node in Documentation/de/user/vocal.itely
-#. @subsection in Documentation/de/user/vocal.itely
-msgid "More about stanzas"
-msgstr "Más acerca de los versos"
+#. @node in Documentation/fr/user/fretted-strings.itely
+#. @subsection in Documentation/fr/user/fretted-strings.itely
+msgid "Guitar sections"
+msgstr "Secciones de guitarra"
-#. @unnumberedsubsubsec in Documentation/fr/user/vocal.itely
-#. @node in Documentation/es/user/vocal.itely
-#. @subsubsection in Documentation/es/user/vocal.itely
-#. @node in Documentation/de/user/vocal.itely
-#. @subsubsection in Documentation/de/user/vocal.itely
-msgid "Adding dynamics marks"
-msgstr "Añadir expresiones dinámicas"
+#. @node in Documentation/fr/user/fretted-strings.itely
+#. @unnumberedsubsubsec in Documentation/fr/user/fretted-strings.itely
+#. @node in Documentation/es/user/fretted-strings.itely
+#. @subsubsection in Documentation/es/user/fretted-strings.itely
+#. @node in Documentation/de/user/fretted-strings.itely
+#. @unnumberedsubsubsec in Documentation/de/user/fretted-strings.itely
+msgid "Tablatures basic"
+msgstr "Fundamentos de las tablaturas"
-#. @unnumberedsubsubsec in Documentation/fr/user/vocal.itely
-#. @node in Documentation/es/user/vocal.itely
-#. @subsubsection in Documentation/es/user/vocal.itely
-#. @node in Documentation/de/user/vocal.itely
-#. @subsubsection in Documentation/de/user/vocal.itely
-msgid "Adding singer names"
-msgstr "Añadir el nombre de los cantantes"
+# ¡Distintos a la guitarra!. FVD
+#. @node in Documentation/fr/user/fretted-strings.itely
+#. @unnumberedsubsubsec in Documentation/fr/user/fretted-strings.itely
+#. @node in Documentation/es/user/fretted-strings.itely
+#. @subsubsection in Documentation/es/user/fretted-strings.itely
+#. @node in Documentation/de/user/fretted-strings.itely
+#. @unnumberedsubsubsec in Documentation/de/user/fretted-strings.itely
+msgid "Non-guitar tablatures"
+msgstr "Tablaturas para otros instrumentos"
# long! FVD
-#. @node in Documentation/fr/user/vocal.itely
-#. @unnumberedsubsubsec in Documentation/fr/user/vocal.itely
-msgid "Other vocal issues"
-msgstr "Otros temas relacionados con la música vocal"
-
-#. @node in Documentation/fr/user/chords.itely
-#. @section in Documentation/fr/user/chords.itely
-#. @node in Documentation/de/user/simultaneous.itely
-#. @unnumberedsubsubsec in Documentation/de/user/simultaneous.itely
-msgid "Chords"
-msgstr "Acordes"
-
-#. @node in Documentation/fr/user/chords.itely
-#. @subsection in Documentation/fr/user/chords.itely
-msgid "Chords sections"
-msgstr "Secciones de acordes"
-
-#. @node in Documentation/fr/user/chords.itely
-#. @unnumberedsubsubsec in Documentation/fr/user/chords.itely
-#. @node in Documentation/es/user/chords.itely
-#. @subsubsection in Documentation/es/user/chords.itely
-#. @node in Documentation/de/user/chords.itely
-#. @unnumberedsubsubsec in Documentation/de/user/chords.itely
-msgid "Chords mode"
-msgstr "Modo de acordes"
-
-#. @node in Documentation/fr/user/piano.itely
-#. @section in Documentation/fr/user/piano.itely
-#. @node in Documentation/es/user/piano.itely
-#. @section in Documentation/es/user/piano.itely
-#. @node in Documentation/de/user/piano.itely
-#. @section in Documentation/de/user/piano.itely
-msgid "Piano music"
-msgstr "Música de piano"
-
-#. @node in Documentation/fr/user/piano.itely
-#. @subsection in Documentation/fr/user/piano.itely
-#. @node in Documentation/es/user/piano.itely
-#. @subsection in Documentation/es/user/piano.itely
-msgid "Piano sections"
-msgstr "Secciones de piano"
-
-#. @node in Documentation/fr/user/piano.itely
-#. @unnumberedsubsubsec in Documentation/fr/user/piano.itely
-#. @node in Documentation/es/user/piano.itely
-#. @subsubsection in Documentation/es/user/piano.itely
-#. @node in Documentation/de/user/piano.itely
-#. @unnumberedsubsubsec in Documentation/de/user/piano.itely
-msgid "Automatic staff changes"
-msgstr "Cambios de pentagrama automáticos"
-
-#. @node in Documentation/fr/user/piano.itely
-#. @unnumberedsubsubsec in Documentation/fr/user/piano.itely
-#. @node in Documentation/es/user/piano.itely
-#. @subsubsection in Documentation/es/user/piano.itely
-#. @node in Documentation/de/user/piano.itely
-#. @unnumberedsubsubsec in Documentation/de/user/piano.itely
-msgid "Manual staff switches"
-msgstr "Cambios de pentagrama manuales"
-
-#. @node in Documentation/fr/user/piano.itely
-#. @unnumberedsubsubsec in Documentation/fr/user/piano.itely
-#. @node in Documentation/es/user/piano.itely
-#. @subsubsection in Documentation/es/user/piano.itely
-#. @node in Documentation/de/user/piano.itely
-#. @unnumberedsubsubsec in Documentation/de/user/piano.itely
-msgid "Pedals"
-msgstr "Pedales"
-
-#. @node in Documentation/fr/user/piano.itely
-#. @unnumberedsubsubsec in Documentation/fr/user/piano.itely
-#. @node in Documentation/es/user/piano.itely
-#. @subsubsection in Documentation/es/user/piano.itely
-#. @node in Documentation/de/user/piano.itely
-#. @unnumberedsubsubsec in Documentation/de/user/piano.itely
-msgid "Staff switch lines"
-msgstr "Líneas de cambio de pentagrama"
-
-#. @node in Documentation/fr/user/piano.itely
-#. @unnumberedsubsubsec in Documentation/fr/user/piano.itely
-#. @node in Documentation/es/user/piano.itely
-#. @subsubsection in Documentation/es/user/piano.itely
-#. @node in Documentation/de/user/piano.itely
-#. @unnumberedsubsubsec in Documentation/de/user/piano.itely
-msgid "Cross staff stems"
-msgstr "Plicas de pentagrama cruzado"
+#. @node in Documentation/fr/user/fretted-strings.itely
+#. @unnumberedsubsubsec in Documentation/fr/user/fretted-strings.itely
+#. @node in Documentation/es/user/fretted-strings.itely
+#. @subsubsection in Documentation/es/user/fretted-strings.itely
+#. @node in Documentation/de/user/fretted-strings.itely
+#. @unnumberedsubsubsec in Documentation/de/user/fretted-strings.itely
+msgid "Other guitar issues"
+msgstr "Otros temas relacionados con la música de guitarra"
#. @node in Documentation/fr/user/percussion.itely
#. @subsection in Documentation/fr/user/percussion.itely
msgid "Entering percussion"
msgstr "Introducir la percusión"
-#. @node in Documentation/fr/user/guitar.itely
-#. @subsection in Documentation/fr/user/guitar.itely
-msgid "Guitar sections"
-msgstr "Secciones de guitarra"
-
-#. @node in Documentation/fr/user/guitar.itely
-#. @unnumberedsubsubsec in Documentation/fr/user/guitar.itely
-#. @node in Documentation/es/user/guitar.itely
-#. @subsubsection in Documentation/es/user/guitar.itely
-#. @node in Documentation/de/user/guitar.itely
-#. @unnumberedsubsubsec in Documentation/de/user/guitar.itely
-msgid "Tablatures basic"
-msgstr "Fundamentos de las tablaturas"
-
-# ¡Distintos a la guitarra!. FVD
-#. @node in Documentation/fr/user/guitar.itely
-#. @unnumberedsubsubsec in Documentation/fr/user/guitar.itely
-#. @node in Documentation/es/user/guitar.itely
-#. @subsubsection in Documentation/es/user/guitar.itely
-#. @node in Documentation/de/user/guitar.itely
-#. @unnumberedsubsubsec in Documentation/de/user/guitar.itely
-msgid "Non-guitar tablatures"
-msgstr "Tablaturas para otros instrumentos"
-
-# long! FVD
-#. @node in Documentation/fr/user/guitar.itely
-#. @unnumberedsubsubsec in Documentation/fr/user/guitar.itely
-#. @node in Documentation/es/user/guitar.itely
-#. @subsubsection in Documentation/es/user/guitar.itely
-#. @node in Documentation/de/user/guitar.itely
-#. @unnumberedsubsubsec in Documentation/de/user/guitar.itely
-msgid "Other guitar issues"
-msgstr "Otros temas relacionados con la música de guitarra"
-
-#. @node in Documentation/fr/user/strings.itely
-#. @section in Documentation/fr/user/strings.itely
-#. @node in Documentation/es/user/strings.itely
-#. @section in Documentation/es/user/strings.itely
-#. @node in Documentation/de/user/strings.itely
-#. @section in Documentation/de/user/strings.itely
-msgid "Orchestral strings"
-msgstr "Cuerdas orquestales"
-
-#. @node in Documentation/fr/user/strings.itely
-#. @subsection in Documentation/fr/user/strings.itely
-msgid "Orchestral strings sections"
-msgstr "Secciones orquestales de cuerda"
-
-#. @node in Documentation/fr/user/bagpipes.itely
-#. @subsection in Documentation/fr/user/bagpipes.itely
-#. @node in Documentation/es/user/bagpipes.itely
-#. @subsection in Documentation/es/user/bagpipes.itely
-#. @node in Documentation/de/user/bagpipes.itely
-#. @subsection in Documentation/de/user/bagpipes.itely
+#. @node in Documentation/fr/user/wind.itely
+#. @subsection in Documentation/fr/user/wind.itely
+#. @node in Documentation/es/user/wind.itely
+#. @subsection in Documentation/es/user/wind.itely
+#. @node in Documentation/de/user/wind.itely
+#. @subsection in Documentation/de/user/wind.itely
msgid "Bagpipe"
msgstr "Gaita"
+#. @node in Documentation/fr/user/chords.itely
+#. @subsection in Documentation/fr/user/chords.itely
+msgid "Chords sections"
+msgstr "Secciones de acordes"
+
+#. @node in Documentation/fr/user/chords.itely
+#. @unnumberedsubsubsec in Documentation/fr/user/chords.itely
+#. @node in Documentation/es/user/chords.itely
+#. @subsubsection in Documentation/es/user/chords.itely
+#. @node in Documentation/de/user/chords.itely
+#. @unnumberedsubsubsec in Documentation/de/user/chords.itely
+msgid "Chords mode"
+msgstr "Modo de acordes"
+
#. @node in Documentation/fr/user/ancient.itely
#. @subsection in Documentation/fr/user/ancient.itely
#. @node in Documentation/es/user/ancient.itely
msgid "Automatic notation"
msgstr "Notación automática"
-#. @node in Documentation/fr/user/notation-appendices.itely
-#. @appendixsec in Documentation/fr/user/notation-appendices.itely
-#. @node in Documentation/es/user/notation-appendices.itely
-#. @appendixsec in Documentation/es/user/notation-appendices.itely
-msgid "Overview of text markup commands"
-msgstr "Panorámica de las instrucciones de marcado de texto"
-
-#. @node in Documentation/fr/user/notation-appendices.itely
-#. @appendixsec in Documentation/fr/user/notation-appendices.itely
-#. @node in Documentation/es/user/notation-appendices.itely
-#. @appendixsec in Documentation/es/user/notation-appendices.itely
-msgid "Overview of text markup list commands"
-msgstr "Panorámica de las instrucciones de listas de marcado de texto"
-
#. @subsubheading in Documentation/es/user/macros.itexi
msgid "Instrucciones predefinidas"
msgstr "Instrucciones predefinidas"
msgid "Automatic behaviour"
msgstr "Comportamiento automático"
+#. @rglos in Documentation/es/user/working.itely
+msgid "baritone"
+msgstr "barítono"
+
#. @top in Documentation/es/user/lilypond.tely
msgid "GNU LilyPond --- El tipografiador de música"
msgstr "GNU LilyPond --- El tipografiador de música"
#. @rglos in Documentation/es/user/pitches.itely
-msgid "quarter-tone"
-msgstr "cuarto de tono"
+msgid "semitone"
+msgstr "semitono"
#. @rglos in Documentation/es/user/expressive.itely
msgid "marcato"
msgid "broken chord"
msgstr "acorde quebrado"
-#. @node in Documentation/es/user/vocal.itely
-#. @subsection in Documentation/es/user/vocal.itely
-#. @node in Documentation/de/user/vocal.itely
-#. @subsection in Documentation/de/user/vocal.itely
-msgid "Simple lyrics"
-msgstr "Letras sencillas"
-
-#. @node in Documentation/es/user/vocal.itely
-#. @subsection in Documentation/es/user/vocal.itely
-#. @node in Documentation/de/user/vocal.itely
-#. @subsection in Documentation/de/user/vocal.itely
-msgid "Vocals and variables"
-msgstr "Variables y partes vocales"
+#. @node in Documentation/es/user/repeats.itely
+#. @subsection in Documentation/es/user/repeats.itely
+#. @node in Documentation/de/user/repeats.itely
+#. @subsection in Documentation/de/user/repeats.itely
+msgid "Writing long repeats"
+msgstr "Escribir repeticiones largas"
-#. @node in Documentation/es/user/vocal.itely
-#. @subsection in Documentation/es/user/vocal.itely
-#. @node in Documentation/de/user/vocal.itely
-#. @subsection in Documentation/de/user/vocal.itely
-msgid "Spacing vocals"
-msgstr "Espaciado de la letra"
+#. @node in Documentation/es/user/repeats.itely
+#. @subsubsection in Documentation/es/user/repeats.itely
+msgid "Written-out repeats"
+msgstr "Repeticiones explícitas"
-#. @node in Documentation/es/user/chords.itely
-#. @section in Documentation/es/user/chords.itely
-#. @node in Documentation/de/user/chords.itely
-#. @section in Documentation/de/user/chords.itely
-msgid "Chords Blah"
-msgstr "Acordes"
+#. @node in Documentation/es/user/unfretted-strings.itely
+#. @subsection in Documentation/es/user/unfretted-strings.itely
+#. @node in Documentation/de/user/unfretted-strings.itely
+#. @subsection in Documentation/de/user/unfretted-strings.itely
+msgid "Orchestral strings TODO"
+msgstr "Cuerdas orquestales"
-#. @node in Documentation/es/user/chords.itely
-#. @subsection in Documentation/es/user/chords.itely
-#. @node in Documentation/de/user/chords.itely
-#. @subsection in Documentation/de/user/chords.itely
-msgid "TODO chords fix"
-msgstr "Acordes"
+#. @node in Documentation/es/user/fretted-strings.itely
+#. @subsection in Documentation/es/user/fretted-strings.itely
+#. @node in Documentation/de/user/fretted-strings.itely
+#. @subsection in Documentation/de/user/fretted-strings.itely
+msgid "Guitar TODO"
+msgstr "Guitarra"
#. @node in Documentation/es/user/percussion.itely
#. @subsection in Documentation/es/user/percussion.itely
msgid "TODO percussion node fix"
msgstr "Percusión"
-#. @node in Documentation/es/user/guitar.itely
-#. @subsection in Documentation/es/user/guitar.itely
-#. @node in Documentation/de/user/guitar.itely
-#. @subsection in Documentation/de/user/guitar.itely
-msgid "Guitar TODO"
-msgstr "Guitarra"
-
-#. @node in Documentation/es/user/strings.itely
-#. @subsection in Documentation/es/user/strings.itely
-#. @node in Documentation/de/user/strings.itely
-#. @subsection in Documentation/de/user/strings.itely
-msgid "Orchestral strings TODO"
-msgstr "Cuerdas orquestales"
-
#. @top in Documentation/de/user/lilypond-learning.tely
msgid "GNU LilyPond -- Handbuch zum Lernen"
msgstr "GNU LilyPond --- manual de aprendizaje"
msgid "legato"
msgstr "legato"
-#. @rglos in Documentation/de/user/tutorial.itely
-msgid "acciacccatura"
-msgstr "acciacccatura"
-
#. @node in Documentation/de/user/templates.itely
#. @appendixsec in Documentation/de/user/templates.itely
msgid "Lilypond-book templates"
msgid "GNU LilyPond -- Das Notationsprogramm"
msgstr "GNU LilyPond --- el tipografiador de música"
-#. @node in Documentation/de/user/piano.itely
-#. @subsection in Documentation/de/user/piano.itely
-msgid "TODO piano node fix"
-msgstr "Piano"
+#. @node in Documentation/de/user/simultaneous.itely
+#. @unnumberedsubsubsec in Documentation/de/user/simultaneous.itely
+msgid "Chords"
+msgstr "Acordes"
+
+#. @node in Documentation/de/user/vocal.itely
+#. @subsection in Documentation/de/user/vocal.itely
+msgid "Simple lyrics"
+msgstr "Letras sencillas"
+
+#. @node in Documentation/de/user/vocal.itely
+#. @subsubsection in Documentation/de/user/vocal.itely
+msgid "Another way of entering lyrics"
+msgstr "Otra manera de introducir la letra"
+
+#. @node in Documentation/de/user/vocal.itely
+#. @subsubsection in Documentation/de/user/vocal.itely
+msgid "Assigning more than one syllable to a single note"
+msgstr "Asignación de varias sílabas a una sola nota"
+
+#. @node in Documentation/de/user/vocal.itely
+#. @subsubsection in Documentation/de/user/vocal.itely
+msgid "More than one note on a single syllable"
+msgstr "Varias notas sobre una sola sílaba"
+
+#. @node in Documentation/de/user/vocal.itely
+#. @subsection in Documentation/de/user/vocal.itely
+msgid "Vocals and variables"
+msgstr "Variables y partes vocales"
+
+#. @node in Documentation/de/user/vocal.itely
+#. @subsection in Documentation/de/user/vocal.itely
+msgid "Flexibility in placement"
+msgstr "Flexibilidad en la colocación"
+
+#. @node in Documentation/de/user/vocal.itely
+#. @subsubsection in Documentation/de/user/vocal.itely
+msgid "Lyrics to multiple notes of a melisma"
+msgstr "Una sílaba de la letra sobre varias notas de un melisma"
+
+#. @node in Documentation/de/user/vocal.itely
+#. @subsubsection in Documentation/de/user/vocal.itely
+msgid "Switching the melody associated with a lyrics line"
+msgstr "Cambiar la melodía dependiendo de la letra"
+
+#. @node in Documentation/de/user/vocal.itely
+#. @subsection in Documentation/de/user/vocal.itely
+msgid "Spacing vocals"
+msgstr "Espaciado de la letra"
+
+#. @node in Documentation/de/user/vocal.itely
+#. @subsubsection in Documentation/de/user/vocal.itely
+msgid "Spacing lyrics"
+msgstr "Espaciar las sílabas de la letra"
+
+#. @node in Documentation/de/user/vocal.itely
+#. @subsection in Documentation/de/user/vocal.itely
+msgid "More about stanzas"
+msgstr "Más acerca de los versos"
+
+#. @node in Documentation/de/user/vocal.itely
+#. @subsubsection in Documentation/de/user/vocal.itely
+msgid "Adding dynamics marks"
+msgstr "Añadir expresiones dinámicas"
+
+#. @node in Documentation/de/user/vocal.itely
+#. @subsubsection in Documentation/de/user/vocal.itely
+msgid "Adding singer names"
+msgstr "Añadir el nombre de los cantantes"
+
+#. @section in Documentation/de/user/chords.itely
+msgid "Chords notation"
+msgstr "Notación de acordes"
+
+#. @node in Documentation/de/user/chords.itely
+#. @subsection in Documentation/de/user/chords.itely
+msgid "TODO chords fix"
+msgstr "Acordes"
msgid "Up:"
msgstr "Arriba:"
msgid "Table of Contents"
msgstr "Índice general"
-#~ msgid "Introducing chord names"
-#~ msgstr "Escritura de los nombres de acorde"
-
-#~ msgid "Overview of text entry"
-#~ msgstr "Panorámica de la escritura de textos"
-
-#~ msgid "Special text concerns"
-#~ msgstr "Asuntos de texto especiales"
-
-#~ msgid "Bagpipe sections"
-#~ msgstr "Secciones de gaita"
-
-#~ msgid "Saving typing with identifiers and functions"
-#~ msgstr "Ahorrar tecleo mediante identificadores y funciones"
-
-#~ msgid "Putting it all together"
-#~ msgstr "Juntándolo todo"
-
-#~ msgid "Score is a single musical expression"
-#~ msgstr "La partitura es una sola expresión musical"
-
-#~ msgid "An orchestral part"
-#~ msgstr "Una particella orquestal"
-
-# Fuzzy.FVD
-#~ msgid "Easy Notation note heads"
-#~ msgstr "Cabezas de notas de Notación Fácil"
-
-#~ msgid "Special noteheads"
-#~ msgstr "Cabezas de nota especiales"
DEST_INFO_IMAGES_SUBDIR = Documentation/user
endif
-STEPMAKE_TEMPLATES=tex texinfo omf documentation
+STEPMAKE_TEMPLATES=texinfo omf documentation
OMF_FILES += $(outdir)/lilypond-internals.html.omf
LOCALSTEPMAKE_TEMPLATES=lilypond ly
## unused
$(outdir)/interfaces.itexi: dummy
cd $(outdir) && lilypond $(top-src-dir)/ly/generate-interface-doc
+
+.SECONDARY:
@menu
* Interpretation contexts::
-* The \override command::
+* Explaining the Internals Reference::
+* Modifying properties::
+* Common properties::
+* Advanced tweaks::
+* old The \override command::
* Discussion of specific tweaks::
@end menu
@menu
* Contexts explained::
* Creating contexts::
-* Changing context properties on the fly::
* Modifying context plug-ins::
-* Layout tunings within contexts::
* Changing context default settings::
* Defining new contexts::
* Aligning contexts::
-* Vertical grouping of grobs::
@end menu
@node Contexts explained
@subsection Contexts explained
-When music is printed, a lot of notational elements must be added to the
-output. For example, compare the input and output of the following example:
-
-@lilypond[quote,verbatim,relative=2,fragment]
-cis4 cis2. g4
-@end lilypond
-
-The input is rather sparse, but in the output, bar lines, accidentals,
-clef, and time signature are added. LilyPond @emph{interprets} the
-input. During this step, the musical information is inspected in time
-order, similar to reading a score from left to right. While reading
-the input, the program remembers where measure boundaries are, and which
-pitches require explicit accidentals. This information can be presented on
-several levels. For example, the effect of an accidental is limited
-to a single staff, while a bar line must be synchronized across the
-entire score.
-
-Within LilyPond, these rules and bits of information are grouped in
-@emph{Contexts}. Some examples of contexts are @code{Voice},
-@code{Staff}, and @code{Score}. They are hierarchical, for
-example: a @code{Staff} can contain many @code{Voice}s, and a
-@code{Score} can contain many @code{Staff} contexts.
-
-@quotation
-@sourceimage{context-example,5cm,,}
-@end quotation
-
-Each context has the responsibility for enforcing some notation rules,
-creating some notation objects and maintaining the associated
-properties. For example, the @code{Voice} context may introduce an
-accidental and then the @code{Staff} context maintains the rule to
-show or suppress the accidental for the remainder of the measure. The
-synchronization of bar lines is handled at @code{Score} context.
-
-However, in some music we may not want the bar lines to be
-synchronized -- consider a polymetric score in 4/4 and 3/4 time. In
-such cases, we must modify the default settings of the @code{Score}
-and @code{Staff} contexts.
-
-For very simple scores, contexts are created implicitly, and you need
-not be aware of them. For larger pieces, such as anything with more
-than one staff, they must be
-created explicitly to make sure that you get as many staves as you
-need, and that they are in the correct order. For typesetting pieces
-with specialized notation, it can be useful to modify existing or
-to define new contexts.
-
-
-A complete description of all available contexts is in the program
-reference, see
-@ifhtml
-@rinternals{Contexts}.
-@end ifhtml
-@ifnothtml
-Translation @expansion{} Context.
-@end ifnothtml
+>> > > - list of contexts: my *danger unmaintainable*
+>> > > alarm just went off. I'm
+
+I knew it would... And leaving out some of them is perfectly fine
+with me.
+I do think that a list like this, with the main contexts and a
+brief
+description of what they do (perhaps also with a note about what
+default
+behavior is associated with each of them, but this may be
+unmanageable),
+should be there, and then we could simply list the remaining ones
+without
+further explanation and with links to the IR.
+
+
+The Master Of All Contexts
+==========================
+
+ * Score
+ This is the top level notation context. No other context
+can
+ contain a Score context. This context handles the
+ administration of time signatures. It also makes sure that
+ items such as clefs, time signatures, and key-signatures
+are
+ aligned across staves.
+ You cannot explicitly instantiate a Score context (since
+it is
+ not contained in any other context). It is instantiated
+ automatically when an output definition (a \score or
+\layout
+ block) is processed.
+ (it should also be made clear somewhere what the
+difference is between
+ \score and \Score).
+
+Top-level contexts: Staff containers
+====================================
+ * StaffGroup
+ Groups staves while adding a bracket on the left side,
+ grouping the staves together. The bar lines of the
+contained
+ staves are connected vertically. StaffGroup only consists
+of a
+ collection of staves, with a bracket in front and spanning
+bar
+ lines.
+ * ChoirStaff
+ Identical to StaffGroup except that the contained staves
+are
+ not connected vertically.
+ * GrandStaff
+ A group of staves, with a brace on the left side, grouping
+the
+ staves together. The bar lines of the contained staves are
+ connected vertically.
+ * PianoStaff
+ Just like GrandStaff but with a forced distance between
+the
+ staves, so cross staff beaming and slurring can be used.
+ * DrumStaff
+ Handles typesetting for percussion. Can contain DrumVoice
+ * InnerStaffGroup
+ * InnerChoirStaff
+
+Staff-level contexts
+====================
+ * Staff
+ Handles clefs, bar lines, keys, accidentals. It can
+contain
+ Voice contexts.
+ * RhythmicStaff
+ Like Staff but for printing rhythms. Pitches are
+ ignored; the notes are printed on one line.
+ * TabStaff
+ Context for generating tablature. By default lays the
+music
+ expression out as a guitar tablature, printed on six
+lines.
+ * VaticanaStaff
+ Same as Staff, except that it is accommodated for
+ typesetting a piece in gregorian style.
+ * MensuralStaff
+ Same as Staff, except that it is accommodated for
+ typesetting a piece in mensural style.
+
+Voice-level (bottom) contexts
+=============================
+What is generated by default here? The voice-level contexts
+initiate
+certain properties and start engravers.
+
+ * Voice
+ Corresponds to a voice on a staff. This context handles
+the
+ conversion of dynamic signs, stems, beams, super- and
+ subscripts, slurs, ties, and rests.
+ You have to instantiate this explicitly if you want to
+have
+ multiple voices on the same staff.
+ Bottom context.
+ * VaticanaVoice
+ Same as Voice, except that it is accommodated for
+ typesetting a piece in gregorian style.
+ * MensuralVoice
+ Same as Voice, except that it is accommodated for
+ typesetting a piece in mensural style.
+ * Lyrics
+ Corresponds to a voice with lyrics. Handles the printing
+of a
+ single line of lyrics.
+ Bottom context.
+ * DrumVoice
+ A voice on a percussion staff.
+ * FiguredBass
+
+ * ChordNames
+ Typesets chord names. This context is a `bottom' context;
+it
+ cannot contain other contexts.
+
+------------------------------
+Then the following, which I don't know what to do with:
+
+ * TabVoice
+ * GregorianTranscriptionVoice
+ * GregorianTranscriptionStaff
+
+ * FretBoards
+ Engraves fretboards from chords. Not easy... Not
+documented.
+ * NoteNames
+
+ * CueVoice Not documented
+ * Global
+ Hard coded entry point for LilyPond. Cannot be tuned.
+ * Devnull
+ Silently discards all musical information given to this
+context.
-@c [TODO: describe propagation]
@node Creating contexts
@end itemize
-@node Changing context properties on the fly
-@subsection Changing context properties on the fly
-
-@cindex properties
-@funindex \set
-@cindex changing properties
-
-Each context can have different @emph{properties}, variables contained
-in that context. They can be changed during the interpretation step.
-This is achieved by inserting the @code{\set} command in the music,
-
-@example
-\set @var{context}.@var{prop} = #@var{value}
-@end example
-
-For example,
-@lilypond[quote,verbatim,relative=2,fragment]
-R1*2
-\set Score.skipBars = ##t
-R1*2
-@end lilypond
-
-This command skips measures that have no notes. The result is that
-multi-rests are condensed. The value assigned is a Scheme object. In
-this case, it is @code{#t}, the boolean True value.
-
-If the @var{context} argument is left out, then the current bottom-most
-context (typically @code{ChordNames}, @code{Voice}, or
-@code{Lyrics}) is used. In this example,
-
-@lilypond[quote,verbatim,relative=2,fragment]
-c8 c c c
-\set autoBeaming = ##f
-c8 c c c
-@end lilypond
-
-@noindent
-the @var{context} argument to @code{\set} is left out, so automatic
-beaming is switched off in the current @rinternals{Voice}. Note that
-the bottom-most context does not always contain the property that you
-wish to change -- for example, attempting to set the @code{skipBars}
-property (of the bottom-most context, in this case @code{Voice}) will
-have no effect.
-
-@lilypond[quote,verbatim,relative=2,fragment]
-R1*2
-\set skipBars = ##t
-R1*2
-@end lilypond
-
-Contexts are hierarchical, so if a bigger context was specified, for
-example @code{Staff}, then the change would also apply to all
-@code{Voice}s in the current stave. The change is applied
-@q{on-the-fly}, during the music, so that the setting only affects the
-second group of eighth notes.
-
-@funindex \unset
-
-There is also an @code{\unset} command,
-@example
-\unset @var{context}.@var{prop}
-@end example
-
-@noindent
-which removes the definition of @var{prop}. This command removes
-the definition only if it is set in @var{context}, so
-
-@example
-\set Staff.autoBeaming = ##f
-@end example
-
-@noindent
-introduces a property setting at @code{Staff} level. The setting also
-applies to the current @code{Voice}. However,
-
-@example
-\unset Voice.autoBeaming
-@end example
-
-@noindent
-does not have any effect. To cancel this setting, the @code{\unset}
-must be specified on the same level as the original @code{\set}. In
-other words, undoing the effect of @code{Staff.autoBeaming = ##f}
-requires
-@example
-\unset Staff.autoBeaming
-@end example
-
-Like @code{\set}, the @var{context} argument does not have to be
-specified for a bottom context, so the two statements
-
-@example
-\set Voice.autoBeaming = ##t
-\set autoBeaming = ##t
-@end example
-
-@noindent
-are equivalent.
-
-
-@cindex \once
-Settings that should only apply to a single time-step can be entered
-with @code{\once}, for example in
-
-@lilypond[quote,verbatim,relative=2,fragment]
-c4
-\once \set fontSize = #4.7
-c4
-c4
-@end lilypond
-
-the property @code{fontSize} is unset automatically after the second
-note.
-
-A full description of all available context properties is in the
-program reference, see
-@ifhtml
-@rinternals{Tunable context properties}.
-@end ifhtml
-@ifnothtml
-Translation @expansion{} Tunable context properties.
-@end ifnothtml
-
-
@node Modifying context plug-ins
@subsection Modifying context plug-ins
@end lilypond
-@node Layout tunings within contexts
-@subsection Layout tunings within contexts
+@node Changing context default settings
+@subsection Changing context default settings
-Each context is responsible for creating certain types of graphical
-objects. The settings used for printing these objects are also stored by
-context. By changing these settings, the appearance of objects can be
-altered.
+The adjustments of the previous subsections (
+@ref{The \set command}, @ref{Modifying context plug-ins}, and
+@ref{Overview of modifying properties}) can also be entered
+separately from the music in the @code{\layout} block,
-The syntax for this is
+@example
+\layout @{
+ @dots{}
+ \context @{
+ \Staff
+
+ \set fontSize = #-2
+ \override Stem #'thickness = #4.0
+ \remove "Time_signature_engraver"
+ @}
+@}
+@end example
+The @code{\Staff} command brings in the existing definition of the
+staff context so that it can be modified.
+
+The statements
@example
-\override @var{context}.@var{name} #'@var{property} = #@var{value}
+\set fontSize = #-2
+\override Stem #'thickness = #4.0
+\remove "Time_signature_engraver"
@end example
-Here @var{name} is the name of a graphical object, like @code{Stem} or
-@code{NoteHead}, and @var{property} is an internal variable of the
-formatting system (@q{grob property} or @q{layout property}). The latter is a
-symbol, so it must be quoted. The subsection @ref{Constructing a
-tweak}, explains what to fill in for @var{name}, @var{property}, and
-@var{value}. Here we only discuss the functionality of this command.
+@noindent
+affect all staves in the score. Other contexts can be modified
+analogously.
-The command
+The @code{\set} keyword is optional within the @code{\layout} block, so
-@verbatim
-\override Staff.Stem #'thickness = #4.0
-@end verbatim
+@example
+\context @{
+ @dots{}
+ fontSize = #-2
+@}
+@end example
@noindent
-makes stems thicker (the default is 1.3, with staff line thickness as a
-unit). Since the command specifies @code{Staff} as context, it only
-applies to the current staff. Other staves will keep their normal
-appearance. Here we see the command in action:
-
-@lilypond[quote,verbatim,relative=2,fragment]
-c4
-\override Staff.Stem #'thickness = #4.0
-c4
-c4
-c4
-@end lilypond
+will also work.
-The @code{\override} command changes the definition of the @code{Stem}
-within the current @code{Staff}. After the command is interpreted
-all stems are thickened.
-Analogous to @code{\set}, the @var{context} argument may be left out,
-causing the default context @code{Voice} to be used. Adding
-@code{\once} applies the change during one timestep only.
-@lilypond[quote,fragment,verbatim,relative=2]
-c4
-\once \override Stem #'thickness = #4.0
-c4
-c4
-@end lilypond
+@knownissues
-The @code{\override} must be done before the object is
-started. Therefore, when altering @emph{Spanner} objects such as slurs
-or beams, the @code{\override} command must be executed at the moment
-when the object is created. In this example,
-
-@lilypond[quote,fragment,verbatim,relative=2]
-\override Slur #'thickness = #3.0
-c8[( c
-\override Beam #'thickness = #0.6
-c8 c])
-@end lilypond
-
-@noindent
-the slur is fatter but the beam is not. This is because the command for
-@code{Beam} comes after the Beam is started, so it has no effect.
-
-Analogous to @code{\unset}, the @code{\revert} command for a context
-undoes an @code{\override} command; like with @code{\unset}, it only
-affects settings that were made in the same context. In other words, the
-@code{\revert} in the next example does not do anything.
-
-@example
-\override Voice.Stem #'thickness = #4.0
-\revert Staff.Stem #'thickness
-@end example
-
-Some tweakable options are called @q{subproperties} and reside inside
-properties. To tweak those, use commands of the form
-
-@c leave this as a long long
-@example
-\override @var{context}.@var{name} #'@var{property} #'@var{subproperty} = #@var{value}
-@end example
-
-@noindent
-such as
-
-@example
-\override Stem #'details #'beamed-lengths = #'(4 4 3)
-@end example
-
-
-@seealso
-
-Internals: @rinternals{OverrideProperty}, @rinternals{RevertProperty},
-@rinternals{PropertySet}, @rinternals{Backend}, and
-@rinternals{All layout objects}.
-
-
-@knownissues
-
-The back-end is not very strict in type-checking object properties.
-Cyclic references in Scheme values for properties can cause hangs
-or crashes, or both.
-
-
-@node Changing context default settings
-@subsection Changing context default settings
-
-The adjustments of the previous subsections (@ref{Changing context
-properties on the fly}, @ref{Modifying context plug-ins}, and
-@ref{Layout tunings within contexts}) can also be entered separately
-from the music in the @code{\layout} block,
-
-@example
-\layout @{
- @dots{}
- \context @{
- \Staff
-
- \set fontSize = #-2
- \override Stem #'thickness = #4.0
- \remove "Time_signature_engraver"
- @}
-@}
-@end example
-
-The @code{\Staff} command brings in the existing definition of the
-staff context so that it can be modified.
-
-The statements
-@example
-\set fontSize = #-2
-\override Stem #'thickness = #4.0
-\remove "Time_signature_engraver"
-@end example
-
-@noindent
-affect all staves in the score. Other contexts can be modified
-analogously.
-
-The @code{\set} keyword is optional within the @code{\layout} block, so
-
-@example
-\context @{
- @dots{}
- fontSize = #-2
-@}
-@end example
-
-@noindent
-will also work.
-
-
-
-@knownissues
-
-It is not possible to collect context changes in a variable and apply
-them to a @code{\context} definition by referring to that variable.
+It is not possible to collect context changes in a variable and apply
+them to a @code{\context} definition by referring to that variable.
The @code{\RemoveEmptyStaffContext} will overwrite your current
@code{\Staff} settings. If you wish to change the defaults for a
@}
@end example
+TODO: add \with in here.
+
+
@node Defining new contexts
@subsection Defining new contexts
@end lilypond
-@node Vertical grouping of grobs
-@subsection Vertical grouping of grobs
-
-The VerticalAlignment and VerticalAxisGroup grobs work together.
-VerticalAxisGroup groups together different grobs like Staff, Lyrics,
-etc. VerticalAlignment then vertically aligns the different grobs
-grouped together by VerticalAxisGroup. There is usually only one
-VerticalAlignment per score but every Staff, Lyrics, etc. has its own
-VerticalAxisGroup.
-
-
-@node The \override command
-@section The @code{\override} command
-
-In the previous section, we have already touched on a command that
-changes layout details: the @code{\override} command. In this section,
-we will look in more detail at how to use the command in practice. The
-general syntax of this command is:
-
-@example
-\override @var{context}.@var{layout_object} #'@var{layout_property} = #@var{value}
-@end example
+@node Explaining the Internals Reference
+@section Explaining the Internals Reference
-This will set the @var{layout_property} of the specified @var{layout_object},
-which is a member of the @var{context}, to the @var{value}.
@menu
-* Constructing a tweak::
* Navigating the program reference::
* Layout interfaces::
* Determining the grob property::
-* Objects connected to the input::
-* Using Scheme code instead of \tweak::
-* \set versus \override::
-* Difficult tweaks::
+* Naming conventions::
@end menu
-
-
-@node Constructing a tweak
-@subsection Constructing a tweak
-
-Commands which change output generally look like
-
-@example
-\override Voice.Stem #'thickness = #3.0
-@end example
-
-@noindent
-To construct this tweak we must determine these bits of information:
-
-@itemize
-@item the context: here @code{Voice}.
-@item the layout object: here @code{Stem}.
-@item the layout property: here @code{thickness}.
-@item a sensible value: here @code{3.0}.
-@end itemize
-
-Some tweakable options are called @q{subproperties} and reside inside
-properties. To tweak those, use commands in the form
-
-@example
-\override Stem #'details #'beamed-lengths = #'(4 4 3)
-@end example
-
-@cindex internal documentation
-@cindex finding graphical objects
-@cindex graphical object descriptions
-@cindex tweaking
-@funindex \override
-@cindex internal documentation
-
-For many properties, regardless of the data type of the property, setting the
-property to false ( @code{##f} ) will result in turning it off, causing
-LilyPond to ignore that property entirely. This is particularly useful for
-turning off grob properties which may otherwise be causing problems.
-
-We demonstrate how to glean this information from the notation manual
-and the program reference.
-
-
-
-
@node Navigating the program reference
@subsection Navigating the program reference
@end quotation
-@node Objects connected to the input
-@subsection Objects connected to the input
-
-@funindex \tweak
-
-In some cases, it is possible to take a short-cut for tuning graphical
-objects. For objects that result directly from a piece of the input,
-you can use the @code{\tweak} function, for example
-
-@lilypond[relative=2,fragment,verbatim,ragged-right]
-<
- c
- \tweak #'color #red d
- g
- \tweak #'duration-log #1 a
->4-\tweak #'padding #10 -.
-@end lilypond
+@node Naming conventions
+@subsection Naming conventions
-As you can see, properties are set in the objects directly,
-without mentioning the grob name or context where this should be
-applied.
+Another thing that is needed, is an overview of the various naming
+conventions:
-This technique only works for objects that are directly connected to
-an @rinternals{Event} from the input, for example
+ scheme functions: lowercase-with-hyphens (incl. one-word
+names)
+ scheme functions: ly:plus-scheme-style
+ music events, music classes and music properties:
+as-scheme-functions
+ Grob interfaces: scheme-style
+ backend properties: scheme-style (but X and Y!)
+ contexts (and MusicExpressions and grobs): Capitalized or
+CamelCase
+ context properties: lowercaseFollowedByCamelCase
+ engravers:
+Capitalized_followed_by_lowercase_and_with_underscores
-@itemize
-@item note heads, caused by chord-pitch (i.e., notes inside a chord)
-@item articulation signs, caused by articulation instructions
-@end itemize
+Which of these are conventions and which are rules?
+Which are rules of the underlying language, and which are
+LP-specific?
-It notably does not work for stems and accidentals (these are caused
-by note heads, not by music events) or clefs (these are not caused by
-music inputs, but rather by the change of a property value).
-There are very few objects which are @emph{directly} connected to
-output. A normal note (like @code{c4}) is not directly connected
-to output, so
+@node Modifying properties
+@section Modifying properties
-@example
-\tweak #'color #red c4
-@end example
+@menu
+* Overview of modifying properties::
+* The \set command::
+* The \override command::
+* \set versus \override::
+* Objects connected to the input::
+@end menu
-@noindent
-does not change color. See @ref{Displaying music expressions}, for
-details.
+@node Overview of modifying properties
+@subsection Overview of modifying properties
-@node Using Scheme code instead of \tweak
-@subsection Using Scheme code instead of @code{\tweak}
+Each context is responsible for creating certain types of graphical
+objects. The settings used for printing these objects are also stored by
+context. By changing these settings, the appearance of objects can be
+altered.
-The main disadvantage of @code{\tweak} is its syntactical
-inflexibility. For example, the following produces a syntax error.
+The syntax for this is
@example
-F = \tweak #'font-size #-3 -\flageolet
-
-\relative c'' @{
- c4^\F c4_\F
-@}
+\override @var{context}.@var{name} #'@var{property} = #@var{value}
@end example
-@noindent
-With other words, @code{\tweak} doesn't behave like an articulation
-regarding the syntax; in particular, it can't be attached with
-@code{^} and @code{_}.
+Here @var{name} is the name of a graphical object, like
+@code{Stem} or @code{NoteHead}, and @var{property} is an internal
+variable of the formatting system (@q{grob property} or @q{layout
+property}). The latter is a symbol, so it must be quoted. The
+subsection @ref{Modifying properties}, explains what to fill in
+for @var{name}, @var{property}, and @var{value}. Here we only
+discuss the functionality of this command.
-Using Scheme, this problem can be circumvented. The route to the
-result is given in @ref{Adding articulation to notes (example)},
-especially how to use @code{\displayMusic} as a helping guide.
+The command
-@example
-F = #(let ((m (make-music 'ArticulationEvent
- 'articulation-type "flageolet")))
- (set! (ly:music-property m 'tweaks)
- (acons 'font-size -3
- (ly:music-property m 'tweaks)))
- m)
-
-\relative c'' @{
- c4^\F c4_\F
-@}
-@end example
+@verbatim
+\override Staff.Stem #'thickness = #4.0
+@end verbatim
@noindent
-Here, the @code{tweaks} properties of the flageolet object
-@code{m} (created with @code{make-music}) are extracted with
-@code{ly:music-property}, a new key-value pair to change the
-font size is prepended to the property list with the
-@code{acons} Scheme function, and the result is finally
-written back with @code{set!}. The last element of the
-@code{let} block is the return value, @code{m} itself.
+makes stems thicker (the default is 1.3, with staff line thickness as a
+unit). Since the command specifies @code{Staff} as context, it only
+applies to the current staff. Other staves will keep their normal
+appearance. Here we see the command in action:
+@lilypond[quote,verbatim,relative=2,fragment]
+c4
+\override Staff.Stem #'thickness = #4.0
+c4
+c4
+c4
+@end lilypond
-@node \set versus \override
-@subsection @code{\set} vs. @code{\override}
+The @code{\override} command changes the definition of the @code{Stem}
+within the current @code{Staff}. After the command is interpreted
+all stems are thickened.
-We have seen two methods of changing properties: @code{\set} and
-@code{\override}. There are actually two different kinds of
-properties.
+Analogous to @code{\set}, the @var{context} argument may be left out,
+causing the default context @code{Voice} to be used. Adding
+@code{\once} applies the change during one timestep only.
-Contexts can have properties, which are usually named in
-@code{studlyCaps}. They mostly control the translation from
-music to notation, eg. @code{localKeySignature} (for determining
+@lilypond[quote,fragment,verbatim,relative=2]
+c4
+\once \override Stem #'thickness = #4.0
+c4
+c4
+@end lilypond
+
+The @code{\override} must be done before the object is
+started. Therefore, when altering @emph{Spanner} objects such as slurs
+or beams, the @code{\override} command must be executed at the moment
+when the object is created. In this example,
+
+@lilypond[quote,fragment,verbatim,relative=2]
+\override Slur #'thickness = #3.0
+c8[( c
+\override Beam #'thickness = #0.6
+c8 c])
+@end lilypond
+
+@noindent
+the slur is fatter but the beam is not. This is because the command for
+@code{Beam} comes after the Beam is started, so it has no effect.
+
+Analogous to @code{\unset}, the @code{\revert} command for a context
+undoes an @code{\override} command; like with @code{\unset}, it only
+affects settings that were made in the same context. In other words, the
+@code{\revert} in the next example does not do anything.
+
+@example
+\override Voice.Stem #'thickness = #4.0
+\revert Staff.Stem #'thickness
+@end example
+
+Some tweakable options are called @q{subproperties} and reside inside
+properties. To tweak those, use commands of the form
+
+@c leave this as a long long
+@example
+\override @var{context}.@var{name} #'@var{property} #'@var{subproperty} = #@var{value}
+@end example
+
+@noindent
+such as
+
+@example
+\override Stem #'details #'beamed-lengths = #'(4 4 3)
+@end example
+
+
+@seealso
+
+Internals: @rinternals{OverrideProperty}, @rinternals{RevertProperty},
+@rinternals{PropertySet}, @rinternals{Backend}, and
+@rinternals{All layout objects}.
+
+
+@knownissues
+
+The back-end is not very strict in type-checking object properties.
+Cyclic references in Scheme values for properties can cause hangs
+or crashes, or both.
+
+
+
+@node The \set command
+@subsection The @code{\set} command
+
+@cindex properties
+@funindex \set
+@cindex changing properties
+
+Each context can have different @emph{properties}, variables contained
+in that context. They can be changed during the interpretation step.
+This is achieved by inserting the @code{\set} command in the music,
+
+@example
+\set @var{context}.@var{prop} = #@var{value}
+@end example
+
+For example,
+@lilypond[quote,verbatim,relative=2,fragment]
+R1*2
+\set Score.skipBars = ##t
+R1*2
+@end lilypond
+
+This command skips measures that have no notes. The result is that
+multi-rests are condensed. The value assigned is a Scheme object. In
+this case, it is @code{#t}, the boolean True value.
+
+If the @var{context} argument is left out, then the current bottom-most
+context (typically @code{ChordNames}, @code{Voice}, or
+@code{Lyrics}) is used. In this example,
+
+@lilypond[quote,verbatim,relative=2,fragment]
+c8 c c c
+\set autoBeaming = ##f
+c8 c c c
+@end lilypond
+
+@noindent
+the @var{context} argument to @code{\set} is left out, so automatic
+beaming is switched off in the current @rinternals{Voice}. Note that
+the bottom-most context does not always contain the property that you
+wish to change -- for example, attempting to set the @code{skipBars}
+property (of the bottom-most context, in this case @code{Voice}) will
+have no effect.
+
+@lilypond[quote,verbatim,relative=2,fragment]
+R1*2
+\set skipBars = ##t
+R1*2
+@end lilypond
+
+Contexts are hierarchical, so if a bigger context was specified, for
+example @code{Staff}, then the change would also apply to all
+@code{Voice}s in the current stave. The change is applied
+@q{on-the-fly}, during the music, so that the setting only affects the
+second group of eighth notes.
+
+@funindex \unset
+
+There is also an @code{\unset} command,
+@example
+\unset @var{context}.@var{prop}
+@end example
+
+@noindent
+which removes the definition of @var{prop}. This command removes
+the definition only if it is set in @var{context}, so
+
+@example
+\set Staff.autoBeaming = ##f
+@end example
+
+@noindent
+introduces a property setting at @code{Staff} level. The setting also
+applies to the current @code{Voice}. However,
+
+@example
+\unset Voice.autoBeaming
+@end example
+
+@noindent
+does not have any effect. To cancel this setting, the @code{\unset}
+must be specified on the same level as the original @code{\set}. In
+other words, undoing the effect of @code{Staff.autoBeaming = ##f}
+requires
+@example
+\unset Staff.autoBeaming
+@end example
+
+Like @code{\set}, the @var{context} argument does not have to be
+specified for a bottom context, so the two statements
+
+@example
+\set Voice.autoBeaming = ##t
+\set autoBeaming = ##t
+@end example
+
+@noindent
+are equivalent.
+
+
+@cindex \once
+Settings that should only apply to a single time-step can be entered
+with @code{\once}, for example in
+
+@lilypond[quote,verbatim,relative=2,fragment]
+c4
+\once \set fontSize = #4.7
+c4
+c4
+@end lilypond
+
+the property @code{fontSize} is unset automatically after the second
+note.
+
+A full description of all available context properties is in the
+program reference, see
+@ifhtml
+@rinternals{Tunable context properties}.
+@end ifhtml
+@ifnothtml
+Translation @expansion{} Tunable context properties.
+@end ifnothtml
+
+
+
+@node The \override command
+@subsection The @code{\override} command
+
+Commands which change output generally look like
+
+@example
+\override Voice.Stem #'thickness = #3.0
+@end example
+
+@noindent
+To construct this tweak we must determine these bits of information:
+
+@itemize
+@item the context: here @code{Voice}.
+@item the layout object: here @code{Stem}.
+@item the layout property: here @code{thickness}.
+@item a sensible value: here @code{3.0}.
+@end itemize
+
+Some tweakable options are called @q{subproperties} and reside inside
+properties. To tweak those, use commands in the form
+
+@example
+\override Stem #'details #'beamed-lengths = #'(4 4 3)
+@end example
+
+@cindex internal documentation
+@cindex finding graphical objects
+@cindex graphical object descriptions
+@cindex tweaking
+@funindex \override
+@cindex internal documentation
+
+For many properties, regardless of the data type of the property, setting the
+property to false ( @code{##f} ) will result in turning it off, causing
+LilyPond to ignore that property entirely. This is particularly useful for
+turning off grob properties which may otherwise be causing problems.
+
+We demonstrate how to glean this information from the notation manual
+and the program reference.
+
+
+@node \set versus \override
+@subsection @code{\set} vs. @code{\override}
+
+We have seen two methods of changing properties: @code{\set} and
+@code{\override}. There are actually two different kinds of
+properties.
+
+Contexts can have properties, which are usually named in
+@code{studlyCaps}. They mostly control the translation from
+music to notation, eg. @code{localKeySignature} (for determining
whether to print accidentals), @code{measurePosition} (for
determining when to print a bar line). Context properties can
change value over time while interpreting a piece of music;
property (modified with @code{\set}) was created.
-@node Difficult tweaks
-@subsection Difficult tweaks
-
-There are a few classes of difficult adjustments.
+@node Objects connected to the input
+@subsection Objects connected to the input
-@itemize
+TODO: can't use \tweak in a variable
+@funindex \tweak
-@item
-One type of difficult adjustment is the appearance of spanner objects,
-such as slur and tie. Initially, only one of these objects is created,
-and they can be adjusted with the normal mechanism. However, in some
-cases the spanners cross line breaks. If this happens, these objects
-are cloned. A separate object is created for every system that it is
-in. These are clones of the original object and inherit all
-properties, including @code{\override}s.
+In some cases, it is possible to take a short-cut for tuning graphical
+objects. For objects that result directly from a piece of the input,
+you can use the @code{\tweak} function, for example
+@lilypond[relative=2,fragment,verbatim,ragged-right]
+<
+ c
+ \tweak #'color #red d
+ g
+ \tweak #'duration-log #1 a
+>4-\tweak #'padding #10 -.
+@end lilypond
-In other words, an @code{\override} always affects all pieces of a
-broken spanner. To change only one part of a spanner at a line break,
-it is necessary to hook into the formatting process. The
-@code{after-line-breaking} callback contains the Scheme procedure that
-is called after the line breaks have been determined, and layout
-objects have been split over different systems.
+As you can see, properties are set in the objects directly,
+without mentioning the grob name or context where this should be
+applied.
-In the following example, we define a procedure
-@code{my-callback}. This procedure
+This technique only works for objects that are directly connected to
+an @rinternals{Event} from the input, for example
@itemize
-@item
-determines if we have been split across line breaks
-@item
-if yes, retrieves all the split objects
-@item
-checks if we are the last of the split objects
-@item
-if yes, it sets @code{extra-offset}.
+@item note heads, caused by chord-pitch (i.e., notes inside a chord)
+@item articulation signs, caused by articulation instructions
@end itemize
-This procedure is installed into @rinternals{Tie}, so the last part
-of the broken tie is translated up.
-
-@lilypond[quote,verbatim,ragged-right]
-#(define (my-callback grob)
- (let* (
- ; have we been split?
- (orig (ly:grob-original grob))
-
- ; if yes, get the split pieces (our siblings)
- (siblings (if (ly:grob? orig)
- (ly:spanner-broken-into orig) '() )))
-
- (if (and (>= (length siblings) 2)
- (eq? (car (last-pair siblings)) grob))
- (ly:grob-set-property! grob 'extra-offset '(-2 . 5)))))
-
-\relative c'' {
- \override Tie #'after-line-breaking =
- #my-callback
- c1 ~ \break c2 ~ c
-}
-@end lilypond
-
-@noindent
-When applying this trick, the new @code{after-line-breaking} callback
-should also call the old one @code{after-line-breaking}, if there is
-one. For example, if using this with @code{Hairpin},
-@code{ly:hairpin::after-line-breaking} should also be called.
-
+It notably does not work for stems and accidentals (these are caused
+by note heads, not by music events) or clefs (these are not caused by
+music inputs, but rather by the change of a property value).
-@item Some objects cannot be changed with @code{\override} for
-technical reasons. Examples of those are @code{NonMusicalPaperColumn}
-and @code{PaperColumn}. They can be changed with the
-@code{\overrideProperty} function, which works similar to @code{\once
-\override}, but uses a different syntax.
+There are very few objects which are @emph{directly} connected to
+output. A normal note (like @code{c4}) is not directly connected
+to output, so
@example
-\overrideProperty
-#"Score.NonMusicalPaperColumn" % Grob name
-#'line-break-system-details % Property name
-#'((next-padding . 20)) % Value
+\tweak #'color #red c4
@end example
-Note, however, that @code{\override}, applied to
-@code{NoteMusicalPaperColumn} and @code{PaperColumn}, still works as
-expected within @code{\context} blocks.
-
-@end itemize
-
-
+@noindent
+does not change color. See @ref{Displaying music expressions}, for
+details.
-
-@node Discussion of specific tweaks
-@section Discussion of specific tweaks
+@node Common properties
+@section Common properties
@menu
-* Line styles::
* Controlling visibility of objects::
+* Line styles::
+* Rotating objects::
+* Aligning objects::
@end menu
+@node Controlling visibility of objects
+@subsection Controlling visibility of objects
+
+
@node Line styles
@subsection Line styles
@rinternals{line-spanner-interface}.
+@node Rotating objects
+@subsection Rotating objects
+
+@node Aligning objects
+@subsection Aligning objects
+
+
+@node Advanced tweaks
+@section Advanced tweaks
+
+@menu
+* Vertical grouping of grobs::
+* Modifying ends of spanners::
+* Modifying stencils::
+@end menu
+
+
+
+
+@node Vertical grouping of grobs
+@subsection Vertical grouping of grobs
+
+The VerticalAlignment and VerticalAxisGroup grobs work together.
+VerticalAxisGroup groups together different grobs like Staff, Lyrics,
+etc. VerticalAlignment then vertically aligns the different grobs
+grouped together by VerticalAxisGroup. There is usually only one
+VerticalAlignment per score but every Staff, Lyrics, etc. has its own
+VerticalAxisGroup.
+
+
+@node Modifying ends of spanners
+@subsection Modifying ends of spanners
+
+
+@node Modifying stencils
+@subsection Modifying stencils
+
+
+
+@node old The \override command
+@section old The @code{\override} command
+
+In the previous section, we have already touched on a command that
+changes layout details: the @code{\override} command. In this section,
+we will look in more detail at how to use the command in practice. The
+general syntax of this command is:
+
+@example
+\override @var{context}.@var{layout_object} #'@var{layout_property} = #@var{value}
+@end example
+
+This will set the @var{layout_property} of the specified @var{layout_object},
+which is a member of the @var{context}, to the @var{value}.
+
+
+
+
+
+@node Discussion of specific tweaks
+@section Discussion of specific tweaks
+
+@menu
+* old Contexts explained::
+@end menu
+
+
+@node old Contexts explained
+@subsection old Contexts explained
+
+When music is printed, a lot of notational elements must be added to the
+output. For example, compare the input and output of the following example:
+
+@lilypond[quote,verbatim,relative=2,fragment]
+cis4 cis2. g4
+@end lilypond
+
+The input is rather sparse, but in the output, bar lines, accidentals,
+clef, and time signature are added. LilyPond @emph{interprets} the
+input. During this step, the musical information is inspected in time
+order, similar to reading a score from left to right. While reading
+the input, the program remembers where measure boundaries are, and which
+pitches require explicit accidentals. This information can be presented on
+several levels. For example, the effect of an accidental is limited
+to a single staff, while a bar line must be synchronized across the
+entire score.
+
+Within LilyPond, these rules and bits of information are grouped in
+@emph{Contexts}. Some examples of contexts are @code{Voice},
+@code{Staff}, and @code{Score}. They are hierarchical, for
+example: a @code{Staff} can contain many @code{Voice}s, and a
+@code{Score} can contain many @code{Staff} contexts.
+
+@quotation
+@sourceimage{context-example,5cm,,}
+@end quotation
+
+Each context has the responsibility for enforcing some notation rules,
+creating some notation objects and maintaining the associated
+properties. For example, the @code{Voice} context may introduce an
+accidental and then the @code{Staff} context maintains the rule to
+show or suppress the accidental for the remainder of the measure. The
+synchronization of bar lines is handled at @code{Score} context.
+
+However, in some music we may not want the bar lines to be
+synchronized -- consider a polymetric score in 4/4 and 3/4 time. In
+such cases, we must modify the default settings of the @code{Score}
+and @code{Staff} contexts.
+
+For very simple scores, contexts are created implicitly, and you need
+not be aware of them. For larger pieces, such as anything with more
+than one staff, they must be
+created explicitly to make sure that you get as many staves as you
+need, and that they are in the correct order. For typesetting pieces
+with specialized notation, it can be useful to modify existing or
+to define new contexts.
+
+
+A complete description of all available contexts is in the program
+reference, see
+@ifhtml
+@rinternals{Contexts}.
+@end ifhtml
+@ifnothtml
+Translation @expansion{} Context.
+@end ifnothtml
+
+@c [TODO: describe propagation]
-@node Controlling visibility of objects
-@subsection Controlling visibility of objects
-stuff about #'break-visibility
@node Chord notation
@section Chord notation
-Intro text.
+Chords can be entered in chord mode, which recognizes some
+traditional European chord naming conventions. Chord names can also
+be displayed. In addition, figured bass notation can be displayed.
@menu
-* Modern chords::
-* Figured bass::
+* Chord mode::
+* Displaying chords::
+* old Modern chords::
+* Figured bass::
@end menu
-@node Modern chords
-@subsection Modern chords
+@node Chord mode
+@subsection Chord mode
+
+@cindex chord chords
@menu
-* Chord modes::
-* Entering chord names::
-* Building chords::
-* Lead sheets::
-* Printing chord names::
+* Chord mode overview::
+* Common chords::
+* Extended and altered chords::
@end menu
-@cindex chords
+@node Chord mode overview
+@unnumberedsubsubsec Chord mode overview
+
@cindex chord names
+@cindex chord mode
-@node Chord modes
-@subsubsection Chord modes
+Chords can be entered as simultaneous music, as discussed in
+@ref{Chorded notes}.
-In popular music it is common to denote accompaniment with chord
-names. Such chords can be entered like notes,
+@c need to decide about @qq{FOO mode} or @emph{} or whatever.
+Chords can also be entered in @qq{chord mode}, which is an input
+mode that focuses on the structures of chords in traditional
+European music, rather than on specific pitches. This is
+convenient for those who are familiar with using chord names to
+describe chords. More information on different input modes can be
+found at @ref{Input modes}.
-@lilypond[verbatim,quote,ragged-right]
+@lilypond[verbatim,quote,ragged-right,relative=1]
+\chordmode { c1 g a g c }
+@end lilypond
+
+Chords entered using chord mode are music elements, and can be
+transposed just like chords entered using simultaneous music.
+
+@seealso
+
+Music Glossary:
+@rglos{chord}.
+
+Notation Reference:
+@ref{Chorded notes},
+@ref{Input modes}.
+
+Snippets:
+@rlsr{Chords}
+
+@node Common chords
+@unnumberedsubsubsec Common chords
+
+@cindex triads
+@cindex seventh chords
+@cindex root of chord
+@cindex modifiers, in chords.
+@cindex chord quality
+
+Major triads are entered by including the root and a duration:
+
+@lilypond[verbatim,quote,relative=1,ragged-right]
\chordmode { c2 f4. g8 }
@end lilypond
-Now each pitch is read as the root of a chord instead of a note.
-This mode is switched on with @code{\chordmode}. Other chords can
-be created by adding modifiers after a colon. The following
-example shows a few common modifiers:
+Minor, augmented, and diminished triads are entered by placing
+@code{:} and a quality modifier string after the duration:
-@lilypond[verbatim,quote,ragged-right]
-\chordmode { c2 f4:m g4:maj7 gis1:dim7 }
+@lilypond[verbatim,quote,ragged-right,relative=1]
+\chordmode { c2:m f4:aug g4:dim }
@end lilypond
-@cindex Chords mode
+Seventh chords are created by adding the number 7 at the beginning
+of the modifier string (for the dominant seventh chord) or after the
+quality modifier (for the other named seventh chords).
-In chord mode sets of pitches (chords) are entered with normal note
-names. A chord is entered by the root, which is entered like a
-normal pitch
+@lilypond[quote,ragged-right,fragment,verbatim,relative=1]
+\chordmode { c1:7 c:m7 c:maj7 c:dim c:dim7 c:aug7 c:maj }
+@end lilypond
+
+@funindex aug
+@funindex dim
+@funindex maj
+@funindex m
+
+The table belows shows the actions of the quality modifiers on
+triads and seventh chords.
+
+@table @code
+
+@item m
+The minor chord. This modifier lowers the 3rd and (if present) the
+7th step.
+
+@item dim
+The diminished chord. This modifier lowers the 3rd, 5th and (if
+present) the 7th step.
+
+@item aug
+The augmented chord. This modifier raises the 5th step.
+
+@item maj
+The major 7th chord. This modifier adds a raised 7th step. The
+@code{7} following @code{maj} is optional. Do NOT use this modifier
+to create a major triad.
+
+@end table
+
+@seealso
+
+Snippets:
+@rlsr{Chords}
+
+@node Extended and altered chords
+@unnumberedsubsubsec Extended and altered chords
+
+@cindex extended chords
+@cindex altered chords
+
+Chord structures of arbitrary complexity can be created in chord
+mode. The modifier string can be used to extend a chord, add or
+remove chord steps, raise or lower chord steps, and add a bass note
+or create an inversion.
+
+The first number following the @code{:} is taken to be the extent of
+the chord. The chord is constructed by sequentially adding thirds
+to the root until the specified number has been reached. If the
+extent is not a third (e.g., 6), thirds are added up to the highest
+third below the extent, and then the step of the extent is added.
+
+@lilypond[quote,ragged-right,fragment,verbatim,relative=1]
+\chordmode { c1:3 c:5 c:6 c:7 c:8 c:9 c:10 c:11 }
+@end lilypond
+
+Since an unaltered 11 does not sound good when combined with an
+unaltered 13, the 11 is removed from a @code{:13} chord (unless it
+is added explicitly).
+
+@lilypond[quote,ragged-right,fragment,verbatim,relative=1]
+\chordmode { c1:13 c:13.11 c:m13 }
+@end lilypond
+
+@cindex additions, in chords
+
+Individual steps can be added to a chord. Additions follow the
+extent and are prefixed by a dot (@code{.}).
+
+@lilypond[quote,verbatim,fragment,relative=1]
+\chordmode { c1:5.6 c:3.7.8 c:3.6.13 }
+@end lilypond
+
+@cindex chord steps, altering
+
+Added chord steps can be altered by suffixing a @code{-} or @code{+}
+sign to the number. To alter a step that is lower than the extent,
+add it as an altered step.
+
+@lilypond[quote,verbatim,fragment,relative=1]
+\chordmode { c1:7+ c:5+.3- c:3-.5-.7- }
+@end lilypond
+
+@cindex removals, in chords
+
+@funindex ^
+
+A step to be removed from the chord must come at the end of a
+modifier string and be by @code{^}. Only one removal with @code{^}
+is allowed in a modifier string.
+
+@lilypond[quote,verbatim,fragment,relative=1]
+\chordmode { c1^3 c:7^5 c:9^3.5 }
+@end lilypond
+
+@funindex sus
+
+The modifier @code{sus} can be added to the modifier string to
+create suspended chords. This removes the 3rd step from the chord.
+Append either @code{2} or @code{4} to add the 2nd or 4th step to the
+chord.@code{sus} is equivalent to @code{^3}; @code{sus4} is
+equivalent to @code{.4^3}.
@lilypond[quote,ragged-right,fragment,verbatim]
-\chordmode { es4. d8 c2 }
+\chordmode { c1:sus c:sus2 c:sus4 c:5.4^3 }
@end lilypond
-@noindent
-The mode is introduced by the keyword @code{\chordmode}.
+It is possible to remove the 3rd step with @code{sus} and remove
+another step with @code{^} in one modifier string.
-@cindex chord entry
-@cindex chord mode
+@funindex /
+@cindex chord inversions
+@cindex bass note, for chords
-Chords is a mode similar to @code{\lyricmode}, etc. Most
-of the commands continue to work, for example, @code{r} and
-@code{\skip} can be used to insert rests and spaces, and property
-commands may be used to change various settings.
-It uses the same syntax as
-@code{\chordmode}, but renders the notes in a @code{ChordNames}
-context, with the following result:
+Inversions (putting a pitch other than the root on the bottom of the
+chord) and added bass notes can be specified by appending
+@code{/}@var{pitch} to the chord.
-@lilypond[verbatim,quote,ragged-right]
-\chords { c2 f4.:m g4.:maj7 gis8:dim7 }
+@lilypond[quote,ragged-right,fragment,verbatim, relative=2]
+\chordmode { c1 c/g c/f }
+@end lilypond
+
+@funindex /+
+
+A bass note that is part of the chord can be added, instead of
+moved as part of an inversion, by using @code{/+}@var{pitch}.
+
+@lilypond[quote,ragged-right,fragment,verbatim]
+\chordmode { c1 c/+g c/+f }
@end lilypond
+@seealso
+
+Snippets:
+@rlsr{Chords}
@knownissues
Each step can only be present in a chord once. The following
-simply produces the augmented chord, since @code{5+} is interpreted
-last
-@cindex clusters
+simply produces the augmented chord, since @code{5+} is
+interpreted last.
+
@lilypond[quote,ragged-right,verbatim,fragment]
-\chordmode { c:5.5-.5+ }
+\chordmode { c1:5.5-.5+ }
@end lilypond
+Only one step can be removed from a chord. If a chord with multiple
+removed steps is desired, it must be build through addition of
+multiple steps.
-@node Entering chord names
-@subsubsection Entering chord names
+
+@node Displaying chords
+@subsection Displaying chords
+
+
+
+@menu
+* Printing chord names::
+@end menu
+
+@node Printing chord names
+@unnumberedsubsubsec Printing chord names
+
+@cindex printing chord names
@cindex chord names
+@cindex chords
+@ignore
-LilyPond has support for printing chord names. Chords may be entered
-in musical chord notation, i.e., @code{< .. >}, but they can also be
-entered by name. Internally, the chords are represented as a set of
-pitches, so they can be transposed
+LilyPond has support for printing chord names. Because chords are
+music elements, they can be transposed, and the chord names will be
+transposed along with the chords.
+Chords can be entered using @code{< .. >} or through the use of
+chord mode. The displayed chord name will sometimes be different
+depending upon the entry mode:
@lilypond[quote,ragged-right,verbatim,ragged-right]
twoWays = \transpose c c' {
\new Voice \twoWays >>
@end lilypond
-This example also shows that the chord printing routines do not try to
-be intelligent. The last chord (@code{f bes d}) is not interpreted as
-an inversion.
+This example also shows that the chord printing routines cannot
+correctly identify the root of a chord if it has been entered using
+@code{< .. >} instead of named chord entry. Therefore, the sixth
+chord (@code{f bes d}) is not interpreted as an inversion. In
+contrast, the third chord, which contains the same notes as the sixth
+chord, is correctly identified because it was entered in the named
+chord mode.
-Note that the duration of chords must be specified outside the
-@code{<>}.
+For displaying printed chord names, use the @rinternals{ChordNames}
+context.
-@example
-<c e g>2
-@end example
+@lilypond[quote,verbatim,ragged-right]
+harmonies = {
+ \chordmode {a1 b c} <d' f' a'> <e' g' b'>
+}
+<<
+ \new ChordNames \harmonies
+ \new Staff \harmonies
+>>
+@end lilypond
+
+The previous examples all show chords over a staff. This is not
+necessary. Chords may also be printed separately. It may be necessary
+to add @rinternals{Volta_engraver} and @rinternals{Bar_engraver}
+for showing repeats.
+
+@lilypond[ragged-right,verbatim]
+\new ChordNames \with {
+ \override BarLine #'bar-size = #4
+ \consists Bar_engraver
+ \consists "Volta_engraver"
+}
+\chordmode { \repeat volta 2 {
+ f1:maj7 f:7 bes:7
+ c:maj7
+} \alternative {
+ es e
+}
+}
+@end lilypond
+
+@code{\chords} is a shortcut method used to change the input mode to
+@code{\chordmode} and create a @code{ChordNames} context, with the
+following result:
+
+@lilypond[verbatim,quote,ragged-right]
+\chords { c2 f4.:m g4.:maj7 gis8:dim7 }
+@end lilypond
+
+@c @predefined
+
+@c @snippets
+
+@seealso
+@c Music Glossary:
+@c @rglos{}.
+
+@c Learning Manual:
+@c @rlearning{}.
+
+@c Notation Reference:
+@c @ruser{}.
+
+@c Application Usage:
+@c @rprogram{}.
+
+@c Installed Files:
+@c @file{}.
+
+@c Snippets:
+@c @rlsr{}.
+
+@c Internals Reference:
+@c @rinternals{}.
+
+@c @knownissues
+
+
+@n ode Customizing chord names
+@u nnumberedsubsubsec Customizing chord names
+
+@cindex customizing chord names
+
+There is no unique system for naming chords. Different musical
+traditions use different names for the same set of chords. There
+are also different symbols displayed for a given chord name. The
+names and symbols displayed for chord names are customizable.
+
+The default chord name layout is a system for Jazz music, proposed
+by Klaus Ignatzek (see @ref{Literature list}). There are also two
+other chord name schemes implemented: an alternate Jazz chord
+notation, and a systematic scheme called Banter chords. The
+alternate Jazz notation is also shown on the chart in @ref{Chord
+name chart}.
+
+In addition to the different naming systems, different note names
+are used for the root in different languages. The predefined
+variables @code{\germanChords}, @code{\semiGermanChords},
+@code{\italianChords} and @code{\frenchChords} set these variables.
+The effect is demonstrated here:
+
+@lilypondfile[ragged-right]{chord-names-languages.ly}
+
+If none of the default settings give the desired output, the chord
+name display can be tuned through the following properties.
@c TODO Generate snippet based on the following
@c and add explanation -td
-Custom chord names may be generated:
+@table
+@item
+@funindex chordNameExceptions
+
+@code{chordNameExceptions} contains a list of markups used to follow
+the root note name based on the pitches in the chord. Creating the
+list requires four steps.
+
+The first step is to define sequential music that has the chords to
+be named with the desired markup (except for the root name) attached
+to the chord:
+
+@example
+FGGChordNames = @{
+ <c e g b d'>1-\markup @{ \super "maj9" @}
+ <c e g a d'>1-\markup @{ \super "6(add9)" @}
+@}
+@end example
+
+The second step is to convert the music from the first step to an
+exceptions list:
+
+@example
+FGGExceptions = #(sequential-music-to-chord-exceptions
+FGGChordNames #t)
+@end example
+
+The third step is to append the default exceptions list (in this
+case, the Ignatzek exceptions) to the newly-defined exceptions list:
+
+@example
+chExceptions = #(append FGGExceptions ignatzekExceptions)
+@end example
+
+The final step is to set @code{chordNameExceptions} to the
+newly-created exceptions list:
+
+@example
+\set chordNameExceptions = #chExceptions
+@end example
+
+The entire process is illustrated below:
@lilypond[quote,ragged-right,verbatim,ragged-right]
FGGChordNames = {
<c e g b d'>1-\markup { \super "maj9" }
<c e g a d'>1-\markup { \super "6(add9)" }
}
-chExceptions = #(append
-(sequential-music-to-chord-exceptions
-FGGChordNames #t) ignatzekExceptions)
+FGGExceptions = #(sequential-music-to-chord-exceptions
+FGGChordNames #t)
+chExceptions = #(append FGGChordNames
+ ignatzekExceptions)
chordStuff = \chordmode
{
}
@end lilypond
-@node Building chords
-@subsubsection Building chords
-Other chords may be entered by suffixing a colon and introducing a
-modifier (which may include a number if desired)
+@funindex majorSevenSymbol @item majorSevenSymbol This property
+contains the markup object used as part of the printed chord name to
+identify a major 7 chord. Predefined options are
+@code{whiteTriangleMarkup} and @code{blackTriangleMarkup}.
-@lilypond[quote,fragment,verbatim]
-\chordmode { e1:m e1:7 e1:m7 }
+@funindex chordNameSeparator
+@item chordNameSeparator
+Different parts of a chord name are normally separated by a slash.
+By setting @code{chordNameSeparator}, you can use any desired markup
+for a separator, e.g.,
+@lilypond[quote,ragged-right,fragment,verbatim]
+\new ChordNames \chordmode {
+ c:7sus4
+ \set chordNameSeparator
+ = \markup { \typewriter "|" }
+ c:7sus4
+}
@end lilypond
-The first number following the root is taken to be the @q{type} of the
-chord, thirds are added to the root until it reaches the specified
-number. The exception is @code{c:13}, for which the 11 is omitted.
+@funindex chordRootNamer
+@item chordRootNamer
+The chord name is usually printed as a letter for the root with an
+optional alteration. The transformation from pitch to letter is
+done by this function. Special note names (for example, the German
+@q{H} for a B-chord) can be produced by storing a new function in
+this property.
+
+@funindex chordNoteNamer @item chordNoteNamer When the chord name
+contains an additional pitch besides the root (e.g., an added bass
+note), this function is used to print the additional pitch. By
+default the pitch is printed using @code{chordRootNamer}. The
+@code{chordNoteNamer} property can be set to a specialized function
+to change this behavior. For example, the bass note can be printed
+in lower case.
-@lilypond[quote,fragment,verbatim]
-\chordmode { c:3 c:5 c:6 c:7 c:8 c:9 c:10 c:11 c:13 }
-@end lilypond
+@funindex chordPrefixSpacer
+@item chordPrefixSpacer
+The @q{m} for minor chords is usually printed immediately to the
+right of the root of the chord. By setting
+@code{chordPrefixSpacer}, you can fix a spacer between the root and
+@q{m}. The spacer is not used when the root is altered.
-@cindex root of chord
-@cindex additions, in chords
-@cindex removals, in chords
+@end table
-More complex chords may also be constructed adding separate steps
-to a chord. Additions are added after the number following
-the colon and are separated by dots
-@lilypond[quote,verbatim,fragment]
-\chordmode { c:5.6 c:3.7.8 c:3.6.13 }
-@end lilypond
-Chord steps can be altered by suffixing a @code{-} or @code{+} sign
-to the number
-@lilypond[quote,verbatim,fragment]
-\chordmode { c:7+ c:5+.3- c:3-.5-.7- }
-@end lilypond
+@cindex Banter
+@cindex jazz chords
+@cindex chords, jazz
-Removals are specified similarly and are introduced by a caret. They
-must come after the additions
+@predefined
+@funindex major seven symbols
+@code{\whiteTriangleMarkup}
+@code{\blackTriangleMarkup}
+@funindex \germanChords
+@code{\germanChords},
+@funindex \semiGermanChords
+@code{\semiGermanChords},
+@funindex \italianChords
+@code{\italianChords},
+@funindex \frenchChords
+@code{\frenchChords}.
-@lilypond[quote,verbatim,fragment]
-\chordmode { c^3 c:7^5 c:9^3.5 }
-@end lilypond
-Modifiers can be used to change pitches. The following modifiers are
-supported
+@snippets
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+{chord-names-jazz.ly}
-@table @code
-@item m
-The minor chord. This modifier lowers the 3rd and (if present) the 7th step.
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+{chord-name-exceptions.ly}
+@cindex exceptions, chord names.
-@item dim
-The diminished chord. This modifier lowers the 3rd, 5th and (if present)
-the 7th step.
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+{chord-name-major7.ly}
-@item aug
-The augmented chord. This modifier raises the 5th step.
+@seealso
+@c Music Glossary:
+@c @rglos{}.
-@item maj
-The major 7th chord. This modifier raises the 7th step if present.
+@c Learning Manual:
+@c @rlearning{}.
-@item sus
-The suspended 4th or 2nd. This modifier removes the 3rd
-step. Append either @code{2} or @code{4} to add the 2nd or 4th step to
-the chord.
-@end table
+@c Notation Reference:
+@c @ruser{}.
-Modifiers can be mixed with additions
-@lilypond[quote,verbatim,fragment]
- \chordmode { c:sus4 c:7sus4 c:dim7 c:m6 }
-@end lilypond
+@c Application Usage:
+@c @rprogram{}.
-@cindex modifiers, in chords.
-@funindex aug
-@funindex dim
-@funindex maj
-@funindex sus
-@funindex m
+Installed Files:
+@file{scm/@/chords@/-ignatzek@/.scm},
+@file{scm/@/chord@/-entry@/.scm},
+@file{ly/@/chord@/-modifier@/-init@/.ly}.
-Since an unaltered 11 does not sound good when combined with an
-unaltered 13, the 11 is removed in this case (unless it is added
-explicitly)
-@lilypond[quote,ragged-right,fragment,verbatim]
-\chordmode { c:13 c:13.11 c:m13 }
+@c Snippets: @c @rlsr{}.
+
+@c Internals Reference:
+@c @rinternals{}.
+
+@knownissues
+
+When chords are entered with the @code{< .. >} syntax, the root and
+any added bass notes are not identified. In this case, chord names
+are determined solely from the list of pitches. This may result in
+strange chord names
+
+@n ode Lead sheets
+@u nnumberedsubsubsec Lead sheets
+
+@cindex lead sheet
+
+For lead sheets, chords are not printed on staves, but as names on a
+line for themselves. This is achieved by using a @code{ChordNames}
+context simultaneously with the @code{Staff} context. The
+@code{\chords} keyword can be used as a shortcut for @code{\new
+ChordNames \chordmode}.
+
+When put together, chord names, a melody, and lyrics form a lead
+sheet:
+
+@lilypond[verbatim,quote,ragged-right]
+<<
+ \chords { c2 g:sus4 f e }
+ \relative c'' {
+ a4 e c8 e r4
+ b2 c4( d)
+ }
+ \addlyrics { One day this shall be free __ }
+>>
@end lilypond
-@funindex /
+@c @predefined
-An inversion (putting one pitch of the chord on the bottom), as well
-as bass notes, can be specified by appending
-@code{/}@var{pitch} to the chord
-@lilypond[quote,ragged-right,fragment,verbatim]
-\chordmode { c1 c/g c/f }
+@c @snippets
+
+@seealso
+@c Music Glossary:
+@c @rglos{}.
+
+@c Learning Manual:
+@c @rlearning{}.
+
+@c Notation Reference:
+@c @ruser{}.
+
+@c Application Usage:
+@c @rprogram{}.
+
+@c Installed Files:
+@c @file{}.
+
+@c Snippets:
+@c @rlsr{}.
+
+@c Internals Reference:
+@c @rinternals{}.
+
+@c @knownissues
+
+
+
+
+@end ignore
+
+
+@node old Modern chords
+@subsection old Modern chords
+
+@menu
+* Entering chord names::
+* Lead sheets::
+* old Printing chord names::
+@end menu
+
+@node Entering chord names
+@subsubsection Entering chord names
+@cindex chord names
+
+LilyPond has support for printing chord names. Chords may be entered
+in musical chord notation, i.e., @code{< .. >}, but they can also be
+entered by name. Internally, the chords are represented as a set of
+pitches, so they can be transposed
+
+
+@lilypond[quote,ragged-right,verbatim,ragged-right]
+twoWays = \transpose c c' {
+ \chordmode {
+ c1 f:sus4 bes/f
+ }
+ <c e g>
+ <f bes c'>
+ <f bes d'>
+}
+
+<< \new ChordNames \twoWays
+ \new Voice \twoWays >>
@end lilypond
-@funindex /+
-A bass note can be added instead of transposed out of the chord,
-by using @code{/+}@var{pitch}.
+This example also shows that the chord printing routines do not try to
+be intelligent. The last chord (@code{f bes d}) is not interpreted as
+an inversion.
-@lilypond[quote,ragged-right,fragment,verbatim]
-\chordmode { c1 c/+g c/+f }
+Note that the duration of chords must be specified outside the
+@code{<>}.
+
+@example
+<c e g>2
+@end example
+
+@c TODO Generate snippet based on the following
+@c and add explanation -td
+
+Custom chord names may be generated:
+
+@lilypond[quote,ragged-right,verbatim,ragged-right]
+FGGChordNames = {
+ <c e g b d'>1-\markup { \super "maj9" }
+ <c e g a d'>1-\markup { \super "6(add9)" }
+}
+chExceptions = #(append
+(sequential-music-to-chord-exceptions
+FGGChordNames #t) ignatzekExceptions)
+
+chordStuff = \chordmode
+{
+% standard names
+g1:maj9
+g1:6.9
+% names with FGG's custom exceptions
+\set chordNameExceptions = #chExceptions
+g1:maj9
+g1:6.9
+}
+
+\score
+{
+\new ChordNames \chordStuff
+}
@end lilypond
+
@node Lead sheets
@subsubsection Lead sheets
-@node Printing chord names
-@subsubsection Printing chord names
+@node old Printing chord names
+@subsubsection old Printing chord names
@cindex printing chord names
@cindex chord names
@subsection Figured bass
@menu
-* Introduction to figured bass::
-* Entering figures::
-* Repeated figures::
+* Introduction to figured bass::
+* Entering figured bass::
+* Displaying figured bass::
@end menu
@node Introduction to figured bass
>>
@end lilypond
+The support for figured bass consists of two parts: there is an
+input mode, introduced by @code{\figuremode}, where you can enter
+bass figures as numbers, and there is a context named
+@rinternals{FiguredBass} that takes care of making
+@rinternals{BassFigure} objects.
+
Although the support for figured bass may superficially resemble chord
support, it is much simpler. The @code{\figuremode} mode simply
stores the numbers and @rinternals{FiguredBass} context prints them
vertical spacing of the figures may be set with @code{baseline-skip}.
-@node Entering figures
-@subsubsection Entering figures
+@menu
+* Entering figured bass::
+* Displaying figured bass::
+@end menu
+
+@node Entering figured bass
+@unnumberedsubsubsec Entering figured bass
-The support for figured bass consists of two parts: there is an input
-mode, introduced by @code{\figuremode}, where you can enter bass figures
-as numbers, and there is a context called @rinternals{FiguredBass} that
-takes care of making @rinternals{BassFigure} objects.
In figures input mode, a group of bass figures is delimited by
@code{<} and @code{>}. The duration is entered after the @code{>}
@example
-<4 6>
+<4 6>2
@end example
@lilypond[quote,ragged-right,fragment]
\new FiguredBass
-\figuremode { <4 6> }
+\figuremode { <4 6>2 }
@end lilypond
Accidentals are added when you append @code{-}, @code{!}, and @code{+}
diminished fifths and sevenths can be obtained with @code{5/} and @code{7/}.
@example
-<4- 6+ 7!> <5++> <3--> <7/> r <6\+ 5/>
+<4- 6+ 7!>3 <5++> <3--> <7/> r <6\+ 5/>
@end example
@lilypond[quote,ragged-right,fragment]
-\figures { <4- 6+ 7!> <5++> <3--> <7/> r <6\+ 5/> }
+\figures { <4- 6+ 7!>4 <5++> <3--> <7/> r <6\+ 5/> }
@end lilypond
Spaces may be inserted by using @code{_}. Brackets are
strings and text markups, see @ref{Text markup commands}.
@example
-< [4 6] 8 [_! 12] > < 5 \markup @{ \number 6 \super (1) @} >
+< [4 6] 8 [_! 12] >4 < 5 \markup @{ \number 6 \super (1) @} >
@end example
@lilypond[quote,ragged-right,fragment]
\new FiguredBass
-\figuremode { < [4 6] 8 [_! 12] > < 5 \markup{ \tiny \number 6 \super (1)} > }
+\figuremode { < [4 6] 8 [_! 12] >4 < 5 \markup{ \tiny \number 6 \super (1)} > }
@end lilypond
-@node Repeated figures
-@subsubsection Repeated figures
-
-
It is also possible to use continuation lines for repeated figures,
@lilypond[verbatim,relative=1]
}
\figures {
\set useBassFigureExtenders = ##t
- <4 6> <3 6> <3 7>
+ <4 6>4 <3 6> <3 7>
}
>>
@end lilypond
example, you can write
@example
- <4 6>8 r8
+<4 6>8 r8
@end example
@noindent
instead of
@example
- <4 6>4
+<4 6>4
@end example
Accidentals and plus signs can appear before or after the numbers,
>>
@end lilypond
+@c @predefined
-@snippets
+@c @snippets
+
+@seealso
+@c Music Glossary:
+@c @rglos{}.
+
+@c Learning Manual:
+@c @rlearning{}.
+
+@c Notation Reference:
+@c @ruser{}.
+
+@c Application Usage:
+@c @rprogram{}.
+
+@c Installed Files:
+@c @file{}.
+
+@c Snippets:
+@c @rlsr{}.
+
+@c Internals Reference:
+@c @rinternals{}.
+
+@c @knownissues
+
+@node Displaying figured bass
+@unnumberedsubsubsec Displaying figured bass
+
+Figured bass is displayed using the @code{FiguredBass} context.
+
+@c @predefined
+
+@c @snippets
+
+@seealso
+@c Music Glossary:
+@c @rglos{}.
+
+@c Learning Manual:
+@c @rlearning{}.
+
+@c Notation Reference:
+@c @ruser{}.
+
+@c Application Usage:
+@c @rprogram{}.
+
+@c Installed Files:
+@c @file{}.
+
+@c Snippets:
+@c @rlsr{}.
+
+Internals Reference:
+@rinternals{NewBassFigure},
+@rinternals{BassFigureAlignment},
+@rinternals{BassFigureLine},
+@rinternals{BassFigureBracket},
+@rinternals{BassFigureContinuation},
+@rinternals{FiguredBass}.
+
+@knownissues
By default, this method produces figures above the notes. To get
figures below the notes, use
\override Staff.BassFigureAlignmentPositioning #'direction = #DOWN
@end example
-
-@knownissues
-
When using figured bass above the staff with extender lines and
@code{implicitBassFigures} the lines may become swapped around.
Maintaining order consistently will be impossible when multiple figures
@seealso
-
-Internals Reference: @rinternals{NewBassFigure},
-@rinternals{BassFigureAlignment}, @rinternals{BassFigureLine},
-@rinternals{BassFigureBracket}, and
-@rinternals{BassFigureContinuation} objects and
-@rinternals{FiguredBass} context.
-
Font size changes are achieved by scaling the design size that is
closest to the desired size. The standard font size (for
-@code{font-size = #0}) depends on the standard staff height.
+@w{@code{font-size = #0}}) depends on the standard staff height.
For a 20pt staff, a 10pt font is selected.
The @code{font-size} property can only be set on layout objects
@cindex notation, explaining
There are two music functions, @code{balloonGrobText} and
-@code{balloonText}; the former is used like @code{\once \override} to
-attach text to any grob, and the latter is used like @code{\tweak},
-typically within chords, to attach text to an individual note.
+@code{balloonText}; the former is used like
+@w{@code{\once \override}} to attach text to any grob, and the
+latter is used like @code{\tweak}, typically within chords, to
+attach text to an individual note.
Balloon text normally influences note spacing, but this can be
altered:
to 3.1.
@menu
-* Input files::
-* Common syntax issues TODO name?::
-* Other stuffs TODO move?::
+* Input structure::
+* Useful concepts and properties::
+* Titles and headers::
+* Working with input files::
+* Controlling output::
@end menu
-@node Input files
-@section Input files
+@node Input structure
+@section Input structure
The main format of input for LilyPond are text files. By convention,
these files end with @code{.ly}.
@menu
-* File structure::
-* A single music expression::
+* Structure of a score::
* Multiple scores in a book::
-* Extracting fragments of notation::
-* Including LilyPond files::
-* Text encoding::
-* Different editions from one source::
+* File structure::
@end menu
+@node Structure of a score
+@subsection Structure of a score
+
+A @code{\score} must contain a single music expression. However,
+this music expression may be of any size. Recall that music
+expressions may be included inside other expressions to form
+larger expressions. All of these examples are single music
+expressions; note the curly braces @{ @} or angle brackets <<
+>> at the beginning and ending of the music.
+
+@example
+@{ c'4 c' c' c' @}
+@end example
+
+@lilypond[ragged-right,verbatim,quote]
+{
+ { c'4 c' c' c'}
+ { d'4 d' d' d'}
+}
+@end lilypond
+
+@lilypond[ragged-right,verbatim,quote]
+<<
+ \new Staff { c'4 c' c' c' }
+ \new Staff { d'4 d' d' d' }
+>>
+@end lilypond
+
+@example
+@{
+ \new GrandStaff <<
+ \new StaffGroup <<
+ \new Staff @{ \flute @}
+ \new Staff @{ \oboe @}
+ >>
+ \new StaffGroup <<
+ \new Staff @{ \violinI @}
+ \new Staff @{ \violinII @}
+ >>
+ >>
+@}
+@end example
+
+
+@node Multiple scores in a book
+@subsection Multiple scores in a book
+
+@funindex \book
+@cindex movements, multiple
+
+A document may contain multiple pieces of music and texts. Examples
+of these are an etude book, or an orchestral part with multiple
+movements. Each movement is entered with a @code{\score} block,
+
+@example
+\score @{
+ @var{..music..}
+@}
+@end example
+
+and texts are entered with a @code{\markup} block,
+
+@example
+\markup @{
+ @var{..text..}
+@}
+@end example
+
+@funindex \book
+
+All the movements and texts which appear in the same @code{.ly} file
+will normally be typeset in the form of a single output file.
+
+@example
+\score @{
+ @var{..}
+@}
+\markup @{
+ @var{..}
+@}
+\score @{
+ @var{..}
+@}
+@end example
+
+However, if you want multiple output files from the same @code{.ly}
+file, then you can add multiple @code{\book} blocks, where each such
+@code{\book} block will result in a separate output. If you do not
+specify any @code{\book} block in the file, LilyPond will implicitly
+treat the full file as a single @code{\book} block, see @ref{File
+structure}. One important exception is within lilypond-book documents,
+where you explicitly have to add a @code{\book} block, otherwise only
+the first @code{\score} or @code{\markup} will appear in the output.
+
+The header for each piece of music can be put inside the @code{\score}
+block. The @code{piece} name from the header will be printed before
+each movement. The title for the entire book can be put inside the
+@code{\book}, but if it is not present, the @code{\header} which is at
+the top of the file is inserted.
+
+@example
+\header @{
+ title = "Eight miniatures"
+ composer = "Igor Stravinsky"
+@}
+\score @{
+ @dots{}
+ \header @{ piece = "Romanze" @}
+@}
+\markup @{
+ ..text of second verse..
+@}
+\markup @{
+ ..text of third verse..
+@}
+\score @{
+ @dots{}
+ \header @{ piece = "Menuetto" @}
+@}
+@end example
+
@node File structure
@subsection File structure
@end itemize
-@node A single music expression
-@subsection A single music expression
+@node Useful concepts and properties
+@section Useful concepts and properties
-A @code{\score} must contain a single music expression. However,
-this music expression may be of any size. Recall that music
-expressions may be included inside other expressions to form
-larger expressions. All of these examples are single music
-expressions; note the curly braces @{ @} or angle brackets <<
->> at the beginning and ending of the music.
-@example
-@{ c'4 c' c' c' @}
-@end example
+@menu
+* Input modes::
+* When to add a -::
+* Controlling direction and placement::
+* Distances and measurements::
+* Spanners::
+@end menu
-@lilypond[ragged-right,verbatim,quote]
-{
- { c'4 c' c' c'}
- { d'4 d' d' d'}
-}
-@end lilypond
+@node Input modes
+@subsection Input modes
-@lilypond[ragged-right,verbatim,quote]
-<<
- \new Staff { c'4 c' c' c' }
- \new Staff { d'4 d' d' d' }
->>
-@end lilypond
+\notemode
-@example
-@{
- \new GrandStaff <<
- \new StaffGroup <<
- \new Staff @{ \flute @}
- \new Staff @{ \oboe @}
- >>
- \new StaffGroup <<
- \new Staff @{ \violinI @}
- \new Staff @{ \violinII @}
- >>
- >>
-@}
-@end example
+\notemode turns the front end of LilyPond into note mode
+(which is the default parsing mode).
+It's certainly useful in certain situations, for example if you
+are in \lyricmode or \chordmode or ... and want to insert
+something that only can be done with \notemode syntax.
+
+See for example
+http://lists.gnu.org/archive/html/lilypond-user/2007-03/msg00418.html
+http://lists.gnu.org/archive/html/lilypond-user/2007-03/msg00218.html
+http://lists.gnu.org/archive/html/lilypond-user/2006-12/msg00236.html
+http://lists.gnu.org/archive/html/lilypond-user/2006-11/msg00061.html
-@node Multiple scores in a book
-@subsection Multiple scores in a book
+\chords
+\drums
+\fretmode ?
-@funindex \book
-@cindex movements, multiple
-A document may contain multiple pieces of music and texts. Examples
-of these are an etude book, or an orchestral part with multiple
-movements. Each movement is entered with a @code{\score} block,
+@node When to add a -
+@subsection When to add a -
-@example
-\score @{
- @var{..music..}
-@}
-@end example
+One of these works, the other doesn't.
-and texts are entered with a @code{\markup} block,
+@verbatim
+\version "2.11.38"
+{ c'\mp\fermata\accent-\markup { "forcefully"} }
+% { c'\mp\fermata\accent\markup { "forcefully"} }
+@end verbatim
-@example
-\markup @{
- @var{..text..}
-@}
-@end example
+@node Controlling direction and placement
+@subsection Controlling direction and placement
-@funindex \book
+TODO: everything
-All the movements and texts which appear in the same @code{.ly} file
-will normally be typeset in the form of a single output file.
+By default, LilyPond does a pretty jazz'n job of picking
+directions. But in some cases, it may be desirable to force a
+direction.
+
+@verbatim
+-
+^ _
+@end verbatim
+
+Also cover
+#UP
+#DOWN
+#LEFT
+#RIGHT.
+
+Maybe rename section to "directions".
+
+Also mention \override Foo #'direction = #'DOWN.
+
+also mention the typical \fooDown, \fooNeutral predefined commands.
+
+also mention that some directions are (without other tweaking)
+always up or always down (like dynamics or fermata), while other
+things can alternate between up or down based on the stem direction
+(like slurs or accents).
+
+
+@node Distances and measurements
+@subsection Distances and measurements
+
+DISCUSS after working on other sections.
+
+TODO: staff spaces, #UP #DOWN #LEFT #RIGHT. Maybe move into tweaks?
+
+
+@node Spanners
+@subsection Spanners
+
+
+@node Titles and headers
+@section Titles and headers
+
+Almost all printed music includes a title and the composer's name;
+some pieces include a lot more information.
+
+@menu
+* Creating titles::
+* Custom titles::
+* Reference to page numbers::
+* Table of contents::
+@end menu
+
+
+@node Creating titles
+@subsection Creating titles
+
+Titles are created for each @code{\score} block, as well as for the full
+input file (or @code{\book} block).
+
+The contents of the titles are taken from the @code{\header} blocks.
+The header block for a book supports the following
+
+
+@table @code
+@funindex dedication
+@item dedication
+The dedicatee of the music, centered at the top of the first page.
+
+@funindex title
+@item title
+The title of the music, centered just below the dedication.
+
+@funindex subtitle
+@item subtitle
+Subtitle, centered below the title.
+
+@funindex subsubtitle
+@item subsubtitle
+Subsubtitle, centered below the subtitle.
+
+@funindex poet
+@item poet
+Name of the poet, flush-left below the subtitle.
+
+@funindex composer
+@item composer
+Name of the composer, flush-right below the subtitle.
+
+@funindex meter
+@item meter
+Meter string, flush-left below the poet.
+
+@funindex opus
+@item opus
+Name of the opus, flush-right below the composer.
+
+@funindex arranger
+@item arranger
+Name of the arranger, flush-right below the opus.
+
+@funindex instrument
+@item instrument
+Name of the instrument, centered below the arranger. Also
+centered at the top of pages (other than the first page).
+
+@funindex piece
+@item piece
+Name of the piece, flush-left below the instrument.
+
+@cindex page breaks, forcing
+@funindex breakbefore
+@item breakbefore
+This forces the title to start on a new page (set to ##t or ##f).
+
+@funindex copyright
+@item copyright
+Copyright notice, centered at the bottom of the first page. To
+insert the copyright symbol, see @ref{Text encoding}.
+
+@funindex tagline
+@item tagline
+Centered at the bottom of the last page.
+
+@end table
+
+Here is a demonstration of the fields available. Note that you
+may use any @ref{Formatting text}, commands in the header.
+
+@lilypond[quote,verbatim,line-width=11.0\cm]
+\paper {
+ line-width = 9.0\cm
+ paper-height = 10.0\cm
+}
+
+\book {
+ \header {
+ dedication = "dedicated to me"
+ title = \markup \center-align { "Title first line" "Title second line,
+longer" }
+ subtitle = "the subtitle,"
+ subsubtitle = #(string-append "subsubtitle LilyPond version "
+(lilypond-version))
+ poet = "Poet"
+ composer = \markup \center-align { "composer" \small "(1847-1973)" }
+ texttranslator = "Text Translator"
+ meter = \markup { \teeny "m" \tiny "e" \normalsize "t" \large "e" \huge
+"r" }
+ arranger = \markup { \fontsize #8.5 "a" \fontsize #2.5 "r" \fontsize
+#-2.5 "r" \fontsize #-5.3 "a" \fontsize #7.5 "nger" }
+ instrument = \markup \bold \italic "instrument"
+ piece = "Piece"
+ }
+
+ \score {
+ { c'1 }
+ \header {
+ piece = "piece1"
+ opus = "opus1"
+ }
+ }
+ \markup {
+ and now...
+ }
+ \score {
+ { c'1 }
+ \header {
+ piece = "piece2"
+ opus = "opus2"
+ }
+ }
+}
+@end lilypond
+
+As demonstrated before, you can use multiple @code{\header} blocks.
+When same fields appear in different blocks, the latter is used.
+Here is a short example.
@example
-\score @{
- @var{..}
+\header @{
+ composer = "Composer"
@}
-\markup @{
- @var{..}
+\header @{
+ piece = "Piece"
@}
\score @{
- @var{..}
+ \new Staff @{ c'4 @}
+ \header @{
+ piece = "New piece" % overwrite previous one
+ @}
@}
@end example
-However, if you want multiple output files from the same @code{.ly}
-file, then you can add multiple @code{\book} blocks, where each such
-@code{\book} block will result in a separate output. If you do not
-specify any @code{\book} block in the file, LilyPond will implicitly
-treat the full file as a single @code{\book} block, see @ref{File
-structure}. One important exception is within lilypond-book documents,
-where you explicitly have to add a @code{\book} block, otherwise only
-the first @code{\score} or @code{\markup} will appear in the output.
+If you define the @code{\header} inside the @code{\score} block, then
+normally only the @code{piece} and @code{opus} headers will be printed.
+Note that the music expression must come before the @code{\header}.
+
+@lilypond[quote,verbatim,line-width=11.0\cm]
+\score {
+ { c'4 }
+ \header {
+ title = "title" % not printed
+ piece = "piece"
+ opus = "opus"
+ }
+}
+@end lilypond
-The header for each piece of music can be put inside the @code{\score}
-block. The @code{piece} name from the header will be printed before
-each movement. The title for the entire book can be put inside the
-@code{\book}, but if it is not present, the @code{\header} which is at
-the top of the file is inserted.
+@funindex printallheaders
+@noindent
+You may change this behavior (and print all the headers when defining
+@code{\header} inside @code{\score}) by using
@example
-\header @{
- title = "Eight miniatures"
- composer = "Igor Stravinsky"
-@}
-\score @{
- @dots{}
- \header @{ piece = "Romanze" @}
-@}
-\markup @{
- ..text of second verse..
-@}
-\markup @{
- ..text of third verse..
+\paper@{
+ printallheaders=##t
@}
-\score @{
- @dots{}
- \header @{ piece = "Menuetto" @}
+@end example
+
+@cindex copyright
+@cindex tagline
+
+The default footer is empty, except for the first page, where the
+@code{copyright} field from @code{\header} is inserted, and the last
+page, where @code{tagline} from @code{\header} is added. The default
+tagline is @qq{Music engraving by LilyPond (@var{version})}.@footnote{Nicely
+printed parts are good PR for us, so please leave the tagline if you
+can.}
+
+Headers may be completely removed by setting them to false.
+
+@example
+\header @{
+ tagline = ##f
+ composer = ##f
@}
@end example
-@node Extracting fragments of notation
-@subsection Extracting fragments of notation
-It is possible to quote small fragments of a large score directly from
-the output. This can be compared to clipping a piece of a paper score
-with scissors.
+@node Custom titles
+@subsection Custom titles
+
+A more advanced option is to change the definitions of the following
+variables in the @code{\paper} block. The init file
+@file{ly/titling-init.ly} lists the default layout.
+
+@table @code
+@funindex bookTitleMarkup
+@item bookTitleMarkup
+ This is the title added at the top of the entire output document.
+Typically, it has the composer and the title of the piece
+
+@funindex scoreTitleMarkup
+@item scoreTitleMarkup
+ This is the title put over a @code{\score} block. Typically, it has
+the name of the movement (@code{piece} field).
+
+@funindex oddHeaderMarkup
+@item oddHeaderMarkup
+ This is the page header for odd-numbered pages.
+
+@funindex evenHeaderMarkup
+@item evenHeaderMarkup
+ This is the page header for even-numbered pages. If unspecified,
+ the odd header is used instead.
+
+ By default, headers are defined such that the page number is on the
+ outside edge, and the instrument is centered.
+
+@funindex oddFooterMarkup
+@item oddFooterMarkup
+ This is the page footer for odd-numbered pages.
+
+@funindex evenFooterMarkup
+@item evenFooterMarkup
+ This is the page footer for even-numbered pages. If unspecified,
+ the odd header is used instead.
+
+ By default, the footer has the copyright notice on the first, and
+ the tagline on the last page.
+@end table
+
+
+@cindex \paper
+@cindex header
+@cindex footer
+@cindex page layout
+@cindex titles
+
+The following definition will put the title flush left, and the
+composer flush right on a single line.
+
+@verbatim
+\paper {
+ bookTitleMarkup = \markup {
+ \fill-line {
+ \fromproperty #'header:title
+ \fromproperty #'header:composer
+ }
+ }
+}
+@end verbatim
+
+@node Reference to page numbers
+@subsection Reference to page numbers
+
+A particular place of a score can be marked using the @code{\label}
+command, either at top-level or inside music. This label can then be
+referred to in a markup, to get the number of the page where the marked
+point is placed, using the @code{\page-ref} markup command.
+
+@lilypond[verbatim,line-width=11.0\cm]
+\header { tagline = ##f }
+\book {
+ \label #'firstScore
+ \score {
+ {
+ c'1
+ \pageBreak \mark A \label #'markA
+ c'
+ }
+ }
+
+ \markup { The first score begins on page \page-ref #'firstScore "0" "?" }
+ \markup { Mark A is on page \page-ref #'markA "0" "?" }
+}
+@end lilypond
+
+The @code{\page-ref} markup command takes three arguments:
+@enumerate
+@item the label, a scheme symbol, eg. @code{#'firstScore};
+@item a markup that will be used as a gauge to estimate the dimensions
+of the markup;
+@item a markup that will be used in place of the page number if the label
+is not known;
+@end enumerate
+
+The reason why a gauge is needed is that, at the time markups are
+interpreted, the page breaking has not yet occurred, so the page numbers
+are not yet known. To work around this issue, the actual markup
+interpretation is delayed to a later time; however, the dimensions of
+the markup have to be known before, so a gauge is used to decide these
+dimensions. If the book has between 10 and 99 pages, it may be "00",
+ie. a two digit number.
+
+@predefined
+
+@funindex \label
+@code{\label}
+@funindex \page-ref
+@code{\page-ref}
+
+@node Table of contents
+@subsection Table of contents
+A table of contents is included using the @code{\markuplines \table-of-contents}
+command. The elements which should appear in the table of contents are
+entered with the @code{\tocItem} command, which may be used either at
+top-level, or inside a music expression.
+
+@verbatim
+\markuplines \table-of-contents
+\pageBreak
+
+\tocItem \markup "First score"
+\score {
+ {
+ c' % ...
+ \tocItem \markup "Some particular point in the first score"
+ d' % ...
+ }
+}
-This is done by defining the measures that need to be cut out
-separately. For example, including the following definition
+\tocItem \markup "Second score"
+\score {
+ {
+ e' % ...
+ }
+}
+@end verbatim
+The markups which are used to format the table of contents are defined
+in the @code{\paper} block. The default ones are @code{tocTitleMarkup},
+for formatting the title of the table, and @code{tocItemMarkup}, for
+formatting the toc elements, composed of the element title and page
+number. These variables may be changed by the user:
@verbatim
-\layout {
- clip-regions
- = #(list
- (cons
- (make-rhythmic-location 5 1 2)
- (make-rhythmic-location 7 3 4)))
-}
+\paper {
+ %% Translate the toc title into French:
+ tocTitleMarkup = \markup \huge \column {
+ \fill-line { \null "Table des matières" \null }
+ \hspace #1
+ }
+ %% use larger font size
+ tocItemMarkup = \markup \large \fill-line {
+ \fromproperty #'toc:text \fromproperty #'toc:page
+ }
+}
@end verbatim
-@noindent
-will extract a fragment starting halfway the fifth measure, ending in
-the seventh measure. The meaning of @code{5 1 2} is: after a 1/2 note
-in measure 5, and @code{7 3 4} after 3 quarter notes in measure 7.
+Note how the toc element text and page number are referred to in
+the @code{tocItemMarkup} definition.
-More clip regions can be defined by adding more pairs of
-rhythmic-locations to the list.
+New commands and markups may also be defined to build more elaborated
+table of contents:
+@itemize
+@item first, define a new markup variable in the @code{\paper} block
+@item then, define a music function which aims at adding a toc element
+using this markup paper variable.
+@end itemize
-In order to use this feature, LilyPond must be invoked with
-@code{-dclip-systems}. The clips are output as EPS files, and are
-converted to PDF and PNG if these formats are switched on as well.
+In the following example, a new style is defined for entering act names
+in the table of contents of an opera:
-For more information on output formats, see @rprogram{Invoking lilypond}.
+@verbatim
+\paper {
+ tocActMarkup = \markup \large \column {
+ \hspace #1
+ \fill-line { \null \italic \fromproperty #'toc:text \null }
+ \hspace #1
+ }
+}
+
+tocAct =
+#(define-music-function (parser location text) (markup?)
+ (add-toc-item! 'tocActMarkup text))
+@end verbatim
+
+@lilypond[line-width=11.0\cm]
+\header { tagline = ##f }
+\paper {
+ tocActMarkup = \markup \large \column {
+ \hspace #1
+ \fill-line { \null \italic \fromproperty #'toc:text \null }
+ \hspace #1
+ }
+}
+
+tocAct =
+#(define-music-function (parser location text) (markup?)
+ (add-toc-item! 'tocActMarkup text))
+
+\book {
+ \markuplines \table-of-contents
+ \tocAct \markup { Atto Primo }
+ \tocItem \markup { Coro. Viva il nostro Alcide }
+ \tocItem \markup { Cesare. Presti omai l'Egizzia terra }
+ \tocAct \markup { Atto Secondo }
+ \tocItem \markup { Sinfonia }
+ \tocItem \markup { Cleopatra. V'adoro, pupille, saette d'Amore }
+ \markup \null
+}
+@end lilypond
+
+@seealso
+
+Init files: @file{ly/@/toc@/-init@/.ly}.
+
+@predefined
+
+@funindex \table-of-contents
+@code{\table-of-contents}
+@funindex \tocItem
+@code{\tocItem}
+
+
+@node Working with input files
+@section Working with input files
+
+@menu
+* Including LilyPond files::
+* Different editions from one source::
+* Text encoding::
+* Displaying LilyPond notation::
+@end menu
@node Including LilyPond files
@end example
-@node Text encoding
-@subsection Text encoding
-
-LilyPond uses the Pango library to format multi-lingual texts, and
-does not perform any input-encoding conversions. This means that any
-text, be it title, lyric text, or musical instruction containing
-non-ASCII characters, must be utf-8. The easiest way to enter such text is
-by using a Unicode-aware editor and saving the file with utf-8 encoding. Most
-popular modern editors have utf-8 support, for example, vim, Emacs,
-jEdit, and GEdit do.
-
-@c Currently not working
-@ignore
-Depending on the fonts installed, the following fragment shows Hebrew
-and Cyrillic lyrics,
-
-@cindex Cyrillic
-@cindex Hebrew
-@cindex ASCII, non
-
-@li lypondfile[fontload]{utf-8.ly}
-
-The @TeX{} backend does not handle encoding specially at all. Strings
-in the input are put in the output as-is. Extents of text items in the
-@TeX{} backend, are determined by reading a file created via the
-@file{texstr} backend,
-
-@example
-lilypond -dbackend=texstr input/les-nereides.ly
-latex les-nereides.texstr
-@end example
-
-The last command produces @file{les-nereides.textmetrics}, which is
-read when you execute
-
-@example
-lilypond -dbackend=tex input/les-nereides.ly
-@end example
-
-Both @file{les-nereides.texstr} and @file{les-nereides.tex} need
-suitable LaTeX wrappers to load appropriate La@TeX{} packages for
-interpreting non-ASCII strings.
-
-@end ignore
-
-To use a Unicode escape sequence, use
-
-@example
-#(ly:export (ly:wide-char->utf-8 #x2014))
-@end example
-
-
@node Different editions from one source
@subsection Different editions from one source
sections.
-@node Common syntax issues TODO name?
-@section Common syntax issues TODO name?
-
-@menu
-* Controlling direction and placement::
-* Distances and measurements MAYBE MOVE::
-* When to add a -::
-@end menu
-
-@node Controlling direction and placement
-@subsection Controlling direction and placement
-
-TODO: everything
-
-By default, LilyPond does a pretty jazz'n job of picking
-directions. But in some cases, it may be desirable to force a
-direction.
-
-@verbatim
--
-^ _
-@end verbatim
-
-Also cover
-#UP
-#DOWN
-#LEFT
-#RIGHT.
-
-Maybe rename section to "directions".
-
-Also mention \override Foo #'direction = #'DOWN.
-
-also mention the typical \fooDown, \fooNeutral predefined commands.
+@node Text encoding
+@subsection Text encoding
-also mention that some directions are (without other tweaking)
-always up or always down (like dynamics or fermata), while other
-things can alternate between up or down based on the stem direction
-(like slurs or accents).
+LilyPond uses the Pango library to format multi-lingual texts, and
+does not perform any input-encoding conversions. This means that any
+text, be it title, lyric text, or musical instruction containing
+non-ASCII characters, must be utf-8. The easiest way to enter such text is
+by using a Unicode-aware editor and saving the file with utf-8 encoding. Most
+popular modern editors have utf-8 support, for example, vim, Emacs,
+jEdit, and GEdit do.
+@c Currently not working
+@ignore
+Depending on the fonts installed, the following fragment shows Hebrew
+and Cyrillic lyrics,
-@node Distances and measurements MAYBE MOVE
-@subsection Distances and measurements MAYBE MOVE
+@cindex Cyrillic
+@cindex Hebrew
+@cindex ASCII, non
-DISCUSS after working on other sections.
+@li lypondfile[fontload]{utf-8.ly}
-TODO: staff spaces, #UP #DOWN #LEFT #RIGHT. Maybe move into tweaks?
+The @TeX{} backend does not handle encoding specially at all. Strings
+in the input are put in the output as-is. Extents of text items in the
+@TeX{} backend, are determined by reading a file created via the
+@file{texstr} backend,
+@example
+lilypond -dbackend=texstr input/les-nereides.ly
+latex les-nereides.texstr
+@end example
-@node When to add a -
-@subsection When to add a -
+The last command produces @file{les-nereides.textmetrics}, which is
+read when you execute
-One of these works, the other doesn't.
+@example
+lilypond -dbackend=tex input/les-nereides.ly
+@end example
-@verbatim
-\version "2.11.38"
-{ c'\mp\fermata\accent-\markup { "forcefully"} }
-% { c'\mp\fermata\accent\markup { "forcefully"} }
-@end verbatim
+Both @file{les-nereides.texstr} and @file{les-nereides.tex} need
+suitable LaTeX wrappers to load appropriate La@TeX{} packages for
+interpreting non-ASCII strings.
+@end ignore
-@node Other stuffs TODO move?
-@section Other stuffs TODO move?
+To use a Unicode escape sequence, use
+@example
+#(ly:export (ly:wide-char->utf-8 #x2014))
+@end example
-@menu
-* Displaying LilyPond notation::
-* Skipping corrected music::
-* context list FIXME::
-* another thing FIXME::
-* Input modes FIXME::
-@end menu
@node Displaying LilyPond notation
@subsection Displaying LilyPond notation
@end example
+
+@node Controlling output
+@section Controlling output
+
+@menu
+* Extracting fragments of notation::
+* Skipping corrected music::
+@end menu
+
+@node Extracting fragments of notation
+@subsection Extracting fragments of notation
+
+It is possible to quote small fragments of a large score directly from
+the output. This can be compared to clipping a piece of a paper score
+with scissors.
+
+This is done by defining the measures that need to be cut out
+separately. For example, including the following definition
+
+
+@verbatim
+\layout {
+ clip-regions
+ = #(list
+ (cons
+ (make-rhythmic-location 5 1 2)
+ (make-rhythmic-location 7 3 4)))
+}
+@end verbatim
+
+@noindent
+will extract a fragment starting halfway the fifth measure, ending in
+the seventh measure. The meaning of @code{5 1 2} is: after a 1/2 note
+in measure 5, and @code{7 3 4} after 3 quarter notes in measure 7.
+
+More clip regions can be defined by adding more pairs of
+rhythmic-locations to the list.
+
+In order to use this feature, LilyPond must be invoked with
+@code{-dclip-systems}. The clips are output as EPS files, and are
+converted to PDF and PNG if these formats are switched on as well.
+
+For more information on output formats, see @rprogram{Invoking lilypond}.
+
@node Skipping corrected music
@subsection Skipping corrected music
voices and staves, saving even more time.
-@node context list FIXME
-@subsection context list FIXME
-
->> > > - list of contexts: my *danger unmaintainable*
->> > > alarm just went off. I'm
-
-I knew it would... And leaving out some of them is perfectly fine
-with me.
-I do think that a list like this, with the main contexts and a
-brief
-description of what they do (perhaps also with a note about what
-default
-behavior is associated with each of them, but this may be
-unmanageable),
-should be there, and then we could simply list the remaining ones
-without
-further explanation and with links to the IR.
-
-
-The Master Of All Contexts
-==========================
-
- * Score
- This is the top level notation context. No other context
-can
- contain a Score context. This context handles the
- administration of time signatures. It also makes sure that
- items such as clefs, time signatures, and key-signatures
-are
- aligned across staves.
- You cannot explicitly instantiate a Score context (since
-it is
- not contained in any other context). It is instantiated
- automatically when an output definition (a \score or
-\layout
- block) is processed.
- (it should also be made clear somewhere what the
-difference is between
- \score and \Score).
-
-Top-level contexts: Staff containers
-====================================
- * StaffGroup
- Groups staves while adding a bracket on the left side,
- grouping the staves together. The bar lines of the
-contained
- staves are connected vertically. StaffGroup only consists
-of a
- collection of staves, with a bracket in front and spanning
-bar
- lines.
- * ChoirStaff
- Identical to StaffGroup except that the contained staves
-are
- not connected vertically.
- * GrandStaff
- A group of staves, with a brace on the left side, grouping
-the
- staves together. The bar lines of the contained staves are
- connected vertically.
- * PianoStaff
- Just like GrandStaff but with a forced distance between
-the
- staves, so cross staff beaming and slurring can be used.
- * DrumStaff
- Handles typesetting for percussion. Can contain DrumVoice
- * InnerStaffGroup
- * InnerChoirStaff
-
-Staff-level contexts
-====================
- * Staff
- Handles clefs, bar lines, keys, accidentals. It can
-contain
- Voice contexts.
- * RhythmicStaff
- Like Staff but for printing rhythms. Pitches are
- ignored; the notes are printed on one line.
- * TabStaff
- Context for generating tablature. By default lays the
-music
- expression out as a guitar tablature, printed on six
-lines.
- * VaticanaStaff
- Same as Staff, except that it is accommodated for
- typesetting a piece in gregorian style.
- * MensuralStaff
- Same as Staff, except that it is accommodated for
- typesetting a piece in mensural style.
-
-Voice-level (bottom) contexts
-=============================
-What is generated by default here? The voice-level contexts
-initiate
-certain properties and start engravers.
-
- * Voice
- Corresponds to a voice on a staff. This context handles
-the
- conversion of dynamic signs, stems, beams, super- and
- subscripts, slurs, ties, and rests.
- You have to instantiate this explicitly if you want to
-have
- multiple voices on the same staff.
- Bottom context.
- * VaticanaVoice
- Same as Voice, except that it is accommodated for
- typesetting a piece in gregorian style.
- * MensuralVoice
- Same as Voice, except that it is accommodated for
- typesetting a piece in mensural style.
- * Lyrics
- Corresponds to a voice with lyrics. Handles the printing
-of a
- single line of lyrics.
- Bottom context.
- * DrumVoice
- A voice on a percussion staff.
- * FiguredBass
-
- * ChordNames
- Typesets chord names. This context is a `bottom' context;
-it
- cannot contain other contexts.
-
-------------------------------
-Then the following, which I don't know what to do with:
-
- * TabVoice
- * GregorianTranscriptionVoice
- * GregorianTranscriptionStaff
-
- * FretBoards
- Engraves fretboards from chords. Not easy... Not
-documented.
- * NoteNames
-
- * CueVoice Not documented
- * Global
- Hard coded entry point for LilyPond. Cannot be tuned.
- * Devnull
- Silently discards all musical information given to this
-context.
-
-
-@node another thing FIXME
-@subsection another thing FIXME
-
-Another thing that is needed, is an overview of the various naming
-conventions:
-
- scheme functions: lowercase-with-hyphens (incl. one-word
-names)
- scheme functions: ly:plus-scheme-style
- music events, music classes and music properties:
-as-scheme-functions
- Grob interfaces: scheme-style
- backend properties: scheme-style (but X and Y!)
- contexts (and MusicExpressions and grobs): Capitalized or
-CamelCase
- context properties: lowercaseFollowedByCamelCase
- engravers:
-Capitalized_followed_by_lowercase_and_with_underscores
-
-Which of these are conventions and which are rules?
-Which are rules of the underlying language, and which are
-LP-specific?
-
-
-@node Input modes FIXME
-@subsection Input modes FIXME
-
-\notemode
-
-\notemode turns the front end of LilyPond into note mode
-(which is the default parsing mode).
-It's certainly useful in certain situations, for example if you
-are in \lyricmode or \chordmode or ... and want to insert
-something that only can be done with \notemode syntax.
-
-See for example
-http://lists.gnu.org/archive/html/lilypond-user/2007-03/msg00418.html
-http://lists.gnu.org/archive/html/lilypond-user/2007-03/msg00218.html
-http://lists.gnu.org/archive/html/lilypond-user/2006-12/msg00236.html
-http://lists.gnu.org/archive/html/lilypond-user/2006-11/msg00061.html
-
-
-\chords
-\drums
-\fretmode ?
-
-
@node Introduction
@chapter Introduction
+This chapter introduces readers to LilyPond and the
+documentation.
+
+@menu
+* Background::
+* About the documentation::
+@end menu
+
+
+@node Background
+@section Background
+
+This section covers the overall goals and architecture of
+LilyPond.
@menu
* Engraving::
* What symbols to engrave?::
* Music representation::
* Example applications::
-* About this manual::
@end menu
@node Engraving
-@section Engraving
+@unnumberedsubsec Engraving
The art of music typography is called @emph{(plate) engraving}. The
term derives from the traditional process of music printing. Just a
@node Automated engraving
-@section Automated engraving
+@unnumberedsubsec Automated engraving
How do we go about implementing typography? If craftsmen need over
ten years to become true masters, how could we simple hackers ever
@node What symbols to engrave?
-@section What symbols to engrave?
+@unnumberedsubsec What symbols to engrave?
@cindex engraving
@cindex typography
@end lilypond
@node Music representation
-@section Music representation
+@unnumberedsubsec Music representation
Ideally, the input format for any high-level formatting system is an
abstract description of the content. In this case, that would be the
@node Example applications
-@section Example applications
+@unnumberedsubsec Example applications
We have written LilyPond as an experiment of how to condense the art
of music engraving into a computer program. Thanks to all that hard
to mix music and text in documents.
+@node About the documentation
+@section About the documentation
+
+FIXME: still needs some work.
+
+This section explains the different manuals:
+
+@itemize
+@item
+Learning Manual (LM): this introduces LilyPond, giving in-depth
+explanations of how to create notation.
+
+@item
+Music Glossary (MG): this explains musical terms and gives
+translations of terms in other languages.
+
+@item
+Notation Reference (NR): this is the main portion of the
+documentation. It provides detailed information about creating
+notation. This book assumes that the reader knows basic material
+covered in the LM and is familiar with the English musical terms
+presented in the MG.
+
+@item
+Application Usage (AU): this discusses the actual programs and
+operation system-specific issues.
+
+@item
+Snippet List (SL): this is a collection of short LilyPond examples
+(@qq{snippets}).
+
+@item
+Internals Reference (IR): this gives information about LilyPond
+internal programming information, which is required for
+constructing tweaks.
-@node About this manual
-@section About this manual
+@item
+Other documentation: there are a few other portions of the
+documentation, such as News items and the mailist archives.
-FIXME: needs almost-complete rewrite. -gp
+@end itemize
-There are four manuals about LilyPond: the @emph{Learning Manual},
-the @emph{Notation Reference}, the @emph{Application Usage}, and the
-@emph{Internals Reference}.
+@menu
+* About the Learning Manual (LM)::
+* About the Music Glossary (MG)::
+* About the Notation Reference (NR)::
+* About the Application Usage (AU)::
+* About the Snippet List (SL)::
+* About the Internals Reference (IR)::
+* Other documentation::
+@end menu
-@subheading Learning Manual (LM)
+@node About the Learning Manual (LM)
+@unnumberedsubsec About the Learning Manual (LM)
-This book explains how to begin learning LilyPond, as well as explaining
-some key concepts in easy terms. It is recommended to read these
-chapters in a linear fashion.
+This book explains how to begin learning LilyPond, as well as
+explaining some key concepts in easy terms. It is recommended to
+read these chapters in a linear fashion.
@itemize
@item
-@ifhtml
-The
-@end ifhtml
-@emph{@ref{Tutorial}},
-gives a gentle introduction to typesetting music. First time
-users should start here.
+@ref{Tutorial}: gives a gentle introduction to typesetting music.
+First time users should start here.
@item
-@emph{@ref{Fundamental concepts}},
-explains some general concepts about the LilyPond file format. If
-you are not certain where to place a command, read this chapter!
+@ref{Fundamental concepts}: explains some general concepts about
+the LilyPond file format. If you are not certain where to place a
+command, read this chapter!
@item
-@emph{@ref{Working on LilyPond projects}},
-discusses practical uses of LilyPond and how to avoid some common
-problems.
+@ref{Working on LilyPond projects}: discusses practical uses of
+LilyPond and how to avoid some common problems.
@item
-@emph{@ref{Tweaking output}},
-shows how to change the default engraving that LilyPond
-produces.
+@ref{Tweaking output}: shows how to change the default engraving
+that LilyPond produces.
@end itemize
-@subheading Notation Reference (NR)
+@node About the Music Glossary (MG)
+@unnumberedsubsec About the Music Glossary (MG)
+
+@cindex idiom
+@cindex jargon
+@cindex terminology
+@cindex foreign languages
+@cindex language
-This book explains all the LilyPond commands which produce notation. It
-assumes that readers are familiar with the concepts in the Learning
-manual.
+@ref{Top,Music glossary,,music-glossary}:
+this explains musical terms, and includes translations to various
+languages. If you are not familiar with music notation or music
+terminology (especially if you are a non-native English speaker),
+it is highly advisable to consult the glossary.
-All of this needs to be rewritten after GDP, anyway.
-@ignore
+@node About the Notation Reference (NR)
+@unnumberedsubsec About the Notation Reference (NR)
+
+This book explains all the LilyPond commands which produce
+notation. It assumes that readers are familiar with the concepts
+in the Learning manual.
@itemize
@item
-@emph{@r ef{Basic notation}},
+@ruser{Basic notation}:
discusses topics grouped by notation construct. This section gives
details about basic notation that will be useful in almost any
notation project.
@item
-@emph{@r ef{Instrument-specific notation}},
+@ruser{Specialist notation}:
discusses topics grouped by notation construct. This section gives
details about special notation that will only be useful for particular
instrument (or vocal) groups.
@item
-@emph{@r ef{Advanced notation}},
-discusses topics grouped by notation construct. This section gives
-details about complicated or unusual notation.
-
-@item
-@emph{@r ef{Changing defaults}},
-explains how to fine tune layout.
+@ruser{Input syntax}:
@item
-@emph{@r ef{Non-musical notation}},
-discusses non-musical output such as titles, multiple movements,
-and how to select which MIDI instruments to use.
+@ruser{Non-musical notation}:
@item
-@emph{@r ef{Spacing issues}},
+@ruser{Spacing issues}:
discusses issues which affect the global output, such as selecting
paper size or specifying page breaks.
@item
-@emph{@r ef{Interfaces for programmers}},
-explains how to create music functions.
+@ruser{Changing defaults}:
-@end itemize
+@item
+@ruser{Interfaces for programmers}:
+explains how to create music functions with scheme.
+@end itemize
-@subsubheading Appendices
-This book contains useful reference charts.
+The NR also contains appendices with useful reference charts.
@itemize
@item
-@ifhtml
-The
-@end ifhtml
-@emph{@r ef{Literature list}},
-contains a set of useful reference books for those who wish to know
-more on notation and engraving.
+@ruser{Literature list}:
+contains a set of useful reference books for those who wish to
+know more on notation and engraving.
@item
-The
-@emph{@r ef{Scheme tutorial}},
+@ruser{Scheme tutorial}:
presents a short introduction to Scheme, the programming
language that music functions use.
@item
-@emph{@r ef{Notation manual tables}},
-are a set of tables showing the chord names, MIDI instruments,
-a list of color names, and the Feta font.
+@ruser{Notation manual tables}:
+are a set of tables showing the chord names, MIDI instruments, a
+list of color names, and the Feta font.
@item
-@emph{@r ef{Templates}},
+@ruser{Templates}:
of LilyPond pieces. Just cut and paste a
template into a file, add notes, and you're done!
@item
-The
-@emph{@r ef{Cheat sheet}},
+@ruser{Cheat sheet}:
is a handy reference of the most common LilyPond commands.
@item
-The
-@emph{@r ef{LilyPond command index}},
+@ruser{LilyPond command index}:
is an index of all LilyPond @code{\commands}.
@item
-The
-@emph{@r ef{LilyPond index}},
+@ruser{LilyPond index}:
is a complete index.
@end itemize
-@end ignore
-
-@subheading Program usage
+@node About the Application Usage (AU)
+@unnumberedsubsec About the Application Usage (AU)
This book explains how to execute the program and how to integrate
LilyPond notation with other programs.
@itemize
@item
-@emph{@rprogram{Install}},
+@rprogram{Install}:
explains how to install LilyPond (including compilation if desired).
@item
-@emph{@rprogram{Setup}},
+@rprogram{Setup}:
describes how to configure your computer for optimum LilyPond usage,
such as using special environments for certain text editors.
@item
-@emph{@rprogram{Running LilyPond}},
+@rprogram{Running LilyPond}:
shows how to run LilyPond and its helper programs. In addition, this
section explains how to upgrade input files from previous versions of
LilyPond.
@item
-@emph{@rprogram{LilyPond-book}},
-explains the details behind creating
-documents with in-line music examples, like this manual.
+@rprogram{LilyPond-book}:
+explains the details behind creating documents with in-line music
+examples, like this manual.
@item
-@emph{@rprogram{Converting from other formats}},
+@rprogram{Converting from other formats}:
explains how to run the conversion programs. These programs are
supplied with the LilyPond package, and convert a variety of music
formats to the @code{.ly} format.
@end itemize
+@node About the Snippet List (SL)
+@unnumberedsubsec About the Snippet List (SL)
-@subsubheading Other information
+@cindex snippets
+@cindex LSR
-There are a number of other places which may be very valuable.
+The Snippet List shows a selected set of LilyPond snippets from the
+@uref{http://lsr@/.dsi@/.unimi@/.it,LilyPond Snippet Repository}
+(LSR). It is in the public domain.
-@itemize
-@cindex idiom
-@cindex jargon
-@cindex terminology
-@cindex foreign languages
-@cindex language
-@item
-@ifnottex
-The @ref{Top,Music glossary,,music-glossary}, explains musical terms and
-includes translations to various languages. It is also available in
-PDF.
-@end ifnottex
-@iftex
-The music glossary explains musical terms, and includes translations
-to various languages. It is a separate document, available in HTML
-and PDF.
-@end iftex
-If you are not familiar with music notation or music terminology
-(especially if you are a non-native English speaker), it is highly
-advisable to consult the glossary.
+Please note that this document is not an exact subset of LSR. LSR
+is running a stable LilyPond version, so any snippet which
+demonstrates new features of a development version must be added
+separately. These are stored in @file{input/new/} in the LilyPond
+source tree.
-@cindex snippets
-@cindex LSR
+The list of snippets for each subsection of the Notation Reference
+(NR) are also linked from the @strong{See also} portion.
+
+@itemize
@item
The
@ifhtml
and special features of LilyPond. Most of these snippets can also be
found in the @uref{http://lsr.dsi.unimi.it/,LilyPond Snippet
Repository}. This website also has a searchable LilyPond manual.
+@end itemize
+
+
+@node About the Internals Reference (IR)
+@unnumberedsubsec About the Internals Reference (IR)
+@itemize
@item
The
@iftex
@end itemize
+@node Other documentation
+@unnumberedsubsec Other documentation
+
+FIXME: most of this should go higher up. Discuss News, mailist
+archives, ...?
+
+There are a number of other places which may be very valuable.
+
Once you are an experienced user, you can use the manual as reference:
there is an extensive index@footnote{If you are looking for something,
and you cannot find it in the manual, that is considered a bug. In
@uref{http://@/www@/.lilypond@/.org/}.
+
+
@c \version "2.11.38"
@c Andrew's TODO List
-@c references - started
-@c piano staff - deleted, material moved to 'references'
-@c manual changes - started
-@c automatic changes
-@c staff-chagne lines
+@c references - first pass complete
+@c manual changes - first pass complete
+@c automatic changes - first pass complete
+@c staff-change lines - started
@c cross-staff stems
@c pedals
-@c discant symbols
+@c accordian discant symbols
@node Keyboard instruments
@section Keyboard instruments
@node References for keyboards
@subsubsection References for keyboards
-Keyboard instruments are usually notated with Piano staves. These are
-two or more normal staves coupled with a brace. The same notation is
-also used for harps and other keyed instruments. Organ music is normally
-written with two staves inside a @code{PianoStaff} group and third,
-normal staff for the pedals.
+Keyboard instruments are usually notated with Piano staves. These
+are two or more normal staves coupled with a brace. The same
+notation is also used for harps and other keyed instruments.
+Organ music is normally written with two staves inside a
+@code{PianoStaff} group and third, normal staff for the pedals.
-The staves in keyboard music are largely independent, but sometimes
-voices can cross between the two staves. In this section we discuss
-some notation techniques particular to keyboard music.
+The staves in keyboard music are largely independent, but
+sometimes voices can cross between the two staves. In this
+section we discuss some notation techniques particular to keyboard
+music.
Several common issues in keyboard music are covered elsewhere:
+
@itemize
-@item Keyboard music can be written in parallel with @ref{Writing music
-in parallel}.
+@item Keyboard music usually contains multiple voices and the
+number of voices may change regularly; this is described in
+@ref{Collision resolution}.
+
+@item Keyboard music can be written in parallel, as described in
+@ref{Writing music in parallel}.
+
@item Fingerings are indicated with @ref{Fingering instructions}.
+
@item Organ pedal indications are inserted as articulations, see
@ref{List of articulations}.
+
@item Vertical grid lines can be shown with @ref{Grid lines}.
-@item Keyboard music often contains @notation{Laissez vibrer} ties as
-well as ties on arpeggios and tremelos, described in @ref{Ties}.
-@item Arpeggio can be placed across multiple voices and staves with
-@ref{Arpeggio}.
-@item Tremolo marks are created with @ref{Tremolo repeats}.
+
+@item Keyboard music often contains @notation{Laissez vibrer} ties
+as well as ties on arpeggios and tremelos, described in
+@ref{Ties}.
+
+@item Placing arpeggios across multiple voices and staves is
+covered in @ref{Arpeggio}.
+
+@item Tremolo marks are described in @ref{Tremolo repeats}.
+
@item Several of the tweaks that can occur in keyboard music are
demonstrated in @rlearning{Real music example}.
-@item Hidden notes can be used to produce ties that cross voices, as
-shown in @rlearning{Other uses for tweaks}.
+
+@item Hidden notes can be used to produce ties that cross voices,
+as shown in @rlearning{Other uses for tweaks}.
+
@end itemize
@snippets
@rlsr{Keyboards}.
@knownissues
+
Dynamics are not centered, but workarounds do exist. See the
@q{piano centered dynamics} template in @rlearning{Piano templates}.
+
@node Changing staff manually
@subsubsection Changing staff manually
@funindex \change
Voices can be switched between staves manually, using the command
+
@example
\change Staff = @var{staffname}
@end example
@noindent
-The string @var{staffname} is the name of the staff. It switches the
-current voice from its current staff to the Staff called
-@var{staffname}. Typical values for @var{staffname} are @code{"up"}
-and @code{"down"}, or @code{"RH"} and @code{"LH"}.
+The string @var{staffname} is the name of the staff. It switches
+the current voice from its current staff to the Staff called
+@var{staffname}. Typical values for @var{staffname} are
+@code{"up"} and @code{"down"}, or @code{"RH"} and @code{"LH"}.
Cross-staff notes are beamed automatically:
@end lilypond
If the beaming needs to be tweaked, make any changes to the stem
-directions first. The beam positions are then measured from the center
-of the staff that is closest to the beam. For a simple example of beam
-tweaking, see @rlearning{Fixing overlapping notation}.
+directions first. The beam positions are then measured from the
+center of the staff that is closest to the beam. For a simple
+example of beam tweaking, see @rlearning{Fixing overlapping
+notation}.
@seealso
+
Learning Manual:
@rlearning{Fixing overlapping notation}.
Notation Reference:
-@ref{Stems},
-@ref{Automatic beams}.
+@ruser{Stems},
+@ruser{Automatic beams}.
Snippets:
@rlsr{Keyboards}.
Internals Reference:
@rinternals{Beam}.
+
@node Changing staff automatically
@subsubsection Changing staff automatically
+
+@cindex changing staff automatically
@cindex automatic staff changes
@cindex staff changes, automatic
+@funindex \autochange
-Voices can be made to switch automatically between the top and the bottom
-staff. The syntax for this is
+Voices can be made to switch automatically between the top and the
+bottom staff. The syntax for this is
-@quotation
@example
\autochange @dots{}@var{music}@dots{}
@end example
-@end quotation
@noindent
-This will create two staves inside the current PianoStaff, called
-@code{up} and @code{down}. The lower staff will be in bass clef by
-default.
-
-A @code{\relative} section that is outside of @code{\autochange} has
-no effect on the pitches of @var{music}, so, if necessary, put
-@code{\relative} inside @code{\autochange} like
+This will create two staves inside the current staff group
+(usually a @code{PianoStaff}), called @code{"up"} and
+@code{"down"}. The lower staff will be in bass clef by default.
+The autochanger switches on basis of the pitch (middle C is the
+turning point), and it looks ahead skipping over rests to switch
+in advance.
-@quotation
-@example
-\autochange \relative @dots{} @dots{}
-@end example
-@end quotation
+@lilypond[quote,verbatim,ragged-right]
+\new PianoStaff {
+ \autochange {
+ g4 a b c' d' r4 a g
+ }
+}
+@end lilypond
+A @code{\relative} section that is outside of @code{\autochange}
+has no effect on the pitches of the music, so if necessary, put
+@code{\relative} inside @code{\autochange}.
-The autochanger switches on basis of the pitch (middle C is the turning
-point), and it looks ahead skipping over rests to switch in
-advance. Here is a practical example
+If additional control is needed over the individual staves, they
+can be created manually with the names @code{"up"} and
+@code{"down"}. The @code{\autochange} command will then switch
+its voice between the existing staves. For example, this is
+necessary to place a key signature in the lower staff:
@lilypond[quote,verbatim,ragged-right]
-\new PianoStaff
- \autochange \relative c'
- {
- g4 a b c d r4 a g
+\new PianoStaff <<
+ \new Staff = "up" {
+ \new Voice = "melOne" {
+ \key g \major
+ \autochange \relative c' {
+ g8 b a c b d c e
+ d r fis, g a2
+ }
+ }
+ }
+ \new Staff = "down" {
+ \key g \major
+ \clef "bass"
}
+>>
@end lilypond
-
@seealso
Notation Reference: @ref{Changing staff manually}.
Internals Reference: @rinternals{AutoChangeMusic}.
-
-
@knownissues
The staff switches may not end up in optimal places. For high
quality output, staff switches should be specified manually.
+Chords will not be split across the staves; the staff will be
+chosen by the first note named in the chord.
-@code{\autochange} cannot be inside @code{\times}.
@node Staff-change lines
@subsubsection Staff-change lines
-
+@cindex staff-change lines
+@cindex cross-staff lines
+@cindex lines, staff-change follower
@cindex follow voice
@cindex staff switching
@cindex cross-staff
-
@funindex followVoice
-Whenever a voice switches to another staff, a line connecting the notes
-can be printed automatically. This is switched on by setting
-@code{followVoice} to true
+Whenever a voice switches to another staff, a line connecting the
+notes can be printed automatically. This is switched on by
+setting @code{followVoice} to true, or by the shorthand commands
+@code{\showStaffSwitch} and @code{\hideStaffSwitch}.
@lilypond[quote,ragged-right,fragment,relative=1,verbatim]
\new PianoStaff <<
\new Staff="one" {
- \set followVoice = ##t
+ \showStaffSwitch
c1
\change Staff=two
b2 a
}
- \new Staff="two" { \clef bass \skip 1*2 }
+ \new Staff="two" { \clef bass s1*2 }
>>
@end lilypond
@funindex \hideStaffSwitch
@code{\hideStaffSwitch}.
+
@node Cross-staff stems
@subsubsection Cross-staff stems
Most LilyPond test documents (in the @file{input} directory of the
distribution) are small @file{.ly} files which look exactly like this.
+For localization purpose, if the Texinfo document contains
+@code{@@documentlanguage @var{LANG}} and @file{foo@/.ly} header
+contains a @code{texidoc@var{LANG}} field, and if @command{lilypond}
+is called with @option{--header=@/texidoc@var{LANG}}, then
+@file{foo@/.texidoc@var{LANG}} will be included instead of
+@file{foo@/.texidoc}.
+
@item lilyquote
(Only for Texinfo output.) This option is similar to quote, but only
the music snippet (and the optional verbatim block implied by
useful if you want to @code{quote} the music snippet but not the
@code{texidoc} documentation block.
+@item doctitle
+(Only for Texinfo output.) This option works similarly to
+@code{texidoc} option: if @command{lilypond} is called with the
+@option{--header=@/doctitle} option, and the file to be processed is
+called @file{foo@/.ly} and contains a @code{doctitle} field in the
+@code{\header}, it creates a file @file{foo@/.doctitle}. When
+@code{doctitle} option is used, the contents of @file{foo@/.doctitle},
+which should be a single line of @var{text}, is inserted in the
+Texinfo document as @code{@@lydoctitle @var{text}}.
+@code{@@lydoctitle} should be a macro defined in the Texinfo document.
+The same remark about @code{texidoc} processing with localized
+languages also applies to @code{doctitle}.
+
@item printfilename
If a LilyPond input file is included with @code{\lilypondfile}, print
the file name right before the music snippet. For HTML output, this
@node Top
@top GNU LilyPond --- learning manual
-This is the learning manual for GNU LilyPond version @version{}.
+This is the Learning Manual (LM) for GNU LilyPond version @version{}.
+For more information about how this fits with the other
+documentation, see @ref{About the documentation}.
@cindex web site
@cindex URL
@top GNU LilyPond --- program usage
@c HJJ: Info needs `@top', which is a synonym for `@unnumbered' in TeX.
-This is the program usage manual for GNU LilyPond version @version{}.
+This is the Application Usage (AU) manual for GNU LilyPond version @version{}.
+For more information about how this fits with the other
+documentation, see @rlearning{About the documentation}.
@cindex web site
@cindex URL
@top GNU LilyPond --- The music typesetter
@c HJJ: Info needs `@top', which is a synonym for `@unnumbered' in TeX.
-This is the Notation Reference for GNU LilyPond version @version{}.
+This is the Notation Reference (NR) for GNU LilyPond version @version{}.
+For more information about how this fits with the other
+documentation, see @rlearning{About the documentation}.
@cindex web site
@cindex URL
@end macro
+@macro lydoctitle {TEXT}
+@emph{\TEXT\}
+
+@end macro
+
@macro funindex {TEXT}
@findex \TEXT\
@kindex \TEXT\
@end iftex
-
-@c EOF
\input texinfo @c -*- coding: utf-8; mode: texinfo; -*-
@setfilename music-glosssary.info
@settitle Music Glossary
-
@documentencoding UTF-8
@documentlanguage en
+@include macros.itexi
+
@afourpaper
@c see lilypond.tely for info installation note
@c @evenheading @thispage @| @|
@c @oddheading @| @| @thispage @|
-@include macros.itexi
+This is the Music Glossary (MG) for GNU LilyPond version @version{}.
+For more information about how this fits with the other
+documentation, see @rlearning{About the documentation}.
+
@c arrowref
@macro aref{word}
specific notation.
@menu
-* Titles and headers::
* MIDI output::
* other midi::
@end menu
-@node Titles and headers
-@section Titles and headers
-
-Almost all printed music includes a title and the composer's name;
-some pieces include a lot more information.
-
-@menu
-* Creating titles::
-* Custom titles::
-* Reference to page numbers::
-* Table of contents::
-@end menu
-
-
-@node Creating titles
-@subsection Creating titles
-
-Titles are created for each @code{\score} block, as well as for the full
-input file (or @code{\book} block).
-
-The contents of the titles are taken from the @code{\header} blocks.
-The header block for a book supports the following
-
-
-@table @code
-@funindex dedication
-@item dedication
-The dedicatee of the music, centered at the top of the first page.
-
-@funindex title
-@item title
-The title of the music, centered just below the dedication.
-
-@funindex subtitle
-@item subtitle
-Subtitle, centered below the title.
-
-@funindex subsubtitle
-@item subsubtitle
-Subsubtitle, centered below the subtitle.
-
-@funindex poet
-@item poet
-Name of the poet, flush-left below the subtitle.
-
-@funindex composer
-@item composer
-Name of the composer, flush-right below the subtitle.
-
-@funindex meter
-@item meter
-Meter string, flush-left below the poet.
-
-@funindex opus
-@item opus
-Name of the opus, flush-right below the composer.
-
-@funindex arranger
-@item arranger
-Name of the arranger, flush-right below the opus.
-
-@funindex instrument
-@item instrument
-Name of the instrument, centered below the arranger. Also
-centered at the top of pages (other than the first page).
-
-@funindex piece
-@item piece
-Name of the piece, flush-left below the instrument.
-
-@cindex page breaks, forcing
-@funindex breakbefore
-@item breakbefore
-This forces the title to start on a new page (set to ##t or ##f).
-
-@funindex copyright
-@item copyright
-Copyright notice, centered at the bottom of the first page. To
-insert the copyright symbol, see @ref{Text encoding}.
-
-@funindex tagline
-@item tagline
-Centered at the bottom of the last page.
-
-@end table
-
-Here is a demonstration of the fields available. Note that you
-may use any @ref{Formatting text}, commands in the header.
-
-@lilypond[quote,verbatim,line-width=11.0\cm]
-\paper {
- line-width = 9.0\cm
- paper-height = 10.0\cm
-}
-
-\book {
- \header {
- dedication = "dedicated to me"
- title = \markup \center-align { "Title first line" "Title second line,
-longer" }
- subtitle = "the subtitle,"
- subsubtitle = #(string-append "subsubtitle LilyPond version "
-(lilypond-version))
- poet = "Poet"
- composer = \markup \center-align { "composer" \small "(1847-1973)" }
- texttranslator = "Text Translator"
- meter = \markup { \teeny "m" \tiny "e" \normalsize "t" \large "e" \huge
-"r" }
- arranger = \markup { \fontsize #8.5 "a" \fontsize #2.5 "r" \fontsize
-#-2.5 "r" \fontsize #-5.3 "a" \fontsize #7.5 "nger" }
- instrument = \markup \bold \italic "instrument"
- piece = "Piece"
- }
-
- \score {
- { c'1 }
- \header {
- piece = "piece1"
- opus = "opus1"
- }
- }
- \markup {
- and now...
- }
- \score {
- { c'1 }
- \header {
- piece = "piece2"
- opus = "opus2"
- }
- }
-}
-@end lilypond
-
-As demonstrated before, you can use multiple @code{\header} blocks.
-When same fields appear in different blocks, the latter is used.
-Here is a short example.
-
-@example
-\header @{
- composer = "Composer"
-@}
-\header @{
- piece = "Piece"
-@}
-\score @{
- \new Staff @{ c'4 @}
- \header @{
- piece = "New piece" % overwrite previous one
- @}
-@}
-@end example
-
-If you define the @code{\header} inside the @code{\score} block, then
-normally only the @code{piece} and @code{opus} headers will be printed.
-Note that the music expression must come before the @code{\header}.
-
-@lilypond[quote,verbatim,line-width=11.0\cm]
-\score {
- { c'4 }
- \header {
- title = "title" % not printed
- piece = "piece"
- opus = "opus"
- }
-}
-@end lilypond
-
-@funindex printallheaders
-@noindent
-You may change this behavior (and print all the headers when defining
-@code{\header} inside @code{\score}) by using
-
-@example
-\paper@{
- printallheaders=##t
-@}
-@end example
-
-@cindex copyright
-@cindex tagline
-
-The default footer is empty, except for the first page, where the
-@code{copyright} field from @code{\header} is inserted, and the last
-page, where @code{tagline} from @code{\header} is added. The default
-tagline is @qq{Music engraving by LilyPond (@var{version})}.@footnote{Nicely
-printed parts are good PR for us, so please leave the tagline if you
-can.}
-
-Headers may be completely removed by setting them to false.
-
-@example
-\header @{
- tagline = ##f
- composer = ##f
-@}
-@end example
-
-
-@node Custom titles
-@subsection Custom titles
-
-A more advanced option is to change the definitions of the following
-variables in the @code{\paper} block. The init file
-@file{ly/titling-init.ly} lists the default layout.
-
-@table @code
-@funindex bookTitleMarkup
-@item bookTitleMarkup
- This is the title added at the top of the entire output document.
-Typically, it has the composer and the title of the piece
-
-@funindex scoreTitleMarkup
-@item scoreTitleMarkup
- This is the title put over a @code{\score} block. Typically, it has
-the name of the movement (@code{piece} field).
-
-@funindex oddHeaderMarkup
-@item oddHeaderMarkup
- This is the page header for odd-numbered pages.
-
-@funindex evenHeaderMarkup
-@item evenHeaderMarkup
- This is the page header for even-numbered pages. If unspecified,
- the odd header is used instead.
-
- By default, headers are defined such that the page number is on the
- outside edge, and the instrument is centered.
-
-@funindex oddFooterMarkup
-@item oddFooterMarkup
- This is the page footer for odd-numbered pages.
-
-@funindex evenFooterMarkup
-@item evenFooterMarkup
- This is the page footer for even-numbered pages. If unspecified,
- the odd header is used instead.
-
- By default, the footer has the copyright notice on the first, and
- the tagline on the last page.
-@end table
-
-
-@cindex \paper
-@cindex header
-@cindex footer
-@cindex page layout
-@cindex titles
-
-The following definition will put the title flush left, and the
-composer flush right on a single line.
-
-@verbatim
-\paper {
- bookTitleMarkup = \markup {
- \fill-line {
- \fromproperty #'header:title
- \fromproperty #'header:composer
- }
- }
-}
-@end verbatim
-
-@node Reference to page numbers
-@subsection Reference to page numbers
-
-A particular place of a score can be marked using the @code{\label}
-command, either at top-level or inside music. This label can then be
-referred to in a markup, to get the number of the page where the marked
-point is placed, using the @code{\page-ref} markup command.
-
-@lilypond[verbatim,line-width=11.0\cm]
-\header { tagline = ##f }
-\book {
- \label #'firstScore
- \score {
- {
- c'1
- \pageBreak \mark A \label #'markA
- c'
- }
- }
-
- \markup { The first score begins on page \page-ref #'firstScore "0" "?" }
- \markup { Mark A is on page \page-ref #'markA "0" "?" }
-}
-@end lilypond
-
-The @code{\page-ref} markup command takes three arguments:
-@enumerate
-@item the label, a scheme symbol, eg. @code{#'firstScore};
-@item a markup that will be used as a gauge to estimate the dimensions
-of the markup;
-@item a markup that will be used in place of the page number if the label
-is not known;
-@end enumerate
-
-The reason why a gauge is needed is that, at the time markups are
-interpreted, the page breaking has not yet occurred, so the page numbers
-are not yet known. To work around this issue, the actual markup
-interpretation is delayed to a later time; however, the dimensions of
-the markup have to be known before, so a gauge is used to decide these
-dimensions. If the book has between 10 and 99 pages, it may be "00",
-ie. a two digit number.
-
-@predefined
-
-@funindex \label
-@code{\label}
-@funindex \page-ref
-@code{\page-ref}
-
-@node Table of contents
-@subsection Table of contents
-A table of contents is included using the @code{\markuplines \table-of-contents}
-command. The elements which should appear in the table of contents are
-entered with the @code{\tocItem} command, which may be used either at
-top-level, or inside a music expression.
-
-@verbatim
-\markuplines \table-of-contents
-\pageBreak
-
-\tocItem \markup "First score"
-\score {
- {
- c' % ...
- \tocItem \markup "Some particular point in the first score"
- d' % ...
- }
-}
-
-\tocItem \markup "Second score"
-\score {
- {
- e' % ...
- }
-}
-@end verbatim
-
-The markups which are used to format the table of contents are defined
-in the @code{\paper} block. The default ones are @code{tocTitleMarkup},
-for formatting the title of the table, and @code{tocItemMarkup}, for
-formatting the toc elements, composed of the element title and page
-number. These variables may be changed by the user:
-
-@verbatim
-\paper {
- %% Translate the toc title into French:
- tocTitleMarkup = \markup \huge \column {
- \fill-line { \null "Table des matières" \null }
- \hspace #1
- }
- %% use larger font size
- tocItemMarkup = \markup \large \fill-line {
- \fromproperty #'toc:text \fromproperty #'toc:page
- }
-}
-@end verbatim
-
-Note how the toc element text and page number are referred to in
-the @code{tocItemMarkup} definition.
-
-New commands and markups may also be defined to build more elaborated
-table of contents:
-@itemize
-@item first, define a new markup variable in the @code{\paper} block
-@item then, define a music function which aims at adding a toc element
-using this markup paper variable.
-@end itemize
-
-In the following example, a new style is defined for entering act names
-in the table of contents of an opera:
-
-@verbatim
-\paper {
- tocActMarkup = \markup \large \column {
- \hspace #1
- \fill-line { \null \italic \fromproperty #'toc:text \null }
- \hspace #1
- }
-}
-
-tocAct =
-#(define-music-function (parser location text) (markup?)
- (add-toc-item! 'tocActMarkup text))
-@end verbatim
-
-@lilypond[line-width=11.0\cm]
-\header { tagline = ##f }
-\paper {
- tocActMarkup = \markup \large \column {
- \hspace #1
- \fill-line { \null \italic \fromproperty #'toc:text \null }
- \hspace #1
- }
-}
-
-tocAct =
-#(define-music-function (parser location text) (markup?)
- (add-toc-item! 'tocActMarkup text))
-
-\book {
- \markuplines \table-of-contents
- \tocAct \markup { Atto Primo }
- \tocItem \markup { Coro. Viva il nostro Alcide }
- \tocItem \markup { Cesare. Presti omai l'Egizzia terra }
- \tocAct \markup { Atto Secondo }
- \tocItem \markup { Sinfonia }
- \tocItem \markup { Cleopatra. V'adoro, pupille, saette d'Amore }
- \markup \null
-}
-@end lilypond
-
-@seealso
-
-Init files: @file{ly/@/toc@/-init@/.ly}.
-
-@predefined
-
-@funindex \table-of-contents
-@code{\table-of-contents}
-@funindex \tocItem
-@code{\tocItem}
-
@node MIDI output
@section MIDI output
@code{\parenthesize} command detailed in @ref{Parentheses}. However,
the default @code{\drummode} does
not include the @code{Parenthesis_engraver} plugin which allows
-this. You
-must add the plugin explicitly in the context definition as
-detailed in @ref{Changing context properties on the fly}.
+this.
@lilypond[quote,ragged-right,verbatim,fragment]
\new DrumStaff \with {
@snippets
-@lilypondfile[verbatim,lilyquote,texidoc]
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
{preventing-extra-naturals-from-being-automatically-added.ly}
@seealso
There are predefined sets of note names for various other
languages. To use them, include the language-specific init file.
-For example, to use English notes names, add @code{\include
-"english.ly"} to the top of the input file. The available
-language files and the note names they define are:
+For example, to use English notes names, add
+@w{@code{\include "english.ly"}} to the top of the input file.
+The available language files and the note names they define are:
@cindex note names, other languages
@cindex pitch names, other languages
@end lilypond
@noindent
-Note that we specify @code{\key c \major} explicitly. If we do
-not specify a key signature, the notes will be transposed but no
-key signature will be printed.
+Note that we specify @w{@code{\key c \major}} explicitly. If we
+do not specify a key signature, the notes will be transposed but
+no key signature will be printed.
@code{\transpose} distinguishes between enharmonic pitches: both
-@code{\transpose c cis} or @code{\transpose c des} will transpose
-up a semitone. The first version will print sharps and the notes
-will remain on the same scale step, the second version will print
-flats on the scale step above.
+@w{@code{\transpose c cis}} or @w{@code{\transpose c des}} will
+transpose up a semitone. The first version will print sharps and
+the notes will remain on the same scale step, the second version
+will print flats on the scale step above.
@lilypond[verbatim,quote]
mus = \relative c' { c d e f }
@snippets
-@lilypondfile[verbatim,lilyquote,texidoc]
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
{transposing-pitches-with-minimum-accidentals-smart-transpose.ly}
@cindex clef, varbaritone
@cindex subbass clef, subbass
-The clef is set with the @code{\clef} @var{clefname} command.
+The clef is set with the @w{@code{\clef @var{clefname}}} command.
Middle C is shown in every example.
@lilypond[verbatim,quote,fragment,relative=1]
@snippets
-@lilypondfile[verbatim,lilyquote,texidoc]
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
{tweaking-clef-properties.ly}
@snippets
-@lilypondfile[verbatim,lilyquote,texidoc]
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
{preventing-natural-signs-from-being-printed-when-the-key-signature-changes.ly}
-@lilypondfile[verbatim,lilyquote,texidoc]
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
{non-traditional-key-signatures.ly}
@snippets
-@lilypondfile[verbatim,lilyquote,texidoc]
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
{ottava-text.ly}
@cindex cautionary accidental style, piano
@cindex piano cautionary accidental style
-Same as @code{#(set-accidental-style 'piano)} but with the extra
-accidentals typeset as cautionaries.
+Same as @w{@code{#(set-accidental-style 'piano)}} but with the
+extra accidentals typeset as cautionaries.
@lilypond[quote]
musicA = {
@snippets
-@lilypondfile[verbatim,lilyquote,texidoc]
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
{dodecaphonic-style-accidentals-for-each-note-including-naturals.ly}
@snippets
-@lilypondfile[verbatim,lilyquote,texidoc]
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
{adding-ambitus-per-voice.ly}
-@lilypondfile[verbatim,lilyquote,texidoc]
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
{ambitus-with-multiple-voices.ly}
Shape note heads can be produced by setting @code{\aikenHeads} or
@code{\sacredHarpHeads}, depending on the style desired.
-@lilypond[verbatim,fragment,quote,relative=1]
+@lilypond[verbatim,fragment,quote,relative=2]
\aikenHeads
-c8 d4 e8 a2
-g1
+c, d e f g a b c
\sacredHarpHeads
-c,8 d4 e8 a2
-g1
+c, d e f g a b c
@end lilypond
Shapes are typeset according to the step in the scale, where
@snippets
-@lilypondfile[verbatim,lilyquote,texidoc]
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
{applying-note-head-styles-depending-on-the-step-of-the-scale.ly}
@noindent
* Markup programmer interface::
* Contexts for programmers::
* Scheme procedures as properties::
+* TODO moved into scheme::
@end menu
The inner @code{ly:make-simple-closure} supplies the grob as argument
to @var{proc}, the outer ensures that result of the function is
returned, rather than the @code{simple-closure} object.
+
+
+@node TODO moved into scheme
+@section TODO moved into scheme
+
+@menu
+* Using Scheme code instead of \tweak::
+* Difficult tweaks::
+@end menu
+
+@node Using Scheme code instead of \tweak
+@subsection Using Scheme code instead of @code{\tweak}
+
+The main disadvantage of @code{\tweak} is its syntactical
+inflexibility. For example, the following produces a syntax error.
+
+@example
+F = \tweak #'font-size #-3 -\flageolet
+
+\relative c'' @{
+ c4^\F c4_\F
+@}
+@end example
+
+@noindent
+With other words, @code{\tweak} doesn't behave like an articulation
+regarding the syntax; in particular, it can't be attached with
+@code{^} and @code{_}.
+
+Using Scheme, this problem can be circumvented. The route to the
+result is given in @ref{Adding articulation to notes (example)},
+especially how to use @code{\displayMusic} as a helping guide.
+
+@example
+F = #(let ((m (make-music 'ArticulationEvent
+ 'articulation-type "flageolet")))
+ (set! (ly:music-property m 'tweaks)
+ (acons 'font-size -3
+ (ly:music-property m 'tweaks)))
+ m)
+
+\relative c'' @{
+ c4^\F c4_\F
+@}
+@end example
+
+@noindent
+Here, the @code{tweaks} properties of the flageolet object
+@code{m} (created with @code{make-music}) are extracted with
+@code{ly:music-property}, a new key-value pair to change the
+font size is prepended to the property list with the
+@code{acons} Scheme function, and the result is finally
+written back with @code{set!}. The last element of the
+@code{let} block is the return value, @code{m} itself.
+
+
+
+@node Difficult tweaks
+@subsection Difficult tweaks
+
+There are a few classes of difficult adjustments.
+
+@itemize
+
+
+@item
+One type of difficult adjustment is the appearance of spanner objects,
+such as slur and tie. Initially, only one of these objects is created,
+and they can be adjusted with the normal mechanism. However, in some
+cases the spanners cross line breaks. If this happens, these objects
+are cloned. A separate object is created for every system that it is
+in. These are clones of the original object and inherit all
+properties, including @code{\override}s.
+
+
+In other words, an @code{\override} always affects all pieces of a
+broken spanner. To change only one part of a spanner at a line break,
+it is necessary to hook into the formatting process. The
+@code{after-line-breaking} callback contains the Scheme procedure that
+is called after the line breaks have been determined, and layout
+objects have been split over different systems.
+
+In the following example, we define a procedure
+@code{my-callback}. This procedure
+
+@itemize
+@item
+determines if we have been split across line breaks
+@item
+if yes, retrieves all the split objects
+@item
+checks if we are the last of the split objects
+@item
+if yes, it sets @code{extra-offset}.
+@end itemize
+
+This procedure is installed into @rinternals{Tie}, so the last part
+of the broken tie is translated up.
+
+@lilypond[quote,verbatim,ragged-right]
+#(define (my-callback grob)
+ (let* (
+ ; have we been split?
+ (orig (ly:grob-original grob))
+
+ ; if yes, get the split pieces (our siblings)
+ (siblings (if (ly:grob? orig)
+ (ly:spanner-broken-into orig) '() )))
+
+ (if (and (>= (length siblings) 2)
+ (eq? (car (last-pair siblings)) grob))
+ (ly:grob-set-property! grob 'extra-offset '(-2 . 5)))))
+
+\relative c'' {
+ \override Tie #'after-line-breaking =
+ #my-callback
+ c1 ~ \break c2 ~ c
+}
+@end lilypond
+
+@noindent
+When applying this trick, the new @code{after-line-breaking} callback
+should also call the old one @code{after-line-breaking}, if there is
+one. For example, if using this with @code{Hairpin},
+@code{ly:hairpin::after-line-breaking} should also be called.
+
+
+@item Some objects cannot be changed with @code{\override} for
+technical reasons. Examples of those are @code{NonMusicalPaperColumn}
+and @code{PaperColumn}. They can be changed with the
+@code{\overrideProperty} function, which works similar to @code{\once
+\override}, but uses a different syntax.
+
+@example
+\overrideProperty
+#"Score.NonMusicalPaperColumn" % Grob name
+#'line-break-system-details % Property name
+#'((next-padding . 20)) % Value
+@end example
+
+Note, however, that @code{\override}, applied to
+@code{NoteMusicalPaperColumn} and @code{PaperColumn}, still works as
+expected within @code{\context} blocks.
+
+@end itemize
+
+
+
+
+
@menu
* Normal repeats::
* Manual repeat marks::
-* Written-out repeats (unfold)::
+* Written-out repeats::
@end menu
@cindex volta
@rinternals{RepeatedMusic}, @rinternals{VoltaRepeatedMusic}.
-@node Written-out repeats (unfold)
-@subsubsection Written-out repeats (unfold)
+@node Written-out repeats
+@subsubsection Written-out repeats
@cindex written-out repeats
@cindex repetitious music
@node Short repeats
@subsection Short repeats
-This section discusses how to input short repeats, either single-note
-to multi-measure using slash marks, or tremolos.
+This section discusses how to input short repeats. Short repeats can
+take two basic forms: repeats of a single note to two measures,
+represented by slashes or percent signs; and tremolos.
@menu
* Percent repeats::
@cindex percent repeats
@cindex measure repeats
-Repeated short patterns of notes are also supported. The music is
-printed once, and the pattern is replaced with a special sign.
-Patterns of one and two measures are replaced by percent-like signs,
-patterns that are shorter than one measure are replaced by slashes.
-Percent repeats must be declared within a @code{Voice} context. The
-syntax is
+Repeated short patterns of notes are supported. The music is printed
+once, and the pattern is replaced with a special sign. Patterns that
+are shorter than one measure are replaced by slashes, and patterns of
+one or two measures are replaced by percent-like signs. Percent
+repeats must be declared within a @code{Voice} context. The syntax is
@example
@code{\repeat percent @var{number} @var{musicexpr}}
}
@end lilypond
-Measure repeats of more than two measures get a counter if you
-switch on the @code{countPercentRepeats} property:
+Measure repeats of more than two repeats get a counter if you switch
+on the @code{countPercentRepeats} property:
@lilypond[relative=2,fragment,quote,verbatim,ragged-right]
\relative c' {
Internals Reference: @rinternals{RepeatSlash},
@rinternals{PercentRepeat}, @rinternals{DoublePercentRepeat},
@rinternals{DoublePercentRepeatCounter},
-@rinternals{PercentRepeatCounter},
-@rinternals{PercentRepeatedMusic}.
+@rinternals{PercentRepeatCounter}, @rinternals{PercentRepeatedMusic}.
@node Tremolo repeats
@subsubsection Tremolo repeats
+Tremolos can take two forms: alternation between two chords or two
+notes, and rapid repetition of a single
+note or chord. Tremolos consisting of an alternation are indicated by
+adding beams between the notes or chords being alternated, while
+tremolos consisting of the rapid repetition of a single note are
+indicated by adding beams or slashes to a single note.
+
@cindex tremolo beams
To place tremolo marks between notes, use @code{\repeat} with
@c \version "2.11.38"
+@ignore
+GDP TODO list
+
+\compressMusic -> \scaleDurations.
+approved by Han-Wen; just needs somebody to kick up a fuss about
+it.
+
+1.2.3.1 Time signature
+Needs an example of beatLength, which is broken (see my recent
+mail
+to -bug). What to do? For now I've left a paragraph of text
+which really
+needs to be inserted with an example in a snippet.
+
+1.2.3.4 Polymetric notation
+Quite extensive changes. Could you please check through. Divided
+into three
+sections. Necessarily uses tweaks. I've also left an @lsr under
+@seealso
+Snippets - is this permitted or is @lsr now verboten? This
+snippet is too
+long to include, but seems relevant.
+A snippet "grouping beats" hasn't yet appeared (only sent to vv a
+couple of
+days ago). Text left in Snippets: with TODO.
+@end ignore
+
@node Rhythms
@section Rhythms
<c e g>2 <c f a>4-> <e g c>-.
@end lilypond
-For more information about chords, see @ref{Modern chords}.
+For more information about chords, see @ref{Chord notation}.
@seealso
@rlearning{Combining notes into chords}.
Notation Reference:
-@ref{Modern chords}.
+@ref{Chord notation}.
Snippets:
@rlsr{Simultaneous notes}.
the respective variables, so you can use them afterwards to print the
music.
+@warning{Bar checks @code{|} must be used, and the measures must
+be of the same length.}
+
@lilypond[quote,fragment,verbatim]
\parallelMusic #'(voiceA voiceB) {
+ % Bar 1
r8 g'16[ c''] e''[ g' c'' e''] r8 g'16[ c''] e''[ g' c'' e''] |
c'2 c'2 |
+
+ % Bar 2
r8 a'16[ d''] f''[ a' d'' f''] r8 a'16[ d''] f''[ a' d'' f''] |
c'2 c'2 |
}
>>
@end lilypond
+Relative mode may be used. Note that the @code{\relative} command
+is not used inside @code{\parallelMusic} itself. The notes are
+relative to the preceding note in the voice, not to the previous
+note in the input -- in other words, relative notes for
+@code{voiceA} ignore the notes in @code{voiceB}.
+
+@lilypond[quote,fragment,verbatim]
+\parallelMusic #'(voiceA voiceB) {
+ % Bar 1
+ r8 g16 c e g, c e r8 g,16 c e g, c e |
+ c2 c |
+
+ % Bar 2
+ r8 a,16 d f a, d f r8 a,16 d f a, d f |
+ c2 c |
+ }
+\new StaffGroup <<
+ \new Staff \relative c'' \voiceA
+ \new Staff \relative c' \voiceB
+>>
+@end lilypond
+
This works quite well for piano music. This example maps four
consecutive measures to four variables:
@lilypond[quote,verbatim]
-global = { \key g \major \time 2/4 }
-music = {
- \parallelMusic #'(voiceA voiceB voiceC voiceD) {
- % Bar 1
- a'8 b' c'' d'' |
- d'4 e' |
- c16 d e fis d e fis g |
- a,4 a,4 |
-
- % Bar 2
- e''8 fis'' g'' a'' |
- fis'4 g' |
- e16 fis g a fis g a b |
- a,4 a,4 |
-
- % Bar 3 ...
- }
+global = {
+ \key g \major
+ \time 2/4
}
-\score {
- \new PianoStaff <<
- \new Staff {
- \global
- <<
- \voiceA \\
- \voiceB
- >>
- }
- \new Staff {
- \global \clef bass
- <<
- \voiceC \\
- \voiceD
- >>
- }
- >>
+\parallelMusic #'(voiceA voiceB voiceC voiceD) {
+ % Bar 1
+ a8 b c d |
+ d4 e |
+ c16 d e fis d e fis g |
+ a4 a |
+
+ % Bar 2
+ e8 fis g a |
+ fis4 g |
+ e16 fis g a fis g a b |
+ a4 a |
+
+ % Bar 3 ...
+}
+
+\score {
+\new PianoStaff <<
+ \new Staff {
+ \global
+ <<
+ \relative c'' \voiceA \\
+ \relative c' \voiceB
+ >>
+ }
+ \new Staff {
+ \global \clef bass
+ <<
+ \relative c \voiceC \\
+ \relative c \voiceD
+ >>
+ }
+>>
}
@end lilypond
+
@seealso
Learning Manual:
@c \version "2.11.38"
-@c A menu is needed before every deeper *section nesting of @node's; run
-@c M-x texinfo-all-menus-update
-@c to automatically fill in these menus before saving changes
+@ignore
+GDP TODO list
+
+Negative numbers are allowed:
+> Are you sure? The following works well
+> \paper{
+> first-page-number = -2
+> }
+> and prints page number -1 on the second page, for example.
+
+
+- default paper size is A4.
+
+
+In 5.2.1 the @refbugs (line 495 in spacing.itely on master) it
+states:
+
+"@code{layout-set-staff-size} does not change the distance between
+the
+staff lines."
+
+Could we add a sentence:
+"Use instead the pair fontSize = #@var{N}
+ \override StaffSymbol #'staff-space = #(magstep
+@var{N})
+inside the Staff context to change the size of the font and the
+distance between
+staff lines accordingly."
+
+Actually I found, that the @internalsref{StaffSymbol} at line 481
+sends to an uncomplete
+documentation. The property staff-space is not explained here. I
+thought Y-extent might be of
+help, but it is in turn explained by x-space which again is
+missing from the list. Who has the
+knowledge to fix this?
+
+@end ignore
@node Spacing issues
@chapter Spacing issues
examples in the manual, see @ref{How to read the manual}.}
@cindex case sensitive
-In addition, LilyPond input is @strong{case sensitive}. @code{
-@{ c d e @}} is valid input; @code{@{ C D E @}} will produce an
-error message.
+In addition, LilyPond input is @strong{case sensitive}.
+@w{@code{@{ c d e @}}} is valid input; @w{@code{@{ C D E @}}} will
+produce an error message.
@smallspace
@subsubheading MacOS X
-If you double click @code{LilyPond.app}, it will open with an
+If you double click @command{LilyPond.app}, it will open with an
example file. Save it, for example, to @file{test.ly} on your
-Desktop, and then process it with the menu command @code{Compile >
-Typeset File}. The resulting PDF file will be displayed on your
-screen.
+Desktop, and then process it with the menu command
+@w{@code{Compile > Typeset File}}. The resulting PDF file will be
+displayed on your screen.
For future use of LilyPond, you should begin by selecting @q{New}
or @q{Open}. You must save your file before typesetting it. If
middle C.
By adding (or removing) quotes @code{'} or commas @code{,} from
-the @code{\relative c' @{} command, we can change the starting
+the @w{@code{\relative c' @{}} command, we can change the starting
octave:
@lilypond[verbatim,quote,ragged-right]
To change a note by two (or more!) octaves, we use multiple
@code{''} or @code{,,} -- but be careful that you use two single
quotes @code{''} and not one double quote @code{"}@tie{}! The
-initial value in @code{\relative c'} may also be modified like
+initial value in @w{@code{\relative c'}} may also be modified like
this.
@c " - keeps quotes in order for context-sensitive editor -td
Music Glossary: @rglos{rest}.
A @notation{rest} is entered just like a note with the name
-@code{r}:
+@code{r}@tie{}:
@lilypond[verbatim,quote,ragged-right]
\relative c'' {
LilyPond input files are similar to source files in many common
programming languages. They are case sensitive, and white-space
is generally ignored. Expressions are formed with curly braces
-@{ @}, and comments are denoted with @code{%} or @code{%@{ ...
-%@}}.
+@{ @}, and comments are denoted with @code{%} or
+@w{@code{%@{ ... %@}}}.
If the previous sentences sound like nonsense, don't worry! We'll
explain what all these terms mean:
@cindex case sensitive
@item
@strong{Case sensitive}:
-it matters whether you enter a letter in lower case (e.g. @code{a,
-b, s, t}) or upper case (e.g. @code{A, B, S, T}). Notes are
-lower case: @code{@{ c d e @}} is valid input; @code{@{ C D E @}}
-will produce an error message.
+it matters whether you enter a letter in lower case (e.g.
+@w{@code{a, b, s, t}}) or upper case (e.g. @w{@code{A, B, S, T}}).
+Notes are lower case: @w{@code{@{ c d e @}}} is valid input;
+@w{@code{@{ C D E @}}} will produce an error message.
@item
@strong{Whitespace insensitive}:
it does not matter how many spaces (or new lines) you add.
-@code{@{ c d e @}} means the same thing as @code{@{ c @tie{}
-@tie{} @tie{} d e @}} and:
+@w{@code{@{ c d e @}}} means the same thing as
+@w{@code{@{ c @tie{}} @tie{} @tie{} d e @}} and:
@example
@{ c d
ambiguities.
A LilyPond command followed by a simple expression in braces (such
-as @code{\relative @{ @}}) also counts as a single music
+as @w{@code{\relative @{ @}}}) also counts as a single music
expression.
@cindex comments
@subsection How to read the manual
LilyPond input must be surrounded by @{ @} marks or a
-@code{\relative c'' @{ ... @}}, as we saw in @ref{Working on input
-files}. For the rest of this manual, most examples will omit
-this. To replicate the examples, you may copy and paste the
-displayed input but you @strong{must} add the @code{\relative c''
-@{ @}} like this:
+@w{@code{\relative c'' @{ ... @}}}, as we saw in @ref{Working on
+input files}. For the rest of this manual, most examples will
+omit this. To replicate the examples, you may copy and paste the
+displayed input but you @strong{must} add the
+@w{@code{\relative c'' @{ @}}} like this:
@example
\relative c'' @{
Why omit the braces? Most examples in this manual can be inserted
into the middle of a longer piece of music. For these examples,
-it does not make sense to add @code{\relative c'' @{ @}} -- you
-should not place a @code{\relative} inside another
-@code{\relative}! If we included @code{\relative c'' @{ @}}
+it does not make sense to add @w{@code{\relative c'' @{ @}}} --
+you should not place a @code{\relative} inside another
+@code{\relative}! If we included @w{@code{\relative c'' @{ @}}}
around every example, you would not be able to copy a small
documentation example and paste it inside a longer piece of your
own. Most people want to add material to an existing piece, so we
}
@end lilypond
-Other staff groupings are introduced with
-@code{\new GrandStaff,} suitable for orchestral
-scores, and @code{\new ChoirStaff,} suitable for
-vocal scores. These staff groups each form another
-type of context, one that generates the brace at the
-left end of every system and also controls the extent
-of bar lines.
+Other staff groupings are introduced with @code{\new GrandStaff},
+suitable for orchestral scores, and @w{@code{\new ChoirStaff}},
+suitable for vocal scores. These staff groups each form another
+type of context, one that generates the brace at the left end of
+every system and also controls the extent of bar lines.
@seealso
bottom voice has them down.
Entering such parts is done by entering each voice as a sequence
-(with @code{@{...@}}) and combining these simultaneously,
-separating the voices with @code{\\}
+(with @w{@code{@{...@}}}) and combining these simultaneously,
+separating the voices with @code{\\}:
@lilypond[verbatim,quote,ragged-right,fragment,relative=2]
<<
@end lilypond
Note the curly brackets delimiting both the music and the lyrics,
-and the double angle brackets @code{<< ... >>} around the whole
-piece to show that the music and lyrics are to occur at the same
-time.
+and the double angle brackets @w{@code{<< ... >>}} around the
+whole piece to show that the music and lyrics are to occur at the
+same time.
@node Aligning lyrics to a melody
@subsection Aligning lyrics to a melody
>>
@end lilypond
-Here we have also used manual beaming (the square brackets @code{[
-]} ) to generate the beaming which is customarily used with lyrics
+Here we have also used manual beaming (the square brackets
+@code{[]} ) to generate the beaming which is customarily used with lyrics
(see @ref{Automatic and manual beams}).
As an alternative to using slurs, the melismata may be indicated
@cindex Internals Reference
@menu
-* Properties of layout objects::
-* Properties found in interfaces::
-* Types of properties::
+* Properties of layout objects::
+* Properties found in interfaces::
+* Types of properties::
@end menu
@node Properties of layout objects
@node Appearance of objects
@section Appearance of objects
-Let us now put what we have learnt into practice with a few
+Let us now put what we have learned into practice with a few
examples which show how tweaks may be used to change the
appearance of the printed music.
@section Placement of objects
@menu
-* Automatic behavior::
+* Automatic behavior::
* Within-staff objects::
* Outside staff objects::
@end menu
Here is a table of the commonest. The meaning of each is stated
where it is not obvious.
-@multitable @columnfractions .2 .2 .2 .4
-@headitem Down/Left
+@multitable @columnfractions .2 .2 .25 .35
+@headitem Down/Left
@tab Up/Right
@tab Revert
@tab Effect
other objects will be moved automatically if necessary to make
room and (b) the single override can apply to all instances of
the same type of object. Such properties include:
+
@itemize
@item
Instead of @code{padding}, the placement of groups of accidentals
is controlled by @code{left-padding} and @code{right-padding}.
These properties are to be found in the @code{AccidentalPlacement}
-object which, note, lives in the @strong{staff} context. Because
-accidentals are always positioned after and to the left of
-note heads only the @code{right-padding} property has any effect.
+object which, note, lives in the @strong{staff} context. In the
+type-setting process the note heads are type-set first and then
+the accidentals, if any, are added to the left of the note heads
+using the @code{right-padding} property to determine the separation
+from the note heads. So only the @code{right-padding} property of the
+@code{AccidentalPlacement} object has any effect on the placement
+of the accidentals.
The @code{staff-padding} property is closely related to the
@code{padding} property: @code{padding}
@code{self-alignment-X}
@cindex self-alignment-X property
-This property can be used to align the object to the left, to
+This property can be used to align the object to the left, to
the right, or to center it with respect to the parent object's
reference point. It may be used with all objects which support
the @code{self-alignment-interface}. In general these are objects
@section Further tweaking
@menu
-* Other uses for tweaks::
-* Using variables for tweaks::
-* Other sources of information::
-* Avoiding tweaks with slower processing::
-* Advanced tweaks with Scheme::
+* Other uses for tweaks::
+* Using variables for tweaks::
+* Other sources of information::
+* Avoiding tweaks with slower processing::
+* Advanced tweaks with Scheme::
@end menu
@node Other uses for tweaks
looking at the internal LilyPond files. To explore these, first
find the directory appropriate to your system, as follows:
-@strong{Linux}
+@strong{Download from lilypond.org: Linux}
Navigate to
-@file{@var{installdir}/lilypond/usr/share/lilypond/current/}
+@file{@var{INSTALLDIR}/lilypond/usr/share/lilypond/current/}
-@strong{MacOS X}
+@strong{Download from lilypond.org: MacOS X}
Navigate to
-@file{@var{installdir}/LilyPond.app/Contents/Resources/share/lilypond/current/}
+@file{@var{INSTALLDIR}/LilyPond.app/Contents/Resources/share/lilypond/current/}
by either @code{cd}-ing into this directory from the
Terminal, or control-clicking on the LilyPond application and
selecting @q{Show Package Contents}.
-@strong{Windows}
+@strong{Download from lilypond.org: Windows}
Using Windows Explorer, navigate to
-@file{@var{installdir}/LilyPond/usr/share/lilypond/current/}
+@file{@var{INSTALLDIR}/LilyPond/usr/share/lilypond/current/}
+
+@strong{Installed from a package manager or from source: all}
+
+Navigate to
+@file{@var{PREFIX}/share/lilypond/@var{X.Y.Z}/}, where
+@var{PREFIX} is set by your package manager or @code{configure}
+script, and @var{X.Y.Z} is the LilyPond version number.
+
+
+@smallspace
Within this directory the two interesting subdirectories are
@itemize
-@item @file{../ly/ } - contains files in LilyPond format
-@item @file{../scm/} - contains files in Scheme format
+@item @file{ly/} - contains files in LilyPond format
+@item @file{scm/} - contains files in Scheme format
@end itemize
-Let's begin by looking at some files in @file{../ly/}.
-Open @file{../ly/property-init.ly} in a text editor. The one
+Let's begin by looking at some files in @file{ly/}.
+Open @file{ly/property-init.ly} in a text editor. The one
you normally use for @code{.ly} files will be fine. This file
contains the definitions of all the standard LilyPond built-in
commands, such as @code{\stemUp} and @code{\slurDotted}. You will
head of your input file.
The following are the most useful files to be found in
-@file{../ly/}:
+@file{ly/}:
@multitable @columnfractions .4 .6
@headitem Filename
@tab Contents
-@item @file{../ly/engraver-init.ly}
+@item @file{ly/engraver-init.ly}
@tab Definitions of engraver Contexts
-@item @file{../ly/paper-defaults.ly}
+@item @file{ly/paper-defaults.ly}
@tab Specifications of paper-related defaults
-@item @file{../ly/performer-init.ly}
+@item @file{ly/performer-init.ly}
@tab Definitions of performer Contexts
-@item @file{../ly/property-init.ly}
+@item @file{ly/property-init.ly}
@tab Definitions of all common built-in commands
@end multitable
@multitable @columnfractions .4 .6
@headitem Filename
@tab Contents
-@item @file{../scm/auto-beam.scm}
+@item @file{scm/auto-beam.scm}
@tab Sub-beaming defaults
-@item @file{../scm/define-grobs.scm}
+@item @file{scm/define-grobs.scm}
@tab Default settings for grob properties
-@item @file{../scm/define-markup-commands.scm}
+@item @file{scm/define-markup-commands.scm}
@tab Specify all markup commands
-@item @file{../scm/midi.scm}
+@item @file{scm/midi.scm}
@tab Default settings for MIDI output
-@item @file{../scm/output-lib.scm}
+@item @file{scm/output-lib.scm}
@tab Settings that affect appearance of frets, colors,
accidentals, bar lines, etc
-@item @file{../scm/parser-clef.scm}
+@item @file{scm/parser-clef.scm}
@tab Definitions of supported clefs
-@item @file{../scm/script.scm}
+@item @file{scm/script.scm}
@tab Default settings for articulations
@end multitable
-
-
This section includes extra information for writing for unfretted
string instruments.
-@ignore
-The subsection on Bowed instruments is commmented out
-until we have something to say about them -td
-@end ignore
-
@menu
-* Common notation for unfretted strings::
-@c * Bowed instruments::
-* Plucked instruments::
+* Common notation for unfretted strings::
+* Bowed instruments::
+* Plucked instruments::
@end menu
@node Common notation for unfretted strings
@subsection Common notation for unfretted strings
@menu
-* References for unfretted strings::
+* References for unfretted strings::
@end menu
@node References for unfretted strings
@subsubsection References for unfretted strings
-@c TODO Add refs to fingerings, \thumb, bowings
+@c TODO Add refs to fingerings, \thumb
@c TODO Add multiple fingering indications?
-@c TODO Add snippet showing pizzicato markings
TBC
@c TODO Decide whether to resurrect Bowed instruments subsection
@c and if so which of the above should go there
-@ignore
@node Bowed instruments
@subsection Bowed instruments
@menu
-* Artificial harmonics (strings)::
+* References for bowed strings::
@end menu
-@node Artificial harmonics (strings)
-@subsubsection Artificial harmonics (strings)
+@node References for bowed strings
+@subsubsection References for bowed strings
+
+@c link to slurs, articulation (for \upbow \downbow). maybe
+@c an example as well.
+@c TODO Add snippet showing pizzicato markings
@cindex artificial harmonics
<c g'\harmonic>4
@end lilypond
-@end ignore
@node Plucked instruments
@subsection Plucked instruments
+
@menu
-* Harp::
+* Harp::
@end menu
@node Harp
@subsubsection Harp
-Sacred Harp notation uses four shaped note heads. In the major,
-the tonic is a triangle and then proceeding up the scale you
-have circle, square, triangle, circle, square, diamond. In the
-minor, the shapes should be assigned to keep the same interval
-relationships, e.g. you assign them for the relative major. (This
-means that the scale in the minor gives the tonic a square.)
+TBC
-@c TODO add example of \sacredHarpHeads, or a ref?
+Some possibilities:
+- glissandi
+- tremolo (for bisbigliando)
+- natural harmonics
+- directional arpeggio and non-arpeggio
+- workaroung for keeping both staves visible in an orchestral
+ score,
+http://lists.gnu.org/archive/html/lilypond-user/2007-08/msg00386.html
+and http://lsr.dsi.unimi.it/LSR/Item?u=1&id=312
+An LSR snippet could be used to demonstrate the main items; in the
+case of glissandi, it would be desirable to have a demonstration
+of different styles.
-@knownissues
-The \sacredHarpHeads command gives the wrong shapes when the key
-is minor. A work-around is to switch the key to the relative
-major to obtain the right shapes.
This section includes extra information for writing for bagpipes.
@menu
-* Common notation::
+* Common notation for wind instruments::
* Bagpipes::
@end menu
-@node Common notation
-@subsection Common notation
+@node Common notation for wind instruments
+@subsection Common notation for wind instruments
@menu
* References for wind instruments::
@subsection Foo
commands.
+* Please leave two blank lines above a @node; this makes it easier
+ to find sections in texinfo.
+
* sectioning commands (@node and @section) must not appear inside
an @ignore. Separate those commands with a space, ie @n ode.
* Comments should go on their own line, and be placed before the
line(s) to which they refer.
+* Add extra spaces around { } marks; ie
+ not: \chordmode {c e g}
+ but instead: \chordmode { c e g }
+
* If you only have one bar per line, omit bar checks. If you
put more than one bar per line (not recommended), then include
bar checks.
Do not compress vertically like this.
@code{} - typeset in a tt-font. Use for actual lilypond code or
- property/context names.
+ property/context names. If the name contains a space, wrap
+ the entire thing inside @w{@code{ }}.
@notation{} - refers to pieces of notation, e.g.
"@notation{cres.}". Also use to specific lyrics ("the
@notation{A - men} is centered")
src-ext = c cc yy ll hh icc py scm tex ps texi itexi tely itely sh
-web-clean: snippets-clean
- $(MAKE) out=www clean
- $(MAKE) $(tree-share-prefix)/lilypond-force
+web-clean: snippets-clean $(tree-share-prefix)/lilypond-force
default: $(config_h) build-dir-setup
Reinhold Kainhofer - musicxml2ly development
Erlend Aasland
Stan Sanderson - Regression Checker
+Neil Puttock
GRAND DOCUMENTATION PROJECT
Till Retting - NR Rewriter
Ralph Palmer - NR Rewriter
Patrick McCarty - NR Rewriter
+Andrew Hawryluk - NR Rewriter
+Jonathan Kulp - NR Rewriter
Kurt Kroon - Glossary Updates
Alard de Boer - Formatting
Michael Rasmussen - Formatting
check_texi_refs.py
Interactive Texinfo cross-references checking and fixing tool
-
"""
import re
import os
import optparse
+import imp
outdir = 'out-www'
log = sys.stderr
stdout = sys.stdout
-warn_not_fixed = "*** Warning: this broken x-ref has not been fixed!\n"
+file_not_found = 'file not found in include path'
+
+warn_not_fixed = '*** Warning: this broken x-ref has not been fixed!\n'
opt_parser = optparse.OptionParser (usage='check_texi_refs.py [OPTION]... FILE',
description='''Check and fix \
dest='interactive',
default=True)
+opt_parser.add_option ('-c', '--check-comments',
+ help="Also check commented out x-refs",
+ action='store_true',
+ dest='check_comments',
+ default=False)
+
opt_parser.add_option ('-p', '--check-punctuation',
- help="Check for punctuation after x-ref",
+ help="Check punctuation after x-refs",
action='store_true',
dest='check_punctuation',
default=False)
+opt_parser.add_option ("-I", '--include', help="add DIR to include path",
+ metavar="DIR",
+ action='append', dest='include_path',
+ default=[os.path.abspath (os.getcwd ())])
+
(options, files) = opt_parser.parse_args ()
class InteractionError (Exception):
pass
+manuals_defs = imp.load_source ('manuals_defs', files[0])
manuals = {}
+
+def find_file (name, prior_directory='.'):
+ p = os.path.join (prior_directory, name)
+ out_p = os.path.join (prior_directory, outdir, name)
+ if os.path.isfile (p):
+ return p
+ elif os.path.isfile (out_p):
+ return out_p
+
+ # looking for file in include_path
+ for d in options.include_path:
+ p = os.path.join (d, name)
+ if os.path.isfile (p):
+ return p
+
+ # file not found in include_path: looking in `outdir' subdirs
+ for d in options.include_path:
+ p = os.path.join (d, outdir, name)
+ if os.path.isfile (p):
+ return p
+
+ raise EnvironmentError (1, file_not_found, name)
+
+
exit_code = 0
def set_exit_code (n):
global exit_code
exit_code = max (exit_code, n)
+
if options.interactive:
try:
import readline
def search_prompt ():
return None
+
ref_re = re.compile (r'@(ref|ruser|rlearning|rprogram|rglos)\{([^,\\]*?)\}(.)',
re.DOTALL)
node_include_re = re.compile (r'(?m)^@(node|include)\s+(.+?)$')
whitespace_re = re.compile (r'\s+')
line_start_re = re.compile ('(?m)^')
-manuals_to_refs = {'lilypond': 'ruser',
- 'lilypond-learning': 'rlearning',
- 'lilypond-program': 'rprogram',
- # 'lilypond-snippets': 'rlsr',
- 'music-glossary': 'rglos'}
-
def which_line (index, newline_indices):
"""Calculate line number of a given string index
sup = m
return inf + 1
-def read_file (f, d):
- """Look for all node names and cross-references in a Texinfo document
-Return a dictionary with three keys:
+comments_re = re.compile ('(?<!@)(@c(?:omment)? \
+.*?\\n|^@ignore\\n.*?\\n@end ignore\\n)', re.M | re.S)
- 'manual' contains the cross-reference
-macro name which matches the base name of f in global manuals_to_refs
-dictionary,
+def calc_comments_boundaries (texinfo_doc):
+ return [(m.start (), m.end ()) for m in comments_re.finditer (texinfo_doc)]
- 'nodes' is a dictionary of `node name':(file name, line number),
-
- 'contents' is a dictionary of file:`full file contents'.
- 'newline_indices' is a dictionary of
-file:[list of beginning-of-line string indices]
+def is_commented_out (start, end, comments_boundaries):
+ for k in range (len (comments_boundaries)):
+ if (start > comments_boundaries[k][0]
+ and end <= comments_boundaries[k][1]):
+ return True
+ elif end <= comments_boundaries[k][0]:
+ return False
+ return False
-Included files that can be read are processed too.
-"""
+def read_file (f, d):
s = open (f).read ()
- # TODO (maybe as option)
- # s = trim_comments (s)
base = os.path.basename (f)
dir = os.path.dirname (f)
- if d == {}:
- d['manual'] = manuals_to_refs.get (os.path.splitext (base)[0], '')
- print "Processing manual %s(%s)" % (f, d['manual'])
- d['nodes'] = {}
- d['contents'] = {}
- d['newline_indices'] = {}
- d['newline_indices'][f] = [m.end () for m in line_start_re.finditer (s)]
d['contents'][f] = s
+ d['newline_indices'][f] = [m.end () for m in line_start_re.finditer (s)]
+ if options.check_comments:
+ d['comments_boundaries'][f] = []
+ else:
+ d['comments_boundaries'][f] = calc_comments_boundaries (s)
+
for m in node_include_re.finditer (s):
if m.group (1) == 'node':
line = which_line (m.start (), d['newline_indices'][f])
d['nodes'][m.group (2)] = (f, line)
elif m.group (1) == 'include':
- p = os.path.join (dir, m.group (2))
- if os.path.isfile (p):
- read_file (p, d)
- else:
- p = os.path.join (dir, outdir, m.group (2))
- if os.path.isfile (p):
- read_file (p, d)
- return d
+ try:
+ p = find_file (m.group (2), dir)
+ except EnvironmentError, (errno, strerror):
+ if strerror == file_not_found:
+ continue
+ else:
+ raise
+ read_file (p, d)
+
+
+def read_manual (name):
+ """Look for all node names and cross-references in a Texinfo document
+
+Return a (manual, dictionary) tuple where manual is the cross-reference
+macro name defined by references_dict[name], and dictionary
+has the following keys:
+
+ 'nodes' is a dictionary of `node name':(file name, line number),
+
+ 'contents' is a dictionary of file:`full file contents',
+
+ 'newline_indices' is a dictionary of
+file:[list of beginning-of-line string indices],
+
+ 'comments_boundaries' is a list of (start, end) tuples,
+which contain string indices of start and end of each comment.
+
+Included files that can be found in the include path are processed too.
+
+"""
+ d = {}
+ d['nodes'] = {}
+ d['contents'] = {}
+ d['newline_indices'] = {}
+ d['comments_boundaries'] = {}
+ manual = manuals_defs.references_dict.get (name, '')
+ try:
+ f = find_file (name + '.tely')
+ except EnvironmentError, (errno, strerror):
+ if not strerror == file_not_found:
+ raise
+ else:
+ try:
+ f = find_file (name + '.texi')
+ except EnvironmentError, (errno, strerror):
+ if strerror == file_not_found:
+ sys.stderr.write (name + '.{texi,tely}: ' +
+ file_not_found + '\n')
+ return (manual, d)
+ else:
+ raise
+
+ log.write ("Processing manual %s (%s)\n" % (f, manual))
+ read_file (f, d)
+ return (manual, d)
+
log.write ("Reading files...\n")
-manuals = dict ([(d['manual'], d)
- for d in [read_file (f, dict ()) for f in files]])
+manuals = dict ([read_manual (name)
+ for name in manuals_defs.references_dict.keys ()])
ref_fixes = set ()
+bad_refs_count = 0
fixes_count = 0
def add_fix (old_type, old_ref, new_type, new_ref):
ref_fixes.add ((old_type, old_ref, new_type, new_ref))
+
def lookup_fix (r):
found = []
for (old_type, old_ref, new_type, new_ref) in ref_fixes:
n = ''
return (text, n)
+
def choose_in_numbered_list (message, string_list, sep=' ', retries=3):
S = set (string_list)
S.discard ('')
t -= 1
raise InteractionError ("%d retries limit exceeded" % retries)
+
def check_ref (manual, file, m):
- global fixes_count
+ global fixes_count, bad_refs_count
+ bad_ref = False
type = m.group (1)
original_name = m.group (2)
name = whitespace_re.sub (' ', original_name). strip ()
line = which_line (m.start (), newline_indices)
linebroken = '\n' in m.group (2)
next_char = m.group (3)
+ commented_out = is_commented_out \
+ (m.start (), m.end (), manuals[manual]['comments_boundaries'][file])
+ useful_fix = not outdir in file
- # check for puncuation after x-ref
+ # check puncuation after x-ref
if options.check_punctuation and not next_char in '.,;:!?':
- stdout.write ("Warning: %s: %d: `%s': x-ref not followed by punctuation\n"
- % (file, line, name))
+ stdout.write ("Warning: %s: %d: `%s': x-ref \
+not followed by punctuation\n" % (file, line, name))
# validate xref
explicit_type = type
new_name = name
- if type != 'ref' and type == manual:
+ if type != 'ref' and type == manual and not commented_out:
+ bad_ref = True
stdout.write ("\n%s: %d: `%s': external %s x-ref should be internal\n"
% (file, line, name, type))
if options.auto_fix or yes_prompt ("Fix this?"):
if type == 'ref':
explicit_type = manual
- if not name in manuals[explicit_type]['nodes']:
+ if not name in manuals[explicit_type]['nodes'] and not commented_out:
+ bad_ref = True
fixed = False
stdout.write ('\n')
if type == 'ref':
found.append (k)
stdout.write (" found as `%s' x-ref\n" % k)
- if len (found) == 1 and (options.auto_fix
- or yes_prompt ("Fix this x-ref?")):
+ if (len (found) == 1
+ and (options.auto_fix or yes_prompt ("Fix this x-ref?"))):
add_fix (type, name, found[0], name)
type = found[0]
fixed = True
- elif len (found) > 1:
+ elif len (found) > 1 and useful_fix:
if options.interactive or options.auto_fix:
stdout.write ("* Several manuals contain this node name, \
cannot determine manual automatically.\n")
else:
concatenated = choose_in_numbered_list ("Choose \
node name and manual for this x-ref by index number or beginning of name:\n", \
- [' '.join ([i[0], i[1], '(in %s)' % i[2]]) for i in node_list],
+ [' '.join ([i[0], i[1], '(in %s)' % i[2]])
+ for i in node_list],
sep='\n')
if concatenated:
t, z = concatenated.split (' ', 1)
fixed = True
break
+ if fixed and type == manual:
+ type = 'ref'
+ bad_refs_count += int (bad_ref)
+ if bad_ref and not useful_fix:
+ stdout.write ("*** Warning: this file is automatically generated, \
+please fix the code source manually.\n")
+
# compute returned string
if new_name == name:
return ('@%s{%s}' % (type, original_name)) + next_char
manuals[key]['contents'][file])
if s != manuals[key]['contents'][file]:
open (file, 'w').write (s)
-
except KeyboardInterrupt:
log.write ("Operation interrupted, exiting.\n")
sys.exit (2)
-
except InteractionError, instance:
log.write ("Operation refused by user: %s\nExiting.\n" % instance)
sys.exit (3)
-log.write ("Done, fixed %d x-refs.\n" % fixes_count)
+log.write ("Done, %d bad x-refs found, fixed %d.\n" %
+ (bad_refs_count, fixes_count))
--- /dev/null
+#!/usr/bin/python
+
+# This module is imported by check_texi_refs.py
+
+references_dict = {
+ 'lilypond': 'ruser',
+ 'lilypond-learning': 'rlearning',
+ 'lilypond-program': 'rprogram',
+ 'lilypond-snippets': 'rlsr',
+ 'music-glossary': 'rglos',
+ 'lilypond-internals': 'rinternals' }
# urg, can't name itely templates foo.itely.in because of standard rule
-STEPMAKE_TEMPLATES=documentation texinfo tex
+STEPMAKE_TEMPLATES=documentation texinfo
LOCALSTEPMAKE_TEMPLATES=lilypond ly
EXTRA_DIST_FILES += README $(call src-wildcard,*.snippet-list)
+default:
+
ifneq ($(out),)
MAIN_INFO_DOC = lilypond-snippets
INFO_DOCS = lilypond-snippets
DEST_INFO_IMAGES_SUBDIR = input/lsr
endif
-default:
-
include $(depth)/make/stepmake.make
IN_ITELY_FILES = $(call src-wildcard,*-intro.itely)
GENERATED_ITELY_FILES = $(IN_ITELY_FILES:%-intro.itely=$(outdir)/%.itely)
$(outdir)/%.itely: %-intro.itely %.snippet-list
- xargs $(PYTHON) $(buildscript-dir)/lys-to-tely.py -f printfilename,texidoc,verbatim --name=$@ --template=$< < $(filter %.snippet-list, $^)
+ xargs $(PYTHON) $(buildscript-dir)/lys-to-tely.py -f doctitle,texidoc,verbatim --name=$@ --template=$< < $(filter %.snippet-list, $^)
$(outdir)/lilypond-snippets.texi: $(GENERATED_ITELY_FILES) $(LY_FILES)
$(outdir)/lilypond-snippets/index.html \
$(outdir)/lilypond-snippets-big-page.html \
$(source-links)
+
+.SECONDARY:
@include version.itexi
+@macro lydoctitle{TEXT}
+@section \TEXT\
+@end macro
+
@dircategory GNU LilyPond --- the music typesetter
@direntry
* LilyPond Snippets: (lilypond-snippets). Short tricks, tips, and examples.
--- /dev/null
+\version "2.11.46"
+
+\header {
+ texidoc= "The voice follower is not confused when set for consecutive
+sets of staff switches."
+}
+
+\new PianoStaff \relative c' <<
+ \new Staff = "one" {
+ c4
+ \showStaffSwitch
+ \change Staff = two
+ a4
+ \hideStaffSwitch
+ \change Staff = one
+ c4
+ \showStaffSwitch
+ \change Staff = two
+ a4
+ \hideStaffSwitch
+ }
+ \new Staff = "two" { \clef bass s1 }
+>>
{
public:
DECLARE_SCHEME_CALLBACK (y_offset_callback, (SCM));
+ DECLARE_SCHEME_CALLBACK (calc_cross_staff, (SCM));
DECLARE_GROB_INTERFACE();
static string glyph_name (Grob *, int, string, bool);
static SCM brew_internal_stencil (Grob*, bool);
Note_head_line_engraver::acknowledge_rhythmic_head (Grob_info info)
{
head_ = info.grob ();
- if (to_boolean (get_property ("followVoice")))
+ Context *tr = context ();
+
+ while (tr && !tr->is_alias (ly_symbol2scm ("Staff")))
+ tr = tr->get_parent_context ();
+
+ if (tr
+ && tr->is_alias (ly_symbol2scm ("Staff")) && tr != last_staff_
+ && to_boolean (get_property ("followVoice")))
{
- Context *tr = context ();
- while (tr && !tr->is_alias (ly_symbol2scm ("Staff")))
- tr = tr->get_parent_context ();
-
- if (tr
- && tr->is_alias (ly_symbol2scm ("Staff")) && tr != last_staff_)
- {
- if (last_head_)
- follow_ = true;
- last_staff_ = tr;
- }
+ if (last_head_)
+ follow_ = true;
}
+ last_staff_ = tr;
}
void
return scm_from_double (amount);
}
+/* A rest might lie under a beam, in which case it should be cross-staff if
+ the beam is cross-staff because the rest's position depends on the
+ formatting of the beam. */
+MAKE_SCHEME_CALLBACK (Rest, calc_cross_staff, 1);
+SCM
+Rest::calc_cross_staff (SCM smob)
+{
+ Grob *me = unsmob_grob (smob);
+ Grob *stem = unsmob_grob (me->get_object ("stem"));
+
+ if (!stem)
+ return SCM_BOOL_F;
+
+ return stem->get_property ("cross-staff");
+}
+
/*
make this function easily usable in C++
*/
ANTI_ALIAS_FACTOR=2
LILYPOND_JOBS=$(if $(CPU_COUNT),-djob-count=$(CPU_COUNT),)
LANG_TEXIDOC_FLAGS:=$(foreach lang,$(LANGS),--header=texidoc$(lang))
+LANG_DOCTITLE_FLAGS:=$(foreach lang,$(LANGS),--header=doctitle$(lang))
LILYPOND_BOOK_LILYPOND_FLAGS=-dbackend=eps \
--formats=ps,png,pdf \
$(LILYPOND_JOBS) \
-dinclude-eps-fonts \
-dgs-load-fonts \
+--header=doctitle \
+$(LANG_DOCTITLE_FLAGS) \
--header=texidoc \
$(LANG_TEXIDOC_FLAGS) \
-I $(top-src-dir)/input/manual \
(Y-extent . ,ly:rest::height)
(Y-offset . ,ly:rest::y-offset-callback)
(minimum-distance . 0.25)
+ (cross-staff . ,ly:rest::calc-cross-staff)
(meta . ((class . Item)
(interfaces . (font-interface
rhythmic-head-interface
RAGGED_RIGHT = 'ragged-right'
RELATIVE = 'relative'
STAFFSIZE = 'staffsize'
+DOCTITLE = 'doctitle'
TEXIDOC = 'texidoc'
TEXINFO = 'texinfo'
VERBATIM = 'verbatim'
NOFRAGMENT,
NOINDENT,
PRINTFILENAME,
+ DOCTITLE,
TEXIDOC,
LANG,
VERBATIM,
map (consider_file, [base + '.tex',
base + '.eps',
base + '.texidoc',
- base + '.texidoc' + document_language,
+ base + '.doctitle',
base + '-systems.texi',
base + '-systems.tex',
base + '-systems.pdftexi'])
+ if document_language:
+ map (consider_file,
+ [base + '.texidoc' + document_language,
+ base + '.doctitle' + document_language])
# UGH - junk global_options
if (base + '.eps' in result and self.format in (HTML, TEXINFO)
def output_texinfo (self):
str = self.output_print_filename (TEXINFO)
base = self.basename ()
+ if DOCTITLE in self.option_dict:
+ doctitle = base + '.doctitle'
+ translated_doctitle = doctitle + document_language
+ if os.path.exists (translated_doctitle):
+ str += '@lydoctitle %s\n' % open (translated_doctitle).read ()
+ elif os.path.exists (doctitle):
+ str += '@lydoctitle %s\n' % open (doctitle).read ()
if TEXIDOC in self.option_dict:
texidoc = base + '.texidoc'
translated_texidoc = texidoc + document_language
web:
$(MAKE) out=www WWW
$(MAKE) out=www WWW-post
+
+web-clean:
+ $(MAKE) out=www clean