]> git.donarmstrong.com Git - lilypond.git/commitdiff
Merge branch 'master' of git://git.sv.gnu.org/lilypond
authorMats Bengtsson <mats.bengtsson@s3.kth.se>
Tue, 1 Apr 2008 16:19:50 +0000 (18:19 +0200)
committerMats Bengtsson <mats.bengtsson@s3.kth.se>
Tue, 1 Apr 2008 16:19:50 +0000 (18:19 +0200)
425 files changed:
.gitignore
Documentation/GNUmakefile
Documentation/TRANSLATION
Documentation/es/user/ancient.itely
Documentation/es/user/bagpipes.itely
Documentation/es/user/chords.itely
Documentation/es/user/converters.itely
Documentation/es/user/editorial.itely
Documentation/es/user/expressive.itely
Documentation/es/user/fundamental.itely
Documentation/es/user/guitar.itely
Documentation/es/user/input.itely
Documentation/es/user/introduction.itely
Documentation/es/user/lilypond-book.itely
Documentation/es/user/lilypond-learning.tely
Documentation/es/user/non-music.itely
Documentation/es/user/percussion.itely
Documentation/es/user/piano.itely
Documentation/es/user/programming-interface.itely
Documentation/es/user/repeats.itely
Documentation/es/user/rhythms.itely
Documentation/es/user/running.itely
Documentation/es/user/scheme-tutorial.itely
Documentation/es/user/simultaneous.itely
Documentation/es/user/spacing.itely
Documentation/es/user/staff.itely
Documentation/es/user/strings.itely
Documentation/es/user/text.itely
Documentation/es/user/tweaks.itely
Documentation/es/user/vocal.itely
Documentation/es/user/working.itely
Documentation/fr/user/lilypond-learning.tely
Documentation/fr/user/lilypond-program.tely
Documentation/fr/user/lilypond.tely
Documentation/fr/user/pitches.itely
Documentation/po/de.po
Documentation/po/es.po
Documentation/po/fr.po
Documentation/po/lilypond-doc.pot
Documentation/translations.html.in
Documentation/user/ancient.itely
Documentation/user/bagpipes.itely
Documentation/user/changing-defaults.itely
Documentation/user/chords.itely
Documentation/user/converters.itely
Documentation/user/editorial.itely
Documentation/user/expressive.itely
Documentation/user/fundamental.itely
Documentation/user/guitar.itely
Documentation/user/input.itely
Documentation/user/install.itely
Documentation/user/introduction.itely
Documentation/user/lilypond-book.itely
Documentation/user/macros.itexi
Documentation/user/music-glossary.tely
Documentation/user/non-music.itely
Documentation/user/notation-appendices.itely
Documentation/user/pitches.itely
Documentation/user/policy.txt
Documentation/user/programming-interface.itely
Documentation/user/repeats.itely
Documentation/user/rhythms.itely
Documentation/user/running.itely
Documentation/user/scheme-tutorial.itely
Documentation/user/setup.itely
Documentation/user/spacing.itely
Documentation/user/staff.itely
Documentation/user/templates.itely
Documentation/user/text.itely
Documentation/user/tutorial.itely
Documentation/user/tweaks.itely
Documentation/user/vocal.itely
Documentation/user/working.itely
Documentation/user/writing-texinfo.txt
THANKS
VERSION
buildscripts/add_html_footer.py
buildscripts/buildlib.py [new file with mode: 0644]
buildscripts/check_translation.py
buildscripts/generate_intervals.py [deleted file]
buildscripts/generate_keys.py [deleted file]
buildscripts/generate_timesignatures.py [deleted file]
buildscripts/makelsr.py
buildscripts/musicxml_generate_intervals.py [new file with mode: 0755]
buildscripts/musicxml_generate_keys.py [new file with mode: 0755]
buildscripts/musicxml_generate_timesignatures.py [new file with mode: 0755]
buildscripts/translations-status.py
flower/file-name.cc
flower/include/rational.hh
flower/include/std-vector.hh
input/GNUmakefile
input/lsr/adding-ambiti-per-voice.ly
input/lsr/adding-beams,-slurs,-ties-etc.-when-using-tuplet-and-non-tuplet-rythms..ly
input/lsr/adding-drum-parts.ly
input/lsr/adding-parentheses-around-an-expressive-mark-or-chordal-note.ly [new file with mode: 0644]
input/lsr/adding-parentheses-around-an-expressive-mark.ly [deleted file]
input/lsr/adding-the-current-date-to-a-score.ly
input/lsr/adding-volta-brackets-to-additional-staves.ly [new file with mode: 0644]
input/lsr/aligning-lyrics.ly
input/lsr/allowing-fingerings-to-be-printed-inside-the-staff.ly [new file with mode: 0644]
input/lsr/altering-the-number-of-stems-in-a-beam.ly
input/lsr/ambiti-multiple-voices.ly
input/lsr/ancient-notation.snippet-list
input/lsr/applying-notehead-styles-depending-on-the-step-of-the-scale.ly [new file with mode: 0644]
input/lsr/applying-noteheads-styles-depending-on-the-step-of-the-scale.ly [deleted file]
input/lsr/automatic-beam-subdivisions.ly [deleted file]
input/lsr/automatic-beams-two-per-two-in-4-4-or-2-2-time-signature.ly
input/lsr/beam-across-line-breaks.ly [deleted file]
input/lsr/beams-across-line-breaks.ly [new file with mode: 0644]
input/lsr/blanking-staff-lines-using-the--whiteout-command.ly
input/lsr/breaks.snippet-list
input/lsr/breathing-sign.ly
input/lsr/broken-crescendo-hairpin.ly
input/lsr/caesura-railtracks-with-fermata.ly
input/lsr/center-text-below-hairpin-dynamics.ly
input/lsr/changing--flageolet-mark-size.ly
input/lsr/changing-a-single-notes-size-in-a-chord.ly [new file with mode: 0644]
input/lsr/changing-an-individual-notes-size-in-a-chord.ly [deleted file]
input/lsr/changing-form-of-multi--measure-rests.ly [new file with mode: 0644]
input/lsr/changing-the-appearance-of-a-slur-from-solid-to-dotted-or-dashed.ly
input/lsr/changing-the-default-text-font-family.ly
input/lsr/changing-the-tuplet-number.ly [new file with mode: 0644]
input/lsr/changing-time-signatures-inside-a-polymetric-section-using--compressmusic.ly
input/lsr/chant-or-psalms-notation.ly
input/lsr/chords.snippet-list
input/lsr/clefs-commonly-tweaked-properties.ly
input/lsr/clusters.ly
input/lsr/coloring-objects.ly [deleted file]
input/lsr/combining-dynamics-with-markup-texts.ly
input/lsr/combining-two-parts-on-the-same-staff.ly
input/lsr/compound-time-signatures.ly
input/lsr/conducting-signs,-measure-grouping-signs.ly
input/lsr/contemporary-glissando.ly
input/lsr/contexts-and-engravers.snippet-list
input/lsr/controlling-the-placement-of-chord-fingerings.ly [new file with mode: 0644]
input/lsr/controlling-tuplet-bracket-visibility.ly
input/lsr/creating-a-sequence-of-notes-on-various-pitches.ly
input/lsr/creating-blank-staves.ly
input/lsr/creating-real-parenthesized-dynamics.ly
input/lsr/creating-text-spanners.ly
input/lsr/default-direction-of-stems-on-the-center-line-of-the-staff.ly [new file with mode: 0644]
input/lsr/demo-midiinstruments.ly
input/lsr/demonstrating-all-headers.ly
input/lsr/display-bracket-with-only-one-staff-in-a-system.ly [new file with mode: 0644]
input/lsr/dodecaphonic-style-accidentals-for-each-note-including-naturals.ly
input/lsr/editorial-and-educational-use.snippet-list
input/lsr/engraving-ties-manually.ly [new file with mode: 0644]
input/lsr/entering-several-tuplets-using-only-one--times-command.ly
input/lsr/expressive-marks.snippet-list
input/lsr/forcing-rehearsal-marks-to-start-from-a-given-letter-or-number.ly
input/lsr/formatting-lyrics-syllables.ly
input/lsr/grid-lines-changing-their-appearance.ly [new file with mode: 0644]
input/lsr/grid-lines-emphasizing-rhythms-and-notes-synchronization.ly [new file with mode: 0644]
input/lsr/heavily-customized-polymetric-time-signatures.ly
input/lsr/inserting-score-fragments-above-the-staff,-as-markups.ly
input/lsr/jazz-combo-template.ly
input/lsr/lilypond-snippets.tely
input/lsr/making-some-staff-lines-thicker-than-the-others.ly [new file with mode: 0644]
input/lsr/manually-controlling-beam-positions.ly
input/lsr/mensurstriche-layout-bar-lines-between-the-staves.ly [new file with mode: 0644]
input/lsr/modifying-tuplet-bracket-length.ly
input/lsr/non-traditional-key-signatures.ly
input/lsr/ottava-text.ly
input/lsr/permitting-line-breaks-within-beamed-tuplets.ly [new file with mode: 0644]
input/lsr/piano-music.snippet-list
input/lsr/pitches.snippet-list
input/lsr/positioning-multi--measure-rests.ly [new file with mode: 0644]
input/lsr/preventing-extra-naturals-from-being-automatically-added.ly
input/lsr/preventing-natural-signs-from-being-printed-when-the-key-signature-changes.ly
input/lsr/printing-music-with-different-time-signatures.ly
input/lsr/repeats.snippet-list
input/lsr/rest-styles.ly
input/lsr/rhythmic-slashes.ly
input/lsr/rhythms.snippet-list
input/lsr/shortening-volta-brackets.ly [new file with mode: 0644]
input/lsr/simultaneous-notes.snippet-list
input/lsr/skips-in-lyric-mode-2.ly
input/lsr/skips-in-lyric-mode.ly
input/lsr/spacing.snippet-list
input/lsr/staff-notation.snippet-list
input/lsr/text.snippet-list
input/lsr/three-sided-box.ly
input/lsr/tweaks-and-overrides.snippet-list
input/lsr/using-ties-with-arpeggios.ly [new file with mode: 0644]
input/new/broken-crescendo-hairpin.ly [new file with mode: 0644]
input/new/changing-form-of-multi--measure-rests.ly [new file with mode: 0644]
input/new/makam.ly
input/new/making-an-object-invisible-with-the-transparent-property.ly
input/new/positioning-multi--measure-rests.ly [new file with mode: 0644]
input/new/quoting-another-voice-with-transposition.ly
input/new/transposing-pitches-with-minimum-accidentals-smart-transpose.ly
input/regression/parenthesize-singlenotes-chords-rests.ly [new file with mode: 0644]
input/regression/part-combine-text.ly
input/regression/spacing-measure-length.ly
input/texidocs/GNUmakefile [new file with mode: 0644]
input/texidocs/preventing-extra-naturals-from-being-automatically-added.texidoc [new file with mode: 0644]
lily/accidental-engraver.cc
lily/accidental.cc
lily/align-interface.cc
lily/ambitus-engraver.cc
lily/ambitus.cc
lily/arpeggio-engraver.cc
lily/arpeggio.cc
lily/auto-beam-engraver.cc
lily/axis-group-engraver.cc
lily/axis-group-interface.cc
lily/balloon-engraver.cc
lily/balloon.cc
lily/bar-engraver.cc
lily/bar-line.cc
lily/bar-number-engraver.cc
lily/beam-engraver.cc
lily/beam-performer.cc
lily/beam.cc
lily/bend-engraver.cc
lily/break-align-engraver.cc
lily/break-alignment-interface.cc
lily/breathing-sign-engraver.cc
lily/breathing-sign.cc
lily/chord-name-engraver.cc
lily/chord-name.cc
lily/chord-tremolo-engraver.cc
lily/clef-engraver.cc
lily/clef.cc
lily/cluster-engraver.cc
lily/cluster.cc
lily/collision-engraver.cc
lily/completion-note-heads-engraver.cc
lily/control-track-performer.cc
lily/custos-engraver.cc
lily/custos.cc
lily/default-bar-line-engraver.cc
lily/dot-column-engraver.cc
lily/dot-column.cc
lily/dots-engraver.cc
lily/dots.cc
lily/drum-note-engraver.cc
lily/drum-note-performer.cc
lily/dynamic-engraver.cc
lily/dynamic-performer.cc
lily/enclosing-bracket.cc
lily/engraver-group.cc
lily/engraver.cc
lily/extender-engraver.cc
lily/figured-bass-continuation.cc
lily/figured-bass-engraver.cc
lily/figured-bass-position-engraver.cc
lily/fingering-engraver.cc
lily/font-interface.cc
lily/font-size-engraver.cc
lily/forbid-break-engraver.cc
lily/fretboard-engraver.cc
lily/glissando-engraver.cc
lily/grace-engraver.cc
lily/grace-spacing-engraver.cc
lily/gregorian-ligature.cc
lily/grid-line-interface.cc
lily/grid-line-span-engraver.cc
lily/grid-point-engraver.cc
lily/grob-pq-engraver.cc
lily/grob.cc
lily/hairpin.cc
lily/hara-kiri-engraver.cc
lily/hara-kiri-group-spanner.cc
lily/horizontal-bracket-engraver.cc
lily/horizontal-bracket.cc
lily/hyphen-engraver.cc
lily/include/axis-group-interface.hh
lily/include/lily-guile.hh
lily/include/midi-stream.hh
lily/instrument-name-engraver.cc
lily/instrument-switch-engraver.cc
lily/item.cc
lily/key-engraver.cc
lily/key-performer.cc
lily/key-signature-interface.cc
lily/laissez-vibrer-engraver.cc
lily/ledger-line-engraver.cc
lily/ledger-line-spanner.cc
lily/ligature-bracket-engraver.cc
lily/line-interface.cc
lily/line-spanner.cc
lily/lyric-engraver.cc
lily/lyric-extender.cc
lily/lyric-hyphen.cc
lily/lyric-performer.cc
lily/mark-engraver.cc
lily/measure-grouping-engraver.cc
lily/measure-grouping-spanner.cc
lily/melody-engraver.cc
lily/melody-spanner.cc
lily/mensural-ligature-engraver.cc
lily/mensural-ligature.cc
lily/metronome-engraver.cc
lily/multi-measure-rest-engraver.cc
lily/multi-measure-rest.cc
lily/new-fingering-engraver.cc
lily/note-collision.cc
lily/note-column.cc
lily/note-head-line-engraver.cc
lily/note-head.cc
lily/note-heads-engraver.cc
lily/note-name-engraver.cc
lily/note-performer.cc
lily/note-spacing-engraver.cc
lily/note-spacing.cc
lily/ottava-bracket.cc
lily/ottava-engraver.cc
lily/output-property-engraver.cc
lily/page-breaking-scheme.cc
lily/page-turn-engraver.cc
lily/paper-column-engraver.cc
lily/paper-column.cc
lily/parenthesis-engraver.cc
lily/part-combine-engraver.cc
lily/percent-repeat-item.cc
lily/performer-group.cc
lily/phrasing-slur-engraver.cc
lily/piano-pedal-align-engraver.cc
lily/piano-pedal-bracket.cc
lily/piano-pedal-engraver.cc
lily/piano-pedal-performer.cc
lily/pitch-squash-engraver.cc
lily/pitched-trill-engraver.cc
lily/repeat-acknowledge-engraver.cc
lily/repeat-tie-engraver.cc
lily/rest-collision-engraver.cc
lily/rest-collision.cc
lily/rest-engraver.cc
lily/rest.cc
lily/rhythmic-column-engraver.cc
lily/rhythmic-head.cc
lily/score-engraver.cc
lily/score-performer.cc
lily/script-column-engraver.cc
lily/script-column.cc
lily/script-engraver.cc
lily/script-interface.cc
lily/script-row-engraver.cc
lily/self-aligment-interface.cc
lily/semi-tie-column.cc
lily/semi-tie.cc
lily/separating-line-group-engraver.cc
lily/separation-item.cc
lily/side-position-interface.cc
lily/slash-repeat-engraver.cc
lily/slur-engraver.cc
lily/slur-performer.cc
lily/slur.cc
lily/spaceable-grob.cc
lily/spacing-engraver.cc
lily/spacing-interface.cc
lily/spacing-spanner.cc
lily/span-arpeggio-engraver.cc
lily/span-bar-engraver.cc
lily/span-bar.cc
lily/spanner-break-forbid-engraver.cc
lily/spanner.cc
lily/staff-collecting-engraver.cc
lily/staff-performer.cc
lily/staff-spacing.cc
lily/staff-symbol-engraver.cc
lily/staff-symbol-referencer.cc
lily/staff-symbol.cc
lily/stanza-number-align-engraver.cc
lily/stanza-number-engraver.cc
lily/stem-engraver.cc
lily/stem-tremolo.cc
lily/stem.cc
lily/string-number-engraver.cc
lily/swallow-engraver.cc
lily/swallow-perf.cc
lily/system-start-delimiter-engraver.cc
lily/system-start-delimiter.cc
lily/system.cc
lily/tab-harmonic-engraver.cc
lily/tab-note-heads-engraver.cc
lily/tab-staff-symbol-engraver.cc
lily/tempo-performer.cc
lily/text-engraver.cc
lily/text-interface.cc
lily/text-spanner-engraver.cc
lily/tie-column.cc
lily/tie-engraver.cc
lily/tie-formatting-problem.cc
lily/tie-performer.cc
lily/tie.cc
lily/time-signature-engraver.cc
lily/time-signature-performer.cc
lily/time-signature.cc
lily/timing-translator.cc
lily/translator.cc
lily/trill-spanner-engraver.cc
lily/tuplet-bracket.cc
lily/tuplet-engraver.cc
lily/tuplet-number.cc
lily/tweak-engraver.cc
lily/type-swallow-translator.cc
lily/vaticana-ligature-engraver.cc
lily/vaticana-ligature.cc
lily/vertical-align-engraver.cc
lily/vertically-spaced-context-engraver.cc
lily/volta-bracket.cc
lily/volta-engraver.cc
ly/engraver-init.ly
ly/music-functions-init.ly
ly/property-init.ly
make/doclang-vars.make
make/lilypond-vars.make
make/ly-rules.make
make/ly-vars.make
python/musicexp.py
scm/define-grob-properties.scm
scm/document-backend.scm
scm/document-identifiers.scm
scm/document-music.scm
scm/document-translation.scm
scm/documentation-lib.scm
scm/framework-eps.scm
scm/output-lib.scm
scripts/lilypond-book.py
scripts/midi2ly.py
scripts/musicxml2ly.py
stepmake/stepmake/metafont-vars.make
tex/texinfo.tex

index 014cbcf08c8def43529e5d3365ab55d26903733f..ad4f7605c342ed3d5ba1c2b541989653db523a74 100644 (file)
@@ -64,6 +64,7 @@ configure
 gcstat*.scm
 lily-[0-9a-f][0-9a-f][0-9a-f]*
 nohup.out
+out
 out-cov
 out-scons
 out-test
index 8f7228053ec2bc593c38b2a0408839f28c8f567f..dbf4805d50c3dd3b45b38566e0c5028a2517b270 100644 (file)
@@ -30,7 +30,7 @@ txt-to-html:
 po-update:
        make -C po po-update
 
-all-translations-update: po-update
+all-translations-update: po-update translation-status
        $(foreach lang, $(LANGS), make ISOLANG=$(lang) skeleton-update snippet-update &&) true
 
 ifneq ($(ISOLANG),)
@@ -43,14 +43,13 @@ new-lang:
        cp fr/GNUmakefile $(ISOLANG)
        cp fr/user/GNUmakefile $(ISOLANG)/user
        sed -i -e 's/ISOLANG *= *fr/ISOLANG = $(ISOLANG)/' $(ISOLANG)/GNUmakefile $(ISOLANG)/user/GNUmakefile
-       $(PYTHON) $(buildscript-dir)/texi-langutils.py -d $(outdir) -b "UNTRANSLATED NODE: IGNORE ME" -l $(ISOLANG) -o doc.pot --skeleton --gettext ../user/lilypond.tely
+       $(PYTHON) $(buildscript-dir)/texi-langutils.py -d $(outdir) -b "UNTRANSLATED NODE: IGNORE ME" -l $(ISOLANG) -o doc.pot --skeleton --gettext ../user/lilypond-learning.tely
        mv $(outdir)/*.*tely $(ISOLANG)/user
        msgmerge -U po/lilypond-doc.pot $(outdir)/doc.pot
        cp po/lilypond-doc.pot po/$(ISOLANG).po
        @echo "***  Please add a language definition for $(ISOLANG) in buildscripts/langdefs.py  ***"
 
-check-translation:
-       find $(ISOLANG)/user/ -maxdepth 1 -name '*.*te??' | xargs $(PYTHON) $(buildscript-dir)/check_translation.py $(buildscript-dir) $(ISOLANG)/index.html.in
+CHECKED_FILES = $(ISOLANG)/index.html.in $(shell find $(ISOLANG)/user/ -maxdepth 1 -name '*.*te??')
 
 TELY_FILES = $(call src-wildcard,$(ISOLANG)/user/*.tely)
 skeleton-update:
@@ -59,8 +58,15 @@ skeleton-update:
 
 snippet-update:
        $(PYTHON) $(buildscript-dir)/update-snippets.py user $(ISOLANG)/user '*.itely'
+
 endif
 
+check-translation:
+       $(PYTHON) $(buildscript-dir)/check_translation.py $(buildscript-dir) $(CHECKED_FILES)
+
+update-translation:
+       $(PYTHON) $(buildscript-dir)/check_translation.py --update $(buildscript-dir) $(CHECKED_FILES)
+
 translation-status:
        make -C po out=www messages
        $(PYTHON) $(buildscript-dir)/translations-status.py $(buildscript-dir) po/out-www
index 61b2e6d02d0cd796e682021639eaaa54c2eaa1c6..16e9231e920ca3d8df972cb1c13b6952c2b3c590 100644 (file)
@@ -3,14 +3,21 @@ LILYPOND DOCUMENTATION TRANSLATION
 
 SOURCES
 
-The sources live in a GIT repository.  Git 1.4.4.1 or newer is
-required, and Git 1.5.x is highly recommended.  To get a fresh version
-of LilyPond sources run
+The sources live in a GIT repository.  Git 1.5.x is required, and
+latest version available on your platform is always recommended.  To
+get a fresh version of LilyPond sources run
 
-    mkdir lily ; cd lily
-    git init-db
-    git fetch git://git.sv.gnu.org/lilypond.git/ refs/heads/lilypond/translation:lilypond/translation
-    git checkout -b mytranslations lilypond/translation
+    mkdir lily ; cd lily ; git init-db ; mkdir .git/refs/remotes/origin
+
+then write the two following lines to a text file named .git/remotes/trans
+
+URL: git://git.sv.gnu.org/lilypond.git/
+Pull: lilypond/translation:refs/remotes/origin/lilypond/translation
+
+then run
+
+    git fetch trans
+    git checkout -b lilypond/translation origin/lilypond/translation
 
 
 GIT
@@ -74,95 +81,79 @@ Translation of Documentation/foo/bar should be
 Documentation/<LANG>/foo/bar.
 Unmentioned files should not be translated.
 
-Priorities:  1. delivery, 2. 3. 4. 5. later, 6. optional.
+Priorities:
+  1. delivery
+  2. 3. 4. 5. later
+  6. optional
 
 Files marked with priority 3, 4 or 5 may be submitted individually.
+Word counts (excluding lilypond snippets) are given for each file.
 
--1- Documentation index, Tutorial and Cheat Sheet
-1 user/lilypond.tely
-1 user/tutorial.itely
-1 user/dedication.itely
-1 user/cheatsheet.itely
-1 index.html.in
-  po/<MY-LANGUAGE>.po
+-1- Documentation index and Tutorial
+396   user/lilypond-learning.tely
+5593  user/tutorial.itely
+23    user/dedication.itely
+216   index.html.in
+2022  po/lilypond-doc.pot (translate to po/<MY_LANGUAGE>.po)
+8250  total
 
 In addition, user/macros.itexi may be translated in case typographic
 rules used in this file are different in your language.
 
--2- User manual introduction
-2 user/preface.itely
-2 user/introduction.itely
+-2- Introduction and beginning of Application Usage
+411   user/preface.itely
+3198  user/introduction.itely
+374   user/lilypond-program.tely
+1477  user/install.itely (partial translation)
+947   user/setup.itely
+2860  user/running.itely
+9267  total
 
 -3- Learning manual
-3 user/putting.itely -- Putting it all together
-3 user/working.itely -- Working on LilyPond files
-3 user/tweaks.itely -- Tweaking output
+8626  user/fundamental.itely -- Fundamental concepts
+12134 user/tweaks.itely -- Tweaking output
+2985  user/working.itely -- Working on LilyPond files
+483   user/templates.itely -- Templates
+24228 total
 
 -4- Notation reference
-4 user/basic-notation.itely -- Basic notation
-4 user/instrument-notation.itely -- Instrument-specific notation
-4 user/advanced-notation.itely -- Advanced notation
-4 user/changing-defaults.itely -- Changing defaults
-4 user/non-music.itely -- Non-musical notation
-4 user/spacing.itely -- Spacing issues
-4 user/programming-interface.itely -- Interfaces for programmers
-4 user/scheme-tutorial.itely -- Scheme tutorial
-
--5- Program usage
-5 user/lilypond-program.tely
-5 user/install.itely -- How to install or compile
-5 user/running.itely -- Running LilyPond
-5 user/lilypond-book.itely -- LilyPond-book
-5 user/converters.itely -- Converting from other formats
+539   user/lilypond.tely
+91    user/notation.itely -- Musical notation
+2808  user/pitches.itely
+7336  user/rhythms.itely
+1681  user/expressive.itely
+725   user/repeats.itely
+916   user/simultaneous.itely
+1861  user/staff.itely
+879   user/editorial.itely
+2336  user/text.itely
+54    user/specialist.itely -- Specialist notation
+2630  user/vocal.itely
+1275  user/chords.itely
+702   user/piano.itely
+481   user/percussion.itely
+826   user/guitar.itely
+66    user/strings.itely
+242   user/bagpipes.itely
+4289  user/ancient.itely
+2458  user/input.itely -- Input syntax
+2164  user/non-music.itely -- Non-musical notation
+8399  user/spacing.itely -- Spacing issues
+5149  user/changing-defaults.itely -- Changing defaults
+4547  user/programming-interface.itely -- Interfaces for programmers
+935   user/notation-appendices.itely -- Notation manual tables
+250   user/cheatsheet.itely -- Cheat sheet
+53639 total
+
+-5- Application usage
+2917  user/lilypond-book.itely -- LilyPond-book
+975   user/converters.itely -- Converting from other formats
+3892  total
 
 -6- Appendices whose translation is optional
-6 user/literature.itely
-6 user/templates.itely
-6 user/notation-appendices.itely
-
-* WORD COUNTS FOR CATEGORIES
-
-LANG=C wc --words $(grep ^1 TRANSLATION | cut -d ' ' -f 2)
-  777 user/lilypond.tely
- 6322 user/tutorial.itely
-   63 user/dedication.itely
-  632 user/cheatsheet.itely
-  361 index.html.in
- 8155 total
-
-LANG=C wc --words $(grep ^2 TRANSLATION | cut -d ' ' -f 2)
-  451 user/preface.itely
- 4170 user/introduction.itely
- 4621 total
-
-LANG=C wc --words $(grep ^3 TRANSLATION | cut -d ' ' -f 2)
- 2230 user/putting.itely
- 3232 user/working.itely
- 2327 user/tweaks.itely
- 7789 total
-
-LANG=C wc --words $(grep ^4 TRANSLATION | cut -d ' ' -f 2)
- 12391 user/basic-notation.itely
- 15779 user/instrument-notation.itely
-  9530 user/advanced-notation.itely
-  7386 user/changing-defaults.itely
-  3884 user/non-music.itely
-  8318 user/spacing.itely
-  4781 user/programming-interface.itely
-   915 user/scheme-tutorial.itely
- 62984 total
-
-LANG=C wc --words $(grep ^5 TRANSLATION | cut -d ' ' -f 2)
- 3566 user/running.itely
- 3549 user/lilypond-book.itely
- 1062 user/converters.itely
- 8177 total
-
-LANG=C wc --words $(grep ^6 TRANSLATION | cut -d ' ' -f 2)
-  339 user/literature.itely
- 4648 user/templates.itely
-  836 user/notation-appendices.itely
- 5823 total
+299   user/literature.itely
+960   user/scheme-tutorial.itely (needs to be revised first)
+1259  total
 
 
 TRANSLATION DETAILED INSTRUCTIONS
@@ -171,7 +162,7 @@ Please follow all these instructions with care to ensure quality work.
 
 All files should be encoded in UTF-8.
 
-* USER MANUAL
+* LEARNING MANUAL AND OTHER TEXINFO DOCUMENTATION
 
 Any title which comes with one of the following commands must not be
 translated directly in the Texinfo source
@@ -218,6 +209,22 @@ Otherwise the music snippet would be reset to the same contents as the
 English version at next 'make snippet-update' run (see UPDATING A
 TRANSLATION below).
 
+When you encounter
+
+  @lilypondfile[<number of fragment options>,texidoc]{FILENAME.ly}
+
+in the source, open input/lsr/FILENAME.ly, translate the texidoc
+string it contains, enclose it with 'texidoc<MY-LANGUAGE> = "' and
+'"', and write it into input/texidocs/FILENAME.texidoc -- please keep
+possibly existing translations in other languages!  For instance,
+input/texidocs/FILENAME.texidoc may contain
+
+texidoces = "
+Spanish translation blah
+"
+texidocde = "German translation foo
+"
+
 
 @example blocs need not be verbatim copies, e.g. variable names,
 file names and comments should be translated.
@@ -230,12 +237,13 @@ please ask the Translation meister and/or the Documentation Editor on
 lilypond-devel@gnu.org.
 
 
-* PROGRAM USAGE MANUAL
+* REFERENCE NOTATION AND PROGRAM USAGE MANUAL
 
-Copy user/lilypond-program.tely into <MY-LANGUAGE>/user, then
-translate this file and run skeleton-update (see UPDATE A TRANSLATION
-below).  Your are now ready to translate program usage manual exactly
-like the user manual.
+Copy user/lilypond.tely (or user/lilypond-program.tely, respectively)
+into <MY-LANGUAGE>/user, then translate this file and run
+skeleton-update (see UPDATE A TRANSLATION below).  Your are now ready
+to translate notation reference (program usage manual, respectively)
+exactly like the learning manual.
 
 
 * DOCUMENTATION INDEX index.html.in
@@ -253,14 +261,45 @@ replace 'make' with 'make -C Documentation') and run
     make ISOLANG=<MY_LANGUAGE> check-translation
 
 This presents a diff of the original files since the most recent
-revision of the translation.  To check a single file, run
+revision of the translation.  To check a single file, cd into
+Documentation and run
+
+    make CHECKED_FILES=<MY-LANGUAGE>/user/foo.itely check-translation
+
+
+Small tip: to see only which files need to be updated, do
 
-    python buildscripts/check_translation.py buildscripts Documentation/<MY-LANGUAGE>/user/foo.itely
+    make ISOLANG=<MY_LANGUAGE> check-translation | grep 'diff --git'
 
 
+Global state of the translation is recorded in
+Documentation/translations.html.in, which is used to generate
+Translations status page.  To update that page, do from Documentation/
+
+    make translation-status
+
+This will also leave out/translations-status.txt, which contains
+up-to-dateness percentages for each translated file.
+
 
 UPDATE A TRANSLATION
 
+Instead of running check-translation, you can run update-translation,
+which will run your favorite text editor to update files.  First, make
+sure environment variable EDITOR is set to a text editor command, then
+run from Documentation
+
+    make ISOLANG=<MY-LANGUAGE> update-translation
+
+or to update a single file
+
+    make CHECKED_FILES=<MY-LANGUAGE>/user/foo.itely update-translation
+
+For each file to be udpated, update-translation will open your text
+editor with this file and a diff of the file in English; if the diff
+cannot be generated or is bigger than the file in English itself, the
+full file in English will be opened instead.
+
 Texinfo skeleton files, i.e. .itely files not yet translated,
 containing only the Texinfo structure can be updated automatically:
 whenever 'make check-translation' shows that such files should be
@@ -298,6 +337,99 @@ enabled languages (from Documentation):
 This command is mainly intended to be used by the Translation meister.
 
 
+MISCELLANEOUS: DEALING WITH SEVERAL GIT BRANCHES
+
+* It is possible to work with several branches on the same local Git
+repository; this is especially useful for translators who may have to
+deal with both lilypond/translation and a stable branch
+(e.g. stable/2.12 or lilypond/translation-2.12).  To fetch and check
+out a new branch named BRANCH on git.sv.gnu.org, write the two
+following lines to a text file named .git/remotes/SHORTHAND --
+SHORTHAND is the name of the remote file, i.e. whatever easy-to-type
+name you would like to use when pulling or pushing BRANCH, and usually
+SHORTHAND is an abbreviation of BRANCH without slashes
+
+URL: git://git.sv.gnu.org/lilypond.git/
+Pull: BRANCH:refs/remotes/origin/BRANCH
+
+Then, run
+
+    git fetch SHORTHAND
+    git checkout -b BRANCH origin/BRANCH
+
+After this, you are able to pull BRANCH from git.sv.gnu.org with
+
+    git pull SHORTHAND
+
+You can check out another branch OTHER_BRANCH, i.e. check out
+OTHER_BRANCH to the working tree, with
+
+    git checkout OTHER_BRANCH
+
+E.g. lilypond/translation, which you still have in your local Git
+repository but is no longer checked out since you have created the new
+branch BRANCH.
+
+Note that it is possible to check out another branch while having
+uncommitted changes, but it is not recommended unless you know what
+you are doing; it is recommended to run 'git status' to check this
+kind of issue before checking ouy another branch.
+
+When pulling using SHORTHAND, do not forget to check first that the
+right branch is checked out, i.e. the branch named A in the first part
+of the "A:B" refspec in .git/remotes/SHORTHAND: as a matter of fact,
+when you pull using A:B refspec, Git fetch A on the server as B remote
+branch on your local repository, then tries to merge B into the
+currently checked out branch.
+
+To remember which branch is currently checked out, run 'git branch',
+which will list all branches and mark the currently checked out branch
+with a star, or 'git status'.
+
+
+* To merge branch FOO into branch BAR, i.e. to "add" all changes made
+in branch FOO to branch BAR, run
+
+    git checkout BAR
+    git merge FOO
+
+If any conflict happens, please carefully follow the instructions
+given by 'git merge' -- you usually must resolve conflicts with a text
+editor by merging pieces of files marked with "<<<" "===" and ">>>",
+removing these 3 kinds of conflict marks, then commit the result
+exactly like a usual commit.
+
+For example, as a translator, you will often want to merge master into
+lilypond/translation; on the other hand, the Translations meister
+wants to merge lilypond/translation into master whenever he has
+checked that lilypond/translation builds successfully.
+
+
+* If you play with several Git branches (e.g. master,
+lilypond/translation, stable/2.12), you may want to have one source
+and build tree for each branch; this is possible with subdirectories
+of your local Git repository, used as local cloned subrepositories.
+To create a local clone for the branch named BRANCH, run
+
+    git checkout BRANCH
+    git clone -l -s -n . SUBDIR
+    cd SUBDIR
+    git reset --hard
+
+Note that SUBDIR must be a directory name which does not already
+exist.  In SUBDIR, you can use all Git commands to browse revisions
+history, commit and uncommit changes; to update the cloned
+subrepository with changes made on the main repository, cd into SUBDIR
+and run 'git pull'; to send changes made on the subrepository back to
+the main repository, run 'git push' from SUBDIR.  Note that only one
+branch (the currently checked out branch) is created in the
+subrepository by deafult; it is possible to have several branches in a
+subrepository and do usual operations (checkout, merge, create,
+delete...) on these branches, but this is more difficult to manage
+them and sync them with the main repository, so this possibility is
+not detailed here.
+
+
 TECHNICAL BACKGROUND
 
 A number of Python scripts handle a part of the documentation
@@ -318,3 +450,5 @@ before calling texi2pdf
 and documentation in other languages
 * update-snippets.py -- synchronize ly snippets with those from
 English docs
+* translations-status.py -- update translations status pages and word
+counts in the file you are reading
index f6143d3be08d8766e9e988b191f657727de79906..d9442910547767ce4f61475b97d0603ae3d995aa 100644 (file)
@@ -1,7 +1,7 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 @c This file is part of lilypond.tely
 @ignore
-    Translation of GIT committish: 459d5b872a370b53f61e747784fb56cf23f56e4b
+    Translation of GIT committish: d619d9858609c54377a0652eaa7cb843b103742d
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  See TRANSLATION for details.
 
 El tratamiento de la notación antigua incluye posibilidades orientadas a la notación mensural
 y de Canto Gregoriano.  También se contempla de forma limitada la notación del
-bajo figurado.
+bajo cifrado.
 
 Muchos objetos gráficos ofrecen una propiedad @code{style}, consulte
-@itemize @bullet
+@itemize
 @item
 @ref{Ancient note heads},
 @item
@@ -43,10 +43,10 @@ sin necesidad de introducir ningún concepto notacional
 nuevo.
 
 Además de los signos de articulación estándar que se describen en la sección
-@ref{Articulations}, se ofrecen signos de articulación específicos para la notación
+@ref{Articulations and ornamentations}, se ofrecen signos de articulación específicos para la notación
 antigua.
 
-@itemize @bullet
+@itemize
 @item
 @ref{Ancient articulations}
 @end itemize
@@ -56,7 +56,7 @@ en términos de cambiar simplemente una propiedad de estilo de un objeto gráfic
 símbolos de articulación.  Ciertos conceptos notacionales se introducen específicamente para
 la notación antigua,
 
-@itemize @bullet
+@itemize
 @item
 @ref{Custodes},
 @item
@@ -71,22 +71,22 @@ manera de personalizar un contexto, puede echarles un vistazo a los contextos
 predefinidos.  Úselos para preparar contextos de voz y de pentagrama específicos de un estilo,
 y luego pase directamente a introducir las notas,
 
-@itemize @bullet
+@itemize
 @item
 @ref{Gregorian Chant contexts},
 @item
 @ref{Mensural contexts}.
 @end itemize
 
-Se contempla de forma limitada la notación del bajo figurado que apareció en el
+Se contempla de forma limitada la notación del bajo cifrado que apareció en el
 período barroco.
 
-@itemize @bullet
+@itemize
 @item
 @ref{Figured bass}
 @end itemize
 
-Aquí puede ver de forma resumida todos los apartados relacionados:
+@c Aquí puede ver de forma resumida todos los apartados relacionados:
 
 @menu
 * Ancient TODO::                
@@ -118,7 +118,7 @@ Aquí puede ver de forma resumida todos los apartados relacionados:
 
 
 @node Ancient note heads
-@unnumberedsubsubsec Ancient note heads
+@subsubsection Ancient note heads
 
 @cindex cabezas de nota antiguas
 
@@ -160,7 +160,7 @@ de las ligaduras.
 
 
 @node Ancient accidentals
-@unnumberedsubsubsec Ancient accidentals
+@subsubsection Ancient accidentals
 
 @cindex alteraciones accidentales
 
@@ -219,7 +219,7 @@ controlar a través de la propiedad @code{glyph-name-alist} del elemento gráfic
 
 @seealso
 
-En el presente manual: @ref{Pitches}, @ref{Cautionary accidentals} y
+En el presente manual: @ref{Pitches}, @ref{Accidentals} y
 @ref{Automatic accidentals} proporcionan una introducción general al uso de las
 alteraciones.  @ref{Key signature} ofrece una introducción general al uso de
 las armaduras de tonalidad.
@@ -229,7 +229,7 @@ Referencia del programa: @internalsref{KeySignature}.
 Ejemplos: @lsrdir{ancient}
 
 @node Ancient rests
-@unnumberedsubsubsec Ancient rests
+@subsubsection Ancient rests
 
 @cindex silencios antiguos
 
@@ -265,7 +265,7 @@ silencios.
 
 
 @node Ancient clefs
-@unnumberedsubsubsec Ancient clefs
+@subsubsection Ancient clefs
 
 @cindex claves
 
@@ -504,7 +504,7 @@ La clave mensural de Sol está reasignada a la clave de Sol de Petrucci.
 
 
 @node Ancient flags
-@unnumberedsubsubsec Ancient flags
+@subsubsection Ancient flags
 
 @cindex corchetes
 
@@ -542,7 +542,7 @@ avanzadas de la notación clásica (que, de todas formas, por lo común se encue
 notación mensural).
 
 @node Ancient time signatures
-@unnumberedsubsubsec Ancient time signatures
+@subsubsection Ancient time signatures
 
 @cindex compás, indicación de
 
@@ -655,12 +655,12 @@ El símbolo @code{old6/8alt} (alternativo al símbolo de 6/8) no se puede
 seleccionar directamente con @code{\time}.  En su lugar, utilice un elemento de marcado @code{\markup}.
 
 @node Ancient articulations
-@unnumberedsubsubsec Ancient articulations
+@subsubsection Ancient articulations
 
 @cindex articulaciones
 
 Además de los signos de articulación estándar que se hallan descritos en la sección
-@ref{Articulations}, se proveen signos de articulación para la notación
+@ref{Articulations and ornamentations}, se proveen signos de articulación para la notación
 antigua.  Éstos están pensados específicamente para utilizarlos con la notación del estilo
 Editio Vaticana.
 
@@ -689,7 +689,7 @@ La línea episemática no se muestra en muchos casos.  Si se presenta,
 el extremo derecho de la línea episemática se encuentra a menudo demasiado lejos hacia la derecha.
 
 @node Custodes
-@unnumberedsubsubsec Custodes
+@subsubsection Custodes
 
 @cindex custos
 @cindex custodias
@@ -769,7 +769,7 @@ Ejemplos:
 
 
 @node Divisiones
-@unnumberedsubsubsec Divisiones
+@subsubsection Divisiones
 
 @cindex divisio
 @cindex divisiones
@@ -820,7 +820,7 @@ Ejemplos: @lsr{expressive,breathing-sign.ly}.
 
 
 @node Ligatures
-@unnumberedsubsubsec Ligatures
+@subsubsection Ligatures
 
 @cindex Ligaduras
 
@@ -878,7 +878,7 @@ que causa el mismo efecto y se supone que es lo bastante estable.
 @end menu
 
 @node White mensural ligatures
-@unnumberedsubsubsec White mensural ligatures
+@subsubsection White mensural ligatures
 
 @cindex ligaduras mensurales
 @cindex ligaduras mensurales blancas
@@ -967,7 +967,7 @@ de la siguiente manera:
 El espaciado horizontal es pobre.
 
 @node Gregorian square neumes ligatures
-@unnumberedsubsubsec Gregorian square neumes ligatures
+@subsubsection Gregorian square neumes ligatures
 
 @cindex ligaduras de neumas cuadrados
 @cindex ligaduras gregorianas de neumas cuadrados
@@ -1919,7 +1919,7 @@ función musical unaria, de forma que @code{\augmentum} pudiera entremezclarse
 con los prefijos de cabeza en un orden arbitrario.
 
 @node Gregorian Chant contexts
-@unnumberedsubsubsec Gregorian Chant contexts
+@subsubsection Gregorian Chant contexts
 
 @cindex VaticanaVoiceContext
 @cindex VaticanaStaffContext
@@ -1953,7 +1953,7 @@ como lo demuestra el siguiente fragmento
 
 
 @node Mensural contexts
-@unnumberedsubsubsec Mensural contexts
+@subsubsection Mensural contexts
 
 @cindex MensuralVoiceContext
 @cindex MensuralStaffContext
@@ -1985,7 +1985,7 @@ escribir el canto, como lo demuestra el siguiente fragmento
 @end lilypond
 
 @node Musica ficta accidentals
-@unnumberedsubsubsec Musica ficta accidentals
+@subsubsection Musica ficta accidentals
 
 En la música europea de hasta aprox. 1600, se esperaba de los cantantes que
 alterasen cromáticamente ciertas notas de acuerdo con su propia iniciativa. Esto recibe el nombre
@@ -2012,14 +2012,14 @@ Referencia del programa: el grabador @internalsref{Accidental_engraver} y el obj
 @internalsref{AccidentalSuggestion}.
 
 @node Figured bass
-@unnumberedsubsubsec Figured bass
+@subsubsection Figured bass
 
 @cindex Bajo continuo
 
 @c TODO: musicological blurb about FB
 
 
-LilyPond contempla el bajo figurado
+LilyPond contempla el bajo cifrado
 
 @lilypond[quote,ragged-right,verbatim,fragment]
 <<
@@ -2032,7 +2032,7 @@ LilyPond contempla el bajo figurado
 >>
 @end lilypond
 
-El soporte para el bajo figurado consta de dos partes: hay un modo de entrada,
+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).
@@ -2141,7 +2141,7 @@ dirección del signo más establecida en @code{figuredBassPlusDirection}
 @end lilypond
 
 
-Aunque posiblemente la forma en que está contemplado el bajo figurado se parece superficialmente a los
+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
 tal y como se han escrito.  No hay ninguna conversión a alturas de nota ni se reproduce ninguna realización
@@ -2152,7 +2152,7 @@ propiedades de los elementos de marcado textual para sobreescribir los detalles
 espaciado vertical de las cifras se puede establecer con @code{baseline-skip}.
 
 
-El bajo figurado también se puede añadir a contextos @code{Staff} (de pauta)
+El bajo cifrado también se puede añadir a contextos @code{Staff} (de pauta)
 directamente.  En este caso, su posición vertical se ajusta de
 forma automática.
 
@@ -2187,7 +2187,7 @@ cifras por debajo de las notas, utilice
 
 @knownissues
 
-Al usar bajos figurados por encima del pentagrama con líneas de extensión y
+Al usar bajos cifrados por encima del pentagrama con líneas de extensión y
 @code{implicitBassFigures}, las líneas podrían intercambiarse.
 Es imposible mantener el orden de forma consistente cuando varias cifras
 tienen líneas de extensión que se superponen.  Para evitar este problema, utilice
index b4c5b92b7e60f5ec41df4cfbcfec12858d60e6fe..a5532ff6c7286cc837397013091ee5cfe4e75401 100644 (file)
@@ -1,7 +1,7 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 @c This file is part of lilypond.tely
 @ignore
-    Translation of GIT committish: dab80970d8e89571263d16433aff1e6f878a8f62
+    Translation of GIT committish: 2607a3536733d8d4a1e74176027a5cb01d4e776a
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  See TRANSLATION for details.
@@ -27,7 +27,7 @@ This section includes extra information for writing for bagpipes.
 @end menu
 
 @node Bagpipe definitions
-@unnumberedsubsubsec Bagpipe definitions
+@subsubsection Bagpipe definitions
 
 LilyPond contiene definiciones especiales para la música de gaita escocesa de las
 tierras altas; para usarlas, escriba
@@ -68,7 +68,7 @@ ligera.
 
 
 @node Bagpipe example
-@unnumberedsubsubsec Bagpipe example
+@subsubsection Bagpipe example
 
 La conocida melodía Amazing Grace tiene este aspecto en notación de
 gaita.
index 18767400565491ca7c23f1f7f1879d4bbb6ce784..32044d12e253faf3248573c6ae9a4645de3f5f5f 100644 (file)
@@ -1,7 +1,7 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 @c This file is part of lilypond.tely
 @ignore
-    Translation of GIT committish: 459d5b872a370b53f61e747784fb56cf23f56e4b
+    Translation of GIT committish: 2607a3536733d8d4a1e74176027a5cb01d4e776a
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  See TRANSLATION for details.
@@ -31,7 +31,7 @@ Intro text.
 @c  awkward name; awkward section name.
 @c  still, the Basic "chords" seems like a good name...  :(
 @node Introducing chord names
-@unnumberedsubsubsec Introducing chord names
+@subsubsection Introducing chord names
 @cindex acordes, nombres
 
 LilyPond tiene la capacidad de imprimir nombres de acordes.  Los acordes se pueden introducir
@@ -67,7 +67,7 @@ Tenga en cuenta que la duración de los acordes se debe especificar fuera de los
 
 
 @node Chords mode
-@unnumberedsubsubsec Chords mode
+@subsubsection Chords mode
 @cindex Acordes, modo de
 
 En el modo de acordes, se introducen conjuntos de notas o acordes con sus nombres usuales.
@@ -203,7 +203,7 @@ simplemente produce el acorde aumentado, ya que el @code{5+} se interpreta en
 
 
 @node Printing chord names
-@unnumberedsubsubsec Printing chord names
+@subsubsection Printing chord names
 
 @cindex impresión de los nombres de acorde
 @cindex acordes, nombres de
index 22e411b3ba25f2aac4c6b27af7952e9906be0894..9e443ae57c9ad01fd03ffd148b2a80468141533e 100644 (file)
@@ -1,7 +1,7 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 @c This file is part of lilypond-program.tely
 @ignore
-    Translation of GIT committish: d9b4bfc69674eb4ed7b8c6eaa0b646f00eae6c8d
+    Translation of GIT committish: 66dde21fe63499f32a718f6098abe70e1429059b
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  See TRANSLATION for details.
index 6d167e41119b009cacbb97a05d770b3a84441d6b..4418e7818976510d2d173e21acfcc7b05a74979d 100644 (file)
@@ -1,6 +1,7 @@
-@c -*- coding: utf-8; mode: texinfo; -*-
+@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
+@c This file is included from notation.itely
 @ignore
-    Translation of GIT committish: 98ae4afd530d6a059a81356119d8138ed25b2650
+    Translation of GIT committish: aae416a0211bad0bbed5c82b91d80a83d21e8054
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  See TRANSLATION for details.
@@ -9,8 +10,10 @@
 @node Editorial annotations
 @section Editorial annotations
 
-@lilypondfile[ragged-right,line-width=16\cm,staffsize=16,quote]
-{editorial-headword.ly}
+@lilypondfile[quote]{editorial-headword.ly}
+
+Esta sección trata de las diversas maneras de modificar el aspecto de
+las notas y de aplicar énfasis analítico o educativo.
 
 @menu
 * Inside the staff::            
@@ -21,6 +24,8 @@
 @node Inside the staff
 @subsection Inside the staff
 
+Esta sección trata sobre cómo aplicar énfasis a los elementos situados
+dentro del pentagrama.
 
 @menu
 * Selecting notation font size::  
 @node Selecting notation font size
 @subsubsection Selecting notation font size
 
-UNTRANSLATED NODE: IGNORE ME
+@cindex fuente tipográfica, tamaño 
+@cindex fuente tipográfica, tamaño, seleccionar
+@cindex selección del tamaño de la fuente tipográfica
+
+El método más sencillo para establecer el tamaño de la tipografía de
+cualquier contexto es mediante el ajuste de la propiedad
+@code{fontSize}.
+
+@lilypond[quote,fragment,relative=2,verbatim,ragged-right]
+c4
+\set fontSize = #-4
+c f
+\set fontSize = #3
+g8 a
+@end lilypond
+
+@noindent
+No modifica el tamaño de los símbolos variables como barras o
+ligaduras de expresión.
+
+@cindex fuente tipográfica, escalado del tamaño
+
+Internamente, la propiedad de contexto @code{fontSize} produce que se
+eestablezca el valor de la propiedad @code{font-size} en todos los
+objetos de presentación.  El valor de @code{font-size} es un número
+que indica el tamaño relativo al tamaño estándar para la altura
+vigente del pentagrama.  Cada paso hacia arriba es un incremento de un
+12% del tamaño de la fuente, aproximadamente.  Seis pasos son
+exactamente un factor de dos.  La función de Scheme @code{magstep}
+convierte un número de tamaño @code{font-size} a un factor de
+escalado.  La propiedad @code{font-size} también se puede establecer
+directamente, de forma que queden afectados solamente determinados
+objetos gráficos.
+
+@lilypond[quote,fragment,relative=2,verbatim,ragged-right]
+c4
+\override NoteHead #'font-size = #-4
+c f
+\override NoteHead #'font-size = #3
+g8 a
+@end lilypond
+
+@cindex estándar, tamaño de la tipografía
+@cindex fuente tipográfica, tamaño estándar de
+
+Los cambios en el tamaño de la fuente se obtienen por medio del
+escalado del tamaño del diseño que se encuentra más cerca del tamaño
+deseado.  El tamaño estándar para la tipografía (para @code{font-size}
+igual a 0), depende de la altura estándar del pentagrama.  Para un
+pentagrama de 20 puntos, se selecciona una fuente de 10 puntos.
+
+La propiedad @code{font-size} sólo se puede establecer en objetos
+gráficos que utilicesn fuentes tipográficas.  Éstos son los que
+contemplan el interfaz de presentación @code{font-interface}.
+
+@predefined
+
+Las siguientes instrucciones establecen un valor de @code{fontSize}
+para la voz en curso:
+
+@funindex \tiny
+@code{\tiny},
+@funindex \small
+@code{\small},
+@funindex \normalsize
+@code{\normalsize}.
+
+@seealso
+
+Fragmentos de código: @lsrdir{Editorial,Editorial-annotations}.
 
+Referencia de funcionamiento interno: @internalsref{font-interface}.
 
 @node Fingering instructions
 @subsubsection Fingering instructions
@@ -277,7 +352,7 @@ a4 b c b
 @menu
 * Balloon help::                
 * Grid lines::                  
-* Blank music sheet::           
+* Analysis brackets::           
 @end menu
 
 @node Balloon help
index 6181779c02b0021b2629c0198a2525187fc4c300..b70f852b0b7e6511557e1d4f639545e3b72ec01d 100644 (file)
@@ -1,6 +1,6 @@
 @c -*- coding: utf-8; mode: texinfo; -*-
 @ignore
-    Translation of GIT committish: 7e040d362b174f596b1c458bd708defc69cdcc42
+    Translation of GIT committish: 247f8a1d1228a96d597435c721c0b06519b0461c
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  See TRANSLATION for details.
@@ -9,8 +9,7 @@
 @node Expressive marks
 @section Expressive marks
 
-@lilypondfile[quote,ragged-right,line-width=16\cm,staffsize=16]
-{expressive-headword.ly}
+@lilypondfile[quote]{expressive-headword.ly}
 
 @menu
 * Attached to notes::           
 @cindex guiones
 @cindex ornamentos
 
-Un amplio abanico de símbolos pueden aparecer encima o debajo de las notas
-para indicar distintas características de la ejecución.  Se adjuntan a una
-nota escribiendo un guión y el carácter que significa la articulación.
-Se muestran a continuación:
+Un amplio abanico de símbolos pueden aparecer encima o debajo de las
+notas para indicar distintas características de la ejecución.  Todos
+ellos se pueden adjuntar a una nota utilizando la sintaxis siguiente:
+@var{nota}@tie{}@code{\}@var{nombre}.
 
-@c @l ilypondfile[quote,ragged-right]{script-abbreviations.ly}
 
-Los significados de estas abreviaturas se pueden modificar.  Consulte
-@file{ly/@/script@/-init@/.ly} para ver ejemplos.
+@c Add a LilyPond example here soon. -pm
 
-La indicación se coloca automáticamente, pero la dirección (arriba o abajo)
-se puede también forzar.  Como otros fragmentos de código de LilyPond,
-@code{_} los situará por debajo del pentagrama, y @code{^} los colocará por encima.
+La lista de los posibles valores de @var{nombre} está en @ref{List of
+articulations}.
 
-@lilypond[quote,ragged-right,fragment,verbatim]
-c''4^^ c''4_^
-@end lilypond
+@cindex marcato
+@cindex apagada
+@cindex tenuto
+@cindex staccatissimo
+@cindex acento
+@cindex picado
+@cindex staccato
+@cindex portato
 
-Se pueden añadir otros símbolos usando la sintaxis
-@var{nota}@code{\}@var{nombre}.  Una vez más, se puede forzar
-que aparezcan por encima o por debajo usando @code{^} y @code{_},
-por ejemplo
 
-@lilypond[quote,ragged-right,verbatim,fragment,relative=2]
-c\fermata c^\fermata c_\fermata
+Algunas de estas articulaciones tienen abreviaturas que facilitan su
+escritura.  Las abreviaturas se escriben detrás del nombre de la nota,
+y su sintaxis consiste en un guión (@tie{}@code{-}) seguido de un
+símbolo que especifica la articulación.  Existen abreviaturas
+predefinidas para el @notation{marcato}, @notation{stopped} (nota
+apagada), @notation{tenuto}, @notation{staccatissimo},
+@notation{accent} (acento), @notation{staccato} (picado), y
+@notation{portato}.  La salida correspondiente a estas articulaciones
+aparece de la siguiente manera:
+
+@lilypond[verbatim,quote,ragged-right,fragment,relative=2]
+c4-^  c-+  c--  c-|
+c->   c-.  c-_
 @end lilypond
 
+La indicación se coloca automáticamente por encima o por debajo de la
+nota, pero la posición también se puede @q{forzar} manualmente para
+que esté encima o debajo.  Para ver más detalles, consulte
+@ref{Controlling direction and placement}.
+
+@cindex abierta, nota
 @cindex acento
-@cindex marcato
-@cindex staccatissimo
-@cindex espressivo
-@cindex fermata
-@cindex calderón
+@cindex aflautados, tonos
 @cindex apagado
-@cindex staccato
-@cindex portato
-@cindex tenuto
-@cindex arco arriba
 @cindex arco abajo
-@cindex pedal, indicaciones de
-@cindex órgano, indicaciones de pedal de
-@cindex grupeto circular
-@cindex open
+@cindex arco arriba
+@cindex calderón
+@cindex coda
+@cindex downbow
+@cindex espressivo
+@cindex fermata
 @cindex flageolet
+@cindex foot marks
+@cindex grupeto
+@cindex grupeto circular
 @cindex grupeto circular invertido
-@cindex trino
+@cindex marcato
+@cindex mordent
+@cindex open
+@cindex pedal, indicaciones de
+@cindex portato
+@cindex prall
+@cindex prallmordent
+@cindex prallprall
+@cindex pulgar, indicación de
+@cindex reverseturn
+@cindex segno
 @cindex semitrino
 @cindex semitrino descendente
-@cindex prallprall
-@cindex prallmordent
-@cindex prall, up
-@cindex prall, down
+@cindex staccatissimo
+@cindex staccato
+@cindex stopped
+@cindex tapada, nota
+@cindex tenuto
 @cindex thumb marking
-@cindex segno
-@cindex coda
+@cindex trill
+@cindex trino
+@cindex turn
+@cindex upbow
 @cindex varcoda
+@cindex órgano, indicaciones de pedal de
 
-He aquí un cuadro que muestra todas las articulaciones disponibles:
-
-@lilypondfile[ragged-right,quote]{script-chart.ly}
 
+@snippets
 
-@commonprop
+@c Send these snippets to Valentin for the LSR.
+
+Las abreviaturas se encuentran definidas en el archivo
+@file{ly/@/script@/-init@/.ly}, en donde se asigna un valor
+predeterminado a las variables @code{dashHat}, @code{dashPlus},
+@code{dashDash}, @code{dashBar}, @code{dashLarger}, @code{dashDot} y
+@code{dashUnderscore}.  Los valores predeterminados de las
+abreviaturas se pueden modificar.  Por ejemplo, para asociar la
+abreviatura @code{-+} (@code{dashPlus}) con el símbolo
+@notation{trill} en lugar del símbolo predeterminado @notation{+},
+asigne el valor @code{trill} a la variable @code{dashPlus}:
+
+@lilypond[verbatim,quote,ragged-right]
+\relative c'' { c-+ }
+dashPlus = "trill"
+\relative c'' { c-+ }
+@end lilypond
 
 El orden vertical de las articulaciones se controla con la propiedad
-@code{script-priority}.  Cuanto más bajo es esta número,
-más cerca de la nota se colocará.
-En este ejemplo el @internalsref{TextScript} (el símbolo de sostenido) tiene primero la
-prioridad más baja, así que se coloca en la parte más baja en el primer ejemplo.
-En el segundo, el semitrino (el @internalsref{Script}) tiene la prioridad más baja, por tanto
-se coloca en la parte interior.  Cuando dos objetos tienen la misma prioridad, el orden en que
-se escriben decide cuál de ellos va primero.
-
-@lilypond[verbatim,relative=3,ragged-right,fragment,quote]
+@code{script-priority}.  Cuanto más bajo es esta número, más cerca de
+la nota se colocará.  En este ejemplo el @code{TextScript} (el símbolo
+de sostenido) tiene primero la prioridad más baja, así que se coloca
+en la parte más baja en el primer ejemplo.  En el segundo, el
+@notation{semitrino} (el @code{Script}) tiene la prioridad más baja,
+por tanto se coloca en el interior.  Cuando dos objetos tienen la
+misma prioridad, el orden en que se escriben decide cuál de ellos va
+primero.
+
+@lilypond[verbatim,quote,ragged-right,fragment,relative=3]
 \once \override TextScript #'script-priority = #-100
 a4^\prall^\markup { \sharp }
 
@@ -119,7 +159,14 @@ a4^\prall^\markup { \sharp }
 
 @seealso
 
-Referencia del programa: @internalsref{Script}.
+Glosario musical: @rglos{marcato}, @rglos{stopped}, @rglos{tenuto},
+@rglos{staccatissimo}, @rglos{accent}, @rglos{staccato},
+@rglos{portato}.
+
+Fragmentos de código: @lsrdir{Expressive,Expressive-marks}
+
+Referencia de funcionamiento interno: @internalsref{Script},
+@internalsref{TextScript}.
 
 
 @knownissues
@@ -131,7 +178,7 @@ representación de MIDI de la música.
 @node Dynamics
 @subsubsection Dynamics
 
-@cindex Dynamics
+@cindex dinámica
 @funindex \pppp
 @funindex \ppp
 @funindex \pp
@@ -150,96 +197,132 @@ representación de MIDI de la música.
 @funindex \sfz
 @funindex \rfz
 
-Las marcas dinámicas de matiz absoluto se especifican usando un comando después de una nota:
-@code{c4\ff}.  Las marcas dinámicas disponibles son @code{\ppppp},
-@code{\pppp}, @code{\ppp},
-@code{\pp}, @code{\p}, @code{\mp}, @code{\mf}, @code{\f}, @code{\ff},
-@code{\fff}, @code{\ffff}, @code{\fp}, @code{\sf}, @code{\sff},
-@code{\sp}, @code{\spp}, @code{\sfz} y @code{\rfz}.
-
-@lilypond[quote,verbatim,ragged-right,fragment,relative=2]
-c\ppp c\pp c \p c\mp c\mf c\f c\ff c\fff
-c2\fp c\sf c\sff c\sp c\spp c\sfz c\rfz
+Las marcas dinámicas de matiz absoluto se especifican usando un
+comando después de una nota: @code{c4\ff}.  Las marcas dinámicas
+disponibles son @code{\ppppp}, @code{\pppp}, @code{\ppp}, @code{\pp},
+@code{\p}, @code{\mp}, @code{\mf}, @code{\f}, @code{\ff}, @code{\fff},
+@code{\ffff}, @code{\fp}, @code{\sf}, @code{\sff}, @code{\sp},
+@code{\spp}, @code{\sfz} y @code{\rfz}.  Las indicaciones dinámicas se
+pueden colocar por encima o por debajo del pentagrama: para ver más
+detalles, consulte @ref{Controlling direction and placement}.
+
+@lilypond[verbatim,quote,ragged-right,fragment,relative=2]
+c2\ppp c\mp
+c\rfz c^\mf
+c_\spp c_\staccato^\ff
 @end lilypond
 
+@cindex regulador
 @funindex \<
 @funindex \>
 @funindex \!
+@funindex \cr
+@funindex \decr
+
+Una indicación de @notation{crescendo} se comienza con @code{\<} y se
+termina con @code{\!} o con un matiz absoluto.  Una indicación de
+@notation{decrescendo} comienza con @code{\>} y se termina también con
+@code{\!}  o con un matiz dinámico absoluto.  Se pueden usar
+@code{\cr} y @code{\decr} en lugar de @code{\<} y @code{\>}.  Se
+pueden tipografiar bien usando un signo gráfico (un
+@notation{regulador}), o con indicaciones textuales.
 
-Un regulador de crescendo se comienza con @code{\<} y se termina con
-@code{\!} o con un matiz absoluto.  Un regulador decrescendo comienza con
-@code{\>} y se termina también con @code{\!} o con un matiz dinámico
-absoluto.  Se pueden usar @code{\cr} y @code{\decr} en lugar de
-@code{\<} y @code{\>}.  A causa de que estas marcas se unen a notas, se deben
-usar notas espaciadoras si se necesitan varias marcas durante una nota.
+Debido a que estas marcas se unen a notas, se deben usar notas
+espaciadoras si se necesitan varias marcas durante una nota.
 
-@lilypond[quote,ragged-right,fragment,verbatim,relative=2]
+@lilypond[verbatim,quote,ragged-right,fragment,relative=2]
 c\< c\! d\> e\!
 << f1 { s4 s4\< s4\! \> s4\! } >>
 @end lilypond
 
-@noindent
-Un regulador comienza normalmente en el borde izquierdo de la nota inicial
-y acaba en el borde derecho de la nota final.  Si la nota
-final cae sobre el principio de un compás,  el regulador finaliza en la línea divisoria
-inmediatamente anterior.  Esto se puede modificar estableciendo la propiedad
-@code{hairpinToBarline},
+Esto puede dar lugar a reguladores excesivamente cortos.  Para
+alargarlos, utilice por ejemplo @code{minimum-length} dentro de
+@internalsref{Voice}.@internalsref{Hairpin}:
 
-@lilypond[quote,ragged-right,fragment,verbatim,relative=2]
+@example
+\override Voice.Hairpin #'minimum-length = #5
+@end example
+
+@noindent
+Un @notation{regulador} comienza normalmente en el borde izquierdo de
+la nota inicial y acaba en el borde derecho de la nota final.  Si la
+nota final cae sobre el principio de un compás, el
+@notation{regulador} finaliza en la línea divisoria inmediatamente
+anterior.  Esto se puede modificar estableciendo la propiedad
+@code{hairpinToBarline}:
+
+@lilypond[verbatim,quote,ragged-right,fragment,relative=2]
+e4\< e2. e1\!
 \set hairpinToBarline = ##f
-c4\< c2. c4\!
+e4\< e2. e1\!
 @end lilypond
 
+@cindex espressivo, articulación
+
 En algunas situaciones, la marca de articulación @code{\espressivo} puede ser
 apropiada para indicar un crescendo y decrescendo sobre una nota,
 
-@lilypond[quote,ragged-right,fragment,verbatim,relative=2]
+@lilypond[verbatim,quote,ragged-right,fragment,relative=2]
 c2 b4 a g1\espressivo
 @end lilypond
 
-Esto puede dar lugar a reguladores muy cortos.  Utilice @code{minimum-length}
-dentro de @internalsref{Voice}.@internalsref{Hairpin} para alargarlos, por
-ejemplo
-
-@example
-\override Voice.Hairpin #'minimum-length = #5
-@end example
-
 @cindex al niente
 @cindex niente, al
 
 Los reguladores se pueden imprimir con la punta en círculo (notación
-al niente) estableciendo la propiedad @code{circled-tip},
+al niente) estableciendo la propiedad @code{circled-tip}:
 
-@lilypond[quote,ragged-right,fragment,relative=2,verbatim]
+@lilypond[verbatim,quote,ragged-right,fragment,relative=2]
 \override Hairpin #'circled-tip = ##t
 c2\< c\!
 c4\> c\< c2\!
 @end lilypond
 
-
 @cindex crescendo
 @cindex decrescendo
 @cindex diminuendo
-
-También puede usar texto que diga @emph{cresc.} en vez de reguladores
-
-@lilypond[quote,ragged-right,fragment,relative=2,verbatim]
+@funindex \setTextCresc
+@funindex \setTextDim
+@funindex \setTextDecresc
+@funindex \setHairpinCresc
+@funindex \setHairpinDim
+@funindex \setHairpinDecresc
+
+Puede utilizar textos que digan @emph{cresc.}, @emph{decr.}, o
+@emph{dim.} en vez de reguladores mediante las instrucciones
+@code{\setTextCresc}, @code{\setTextDim}, and @code{\setTextDecresc}.
+Las instrucciones correspondientes @code{\setHairpinCresc},
+@code{\setHairpinDim} y @code{\setHairpinDecresc} hacen que vuelvan a
+aparecer los reguladores de nuevo:
+
+@lilypond[verbatim,quote,ragged-right,fragment,relative=2]
 \setTextCresc
 c\< d e f\!
 \setHairpinCresc
 e\> d c b\!
 \setTextDecresc
+e\> d e f\!
+\setTextDecr
 c\> d e f\!
 \setTextDim
 e\> d c b\!
 @end lilypond
 
-Asimismo puede aportar sus propios textos
-@lilypond[quote,ragged-right,fragment,relative=1,verbatim]
+Asimismo, puede aportar sus propios textos y modificar el estilo de la
+línea extensora con las propiedades @code{\crescendoText} (texto del
+crescendo), @code{\crescendoSpanner} (extensor del crescendo),
+@code{\decrescendoText} (texto del decrescendo) y
+@code{\decrescendoSpanner} (extensor del decrescendo).  Los valores
+que se encuentran disponibles para las propiedades del objeto de
+extensión son @code{hairpin} (regulador), @code{line} (línea
+continua), @code{dashed-line} (línea intermitente) y
+@code{dotted-line} (línea de puntos).  Si no tiene ningún valor
+establecido, se imprime un regulador:
+
+@lilypond[verbatim,quote,ragged-right,fragment,relative=1]
 \set crescendoText = \markup { \italic "cresc. poco" }
-\set crescendoSpanner = #'dashed-line
-a'2\< a a a\!\mf
+\set crescendoSpanner = #'dotted-line
+a'2\< a a a a a a a\!\mf
 @end lilypond
 
 Para crear nuevas indicaciones dinámicas o texto que se deba alinear
@@ -248,8 +331,17 @@ con los matices, consulte @ref{New dynamic marks}.
 El posicionamiento vertical de las expresiones dinámicas se gestiona a
 través de @internalsref{DynamicLineSpanner}.
 
+@predefined
 
-@commonprop
+@funindex \dynamicUp
+@code{\dynamicUp},
+@funindex \dynamicDown
+@code{\dynamicDown},
+@funindex \dynamicNeutral
+@code{\dynamicNeutral}.
+
+
+@snippets
 
 Las expresiones dinámicas que suceden en, comienzan sobre, o acaban
 en, la misma nota se alinearán verticalmente.  Si quiere asegurar que
@@ -260,11 +352,14 @@ nota, puede aumentar el valor de la propiedad @code{staff-padding}.
 \override DynamicLineSpanner #'staff-padding = #4
 @end example
 
+@noindent
 También puede utilizar esta propiedad si las expresiones dinámicas
 colisionan con otros elementos de la notación.
 
-Los crescendi y decrescendi que acaban sobre la misma nota de una
-línea nueva no se imprimen.  Para cambiar este comportamiento, utilice
+Los crescendi y decrescendi que cruzan un salto de línea continúan en
+la siguiente línea.  Si acaban sobre la primera nota de una línea
+nueva, no se imprime nada en esa línea.  Para cambiar este
+comportamiento, utilice
 
 @example
 \override Score.Hairpin #'after-line-breaking = ##t
@@ -278,23 +373,18 @@ evitar que se imprima esta línea, use
 \override DynamicTextSpanner #'dash-period = #-1.0
 @end example
 
+@seealso
 
-@predefined
-
-@funindex \dynamicUp
-@code{\dynamicUp},
-@funindex \dynamicDown
-@code{\dynamicDown},
-@funindex \dynamicNeutral
-@code{\dynamicNeutral}.
-
+Glosario musical: @rglos{hairpin}, @rglos{crescendo},
+@rglos{decrescendo}.
 
-@seealso
+Manual de aprendizaje: @rlearning{Articulation and dynamics}.
 
-Referencia del programa: @internalsref{DynamicText}, @internalsref{Hairpin}.
-El posicionamiento vertical de estos símbolos se maneja por medio de
-@internalsref{DynamicLineSpanner}.
+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}.
 
 @node Curves
 @subsection Curves
@@ -311,8 +401,8 @@ El posicionamiento vertical de estos símbolos se maneja por medio de
 
 @cindex ligaduras de expresión
 
-Una ligadura de expresión indica que las notas se deben tocar unidas o
-@emph{legato}.  Se escriben utilizando paréntesis
+Una @notation{ligadura de expresión} indica que las notas se deben
+tocar unidas o @emph{legato}.  Se escriben utilizando paréntesis:
 
 @lilypond[quote,ragged-right,relative=2,fragment,verbatim]
 f( g a) a8 b( a4 g2 f4)
@@ -537,11 +627,11 @@ punta de flecha a la línea ondulada
 
 @commonprop
 
-Cuando un arpegio cruza uno o varios pentagramas, puede adjuntar un
-arpegio a los acordes en los dos pentagramas y establecer
-@internalsref{PianoStaff}.@code{connectArpeggios}
+En un @code{PianoStaff} es posible hacer que un arpegio cruce los dos
+pentagramas, estableciendo la propiedad
+@code{PianoStaff}.@code{connectArpeggios}.
 
-@lilypond[quote,ragged-right,fragment,relative=1,verbatim]
+@lilypond[verbatim,quote,ragged-right,fragment,relative=1]
 \new PianoStaff <<
   \set PianoStaff.connectArpeggios = ##t
   \new Staff { <c' e g c>\arpeggio }
@@ -549,28 +639,62 @@ arpegio a los acordes en los dos pentagramas y establecer
 >>
 @end lilypond
 
-@c TODO: cross-voice arpeggio example?
-@c such an example is already in LSR -J.Mandereau
-
-@predefined
+Se puede conseguir lo mismo en otros contextos aparte de
+@code{PianoStaff} si el grabador @code{Span_arpeggio_engraver} se
+incluye dentro del contexto de Score.
+
+@lilypond[verbatim,quote,ragged-right]
+\score {
+  \new StaffGroup {
+    \set Score.connectArpeggios = ##t
+    <<
+      \new Voice \relative c' {
+        <e g>4\arpeggio
+      }
+      \new Voice  \relative c {
+        \clef bass
+        <c e>4\arpeggio
+      }
+    >>
+  }
+  \layout {
+    \context {
+      \Score
+      \consists "Span_arpeggio_engraver"
+    }
+  }
+}
+@end lilypond
 
-@code{\arpeggio},
-@funindex \arpeggioUp
-@code{\arpeggioUp},
-@funindex \arpeggioDown
-@code{\arpeggioDown},
-@funindex \arpeggioNeutral
-@code{\arpeggioNeutral},
-@funindex \arpeggioBracket
-@code{\arpeggioBracket}.
+De forma similar, un arpegio se puede dibujar a través de notas que
+están en voces diferentes del mismo pentagrama si el grabador
+@code{Span_arpeggio_engraver} se desplaza al contexto de Staff:
+
+@lilypond[verbatim,quote,ragged-right]
+\new Staff
+\with {
+  \consists "Span_arpeggio_engraver"
+} \relative c' {
+  \set Staff.connectArpeggios = ##t
+    <<
+    {<e' g>4\arpeggio <d f> <d f>2 }
+  \\
+  {<d, f>2\arpeggio  <g b>2  }
+  >>
+}
+@end lilypond
 
 
 @seealso
 
-Manual de notación: @ref{Ties}, para escribir arpegios explícitamente.
+Glosario musical: @rglos{arpeggio}, @rglos{broken chord}.
 
-Referencia del programa: @internalsref{Arpeggio}.
+Referencia de la notación: @ref{Ties}, for writing out arpeggios.
 
+Fragmentos de código: @lsrdir{Expressive,Expressive-marks}
+
+Referencia de funcionamiento interno: @internalsref{Arpeggio},
+@internalsref{PianoStaff}.
 
 @knownissues
 
@@ -581,26 +705,35 @@ No es posible mezclar arpegios conectados y no conectados en un
 @node Trills
 @subsubsection Trills
 
-Los trinos cortos se imprimen como una articulación normal; consulte @ref{Articulations}.
+@cindex trinos
+@funindex \trill
 
-Los trinos largos mantenidos se hacen con @code{\startTrillSpan} y
-@code{\stopTrillSpan},
+Los @notation{trinos} cortos se imprimen con @code{\trill} como una
+articulación normal; véase @ref{Articulations and ornamentations}.
 
-@lilypond[verbatim,ragged-right,relative=2,quote,fragment]
-\new Voice {
-  << { c1 \startTrillSpan }
-     { s2. \grace { d16[\stopTrillSpan e] } } >>
-  c4 }
+Los trinos largos mantenidos se hacen con @code{\startTrillSpan} y
+@code{\stopTrillSpan}.  En el ejemplo siguiente, se muestra en la
+usual combinación con notas de adorno.  Si se necesita un control más
+preciso sobre la colocación de las notas de adorno, véase @ref{Grace
+notes}.
+
+@lilypond[verbatim,quote,ragged-right,fragment,relative=2]
+c1 \afterGrace
+d1\startTrillSpan { c16[\stopTrillSpan d] }
+c4
 @end lilypond
 
-@cindex Trinos con altura
+@cindex trinos con altura
 
 Los trinos que se tienen que ejecutar sobre notas especificadas
-explícitamente se pueden tipografiar con el comando @code{pitchedTrill},
-
-@lilypond[ragged-right,verbatim,fragment,relative=1,quote]
-\pitchedTrill c4\startTrillSpan fis
-f\stopTrillSpan
+explícitamente se pueden tipografiar con el comando
+@code{pitchedTrill} y la sintaxis @code{\pitchedTrill}
+@var{nota_principal} @code{\startTrillSpan} @var{nota_del_trino}
+@var{nota_final} @code{\stopTrillSpan}.
+
+@lilypond[verbatim,quote,ragged-right,fragment,relative=1]
+\pitchedTrill e2 \startTrillSpan fis
+d\stopTrillSpan
 @end lilypond
 
 @noindent
@@ -618,6 +751,8 @@ imprime como una cabeza de nota sin plica entre paréntesis.
 
 @seealso
 
+Glosario musical: @rglos{trill}
+
 Fragmentos de código: @lsrdir{Expressive,Expressive-marks}
 
 Referencia de funcionamiento interno: @internalsref{TrillSpanner}.
index e08c948b14c80063bf2028331100c5bb7957f571..a037449fafb4d8c2dedb31b6329e0df69066ae2c 100644 (file)
@@ -1,7 +1,7 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 @c This file is part of lilypond-learning.tely
 @ignore
-    Translation of GIT committish: d9b4bfc69674eb4ed7b8c6eaa0b646f00eae6c8d
+    Translation of GIT committish: b0a1d7fa5e1b8371a0d1f1ed1dfd3fc9bc4881d2
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  See TRANSLATION for details.
 @node Fundamental concepts
 @chapter Fundamental concepts
 
-UNTRANSLATED NODE: IGNORE ME
+Ha podido ver en el tutorial cómo producir música bellamente impresa a
+partir de un simple archivo de texto.  Esta sección presenta los
+conceptos y técnicas que se requieren para producir partituras
+igualmente bellas pero más complejas.
 
-@menu 
-* How LilyPond files work::
-* Voices contain music::
-* Contexts and engravers::
-* Extending the templates::
+@menu
+* How LilyPond files work::     
+* Voices contain music::        
+* Contexts and engravers::      
+* Extending the templates::     
 @end menu 
+
+
 @node How LilyPond files work
 @section How LilyPond files work
 
-UNTRANSLATED NODE: IGNORE ME
+El formato de entrada de LilyPond es bastante libre en su forma y
+concede a los usuarios con experiencia mucha flexibilidad para
+estructurar sus archivos de la forma que deseen.  Sin embargo, toda
+esta flexibilidad puede hacer que las cosas se vuelvan confusas para
+los nuevos usuarios.  Esta sección le va a explicar parte de esta
+estructura, pero puede obviar ciertos detalles en aras de la
+simplicidad.  Para ver una descripción completa del formato de
+entrada, consulte @ruser{File structure}.
+
 
-@menu 
-* Introduction to the LilyPond file structure::
-* Score is a (single) compound musical expression::
-* Nesting music expressions::
-* On the un-nestedness of brackets and ties::
+@menu
+* Introduction to the LilyPond file structure::  
+* Score is a (single) compound musical expression::  
+* Nesting music expressions::   
+* On the un-nestedness of brackets and ties::  
 @end menu 
+
 @node Introduction to the LilyPond file structure
 @subsection Introduction to the LilyPond file structure
 
-UNTRANSLATED NODE: IGNORE ME
+Un ejemplo básico de archivo de entrada de lilypond es el siguiente:
+
+@example
+\version @w{"@version{}"}
+\score @{
+  @var{...expresión musical compuesta...}  % toda la música viene aquí
+  \header @{ @}
+  \layout @{ @}
+  \midi @{ @}
+@}
+@end example
+
+@noindent
+Existen muchas variaciones de este esquema básico, pero el ejemplo
+constituye un útil punto de partida.
+
+Hasta el momento, ninguno de los ejemplos que ha podido ver utiliza la
+instrucción @code{\score@{@}}.  Esto es así a causa de que LilyPond
+añade automáticamente las órdenes adicionales que se requieren cuando
+le proporcionamos una entrada sencilla.  LilyPond trata una entrada
+como ésta:
+
+@example
+\relative c'' @{
+  c4 a d c
+@}
+@end example
+
+@noindent
+como una abreviatura de esta otra:
+
+@example
+\book @{
+  \score @{
+    \new Staff @{
+      \new Voice @{
+        \relative c'' @{
+          c4 a b c
+        @}
+      @}
+    @}
+    \layout @{ @}
+  @}
+@}
+@end example
+
+En tras palabras, si la entrada consta de una única expresión musical,
+LilyPond interpreta el archivo como si la expresción musical estuviera
+rodeada por un envoltorio hecho por las instrucciones que acabamos de
+ver.  De todas formas, vamos a volver al primer ejemplo para examinar
+la instrucción @code{\score}, dejando las demás en su forma
+predeterminada.
+
+Un bloque @code{\score} siempre debe contener una expresión musical
+única, que debe aparecer inmediatamente después de la instrucción
+@code{\score}.  Recuerde que una expresión musical podía ser cualquier
+cosa entre una sola nota hasta una enorme expresión compuesta como
+
+@example
+@{
+  \new GrandStaff <<
+    @var{...inserte aquí la partitura completa de una ópera de Wagner...}
+  >>
+@}
+@end example
+
+@noindent
+Puesto que todo se encuentra dentro de @code{@{ ... @}}, cuenta como
+una expresión musical.
+
+Como vimos anteriormente, el bloque @code{\score} puede contener otras
+cosas, tales como
+
+@example
+\score @{
+  @{ c'4 a b c' @}
+  \header @{ @}
+  \layout @{ @}
+  \midi @{ @}
+@}
+@end example
+
+@noindent
+Hay personas que ponen algunos de estos comandos fuera del
+bloque @code{\score} (por ejemplo, @code{\header} se
+sitúa con frecuencia por encima del @code{\score}.  Es tan sólo
+otra abreviatura que LilyPond acepta.
+
+Dos instrucciones más que no hemos visto aún son @code{\layout @{ @}}
+y @code{\midi @{@}}.  Si aparecen tal y como se muestran aquí, hacen
+que LilyPond produzca una salida impresa y una salida MIDI,
+respectivamente.  Se describen con todo detalle en el manual de
+Referencia de la notación, en @ruser{Score layout} y en
+@ruser{Creating MIDI files}.
+
+Podemos escribir varios bloques @code{\score}.  Cada uno de ellos
+recibirá el mismo tratamiento que una partitura independiente, pero se
+combinarán todos juntos en un archivo de salida único.  No se necesita
+ninguna instrucción @code{\book}, se creará una implícitamente.  Sin
+embargo, si quiere archivos de salida separados a partir de un archivo
+@code{.ly}, entonces es necesario utilizar la instrucción @code{\book}
+para separar las distintas secciones: cada bloque @code{\book} produce
+un archivo de salida distinto.  Para ver más detalles, consulte
+@ruser{Multiple scores in a book}.
+
+@cindex variables
+
+Otro atajo genial es la posibilidad de definir variables.
+Todas las plantillas emplean lo siguiente:
+
+@example
+melodia = \relative c' @{
+  c4 a b c
+@}
+
+\score @{
+  \melodia
+@}
+@end example
+
+Cuando LilyPond examina este archivo, toma el valor de @code{melodia}
+(todo lo que está después del signo igual) y lo inserta dondequiera
+que ve @code{\melodia}.  No se requiere un cuidado especial con los
+nombres (puede ser @code{melodia}, @code{global},
+@code{manoderechadelpiano} o @code{fulanomengano}).  Para ver más
+detalles, consulte @ref{Saving typing with variables and functions}.
+Recuerde que puede usar casi cualquier nombre que se le ocurra, en la
+medida en que contenga solamente caracteres alfabéticos y sea
+diferente de cualquiera de los nombres de instrucción de LilyPond.
+Las limitaciones exactas que afectan a los nombres de variable se
+detallan en @ruser{File structure}.
+
+
+@seealso
+
+Para ver una definición completa del formato del código de entrada,
+consulte @ruser{File structure}.
 
 @node Score is a (single) compound musical expression
 @subsection Score is a (single) compound musical expression
 
-UNTRANSLATED NODE: IGNORE ME
+@cindex expresión musical compuesta
+@cindex música, expresión compuesta de
+
+En la sección anterior, @ruser{How LilyPond files work} hemos podido
+ver la organización general de los archivos de entrada de LilyPond.
+Pero parece que nos saltamos la parte más importante: ¿cómo
+averiguamos qué escribir después de @code{\score}?
+
+No nos hemos saltado nada en absoluto.  El gran misterio es, sencillamente,
+que no hay @emph{ningún} misterio.  La siguiente línea lo explica
+todo:
+
+@quotation
+@emph{Una @code{\score} debe comenzar con una única expresión musical.}
+@end quotation
+
+@noindent
+Quizá encuentre útil dar un repaso a @ruser{Music expressions
+explained}.  En esta sección, vimos cómo elaborar grandes expresiones
+musicales a partir de pequeñas piezas (comenzábamos con notas, luego
+acordes, etc.).  Ahora partiremos de una gran expresión musical y
+recorreremos el camino inverso hacia abajo.
+
+@example
+\score @{
+  @{   % esta llave da inicio a la expresión musical completa
+    \new GrandStaff <<
+      @var{...introduzca aquí la partitura completa de una ópera de Wagner...}
+    >>
+  @}   % esta llave da por terminada la expresión musical completa
+  \layout @{ @}
+@}
+@end example
+
+Una ópera de Wagner completa puede ser fácilmente el doble de larga
+que este manual, por tanto vamos a hacer sólo un cantante y un piano.
+No necesitamos un @code{GrandStaff} para este conjunto, así que lo
+retiramos.  Sin embargo, sí que @emph{necesitamos} un cantante y un
+piano.
+
+@example
+\score @{
+  <<
+    \new Staff = "cantante" <<
+    >>
+    \new PianoStaff = piano <<
+    >>
+  >>
+  \layout @{ @}
+@}
+@end example
+
+Recuerde que usamos @code{<<} y @code{>>} en vez de @code{@{ ... @}}
+para presentar música simultánea.  Y, por supuesto, queremos presentar
+las partes vocal y del piano al mismo tiempo, ¡no una después de otra!
+Sin embargo, la construcción @code{<< ... >>} no es realmente
+necesaria para el pentagrama del cantante (pues contiene una sola
+expresión musical), pero los pentagramas (Staff) a menudo necesitan
+varias voces (Voice) en su interior, así es bueno adoptar el hábito de
+usar @code{<< ... >>} en lugar de llaves.  Escribiremos algo de música
+real más tarde; por ahora limitémonos a poner algunas notas y letra de
+relleno.
+
+@lilypond[verbatim,quote,ragged-right]
+\score {
+  <<
+    \new Staff = "singer" <<
+      \new Voice = "vocal" { c'1 }
+      \addlyrics { And }
+    >>
+    \new PianoStaff = "piano" <<
+      \new Staff = "upper" { c'1 }
+      \new Staff = "lower" { c'1 }
+    >>
+  >>
+  \layout { }
+}
+@end lilypond
+
+Ahora tenemos muchos más detalles.  Tenemos la pauta del cantante:
+contiene una @code{Voice} o voz (en LilyPond, este término hace
+referencia a un conjunto de notas, no necesariamente notas vocales --
+por ejemplo, un violín generalmente toca una voz --) y el texto de la
+canción.  También tenemos una pauta de piano: contiene un pentagrama
+superior (mano derecha) y un pentagrama inferior (mano izquierda).
+
+En este momento podríamos comenzar a meter las notas.  Dentro de las
+llaves que siguen a @code{\new Voice = vocal}, podríamos empezar
+escribiendo
+
+@example
+\relative c'' @{
+  r4 d8\noBeam g, c4 r
+@}
+@end example
+
+Pero si lo hiciéramos, la sección @code{\score} se haría bastante
+larga y sería más difícil comprender lo que ocurre.  En lugar de esto
+utilizaremos identificadores o variables.  Recordará que las vimos por
+primera vez en la sección anterior.  Así pues, escribiendo algunas
+notas, ahora tenemos un fragmento musical de verdad:
+
+@lilypond[verbatim,quote,ragged-right]
+melody = \relative c'' { r4 d8\noBeam g, c4 r }
+text   = \lyricmode { And God said, }
+upper  = \relative c'' { <g d g,>2~ <g d g,> }
+lower  = \relative c { b2 e2 }
+
+\score {
+  <<
+    \new Staff = "singer" <<
+      \new Voice = "vocal" { \melody }
+      \addlyrics { \text }
+    >>
+    \new PianoStaff = "piano" <<
+      \new Staff = "upper" { \upper }
+      \new Staff = "lower" {
+        \clef "bass"
+        \lower
+      }
+    >>
+  >>
+  \layout { }
+}
+@end lilypond
+
+Tenga cuidado con la diferencia entre las notas, que se introducen con
+@code{\relative}, y la letra, que se introduce con @code{\lyricmode}.
+Estas instrucciones son esenciales para decirle a LilyPond que
+interprete el contenido que viene a continuación como música y texto,
+respectivamente.
+
+Cuando escriba una sección @code{\score} o cuando la esté leyendo,
+hágalo despacio y con cuidado.  Comience por la capa exterior y luego
+trabaje sobre cada una de las capas interiores.  También ayuda ser
+estricto con los márgenes (asegúrese de que en su editor de texto cada
+elemento de la misma capa comienza en la misma posición horizontal).
+
 
 @node Nesting music expressions
 @subsection Nesting music expressions
 
-UNTRANSLATED NODE: IGNORE ME
+No es esencial declarar todos los pentagramas al comienzo; se pueden
+crear temporalmente en cualquier momento.  Esto es de especial
+utilidad para crear secciones de ossia (véase @rglos{ossia}).  A
+continuación presentamos un ejemplo sencillo que muestra cómo
+introducir temporalmente un pentagrama nuevo mientras dura un
+fragmento de tras notas:
+
+@lilypond[verbatim,quote,ragged-right]
+\new Staff {
+  \relative g' {
+    r4 g8 g c4 c8 d |
+    e4 r8 
+    <<
+      { f c c }
+      \new Staff {
+        f8 f c
+      }
+    >>
+    r4 |
+  }
+}
+@end lilypond
+
+@noindent
+Advierta que el tamaño de la clave es igual al que se imprime en un
+cambio de clave (ligemamente menor que la clave al principio de una
+línea).  Esto es normal para cualquier clave que se imprime en la
+mitad de una línea.
+
+La sección ossia se puede colocar encima del pentagrama de la manera
+siguiente:
+
+@lilypond[verbatim,quote,ragged-right]
+\new Staff ="main" {
+  \relative g' {
+    r4 g8 g c4 c8 d |
+    e4 r8
+    <<
+      { f c c }
+      \new Staff \with {
+        alignAboveContext = "main" }
+      { f8 f c }
+    >>
+    r4 |
+  }
+}
+@end lilypond
+
+Este ejemplo utiliza @code{\with}, que se explica en todo detalle más
+adelante.  Es un medio de modificar el comportamiento predeterminado
+de un solo pentagrama.  Aquí, dice que el pentagrama nuevo se debe
+colocar por encima del pentagrama llamado @qq{main} en vez de la
+posición predeterminada que seería por debajo.
+
+Los fragmentos de ossia se escriben a menudo sin clave y sin
+indicación de compás, y generalmente en un tipo más pequeño.  Esto
+necesitaría más instrucciones que aún no se han visto.  Véase
+@ref{Size of objects}
 
-@ 
 @node On the un-nestedness of brackets and ties
 @subsection On the un-nestedness of brackets and ties
 
-UNTRANSLATED NODE: IGNORE ME
+
+En la escritura del archivo de entrada de LilyPond, hemos podido ver
+algunos tipos de paréntesis, llaves o ángulos de distintos tipos.
+Éstos obedecen a distintas reglas que al principio pueden resultar
+confusas.  Antes de explicar estas reglas, demos un repaso a las
+distintas clases de corchetes, llaves y paréntesis.
+
+@c attempt to force this onto a new page
+@need 50
+@multitable @columnfractions .3 .7
+@headitem Tipo de paréntesis
+  @tab Función
+@item @code{@{ .. @}}
+  @tab Encierra un fragmento secuencial de música
+@item @code{< .. >}
+  @tab Encierra las notas de un acorde
+@item @code{<< .. >>}
+  @tab Encierra secciones concurrentes o simultáneas
+@item @code{( .. )}
+  @tab Marca el comienzo y el final de una ligadura de expresión
+@item @code{\( .. \)}
+  @tab Marca el comienzo y el final de una ligadura de fraseo
+@item @code{[ .. ]}
+  @tab Marca el comienzo y el final de un barrado manual
+@end multitable
+
+A las anteriores, debemos añadir otras construcciones que generan
+líneas entre o a través de las notas: las ligaduras de unión (marcadas
+con una tilde curva, @code{~}), los grupos especiales que se escriben
+como @code{\times x/y @{..@}}, y las notas de adorno, que se escriben
+como @code{\grace@{..@}}.
+
+Fuera de LilyPond, el uso convencional de los paréntesis y otros
+corchetes requiere que los distintos tipos se encuentren anidados
+correctamente, como en: @code{<< [ @{ ( .. ) @} ] >>}, de manera que
+los paréntesis que se cierran deben encontrarse en el orden
+exactamente opuesto al de los paréntesis que se abren.  Esto
+@strong{es} un requisito para los tres tipos de paréntesis que se
+describen mediante la parabla @q{Encierra} en la tabla anterior: se
+deben anidar correctamente.  Sin embargo, el resto de las llaves y
+corchetes, que se encuentran descritos por la palabra @q{Marca} en la
+misma tabla anterior, @strong{no} tienen por qué anidarse
+estrictamente con ninguno de los otros paréntesis.  De hecho, éstos no
+son paréntesis en el sentido de que encierran algo: simplemente son
+marcadores que indican dónde empieza o finaliza algo.
+
+Asíi pues, por ejemplo, una ligadura de fraseo puede dar comienzo
+antes de una barra insertada manualmente, y acabar antes de que acabe
+la barra (algo que quizá no sea muy musical, pero es posible):
+
+@lilypond[quote,verbatim,fragment,ragged-right,relative=2]
+ { g8\( a b[ c b\) a] }
+@end lilypond
+
+En general, los distintos tipos de corchete, y los implicados en
+grupos especiiales, ligaduras de unión y notas de adorno, se pueden
+mezclar con total libertad.  Este ejemplo muestra una barra que se
+extiende hacia el interior de un grupo de valoración especial (línea
+1), una ligadura de expresión que se prolonga hasta el interior de un
+grupo especial (línea 2), una barra y una ligadura de expresión que se
+prolongan hasta el interior de un grupo especial, una ligadura de
+unión que atraviesa dos grupos especiales, y una ligadura de fraseo
+que sale del interior de un grupo especial (líneas 3 y 4).
+
+@lilypond[quote,verbatim,fragment,ragged-right]
+{
+  r16[ g16 \times 2/3 {r16 e'8] }
+  g16( a \times 2/3 {b d) e' }
+  g8[( a \times 2/3 {b d') e'~]}
+  \times 4/5 {e'32\( a b d' e'} a'4.\)
+}
+@end lilypond
+
 
 @node Voices contain music
 @section Voices contain music
 
-UNTRANSLATED NODE: IGNORE ME
+Igual que los cantantes, LilyPond necesita voces para cantar.  En
+realidad, la música para cualquier instrumento de una partitura está
+siempre contenida dentro de una voz --el concepto de LilyPond más
+fundamental de todos--.
 
-@menu 
-* I'm hearing Voices::
-* Explicitly instantiating voices::
-* Voices and vocals::
+@menu
+* I'm hearing Voices::          
+* Explicitly instantiating voices::  
+* Voices and vocals::           
 @end menu 
+
 @node I'm hearing Voices
 @subsection I'm hearing Voices
 
-UNTRANSLATED NODE: IGNORE ME
+@cindex polifonía
+@cindex capas
+@cindex Voice (voz), contexto de
+
+De las capas más profundas de una partitura de LilyPond, las más bajas
+y más fundamentales reciben el nombre de @q{Voice contexts}
+(«contextos de voz») o, abreviadamente, @q{Voices} («voces»).  Las
+voces reciben a veces el nombre de @q{layers} («capas») en otros
+programas de edición de partituras.
+
+De hechho, una capa o contexto de voz es la única que puede contener
+música.  Si un contexto de voz no se declara explícitamente, se crea
+uno de forma automática, como vimos al comienzo de este capítulo.
+Ciertos instrumentos como el oboe solamente pueden tocar una nota cada
+vez.  La música escrita para estos instrumentos es monofónica y
+solamente requiere una voz única.  Los instrumentos que pueden tocar
+más de una nota a la vez, como el piano, con frecuencia necesitarán
+varias voces para codificar las distintas notas y ritmos concurrentes
+que son capaces de tocar.
+
+Una sola voz puede contener muchas notas dentro de un acorde, por
+supuesto; entonces ¿cuándo, exactamente, se necesitan varias voces?
+En primer lugar observe este ejemplo de cuatro acordes:
+
+@lilypond[quote,verbatim,fragment,ragged-right,relative=1]
+\key g \major
+<d g>4 <d fis> <d a'> <d g>
+@end lilypond
+
+Esto se puede expresar utilizand sólo símbolos de acorde con ángulos
+simples, @code{< ... >}, y para este propósito tan sólo se necesita
+una voz.  Pero suponga que el Fa sostenido fuese realmente una corchea
+seguida de un Sol corchea, una nota de paso que conduce al La.  Ahora
+tenemos dos notas que empiezan en el mismo momento pero tienen
+distintas duraciones: la negra Re, y la corchea Fa sostenido. ¿Cómo se
+codifica esto? No se pueden escribir como un acorde porque todas las
+notas de un acorde deben tener la misma duración.  Y no se pueden
+escribir como dos notas separadas porque tienen que empezar en el
+mismo momento.  Aquí es donde se necesitan dos voces.
+
+Veamos cómo se hace esto dentro de la sintaxis de entrada de LilyPond.
+
+@funindex << \\ >>
+@funindex \\
+
+La forma más fácil de introducir fragmentos con maś de una voz en un
+solo pentagrama es escribir cada voz como una secuencia (con
+@code{@{...@}}), y combinarlas simultáneamente con ángulos dobles,
+@code{<<...>>}.  Los fragmentos también se deben separar mediante una
+doble barra invertida, @code{\\}, para situarlos en voces separadas.
+Sin esto, las notas irían a una sola voz, lo que normalmente producirá
+errores.  Esta técnica se adapta especialmente bien a piezas de música
+que son mayormente monofónicas pero ocasionalmente tienen cortas
+secciones de polifonía.
+
+He aquí cómo dividimos los acordes anteriore en dos voces y añadimos
+la nota de paso y la ligadura:
+
+@lilypond[quote,verbatim,fragment,ragged-right,relative=2]
+\key g \major
+%    Voice "1"                  Voice "2"
+<< { g4 fis8( g) a4 g }    \\ { d4 d d d }  >> |
+@end lilypond
+
+Observe cómo las plicas de la segunda voz ahora se dirigen hacia
+abajo.
+
+A continuación veamos otro ejemplo sencillo:
+
+@lilypond[quote,verbatim,fragment,ragged-right,relative=2]
+\key d \minor
+%    Voice "1"             Voice "2"
+<< { r4 g g4. a8 }    \\ { d,2 d4 g }       >> |
+<< { bes4 bes c bes } \\ { g4 g g8( a) g4 } >> |
+<< { a2. r4 }         \\ { fis2. s4 }       >> |
+@end lilypond
+
+No es necesario usar una construcción @code{<< \\ >>} distinta para
+cada compás. Para música que tenga unas pocas notas en cada compás,
+esta disposición podría facilitar la legibilidad del código, pero si
+hay muchas notas en cada compás podría ser mejor dividirlo en dos
+voces separadas, de la siguiente manera:
+
+@lilypond[quote,verbatim,fragment,ragged-right,relative=2]
+\key d \minor
+<< {
+  % Voice "1"
+  r4 g g4. a8 |
+  bes4 bes c bes |
+  a2. r4 |
+} \\ {
+  % Voice "2"
+  d,2 d4 g |
+  g4 g g8( a) g4 |
+  fis2. s4 |
+} >>
+@end lilypond
+
+
+Este ejemplo tiene sólo dos voces, pero la misma construcción se puede
+usar para codificar tres o más voces mediante la adición de maś
+separadores de barra invertida.
+
+Los contextos de voz llevan los nombres de @code{"1"}, @code{"2"},
+etc.  En cada uno de estos contextos, la dirección vertical de las
+ligaduras, plicas, matices dinámicos, etc., se ajusta de la forma
+correcta.
+
+@lilypond[quote,verbatim,fragment]
+\new Staff \relative c' {
+  % Main voice
+  c16 d e f
+  %    Voice "1"     Voice "2"                 Voice "3"
+  << { g4 f e } \\ { r8 e4 d c8 ~ } >> |
+  << { d2 e2 }  \\ { c8 b16 a b8 g ~ g2 } \\ { s4 b4 c2 } >> |
+}
+@end lilypond
+
+Todas estas voces están separadas de la voz principal que contiene las
+notas justo por fuera de la construcción @code{<< .. >>}.  Le
+llamaremos a esto la @emph{construcción simultánea}.  Las ligaduras
+(de prolongación y de expresión) solamente pueden conectar notas que
+estén dentro de la misma voz, luego las ligaduras no pueden entrar o
+salir de una construcción simultánea.  A la inversa, las voces
+paraleleas de construcciones simultáneas distintas sobre el mismo
+pentagrama, son la misma voz.  Otras propiedades relativas a las voces
+también conllevan construcciones simultáneas.  A continuación vemos el
+mismo ejemplo, con colores y cabezas distintos para cada voz.  Observe
+que los cambios en una voz no afectan a otras voces, pero persisten
+más tarde dentro de la misma voz.  Observe tambiénn que las notas
+ligadas se pueden dividir entre las mismas voces de dos
+construcciones, como se indica aquí en la voz de triángulos azules.
+
+@lilypond[quote,verbatim]
+\new Staff \relative c' {
+  % Main voice
+  c16 d e f
+  << % Bar 1
+    {
+      \voiceOneStyle
+      g4 f e
+    }
+  \\
+    {
+      \voiceTwoStyle
+      r8 e4 d c8 ~
+    }
+  >>
+  << % Bar 2
+     % Voice 1 continues
+    { d2 e2 }
+  \\
+     % Voice 2 continues
+    { c8 b16 a b8 g ~ g2 }
+  \\
+    {
+      \voiceThreeStyle
+      s4 b4 c2
+    }
+  >>
+}
+@end lilypond
+
+Las instrucciones @code{\voiceXXXStyle} están pensadas principalmente
+para usarlas en documentos educativos como este mismo.  Modifican el
+color de la cabeza, la plica y las barras, y el estilo de la cabeza,
+de forma que las voces se puedan distinguir fácilmente.  La voz uno
+está establecida a rombos rojos, la voz dos a triángulos azules, la
+voz tres a círculos verdes con aspas, y la voz cuatro (que no se
+utiliza aquí) a aspas color magenta.  Veremos más adelante cómo el
+usuario puede crear instrucciones como éstas.  Véase @ref{Visibility
+and color of objects}.
+
+La polifonía no cambia la relación de las notas dentro de un bloque
+@code{\relative @{ @}}.  La altura de cada nota aún se calcula con
+relación a la nota que le precede inmediatamente, o a la primera nota
+del acrode precedente.  Así, en
+
+@example
+\relative c' @{ notaA << < notaB notaC > \\ notaD >> notaE @}
+@end example
+
+@noindent
+@code{notaB} es relativa a @code{notaA}                      @*
+@code{notaC} es relativa a @code{notaB}, no a @code{notaA};   @*
+@code{notaD} es relativa a @code{notaB}, no a @code{notaA} ni a
+@code{notaC}.                                                 @*
+@code{notaE} es relativa a @code{notaD}, no a @code{notaA}
+
+Una forma alternativa, que podría ser más clara si las notas en las
+voces están muy separadas, es colocar una instrucción @code{\relative}
+al principio de cada voz:
+
+@example
+\relative c' @{ notaA ... @}
+<<
+  \relative c'' @{ < notaB notaC > ... @}
+\\
+  \relative g' @{ notaD ... @}
+>>
+\relative c' @{ notaE ... @}
+@end example
+
+Finalmente, analicemos las voces en una pieza de música más compleja.
+He aquí las notas de los dos primeros compases del segundo de los Dos
+Nocturnos de Chopin, Op 32.  Este ejemplo se utilizará en fases
+posteriores dentro del presente capítulo y el siguiente, para ilustrar
+varias técnicas para producir notación, y por tanto le pedimos que
+ignore por ahora cualquier cosa en el código subyacente que le parezca
+misteriorso y tan sólo se concentre en la música y las voces (todas
+las complicaciones se explicarán en secciones posteriores).
+
+@c The following should appear as music without code
+@lilypond[quote,ragged-right]
+\new Staff \relative c'' {
+  \key aes \major
+  << % Voice one
+    { c2 aes4. bes8 }
+  \\ % Voice two
+    { aes2 f4 fes }
+  \\ % No voice three
+  \\ % Voice four
+    {
+      % Ignore these for now - they are explained in Ch 4
+      \once \override NoteColumn #'force-hshift = #0
+      <ees c>2
+      \once \override NoteColumn #'force-hshift = #0.5
+      des2
+    }
+  >> |
+  <c ees aes c>1 |
+}
+@end lilypond
+
+Con frecuencia, la dirección de las plicas se utiiliza para indicar la
+continuidad de dos líneas melódicas simultáneas.  Aquí, todas las
+plicas de las notas agudas se dirigen hacia arriba y las de las notas
+graves hacia abajo.  Ésta es la primera indicación de que se requiere
+más de una voz.
+
+Pero la necesidad real de varias voces aflora cuando hay notas que
+comienzan en el mismo tiempo pero tienen distintas duraciones.
+Observe las notas que comienzan en la tercera parte del primer compás.
+El La bemol es una negra con puntillo, el Fa es una negra y el Re
+bemol es una blanca.  Estas notas nos e pueden escribir como un acorde
+porque todas las ntoas de un acorde deben tener la misma duración.
+Tampoco se pueden escribir como notas secuenciales, pues deben
+comenzar al mismo tiempo.  Esta sección del compás requiere tres
+voces, y la práctica común sería escribir todo el compás como tres
+voces como se muestra abajo, donde hemos usado distintas cabezas y
+colores para las tres voces.  Una vez más, el código que subyace a
+este ejemplo se explicará más tarde, así pues ignore todo lo que no
+entienda.
+
+@c The following should appear as music without code
+@c The three voice styles should be defined in -init
+@lilypond[quote,ragged-right]
+\new Staff \relative c'' {
+  \key aes \major
+  <<
+    { % Voice one
+      \voiceOneStyle
+      c2 aes4. bes8 
+    }
+  \\  % Voice two
+    { \voiceTwoStyle
+      aes2 f4 fes 
+    }
+  \\  % No Voice three (we want stems down)
+  \\  % Voice four
+    { \voiceThreeStyle
+      % Ignore these for now - they are explained in Ch 4
+      \once \override NoteColumn #'force-hshift = #0
+      <ees c>2
+      \once \override NoteColumn #'force-hshift = #0.5
+      des2 
+    }
+  >> |
+  <c ees aes c>1 |
+}
+@end lilypond
+
+
+Vamos a intentar codificar esta música partiendo de cero.  Como
+veremos, esto se topa con ciertas dificultades. Comenzamos tal y como
+hemos aprendido, usando la construcción @code{<< \\ >>} para
+introducir la música del primer compás en tres voces:
+
+@lilypond[quote,verbatim,fragment,ragged-right]
+\new Staff \relative c'' {
+  \key aes \major
+  <<
+    { c2 aes4. bes8 } \\ { aes2 f4 fes } \\ { <ees c>2 des2 }
+  >>
+  <c ees aes c>1
+}
+@end lilypond
+
+@cindex plica abajo
+@cindex plica arriba
+
+Las direcciones de las plicas se asignan automáticamente de forma que
+las voces de numeración impar reciben las plicas hacia arriba y las de
+numeración par hacia abajo.  Las plicas de las voces 1 y 2 están
+correctas, pero las plicas de la voz 3 debería ir hacia abajo en este
+fragmentoo en particular.  Podemos corregir esto simplemente
+olvidándonos de la voz tres y situando la música en la voz cuatro:
+
+@lilypond[quote,verbatim,fragment,ragged-right]
+\new Staff \relative c'' {
+  \key aes \major
+  << % Voice one
+    { c2 aes4. bes8 }
+  \\ % Voice two
+    { aes2 f4 fes   }
+  \\ % Omit Voice three
+  \\ % Voice four
+    { <ees c>2 des2 }
+  >> |
+  <c ees aes c>1 |
+}
+@end lilypond
+
+@noindent
+Vemos que esto arregla la dirección de la plica, pero presenta un
+problema que se encuentra a veces con varias voces: las plicas de las
+notas en una voz pueden colisionar con las cabezas de otras voces.  Al
+disponer las notas, LilyPond permite que las notas o acordes de dos
+voces ocupen la misma columna vertical de notas teniendo en cuenta que
+las plicas están en direcciones opuestas, pero las notas de la tercera
+y cuarta voces se desplazan si es necesario para evitar la colisión
+entre las cabezas.  Esto funciona bien por lo general, pero en este
+ejemplo claramente las notas de la voz inferior no están bien
+colocadas de forma predeterminada.  LilyPond proporciona diversas
+maneras de ajustar la colocación horizontal de las notas.  Aún no
+estamos preparados para ver cómo corregir esto, así que dejaremos este
+problema aparcado hasta una sección posterior (véase la propiedad
+force-hshift en @ref{Fixing overlapping notation} )
 
 @node Explicitly instantiating voices
 @subsection Explicitly instantiating voices
 
-UNTRANSLATED NODE: IGNORE ME
+
+@funindex \voiceOne
+@funindex \voiceTwo
+@funindex \voiceThree
+@funindex \voiceFour
+
+Los contextos de voz también se pueden crear manualmente dentro de un
+bloque @code{<< >>} para crear música polifónica, utilizando
+@code{\voiceOne} ... @code{\voiceFour} para indicar las direcciones
+requeridas de plicas, ligaduras, etc.  En partituras más largas, este
+método es más claro porque permite que las voces estén separadas y
+reciban nombres más descriptivos.
+
+Concretamente, la construcción @code{<< \\ >>} que usamos en la
+sección previa:
+
+@example
+\new Staff @{
+  \relative c' @{
+    << @{ e4 f g a @} \\ @{ c,4 d e f @} >>
+  @}
+@}
+@end example
+
+@noindent
+equivale a
+
+@example
+\new Staff <<
+  \new Voice = "1" @{ \voiceOne \relative c' @{ e4 f g a @} @}
+  \new Voice = "2" @{ \voiceTwo \relative c' @{ c4 d e f @} @}
+>>
+@end example
+
+Los dos ejemplos anteriores producirán:
+
+@c The following example should not display the code
+@lilypond[ragged-right,quote]
+\new Staff <<
+  \new Voice = "1" { \voiceOne \relative c' { e4 f g a } }
+  \new Voice = "2" { \voiceTwo \relative c' { c4 d e f } }
+>>
+@end lilypond
+
+Las instrucciones @code{\voiceXXX} establecen la dirección de las
+plicas, ligaduras de expresión, ligaduras de prolongación,
+articulaciones, anotaciones de texto, puntillos y digitaciones.
+@code{\voiceOne} y @code{\voiceThree} hacen que estos objetos apunten
+hacia arriba, mientras que @code{\voiceTwo} y @code{\voiceFour} los
+hacen apuntar hacia abajo.  Estas instrucciones también producen un
+desplazamientoo horizontal para cada voz cuando es necesario para
+evitar choques entre las cabezas.  La instrucción @code{\oneVoice}
+devuelve los ajustes de nuevo a los valores normales para una sola
+voz.
+
+Veamos en algunos ejemplos sencillos exactamente qué efecto tienen
+@code{\oneVoice}, @code{\voiceOne} y @code{voiceTwo} sobre el marcado,
+las ligaduras de unión y de expresión y las indicaciones de dinámica:
+
+@lilypond[quote,ragged-right,verbatim]
+\relative c'{
+  % Default behaviour or behaviour after \oneVoice
+  c d8 ~ d e4 ( f g a ) b-> c
+}
+@end lilypond
+
+@lilypond[quote,ragged-right,verbatim]
+\relative c'{
+  \voiceOne
+  c d8 ~ d e4 ( f g a ) b-> c
+  \oneVoice
+  c, d8 ~ d e4 ( f g a ) b-> c
+}
+@end lilypond
+
+@lilypond[quote,ragged-right,verbatim]
+\relative c'{
+  \voiceTwo
+  c d8 ~ d e4 ( f g a ) b-> c
+  \oneVoice
+  c, d8 ~ d e4 ( f g a ) b-> c
+}
+@end lilypond
+
+Una expresión que aparece directamente dentro de @code{<< >>}
+pertenece a la voz principal (pero, observe, @strong{no} dentro de una
+construcción @code{<< \\ >>}).  Esto es útilo cuando aparecen voces
+nuevas mientras la voz principal está sonando.  A continuación podemos
+ver una realización más correcta del ejemplo de la sección anterior.
+Las notas rojas en forma de rombo muestran que la melodía principal
+está ahora dentro de un contexto de una sola voz, haciendo que se
+pueda trazar una ligadura por encima de ellas.
+
+@lilypond[quote,ragged-right,verbatim]
+\new Staff \relative c' {
+  \voiceOneStyle
+  % The following notes are monophonic
+  c16^( d e f
+  % Start simultaneous section of three voices
+  <<
+    % Continue the main voice in parallel
+    { g4 f e | d2 e2) }
+    % Initiate second voice
+    \new Voice {
+      % Set stems, etc, down
+      \voiceTwo
+      r8 e4 d c8 ~ | c8 b16 a b8 g ~ g2
+    }
+    % Initiate third voice
+    \new Voice {
+      % Set stems, etc, up
+      \voiceThree
+      s2. | s4 b4 c2
+    }
+  >>
+}
+@end lilypond
+
+@cindex anidado de expresiones musicales
+@cindex anidado de construcciones simultáneas
+
+Seon posibles construcciones polifónicas anidadas más profundamente, y
+si una voz aparece sólo brevemente podría haber una forma más natural
+de tipografiar la música.
+
+@lilypond[quote,ragged-right,verbatim]
+\new Staff \relative c' {
+  c16^( d e f
+  <<
+    { g4 f e | d2 e2) }
+    \new Voice {
+      \voiceTwo
+      r8 e4 d c8 ~ |
+      <<
+        {c8 b16 a b8 g ~ g2}
+        \new Voice {
+          \voiceThree
+          s4 b4 c2
+        }
+      >>
+    }
+  >>
+}
+@end lilypond
+
+
+Este método de anida voces nuevas brevemente es útil cuando sólo hay
+secciones polifónicas pequeñas, pero cuando todo el pentagrama es muy
+plifónico podría ser más claro usar varias voces todo el tiempo,
+usando notas espaciadoras para pasar por encima de las secciones en
+que una voz está en silencio, como aquí:
+
+@lilypond[quote,ragged-right,verbatim]
+\new Staff \relative c' <<
+  % Initiate first voice
+  \new Voice {
+    \voiceOne
+    c16^( d e f g4 f e | d2 e2) |
+  }
+  % Initiate second voice
+  \new Voice {
+    % set stems, etc down
+    \voiceTwo
+    s4 r8 e4 d c8 ~ | c8 b16 a b8 g ~ g2 |
+  }
+  % Initiate third voice
+  \new Voice {
+    % set stems, etc up
+    \voiceThree
+    s1 | s4 b4 c2 |
+  }
+>>
+@end lilypond
+
+@cindex columna de notas
+@cindex desplazamiento, instrucciones de
+@funindex \shiftOff
+@funindex \shiftOn
+@funindex \shiftOnn
+@funindex \shiftOnnn
+
+Las notas cercanas de un acorde, o las notas que se producen al mismo
+tiempo en distintas voces, se disponen en dos (y ocasionalmente más)
+columnas para evitar el solapamiento de las cabezas.  Reciben el
+nombre de columnas de notas.  Hay columnas distintas para cada voz, y
+el desplazamiento especificado en curso dependiente de la voz se
+applica a la columna de la nota si en caso contgrario se produjese una
+colisión.  Esto se puede ver en el ejemplo anterior. En el compás 2 el
+Do en la voz dos está desplazado a la derecha respecto del Re de la
+voz uno, y en el último acorde el Do de la voz tres también está
+desplazado a la derecha respecto de las otras notas.
+
+Las instrucciones @code{\shiftOn}, @code{\shiftOnn}, @code{\shiftOnnn}
+y @code{\shiftOff} especifican el grado en que se deben desplazar las
+ntoas y acordes de la voz si en caso contrariio ocurriese una
+colisión.  De forma predeterminada, las voces exteriores (normalmente
+las voces uno y dos) llecan especificado @code{\shiftOff}, mientras
+que las voces interiores (tres y cuatro) tienen @code{\shiftOn}
+especificado.  Cuando se aplica un desplazamiento, las voces uno y
+tres se desplazan hacia la derecha y las voces dos y cuatro se
+desplazan hacia la izquierda.
+
+@code{\shiftOnn} y @code{\shiftOnnn} definen niveles adicionales de
+desplazamiento que se peuden especificar temporalmente para resolver
+colisiones en situaciones complejas (véase @ref{Real music example}).
+
+Una columna de notas puede contener s´olo una nota (o acorde) de una
+voz con las plicas hacia arriba y una not (o acorde) de una voz con
+las plicas hacia abajo.  Si las notas de dos voces que tienen las
+plicas en la misma dirección se sitúan en la misma posición y las dos
+voces no tienen ningún desplazamiento o llevan especificado el mismo
+desplazamiento, se producirá el mensaje de error @qq{Chocan demasiadas
+columnas de notas}.
 
 @node Voices and vocals
 @subsection Voices and vocals
 
-UNTRANSLATED NODE: IGNORE ME
+
+La música vocal presenta una dificultad especial: tenemos que combinar
+dos expresiones, a saber, las notas y la letra.
+
+Ya ha visto la instrucción @code{\addlyrics@{@}}, que maneja bien
+partituras sencillas.  Sin embargo esta técnica es algo limitada.
+Para música de mayor complejidad, tenemos que introducir la letra en
+un contexto @code{Lyrics} utilizando @code{\new Lyrics} y enlazar
+explícitamente la letra y las notas mediante @code{\lyricsto@{@}},
+usando el nombre asignado a la voz.
+
+@lilypond[quote,verbatim,fragment]
+<<
+  \new Voice = "one" \relative c'' {
+    \autoBeamOff
+    \time 2/4
+    c4 b8. a16 g4. f8 e4 d c2
+  }
+  \new Lyrics \lyricsto "one" {
+    No more let sins and sor -- rows grow.
+  }
+>>
+@end lilypond
+
+El barrado automático que LilyPond usa de forma predeterminada
+funciona bien para la música instrumental, pero no ten bien para
+música con letra, donde o bien el barrado no se necesita en absoluto,
+o bien se utiliza para indicar los melismaas de la letra.  En el
+ejemplo anterior hemos utilizado la instrucción @code{\autoBeamOff}
+para desactivar el barrado automático.
+
+Ahora vamos a reutilizar el ejemplo anterior de «Judas Macabeo» para
+ilustrar esta técnica más flexible.  Primero la reescribiremos para
+que use variables de manera que la música y la letra se pueda separar
+de la estructura de pentagramas.  También introduciremos una llave de
+grupo de ChoirStaff.  La letra en sí se debe introducir con
+@code{\lyricmode} para estar seguros de que se interpreta como letra y
+no como música.
+
+@lilypond[quote,verbatim]
+global = { \time 6/8 \partial 8 \key f \major}
+SopOneMusic = \relative c'' {
+  c8 | c([ bes)] a a([ g)] f | f'4. b, | c4.~ c4 }
+SopTwoMusic = \relative c' {
+  r8 | r4. r4 c8 | a'([ g)] f f([ e)] d | e([ d)] c bes' }
+SopOneLyrics = \lyricmode {
+  Let | flee -- cy flocks the | hills a -- dorn, __ }
+SopTwoLyrics = \lyricmode {
+  Let | flee -- cy flocks the | hills a -- dorn, }
+
+\score {
+  \new ChoirStaff <<
+    \new Staff <<
+      \new Voice = "SopOne" {
+        \global
+        \SopOneMusic
+      }
+      \new Lyrics \lyricsto "SopOne" {
+        \SopOneLyrics
+      }
+    >>
+    \new Staff <<
+      \new Voice = "SopTwo" {
+        \global
+        \SopTwoMusic
+      }
+      \new Lyrics \lyricsto "SopTwo" {
+        \SopTwoLyrics
+      }
+    >>
+  >>
+}
+@end lilypond
+
+Ésta es la estructura básica de todas las partituras vocales.  Se
+pueden añadir más pentagramas según se necesite, se pueden añadir más
+voces a los pentagramas y más estrofas a la letra, y las variables que
+contienen la música se pueden colocar fácilmente en archivos separados
+cuando se hagan demasiado largos.
+
+A continuación podemos ver un ejemplo final de la primera línea de un
+himno con cuatro estrofas, para coro SATB.  En este caso la letra de
+las cuatro partes es la misma.
+
+@lilypond[quote,verbatim]
+TimeKey = { \time 4/4 \partial 4 \key c \major}
+SopMusic   = \relative c' { c4 | e4. e8 g4  g  | a a g }
+AltoMusic  = \relative c' { c4 | c4. c8 e4  e  | f f e }
+TenorMusic = \relative c  { e4 | g4. g8 c4. b8 | a8 b c d e4 }
+BassMusic  = \relative c  { c4 | c4. c8 c4  c  | f8 g a b c4 }
+VerseOne   = \lyricmode { 
+  E -- | ter -- nal fa -- ther, | strong to save, }
+VerseTwo   = \lyricmode { 
+  O | Christ, whose voice the | wa -- ters heard, }
+VerseThree = \lyricmode { 
+  O | Ho -- ly Spi -- rit, | who didst brood }
+VerseFour  = \lyricmode { 
+  O | Tri -- ni -- ty of | love and pow'r }
+
+\score {
+  \new ChoirStaff <<
+    \new Staff <<
+      \clef "treble"
+      \new Voice = "Sop"  { \voiceOne \TimeKey \SopMusic }
+      \new Voice = "Alto" { \voiceTwo \AltoMusic }
+      \new Lyrics \lyricsto "Sop" { \VerseOne   }
+      \new Lyrics \lyricsto "Sop" { \VerseTwo   }
+      \new Lyrics \lyricsto "Sop" { \VerseThree }
+      \new Lyrics \lyricsto "Sop" { \VerseFour  }
+    >>
+    \new Staff <<
+      \clef "bass"
+      \new Voice = "Tenor" { \voiceOne \TimeKey \TenorMusic }
+      \new Voice = "Bass"  { \voiceTwo \BassMusic  }
+    >>
+  >>
+}
+@end lilypond
 
 @node Contexts and engravers
 @section Contexts and engravers
 
-UNTRANSLATED NODE: IGNORE ME
+Los contextos y grabadores se han mencionado de manera informal en
+secciones anteriore; ahora tan sólo vamos a ver estos conceptos con
+más detalle, pues son importantes en el ajuste fino de la salida de
+LilyPond.
 
-@menu 
-* Contexts explained::
-* Creating contexts::
-* Engravers explained::
-* Modifying context properties::
-* Adding and removing engravers::
+@menu
+* Contexts explained::          
+* Creating contexts::           
+* Engravers explained::         
+* Modifying context properties::  
+* Adding and removing engravers::  
 @end menu 
 @node Contexts explained
 @subsection Contexts explained
 
-UNTRANSLATED NODE: IGNORE ME
+Cuando se imprime la música, se tienen que añadir a la salida una gran cantidad de elementos
+notacionales.  Por ejemplo, compare la entrada y la salida del siguiente ejemplo:
+
+@lilypond[quote,verbatim,relative=2,fragment]
+cis4 cis2. g4
+@end lilypond
+
+La entrada es bastante escueta, pero en la salida se añaden líneas divisorias, alteraciones accidentales,
+la clave y la indicación de compás.  LilyPond @emph{interpreta} la
+entrada.  En esta fase se inspecciona la información musical en orden temporal,
+de forma parecida a la lectura de una partitura de izquierda a derecha. Mientras se lee
+la entrada, el programa recuerda dónde se encuentran los límites de los compases, y qué notas
+requieren alteraciones explícitas.  Esta información se puede presentar sobre varios
+niveles.  Por ejemplo, el efecto de una alteración accidental se encuentra limitada
+a un solo pentagrama, mientras que una barra divisoria debe estar sincronizada a través
+de la partitura de arriba a abajo.
+
+Dentro de LilyPond, estas reglas y pequeñas porciones de información se agrupan en
+@emph{Contexts}.  Algunos ejemplos de contextos son @code{Voice} (Voz),
+@code{Staff} (Pauta o pentagrama) y @code{Score} (Partitura).  Los contextos son jerárquicos, por
+ejemplo: un @code{Staff} contener muchas @code{Voice}s, y una
+@code{Score} puede contener muchos contextos de @code{Staff}.
+
+@quotation
+@sourceimage{context-example,5cm,,}
+@end quotation
+
+Cada contexto asume la responsabilidad de imponer algunas reglas de notación,
+creando ciertos objetos de notación y manteniendo las propiedades
+asociadas.  Por ejemplo, el contexto @code{Voice} puede introducir una alteración
+accidental y entonces el contexto @code{Staff} mantiene la regla de mostrar o
+suprimir la alteración para el resto del compás.  La
+sincronización de las líneas divisorias se gestiona dentro del contexto de la partitura, @code{Score}.
+
+Sin embargo, en algunas músicas posiblemente no queramos que las líneas divisorias estén
+sincronizada (pensemos en una partitura polimétrica en compases de 4/4 y de 3/4).  En tales casos,
+debemos modificar los ajustes por omisión de los contextos @code{Score}
+y @code{Staff}.
+
+Para partituras muy sencillas, los contextos se crean implícitamente y no debemos
+preocuparnos por ellos.  Para piezas mayores, como por ejemplo cualquiera que tenga más de un pentagrama,
+los contextos se deben crear explícitamente para asegurarnos
+de que tendremos la cantidad exacta de pentagramas que necesitamos,
+y que están en el orden correcto.  Para tipografiar piezas
+con notación especializada, puede ser útil modificar contextos existentes
+o definir unos nuevos.
+
+
+En la referencia del programa se encuentra una descripción completa de todos los contextos que están disponibles,
+consulte
+@ifhtml
+@internalsref{Contexts}.
+@end ifhtml
+@ifnothtml
+Traducción @expansion{} Contexto.
+@end ifnothtml
+
+@c [TODO: describe propagation]
 
 @node Creating contexts
 @subsection Creating contexts
 
-UNTRANSLATED NODE: IGNORE ME
+Sólo puede haber un contexto en el nivel más alto: el contexto de
+partitura @code{Score}.  Se crea con la instrucción @code{\score} o,
+en partituras sencillas, se crea automáticamente.
+
+Para partituras que solamente tienen una voz y un pentagrama, podemos
+dejar que los contextos @code{Voice} y @code{Staff} se creen
+automáticamente, pero para partituras más complejas es necesario
+crearlos a mano.  La instrucción más simple que hace esto es
+@code{\new}.  Se antepone a una expresión musical, por ejemplo
+
+@funindex \new
+@cindex contextos nuevos
+@cindex nuevo, contexto
+
+@example
+\new @var{tipo} @var{expresión_musical}
+@end example
+
+@noindent
+donde @var{tipo} es el nombre de un contexto (como @code{Staff} o
+@code{Voice}).  Esta instrucción crea un contexto nuevo, y comienza a
+interpretar la @var{expresión_musical} que está dentro de ese
+contexto.
+
+Observe que no hay ninguna instrucción @code{\new Score}; el contexto
+@code{Score} único en el nivel más alto se introduce con
+@code{\score}.
+
+La instrucción @code{\new} también puede otorgar un nombre
+identificativo al contexto para distinguirlo de otros contextos del
+mismo tipo:
+
+@example
+\new @var{tipo} = @var{identificador} @var{expresión_musical}
+@end example
+
+Observe la distinción entre el nombre del tipo de contexto,
+@code{Staff}, @code{Voice}, etc., y el nombre identificativo de una
+instancia en particular de ese tipo, que puede ser cualquier secuencia
+de letras inventada por el usuario.  El nombre identificativo se
+utiliza para referirnos más tarde a esa instancia en particular de un
+contexto.  Hemos visto esto en la sección acerca de la letra, en
+@ref{Voices and vocals}.
 
 @node Engravers explained
 @subsection Engravers explained
 
-UNTRANSLATED NODE: IGNORE ME
+@cindex grabadores
+
+Todas y cada una de las marcas de la salida impresa de una partitura
+hecha con LiilyPond está producida por un @code{Engraver} (grabador).
+Así, tenemos un grabador para imprimir pentagramas, otro para imprimir
+las cabezas de las notas, otro para las plicas, otro para las barras,
+etc, etc.  ¡En total hay más de 120 grabadores!  Afortunadamente, para
+la mayor parte de las partituras no es necesario conocer más que
+algunos, y para partituras sencillas no tenemos que saber nada de
+ninguno de ellos.
+
+Los grabadores residen y operan dentro de Contextos.  Los grabadores
+como el grabador de la indicación metronómica,
+@code{Metronome_mark_engraver}, cuya acción y resultado se aplica a la
+partitura como un todo, operan en el contexto del nivel más alto: el
+contexto de partitura @code{Score}.
+
+El grabador de la clave @code{Clef_engraver} y el de la armadura
+@code{Key_engraver} se encuentran probablemente en todos los contextos
+de pentagrama (Staff), pues los distintos pentagramas podrían requerir
+diferentes claves y armaduras.
+
+El grabador de las cabezas de nota @code{Note_heads_engraver} y el de
+las plicas @code{Stem_engraver} viven en cada uno de los contextos de
+voz @code{Voice}, el contexto de nivel más bajo de todos.
+
+Cada grabador procesa los objetos particulares asociados con su
+función, y mantiene las propiedades que están relacionadas con dicha
+función.  Estas propiedades, como las que están asociadas con los
+contextos, se pueden modificar para cambiar el funcionamiento del
+grabador o el aspecto de esos elementos en la partitura impresa.
+   
+Todos los grabadores tienen nombres compuestos de varias palabras que
+describen su función.  Sólo está en mayúsculas la inicial de la
+primera palabra, y el resto se le une mediante guiones bajos.  Así, el
+grabador @code{Staff_symbol_engraver} es responsable de la creación de
+las líneas del pentagrama, y el @code{Clef_engraver} determina y
+establece la altura o el punto de referencia sobre el pentagrama
+dibujando un símbolo de clave.
+
+A continuación presentamos algunos de los grabadores más comunes,
+junto a su función.  Podrá comprobar que es fácil adivinar la función
+a partir del nombre (en inglés), y viceversa.
+
+@multitable @columnfractions .3 .7 
+@headitem Grabador
+  @tab Función
+@item Accidental_engraver
+  @tab Hace las alteraciones accidentales, de precaución y de sugerencia.
+@item Beam_engraver
+  @tab Graba las barras
+@item Clef_engraver
+  @tab Graba las claves
+@item Dynamic_engraver
+  @tab Crea reguladores e indicaciones dinámicas textuales
+@item Key_engraver
+  @tab Crea la armadura de la tonalidad
+@item Metronome_mark_engraver
+  @tab Graba la indicación metronómica
+@item Note_heads_engraver
+  @tab Graba la cabeza de las notas
+@item Rest_engraver
+  @tab Graba los silencios
+@item Staff_symbol_engraver
+  @tab Graba las cinco líneas (de forma predeterminada) del pentagrama
+@item Stem_engraver
+  @tab Crea las plicas y los trémolos de una sola plica
+@item Time_signature_engraver
+  @tab Crea las indicaciones de compás
+@end multitable
+
+@smallspace
+
+Más adelante veremos cómo la salida de LilyPond se puede cambiar
+mediante la modificación del funcionamiento de los Grabadores.
+  
 
 @node Modifying context properties
 @subsection Modifying context properties
 
-UNTRANSLATED NODE: IGNORE ME
+@cindex contexto, propiedades de
+@funindex \set
+@funindex \unset
+
+Los contextos se responsabilizan de mantener los valores de un cierto
+número de @emph{properties} de contexto.  Muchas de ellas se pueden
+cambiar para influir en la interpretación del código de entrada y
+cambiar así la apariencia de la salida impresa.  Se modifican mediante
+la instrucción @code{\set}.  Esta instrucción toma la forma siguiente:
+
+@example
+\set @emph{NombreDelContexto}.@emph{nombreDeLaPropiedad} = #@emph{valor}
+@end example
+
+Donde el @emph{NombreDelContexto} es normalmente @code{Score},
+@code{Staff} o @code{Voice}.  Se puede omitir, en cuyo caso se supone
+que es @code{Voice}.
+
+Los nombres de las propiedades de contexto consisten en palabras
+unidas sin ningún guión o barra baja, y donde todas las palabras
+excepto la primera empiezan en mayúscula.  A continuación podemos ver
+algunos ejemplos de nombres de propiedades utilizadas con frecuencia.
+Hay muchas más que las que se muestran aquí.
+
+@c attempt to force this onto a new page
+@need 50
+@multitable @columnfractions .25 .15 .45 .15
+@headitem nombreDeLaPropiedad
+  @tab Tipo
+  @tab Función
+  @tab Valor de ejemplo
+@item extraNatural
+  @tab Booleano
+  @tab Se es verdadero, poner becuadros adicionales antes de las alteraciones
+  @tab @code{#t}, @code{#f}
+@item currentBarNumber
+  @tab Entero
+  @tab Ajustar el número del compás actual
+  @tab @code{50}
+@item doubleSlurs
+  @tab Booleano
+  @tab Si es verdadero, imprimir ligaduras de expresión por encima y por debajo de las notas
+  @tab @code{#t}, @code{#f}
+@item instrumentName
+  @tab Texto
+  @tab Establecer el nombre del pentagrama, situado a la izquierda
+  @tab @code{"Cello I"}
+@item fontSize
+  @tab Real
+  @tab Aumentar o disminuir el tamaño de la fuente tipográfica
+  @tab @code{2.4}
+@item stanza
+  @tab Texto
+  @tab Establecer el texto que se imprime antes del comienzo de una estrofa
+  @tab @code{"2"}
+@end multitable
+
+@noindent
+donde un valor Booleano es verdadero (@code{#t}, True) o falso
+(@code{#f}, False), un Entero es un número entero positivo, un número
+Real es un número decimal positivo o negativo, y el texto se encierra
+entre comillas dobles.  Observe la aparición de signos de cuadradillo,
+(@code{#}), en dos lugares diferentes: como parte del valor Booleano
+antes de la @code{t} o la @code{f}, y antes del @emph{valor} dentro de
+la sentencia @code{\set}.  Así pues, cuando se está escribiendo un
+valor Booleano, hay que escribir dos signos de cuadradillo, por
+ejemplo: @code{##t}.
+
+Antes de poder establecer cualquiera de estas propiedades, tenemos que
+saber en qué contexto operan.  A veces es algo obvio, pero en
+ocasiones puede ser algo enrevesado.  Si especificamos un contexto
+equivocado, no se produce ningún mensaje de error, pero el
+funcionamiento esperado no tendrá lugar.  Por ejemplo, la propiedad
+@code{instrumentName} (nombre del instrumento) vive claramente dentro
+del contexto de Staff, puesto que es el pentagrama el que debe ser
+nombrado.  En este ejemplo, el primer pentagrama resulta etiquetado,
+pero no el segundo, porque hemos omitido el nombre del contexto.
+
+@lilypond[quote,verbatim,ragged-right]
+<<
+  \new Staff \relative c'' {
+    \set Staff.instrumentName = #"Soprano"
+    c4 c
+ }
+  \new Staff \relative c' {
+  \set instrumentName = #"Alto"  % Wrong!
+  d4 d 
+ }
+>>
+@end lilypond
+
+Recuerde que el nombre del contexto predeterminado es Voice, así que
+la segunda instrucción @code{\set} establece la propiedad
+@code{instrumentName} del contexto Voice a @qq{Alto}, pero como
+LilyPond no busca esta propiedad en el contexto @code{Voice}, no se
+realiza ninguna acción.  Esto no es un error, y no se registra ningún
+mensaje en el archivo de errores Log.
+
+De forma parecida, si el nombre de la propiedad se escribe con alguna
+falta, no se produce ningún mensaje de error, y claramente la acción
+esperada no puede tener lugar.  De hecho, se puede establecer
+cualquier @q{property} (ficticia) usando cualquier nombre que queramos
+en cualquier contexto que exista, mediante el uso de la instrucción
+@code{\set}.  Pero si el nombre no es conocido para LilyPond, no
+producirá ninguna acción.  Esta es una de las razones por las que es
+muy recomendable ussar un editor que sea sensible al contexto y con
+resaltado de la sintaxis para la edición de archivos de LilyPond, como
+por ejemplo Vim, Jedit, ConTEXT o Emacs, ya que los nombres de
+propiedades desconocidas se resaltarán de forma distinta.
+
+La propiedad @code{instrumentName} tendrá efecto solamente si se
+establece dentro del contexto @code{Staff}, pero algunas propiedades
+se pueden establecer en más de un contexto.  Por ejemplo, la propiedad
+@code{extraNatural} está establecida por defecto al valor ##t
+(verdadero) para todos los pentagramas.  Si se establece a ##f (falso)
+en un contexto de @code{Staff} determinado, se aplicará solamente a
+las alteraciones de ese pentagrama.  Si se establece a falso en el
+contexto de la partitura, @code{Score}, se aplicará a todos los
+pentagramas.
+
+Así, esto desactivará los becuadros adicionales en un pentagrama:
+
+@lilypond[quote,verbatim,ragged-right]
+<<
+  \new Staff \relative c'' {
+    ais4 aes
+ }
+  \new Staff \relative c'' {
+    \set Staff.extraNatural = ##f
+    ais4 aes
+ }
+>>
+@end lilypond
+
+@noindent
+y esto los desactivará en todos los pentagramas:
+
+@lilypond[quote,verbatim,ragged-right]
+<<
+  \new Staff \relative c'' {
+    ais4 aes
+ }
+  \new Staff \relative c'' {
+    \set Score.extraNatural = ##f
+    ais4 aes
+ }
+>>
+@end lilypond
+
+El valor de cada propiedad establecido de esta forma se puede devolver
+a su valor original con la instrucción @code{\unset}.
+Las instrucciones @code{\set} y @code{\unset} pueden aparecer en
+cualquier lugar del archivo de entrada y tendrán efecto a partir del
+tiempo en que se encuentran y hasta el final de la partitura o hasta
+que la propiedad se establezca de nuevo mediante @code{\set} o
+@code{\unset}.  Probemos a modificar el tamaño de la fuente
+tipográfica, lo que afecta al tamaño de las cabezas de las notas
+(entre otras cosas) varias veces.  El cambio se toma a partir del
+valor predeterminado, no el valor en curso.
+
+@lilypond[quote,verbatim,ragged-right,relative=1,fragment]
+c4 
+% make note heads smaller
+\set fontSize = #-4
+d e
+% make note heads larger
+\set fontSize = #2.5
+f g
+% return to original size
+\unset fontSize
+a b
+@end lilypond
+
+Hemos podido ver cómo establecer los valores de diversos tipos de
+propiedad diferentes.  Observe que los números enteros y reales van
+siempre precedidos de un símbolo de cuadradillo, @code{#}, mientras
+que un valor booleano verdadero o falso se especifica mediante ##t y
+##f, con dos cuadradillos.  Una propiedad de texto se debe encerrar
+entre comillas dobles, como antes, aunque veremos más adelante que el
+texto realmente se peude especificar de una dorma mucho más general
+utilizando la potentísima instrucción @code{markup}.
+
+
+@funindex \with
+
+Las propiedades de contexto también se pueden establecer en el momento
+en que se crea el contexto.  A veces esta forma de establecer el valor
+de una propiedad es mucho más clara, si ha de quedar fijo durante todo
+el tiempo que dure el contexto.  Cuando se crea un contexto con una
+instrucción @code{\new} puede ir inmediatamente seguido de un bloque
+@code{\with @{ .. @}} en el que se establecen los valores de las
+propiedades.  Por ejemplo, si queremos suprimir la impresión de
+becuadros adicionales para toda la duración de un pentagrama, podemos
+escribir:
+
+@example
+\new Staff \with @{ extraNatural = ##f @}
+@end example
+
+@noindent
+de la siguiente forma:
+
+@lilypond[quote,verbatim,ragged-right]
+<<
+  \new Staff
+  \relative c'' {
+    gis ges aes ais
+  }
+  \new Staff \with { extraNatural = ##f }
+  \relative c'' {
+    gis ges aes ais
+  }
+>>
+@end lilypond
+
+Efectivamente, esto sobreescribe el valor predeterminado de la
+propiedad.  Aún se puede modificar dinámicamente utilizando
+@code{\set} y devolverlo a su (nuevo) valor predeterminado con
+@code{\unset}.
 
 @node Adding and removing engravers
 @subsection Adding and removing engravers
 
-UNTRANSLATED NODE: IGNORE ME
+@cindex Grabadores, adición
+@cindex Grabadores, eliminación
+
+@funindex \consists
+@funindex \remove
+
+Hemos visto que cada uno de los contextos contiene varios grabadores,
+cada uno de los cuales a su vez es responsable de la producción de una
+fracción particular del resultado impreso, como líneas divisorias,
+pentagramas, cabezas, plicas, etc.  Si un grabador es eliminado de un
+contexto, ya no podrá producir su salida impresa.  Es una forma algo
+radical de modificar la salida, pero a veces puede ser útil.
+
+@subsubheading Changing a single context
+
+Para eliminar un grabador de un contexto único, usamos la instrucción
+@code{\with} situada inmediatamente después de la instrucción que crea
+el contexto, como en la sección anterior.
+
+Como ilustración, repitamos un ejemplo extraído de la sección anterior
+con las líneas del pentagrama eliminadas.  Recuerde que las líneas del
+pentagrama están dibujadas por el grabador Staff_symbol_engraver.
+
+@lilypond[quote,verbatim,ragged-right]
+\new Staff \with {
+  \remove Staff_symbol_engraver
+}
+\relative c' {
+  c4 
+  \set fontSize = #-4  % make note heads smaller
+  d e
+  \set fontSize = #2.5  % make note heads larger
+  f g
+  \unset fontSize  % return to original size
+  a b
+}
+@end lilypond
+
+@cindex ámbito, grabador del
+
+Los grabadores también se pueden añadir a los contextos individuales
+La instrucción que lo hace es
+
+@code{\consists @emph{Nombre_del_grabador}},
+
+situada dentro de un bloque @code{\with}.  Ciertas partituras vocales
+tienen una indicación de @rglos{ambitus} situada al principio del
+pentagrama para indicar el ámbito de notas en dicho pentagrama.  El
+ambitus se produce por parte del grabador @code{Ambitus_engraver}, que
+normalmente no está incluido en ningún contexto.  Si lo añadimos al
+contexto @code{Voice}, calcula el rango a partir de esa única voz:
+
+@lilypond[quote,verbatim,ragged-right]
+\new Staff <<
+  \new Voice \with {
+    \consists Ambitus_engraver
+  }
+  \relative c'' { 
+    \voiceOne
+    c a b g 
+  }
+  \new Voice
+  \relative c' {
+    \voiceTwo
+    c e d f
+  }
+>>
+@end lilypond
+
+@noindent
+pero si añadimos el grabador de Ambitus al contexto de @code{Staff},
+calcula el rango a partir de todas las notas en todas las voces de ese
+pentagrama:
+
+@lilypond[quote,verbatim,ragged-right]
+\new Staff \with {
+    \consists Ambitus_engraver
+  }
+  <<
+  \new Voice
+  \relative c'' { 
+    \voiceOne
+    c a b g 
+  }
+  \new Voice
+  \relative c' {
+    \voiceTwo
+    c e d f
+  }
+>>
+@end lilypond
+
+@subsubheading Changing all contexts of the same type
+
+Los ejemplos anteriores muestran la manera de eliminar o añadir
+grabadores a los contextos individuales.  También es posible eliminar
+o añadir grabadores a todos los contextos de un tipo específico,
+situando las instrucciones en el contexto correspondiente dentro de un
+bloque @code{\layout}.  Por ejemplo, si queremos mostrar los rangos de
+tesitura para todos los pentagramas de una partitura de cuatro pautas,
+podemos escribir
+
+@lilypond[quote,verbatim,ragged-right]
+\score {
+  <<
+    \new Staff <<
+      \relative c'' { c a b g }
+    >>
+    \new Staff <<
+      \relative c' { c a b g }
+    >>
+    \new Staff <<
+      \clef "G_8"
+      \relative c' { c a b g }
+    >>
+    \new Staff <<
+      \clef "bass"
+      \relative c { c a b g }
+    >>
+  >>
+  \layout {
+    \context {
+      \Staff
+      \consists Ambitus_engraver
+    }
+  }
+}
+@end lilypond
+
+@noindent
+Los valores predeterminados de las propiedades de los contextos
+también se pueden establecer para todos los contextos de un tipo en
+particular incluyendo la instrucción @code{\set} dentro de un bloque
+@code{\context} de la misma forma.
 
-@subsubsection Changing a single context
-@ 
-@subsubsection Changing all contexts of the same type
 @node Extending the templates
 @section Extending the templates
 
-UNTRANSLATED NODE: IGNORE ME
+Ha leído el tutorial y ahora sabe escribir música.  Pero ¿cómo puede
+poner los pentagramas que quiere?  Las plantillas están muy bien, pero
+¿qué ocurre si quiere algo que no está en una de ellas?  Bien, puede
+encontrar montañas de plantillas (véase @ref{Templates}) que le pueden
+servir como punto de partida.  Pero ¿y si quiere algo que no está
+contemplado aquí? Continúe leyendo.
+
+
+@menu
+* Soprano and cello::           
+* Four-part SATB vocal score::  
+* Building a score from scratch::  
+@end menu
 
-@menu 
-* Soprano and cello::
-* Four-part SATB vocal score::
-* Building a score from scratch::
-@end menu 
 @node Soprano and cello
 @subsection Soprano and cello
 
-UNTRANSLATED NODE: IGNORE ME
+
+Para empezar, tome la plantilla que le parezca más parecida a aquello
+que quiere conseguir.  Digamos que quiere escribir algo para soprano y
+cello.  En este caso comenzaríamos con la plantilla @q{Notas y letra}
+(para la parte de soprano).
+
+@example
+\version @w{"@version{}"}
+melodia = \relative c' @{
+  \clef treble
+  \key c \major
+  \time 4/4
+  a4 b c d
+@}
+
+texto = \lyricmode @{
+  Aaa Bee Cee Dee
+@}
+
+\score @{
+  <<
+    \new Voice = "uno" @{
+      \autoBeamOff
+      \melodia
+    @}
+    \new Lyrics \lyricsto "uno" \texto
+  >>
+  \layout @{ @}
+  \midi @{ @}
+@}
+@end example
+
+Ahora queremos añadir una parte de violoncello.  Veamos el ejemplo
+@q{Sólo notas}:
+
+@example
+\version @w{"@version{}"}
+melodia = \relative c' @{
+  \clef treble
+  \key c \major
+  \time 4/4
+  a4 b c d
+@}
+
+\score @{
+  \new Staff \melodia
+  \layout @{ @}
+  \midi @{ @}
+@}
+@end example
+
+No necesitamos dos comandos @code{\version}.  Vamos a necesitar la
+sección @code{melodia}.  No queremos dos secciones @code{\score} (si
+tuviésemos dos @code{\score}s, acabaríamos con las dos particellas por
+separado.  Queremos las dos juntas, como un dúo.  Dentro de la sección
+@code{\score}, no nos hacen falta dos @code{\layout} ni dos
+@code{\midi}.
+
+Si nos limitásemos a copiar y pegar la sección @code{melodia},
+acabaríamos con dos secciones @code{melodia} separadas, así que vamos
+a cambiarles el nombre.  Llamaremos @code{musicaSoprano} a la sección
+de la soprano y @code{musicaCello} a la sección del violoncello.  Al
+mismo tiempo cambiaremos el nombre de @code{texto} a
+@code{letraSoprano}.  Recuerde cambiar el nombre a las dos apariciones
+de todos estos nombres -- tanto la definición inicial (la parte
+@code{melodia = relative c' @{ }) -- como el uso de ese nombre (en la
+sección @code{\score}).
+
+También aprovecharemos para cambiar el pentagrama de la parte del
+cello (los violoncellos se escriben normalmente en clave de Fa).
+Asimismo, cambiaremos algunas notas del cello.
+
+@example
+\version @w{"@version{}"}
+musicaSoprano = \relative c' @{
+  \clef treble
+  \key c \major
+  \time 4/4
+  a4 b c d
+@}
+
+letraSoprano = \lyricmode @{
+  Aaa Bee Cee Dee
+@}
+
+musicaCello = \relative c @{
+  \clef bass
+  \key c \major
+  \time 4/4
+
+  d4 g fis8 e d4
+@}
+
+\score@{
+  <<
+    \new Voice = "uno" @{
+      \autoBeamOff
+      \sopranoMusic
+    @}
+    \new Lyrics \lyricsto "uno" \letraSoprano
+  >>
+  \layout @{ @}
+  \midi @{ @}
+@}
+@end example
+
+Esto tiene una apariencia prometedora, pero la parte del cello no sale
+en la partitura (no la hemos puesto en la sección @code{\score}).  Si
+queremos que la parte del cello aparezca debajo de la de soprano,
+tenemos que añadir
+
+@example
+\new Staff \musicaCello
+@end example
+
+@noindent
+justo debajo de todo lo de la soprano.  También tenemos que poner
+@code{<<} y @code{>>} antes y después de la música -- lo que indica a
+LilyPond que hay más de una cosa (en este caso, @code{Staff})
+sucediendo al mismo tiempo -- .  La @code{\score} se parecerá ahora a
+esto
+
+@example
+\score@{
+  <<
+    <<
+      \new Voice = "uno" @{
+        \autoBeamOff
+        \sopranoMusic
+      @}
+      \new Lyrics \lyricsto "uno" \letraSoprano
+    >>
+    \new Staff \musicaCello
+  >>
+  \layout @{ @}
+  \midi @{ @}
+@}
+@end example
+
+@noindent
+Esto parece un poco enrevesado; los márgenes están descuadrados.  Esto
+tiene fácil solución.  Presentamos aquí la plantilla completa para
+soprano y cello.
+
+@lilypond[quote,verbatim,ragged-right]
+\version "2.11.38"
+sopranoMusic = \relative c' {
+  \clef treble
+  \key c \major
+  \time 4/4
+
+  a4 b c d
+}
+
+sopranoLyrics = \lyricmode {
+  Aaa Bee Cee Dee
+}
+
+celloMusic = \relative c {
+  \clef bass
+  \key c \major
+  \time 4/4
+
+  d4 g fis8 e d4
+}
+
+\score{
+  <<
+    <<
+      \new Voice = "one" {
+        \autoBeamOff
+        \sopranoMusic
+      }
+      \new Lyrics \lyricsto "one" \sopranoLyrics
+    >>
+    \new Staff \celloMusic
+  >>
+  \layout { }
+  \midi { }
+}
+@end lilypond
 
 @node Four-part SATB vocal score
 @subsection Four-part SATB vocal score
 
-UNTRANSLATED NODE: IGNORE ME
+La mayor parte de las partituras vocales escritas para coro mixto a
+cuatro voces con acompañamiento orquestal, como el «Elías» de
+Mendelssohn o el «Mesías» de Haendel, tienen la música coral y la
+letra en cuatro pentagramas para S, A, T y B, respectivamente, con una
+reducción de piano del acompañamiento de orquesta, por debajo. He aquí
+un ejemplo del «Mesías» de Haendel:
+
+@c The following should appear as music without code
+@lilypond[quote,ragged-right]
+global = { \key d \major \time 4/4 }
+sopMusic = \relative c'' {
+  \clef "treble"
+  r4 d2 a4 | d4. d8 a2 | cis4 d cis2 |
+}
+sopWords = \lyricmode {
+  Wor -- thy is the lamb that was slain
+}
+altoMusic = \relative a' {
+  \clef "treble"
+  r4 a2 a4 | fis4. fis8 a2 | g4 fis e2 |
+}
+altoWords = \sopWords
+tenorMusic = \relative c' {
+  \clef "G_8"
+  r4 fis2 e4 | d4. d8 d2 | e4 a, cis2 |
+}
+tenorWords = \sopWords
+bassMusic = \relative c' {
+  \clef "bass"
+  r4 d2 cis4 | b4. b8 fis2 | e4 d a'2 |
+}
+bassWords = \sopWords
+upper = \relative a' {
+  \clef "treble"
+  \global
+  r4 <a d fis>2 <a e' a>4 |
+  <d fis d'>4. <d fis d'>8 <a d a'>2 |
+  <g cis g'>4 <a d fis> <a cis e>2 |
+}
+lower = \relative c, {
+  \clef "bass"
+  \global
+  <d d'>4 <d d'>2 <cis cis'>4 |
+  <b b'>4. <b' b'>8 <fis fis'>2 |
+  <e e'>4 <d d'> <a' a'>2 |
+}
+
+\score {
+  <<  % combine ChoirStaff and PianoStaff in parallel
+    \new ChoirStaff <<
+      \new Staff = "sopranos" <<
+        \set Staff.instrumentName = "Soprano"
+        \new Voice = "sopranos" { \global \sopMusic }
+      >>
+      \new Lyrics \lyricsto "sopranos" { \sopWords }
+      \new Staff = "altos" <<
+        \set Staff.instrumentName = "Alto"
+        \new Voice = "altos" { \global \altoMusic }
+      >>
+      \new Lyrics \lyricsto "altos" { \altoWords }
+      \new Staff = "tenors" <<
+        \set Staff.instrumentName = "Tenor"
+        \new Voice = "tenors" { \global \tenorMusic }
+      >>
+      \new Lyrics \lyricsto "tenors" { \tenorWords }
+      \new Staff = "basses" <<
+        \set Staff.instrumentName = "Bass"
+        \new Voice = "basses" { \global \bassMusic }
+      >>
+      \new Lyrics \lyricsto "basses" { \bassWords }
+    >>  % end ChoirStaff
+
+    \new PianoStaff <<
+      \set PianoStaff.instrumentName = "Piano  "
+      \new Staff = "upper" \upper
+      \new Staff = "lower" \lower
+    >>
+  >>
+}
+@end lilypond
+
+Ninguna de las plantillas proporciona esta disposición con exactitud.
+La más parecida es @q{partitura vocal SATB y reducción de piano
+automática}, pero necesitamos cambiar la disposición y añadir un
+acompañamiento de piano que no esté derviado automáticamente de las
+partes vocales.  Las variables que contienen la música y la letra de
+las partes vocales es adecuada, pero tendremos que añadir variables
+para la reducción de piano.
+
+El orden en que aparecen los contextos en el ChoirStaff de la
+plantilla no se corresponde con el orden de la partitura vocal que
+hemos mostrado más arriba.  Tenemos que reordenarlas para que haya
+cuatro pentagramas con la letra escrita directamente bajo las notas de
+cada parte.  Todas las voces deben ser @code{\voiceOne}, que es la
+predeterminada, para que las instrucciones @code{\voiceXXX} se puedan
+eliminar.  También tenemos que especificar la clave de tenor (clave de
+sol octava baja) en las partes de tenor.  Aún no hemos encontrado la
+forma en que la letra se especifica en la plantilla, así que tenemos
+que utilizar el método que nos resulta familiar.  También tenemos que
+escribir los nombres de cada pentagrama.
+
+Al hacerlo así obtenemos el ChoirStaff siguiente:
+
+@example
+    \new ChoirStaff <<
+      \new Staff = "sopranos" <<
+        \set Staff.instrumentName = "Soprano"
+        \new Voice = "sopranos" @{ \global \musicaSoprano @}
+      >>
+      \new Lyrics \lyricsto "sopranos" @{ \latraSoprano @}
+      \new Staff = "altos" <<
+        \set Staff.instrumentName = "Alto"
+        \new Voice = "altos" @{ \global \musicaAlto @}
+      >>
+      \new Lyrics \lyricsto "altos" @{ \letraAlto @}
+      \new Staff = "tenores" <<
+        \set Staff.instrumentName = "Tenor"
+        \new Voice = "tenores" @{ \global \musicaTenor @}
+      >>
+      \new Lyrics \lyricsto "tenors" @{ \letraTenor @}
+      \new Staff = "bajos" <<
+        \set Staff.instrumentName = "Bass"
+        \new Voice = "bajos" @{ \global \musicaBajo @}
+      >>
+      \new Lyrics \lyricsto "basses" @{ \letraBajo @}
+    >>  % fin del ChoirStaff
+@end example
+
+A continuación debemos trabajar sobre la parte de piano.  Es fácil:
+tan sólo hay que sacar la parte de piano de la plantilla de @q{Piano
+solista}:
+
+@example
+\new PianoStaff <<
+  \set PianoStaff.instrumentName = "Piano  "
+  \new Staff = "superior" \superior
+  \new Staff = "inferior" \inferior
+>>
+@end example
+
+y escribir las definiciones de variable para @code{superior} e
+@code{inferior}.
+
+Los grupos ChoirStaff y PianoStaff se deben combinar utilizando
+ángulos dobles, ya queremos apilarlos unos sobre otros:
+
+@example
+<<  % combinar los grupos ChoirStaff y PianoStaff uno sobre el otro
+  \new ChoirStaff <<
+    \new Staff = "sopranos" <<
+      \new Voice = "sopranos" @{ \global \musicaSoprano @}
+    >>
+    \new Lyrics \lyricsto "sopranos" @{ \letraSoprano @}
+    \new Staff = "altos" <<
+      \new Voice = "altos" @{ \global \musicaAlto @}
+    >>
+    \new Lyrics \lyricsto "altos" @{ \letraAlto @}
+    \new Staff = "tenores" <<
+      \clef "G_8"  % clave de tenor
+      \new Voice = "tenores" @{ \global \musicaTenor @}
+    >>
+    \new Lyrics \lyricsto "tenores" @{ \letraTenor @}
+    \new Staff = "bajos" <<
+      \clef "bass"
+      \new Voice = "bajos" @{ \global \musicaBajo @}
+    >>
+    \new Lyrics \lyricsto "bajos" @{ \letraBajo @}   
+  >>  % fin del ChoirStaff
+
+  \new PianoStaff <<
+    \set PianoStaff.instrumentName = "Piano  "
+    \new Staff = "upper" \upper
+    \new Staff = "lower" \lower
+  >>
+>>
+@end example
+
+Al combinar todo esto junto y escribir la música de los tres compases
+del ejemplo anterior, obtenemos:
+
+@lilypond[quote,verbatim,ragged-right]
+\version "2.11.38"
+global = { \key d \major \time 4/4 }
+sopMusic = \relative c'' {
+  \clef "treble"
+  r4 d2 a4 | d4. d8 a2 | cis4 d cis2 |
+}
+sopWords = \lyricmode {
+  Wor -- thy is the lamb that was slain
+}
+altoMusic = \relative a' {
+  \clef "treble"
+  r4 a2 a4 | fis4. fis8 a2 | g4 fis fis2 |
+}
+altoWords = \sopWords
+tenorMusic = \relative c' {
+  \clef "G_8"
+  r4 fis2 e4 | d4. d8 d2 | e4 a, cis2 |
+}
+tenorWords = \sopWords
+bassMusic = \relative c' {
+  \clef "bass"
+  r4 d2 cis4 | b4. b8 fis2 | e4 d a'2 |
+}
+bassWords = \sopWords
+upper = \relative a' {
+  \clef "treble"
+  \global
+  r4 <a d fis>2 <a e' a>4 |
+  <d fis d'>4. <d fis d'>8 <a d a'>2 |
+  <g cis g'>4 <a d fis> <a cis e>2 |
+}
+lower = \relative c, {
+  \clef "bass"
+  \global
+  <d d'>4 <d d'>2 <cis cis'>4 |
+  <b b'>4. <b' b'>8 <fis fis'>2 |
+  <e e'>4 <d d'> <a' a'>2 |
+}
+
+\score {
+  <<  % combine ChoirStaff and PianoStaff in parallel
+    \new ChoirStaff <<
+      \new Staff = "sopranos" <<
+        \set Staff.instrumentName = "Soprano"
+        \new Voice = "sopranos" { \global \sopMusic }
+      >>
+      \new Lyrics \lyricsto "sopranos" { \sopWords }
+      \new Staff = "altos" <<
+        \set Staff.instrumentName = "Alto"
+        \new Voice = "altos" { \global \altoMusic }
+      >>
+      \new Lyrics \lyricsto "altos" { \altoWords }
+      \new Staff = "tenors" <<
+        \set Staff.instrumentName = "Tenor"
+        \new Voice = "tenors" { \global \tenorMusic }
+      >>
+      \new Lyrics \lyricsto "tenors" { \tenorWords }
+      \new Staff = "basses" <<
+        \set Staff.instrumentName = "Bass"
+        \new Voice = "basses" { \global \bassMusic }
+      >>
+      \new Lyrics \lyricsto "basses" { \bassWords }
+    >>  % end ChoirStaff
+
+    \new PianoStaff <<
+      \set PianoStaff.instrumentName = "Piano  "
+      \new Staff = "upper" \upper
+      \new Staff = "lower" \lower
+    >>
+  >>
+}
+@end lilypond
+  
 
 @node Building a score from scratch
 @subsection Building a score from scratch
 
-UNTRANSLATED NODE: IGNORE ME
+Después de adquirir algo de soltura en la escritura del código de
+LilyPond, se dará cuenta de que es más fácil construir completamente
+una partitura partiendo de cero, que modificar una plantilla.  También
+puede desarrollar su propio estilo de forma que se adapte al tipo de
+música que le apetezca.  Veamos a continuación cómo confeccionar una
+partitura para un preludio de órgano, como ejemplo.
+
+Comenzamos con una sección para el encabezamiento.  Aquí es donde van
+el título, nombre del compositor, etc., después van las definiciones
+de las variables, y finalmente el bloque de partitura.  Comencemos a
+verlas por encima y más tarde completaremos los detalles.
+
+Utilizaremos los dos primeros compases del peludio de Bach basado en
+@emph{Jesu, meine Freude}, que está escrito para órgano con dos
+manuales y pedal.  Tiene estos dos compases de música al final de la
+sección.  La parte del manual superior tiene dos voces, y el inferior
+y el pedal, una voz cada uno.  Así pues, necesitamos cuatro
+definiciones para la música y una más para definir el compás y la
+tonalidad:
+
+@example
+\version @w{"@version{}"}
+\header @{
+  title = "Jesu, meine Freude"
+  composer = "J S Bach"
+@}
+TimeKey = @{ \time 4/4 \key c \minor @}
+MusicaManualUnoVozUno = @{s1@}
+MusicaManualUnoVozDos = @{s1@}
+MusicaManualDos = @{s1@}
+MusicaPedal = @{s1@}
+
+\score @{
+@}
+@end example
+
+Por el momento hemos escrito tan sólo una nota espaciadora, @code{s1},
+en lugar de la música de verdad.  La añadiremos más adelante.
+
+A continuación veamos qué va en el bloque de partitura.
+Sencillamente, reflejaremos la estructura de pentagramas que deseemos.
+La música de órgano se escribe por lo general en tres pentagramas, uno
+para cada uno de los manuales y otro para el pedal.  Los pentagramas
+de los manuales se abarcan con una llave, así que los incluiremos en
+un grupo PianoStaff.  La primera parte de manual tiene dos voces, y la
+segunda sólo una.
+
+@example
+  \new PianoStaff <<
+    \new Staff = "ManualUno" <<
+      \new Voice @{ \MusicaManualUnoVozUno @}
+      \new Voice @{ \MusicaManualUnoVozDos @}
+    >>  % fun del contexto de Staff ManualUno
+    \new Staff = "ManualDos" <<
+      \new Voice @{ \MusicaManualDos @}
+    >>  % fin del contexto de Staff ManualDos
+  >>  % fin del contexto de PianoStaff
+@end example
+
+Después, tenemos que añadir un pentagrama para el órgano de pedal.
+Esto va por debajo del PianoStaff, pero debe ser simultáneo con él,
+por lo que escribimos dobles ángulos rodeando a los dos.  Si esto se
+nos olvida, se producirá un error en el archivo log de registro.  ¡Es
+un error muy común que cometerá antes o después!  Intente copiar el
+ejemplo final que aparece al final de la sección, borre los dobles
+ángulos y procese el archivo para ver qué error produce.
+
+@example
+<<  % el grupo PianoStaff y el pentagrama de Pedal son simultáneos
+  \new PianoStaff <<
+    \new Staff = "ManualUno" <<
+      \new Voice @{ \MusicaManualUnoVozUno @}
+      \new Voice @{ \MusicaManualUnoVozDos @}
+    >>  % fin del contexto de Staff ManualUno
+    \new Staff = "ManualDos" <<
+      \new Voice @{ \MusicaManualDos @}
+    >>  % fin del contexto de Staff ManualDos
+  >>  % fin del contexto de PianoStaff
+  \new Staff = "OrganoPedal" <<
+    \new Voice @{ \MusicaOrganoPedal @}
+  >>
+>>
+@end example
+
+No es estrictamente necesario utilizar la construcción simultánea
+@code{<< >>} para el pentagrama del manual dos y el pentagrama del
+órgano de pedal, ya que contienen una única expresión, pero no hace
+daño y es una buena costumbre utilizar siempre dobles ángulos después
+de @code{\new Staff} cuando hay varias voces.
+
+Añadamos esta estructura al bloque de partitura, y ajustemos el
+sangrado de los márgenes.  También escribimos las claves
+correspondientes, nos aseguramos de que las plicas de la segunda voz
+apuntan hacia abajo mediante @code{\voiceTwo} y escribimos el compás y
+la tonalidad en cada uno de los pentagramas usando nuestra variable
+previamente definida @code{\TimeKey}.
+
+@example
+\score @{
+  <<  % el grupo PianoStaff y el pentagrama de Pedal son simultáneos
+    \new PianoStaff <<
+      \new Staff = "ManualUno" <<
+        \TimeKey  % establecer compás y tonalidad
+        \clef "treble"
+        \new Voice @{ \MusicaManualUnoVozUno @}
+        \new Voice @{ \voiceTwo \MusicaManualUnoVozDos @}
+      >>  % fin del contexto de Staff ManualUno
+      \new Staff = "ManualDos" <<
+        \TimeKey
+        \clef "bass"
+        \new Voice @{ \MusicaManualDos @}
+      >>  % fin del contexto de Staff ManualDos
+    >>  % fin del contexto de PianoStaff
+    \new Staff = "OrganoPedal" <<
+      \TimeKey
+      \clef "bass"
+      \new Voice @{ \MusicaOrganoPedal @}
+    >>  % fin del pentagrama de OrganoPedal
+  >>
+@}  % end Score context
+@end example
+
+Con esto se completa la estructura.  Toda música para órgano de tres
+pentagramas tendrá una estructura similar, aunque el número de voces
+puede variar.  Todo lo que nos queda es añadir la música, y combinar
+todas las partes.
+
+@lilypond[quote,verbatim,ragged-right]
+\version "2.11.38"
+\header {
+  title = "Jesu, meine Freude"
+  composer = "J S Bach"
+}
+TimeKey = { \time 4/4 \key c \minor }
+ManualOneVoiceOneMusic = \relative g' {
+  g4 g f ees | d2 c2 |
+}
+ManualOneVoiceTwoMusic = \relative c' {
+  ees16 d ees8~ ees16 f ees s c8 d~ d c~ |
+  c c4 b8 c8. g16 c b c d |
+}
+ManualTwoMusic = \relative c' {
+  c16 b c8~ c16 b c g a8 g~ g16 g aes ees |
+  f ees f d g aes g f ees d e8~ ees16 f ees d |
+}
+PedalOrganMusic = \relative c {
+  r8 c16 d ees d ees8~ ees16 a, b g c b c8 |
+  r16 g ees f g f g8 c,2 |
+  }
 
+\score {
+  <<  % PianoStaff and Pedal Staff must be simultaneous
+    \new PianoStaff <<
+      \new Staff = "ManualOne" <<
+        \TimeKey  % set time signature and key
+        \clef "treble"
+        \new Voice { \ManualOneVoiceOneMusic }
+        \new Voice { \voiceTwo \ManualOneVoiceTwoMusic }
+      >>  % end ManualOne Staff context
+      \new Staff = "ManualTwo" <<
+        \TimeKey
+        \clef "bass"
+        \new Voice { \ManualTwoMusic }
+      >>  % end ManualTwo Staff context
+    >>  % end PianoStaff context
+    \new Staff = "PedalOrgan" <<
+      \TimeKey
+      \clef "bass"
+      \new Voice { \PedalOrganMusic }
+    >>  % end PedalOrgan Staff
+  >>
+}  % end Score context
+@end lilypond
 
--- SKELETON FILE --
-When you actually translate this file, please remove these lines as
-well as all `UNTRANSLATED NODE: IGNORE ME' lines.
index 6fd9ef0bb0de50bd1035a2df0aed64f3db99499b..f49ba2df91d207b6ed485e09adf6c71b421f394c 100644 (file)
@@ -1,7 +1,7 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 @c This file is part of lilypond.tely
 @ignore
-    Translation of GIT committish: 459d5b872a370b53f61e747784fb56cf23f56e4b
+    Translation of GIT committish: f02e10cde760bb4981b73742f0fb5a867e1d3d33
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  See TRANSLATION for details.
@@ -32,7 +32,7 @@
 @end menu
 
 @node String number indications
-@unnumberedsubsubsec String number indications
+@subsubsection String number indications
 
 @cindex Cuerda, número de la
 
@@ -51,7 +51,7 @@ Referencia del programa: @internalsref{StringNumber},
 
 
 @node Tablatures basic
-@unnumberedsubsubsec Tablatures basic
+@subsubsection Tablatures basic
 @cindex Tablatura, principios básicos
 
 La notación de tablatura se utiliza para la notación de música de instrumentos de cuerda
@@ -138,7 +138,7 @@ melodia = \partcombine { e4 g g g }{ e4 e e e }
 
 
 @node Non-guitar tablatures
-@unnumberedsubsubsec Non-guitar tablatures
+@subsubsection Non-guitar tablatures
 @cindex Tablaturas para instr. distintos de la guitarra
 
 Puede cambiar la afinación de las cuerdas. Una afinación de cuerdas se da como
@@ -186,7 +186,7 @@ No se ha implementado ningún efecto especial de guitarra.
 
 
 @node Banjo tablatures
-@unnumberedsubsubsec Banjo tablatures
+@subsubsection Banjo tablatures
 @cindex Banjo, tablaturas de
 
 LilyPond contempla el banjo de cinco cuerdas de una manera básica.  Cuando haga tablaturas
@@ -225,7 +225,7 @@ El archivo @file{scm/@/output@/-lib@/.scm} contiene las afinaciones predefinidas
 
 
 @node Fret diagrams
-@unnumberedsubsubsec Fret diagrams
+@subsubsection Fret diagrams
 @cindex trastes, diagramas de
 @cindex acordes, diagramas de
 
@@ -274,7 +274,7 @@ Ejemplos: @lsrdir{guitar}
 
 
 @node Right hand fingerings
-@unnumberedsubsubsec Right hand fingerings
+@subsubsection Right hand fingerings
 
 Se pueden introducir las digitaciones de la mano derecha de los acordes, usando
 @code{@var{nota}-\rightHandFinger @var{dedo}}
@@ -330,7 +330,7 @@ Referencia del programa: @internalsref{StrokeFinger}
 
 
 @node Other guitar issues
-@unnumberedsubsubsec Other guitar issues
+@subsubsection Other guitar issues
 
 Este ejemplo muestra cómo incluir indicaciones de posición y cejilla
 de guitarra:
@@ -351,6 +351,6 @@ guitarrista debe tocar una determinada nota o acorde, con sus dedos apenas
 tocando las cuerdas en lugar de pisarlas por completo.  Esto produce en el sonido un carácter
 percusivo y ruidoso, sin perder la altura de la nota
 original.  Su notación se realiza con cabezas en equis; se muestra
-en @ref{Special noteheads}.
+en @ref{Special note heads}.
 
 
index dc9a122ee9ef79e7cb597d50e3516915c5339cf9..8746cad162866b5ff000f7a36c95be1dbeade597 100644 (file)
@@ -1,7 +1,7 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 @c This file is part of lilypond.tely
 @ignore
-    Translation of GIT committish: d9b4bfc69674eb4ed7b8c6eaa0b646f00eae6c8d
+    Translation of GIT committish: 66dde21fe63499f32a718f6098abe70e1429059b
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  See TRANSLATION for details.
@@ -73,11 +73,12 @@ UNTRANSLATED NODE: IGNORE ME
 UNTRANSLATED NODE: IGNORE ME
 
 @menu 
-* Controlling direction::
+* Controlling direction and placement::
 * Distances and measurements MAYBE MOVE::
+* When to add a -::
 @end menu 
-@node Controlling direction
-@subsection Controlling direction
+@node Controlling direction and placement
+@subsection Controlling direction and placement
 
 UNTRANSLATED NODE: IGNORE ME
 
@@ -86,6 +87,11 @@ UNTRANSLATED NODE: IGNORE ME
 
 UNTRANSLATED NODE: IGNORE ME
 
+@node When to add a -
+@subsection When to add a -
+
+UNTRANSLATED NODE: IGNORE ME
+
 @node Other stuffs TODO move?
 @section Other stuffs TODO move?
 
index 5a5bbd79da912c3df4f0fc56614203a426a76044..b78d76a497f6eaf9b4b386562c89aa2d54a6b607 100644 (file)
@@ -1,7 +1,7 @@
 @c -*- coding: utf-8; mode: texinfo; -*-
 @c This file is part of lilypond.tely
 @ignore
-    Translation of GIT committish: 338edaf1ad2b64605dcdeadb37b4cf17f98fc81a
+    Translation of GIT committish: e383a0fdd2e3001caccacf9d0a7d1f0806f3b94c
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  See TRANSLATION for details.
@@ -540,7 +540,7 @@ es el contexto de notación de más alto nivel.
 
 @seealso
 
-Referencia del programa: @internalsref{Contexts}.
+Referencia de funcionamiento interno: @internalsref{Contexts}.
 
 @lilypond[quote,ragged-right]
 \include "engraver-example.ily"
@@ -696,91 +696,90 @@ mezclar música y texto dentro de los documentos, en algo muy sencillo.
 @node About this manual
 @section About this manual
 
-Hay dos manuales sobre LilyPond: el @emph{manual del usuario} (este mismo
-documento) y el de @emph{utilización del programa}.
 
+Hay cuatro manuales de LilyPond: el @emph{Manual de aprendizaje}, la
+@emph{Referencia de la notación}, el manual de @emph{Utilización del
+programa} y la @emph{Referencia de funcionamiento interno}.
 
-@subheading User manual
 
-El manual se divide en tres libros.
+@subheading Learning Manual (LM)
 
-@subsubheading Learning manual
+Este libro explica cómo empezar a aprender LilyPond, así como algunos
+conceptos clave en términos sencillos.  Se recomienda leer estos
+capítulos de forma secuencial.
 
-Este libro explica cómo empezar el aprendizaje de LilyPond, así como algunos
-conceptos clave en términos sencillos. Se recomienda leer estos capítulos
-secuencialmente.
-
-@itemize @bullet
+@itemize
 
 @item
 @ifhtml
 El
 @end ifhtml
 @emph{@ref{Tutorial}}
-da una amable introducción a la tipografía musical.  Los usuarios que se acercan
-por primera vez deben comenzar por aquí.
+da una amable introducción a la tipografía musical.  Los usuarios que
+se acercan por primera vez deben comenzar por aquí.
 
 @item
-@emph{@ref{Putting it all together}}
-explica algunos conceptos generales sobre el formato de los archivos de entrada de LilyPond.  Si
-no está seguro de dónde colocar un comando ¡lea este capítulo!
+@emph{@ref{Fundamental concepts}}
+explica algunos conceptos generales sobre el formato de los archivos
+de entrada de LilyPond.  Si no está seguro de dónde colocar un comando
+¡lea este capítulo!
 
 @item
 @emph{@ref{Working on LilyPond projects}}
-trata los usos prácticos de LilyPond y cómo evitar ciertos problemas bastante
-comunes.
+trata los usos prácticos de LilyPond y cómo evitar ciertos problemas
+bastante comunes.
 
 @item
 @emph{@ref{Tweaking output}}
-muestra la manera de cambiar el grabado por omisión que produce
+muestra la manera de cambiar el grabado predeterminado que produce
 LilyPond.
 
 @end itemize
 
 
-@subsubheading Notation reference
+@subheading Notation Reference (NR)
 
-Este libro explica todas las instrucciones de LilyPond que producen notación impresa.  Da
-por supuesto que el lector está familiarizado con los conceptos del manual
-de aprendizaje.
+Este libro explica todas las instrucciones de LilyPond que producen
+notación impresa.  Da por supuesto que el lector está familiarizado
+con los conceptos del manual de aprendizaje.
 
 @c  we need to completely rewrite this after GDP.  -gp
 @ignore
 @itemize @bullet
 
 @item
-@emph{@ref{Basic notation}}
+@emph{@r ef{Basic notation}}
 trata ciertos temas agrupados según las construcciones de notación.  Esta sección proporciona
 detalles sobre notación básica que probablemente serán de utilidad en casi cualquier
 proyecto de notación.
 
 @item
-@emph{@ref{Instrument-specific notation}}
+@emph{@r ef{Instrument-specific notation}}
 también trata los temas agrupados por construcciones de notación.  Esta sección proporciona
 detalles sobre notación especial que solamente será útil para ciertos
 grupos de instrumentos (o voces).
 
 @item
-@emph{@ref{Advanced notation}}
+@emph{@r ef{Advanced notation}}
 trata temas agrupados por construcciones de notación.  Esta sección proporciona
 detalles acerca de cierta notación complicada o poco usual.
 
 @item
-@emph{@ref{Changing defaults}}
+@emph{@r ef{Changing defaults}}
 explica cómo hacer un ajuste fino de la presentación.
 
 @item
-@emph{@ref{Non-musical notation}}
+@emph{@r ef{Non-musical notation}}
 trata la salida no musical como los títulos, piezas de varios movimientos,
 y sobre cómo elegir los instrumentos MIDI.
 
 @item
-@emph{@ref{Spacing issues}}
+@emph{@r ef{Spacing issues}}
 trata asuntos que afectan a la salida global, como la elección del
 tamaño del papel o la especificación de los saltos de página.
 
 @item
-@emph{@ref{Interfaces for programmers}}
+@emph{@r ef{Interfaces for programmers}}
 explica cómo crear funciones musicales.
 
 @end itemize
@@ -791,55 +790,54 @@ explica cómo crear funciones musicales.
 
 Este libro contiene unos útiles cuadros de referencia.
 
-@itemize @bullet
+@itemize
 @item
 @ifhtml
 La
 @end ifhtml
-@emph{@ref{Literature list}}
+@emph{@r ef{Literature list}}
 contiene un conjunto de libros de referencia muy útiles para aquellas personas que desean saber
 más sobre notación y grabado.
 
 @item
 El
-@emph{@ref{Scheme tutorial}}
+@emph{@r ef{Scheme tutorial}}
 presenta una breve introducción a Scheme, el lenguaje de programación
 que utilizan las funciones musicales.
 
 @item
-@emph{@ref{Notation manual tables}}
+@emph{@r ef{Notation manual tables}}
 son un conjunto de tablas que relacionan los nombres de los acordes, instrumentos MIDI,
 nombres de los colores y la tipografía Feta.
 
 @item
-@emph{@ref{Templates}}
+@emph{@r ef{Templates}}
 de piezas de LilyPond.  Sólo tiene que cortar y pegar una
 plantilla en un archivo de texto, escribir las notas y ¡ya está!
 
 @item
 La
-@emph{@ref{Cheat sheet}}
+@emph{@r ef{Cheat sheet}}
 es una referencia manejable de los comandos de LilyPond más comunes.
 
 @item
 El
-@emph{@ref{LilyPond command index}}
+@emph{@r ef{LilyPond command index}}
 es un índice de todos los @code{\commands} de LilyPond.
 
 @item
 El
-@emph{@ref{LilyPond index}}
+@emph{@r ef{LilyPond index}}
 es un índice completo.
 
 @end itemize
 
-
-@subsubheading Program usage
+@subheading Program usage
 
 Este libro explica la manera de ejecutar el programa y cómo integrar
 la notación de LilyPond con otros programas.
 
-@itemize @bullet
+@itemize
 
 @item
 @emph{@rprogram{Install}}
@@ -875,7 +873,7 @@ música al formato @code{.ly}.
 
 Existen otras fuentes de información que pueden resultar muy útiles.
 
-@itemize @bullet
+@itemize
 @cindex frase idiomática
 @cindex jerga
 @cindex terminología
@@ -915,10 +913,10 @@ de LilyPond}.  Este sitio web también dispone de un manual de LilyPond en el qu
 @item
 La
 @iftex
-Referencia del programa
+Referencia de funcionamiento interno
 @end iftex
 @ifnottex
-@ref{Top,referencia del programa,,lilypond-internals}
+@ref{Top,Referencia de funcionamiento interno,,lilypond-internals}
 @end ifnottex
 es un conjunto de páginas HTML con una tupida red de enlaces cruzados, que documentan al detalle el
 meollo de todas y cada una de las clases, objetos y funciones de LilyPond.
@@ -969,7 +967,7 @@ se encuentran normalmente en el directorio @file{/usr/@/share/@/lilypond/}.
 @cindex ajustar la salida
 @cindex variables
 @cindex propiedades
-@cindex interioridades de lilypond
+@cindex funcionamiento interno de lilypond
 @cindex documentación interna
 @cindex Scheme
 @cindex extender lilypond
index 02f9a8809fece76e74303208a2ed797f35122d01..c719ea7ba54b10134e5c1caf89f647498dc60491 100644 (file)
@@ -1,7 +1,7 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 @c This file is part of lilypond-program.tely
 @ignore
-    Translation of GIT committish: d9b4bfc69674eb4ed7b8c6eaa0b646f00eae6c8d
+    Translation of GIT committish: 66dde21fe63499f32a718f6098abe70e1429059b
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  See TRANSLATION for details.
index fb2f1d6f950e051894c663064b5029c39db305ed..1c3fbbac4b04c1d1fc33ac7c81b59368d93a428e 100644 (file)
@@ -1,6 +1,6 @@
 \input texinfo @c -*- coding: utf-8; mode: texinfo; -*-
 @ignore
-    Translation of GIT committish: 993fc5189dc039afd51a98df9b71adf59f2ab20f
+    Translation of GIT committish: aae416a0211bad0bbed5c82b91d80a83d21e8054
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  See TRANSLATION for details.
@@ -25,7 +25,7 @@
 @c don't remove this comment.
 @ignore
 @omfcreator Han-Wen Nienhuys, Jan Nieuwenhuizen and Graham Percival
-@omfdescription User manual of the LilyPond music engraving system
+@omfdescription Learning Manual of the LilyPond music engraving system
 @omftype program usage
 @omfcategory Applications|Publishing
 @omflanguage Spanish
@@ -50,7 +50,7 @@ Este documento también está disponible como
 @titlepage
 @title LilyPond
 @subtitle El tipografiador de música
-@titlefont{Learning Manual}
+@titlefont{Manual de aprendizaje}
 @author El equipo de desarrollo de LilyPond
 
 
@@ -188,7 +188,7 @@ Apéndices
 @include preface.itely
 @include introduction.itely
 @include tutorial.itely
-@include putting.itely
+@include fundamental.itely
 @include tweaks.itely
 @include working.itely
 
index 5411543fd3b0d0d5a1230bb2b5442a36e6b4ecfb..de07159b2e02522c856643879b9d485b4b907733 100644 (file)
-@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
+@c -*- coding: utf-8; mode: texinfo; -*-
 @c This file is part of lilypond.tely
 @ignore
-    Translation of GIT committish: 459d5b872a370b53f61e747784fb56cf23f56e4b
+    Translation of GIT committish: 0d5071774c7990f75685c18c732f293b8336ae6c
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  See TRANSLATION for details.
 @end ignore
 
+@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
 
 @node Non-musical notation
 @chapter Non-musical notation
 
-UNTRANSLATED NODE: IGNORE ME
+Esta sección se ocupa de temas generales sobre lilypond, no de
+notación específica.
 
-@menu 
-* Input files::
-* Titles and headers::
-* MIDI output::
-* Displaying LilyPond notation::
-* Skipping corrected music::
+@menu
+* Titles and headers::          
+* MIDI output::                 
+* other midi::                  
 @end menu
 
-@node Input files
-@section Input files
 
-UNTRANSLATED NODE: IGNORE ME
+@node Titles and headers
+@section Titles and headers
+
+Casi toda la música impresa tiene un título y el nombre del
+compositor; ciertas piezas tienen mucha más información.
 
-@menu 
-* File structure::
-* A single music expression::
-* Multiple scores in a book::
-* Extracting fragments of notation::
-* Including LilyPond files::
-* Text encoding::
-* Different editions from one source::
+@menu
+* Creating titles::             
+* Custom titles::               
+* Reference to page numbers::   
+* Table of contents::           
 @end menu
 
-@node File structure
-@subsection File structure
 
-UNTRANSLATED NODE: IGNORE ME
+@node Creating titles
+@subsection Creating titles
+
+Se crean títulos para cada uno de los bloques @code{\score} así como
+para todo el archivo de entrada (o bloque @code{\book} (libro)).
+
+El contenido de cada título se extrae a partir de los bloques
+@code{\header} (cabecera).  El bloque de cabecera de un libro
+contempla lo siguiente:
+
+@table @code
+@funindex dedicatoria
+@item dedication
+El dedicatario de la música, centrado en lo alto de la primera página.
+
+@funindex title
+@item title
+El título de la música, centrado justo debajo de la
+dedicatoria.
+
+@funindex subtitle
+@item subtitle
+Subtítulo, centrado debajo del título.
+
+@funindex subsubtitle
+@item subsubtitle
+Sub-subtítulo, centrado debajo del subtítulo.
+
+@funindex poet
+@item poet
+Nombre del poeta, a la izquierda, debajo del subtítulo.
+
+@funindex composer
+@item composer
+Nombre del compositor, a la derecha, debajo del subtítulo.
+
+@funindex meter
+@item meter
+Texto de la medida, a la izquierda, debajo del poeta.
+
+@funindex opus
+@item opus
+Nombre del Opus, a la derecha, debajo del compositor.
+
+@funindex arranger
+@item arranger
+Nombre del arreglista, a la derecha, debajo del Opus.
+
+@funindex instrument
+@item instrument
+Nombre del instrumento, centrado, debajo del arreglista.  También
+aparece centrado en lo alto de cada página (aparte de la primera).
+
+@funindex piece
+@item piece
+Nombre de la pieza, a la izquierda, debajo del instrumento.
+
+@cindex página, saltos, forzar
+@funindex breakbefore
+@item breakbefore
+Esto fuerza que el título comience sobre una página nueva (establézcalo a ##t o a ##f).
+
+@funindex copyright
+@item copyright
+Aviso de Copyright, centrado en la parte inferior de la primera
+página.  Para insertar el símbolo de copyright symbol, consulte
+@ref{Text encoding}.
+
+@funindex tagline
+@item tagline
+Cartel de propósito general en el pie de página, centrado al final de la última.
+
+@end table
+
+A continuación presentamos una demostración de todos los campos que
+están disponibles.  Fíjese en que puede utilizar en la cabecera
+cualquier instrucción de marcado de texto (Véase @ref{Text markup}).
+
+@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
+
+Como se mostró anteriormente, puede usar varios bloques
+@code{\header}.  Cuando los mismos campos aparecen en distintos
+bloques, tiene validez el último en definirse.  A continuación un
+breve ejemplo.
+
+@example
+\header @{
+  composer = "Compositor"
+@}
+\header @{
+  piece = "Pieza"
+@}
+\score @{
+  \new Staff @{ c'4 @}
+  \header @{
+    piece = "Otra pieza"  % sobreescribe a la anterior
+  @}
+@}
+@end example
+
+Si define la cabecera @code{\header} dentro del bloque @code{\score},
+por lo general se imprimirán solamente las cabeceras @code{piece} y
+@code{opus}.  Fíjese en que la expresión musical debe aparecer antes
+del @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
+Se puede cambiar este comportamiento (e imprimir todas las cabeceras
+cuando la cabecera @code{\header} está definida dentro del bloque
+@code{\score}) mediante la utilización de
+
+@example
+\paper@{
+  printallheaders=##t
+@}
+@end example
+
+@cindex copyright
+@cindex tagline
+
+El pie de página por omisión se encuentra vacío, excepto para la
+primera página, en la que se inserta el campo de @code{copyright}
+extraído del @code{\header}, y para la última página, en la que se
+escribe el cartel @code{tagline} sacado del bloque @code{\header}.  La
+línea por omisión para este cartel es @qq{Music engraving by LilyPond
+(@var{version})}.@footnote{Las partituras bien tipografiadas son una
+magnífica promoción para nosotros, así que por favor, si puede,
+conserve intacta la línea del letrero.}
+
+Las cabeceras se pueden quitar completamente estableciendo su valor a
+falso.
+
+@example
+\header @{
+  tagline = ##f
+  composer = ##f
+@}
+@end example
+
+
+@node Custom titles
+@subsection Custom titles
 
-@node A single music expression
-@subsection A single music expression
+Una opción más avanzada es cambiar las definiciones de las variables
+siguientes dentro del bloque @code{\paper} block.  El archivo de
+inicio @file{ly/titling-init.ly} ofrece un listado de la disposición
+predeterminada.
+
+@table @code
+@funindex bookTitleMarkup
+@item bookTitleMarkup
+  Es el título que se escribe en lo alto del documento de salida
+completo.  Normalmente contiene el compositor y el título de la pieza.
+
+@funindex scoreTitleMarkup
+@item scoreTitleMarkup
+  Es el título que se coloca por encima de un bloque @code{\score}.
+normalmente contiene el nombre del movimiento (campo @code{piece}).
+
+@funindex oddHeaderMarkup
+@item oddHeaderMarkup
+  Es el encabezamiento de las páginas de numeración impar.
+
+@funindex evenHeaderMarkup
+@item evenHeaderMarkup
+  Es el encabezamiento de las páginas de numeración par.  Si se deja
+  sin especificar, se usará el encabezamiento de las páginas impares.
+
+  De forma predeterminada, los encabezamientos se definen de tal forma
+que el número de página está en el borde exterior, y el isntrumento
+está centrado.
+
+@funindex oddFooterMarkup
+@item oddFooterMarkup
+  Es el pie de las páginas de numeración impar.
+
+@funindex evenFooterMarkup
+@item evenFooterMarkup
+  Es el pie de las páginas de numeración par.  Si se deja sin
+  especificar, se usará en su lugar el encabezamiento de las páginas
+  impares.
+
+  De forma predeterminada, el pie de página tiene el aviso de
+copyright en la primera página, y el cartel @code{tagline} en la
+última.
+@end table
+
+
+@cindex \paper
+@cindex encabezamiento
+@cindex header
+@cindex pie
+@cindex disposición de la página
+@cindex títulos
+
+La definición siguiente pone el título en el extremo izquierdo, y el
+compositor en el extremo derecho sobre una única línea.
+
+@verbatim
+\paper {
+  bookTitleMarkup = \markup {
+   \fill-line {
+     \fromproperty #'header:title
+     \fromproperty #'header:composer
+   }
+  }
+}
+@end verbatim
 
-UNTRANSLATED NODE: IGNORE ME
+@node Reference to page numbers
+@subsection Reference to page numbers
 
-@node Multiple scores in a book
-@subsection Multiple scores in a book
+Se puede marcar un lugar determinado de una partitura utilizando la
+instrucción @code{\label} (etiqueta), bien en lo alto de la estructura
+o bien dentro de la música.  Posteriormente se puede hacer referencia
+a esta etiqueta dentro de un elemento de marcado, para obtener el
+número de la página en que se encuentra la marca, usando la
+instrucción de marcado @code{\page-ref}.
+
+@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
+
+La instrucción de marcado @code{\page-ref} toma tres argumentos:
+@enumerate
+@item la etiqueta, un símbolo de scheme, p.ej. @code{#'firstScore};
+@item un elemento de marcado que se usará como medidor para estimar las dimensiones del marcado;
+@item un elemento de marcado que se utilizará en sustitución del número de página si la etiqueta es desconocida.
+@end enumerate
+
+El motivo de que se necesite un medidor es que en el momento en que se
+están interpretando los marcados, los saltos de página aún no se han
+producido y por tanto los números de página no se conocen todavía.
+Para sortear este inconveniente, la interpretación real del marcado se
+retrasa hasta un momento posterior; sin embargo, las dimensiones del
+marcado se tienen que conocer de antemano, así que se usa el medidor
+para decidir estas dimensiones.  Si el libro tiene entre 10 y 99
+páginas, el medidor puede ser "00", es decir, un número de dos
+dígitos.
+
+@predefined
+
+@funindex \label
+@code{\label}
+@funindex \page-ref
+@code{\page-ref}
 
-UNTRANSLATED NODE: IGNORE ME
+@node Table of contents
+@subsection Table of contents
+Se puede insertar un índice general o tabla de contenidos utilizando
+la instrucción @code{\markuplines \table-of-contents}.  Los elementos
+que deben aparecer en la tabla de contenidos se introducen con la
+instrucción @code{\tocItem}, que se puede usar en el nivel más alto de
+la jerarquía del código, o dentro de una expresión musical.
+
+@verbatim
+\markuplines \table-of-contents
+\pageBreak
+
+\tocItem \markup "Primera partitura"
+\score { 
+  {
+    c'  % ...
+    \tocItem \markup "Un punto concreto dentro de la primera partitura"
+    d'  % ... 
+  }
+}
+
+\tocItem \markup "Segunda partitura"
+\score {
+  {
+    e' % ...
+  }
+}
+@end verbatim
+
+Los elementos de marcado que se usan para dar formato al índice
+general se encuentran definidos dentro del bloque @code{\paper}.  Los
+elementos predeterminados son @code{tocTitleMarkup}, para dar formato
+al título de la tabla, y @code{tocItemMarkup}, para aplicar formato a
+los elementos del índice, que consisten en el título del elemento y el
+número de página.  Estas variables se pueden cambiar por parte del
+usuario:
+
+@verbatim
+\paper {
+  %% Traducir el título del índice al español:
+  tocTitleMarkup = \markup \huge \column {
+    \fill-line { \null "Índice general" \null }
+    \hspace #1
+  }
+  %% usar una fuente mayor
+  tocItemMarkup = \markup \large \fill-line {
+    \fromproperty #'toc:text \fromproperty #'toc:page
+  }
+}
+@end verbatim
+
+Observe la forma en que nos referimos al texto y al número de página
+del elemento de índice, dentro de la definición @code{tocItemMarkup}.
+
+También se pueden definir nuevas instrucciones y elementos de
+marcado para crear índices generales más eleborados:
+@itemize
+@item en primer lugar, defina una variable de marcado nueva dentro del bloque @code{\paper}
+@item luego defina una función de música cuyo propósito es añadir un elemento al índice general
+utilizando esta variable de marcado del bloque @code{\paper}.
+@end itemize
+
+En el ejemplo siguiente se define un estilo nuevo para introducir los
+nombres de los actos de una ópera en el índice general:
+
+@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
 
-@node Extracting fragments of notation
-@subsection Extracting fragments of notation
+@seealso
 
-UNTRANSLATED NODE: IGNORE ME
+Archivos de inicio: @file{ly/@/toc@/-init@/.ly}.
 
-@node Including LilyPond files
-@subsection Including LilyPond files
+@predefined
 
-UNTRANSLATED NODE: IGNORE ME
+@funindex \table-of-contents
+@code{\table-of-contents}
+@funindex \tocItem
+@code{\tocItem}
 
-@node Text encoding
-@subsection Text encoding
+@node MIDI output
+@section MIDI output
 
-UNTRANSLATED NODE: IGNORE ME
+@cindex sonido
+@cindex MIDI
 
-@node Different editions from one source
-@subsection Different editions from one source
+El MIDI (Musical Instrument Digital Interface, Interfase Digital para
+Instrumentos Musicales) es un estándar para interconectar y controlar
+instrumentos musicales electrónicos.  Un archivo o secuencia MIDI es
+una serie de notas dentro de un conjunto de pistas.  No es un archivoo
+de sonidos reales; se necesita un programa reproductor especial para
+traducir la serie de notas en sonidos de verdad.
 
-@funindex \tag
-@cindex etiquetas
+Cualquier música se puede convertir a archivos MIDI, de manera que
+podamos escuchar lo que hayamos introducido.  Esto es muy conveniente
+para comprobar la corrección de la música; las octavas equivocadas o
+las alteraciones erróneas se ponen de relieve muy claramente al
+escuchar la salida MIDI.
+
+@knownissues
 
-La orden @code{\tag} marca expresiones musicales con un nombre.  Estas expresiones
-etiquetadas se pueden filtrar o seleccionar más tarde.  Con este mecanismo es posible
-hacer versiones diferentes a partir de la misma fuente musical.
+Muchhos efectos con interés musical como el swing, la articulación, el
+fraseo, etc., no se traducen al midi.
+
+La salida midi reserva un canal para cada pentagrama, y uno más para
+los ajustes globales.  Por ello, el archivo de entrada no debería
+tener más de 15 pentagramas (o 14 si no usa percusión).  Los otros
+pentagramas permanecerán en silencio.
+
+No todos los reproductores de midi manejan correctamente los cambios
+de tempo en la salida midi.  Entre los reproductores que se sabe que
+funcionan, se encuentra
+@uref{http://@/timidity@/.sourceforge@/.net/,timidity}.
+
+@menu
+* Creating MIDI files::         
+* MIDI block::                  
+* MIDI instrument names::       
+* What goes into the MIDI?  FIXME::  
+@end menu
+
+@node Creating MIDI files
+@subsection Creating MIDI files
+
+Para crear un MIDI a partir de una pieza de música, escriba un bloque
+@code{\midi} en la partitura, por ejemplo:
+
+@example
+\score @{
+  @var{...música...}
+   \midi @{
+     \context @{
+       \Score
+       tempoWholesPerMinute = #(ly:make-moment 72 4)
+       @}
+     @}
+@}
+@end example
 
-En el ejemplo siguiente podemos ver dos versiones de una pieza musical, una
-para la partitura del director y otra con notas guía para la particella instrumental
+El tempo se puede especificar utilizando la instrucción @code{\tempo}
+dentro de la propia música, véase @ref{Metronome marks}.  Más abajo se
+muestra una alternativa que no da lugar a una indicación metronómica
+en la partitura impresa.  En este ejemplo, el tempo de negras se
+establece en 72 pulsos por minuto.  Esta clase de especificación del
+tempo no puede tomar notas con puntillo como argumento.  En este caso,
+divida las notas con puntillo en unidades más pequeñas.  Por ejemplo,
+un tempo de 90 negras con puntillo por minuto se puede especificar
+como 270 corcheas por minuto:
 
 @example
-c1
-<<
-  \tag #'part <<
-    R1 \\
-    @{
-      \set fontSize = #-1
-      c4_"cue" f2 g4 @}
-  >>
-  \tag #'score R1
->>
-c1
+tempoWholesPerMinute = #(ly:make-moment 270 8)
 @end example
 
-Lo mismo vale para las articulaciones, textos, etc.: se hacen
-anteponiendo
+Si hay una instrucción @code{\midi} dentro de un @code{\score},
+solamente se producirá MIDI.  Si se necesita también una notación
+impresa, se debe escribir un bloque @code{\layout}
+
 @example
--\tag #@var{su_etiqueta}
+\score @{
+  @var{...música...}
+  \midi @{ @}
+  \layout @{ @}
+@}
 @end example
-a una articulación, por ejemplo,
+@cindex layout, bloque
+
+
+
+Se interpretan las ligaduras de unión, los matices dinámicos y los
+cambios de tempo.  Las marcas dinámicas, crescendi y decrescendi se
+traducen en niveles de volumen MIDI.  Las marcas de dinámica se
+traducen a una fracción fija del rango de volumen MIDI disponible, los
+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
+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
+valor para @code{instrumentEqualizer}, o fijando
+
 @example
-c1-\tag #'particella ^4
+\set Staff.midiMinimumVolume = #0.2
+\set Staff.midiMaximumVolume = #0.8
 @end example
 
-Esto define una nota con una indicación condicional de digitación.
+Para quitar los matices dinámicos de la salida MIDI, escriba las
+siguientes líneas dentro de la sección @code{\midi@{@}}.
 
-@cindex keepWithTag
-@cindex removeWithTag
-Aplicando las órdenes @code{\keepWithTag} y @code{\removeWithTag},
-se pueden filtrar las expresiones etiquetadas.  Por ejemplo,
 @example
-<<
-  @var{the music}
-  \keepWithTag #'partitura @var{la música}
-  \keepWithTag #'particella @var{la música}
->>
+\midi @{
+  ...
+  \context @{
+    \Voice
+    \remove "Dynamic_performer"
+  @}
+@}
 @end example
-produciría
 
-@lilypondfile[ragged-right,quote]{tag-filter.ly}
 
-Los argumentos de la orden @code{\tag} deben ser un símbolo
-(como @code{#'partitura} o @code{#'particella}), seguido de
-una expresión musical.  Es posible poner varias etiquetas sobre
-un fragmento de música con varias apariciones de @code{\tag},
+@knownissues
+
+Los (de)crescendos sin terminar no se procesarán adecuadamente en el
+archivo midi, dando como resultado pasajes de música en silenco.  Una
+forma de sortearlo es terminar el (de)crescendo explícitamente.  Por
+ejemmplo,
 
 @example
-  \tag #'particella-original \tag #'particella-transportada @dots{}
+@{ a\< b c d\f @}
 @end example
 
+@noindent
+no funcionará bien, pero
 
-@seealso
+@example
+@{ a\< b c d\!\f @}
+@end example
 
-Ejemplos: @lsr{parts,tag@/-filter@/.ly}
+@noindent
+sí lo hará.
 
 
-@knownissues
+Solamente se crea una salida MIDI cuando la instrucción @code{\midi}
+está dentro de un bloque @code{\score}.  Si lo escribe dentro de un
+contexto instanciado explícitamente (es decir: @code{\new Score} ) el
+archivo no se producirá.  Para solucionarlo, encierre el @code{\new
+Score} y el @code{\midi} dentro de un bloque @code{\score}.
 
-Los silencios múltiples no se funden si crea la partitura con las dos secciones
-etiquetadas.
+@example
+\score @{
+  \new Score @{ @dots{}notas@dots{} @}
+  \midi
+@}
+@end example
 
 
-@node Titles and headers
-@section Titles and headers
+@node MIDI block
+@subsection MIDI block
+@cindex bloque MIDI
 
-UNTRANSLATED NODE: IGNORE ME
 
-@menu 
-* Creating titles::
-* Custom titles::
-* Reference to page numbers::
-* Table of contents::
-@end menu
+El bloque @code{\midi} es similar al bloque @code{\layout}, pero algo
+más simple.  Puede contener definiciones de contexto.
 
-@node Creating titles
-@subsection Creating titles
 
-UNTRANSLATED NODE: IGNORE ME
+@cindex contexto, definición de
 
-@node Custom titles
-@subsection Custom titles
+Las definiciones de contexto siguen con exactitud la misma sintaxis
+que dentro del bloque \layout.  Los módulos de traducción para el
+sonido reciben el nombre de «performers» o intérpretes.  Los contextos
+para la salida MIDI se encuentran definidos dentro de
+@file{ly/@/performer@/-init@/.ly}.
 
-UNTRANSLATED NODE: IGNORE ME
 
-@node Reference to page numbers
-@subsection Reference to page numbers
+@node MIDI instrument names
+@subsection MIDI instrument names
 
-UNTRANSLATED NODE: IGNORE ME
+@cindex instrumento, nombres de
+@funindex Staff.midiInstrument
 
-@node Table of contents
-@subsection Table of contents
+El nombre del instrumento MIDI se establece mediante la propiedad
+@code{Staff.midiInstrument}.  El nombre del instrumento se debe elegir
+de entre los que están en la lista que aparece en @ref{MIDI
+instruments}.
 
-UNTRANSLATED NODE: IGNORE ME
+@example
+\set Staff.midiInstrument = "glockenspiel"
+@var{...notes...}
+@end example
 
-@node MIDI output
-@section MIDI output
+Si el instrumento elegido no coincide exactamente con uno de los
+instrumentos de la lista de instrumentos MIDI, se usará el instrumento
+Piano de Cola (@code{"acoustic grand"}).
 
-UNTRANSLATED NODE: IGNORE ME
 
-@menu 
-* Creating MIDI files::
-* MIDI block::
-* MIDI instrument names::
-@end menu 
-@node Creating MIDI files
-@subsection Creating MIDI files
+@node What goes into the MIDI?  FIXME
+@subsection What goes into the MIDI?  FIXME
 
-UNTRANSLATED NODE: IGNORE ME
+@menu
+* Repeats and MIDI::            
+@end menu
 
-@node MIDI block
-@subsection MIDI block
+@node Repeats and MIDI
+@subsubsection Repeats and MIDI
+
+@cindex repeticiones, expandir
+@funindex \unfoldRepeats
+
+Con un poco de trucaje, se puede hacer que cualquier tipo de
+repetición esté presente en la salida MIDI.  Esto se consigue mediante
+la aplicación de la función musical @code{\unfoldRepeats}.  Esta
+función cambia todas las repeticiones a repeticiones desplegadas.
+
+@lilypond[quote,verbatim,fragment,line-width=8.0\cm]
+\unfoldRepeats {
+  \repeat tremolo 8 {c'32 e' }
+  \repeat percent 2 { c''8 d'' }
+  \repeat volta 2 {c'4 d' e' f'}
+  \alternative {
+    { g' a' a' g' }
+    {f' e' d' c' }
+  }
+}
+\bar "|."
+@end lilypond
+
+Al crear un archivo de partitura que use @code{\unfoldRepeats} para el
+MIDI, es necesario hacer dos bloques @code{\score}: uno para el MIDI
+(con repeticiones desplegadas) y otro para la notación impresa (con
+repeticiones de volta --primera y segunda vez--, tremolo --trémolo--,
+y percent --repetición de compases--).  Por ejemplo,
 
-UNTRANSLATED NODE: IGNORE ME
+@example
+\score @{
+  @var{..música..}
+  \layout @{ .. @}
+@}
+\score @{
+  \unfoldRepeats @var{..música..}
+  \midi @{ .. @}
+@}
+@end example
 
-@node MIDI instrument names
-@subsection MIDI instrument names
 
-UNTRANSLATED NODE: IGNORE ME
+@node other midi
+@section other midi
 
-@node Displaying LilyPond notation
-@section Displaying LilyPond notation
+Los microtonos también se exportan hacia el archivo MIDI.
 
-UNTRANSLATED NODE: IGNORE ME
 
-@node Skipping corrected music
-@section Skipping corrected music
 
-UNTRANSLATED NODE: IGNORE ME
 
index 9ba7383baa2510694d68b76e316ad2cbff46ffa2..940bcfbe618c2c1e22d8069cc6ee3802ca4a8c47 100644 (file)
@@ -1,7 +1,7 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 @c This file is part of lilypond.tely
 @ignore
-    Translation of GIT committish: 459d5b872a370b53f61e747784fb56cf23f56e4b
+    Translation of GIT committish: 2607a3536733d8d4a1e74176027a5cb01d4e776a
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  See TRANSLATION for details.
@@ -30,7 +30,7 @@ se puede utilizar para mostrar los valores rítmicos una melodía.
 
 
 @node Showing melody rhythms
-@unnumberedsubsubsec Showing melody rhythms
+@subsubsection Showing melody rhythms
 
 En ocasiones podría desear que se muestre sólo el ritmo de una melodía.  Esto
 se puede hacer con la pauta rítmica.  Todas las alturas de las notas en dicha pauta
@@ -49,7 +49,7 @@ Referencia del programa: @internalsref{RhythmicStaff}.
 
 
 @node Entering percussion
-@unnumberedsubsubsec Entering percussion
+@subsubsection Entering percussion
 
 @cindex percusión
 @cindex batería
@@ -75,7 +75,7 @@ La lista completa de nombre de instrumentos de percusión se encuentra en el arc
 Referencia del programa: @internalsref{note-event}.
 
 @node Percussion staves
-@unnumberedsubsubsec Percussion staves
+@subsubsection Percussion staves
 @cindex percusión
 @cindex batería
 
@@ -292,7 +292,7 @@ el golpe lateral de baqueta (sidestick) en su lugar.
 
 @c FIXME: check name -gp
 @node Ghost notes
-@unnumberedsubsubsec Ghost notes
+@subsubsection Ghost notes
 
 Las notas fantasma para la batería e instrumentos de percusión se pueden crear utilizando la instrucción
 @code{\parenthesize} detallada en @ref{Parentheses}.  Sin embargo,
index 994358b47586015b4a90343db561e1e97340d4a0..424c74b6f9a46bcde8d37fc3015e7578e69daa35 100644 (file)
@@ -1,29 +1,30 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 @c This file is part of lilypond.tely
 @ignore
-    Translation of GIT committish: 459d5b872a370b53f61e747784fb56cf23f56e4b
+    Translation of GIT committish: f02e10cde760bb4981b73742f0fb5a867e1d3d33
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  See TRANSLATION for details.
 @end ignore
 
-
 @node Piano music
 @section Piano music
 
-@menu 
-* TODO piano node fix::
-@end menu 
+@menu
+* Piano sections::              
+@end menu
 
-@node TODO piano node fix
-@subsection TODO piano node fix
+@node Piano sections
+@subsection Piano sections
 
-Los sistemas de piano son dos pentagramas normales agrupados mediante una llave.  Los pentagramas
-son hasta cierto punto independientes, pero a veces las voces pueden cruzarse entre los
-dos pentagramas.  También se utiliza esta notación para otros instrumentos de teclado y para el
-arpa.  El @internalsref{PianoStaff} está preparado especialmente para
-manejar este comportamiento de cruce de pentagramas.  En esta sección trataremos el
-@internalsref{PianoStaff} y alguna que otra peculiaridad pianística.
+Los sistemas de piano son dos pentagramas normales agrupados mediante
+una llave.  Los pentagramas son hasta cierto punto independientes,
+pero a veces las voces pueden cruzarse entre los dos pentagramas.
+También se utiliza esta notación para otros instrumentos de teclado y
+para el arpa.  El @internalsref{PianoStaff} está preparado
+especialmente para manejar este comportamiento de cruce de
+pentagramas.  En esta sección trataremos el @internalsref{PianoStaff}
+y alguna que otra peculiaridad pianística.
 
 @menu
 * Automatic staff changes::     
@@ -35,8 +36,9 @@ manejar este comportamiento de cruce de pentagramas.  En esta sección trataremo
 
 @knownissues
 
-Los matices no se colocan centrados, pero se pueden utilizar ciertas alternativas.  Consulte la
-plantilla @q{piano con matices centrados} que está en @ref{Piano templates}.
+Los matices no se colocan centrados, pero se pueden utilizar ciertas
+alternativas.  Consulte la plantilla @q{piano con matices centrados}
+que está en @rlearning{Piano templates}.
 
 @cindex plica de pentagrama cruzado
 @cindex pentagrama cruzado, plica de
@@ -44,11 +46,11 @@ plantilla @q{piano con matices centrados} que está en @ref{Piano templates}.
 
 
 @node Automatic staff changes
-@unnumberedsubsubsec Automatic staff changes
+@subsubsection Automatic staff changes
 @cindex Cambio automático de pentagrama
 
-Se puede hacer que las voces cambien automáticamente entre los pentagramas inferior y
-superior.  La sintaxis para conseguir esto es
+Se puede hacer que las voces cambien automáticamente entre los
+pentagramas inferior y superior.  La sintaxis para conseguir esto es
 
 @quotation
 @example
@@ -58,12 +60,13 @@ superior.  La sintaxis para conseguir esto es
 
 @noindent
 Esto creará dos pentagramas dentro del PianoStaff actual, llamados
-@code{up} (arriba) y @code{down} (abajo).  El pentagrama inferior estará en clave de Fa por
-omisión.
+@code{up} (arriba) y @code{down} (abajo).  El pentagrama inferior
+estará en clave de Fa por omisión.
 
-Una sección marcada @code{\relative} que se encuentra fuera de @code{\autochange} no tiene
-efecto sobre las notas de la @var{música}, por tanto, en caso necesario escriba
-@code{\relative} dentro de @code{\autochange}, como en
+Una sección marcada @code{\relative} que se encuentra fuera de
+@code{\autochange} no tiene efecto sobre las notas de la @var{música},
+por tanto, en caso necesario escriba @code{\relative} dentro de
+@code{\autochange}, como en
 
 @quotation
 @example
@@ -72,9 +75,10 @@ efecto sobre las notas de la @var{música}, por tanto, en caso necesario escriba
 @end quotation
 
 
-El cambiador automático hace el cambio basándose en la altura (el Do central es el punto
-de inflexión), y se adelanta saltando sobre los silencios para hacer cambios por
-adelantado.  He aquí un ejemplo práctico
+El cambiador automático hace el cambio basándose en la altura (el Do
+central es el punto de inflexión), y se adelanta saltando sobre los
+silencios para hacer cambios por adelantado.  He aquí un ejemplo
+práctico
 
 @lilypond[quote,verbatim,ragged-right]
 \new PianoStaff
@@ -95,15 +99,16 @@ Referencia del programa: @internalsref{AutoChangeMusic}.
 
 @knownissues
 
-Los cambios de pentagrama pueden no acabar en lugares óptimos.  Para conseguir
-una salida de alta calidad es mejor especificar manualmente los cambios de pentagrama.
+Los cambios de pentagrama pueden no acabar en lugares óptimos.  Para
+conseguir una salida de alta calidad es mejor especificar manualmente
+los cambios de pentagrama.
 
 
 @code{\autochange} no puede estar dentro de @code{\times}.
 
 
 @node Manual staff switches
-@unnumberedsubsubsec Manual staff switches
+@subsubsection Manual staff switches
 
 @cindex manual, cambio de pentagrama
 @cindex pentagrama, cambios manuales de
@@ -114,11 +119,12 @@ Las voces se pueden cambiar de pentagrama manualmente usando la instrucción
 @end example
 
 @noindent
-La cadena @var{nombre_del_pentagrama} es el nombre del pentagrama.  Cambia la
-voz actual de su pentagrama en curso al pentagrama de nombre
-@var{nombre_del_pentagrama}.  Por lo común @var{nombre_del_pentagrama} es @code{"up"} o
-@code{"down"}.  El @context{Staff} referido debe existir previamente, por ello
-normalmente la preparación de una partitura empezará por la preparación de los pentagramas,
+La cadena @var{nombre_del_pentagrama} es el nombre del pentagrama.
+Cambia la voz actual de su pentagrama en curso al pentagrama de nombre
+@var{nombre_del_pentagrama}.  Por lo común @var{nombre_del_pentagrama}
+es @code{"up"} o @code{"down"}.  El @context{Staff} referido debe
+existir previamente, por ello normalmente la preparación de una
+partitura empezará por la preparación de los pentagramas,
 
 @example
 <<
@@ -141,11 +147,12 @@ y la @context{Voice} se inserta con posterioridad
 
 
 @node Pedals
-@unnumberedsubsubsec Pedals
+@subsubsection Pedals
 @cindex Pedales
 
-El piano tiene pedales que alteran la forma en que se produce el sonido.  Generalmente un
-piano tiene tres pedales: derecho, una corda y tonal (en inglés: sustain, una corda y sostenuto).
+El piano tiene pedales que alteran la forma en que se produce el
+sonido.  Generalmente un piano tiene tres pedales: derecho, una corda
+y tonal (en inglés: sustain, una corda y sostenuto).
 
 
 Se puede expresar una instrucción de pedal de piano adjuntando
@@ -192,11 +199,11 @@ defecto.
 c\sostenutoDown d e c, f g a\sostenutoUp
 @end lilypond
 
-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 ejemplo, el corchete se puede extender hasta el borde derecho de 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
+ejemplo, el corchete se puede extender hasta el borde derecho de la
 cabeza de la nota
 
 @lilypond[quote,ragged-right,fragment,verbatim,relative=2]
@@ -206,10 +213,10 @@ c\sostenutoDown d e c, f g a\sostenutoUp
 
 @seealso
 
-En este manual: @ref{Laissez vibrer ties}.
+Referencia de la notación: @ref{Ties} (laissez vibrer).
 
 @node Staff switch lines
-@unnumberedsubsubsec Staff switch lines
+@subsubsection Staff switch lines
 
 
 @cindex seguimiento de voz
@@ -236,7 +243,7 @@ que conecte las notas.  Esto se activa estableciendo
 
 @seealso
 
-Referencia del programa: @internalsref{VoiceFollower}.
+Referencia de funcionamiento interno: @internalsref{VoiceFollower}.
 
 @predefined
 
@@ -247,7 +254,7 @@ Referencia del programa: @internalsref{VoiceFollower}.
 
 
 @node Cross staff stems
-@unnumberedsubsubsec Cross staff stems
+@subsubsection Cross staff stems
 
 Los acordes que cruzan pentagramas se pueden producir mediante el incremento de la longitud
 de la plica en el pentagrama inferior, de manera que alcance a la plica que está en el pentagrama
index 9a28825111eb71a727490a00f07aa48952d7402b..8c158c0316900ca80adc36b8a194c74bf10851d0 100644 (file)
@@ -1,7 +1,7 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 @c This file is part of lilypond.tely
 @ignore
-    Translation of GIT committish: d9b4bfc69674eb4ed7b8c6eaa0b646f00eae6c8d
+    Translation of GIT committish: 66dde21fe63499f32a718f6098abe70e1429059b
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  See TRANSLATION for details.
index 029b7b14b44b0f6574970e0fd836ce8239199ece..185aaa9c05c6e87c0beacc66a6165ea385f9815d 100644 (file)
@@ -1,6 +1,6 @@
 @c -*- coding: utf-8; mode: texinfo; -*-
 @ignore
-    Translation of GIT committish: 459d5b872a370b53f61e747784fb56cf23f56e4b
+    Translation of GIT committish: 0204d415337bf74ae8626f396e6ea3cc5669c8f2
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  See TRANSLATION for details.
@@ -9,63 +9,39 @@
 @node Repeats
 @section Repeats
 
-La repetición es un concepto fundamental en música, y existen varios
-tipos de notación para las repeticiones.
-
-@menu
-* Writing repeats::             
-* Other repeats::               
-@end menu
-
-@node Writing repeats
-@subsection Writing repeats
+@lilypondfile[ragged-right,line-width=16\cm,staffsize=16,quote]
+{repeats-headword.ly}
 
-@menu
-* Repeat types::                
-* Repeat syntax::               
-* Manual repeat commands::      
-* Repeats and MIDI::            
-@end menu
-
-@node Repeat types
-@unnumberedsubsubsec Repeat types
-
-@cindex repeticiones
-
-Están contemplados los siguientes tipos de repetición
+La repetición es un concepto fundamental en música, y existen varios
+tipos de notación para las repeticiones.  LilyPond contempla los
+siguientes tipos de repetición:
 
 @table @code
-@item desplegada
-Las música repetida está completamente escrita (e interpretada).  Es
-útil cuando se introduce música repetitiva.  Éste es el único tipo de
-repetición que se incluye en la salida MIDI.
-
 @item volta (primera y segunda vez)
-Las repeticiones no están desarrolladas, pero se imprimen finales
-alternativos (volte) de izquierda a derecha con corchetes.  Ésta es la
-notación estándar para las repeticiones con alternativas.  Por omisión
-no se reproducen en la salida MIDI.
-
-
-@item trémolo
-Hacen barras de trémolo.  Por omisión no se reproducen en la salida MIDI.
-
-@item porcentaje
-Hacen repeticiones de compases o parte de ellos.  Tienen un aspecto
-semejante a un signo de porcentaje.  Por omisión no se reproducen en
-la salida MIDI.  Las repeticiones de porcentaje se deben declarar dentro de un contexto @code{Voice}.
+La repetición de la música no se imprime de forma desarrollada, sino
+que se indica encerrándola entre barras de repetición.  Si el salto de
+la repetición se encuentra al comienzo de una pieza, la barra de
+repetición sólo se imprime al final del fragmento.  Se imprimen una
+serie de finales alternativos (volte) de izquierda a derecha indicados
+mediante corchetes.  Ésta es la notación estándar para las
+repeticiones con alternativas.
+
+@item unfold (desplegada)
+Las música repetida se escribe y se interpreta completamente tantas
+veces como especifique el valor @var{número_de_repeticiones}.  Es útil
+cuando se estáescribiendo música repetitiva.
+
+@item percent (porcentaje)
+Hacer repeticiones de compases o parte de ellos.  Tienen un aspecto
+semejante a un signo de porcentaje.  Las repeticiones de porcentaje se
+deben declarar dentro de un contexto @code{Voice}.
+
+@item tremolo (trémolo)
+Hacer barras de trémolo.
 
 @end table
 
-
-@node Repeat syntax
-@unnumberedsubsubsec Repeat syntax
-
-@cindex volta
-@cindex prima volta
-@cindex seconda volta
-@funindex \repeat
-
+@ignore
 LilyPond tiene una construcción sintáctica para especificar distintos
 tipos de repetición.  La sintaxis es
 
@@ -73,7 +49,10 @@ tipos de repetición.  La sintaxis es
 \repeat @var{variante} @var{número_de_repeticiones} @var{cuerpo_de_la_repetición}
 @end example
 
-Si tiene finales alternativos, puede añadir
+donde @var{cuerpo_de_la_repetición} es una expresión musical.
+
+
+Los finales alternativos se escriben con
 @funindex \alternative
 @example
 \alternative @{
@@ -85,31 +64,72 @@ Si tiene finales alternativos, puede añadir
 @end example
 
 @noindent
-donde cada @var{alternativa} es una expresión musical.  Si no da un
-número de alternativas suficiente para todas las repeticiones, se
-supondrá que la primera alternativa se interpreta más de una vez.
+después de un bloque @code{\repeat volta} o @code{unfold}, donde cada
+@var{alternativa} es una expresión musical.  Si especifica menos
+alternativas que las que se especifican en
+@var{número_de_repeticiones}, se supondrá que la primera alternativa
+se interpreta más de una vez.
+@end ignore
+
+@menu
+* Writing long repeats::        
+* Short repeats::               
+@end menu
+
+@node Writing long repeats
+@subsection Writing long repeats
+
+@menu
+* Normal repeats::              
+* Manual repeat marks::         
+* Written-out repeats::         
+@end menu
+
+@cindex volta
+@cindex prima volta
+@cindex primera y segunda vez
+@cindex seconda volta
+@cindex volta, prima
+@cindex volta, seconda
+@funindex \repeat
+
+@node Normal repeats
+@subsubsection Normal repeats
+
+La sintaxis de una repetición simple es
+
+@example
+\repeat @var{variante} @var{número_de_repeticiones} @var{cuerpo_de_la_repetición}
+@end example
+
+donde @var{cuerpo_de_la_repetición} es una expresión musical.
 
-Las repeticiones estándar se usan de esta forma:
+Repeticiones normales sin finales alternativos:
 
 @lilypond[quote,ragged-right,fragment,verbatim,relative=2]
-c1
 \repeat volta 2 { c4 d e f }
-\repeat volta 2 { f e d c }
+c2 d
+\repeat volta 2 { d4 e f g }
 @end lilypond
 
-Con finales alternativos
+Repeticiones normales con primera y segunda vez:
 
 @lilypond[quote,ragged-right,fragment,verbatim,relative=2]
+\repeat volta 2 { g f e d }
+  \alternative {
+    { cis2 g' }
+    { cis,2 b }
+  }
 c1
-\repeat volta 2 {c4 d e f}
-\alternative { {d2 d} {f f,} }
 @end lilypond
 
-Se pueden crear repeticiones con anacrusa.
+
+Repeticiones con anacrusa:
 
 @lilypond[quote,ragged-right,fragment,verbatim,relative=2]
 \new Staff {
-  \partial 4 e |
+  \partial 4
+  e |
   \repeat volta 4 { c2 d2 | e2 f2 | }
   \alternative { { g4 g g e } { a a a a | b2. } }
 }
@@ -127,10 +147,9 @@ o bien
 @end lilypond
 
 
-
 @funindex \repeatTie
 
-Se pueden añadir ligaduras de unión al segundo final,
+Se pueden añadir ligaduras de unión al segundo final:
 
 @lilypond[quote,ragged-right,fragment,verbatim,relative=2]
 c1
@@ -138,45 +157,65 @@ c1
 \alternative { {f2 d} {f\repeatTie f,} }
 @end lilypond
 
-Es posible acortar los corchetes de primera y segunda vez
-estableciendo @code{voltaSpannerDuration}.  En el ejemplo siguiente, el
-corchete sólo dura un compás, lo que supone una duración de 3/4.
+De manera predeterminada, los corchetes de primera y segunda vez se
+dibujan por encima de todo el fragmento de finales alternativos, pero
+es posible acortar los corchetes de primera y segunda vez
+estableciendo @code{voltaSpannerDuration}.  En el ejemplo siguiente,
+el corchete sólo dura un compás, lo que supone una duración de 3/4.
+
+@lilypond[quote,ragged-right,fragment,verbatim,relative=2]
+\time 3/4
+c c c
+\set Score.voltaSpannerDuration = #(ly:make-moment 3 4)
+\repeat volta 5 { d d d }
+\alternative { { e e e f f f }
+{ g g g } }
+@end lilypond
+
+El grabador @code{Volta_engraver} reside de manera predeterminada
+dentro del contexto Score, y así los corchetes de las repeticiones se
+imprimen solamente por encima del pentagrama superior.  Se puede
+ajustar esto añadiento el grabador @code{Volta_engraver} al contexto
+Staff en que queremos que aparezcan los corchetes; véase
+@ref{Modifying context plug-ins} y
+@c @lsr{repeats,volta@/-multi@/-staff@/.ly}.
 
 @lilypond[verbatim,ragged-right,quote]
-\relative c''{
-  \time 3/4
-  c c c
-  \set Score.voltaSpannerDuration = #(ly:make-moment 3 4)
-  \repeat volta 5 { d d d }
-  \alternative { { e e e f f f }
-  { g g g } }
-}
+\score { <<
+  \new Staff { \repeat volta 2 { c'1 } \alternative { c' } }
+  \new Staff { \repeat volta 2 { c'1 } \alternative { c' } }
+  \new Staff \with { \consists Volta_engraver } { c'2 g' e' a' }
+  \new Staff { \repeat volta 2 { c'1 } \alternative { c' } }
+ >> }
 @end lilypond
 
+@c Is there a way to have a final bar ("|.") at the end of the
+@c previous line? Doesn't seem to be.
 Si quiere comenzar una repetición al principio de una línea y tiene una
 doble barra al final de la línea anterior, utilice
-@example
-@dots{} \bar "||:" \break 
-\repeat volta 2 @{ @dots{} 
-@end example
+
+@lilypond[quote,ragged-right,fragment,verbatim,relative=2]
+c4 c c c
+\bar "||:" \break 
+\repeat volta 2 { c4 d e f }   
+@end lilypond
+
 consulte @ref{Bar lines} para ver más información.
 
 @seealso
 
-Referencia del programa: @internalsref{VoltaBracket},
-@internalsref{RepeatedMusic},
-@internalsref{VoltaRepeatedMusic} y
-@internalsref{UnfoldedRepeatedMusic}.
+Glosario musical: @rglos{repeat}.
+@c FIXME : add @rglos{volta} after glossary addition
 
-Ejemplos:
+Referencia de la notación: @ref{Bar lines}, @ref{Modifying context plug-ins}.
 
-Normalmente los corchetes para la repetición sólo se imprimen sobre el
-pentagrama superior.  Esto se puede ajustar moviendo @code{Volta_engraver} al contexto
-Staff donde quiera que aparezcan los corchetes;
-consulte @ref{Modifying context plug-ins} y
+Fragmentos de código: @lsrdir{Repeats,Repeats}
 
-@lsr{repeats,volta@/-multi@/-staff@/.ly}.
+Referencia de funcionamiento interno: @internalsref{VoltaBracket},
+@internalsref{RepeatedMusic}, @internalsref{VoltaRepeatedMusic},
+@internalsref{UnfoldedRepeatedMusic}.
 
+@c Ejemplos:
 
 @knownissues
 
@@ -194,23 +233,31 @@ Una repetición anidada como
 es ambigua porque no está claro a qué @code{\repeat} pertenece la
 @code{\alternative}.  Esta ambigüedad se resuelve haciendo que la
 @code{\alternative} pertenezca siempre a la @code{\repeat} más
-interna.  Para más claridad, se recomienda usar llaves en tales situaciones.
+interna.  Para más claridad, se recomienda usar llaves en tales
+situaciones.
 
-La información del contador de tiempo no se recuerda al comienzo de una alternativa,
-por ello después de una repetición la información de la cuenta de tiempo se debe reajustar
-manualmente; por ejemplo, estableciendo el valor de @code{Score.measurePosition} o
-introduciendo @code{\partial}.  De forma similar, las ligaduras de expresión o de unión tampoco se repiten.
+La información del contador de tiempo no se recuerda al comienzo de
+una alternativa, por ello después de una repetición la información de
+la cuenta de tiempo se debe reajustar manualmente; por ejemplo,
+estableciendo el valor de @code{Score.measurePosition} o introduciendo
+@code{\partial}.  De forma similar, las ligaduras de expresión o de
+unión tampoco se repiten.
 
-Los corchetes de primera y segunda vez no se alinean verticalmente.
 
 
-@node Manual repeat commands
-@unnumberedsubsubsec Manual repeat commands
+@node Manual repeat marks
+@subsubsection Manual repeat marks
 
 @funindex repeatCommands
 
+@c FIXME: Markup does not work in the "text" field
+@c And how does one change the font?
+@c On the whole, this section needs better documentation (why the
+@c double parentheses around the volta expressions?)
+
 Se puede usar la propiedad @code{repeatCommands} para controlar la
-disposición de las repeticiones.  Su valor es una lista de Scheme de comandos de repetición.
+disposición de las repeticiones.  Su valor es una lista de Scheme de
+comandos de repetición.
 
 @table @asis
 @item @code{start-repeat}
@@ -220,10 +267,11 @@ Imprimir una barra de compás @code{|:}
 Imprimir una barra de compás @code{:|}
 
 @item @code{(volta @var{texto})}
-Imprimir un corchete de volta que diga @var{texto}: El texto se puede
+Imprimir un corchete de volta que diga @var{texto} El texto se puede
 especificar como una cadena de texto o como un texto de marcado,
 consulte @ref{Text markup}.  No olvide cambiar la fuente tipográfica,
-porque el tipo por defecto para los números no contiene caracteres alfabéticos;
+porque el tipo por defecto para los números no contiene caracteres
+alfabéticos;
 
 @item @code{(volta #f)}
 Detener un corchete de volta mantenido.
@@ -237,138 +285,48 @@ c4 c4
 c4 c4
 @end lilypond
 
+@c FIXME: improve visibility of bar lines link?
 
 @seealso
 
+Referencia de la notación: @ref{Bar lines}.
+
+Fragmentos de código: @lsrdir{Repeats,Repeats}
+
 Referencia del programa: @internalsref{VoltaBracket},
-@internalsref{RepeatedMusic},
-@internalsref{VoltaRepeatedMusic} y
+@internalsref{RepeatedMusic}, @internalsref{VoltaRepeatedMusic} y
 @internalsref{UnfoldedRepeatedMusic}.
 
 
-@node Repeats and MIDI
-@unnumberedsubsubsec Repeats and MIDI
+@node Written-out repeats
+@subsubsection Written-out repeats
 
-@cindex expansión de repeticiones
-@funindex \unfoldRepeats
+unfold
 
-Con un poco de trucaje, todos los tipos de repeticiones pueden estar
-presentes en la salida MIDI.  Se consigue por medio de la aplicación
-de la función musical @code{\unfoldRepeats}.  Esta función transforma
-todas las repeticiones en repeticiones desarrolladas o desplegadas.
 
-@lilypond[quote,verbatim,fragment,line-width=8.0\cm]
-\unfoldRepeats {
-  \repeat tremolo 8 {c'32 e' }
-  \repeat percent 2 { c''8 d'' }
-  \repeat volta 2 {c'4 d' e' f'}
-  \alternative {
-    { g' a' a' g' }
-    {f' e' d' c' }
-  }
-}
-\bar "|."
-@end lilypond
 
-Cuando se elabora un archivo de partitura que utiliza @code{\unfoldRepeats} para el MIDI,
-es necesario hacer dos bloques @code{\score}: uno para el MIDI (con las repeticiones desplegadas)
-y otro para la notación (con primera y segunda vez, trémolo y repeticiones de porcentaje).
-Por ejemplo,
 
-@example
-\score @{
-  @var{..música..}
-  \layout @{ .. @}
-@}
-\score @{
-  \unfoldRepeats @var{..música..}
-  \midi @{ .. @}
-@}
-@end example
-
-
-@node Other repeats
-@subsection Other repeats
+@node Short repeats
+@subsection Short repeats
 
 @menu
+* Percent repeats::             
 * Tremolo repeats::             
-* Tremolo subdivisions::        
-* Measure repeats::             
 @end menu
 
-@node Tremolo repeats
-@unnumberedsubsubsec Tremolo repeats
-
-@cindex barras de trémolo
-
-Para colocar marcas de trémolo entre las notas, use @code{\repeat} con el
-estilo tremolo
-@lilypond[quote,verbatim,ragged-right]
-\new Voice \relative c' {
-  \repeat tremolo 8 { c16 d16 }
-  \repeat tremolo 4 { c16 d16 }
-  \repeat tremolo 2 { c16 d16 }
-}
-@end lilypond
-
-Las marcas de trémolo también se pueden poner sobre una nota única.  En este caso, la
-nota no debe estar encerrada entre llaves.
-@lilypond[quote,verbatim,ragged-right]
-\repeat tremolo 4 c'16
-@end lilypond
-
-Se obtiene una salida similar usando la subdivisión del trémolo, que se describe en
-@ref{Tremolo subdivisions}.
-
-
-@seealso
-
-En el presente manual: @ref{Tremolo subdivisions}, @ref{Repeats}.
-
-Referencia del programa: @internalsref{Beam}, @internalsref{StemTremolo}.
-
-
-@node Tremolo subdivisions
-@unnumberedsubsubsec Tremolo subdivisions
-
-@cindex marcas de trémolo
-@funindex tremoloFlags
-
-Las marcas de trémolo se pueden imprimir sobre una nota única escribiendo
-@q{@code{:}[@var{número}]} después de la nota.  El número indica la
-duración de la subdivisión, y debe ser al menos 8.  Un valor de
-@var{longitud} de 8 produce una línea tachando la plica de la nota.  Si se
-omite la longitud,
-se utiliza el último valor (almacenado en @code{tremoloFlags})
-
-@lilypond[quote,ragged-right,verbatim,fragment]
-c'2:8 c':32 | c': c': |
-@end lilypond
-
-
-@knownissues
-
-Los trémolos escritos de esta forma no se trasladan a la salida MIDI.
-
-
-@seealso
-
-En el presente manual: @ref{Tremolo repeats}.
-
-En otros lugares: @internalsref{StemTremolo}.
-
-
-@node Measure repeats
-@unnumberedsubsubsec Measure repeats
+@node Percent repeats
+@subsubsection Percent repeats
 
 @cindex porcentaje, repeticiones de
 @cindex compás, repeticiones de
 
-En el estilo @code{percent} (porcentaje), se puede hacer que se repita un patrón de notas.  Se
-imprime una sola vez, y luego el patrón se sustituye con un símbolo especial.
-Los patrones de uno y dos compases se sustituyen por símbolos parecidos a un porcentaje,
-y los patrones que dividen a la duración de un compás se sustituyen por barras inclinadas.
-Las repeticiones de porcentaje se deben declarar dentro de un contexto @code{Voice}.
+En el estilo @code{percent} (porcentaje), se puede hacer que se repita
+un patrón de notas.  Se imprime una sola vez, y luego el patrón se
+sustituye con un símbolo especial.  Los patrones de uno y dos compases
+se sustituyen por símbolos parecidos a un porcentaje, y los patrones
+que dividen a la duración de un compás se sustituyen por barras
+inclinadas.  Las repeticiones de porcentaje se deben declarar dentro
+de un contexto @code{Voice}.
 
 @lilypond[quote,verbatim,ragged-right]
 \new Voice \relative c' {
@@ -387,10 +345,9 @@ se activa la propiedad @code{countPercentRepeats},
 }
 @end lilypond
 
-
-
 También se pueden imprimir porcentajes aislados.  Esto se hace
-mediante la colocación de un silencio multicompás con una función de impresión distinta,
+mediante la colocación de un silencio multicompás con una función de
+impresión distinta,
 
 @lilypond[fragment,verbatim,quote]
 \override MultiMeasureRest #'stencil
@@ -399,15 +356,86 @@ R1
 @end lilypond
 
 
-
-
 @seealso
 
+Fragmentos de código: @lsrdir{Repeats,Repeats}
+
 Referencia del programa: @internalsref{RepeatSlash},
 @internalsref{PercentRepeat}, @internalsref{DoublePercentRepeat},
 @internalsref{DoublePercentRepeatCounter},
 @internalsref{PercentRepeatCounter},
 @internalsref{PercentRepeatedMusic}.
 
+@node Tremolo repeats
+@subsubsection Tremolo repeats
+
+@cindex barras de trémolo
+
+Para colocar marcas de trémolo entre las notas, use @code{\repeat} con
+el estilo @code{tremolo} (trémolo):
+
+@lilypond[quote,verbatim,ragged-right]
+\new Voice \relative c' {
+  \repeat tremolo 8 { c16 d16 }
+  \repeat tremolo 4 { c16 d16 }
+  \repeat tremolo 2 { c16 d16 }
+}
+@end lilypond
+
+La sintaxis de @code{\repeat tremolo} espera que se escriban
+exactamente dos notas dentro de las llaves, y el número de
+repeticiones debe corresponderse con un valor que se pueda expresar
+con figuras normales o con puntillo.  Así, @code{\repeat tremolo 7} es
+válido y produce una nota con doble puntillo, pero @code{\repeat
+tremolo 9} no es válido.
+
+La duración del trémolo es igual a la duración de la expresión entre
+llaves, multiplicada por el número de repeticiones: @code{\repeat
+tremolo 8 @{ c16 d16 @}} da como resultado un trémolo de redonda,
+escrito como dos redondas unidas por barras de trémolo.
+
+Existen dos maneras de colocar marcas de trémolo sobre una única nota.
+Incluso aquí se puede utilizar la sintaxis @code{\repeat tremolo}, en
+cuyo caso la nota no debe ir encerrada entre llaves:
+
+@lilypond[quote,verbatim,ragged-right]
+\repeat tremolo 4 c'16
+@end lilypond
+
+@cindex trémolo, indicaciones de
+@funindex tremoloFlags
+
+El mismo resultado se puede obtener escribiendo
+@q{@code{:}[@var{número}]} después de la nota.  El número indica la
+duración de la subdivisión, y debe ser 8 como mínimo.  Un valor de 8
+para @var{número} produce una línea que atraviesa la plica de la nota.
+Si se omite la longitud, se utiliza el último valor (almacenado en
+@code{tremoloFlags})
+
+@lilypond[quote,ragged-right,verbatim,fragment]
+c'2:8 c':32 | c': c': |
+@end lilypond
+
+
+@knownissues
+
+
+Los trémolos que se escriben con @q{@code{:}[@var{número}]} no se
+trasladan hacia la salida MIDI.
+
+
+@seealso
+
+Referencia de la notación: @ref{Tremolo repeats}.
+
+Referencia de funcionamiento interno: @internalsref{Beam},
+@internalsref{StemTremolo}.
+
+Fragmentos de código: @lsrdir{Repeats,Repeats}
+
+En otros lugares: @internalsref{StemTremolo}.
+
+
+
 
 
index 1adff58ca0e08fbee86e1ea5dc6b26469a04d04c..9263ff8b34548ca6494173395941a6ffe98681d6 100644 (file)
@@ -1,6 +1,6 @@
 @c -*- coding: utf-8; mode: texinfo; -*-
 @ignore
-    Translation of GIT committish: f9251f6baccf426a9184b7947a85bbacc807a043
+    Translation of GIT committish: 0204d415337bf74ae8626f396e6ea3cc5669c8f2
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  See TRANSLATION for details.
@@ -9,8 +9,7 @@
 @node Rhythms
 @section Rhythms
 
-@lilypondfile[ragged-right,line-width=16\cm,staffsize=14,quote]
-{rhythms-headword.ly}
+@lilypondfile[quote]{rhythms-headword.ly}
 
 Esta sección trata de los ritmos, las duraciones y los compases.
 
@@ -29,7 +28,6 @@ Esta sección trata de los ritmos, las duraciones y los compases.
 
 @menu
 * Durations::                   
-* Augmentation dots::           
 * Tuplets::                     
 * Scaling durations::           
 * Ties::                        
@@ -38,90 +36,134 @@ Esta sección trata de los ritmos, las duraciones y los compases.
 @node Durations
 @subsubsection Durations
 
-@cindex duración
+@cindex duración de las notas
+@cindex notas, duración de
+
 @funindex \longa
 @funindex \breve
 @funindex \maxima
 
-En los modos de Nota, Acorde y Letra, las duraciones se designan
-mediante números y puntos: las duraciones se introducen como sus
-valores recíprocos respecto de la redonda.  Por ejemplo, una negra
-se escribe usando un @code{4} (puesto que es 1/4 de redonda), mientras
-que una blanca se escribe con un @code{2} (por ser 1/2 de redonda).  Para
-notas mayores de la redonda se deben usar los comandos @code{\longa} y @code{\breve}
-
-@example
-c'\breve
-c'1 c'2 c'4 c'8 c'16 c'32 c'64 c'64
-r\longa r\breve
-r1 r2 r4 r8 r16 r32 r64 r64
-@end example
+Las duraciones se designan mediante números y puntos. Las duraciones
+se introducen como sus valores recíprocos respecto de la redonda.  Por
+ejemplo, una negra se escribe usando un @code{4} (puesto que es 1/4 de
+redonda), mientras que una blanca se escribe con un @code{2} (por ser
+1/2 de redonda).  Para notas mayores de la redonda se deben usar los
+comandos @code{\longa} y @code{\breve}. Se pueden especificar
+duraciones tan cortas como la semifusa (con el número 64).  Son
+posibles valores más cortos, pero sólo como notas unidas por una
+barra.
+
+@c Two 64th notes are needed to obtain beams
+@lilypond[quote,ragged-right,verbatim,fragment,relative=2]
+\time 8/1
+c\longa c\breve c1 c2
+c4 c8 c16 c32 c64 c64
+@end lilypond
 
-@lilypond[quote]
-\score {
-\relative c'' {
-    a\breve*1/2 \autoBeamOff
-    a1 a2 a4 a8 a16 a32 a64 a64
-   \bar "empty"
-   \break
-    r\longa*1/4 r\breve *1/2
-    r1 r2 r4 r8 r16 r32 r64 r64
-  }
-  \layout {
-    ragged-right = ##t
-    indent=0\mm
-    \context {
-      \Score
-        \remove "Bar_number_engraver"
-    }
-    \context {
-      \Staff
-        \remove "Clef_engraver"
-        \override StaffSymbol #'transparent = ##t
-        \override TimeSignature #'transparent = ##t
-        \override BarLine #'transparent = ##t
-        \consists "Pitch_squash_engraver"
-    }
-  }
-}
+@noindent
+Aquí se pueden ver las mismas duraciones con el barrado automático
+desactivado.
+
+@c not strictly "writing rhythms"; more of a "displaying" thing,
+@c but it's ok here.  -gp
+@lilypond[quote,ragged-right,verbatim,fragment,relative=2]
+\time 8/1
+\autoBeamOff
+c\longa c\breve c1 c2
+c4 c8 c16 c32 c64 c64
 @end lilypond
 
+Se puede escribir una nota con la duración de una cuádruple breve
+mediante @code{\maxima}, pero esto está contemplado solamente dentro
+de la notación musical antigua.  Para ver más detalles, consulte
+@ref{Ancient notation}.
+
 Si la duración se omite, su valor será el de la duración de la nota
-anterior.  Por omisión, el valor de la primera nota es el de una negra.
+anterior.  Por omisión, el valor de la primera nota es el de una
+negra.
 
-@lilypond[quote,ragged-right,verbatim,fragment]
-{ a a a2 a a4 a a1 a }
+@lilypond[quote,ragged-right,verbatim,fragment,relative=2]
+a a a2 a a4 a a1 a
 @end lilypond
 
-
-@node Augmentation dots
-@subsubsection Augmentation dots
+@cindex notas, con puntillo
+@cindex puntillo, notas con
 
 @funindex .
 
 Para obtener duraciones de notas con puntillo, simplemente escriba un
-punto (@samp{.}) después del número.  Las notas con doble puntillo se consiguen de manera similar.
+punto (@code{.}) después del número.  Las notas con doble puntillo se
+especifican escribiendo dos puntos, y así sucesivamente.
 
-@lilypond[quote,ragged-right,fragment,verbatim]
-a'4 b' c''4. b'8 a'4. b'4.. c''8.
+@lilypond[quote,ragged-right,fragment,verbatim,relative=2]
+a4 b c4. b8 a4. b4.. c8.
 @end lilypond
 
-@predefined
 
-Normalmente los puntillos se desplazan hacia arriba para evitar las
-líneas del pentagrama, excepto en situaciones de polifonía.  Se pueden
-utilizar los siguientes comandos para forzar manualmente una dirección en particular
+Ciertas duraciones no se pueden representar solamente con duraciones
+binarias y puntillos; sólo se pueden representar ligando dos o más
+notas.  Para ver más detalles, consulte @ref{Ties}.
+
+Para ver de qué manera se pueden especificar las duraciones de las
+sílabas de la letra y cómo alinear la letra a las notas, consulte
+@ref{Vocal music}.
+
+Opcionalmente se pueden espaciar las notas de forma estrictamente
+proporcional a su duración.  Para ver más detalles sobre este y otros
+ajustes que controlan la notación proporcional, consulte
+@ref{Proportional notation}.
 
 @funindex \dotsUp
-@code{\dotsUp},
 @funindex \dotsDown
-@code{\dotsDown},
 @funindex \dotsNeutral
+
+Normalmente los puntillos se desplazan hacia arriba para evitar las
+líneas del pentagrama, excepto en situaciones de polifonía. Para
+forzar una dirección concreta de forma manual, véase @ref{Controlling
+direction and placement}.
+
+
+@predefined
+
+@code{\breve},
+@code{\longa},
+@code{\maxima},
+@code{\dotsUp},
+@code{\dotsDown},
 @code{\dotsNeutral}.
 
+
 @seealso
 
-Referencia del programa: @internalsref{Dots} y @internalsref{DotColumn}.
+Glosario musical:
+@rglos{breve}, 
+@rglos{longa}, 
+@rglos{note value},
+@rglos{Duration names notes and rests}.
+
+Referencia de la notación:
+@ref{Automatic beams}, 
+@ref{Ties},
+@ref{Writing rhythms}, 
+@ref{Writing rests}, 
+@ref{Vocal music},
+@ref{Ancient notation}, 
+@ref{Proportional notation}.
+
+Fragmentos de código: @lsrdir{Rhythms,Rhythms}
+
+Referencia de funcionamiento interno:
+@internalsref{Dots},
+@internalsref{DotColumn}.
+
+
+@knownissues
+
+@c Deliberately duplicated in Durations and Rests.  -gp
+No existe un límite fundamental para las duraciones de los silencios
+(tanto para el más largo como para el más corto), pero el numero de
+glifos es limitado: sólo se pueden imprimir desde el silencio de
+garrapatea (128) hasta el de máxima (8 redondas).
 
 
 @node Tuplets
@@ -135,7 +177,7 @@ Los grupos especiales se obtienen a partir de una expresión musical
 multiplicando todas las duraciones por una fracción:
 
 @example
-\times @var{fracción} @var{expresión_musical}
+\times @var{fracción} @{ @var{música} @}
 @end example
 
 @noindent
@@ -145,155 +187,203 @@ opcionalmente con un corchete.  El grupo especial más común es el
 tresillo, en el que 3 notas tienen el valor de 2, por tanto las notas
 duran 2/3 de su valor escrito
 
-@lilypond[quote,ragged-right,fragment,verbatim]
-g'4 \times 2/3 {c'4 c' c'} d'4 d'4
+@lilypond[quote,ragged-right,fragment,verbatim,relative=2]
+a2 \times 2/3 {b4 b b}
+c4 c \times 2/3 {b4 a g}
+
 @end lilypond
 
+@funindex \tupletUp
+@funindex \tupletDown
+@funindex \tupletNeutral
+
+La colocación automática del corchete de grupo especial por encima o
+por debajo de las notas se puede sobreescribir manualmente mediante
+instrucciones predefinidas, para ver más detalles consulte
+@ref{Controlling direction and placement}.
+
 Los grupos pueden anidarse unos dentro de otros, por ejemplo
 
-@lilypond[fragment,ragged-right,verbatim,relative=2]
-\override TupletNumber #'text = #tuplet-number::calc-fraction-text
-\times 4/6 {
-  a4 a
-  \times 3/5 { a a a a a }
-}
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+\autoBeamOff
+c4 \times 4/5 { f8 e f \times 2/3 {e[ f g] } } f4 |
 @end lilypond
 
+La modificación de los grupos especiales anidados que comienzan en el
+mismo instante musical se puede hacer con @code{\tweak}.
+
+Para modificar la duración de las notas sin imprimir un corchete de
+grupo especial, véase @ref{Scaling durations}.
+
 @predefined
 
-@funindex \tupletUp
 @code{\tupletUp},
-@funindex \tupletDown
 @code{\tupletDown},
-@funindex \tupletNeutral
 @code{\tupletNeutral}.
 
 
-@commonprop
+@snippets
 
-@funindex tupletNumberFormatFunction
 @cindex formateo de los grupos especiales
+@cindex grupos especiales, formateo de
+@cindex tresillos, formateo de
 
-La propiedad @code{tupletSpannerDuration} (duración del selector de
-grupo) especifica la duración de cada corchete.  Con esto puede hacer
-muchos grupos escribiendo @code{\times} una sola vez, ahorrándose
-mucho trabajo de teclado.  En el siguiente ejemplo se muestran dos
-tresillos, aunque @code{\times} sólo se ha utilizado una vez
 
-@lilypond[quote,fragment,relative=2,ragged-right,verbatim]
-\set tupletSpannerDuration = #(ly:make-moment 1 4)
-\times 2/3 { c8 c c c c c }
-@end lilypond
+@funindex tupletNumberFormatFunction
+@funindex tupletSpannerDuration
 
-@noindent
-Para ver más información sobre @code{make-moment}, consulte
-@ref{Time administration}.
+@lilypondfile [verbatim,lilyquote,ragged-right,texidoc]
+{entering-several-tuplets-using-only-one--times-command.ly}
+
+@funindex TupletNumber
 
-El formato del número se determina por medio de la propiedad @code{text} en
-@code{TupletNumber}.  Por defecto se imprime sólo el denominador, pero si
-su valor se establece a la función @code{tuplet-number::calc-fraction-text},
-se imprimirá como @var{numerador}:@var{denominador}
+@c Sent to VV on 12 Feb - replace with @lilypondfile when available
+@c TODO and delete from here ...
+De forma predeterminada, sólo se imprime el numerador del grupo
+especial sobre el corchete, es decir, el denominador del argumento de
+la instrucción @code{\times}.  De forma alternativa se puede imprimir
+@var{numerador}:@var{denominador} del número de grupo, o se puede
+eliminar el número por completo.
 
-Para que no se impriman los números de los grupos, emplee
 
 @lilypond[quote,fragment,relative=2,ragged-right,verbatim]
 \times 2/3 { c8 c c } \times 2/3 { c8 c c }
+\override TupletNumber #'text = #tuplet-number::calc-fraction-text
+\times 2/3 { c8 c c }
 \override TupletNumber #'transparent = ##t
-\times 2/3 { c8 c c } \times 2/3 { c8 c c }
+\times 2/3 { c8 c c }
 @end lilypond
 
-Utilice la función @code{\tweak} para sobreescribir los grupos anidados que comienzan en el mismo
-instante musical.  En este ejemplo, @code{\tweak} especifica un texto de fracción
-para el
-@code{TupletNumber} exterior y un texto de denominador para el @code{TupletNumber}
-del primero de los tres grupos interiores.
+@c ... to here
 
-@lilypond[quote,ragged-right,verbatim]
-\new Staff {
-  \tweak #'text #tuplet-number::calc-fraction-text
-  \times 4/3 {
-     \tweak #'text #tuplet-number::calc-denominator-text
-     \times 2/3 { c'8[ c'8 c'8] }
-     \times 2/3 { c'8[ c'8 c'8] }
-     \times 2/3 { c'8[ c'8 c'8] }
-  }
-}
-@end lilypond
 
-Aquí @code{\tweak} y @code{\override} trabajan conjuntamente para especificar la dirección
-del @code{TupletBracket} (el corchete del grupo).  El primer @code{\tweak} coloca
-el @code{TupletBracket} del grupo 
-exterior por encima del pentagrama.  El segundo @code{\tweak} coloca el
-@code{TupletBracket} del primero de los tres grupos interiores por debajo del
-pentagrama.  Tenga en cuenta que este par de funciones @code{\tweak} afecta solamente
-al grupo exterior y al primero de los tres grupos interiores porque sólo
-esos dos grupos comienzan en el mismo instante musical.  Utilizamos @code{\override}
-de la manera usual para colocar los corchetes @code{TupletBrackets} del
-segundo y tercer grupos interiores por debajo del pentagrama.
+@c Sent to VV on 12 Feb - replace with @lilypondfile when available
+@c TODO and delete from here ...
+Este ejemplo artificial muestra cómo tanto los saltos de línea
+manuales como los automáticos están permitidos dentro de un grupo
+especial con barras.  Observe que estos grupos fuera de pulso se
+tienen que barrar a mano.
 
 @lilypond[quote,ragged-right,verbatim]
-\new Staff {
-  \tweak #'text #tuplet-number::calc-fraction-text
-  \tweak #'direction #up
-  \times 4/3 {
-     \tweak #'direction #down
-     \times 2/3 { c'8[ c'8 c'8] }
-     \override TupletBracket #'direction = #down
-     \times 2/3 { c'8[ c'8 c'8] }
-     \times 2/3 { c'8[ c'8 c'8] }
-  }
+\relative c'' {
+  a8
+  \repeat unfold 8 {\times 2/3 { c[ b a]}}
+  % Insert a manual line break within a tuplet
+  \times 2/3 { c[ b \bar "" \break a]}
+  \repeat unfold 2 {\times 2/3 { c[ b a]}}
+  c8
 }
-@end lilypond
-
-Se puede hacer que los corchetes de grupo abarquen tanto como su duración completa indique o que lleguen hasta justo antes de la nota siguiente
-
-@lilypond[ragged-right]
-\new RhythmicStaff {
-  \set tupletFullLength = ##t
-  \time 4/4
-  \times 4/5 {
-    c4 c1
-  }
-  \set tupletFullLengthNote = ##t
-  \time 2/4
-  \times 2/3 {
-    c4 c c 
+\layout {
+  \context {
+    \Voice
+    % Permit line breaks within tuplets
+    \remove "Forbid_line_break_engraver"
+    % Allow beams to be broken at line breaks
+    \override Beam #'breakable = ##t
   }
-  \time 3/4
-  c4 
 }
 @end lilypond
 
+@c .. to here
 
 @seealso
 
-Referencia del programa: @internalsref{TupletBracket},
-@internalsref{TupletNumber} y @internalsref{TimeScaledMusic}.
+Glosario musical:
+@rglos{triplet}, 
+@rglos{tuplet},
+@rglos{polymetric}.
+
+Referencia de la notación:
+@ref{Time administration},
+@ref{Scaling durations},
+@ref{Objects connected to the input},
+@ref{Polymetric notation}.
+
+Fragmentos de código: @lsrdir{Rhythms,Rhythms}.
 
+Referencia de funcionamiento interno:
+@internalsref{TupletBracket},
+@internalsref{TupletNumber}, 
+@internalsref{TimeScaledMusic}.
 
 
 @node Scaling durations
 @subsubsection Scaling durations
 
-Es posible alterar la duración de las figuras en un factor @var{N/M}
-añadiendo @samp{*@var{N/M}} (o @samp{*@var{N}} si @var{M=1}).  Esto no
-afectará a la apariencia de las notas o silencios que se producen.  Se
-pueden combinar en la forma @samp{*M*N}.
+Es posible alterar la duración de las figuras, silencios o acordes en
+un factor @code{N/M} añadiendo @code{*N/M} (o @code{*N} si
+@code{M} es 1) a la duración.  Esto no afectará a la apariencia de las
+notas o silencios que se producen, pero la duración alterada se usará
+para calcular la posición dentro del compás y para establecer la
+duración en la salida MIDI.  Los factores de multiplicación se pueden
+combinar en la forma @code{*L*M/N}.
 
 En el siguiente ejemplo las tres primeras notas duran exactamente dos
 partes, pero no se imprime ningún corchete de tresillo.
 
 @lilypond[quote,ragged-right,fragment,relative=2,verbatim]
 \time 2/4
+% Alter durations to triplets
 a4*2/3 gis4*2/3 a4*2/3
-a4 a4 a4*2
+% Normal durations
+a4 a4
+% Double the duration of chord
+<a d>4*2
+% Duration of quarter, appears like sixteeth
 b16*4 c4
 @end lilypond
 
+La duración de las notas de salto o espaciadoras también se puede
+modificar mediante un multiplicador.  Esto es útil para saltar muchos
+compases, como por ejemplo @code{s1*23}.
+
+@cindex compresión de música
+@funindex \compressMusic
+
+De la misma forma, se pueden comprimir por una fracción trozos de
+música más largos, como si cada nota, acorde o silencio tuviera la
+fracción como multiplicador.  La sintaxis general de la iinstrucción
+que lo hace es:
+
+@example
+\compressMusic #'(@emph{numerador} . @emph{denominador}) @{ @emph{música} @}
+@end example
+
+@noindent
+Esto dejará intacta la apariencia de la @emph{música}, pero la
+duración interna de las notas se multiplicará por la fracción
+@emph{numerador}/@emph{denominador}.  Los espacios que rodean el punto
+son necesarios.  He aquí un ejemplo que muestra cómo se puede
+comprimir y expandir la música:
+
+@lilypond[quote,fragment,relative=2,ragged-right,verbatim]
+\time 2/4
+% Normal durations
+<c a>4 c8 a
+% Scale music by *2/3
+\compressMusic #'(2 . 3) {
+  <c a f>4. c8 a f
+}
+% Scale music by *2
+\compressMusic #'(2 . 1) {
+  <c' a>4 c8 b
+}
+@end lilypond
+
+@noindent
+Una aplicación de esta instrucción se encuentra en la notación
+polimétrica, véase @ref{Polymetric notation}.
+
 
 @seealso
 
-En este manual: @ref{Tuplets}.
+Referencia de la notación:
+@ref{Tuplets},
+@ref{Skips},
+@ref{Polymetric notation}.
+
+Fragmentos de código: @lsrdir{Rhythms,Rhythms}
+
 
 
 @node Ties
@@ -303,34 +393,26 @@ En este manual: @ref{Tuplets}.
 @funindex ~
 
 Una ligadura de unión conecta dos notas adyacentes de la misma altura.  La ligadura
-en efecto extiende la longitud de una nota.  No deben confundirse las ligaduras de unión con
-las ligaduras de expresión, que indican articulación, ni con las ligaduras de fraseo, que indican
-el fraseo musical.  Se introduce una ligadura de unión usando el símbolo de la tilde curva @samp{~}
+en efecto extiende la longitud de una nota.
 
-@lilypond[quote,ragged-right,fragment,verbatim]
-e' ~ e' <c' e' g'> ~ <c' e' g'>
-@end lilypond
+@warning{No deben confundirse las ligaduras de unión con las
+@emph{ligaduras de expresión}, que indican articulación, ni con las
+@emph{ligaduras de fraseo}, que indican el fraseo musical.  Una
+ligadura de unión es tan sólo una manera de extender la duración de
+una nota, algo parecido a lo que hace el puntillo.}
 
-Cuando se aplica una ligadura de unión a un acorde, se conectan todas las cabezas de las notas cuyas alturas coinciden.
-Si no coincide ningún par de cabezas, no se crea ninguna ligadura.  Los acordes
-se pueden ligar parcialmente colocando la ligadura dentro del acorde,
+Se introduce una ligadura de unión usando el símbolo de la tilde curva
+@code{~}
 
-@lilypond[quote,ragged-right,fragment,verbatim,relative=1]
-<c~ e g~ b> <c e g b>
-@end lilypond
-
-Una ligadura es simplemente una forma de extender la duración de una nota, parecida al
-puntillo.  El ejemplo siguiente muestra dos formas de escribir
-exactamente el mismo concepto:
-
-@lilypond[quote,fragment,ragged-right]
-\time 3/4 c'2. c'2 ~ c'4
+@lilypond[quote,ragged-right,fragment,verbatim]
+e' ~ e'
 @end lilypond
 
 @noindent
-Se usan ligaduras de expresión bien cuando la nota atraviesa la barra
-de compás o bien cuando no se pueden usar puntillos para denotar el
-ritmo.  Cuando se usan ligaduras, las notas de mayor duración se deben alinear con las subdivisiones del compás, como
+Se usan ligaduras de unión bien cuando la nota atraviesa la barra de
+compás o bien cuando no se pueden usar puntillos para denotar el
+ritmo.  También se deben usar ligaduras cuando las notas atraviesan
+subdivisiones del compás de mayor duración:
 
 @lilypond[fragment,quote,ragged-right]
 \relative {
@@ -338,65 +420,107 @@ ritmo.  Cuando se usan ligaduras, las notas de mayor duración se deben alinear
 }
 @end lilypond
 
-Si necesita unir muchas notas a través de las líneas divisorias, puede
-resultar más fácil utilizar la división automática de notas (vea
-@ref{Automatic note splitting}).  Este mecanismo divide las notas
-largas de forma automática y las liga a través de las barras de compás.
+Si necesita ligar muchas notas a través de las líneas divisorias,
+podría resultarle más fácil utilizar la división automática de las
+notas, véase @ref{Automatic note splitting}.  Este mecanismo divide
+automáticamente las notas largas y las liga a través de las barras de
+compás.
+
+@cindex ties and chords
+@cindex chords and ties
+
+Cuando se aplica una ligadura de unión a un acorde, se conectan todas
+las cabezas de las notas cuyas alturas coinciden.  Si no coincide
+ningún par de cabezas, no se crea ninguna ligadura.  Los acordes se
+pueden ligar parcialmente colocando la ligadura dentro del acorde.
+
+@lilypond[quote,ragged-right,fragment,verbatim,relative=1]
+ <c e g> ~ <c e g>
+<c~ e g~ b> <c e g b>
+@end lilypond
 
 @funindex \repeatTie
+@cindex repetición, ligaduras de unión en
+@cindex ligaduras de unión, repeticiones y
+@cindex primera y segunda vez, corchetes y ligaduras en
+@cindex ligaduras de unión y corchetes de primera y segunda vez
 
 Cuando la segunda vez de una repetición comienza con una nota ligada,
-es necesario repetir la ligadura.  Esto se puede conseguir mediante @code{\repeatTie},
+es necesario especificar la ligadura repetida como sigue:
 
 @lilypond[fragment,quote,ragged-right,relative=2,verbatim]
 \repeat volta 2 { c g <c e>2 ~ }
-\alternative {{ <c e>2. r4 } {<c e>2\repeatTie d4 c }}
+\alternative {
+  % First alternative: following note is tied normally
+  { <c e>2. r4 }
+  % Second alternative: following note has a repeated tie
+  {<c e>2\repeatTie d4 c }}
 @end lilypond
 
 @cindex laissez vibrer
 @cindex ligaduras laissez vibrer
+@funindex \laissezVibrer
 
 Las ligaduras @notation{L.v.} (@notation{laissez vibrer}, dejar
 vibrar) indican que las notas no se deben apagar al final.  Se usan en
 la notación para piano, arpa y otros instrumentos de cuerda y
-percusión.  Se pueden introducir escribiendo @code{\laissezVibrer}:
+percusión.  Se pueden introducir de la siguiente manera:
 
 @lilypond[fragment,ragged-right,verbatim,relative=1]
 <c f g>\laissezVibrer
 @end lilypond
 
-Es posible controlar la colocación vertical de las ligaduras de unión;
-véase @ref{Controlling direction}.
 
+@cindex ligaduras, colocación
+@funindex \tieUp
+@funindex \tieDown
+@funindex \tieNeutral
 
-@seealso
+Es posible controlar la colocación vertical de las ligaduras de unión;
+véase la sección de instrucciones predefinidas, o para ver más
+detalles, consulte @ref{Controlling direction and placement}.
 
-Referencia del programa:
-@internalsref{LaissezVibrerTie}
-@internalsref{LaissezVibrerTieColumn}
 
-Archivos de ejemplo:
-@lsr{connecting,laissez-vibrer-ties.ly}
+@cindex ligaduras, apariencia
+@funindex \tieDotted
+@funindex \tieDashed
+@funindex \tieSolid
 
+Se pueden especificar ligaduras continuas, de puuntos o intermitentes,
+véase la sección de instrucciones predefinidas.
 
+@predefined
 
-@cindex ligaduras de repetición
-@cindex corchetes de repetición de primera y segunda vez y ligaduras
+@code{\tieUp},
+@code{\tieDown},
+@code{\tieNeutral},
+@code{\tieDotted},
+@code{\tieDashed},
+@code{\tieSolid},
+@code{\repeatTie}.
 
-@commonprop
 
-A veces se usan ligaduras para escribir arpegios.  En este caso, dos notas ligadas no
-necesitan ser consecutivas.  Esto se puede conseguir estableciendo la propiedad @code{tieWaitForNote}
-(ligadura - esperar nota) al valor verdadero. La misma funcionalidad puede resultar útil,
-por ejemplo, para ligar un trémolo a un acorde.  Por ejemplo,
+@snippets
+
+@c TODO Remove when snippet available - sent 15 Mar 08
+A veces se usan ligaduras para escribir arpegios.  En este caso, dos
+notas ligadas no necesitan ser consecutivas.  Esto se puede conseguir
+estableciendo la propiedad @code{tieWaitForNote} (ligadura - esperar
+nota) al valor verdadero. La misma funcionalidad puede resultar útil,
+por ejemplo, para ligar un trémolo a un acorde, pero en principio se
+puede usar para notas normales consecutivas:
 
 @lilypond[fragment,verbatim,relative=1,ragged-right,quote]
 \set tieWaitForNote = ##t
 \grace { c16[~ e~ g]~ } <c, e g>2
 \repeat tremolo 8 { c32~ c'~ } <c c,>1
 e8~ c~ a~ f~ <e' c a f>2
+\tieUp c8~ a \tieDown \tieDotted g~ c g2
 @end lilypond
 
+@c end of section to be removed
+
+@c TODO Remove when snippet available - sent 15 Mar 08
 Las ligaduras se pueden grabar manualmente modificando la propiedad
 @code{tie-configuration} del objeto @code{TieColumn}.  El primer
 número indica la distancia desde el centro del pentagrama en espacios
@@ -411,36 +535,35 @@ arriba, -1 = hacia abajo).
 @end lilypond
 
 
-@predefined
-
+@c end of section to be removed
 
-@funindex \tieUp
-@code{\tieUp},
-@funindex \tieDown
-@code{\tieDown},
-@funindex \tieNeutral
-@code{\tieNeutral},
-@funindex \tieDotted
-@code{\tieDotted},
-@funindex \tieDashed
-@code{\tieDashed},
-@funindex \tieSolid
-@code{\tieSolid}.
+@seealso
 
+Glosario musical:
+@rglos{tie},
+@rglos{laissez vibrer}.
 
-@seealso
+Referencia de la notación: @ref{Automatic note splitting}.
 
-En el presente manual: @ref{Automatic note splitting}.
+Fragmentos de código: @lsrdir{Rhythms,Rhythms}
 
-Referencia del programa: @internalsref{Tie}.
+Referencia de funcionamiento interno:
+@internalsref{LaissezVibrerTie},
+@internalsref{LaissezVibrerTieColumn},
+@internalsref{TieColumn},
+@internalsref{Tie}.
 
 
 @knownissues
 
-Un cambio de pentagrama cuando hay una ligadura activa no producirá una ligadura inclinada.
+
+Un cambio de pentagrama cuando hay una ligadura activa no producirá
+una ligadura inclinada.
 
 Los cambios de clave o de octava durante una ligadura de unión no
-están bien definidos realmente.  En estos casos puede ser preferible una ligadura de expresión.
+están bien definidos realmente.  En estos casos puede ser preferible
+una ligadura de expresión.
+
 
 
 
@@ -450,7 +573,7 @@ están bien definidos realmente.  En estos casos puede ser preferible una ligadu
 @menu
 * Rests::                       
 * Skips::                       
-* Multi measure rests::         
+* Full measure rests::         
 @end menu
 
 @node Rests
@@ -469,7 +592,7 @@ r1 r2 r4 r8
 Los silencios de un compás centrados en medio del compás,
 se deben hacer con silencios multicompás.  Se pueden usar para 
 un solo compás así como para muchos compases, y se tratan en
-@ref{Multi measure rests}.
+@ref{Full measure rests}.
 
 Para especificar explícitamente la posición vertical de un silencio, escriba una nota
 seguida de @code{\rest}.  Se colocará un silencio en la posición en que debería
@@ -534,8 +657,8 @@ El fragmento @code{@{ \skip 4 @} } produciría una página vacía.
 Referencia del programa: @internalsref{SkipMusic}.
 
 
-@node Multi measure rests
-@subsubsection Multi measure rests
+@node Full measure rests
+@subsubsection Full measure rests
 
 @cindex multicompás, silencios
 @cindex compás completo, silencios de
@@ -888,6 +1011,7 @@ Referencia del programa: @internalsref{Completion_heads_engraver}.
 
 @menu
 * Automatic beams::             
+* Setting automatic beam behavior::  
 * Manual beams::                
 * Feathered beams::             
 @end menu
@@ -918,6 +1042,10 @@ que lleven una barra
 
 Referencia del programa: @internalsref{Beam}.
 
+@node Setting automatic beam behavior
+@subsubsection Setting automatic beam behavior
+
+UNTRANSLATED NODE: IGNORE ME
 
 @node Manual beams
 @subsubsection Manual beams
index 715b03eb9eb4b533ecfe44bf6936a3394ccb532e..3b25fda9d7855ab0f088d0e95051e2e16f640886 100644 (file)
@@ -1,7 +1,7 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 @c This file is part of lilypond-program.tely
 @ignore
-    Translation of GIT committish: d9b4bfc69674eb4ed7b8c6eaa0b646f00eae6c8d
+    Translation of GIT committish: 66dde21fe63499f32a718f6098abe70e1429059b
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  See TRANSLATION for details.
index 273fc8e4c2c181ff2a6f1f51f712de491b80f564..402723503b67c302acbe715162b8cd60f8f05c50 100644 (file)
@@ -1,7 +1,7 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 @c This file is part of lilypond-learning.tely
 @ignore
-    Translation of GIT committish: d9b4bfc69674eb4ed7b8c6eaa0b646f00eae6c8d
+    Translation of GIT committish: 442e889ce5bd4f250270b992a1b105ed7fc078db
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  See TRANSLATION for details.
 @node Scheme tutorial
 @appendix Scheme tutorial
 
-UNTRANSLATED NODE: IGNORE ME
+@funindex #
+@cindex Scheme
+@cindex GUILE
+@cindex Scheme, código en línea
+@cindex acceder a Scheme
+@cindex evaluar Scheme
+@cindex LISP
 
+LilyPond utiliza el lenguaje de programación Scheme, tanto como parte
+de la sintaxis del código de entrada, como para servir de mecanismo
+interno que une los módulos del programa entre sí.  Esta sección es
+una panorámica muy breve sobre cómo introducir datos en Scheme.  Si
+quiere saber más sobre Scheme, consulte
+@uref{http://@/www@/.schemers@/.org}.
+
+Lo más básico de un lenguaje son los datos: números, cadenas de
+caracteres, listas, etc.  He aquí una lista de los tipos de datos que
+son de relevancia respecto de la entrada de LilyPond.
+
+@table @asis
+@item Booleanos
+Los valores Booleanos son Verdadero y Falso.  Verdadero en Scheme es @code{#t}
+y Falso es @code{#f}.
+@funindex ##t
+@funindex ##f
+
+@item Números
+Los números se escriben de la forma normal, @code{1} es el número
+(entero) uno, mientras que @code{-1.5} es un número en coma flotante
+(un número no entero).
+
+@item Cadenas
+Las cadenas se encierran entre comillas:
+
+@example
+"esto es una cadena"
+@end example
+
+Las cadenas pueden abarcar varias líneas:
+
+@example
+"esto
+es
+una cadena"
+@end example
+
+También se pueden añadir comillas y saltos de línea con las llamadas
+secuencias de escape.  La cadena @code{a dijo "b"} se escribe como
+
+@example
+"a dijo \"b\""
+@end example
+
+Los saltos de línea t las barras invertidas se escapan mediante
+@code{\n} y @code{\\} respectivamente.
+@end table
+
+
+En un archivo de música, los fragmentos de código de Scheme se
+esecriben con el signo de almohadilla @code{#}.  Así, los ejemplos
+anteriores traducidos a LilyPond son:
+
+@example
+##t ##f
+#1 #-1.5
+#"esto es una cadena"
+#"esto
+es
+una cadena"
+@end example
+
+Durante el resto de esta sección, supondremos que los datos se
+introducen en un archivo de música, por lo que añadiremos almohadillas
+@code{#} en todas partes.
+
+Scheme se puede usar para hacer cálculos.  Utiliza sintaxis
+@emph{prefija}.  Sumar 1 y@tie{}2 se escribe como @code{(+ 1 2)} y no
+como el tradicional @math{1+2}.
+
+@lisp
+#(+ 1 2)
+  @result{} #3
+@end lisp
+
+La flecha @result{} muestra que el resultado de evaluar @code{(+ 1 2)}
+es@tie{}@code{3}.  Los cálculos se pueden anidar; el resultado de una
+función se puede usar para otro cálculo.
+
+@lisp
+#(+ 1 (* 3 4))
+  @result{} #(+ 1 12)
+  @result{} #13
+@end lisp
+
+Estos cálculos son ejemplos de evaluaciones; una expresión como
+@code{(* 3 4)} se sustituye por su valor @code{12}.  Algo similar
+ocurre con las variables.  Después de haber definido una variable
+
+@example
+doce = #12
+@end example
+
+@noindent
+las variables se pueden usar también dentro de las expresiones, aquí
+
+@example
+veintiCuatro = #(* 2 doce)
+@end example
+
+@noindent
+el número 24 se almacena dentro de la variable @code{veintiCuatro}.
+La misma asignación se puede hacer también completamente en Scheme,
+
+@example
+#(define veintiCuatro (* 2 doce))
+@end example
+
+El @emph{nombre} de una variable también es una expresión, similar a
+un número o una cadena.  Se introduce como
+
+@example
+#'veintiCuatro
+@end example
+
+@funindex #'symbol
+@cindex comillas en Scheme
+
+El apóstrofe @code{'} evita que el intérprete de Scheme sustituya
+@code{veintiCuatro} por @code{24}.  En vez de esto, obtenemos el
+nombre @code{veintiCuatro}.
+
+Esta sintaxis se usará con mucha frecuencia, pues muchos de los trucos
+de presentación consisten en asignar valores (de Scheme) a variables
+internas, por ejemplo
+
+@example
+\override Stem #'thickness = #2.6
+@end example
+
+Esta isntrucción ajusta el aspecto de las plicas.  El valor @code{2.6}
+se pone dentro de la variable @code{thickness} de un objeto
+@code{Stem}.  @code{thickness} se mide a partir del grosor de las
+líneas del pentagrama, y así estas plicas serán @code{2.6} veces el
+grosor de las líneas del pentagrama.  Esto hace que las plicas sean
+casi el doble de gruesas de lo normal.  Para distinguir entr las
+variables que se definen en los archivos de entrada (como
+@code{veintiCuatro} en el ejemplo anterior) y las variables de los
+objetos internos, llamaremos a las últimas @q{propiedades} y a las
+primeras @q{variables.}  Así, el objeto plica tiene una propiedad
+@code{thickness} (grosor), mientras que @code{veintiCuatro} es una
+variable.
+
+@cindex propiedades frente a variables
+@cindex variables frente a propiedades
+
+Los desplazamientos bidimensionales (coordenadas X e Y) así como los
+tamaños de los objetos (intervalos con un punto izquierdo y otro
+derecho) se introducen como @code{parejas}.  Una pareja@footnote{En la
+terminología de Scheme, la pareja se llama @code{cons}, y sus dos
+elementos se llaman @code{car} y @code{cdr} respectivamente.}  se
+introduce como @code{(first . second)} y, como los símbolos, se deben
+preceder de un apóstrofe,
+
+@example
+\override TextScript #'extra-offset = #'(1 . 2)
+@end example
+
+Esto asigna la pareja (1, 2) a la propiedad @code{extra-offset} del
+objeto TextScript.  Estos números se miden en espacios de pentagrama,
+y así esta instrucción mueve el objeto un espacio de pentagrama a la
+derecha, y dos especios hacia arriba.
+
+Los dos elementos de una pareja pueden ser valores arbitrarios, por
+ejemplo
+
+@example
+#'(1 . 2)
+#'(#t . #f)
+#'("bla-bla" . 3.14159265)
+@end example
+
+Una lista se escribe encerrando sus elementos entre paréntesis, y
+añadiendo un apóstrofe.  Por ejemplo,
+
+@example
+#'(1 2 3)
+#'(1 2 "cadena" #f)
+@end example
+
+Todo el tiempo hemos estado usando listas.  Un cálculo, como @code{(+
+1 2)} también es una lista (que contiene el símbolo @code{+} y los
+números 1 y@tie{}2).  Normalmente, las listas se interpretan como
+cálculos, y el intérprete de Scheme sustituye el resultado del
+cálculo.  Para escribir una lista, detenemos la evaluación.  Esto se
+hace precediendo la lista por un apóstrofe @code{'}.  Así, para los
+cálculos no usamos ningún apóstrofe.
+
+Dentro de una lista o pareja precedida de apóstrofe, no hay necesidad
+de escribir ningún apóstrofe más.  Lo siguiente es una pareja de
+símbolos, una lista de símbolos y una lista de listas respectivamente:
+
+@example
+#'(stem . head)
+#'(staff clef key-signature)
+#'((1) (2))
+@end example
+
+
+@menu
+* Tweaking with Scheme::        
+@end menu
+
+@node Tweaking with Scheme
+@appendixsec Tweaking with Scheme
+
+Hemos visto cómo la salida de LilyPond se puede modificar
+profundamente usando instrucciones como @code{\override TextScript
+#'extra-offset = ( 1 . -1)}.  Pero tenemos incluso mucho más poder si
+utilizamos Scheme.  Para ver una explicación completa de esto,
+consulteel @ref{Scheme tutorial}, y @ruser{Interfaces for
+programmers}.
+
+Podemos usar Scheme simplemente para sobreescribir instrucciones con
+@code{\override},
+
+@c This isn't a valid example with skylining
+@c It works fine without padText  -td
+
+@ignore
+@lilypond[quote,verbatim,ragged-right]
+padText = #(define-music-function (parser location padding) (number?)
+#{
+  \once \override TextScript #'padding = #$padding
+#})
+
+\relative c''' {
+  c4^"piu mosso" b a b
+  \padText #1.8
+  c4^"piu mosso" d e f
+  \padText #2.6
+  c4^"piu mosso" fis a g
+}
+@end lilypond
+@end ignore
+
+Lo podemos usar para crear instrucciones nuevas:
+
+@c Check this is a valid example with skylining
+@c It is - 'padding still works
+
+@lilypond[quote,verbatim,ragged-right]
+tempoMark = #(define-music-function (parser location padding marktext)
+                                    (number? string?)
+#{
+  \once \override Score . RehearsalMark #'padding = $padding
+  \once \override Score . RehearsalMark #'extra-spacing-width = #'(+inf.0 . -inf.0)
+  \mark \markup { \bold $marktext }
+#})
+
+\relative c'' {
+  c2 e
+  \tempoMark #3.0 #"Allegro"
+  g c
+}
+@end lilypond
+
+Incluso se le pueden pasar expresiones musicales:
+
+@lilypond[quote,verbatim,ragged-right]
+pattern = #(define-music-function (parser location x y) (ly:music? ly:music?)
+#{
+  $x e8 a b $y b a e
+#})
+
+\relative c''{
+  \pattern c8 c8\f
+  \pattern {d16 dis} { ais16-> b\p }
+}
+@end lilypond
 
--- SKELETON FILE --
-When you actually translate this file, please remove these lines as
-well as all `UNTRANSLATED NODE: IGNORE ME' lines.
index 638ffb82b1e9f583cd3a38908328a5d096869600..6b43026891655124d55f4866df937b596b556f02 100644 (file)
@@ -1,6 +1,6 @@
 @c -*- coding: utf-8; mode: texinfo; -*-
 @ignore
-    Translation of GIT committish: e5ddf62fed87ae3b1a0b28fa6842e10f39734fb7
+    Translation of GIT committish: 2607a3536733d8d4a1e74176027a5cb01d4e776a
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  See TRANSLATION for details.
@@ -80,7 +80,7 @@ UNTRANSLATED NODE: IGNORE ME
 @end menu
 
 @node Basic polyphony
-@unnumberedsubsubsec Basic polyphony
+@subsubsection Basic polyphony
 
 @cindex polyphony
 
@@ -158,7 +158,7 @@ relativa a la nota inmediatamente anterior.
 
 
 @node Explicitly instantiating voices
-@unnumberedsubsubsec Explicitly instantiating voices
+@subsubsection Explicitly instantiating voices
 
 Los contextos de @internalsref{Voice} también se pueden instanciar manualmente
 dentro de un bloque @code{<< >>} para crear música polifónica, usando
@@ -277,7 +277,7 @@ voiceFive = #(context-spec-music (make-voice-props-set 4) 'Voice)
 
 
 @node Collision Resolution
-@unnumberedsubsubsec Collision Resolution
+@subsubsection Collision Resolution
 
 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
@@ -402,7 +402,7 @@ notación especial de racimos (ver @ref{Clusters}).
 
 
 @node Automatic part combining
-@unnumberedsubsubsec Automatic part combining
+@subsubsection Automatic part combining
 @cindex particellas, combinación automática
 @cindex particellas, combinador de
 
@@ -500,7 +500,7 @@ se ignorarán.
 
 
 @node Writing music in parallel
-@unnumberedsubsubsec Writing music in parallel
+@subsubsection Writing music in parallel
 
 @cindex Escribir música en paralelo
 @cindex Música intercalada
index bc545d3835f7a0bd76c8025eba7bfe9bb0c59369..61a8e0def400a6d1f6f29c480dbc7f50d92bfe78 100644 (file)
@@ -1,7 +1,7 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 @c This file is part of lilypond.tely
 @ignore
-    Translation of GIT committish: d9b4bfc69674eb4ed7b8c6eaa0b646f00eae6c8d
+    Translation of GIT committish: 66dde21fe63499f32a718f6098abe70e1429059b
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  See TRANSLATION for details.
index 16bfd638f2432000c0c10c23e820ba8617af3827..72fc06c7d403e1d48cdcf418ce2962f6da6b7b37 100644 (file)
@@ -1,6 +1,6 @@
 @c -*- coding: utf-8; mode: texinfo; -*-
 @ignore
-    Translation of GIT committish: 459d5b872a370b53f61e747784fb56cf23f56e4b
+    Translation of GIT committish: 2607a3536733d8d4a1e74176027a5cb01d4e776a
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  See TRANSLATION for details.
@@ -27,7 +27,7 @@ staff = singular, staves = plural
 @end menu
 
 @node System start delimiters
-@unnumberedsubsubsec System start delimiters
+@subsubsection System start delimiters
 
 @cindex comienzo del sistema
 @cindex Pentagramas, varios
@@ -115,7 +115,7 @@ Los delimitadores del comienzo del sistema se pueden anidar muchas veces:
 
 
 @node Staff symbol
-@unnumberedsubsubsec Staff symbol
+@subsubsection Staff symbol
 
 @cindex ajuste del símbolo del pentagrama
 
@@ -162,7 +162,7 @@ Ejemplos: @lsrdir{staff}
 
 
 @node Hiding staves
-@unnumberedsubsubsec Hiding staves
+@subsubsection Hiding staves
 
 @cindex Francesa, partituras a la
 @cindex Ocultación de pentagramas
@@ -220,7 +220,7 @@ francesa.
 @end menu
 
 @node Metronome marks
-@unnumberedsubsubsec Metronome marks
+@subsubsection Metronome marks
 
 @cindex Tempo
 @cindex pulsos por minuto
@@ -280,7 +280,7 @@ más lejos del pentagrama.
 
 
 @node Instrument names
-@unnumberedsubsubsec Instrument names
+@subsubsection Instrument names
 
 En una partitura orquestal, los nombres de los instrumentos se imprimen en el lado izquierdo
 de los pentagramas.
@@ -382,7 +382,7 @@ Referencia del programa: @internalsref{InstrumentName}.
 
 
 @node Quoting other voices
-@unnumberedsubsubsec Quoting other voices
+@subsubsection Quoting other voices
 
 @cindex guías
 
@@ -482,7 +482,7 @@ Referencia del programa: @internalsref{QuoteMusic}.
 
 
 @node Formatting cue notes
-@unnumberedsubsubsec Formatting cue notes
+@subsubsection Formatting cue notes
 
 @cindex guía, formateo de las notas
 
index cb997dfc614fcb6f4f29287702f777987ed74d7a..66b953303cb44bf3f7efcc93a82c5a958be032f0 100644 (file)
@@ -1,7 +1,7 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 @c This file is part of lilypond.tely
 @ignore
-    Translation of GIT committish: dab80970d8e89571263d16433aff1e6f878a8f62
+    Translation of GIT committish: 2607a3536733d8d4a1e74176027a5cb01d4e776a
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  See TRANSLATION for details.
@@ -27,7 +27,7 @@ strings.
 @end menu
 
 @node Artificial harmonics (strings)
-@unnumberedsubsubsec Artificial harmonics (strings)
+@subsubsection Artificial harmonics (strings)
 
 @cindex armónicos artificiales
 
index c2d934c91cf13d8b0487cb1225d5967ca3790b66..73db4463cac3a642ed842078bf9a089a66b7f085 100644 (file)
@@ -1,6 +1,6 @@
 @c -*- coding: utf-8; mode: texinfo; -*-
 @ignore
-    Translation of GIT committish: 459d5b872a370b53f61e747784fb56cf23f56e4b
+    Translation of GIT committish: 2607a3536733d8d4a1e74176027a5cb01d4e776a
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  See TRANSLATION for details.
@@ -52,7 +52,7 @@ c'4^\markup { bla \bold bla }
 @end menu
 
 @node Text scripts
-@unnumberedsubsubsec Text scripts
+@subsubsection Text scripts
 
 @cindex Texto, inscripciones de
 @cindex texto, elementos no vacíos de
@@ -108,7 +108,7 @@ Referencia del programa: @internalsref{TextScript}.
 
 
 @node Text and line spanners
-@unnumberedsubsubsec Text and line spanners
+@subsubsection Text and line spanners
 
 Ciertas indicaciones de ejecución, p.ej., @i{rallentando},
 @i{accelerando} y los @i{trinos} se escriben como texto y se extienden
@@ -239,7 +239,7 @@ Ejemplos: @lsr{expressive,line-styles.ly}, @lsr{expressive,line-arrows.ly}
 
 
 @node Text spanners
-@unnumberedsubsubsec Text spanners
+@subsubsection Text spanners
 
 @cindex Texto, objetos de extensión de
 
@@ -290,7 +290,7 @@ Referencia del programa: @internalsref{TextSpanner}.
 
 
 @node Text marks
-@unnumberedsubsubsec Text marks
+@subsubsection Text marks
 
 @cindex coda sobre la línea divisoria
 @cindex segno sobre la línea divisoria
@@ -433,7 +433,7 @@ Referencia del programa: @internalsref{RehearsalMark}.
 
 
 @node New dynamic marks
-@unnumberedsubsubsec New dynamic marks
+@subsubsection New dynamic marks
 
 Es posible imprimir nuevas indicaciones de dinámica o texto que debe ir alineado
 con ellas.  Utilice @code{make-dynamic-script} para crear estas
@@ -481,7 +481,7 @@ boxf = \markup{ \bracket { \dynamic f } }
 @end menu
 
 @node Text markup introduction
-@unnumberedsubsubsec Text markup introduction
+@subsubsection Text markup introduction
 
 @cindex marcado
 @cindex texto, marcado de
@@ -641,7 +641,7 @@ Los errores de sintaxis para el modo de marcado son confusos.
 
 
 @node Nested scores
-@unnumberedsubsubsec Nested scores
+@subsubsection Nested scores
 
 Es posible anidar música dentro de los elementos de marcado, añadiendo un bloque @code{\score}
 a una expresión de marcado.  Dicha partitura debe contener un bloque
@@ -660,7 +660,7 @@ a una expresión de marcado.  Dicha partitura debe contener un bloque
 @end lilypond
 
 @node Page wrapping text
-@unnumberedsubsubsec Page wrapping text
+@subsubsection Page wrapping text
 Dondequiera que se utilice @code{\markup} para escribir un bloque de texto que no se deba dividir,
 se puede usar @code{\markuplines} en el nivel superior del código para introducir líneas de texto
 que se pueden extender sobre varias páginas:
@@ -695,7 +695,7 @@ En este manual: @ref{Overview of text markup list commands},
 @code{\markuplines}
 
 @node Font selection
-@unnumberedsubsubsec Font selection
+@subsubsection Font selection
 
 @cindex fuente tipográfica, selección de la
 @cindex fuente tipográfica, ampliación
index 3c47819a879595a0d15549bdc6c11e6856dc59c0..c9c85cbf7eda10edfc944b4ed40bd908f235eeb6 100644 (file)
@@ -1,7 +1,7 @@
 @c -*- coding: utf-8; mode: texinfo; -*-
 @c This file is part of lilypond.tely
 @ignore
-    Translation of GIT committish: 338edaf1ad2b64605dcdeadb37b4cf17f98fc81a
+    Translation of GIT committish: 13290c3922962e4538d3acaf1f7abe14fce6bbff
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  See TRANSLATION for details.
@@ -15,6 +15,8 @@ configurable; prácticamente todos los fragmentos de la salida se pueden cambiar
 
 
 @menu
+* Tweaking basics::             
+* The Internals Reference manual::  
 * Moving objects::              
 * Fixing overlapping notation::  
 * Common tweaks::               
@@ -24,6 +26,868 @@ configurable; prácticamente todos los fragmentos de la salida se pueden cambiar
 * Avoiding tweaks with slower processing::  
 @end menu
 
+@node Tweaking basics
+@section Tweaking basics
+
+@menu
+* Introduction to tweaks::      
+* Objects and interfaces::      
+* Naming conventions of objects and properties::  
+* Tweaking methods::            
+@end menu
+
+@node Introduction to tweaks
+@subsection Introduction to tweaks
+
+El @q{Trucaje} es un término de LilyPond que denota los diversos
+métodos que el usuario tiene a su disposición para modificar el
+proceso de interpretación del archivo de entrada y cambiar la
+apariencia de la salida impresa.  Algunos trucos son muy fáciles de
+usar; otros son más complejos.  Pero en su conjunto, los métodos de
+trucaje disponibles posibilitan conseguir casi cualquier apariencia
+que deseemos en la música impresa.
+
+En esta sección vamos a estudiar los conceptos básicos que se
+necesitan para comprender el trucaje.  Más tarde daremos un amplio
+abanico de instrucciones listas para usar, que podrá simplemente
+copiar para obtener el mismo efecto en sus partituras, y al mismo
+tiempo mostraremos la forma de construir dichas instrucciones para que
+pueda aprender cómo desarrollar sus propios trucos.
+
+Antes de comenzar con este capítulo, quizá quiera echar un vistazo a
+la sección @ref{Contexts and engravers}, pues los Contextos, los
+Grabadores y las Propiedades que se contienen en ellos son
+fundamentales para comprender y construir los trucos.
+
+@node Objects and interfaces
+@subsection Objects and interfaces
+
+@cindex objetos
+@cindex grobs
+@cindex selectores
+@cindex interfaces
+
+El trucaje consiste en modificar el funcionamiento y estructura
+interna del programa LilyPond, por lo que en primer lugar
+introduciremos algunos términos que se usan para describir dichas
+operaciones y estructuras internas.
+
+El término @q{Objeto} es un término genérico que se usa para referirse
+a la multitud de estructuras internas que LilyPond construye durante
+el procesado de un archivo de entrada.  Así, cuando se encuentra una
+instrucción como @code{\new Staff}, se construye un objeto nuevo del
+tipo @code{Staff}.  Entonces, este objeto @code{Staff} contiene todas
+las propiedades asociadas con ese pentagrama en particular, por
+ejemplo, su nombre y su armadura, además de otros detalles de los
+grabadores que se han asignado para que operen dentro del contexto del
+pentagrama.  De forma similar, hay objetos que guardan las propieades
+de todos los demás contextos, como objetos de @code{Voice}, objetos de
+@code{Score}, objetos de @code{Lyrics}, así como objetos que
+representan todos los elementos notacionales como líneas divisorias,
+cabezas de las notas, ligaduras, indicaciones dinámicas, etc.  Cada
+objeto tiene su propio conjunto de valores de propiedad.
+
+Ciertos tipos de objetos reciben nombres especiales.  Los objetos que
+representan elementos de notación sobre la salida impresa como cabezas
+de notas, plicas, ligaduras de expresión y de unión, digitaciones,
+claves, etc. reciben el nombre de @q{Objetos de presentación}, a
+menudo conocidos como @q{Objetos gráficos}, o abreviadamente
+@q{Grobs}.  Aún son objetos en el sentido genérico que hemos
+mencionado, y también todos ellos tienen propiedades asociadas, como
+su posición, tamaño, color,etc.
+
+Ciertos objetos de presentación son aún más especializados.  Las
+ligaduras de fraseo, los reguladores, las indicaciones de octava alta
+y baja, y muchos otros objetos gráficos no están situados en un solo
+lugar: tienen un punto de inicio, un punto de final, y quizá otras
+propiedades relacionadas con su forma.  Los objetos con una forma
+extendida como estos, reciben el nombre de «Objetos de extensión» o
+@q{Spanners}.
+
+Aún falta por explicar qué son los @q{Interfaces}.  Muchos objetos,
+incluso aunque son bastante diferentes, comparten funcionalidades que
+se deben procesar de la misma manera.  Por ejemplo, todos los objetos
+gráficos tienen un color, un tamaño, una posición, etc., y todas estas
+propiedades se procesan de la misma forma durante la interpretación
+del archivo de entrada por parte de LilyPond.  Para simplificar estas
+operaciones internas, estas acciones t propiedades comunes se agrupan
+en un objeto llamado @code{grob-interface}, interface de grob.  Hay
+muchas otras agrupaciones de propiedades comunes como ésta, y cada
+unoa recibe un nombre que acaba en @code{interface}.  En total hay más
+de 100 interfaces de éstos.  Veremos más adelante porqué esto es del
+interés y de utilidad para el usuario.
+
+Estos son, en fin, los términos principales relativos a los objetos
+que vamos a utilizar en este capítulo.
+
+@node Naming conventions of objects and properties
+@subsection Naming conventions of objects and properties
+
+Ya hemos visto ciertas convenciones de nomenclatura de objetos, en la
+sección @ref{Contexts and engravers}.  En este lugar, para más fácil
+referencia, presentamos una lista de los tipos de objetos y
+propiedades más comunes, junto con las convenciones según las cuales
+reciben su nombre, y un par de ejemplos de nombres reales.  Hemos
+utilizado una «A» mayúscula para denotar cualquier carácter alfabético
+en mayúsculas, y «aaa» para cualquier número de caracteres alfabéticos
+en minúscula.  Otros caracteres se utilizan literalmente como están.
+
+@multitable @columnfractions .33 .33 .33
+@headitem Objeto o tipo de propiedad
+  @tab Convención de nomenclatura
+  @tab Ejemplo
+@item Contextos
+  @tab Aaaa o AaaaAaaaAaaa
+  @tab Staff, GrandStaff
+@item Objetos de presentación
+  @tab Aaaa o AaaaAaaaAaaa
+  @tab Slur, NoteHead
+@item Grabadores
+  @tab Aaaa_aaa_engraver
+  @tab Clef_engraver, Note_heads_engraver
+@item Interfaces
+  @tab aaa-aaa-interface
+  @tab grob-interface, break-aligned-interface 
+@item Propiedades de contextos
+  @tab aaa o aaaAaaaAaaa
+  @tab alignAboveContext, skipBars
+@item Propiedades de objetos de presentación
+  @tab aaa o aaa-aaa-aaa
+  @tab direction, beam-thickness
+@end multitable
+
+Como podremos ver en breve, las propiedades de distintos tipos de
+objeto se modifican por parte de diferentes instrucciones; así pues,
+es útil poder reconocer el tipo de objeto a partir de sus nombres de
+propiedad.
+
+@node Tweaking methods
+@subsection Tweaking methods
+
+@strong{La instrucción \override}
+
+@cindex override, instrucción
+@funindex \override
+
+Ya hemos visto las instrucciones @code{\set} y @code{\with}, que se
+usan para cambiar las propiedades de los @strong{contextos} y para
+quitar y poner @strong{grabadores}, en @ref{Modifying context
+properties} y @ref{Adding and removing engravers}.  Ahora debemos
+examinar algunas instrucciones importantes más.
+
+La instrucción que cambia las propiedades de los @strong{objetos de
+presentación} es @code{\override}.  Puesto que esta instrucción debe
+modificar propiedades internas que se encuentran en un lugar profundo
+dentro de LilyPond, su sintaxis no es tan simple como la del resto de
+las instrucciones que hemos visto hasta ahora.  Tiene que saber
+exactamente qué propiedad de qué objeto y en qué contexto se debe
+modificar, y cuál debe ser su nuevo valor.  Veamos cómo se hace.
+
+La sintaxis genérica de esta instrucción es:
+
+@example
+\override @emph{contexto}.@emph{objeto_de_presentación} 
+  #'@emph{propiedad_de_presentación} = #@emph{valor}
+@end example
+
+@noindent
+Esto establecerá la propiedad de nombre
+@emph{propiedad_de_presentación} del objeto de presentación con el
+nombre @emph{objeto_de_presentación}, que es miembro del contexto
+@emph{contexto}, al valor @emph{valor}.
+
+El @emph{contexto} se puede omitir (y normalmente así es) cuando el
+contexto requerido se encuentra implicado sin ambigüedad y es uno de
+los contextos del nivel más bajo, es decir: @code{Voice},
+@code{ChordNames} o @code{Lyrics}, y lo omitiremos en muchos de los
+ejemplos siguientes.  Veremos más tarde cuándo se debe especificar.
+
+Las últimas secciones tratan de forma exhaustiva las propiedades y sus
+valores, pero para ilustrar el formato y utilización de estas
+iinstrucciones usaremos sólo unas cuantas propiedades y valores
+sencillos que sean fáciles de entender.
+
+Por ahora no se preocupe por el @code{#'}, que debe anteponerse a la
+propiedad de presentación, y el @code{#}, que debe preceder al valor.
+Deben estar presentes siempre y de esa forma exacta.  Es la
+instrucción de uso más común dentro del trucaje, y durante la mayor
+parte del resto de este capítulo presentaremos ejemplos de cómo se
+usa.  A continuación hay un ejemplo sencillo para cambiar el color de
+una cabeza:
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=1]
+c d
+\override NoteHead #'color = #red
+e f g
+\override NoteHead #'color = #green
+a b c
+@end lilypond
+
+@strong{La instrucción \revert}
+
+@cindex revert, instrucción
+@funindex \revert
+
+Una vez sobreescrita, la proopiedad retiene su nuevo valor hasta que
+se sobreescribe de nuevo o se encuentra una instrucción
+@code{\revert}.  La instrucción @code{\revert} tiene la siguiente
+sintaxis y ocasiona que el valor de la propiedad se devuelva a su
+valor predeterminado original; observe que no es a su valor previo si
+se han utilizado varias instrucciones @code{\override}.
+
+@example
+\revert @emph{contexto}.@emph{objeto_de_presentación} #'@emph{propiedad_de_presentación}
+@end example
+
+Una vez más, igual que @emph{contexto} dentro de la instrucción
+@code{\override}, con frecuencia no es necesario especificar el
+@emph{contexto}.  Se omitirá en muchos de los ejemplos siguientes.
+Aquí devolvemos el color de la cabeza al valor predeterminado para las
+dos últimas notas:
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=1]
+c d
+\override NoteHead #'color = #red
+e f g
+\override NoteHead #'color = #green
+a
+\revert NoteHead #'color
+b c
+@end lilypond
+
+@strong{El prefijo \once}
+
+Tanto la instrucción @code{\override} como @code{\set} se pueden
+preceder por @code{\once}.  Esto ocasiona que la siguiente instrucción
+@code{\override} o @code{\set} sea efectiva solamente durante el
+tiempo musical en curso y antes de que la propiedad vuelva a tener
+otra vez su valor predeterminado.  Utilizando el mismo ejemplo,
+podemos cambiar el color de una sola nota de la siguiente manera:
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=1]
+c d
+\once \override NoteHead #'color = #red
+e f g
+\once \override NoteHead #'color = #green
+a b c
+@end lilypond
+
+@strong{La instrucción \overrideProperty}
+
+@cindex overrideProperty, instrucción
+@funindex \overrideProperty
+
+Hay otra forma para la instrucción de sobreescritura,
+@code{\overrideProperty}, que ocasionalmente es necesaria.  La
+mencionamos aquí con un propósito de exhaustividad, pero para ver más
+detalles consulte @ruser{Difficult tweaks}.
+@c Maybe explain in a later iteration  -td
+
+@strong{La instrucción \tweak}
+
+@cindex tweak, instrucción
+@funindex \tweak
+
+La última instrucción de trucaje que está disponible es @code{\tweak}.
+Se debe utilizar para cambiar las propiedades de objetos que suceden
+en el mismo momento musical, como las notas de un acorde.  El uso de
+@code{\override} para la sobreescritura afectaría a todas las notas
+del acorde, mientras que @code{\tweak} afecta solamente al siguiente
+elemento del flujo de entrada.
+
+He aquí un ejemplo.  Suponga que queremos cambiar el tamaño de la nota
+intermedia (el Mi) en un acorde de Do mayor.  En primer lugar, veamos
+lo que haría @code{\once \override}:
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=1]
+  <c e g>4
+  \once \override NoteHead #'font-size = #-3
+  <c e g>
+  <c e g>
+@end lilypond
+
+Vemos que la sobreescritura con override afecta a @emph{todas} las
+notas del acorde.  Esto es así porque todas las notas de un acorde
+ocurren en el mismo @emph{momento musical}, y la acción de
+@code{\once} es aplicar la sobreescritura a todos los oobjetos de
+presentación del tipo especificado que ocurren en el mismo momento
+musical que la propia instrucción de sobreescritura @code{\override}.
+
+LA instrucción @code{\tweak} opera de una forma distinta.  Actúa sobre
+el elemento inmediatamente siguiente dentro del flujjo de entrada.
+Sin embargo, es efectivo solamente sobre objetos que se crean
+directamente a partir del flujo de entrada, en esencia las cabezas y
+las articulaciones (los objetos como las plicas y las alteraciones se
+crean con posterioridad y no se pueden trucar de esta forma).  Es más,
+cuando se aplica a las cabezas de las notas, éstas @emph{deben} estar
+dentro de un acorde, es decir, dentro de ángulos simples, así que para
+trucar una sola nota la instrucción @code{\tweak} se debe colocar
+dentro de ángulos simples junto con la nota.
+
+Así pues, volviendo a nuestro ejemplo, el tamaño de la nota intermedia
+se cambiaría de la siguiente forma:
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=1]
+  <c e g>4
+  <c \tweak #'font-size #-3 e g>4
+@end lilypond
+
+Observe que la sintaxis de @code{\tweak} es diferente de la de la
+instrucción @code{\override}.  Ni el contexto ni el objeto de
+presentación se deben especificar; de hecho, generaría un error
+hacerlo.  Los dos están implícitos por el siguiente elemento del flujo
+de entrada.  Así que la sintaxis genérica de la instrucción
+@code{\tweak} es, simmplemente:
+
+@example
+\tweak #'@emph{propiedad_de_presentación} = #@emph{valor}
+@end example
+
+Una instrucción @code{\tweak} también se puede usar para modificar
+sólo una de una serie de articulaciones, como se muestra aquí:
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+a ^Black
+  -\tweak #'color #red ^Red
+  -\tweak #'color #green _Green
+@end lilypond
+
+Observe que la instrucción @code{\tweak} debe venir precedida de una
+marca de articulación como si ella misma fuera una articulación.
+
+@cindex grupos especiales anidados
+@cindex tresillos anidados
+@cindex corchete del grupo especial
+@cindex grupo especial, corchete de
+@cindex tresillo, corchete de
+@funindex TupletBracket
+
+La instrucción @code{\tweak} también se debe usar para cambiar la
+apariencia de uno solo de un conjunto de grupos especiales anidados
+que comiencen en el mismo instante musical.  En el siguiente ejemplo,
+el corchete del tresillo largo y el primero de los tres corchetes
+cortos empiezan en el mismo momento musical, y por ello cualquier
+instrucción @code{\override} se aplicaría a los dos.  En el ejemplo se
+usa @code{\tweak} para distinguir entre ellos.  La primera instrucción
+@code{\tweak} especifica que el corchete del tresillo largo se debe
+colocar por encima de las notas y el segundo especifica que el número
+del tresillo se debe imprimir en rojo sobre el corchete del primer
+tresillo corto.
+
+@lilypond[quote,ragged-right,verbatim,fragment,relative=2]
+\tweak #'direction #up
+\times 4/3 {
+  \tweak #'color #red
+  \times 2/3 { c8[ c8 c8] }
+  \times 2/3 { c8[ c8 c8] }
+  \times 2/3 { c8[ c8 c8] }
+}
+@end lilypond
+
+Encontrará más detalles de la instrucción @code{\tweak} en
+@ruser{Objects connected to the input}.
+
+Si los grupos anidados no comienzan en el mismo momento, su apariencia
+se puede modificar de la forma usual mediante instrucciones
+@code{\override}:
+
+@c NOTE Tuplet brackets collide if notes are high on staff
+@c See issue 509
+@lilypond[quote,ragged-right,verbatim,fragment,relative=1]
+\times 2/3 { c8[ c c]}
+\once \override TupletNumber 
+  #'text = #tuplet-number::calc-fraction-text
+\times 2/3 {
+  c[ c]
+  c[ c]
+  \once \override TupletNumber #'transparent = ##t
+  \times 2/3 { c8[ c c] }
+\times 2/3 { c8[ c c]}
+}
+@end lilypond
+
+@node The Internals Reference manual
+@section The Internals Reference manual
+
+@cindex Internals Reference
+
+@menu
+* Properties of layout objects::  
+* Properties found in interfaces::  
+* Types of properties::         
+@end menu
+
+@node Properties of layout objects
+@subsection Properties of layout objects
+
+@cindex propiedades de los objetos de presentación
+@cindex propiedades de los grobs
+@cindex grobs, propiedades de
+@cindex presentación, propiedades de los objetos de
+
+Suponga que tiene una partitura con una ligadura de expresión que para
+su gusto es demasiado fina y quiere trazarla un poco más gruesa. ¿Cómo
+debe proceder?  Ya sabe, por las afirmaciones anteriores acerca de la
+flexibilidad de LilyPond, que tal posibilidad existe, y seguramente
+piensa que una cierta instrucción de sobreescritura @code{\override}
+será necesaria.  Pero ¿existe una propiedad de grosor para las
+ligaduras? y, si la hay, ¿cómo se puede modificar?  Aquí es donde
+interviene el Manual de Funcionamiento Interno.  Contiene toda la
+información que puede necesitar para construir ésta y todas las demás
+instrucciones @code{\override}, de sobreescritura.
+
+Una advertencia antes de dirigir nuestra mirada a la referencia de
+funcionamiento interno.  Éste es un documento de @strong{referencia},
+lo que significa que hay pocas o ninguna explicación en él: su
+propósito es presentar la información de forma precisa y concisa.  Por
+tanto, podrá parecerle desalentador a primera vista.  ¡No se preocupe!
+La guía y las explicaciones que presentamos aquí le permitirán extraer
+la información de la referencia de funcionamiento interno por sí mismo
+con tan sólo algo de práctica.
+
+@cindex sobreescritura, ejemplo de
+@cindex Referencia de Funcionamiento Interno, ejemplo de utilización
+
+Utilicemos un ejemplo concreto con un sencillo fragmento de música
+real:
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+{
+  \time 6/8
+  {
+    r4 b8 b[( g]) g | 
+    g[( e]) e d[( f]) a | 
+    a g
+  }
+  \addlyrics {
+    The man who feels love's sweet e -- mo -- tion 
+  }
+}
+@end lilypond 
+
+Suponga ahora que decidimos que nos gustan las ligaduras algo más
+gruesas.  ¿Es posible?  La ligadura es, ciertamente, un objeto de
+presentación, así que la cuestión es @q{¿Hay una propiedad
+perteneciente a las ligaduras de expresión que controle su grosor?}
+Para responder a esta pregunta debemos mirar el manual de Referencia
+de Funcionamiento Interno, abreviadamente RFI@footnote{@strong{IR}
+(Internals Reference) en inglés}.
+
+El RFI de la versión de LilyPond que está usando se puede encontrar en
+la página web de LilyPond en @uref{http://lilypond.org}.  Vaya a la
+página de la documentación y siga el enlace Manual de Referencia de
+Funcionamiento Interno (RFI).  Para nuestros propósitos pedagógicos
+sería mejor que utilizase la versión html, no la @q{en una sola
+página} ni el PDF.  Para que los siguientes párrafos tengan algún
+sentido deberá consultarlo realmente al tiempo que lee.
+
+@c Link names in English as these pages are not yet translated
+Bajo el encabezamiento @strong{Top} podrá ver cinco enlaces.
+Seleccione el enlace @emph{Backend}, que es donde se encuentra la
+información sobre los objetos de presentación.  Una vez allí, bajo el
+encabezamiento @strong{Backend}, siga el enlace @emph{All layout
+objects}.  La página que aparece relaciona todos los objetos de
+presentación que se usan en su versión de LilyPond, en orden
+alfabético.  Siga el enlace Slur (ligadura de expresión), y aparecerán
+relacionadas las propiedades de las ligaduras de expresión o Slurs.
+
+(Una forma alternativa de encontrar esta página es a partir de la
+Referencia de la Notación.  En una de las páginas que tratan de las
+ligaduras de expresión podrá encontrar un enlace al manual de
+referencia del funcioonamiento interno.  Este enlace le llevará
+directamente a esta página, aunque con frecuencia es más fácil ir
+directamente al RFI y buscar allí.)
+
+Esta página sobre las ligaduras de expresión dentro del manual RFI nos
+dice en primer lugar que los objetos Slur se crean por el grabador
+Slur_engraver.  A continuación relaciona los ajustes estándar.
+Observe que @strong{no} están en orden alfabético.  Navegue hacia
+abajo buscando una propiedad que pudiera controlar el grosor de las
+ligaduras, y encontrará
+
+@example
+@code{thickness} (number)
+     @code{1.2}
+     Line thickness, generally measured in @code{line-thickness}
+@end example
+
+Esto promete ser una buena opción para cambiar el grosor.  Nos dice
+que el valor de @code{thickness} es un simple @emph{número}, que el
+valor predeterminado es 1.2, y que las unidades están dentro de otra
+propiedad llamada @code{line-thickness}.
+
+Como dijimos con anterioridad, existen entre pocas y ninguna
+explicación en el RFI, pero ya tenemos información suficiente para
+probar a cambiar el grosor de la ligadura.  Vemos que el nombre del
+objeto de presentación es @code{Slur}, que el nombre de la propiedad
+que debemos cambiar es @code{thickness} y que el nuevo valor debe ser
+un número algo más grande que 1.2 si queremos hacer las ligaduras más
+gruesas.
+
+Ahora podemos construir la instrucción de sobreescritura
+@code{\override} simplemente mediante la sustitución de los valores
+que hemos encontrado para los nombres, omitiendo el contexto.
+Usaremos un valor muy grande para el grosor al principio, para estar
+seguros de que la instrucción está funcionando.  Obtenemos lo
+siguiente:
+
+@example
+\override Slur #'thickness = #5.0
+@end example 
+
+¡No olvide el @code{#'} antes del nombre de la propiedad y @code{#}
+antes del valor nuevo!
+
+La pregunta final es @q{¿Dónde se debe colocar esta instrucción?}
+Aunque nos falta seguridad y estamos todavía aprendiendo, la mejor
+respuesta es: @q{Dentro de la música, antes de la primera ligadura y
+cerca de ella.}  Hagámoslo así:
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+{
+  \time 6/8
+  {
+    % Increase thickness of all following slurs from 1.2 to 5.0
+    \override Slur #'thickness = #5.0
+    r4 b8 b[( g]) g |
+    g[( e]) e d[( f]) a |
+    a g
+  }
+  \addlyrics {
+    The man who feels love's sweet e -- mo -- tion 
+  }
+}
+@end lilypond 
+
+@noindent
+y podemos ver que la ligadura, es sin duda, más pesada.
+
+Así pues, ésta es la forma básica de construir instrucciones
+@code{\override} o de sobreescritura.  Existen unas cuantas
+complicaciones más con las que nos encontraremos en secciones
+posteriores, pero ahora conoce todos los principios esenciales que
+necesita para hacerlo por sí mismo (aunque aún necesita algo de
+práctica).  La cual vendrá proporcionada por los ejemplos que vienen a
+continuación.
+
+@subheading Finding the context
+@cindex contexto, encontrar
+
+Pero en primer lugar ¿qué habría pasado si hubiésemos tenido que
+especificar el contexto? ¿Cuál sería?  Podemos suponer que las
+ligaduras están en el contexto de Voz, por estar claramente asociados
+de manera estrecha con las líneas individuales de música, pero
+¿podemos estar seguros?  Para averiguarlo, vayamos de nuevo al inicio
+de la página del RFI que describe las ligaduras (Slur), donde dice
+@q{Slur objects are created by: Slur engraver} («Los objetos de
+ligadura de expresión se crean por: el grabador Slur»).  Así pues, las
+ligaduras de expresión se crean en cualquier contexto en el que se
+encuentre el grabador @code{Slur_engraver}.  Siga el enlace a la
+página del grabador @code{Slur_engraver}.  Al final del todo, dice que
+el grabador @code{Slur_engraver} es parte de cinco contextos de voz,
+incluido el contexto de voz estándar, @code{Voice}, por lo que nuestra
+suposición era acertada.  Y a causa de que @code{Voice} es uno de los
+contextos de más bajo nivel que se encuentra implícito sin ambigüedad
+por el hecho de que estamos escribiendo notas, podemos omitirlo en
+este lugar concreto.
+
+@subheading Overriding once only
+
+@cindex sobreescritura por una sola vez
+@cindex once override
+@funindex \once
+
+Como puede ver, @emph{todas} las ligaduras son más gruesas en el
+último ejemplo.  Pero ¿y si quisiéramos que solamente la primera
+ligadura fuese más gruesa?  Esto se consigue con la instrucción o
+prefijo @code{\once}.  Colocado inmediatamente antes de la instrucción
+@code{\override} ocasiona que solamente cambie la ligadura que
+comienza en la nota @strong{inmediata siguiente}.  Si la nota
+inmediata siguiente no da inicio a una ligadura, la instrucción no
+tiene niingún efecto en absoluto: no se recuerda hasta que se
+encuentre alguna ligadura, sino que simplemente se ignora.  Así pues,
+la instrucción que lleva @code{\once} se debe reposicionar de la forma
+siguiente:
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+{
+  \time 6/8
+  {
+    r4 b8
+    % Increase thickness of immediately following slur only
+    \once \override Slur #'thickness = #5.0
+    b[( g]) g | 
+    g[( e]) e d[( f]) a | 
+    a g 
+  }
+  \addlyrics {
+    The man who feels love's sweet e -- mo -- tion 
+  }
+}
+@end lilypond 
+
+@noindent
+Hemos hecho que ahora solamente la primera ligadura sea más gruesa.
+
+La instrucción o prefijo @code{\once} también se puede usar antes de
+la instrucción @code{\set}.
+
+@subheading Reverting
+
+@cindex revert
+@cindex predeterminadas, devolver a las propiedades
+@funindex \revert
+
+Finalmente ¿y si quisiéramos que solamente las dos primeras ligaduras
+fuesen más gruesas?  En fin; podríamos usar dos instrucciones, cada
+una de ellas precedida por el prefijo @code{\once}, situadas
+inmediatamente antes de cada una de las notas en que comienzan las
+ligaduras:
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+{
+  \time 6/8
+  {
+    r4 b8
+    % Increase thickness of immediately following slur only
+    \once \override Slur #'thickness = #5.0
+    b[( g]) g |
+    % Increase thickness of immediately following slur only
+    \once \override Slur #'thickness = #5.0
+    g[( e]) e d[( f]) a | 
+    a g
+  }
+  \addlyrics {
+    The man who feels love's sweet e -- mo -- tion 
+  }
+}
+@end lilypond 
+
+@noindent
+o podríamos omitir la instrucción prefija @code{\once} y utilizar la
+instrucción @code{\revert} (restablecer) para devolver la propiedad
+del grosor, @code{thickness}, a su valor predeterminado después de la
+segunda ligadura:
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+{
+  \time 6/8
+  {
+    r4 b8
+    % Increase thickness of all following slurs from 1.2 to 5.0
+    \override Slur #'thickness = #5.0
+    b[( g]) g |
+    g[( e]) 
+    % Revert thickness of all following slurs to default of 1.2
+    \revert Slur #'thickness
+    e d[( f]) a | 
+    a g
+  }
+  \addlyrics {
+    The man who feels love's sweet e -- mo -- tion 
+  }
+}
+@end lilypond
+
+@noindent
+la instrucción @code{\revert} se puede utilizar para devolver
+cualquier propiedad que se haya cambiado con @code{\override} a su
+valor predeterminado.  Puede utilizar el método que mejor se adapte a
+aquello que quere hacer.
+
+Así finaliza nuestra introducción al manual de RFI, y el método básico
+de trucaje.  A continuación, en las últimas secciones de este capítulo
+encontrará varios ejemplos, en parte para introducirle en algunas de
+las posibilidades adicionales del manual RFI, y en parte para
+proporcionarle más práctica en cómo extraer información de él.  Estos
+ejemplos irán conteniendo cada vez menos palabras de guía y
+explicación.
+
+@node Properties found in interfaces
+@subsection Properties found in interfaces
+
+@cindex propiedades de los interfaces
+@cindex interfaces, propiedades
+
+Suponga ahora que queremos imprimir la letra de la canción en cursiva.
+¿Qué forma de instrucción @code{\override} necesitamos para hacerlo?
+En primer lugar miramos en la página del RFI que relaciona todos los
+objetos, @q{All layout objects}, como antes, y buscamos un objeto que
+pueda conteolar la letra de la canción.  Encontramos @code{LyricText},
+que parece adecuado.  Al seguir este enlace se presentan las
+propiedades ajustables para el texto de la letra.  Estos incluyen
+@code{font-series} y @code{font-size}, pero nada que pudiera aplicar
+una forma cursiva.  Esto es porque la propiedad de la forma es común a
+todos los objetos de fuente tipográfica, y por tanto, en vez de
+incluirlo en cada uno de los objetos de preesentación, se agrupa junto
+con otras propiedades comunes similares y se deposita en un
+@strong{Interface}, el interface de las fuentes tipográficas
+@code{font-interface}.
+
+Por tanto, ahora necesitamos aprender cómo encontrar las propiedades
+de los interfaces, y descubrir qué objetos usan estas propiedades de
+interface.
+
+Mire de nuevo la página del RFI que decribe a LyricText.  Al final de
+la página hay una lista de enlaces (en las versiones de html del RFI)
+a los interfaces que LyricText contempla.  La lista tiene siete
+elementos, entre ellos @code{font-interface}.  Al seguir este enlace
+llegamos a las propiedades asociadas con este interface, que también
+son propiedades de todos los objetos que lo llevan, entre ellos
+LyricText.
+
+Ahora vemos todas las propiedades ajustables por el usuario que
+controlan las tipografías, entre ellas @code{font-shape(symbol)},
+donde @code{symbol} se puede establecer a @code{upright} (recta),
+@code{italics} (cursiva)o @code{caps} (mayúsculas pequeñas).
+
+Observará que @code{font-series} y @code{font-size} también se
+encuentran aquí relacionadas.  Esto inmediatamente hace que surja la
+pregunta: ¿Por qué están las propiedades comunes de tipografía
+@code{font-series} y @code{font-size} relacionadas bajo
+@code{LyricText} así como bajo el interface @code{font-interface} pero
+@code{font-shape} no lo está?  La respuesta es que @code{font-series}
+y @code{font-size} se cambian a partir de sus valores predeterminados
+globales cuando se crea un objeto @code{LyricText}, pero
+@code{font-shape} no lo hace.  Entonces los elementos de la lista
+@code{LyricText} le dicen los valores para esas dos propiedades que
+son de aplicación para @code{LyricText}.  Otros objetos que contemplan
+@code{font-interface} establecerán dichas propiedades de forma
+diferente cuando se crean.
+
+Veamos si ahora podemos construir la instrucción @code{\override} para
+cambiar la letra a cursiva.  El objeto es @code{LyricText}, la
+propiedad es @code{font-shape} y el valor es @code{italic}.  Igual que
+antes, omitiremos el contexto.
+
+Como nota aparte, aunque una nota importante, observe que a causa de
+que los valores de @code{font-shape} son símbolos, deben ir precedidos
+de un apóstrofe, @code{'}.  Esa es la razón por la que se necesitan
+apóstrofes antes de @code{thickness} en el ejemplo anterior y en
+@code{font-shape}.  Los dos son también símbolos.  Los símbolos son
+nombres especiales que son conocidos por LilyPond internamente.
+Algunos de ellos son nombres de propiedades, como @code{thickness} o
+@code{font-shape}, otros son en efecto valores especiales que se les
+puede dar a las propiedades, como @code{italic}.  Observe la
+distincion entre esto y las cadenas de texto arbitrarias, que
+aparecerían entrecomilladas como @code{"a text string"}.
+
+De acuerdo, entonces la instrucción @code{\override} que necesitamos
+para imprimir la letra en cursiva sería
+
+@example
+\override LyricText #'font-shape = #'italic
+@end example
+
+@noindent
+y debe colocarse justo delante de, y cerca de, la letra a la que debe
+afectar, como esto:
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+{
+  \time 6/8
+  {
+    r4 b8 b[( g]) g |
+    g[( e]) e d[( f]) a |
+    a g
+  }
+  \addlyrics {
+    \override LyricText #'font-shape = #'italic
+    The man who feels love's sweet e -- mo -- tion 
+  }
+}
+@end lilypond
+
+@noindent
+y toda la letra se imprime en cursiva.
+
+@subheading Specifying the context in lyric mode
+@cindex contexto, especificación en modo letra
+
+En el caso de la letra, si intenta especificar el contexto en el
+formato que acabamnos de dar, la instrucción no funcionará.  Una
+sílaba escrita en el modo letra, «lyricmode» temina en un espacio, un
+salto de línea o un dígito.  Cualquier otro carácter se incluye como
+parte de la sílaba.  Por esta razón, un espacio o salto de línea debe
+aparecer antes del último símbolo @code{@}} para evitar que se incluya
+como parte de la sílaba final.  De forma similar, se deben insertar
+espacios antes y después del punto, @q{.}, separando el nombre del
+contexto del nombre del objeto, pues en caso contrario los dos nombres
+se juntarán y el intérprete no podrá reconocerlos.  Así pues, la
+instrucción será:
+
+@example
+\override Lyrics . LyricText #'font-shape = #'italic
+@end example
+
+@warning{Dentro de la letra, deje siempre espacios entre la sílaba
+final y la llave de cierre.}
+
+@warning{En las sobreescrituras con override dentro de la letra,
+escriba siempre espacios antes y después del punto que separa el
+nombre del contexto y el nombre del objeto.}
+
+@node Types of properties
+@subsection Types of properties
+
+@cindex propiedades, tipos de
+
+Hasta ahora hemos visto dos tipos de propiedad:: @code{número} y
+@code{símbolo}.  Para que sea válido, el valor que se da a una
+propiedad debe ser del tipo correcto y obedecer las reglas de dicho
+tipo.  El tipo de la propiedad se muestra siempre entre paréntesis
+después del nombre de la propiedad en el RFI.  He aquí una lista de
+los tipos que podrá necesitar, junto con las reglas de dicho tipo, y
+algunos ejemplos.  Debe escribir siempre un símbolo de almohadilla,
+@code{#}, por supuesto, delante de estos valores cuando se introducen
+en la instrucción @code{\override}.
+
+@multitable @columnfractions .2 .45 .35
+@headitem Tipo de propiedad
+  @tab Reglas
+  @tab Ejemplos
+@item Booleano
+  @tab Verdadero o Falso, representado por #t o #f
+  @tab @code{#t}, @code{#f}
+@item Dimensión (en espacios de pentagrama)
+  @tab Un número decimal positivo (en unidades de espacios de pentagrama)
+  @tab @code{2.5}, @code{0.34}
+@item Dirección
+  @tab Una constante válida de dirección o su equivalente numérico
+  @tab @code{#LEFT}, @code{#CENTER}, @code{#UP},
+       @code{1}, @code{-1}
+@item Entero
+  @tab Un número entero positivo
+  @tab @code{3}, @code{1}
+@item Lista
+  @tab Un conjunto de elementos entre paréntesis separados por espacios y precedido de un apóstrofe
+  @tab @code{'(left-edge staff-bar)}, @code{'(1)},
+       @code{'(1.0 0.25 0.5)}
+@item Marcado
+  @tab Cualquier elemento válido de marcado de texto
+  @tab @code{\markup @{ \italic "cresc." @}}
+@item Momento
+  @tab Una fracción de redonda construida con la función make-moment
+  @tab @code{(ly:make-moment 1 4)},
+       @code{(ly:make-moment 3 8)}
+@item Número
+  @tab Cualquier valor decimal positivo o negativo
+  @tab @code{3.5}, @code{-2.45}
+@item Pareja (de números)
+  @tab Dos números separados por un @q{espacio . espacio}, encerrado entre paréntesis y precedido de un apóstrofe
+  @tab @code{'(2 . 3.5)}, @code{'(0.1 . -3.2)}
+@item Símbolo
+  @tab Cualquiera del conjunto de símbolos premitidos para esa propiedad, precedido de un apóstrofe
+  @tab @code{'italic}, @code{'inside}
+@item Desconocido
+  @tab Un procedimiento o @code{#f} (para no producir ninguna acción)
+  @tab @code{bend::print}, @code{ly:text-interface::print},
+       @code{#f}
+@item Vector
+  @tab Una lista de tres elementos encerrados entre paréntesis y precedida de una almohadilla, @code{#}.
+  @tab @code{#(#t #t #f)}
+@end multitable
+
 
 @node Moving objects
 @section Moving objects
@@ -281,7 +1145,7 @@ y se le pueden adjuntar ligaduras de unión o de expresión y barras de corchea.
 @cindex quitar objetos
 @cindex ocultar objetos
 @cindex objetos invisibles
-El ejemplo siguientes demuestra cómo conectar distintas voces
+El ejemplo siguiente demuestra cómo conectar distintas voces
 utilizando ligaduras.  Normalmente las ligaduras sólo unen dos notas de la misma voz.
 Al introducir una ligadura en una voz distinta,
 
@@ -333,6 +1197,15 @@ se mide en espacios de pentagrama.  Para más información, consulte la porción
 correspondiente de la referencia del programa.
 
 
+@menu
+* Size of objects::             
+@end menu
+
+@node Size of objects
+@subsection Size of objects
+
+UNTRANSLATED NODE: IGNORE ME
+
 @node Default files
 @section Default files
 
index 5329d63e412aaa201c458c2337fbca9433c6881a..f23d51f3a7e249b77b1546bc01d5f0c87bba764d 100644 (file)
@@ -1,7 +1,7 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 @c This file is part of lilypond.tely
 @ignore
-    Translation of GIT committish: 459d5b872a370b53f61e747784fb56cf23f56e4b
+    Translation of GIT committish: a0e34b9be40d377c7815f96a07f23280b3257413
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  See TRANSLATION for details.
 @node Vocal music
 @section Vocal music
 
-Puesto que los archivos de entrada de LilyPond son de texto, hay un par de cuestiones dignas de
-consideración cuando se trabaja con música vocal:
+Puesto que los archivos de entrada de LilyPond son de texto, hay un
+par de cuestiones dignas de consideración cuando se trabaja con música
+vocal:
 
-@itemize @bullet
+@itemize
 @item
-Los textos de las canciones se deben entrar como texto, no como notas.  Por ejemplo,
-la entrada@tie{}@code{d} se debe interpretar como una sílaba de una sola letra, no como la
-nota@tie{}Re.
+Los textos de las canciones se deben introducir como texto, no como
+notas.  Por ejemplo, la entrada@tie{}@code{d} se debe interpretar como
+una sílaba de una sola letra, no como la nota@tie{}Re.
 
 @item
-Los textos de las canciones se deben alinear con las notas respectivas de la melodía.
+Los textos de las canciones se deben alinear con las notas respectivas
+de la melodía.
 @end itemize
 
 Existen varias formas diferentes de definir la letra; comenzaremos
-examinando el método más simple, y poco a poco iremos aumentando la complejidad.
+examinando el método más simple, y poco a poco iremos aumentando la
+complejidad.
 
 @menu
-* TODO subsection vocal music::  
+* Simple lyrics::               
+* Aligning lyrics to a melody::  
+* Vocals and variables::        
+* Flexibility in placement::    
+* Spacing vocals::              
+* More about stanzas::          
 @end menu
 
 
-@commonprop
+@snippets
 
-Las comprobaciones que aseguran que las indicaciones textuales y las letras se encuentran dentro de los márgenes
-es una tarea computacional relativamente grande.  Para acelerar el procesado, lilypond no realiza
+Las comprobaciones que aseguran que las indicaciones textuales y las
+letras se encuentran dentro de los márgenes es una tarea computacional
+relativamente grande.  Para acelerar el procesado, lilypond no realiza
 estos cálculos por defecto; para activarlos, utilice
 
 @example
@@ -43,6 +52,7 @@ estos cálculos por defecto; para activarlos, utilice
 @end example
 
 Para hacer que la letra evite las líneas divisorias también, utilice
+
 @example
 \layout @{
   \context @{
@@ -55,31 +65,16 @@ Para hacer que la letra evite las líneas divisorias también, utilice
 @end example
 
 
-@node TODO subsection vocal music
-@subsection TODO subsection vocal music
+@node Simple lyrics
+@subsection Simple lyrics
 
 @menu
 * Setting simple songs::        
 * Entering lyrics::             
-* Aligning lyrics to a melody::  
-* Automatic syllable durations::  
-* Another way of entering lyrics::  
-* Assigning more than one syllable to a single note::  
-* More than one note on a single syllable::  
-* Extenders and hyphens::       
-* Working with lyrics and identifiers::  
-* Flexibility in placement::    
-* Lyrics to multiple notes of a melisma::  
-* Divisi lyrics::               
-* Switching the melody associated with a lyrics line::  
-* Lyrics independent of notes::  
-* Spacing lyrics::              
-* More about stanzas::          
-* Other vocal issues::          
 @end menu
 
 @node Setting simple songs
-@unnumberedsubsubsec Setting simple songs
+@subsubsection Setting simple songs
 
 @cindex \addlyrics
 
@@ -98,8 +93,8 @@ a la melodía.  He aquí un ejemplo:
 \addlyrics { play the game }
 @end lilypond
 
-Se pueden añadir más versos mediante la adición de más 
-secciones @code{\addlyrics}
+Se pueden añadir más versos mediante la adición de más secciones
+@code{\addlyrics}
 
 @lilypond[ragged-right,verbatim,fragment,quote]
 \time 3/4
@@ -109,14 +104,14 @@ secciones @code{\addlyrics}
 \addlyrics { joue le jeu }
 @end lilypond
 
-La instrucción @code{\addlyrics} no puede manejar situaciones de polifonía.  Para estos
-casos tendrá que usar @code{\lyricsto} y @code{\lyricmode}, tal y como se explicará
-en @ref{Entering lyrics}.
+La instrucción @code{\addlyrics} no puede manejar situaciones de
+polifonía.  Para estos casos tendrá que usar @code{\lyricsto} y
+@code{\lyricmode}, tal y como se explicará en @ref{Entering lyrics}.
 
 
 
 @node Entering lyrics
-@unnumberedsubsubsec Entering lyrics
+@subsubsection Entering lyrics
 
 @cindex letra
 @funindex \lyricmode
@@ -124,49 +119,52 @@ en @ref{Entering lyrics}.
 @cindex espacios, en la letra
 @cindex comillas, en la letra
 
-La letra de las canciones se introduce en un modo de entrada especial que se inicia
-mediante la palabra clave @code{\lyricmode}, o bien mediante @code{\addlyrics} ó
-@code{\lyricsto}.  En este modo puede introducir la letra,
-con puntuación y acentos, y el carácter @code{d} no se analiza como
-una nota, sino más bien como una sílaba de una sola letra.  Las sílabas se introducen
-como las notas, pero con texto en lugar de alturas de nota.  Por ejemplo,
+La letra de las canciones se introduce en un modo de entrada especial
+que se inicia mediante la palabra clave @code{\lyricmode}, o bien
+mediante @code{\addlyrics} ó @code{\lyricsto}.  En este modo puede
+introducir la letra, con puntuación y acentos, y el carácter @code{d}
+no se analiza como una nota, sino más bien como una sílaba de una sola
+letra.  Las sílabas se introducen como las notas, pero con texto en
+lugar de alturas de nota.  Por ejemplo,
 
 @example
 \lyricmode @{ Cam-4 pa-4 ni- ta del- lu- gar2 @}
 @end example
 
-Existen dos métodos principales para especificar la colocación horizontal
-de las sílabas, bien especificando la duración de cada sílaba
-de forma explícita, como en el ejemplo anterior, o bien alineando automáticamente
-la letra a la melodía o a cualquier otra voz, usando @code{\addlyrics}
-o @code{\lyricsto}.
+Existen dos métodos principales para especificar la colocación
+horizontal de las sílabas, bien especificando la duración de cada
+sílaba de forma explícita, como en el ejemplo anterior, o bien
+alineando automáticamente la letra a la melodía o a cualquier otra
+voz, usando @code{\addlyrics} o @code{\lyricsto}.
 @c  TODO: broken
 @c For more details see @ref{The Lyrics context}.
 
-Una palabra o sílaba de la letra comienza con un carácter alfabético, y termina
-con
-cualquier espacio o dígito.  Los caracteres que siguen pueden ser cualesquiera excepto
-un dígito o un espacio.
+Una palabra o sílaba de la letra comienza con un carácter alfabético,
+y termina con cualquier espacio o dígito.  Los caracteres que siguen
+pueden ser cualesquiera excepto un dígito o un espacio.
 
-Cualquier carácter excepto un dígito o un espacio en blanco se considera
-parte de una sílaba; esto tiene una importante consecuencia, y es que
-una palabra puede terminar en @code{@}}, lo que con frecuencia conduce al siguiente error:
+Cualquier carácter excepto un dígito o un espacio en blanco se
+considera parte de una sílaba; esto tiene una importante consecuencia,
+y es que una palabra puede terminar en @code{@}}, lo que con
+frecuencia conduce al siguiente error:
 
 @example
 \lyricmode @{ la- la@}
 @end example
 
-En este ejemplo, el símbolo @code{@}} se encuentra incluido dentro de la sílaba final, por tanto la
-llave de apertura no se compensa con la correspondiente llave de cierre y el archivo de entrada
-probablemente no se podrá procesar.
+En este ejemplo, el símbolo @code{@}} se encuentra incluido dentro de
+la sílaba final, por tanto la llave de apertura no se compensa con la
+correspondiente llave de cierre y el archivo de entrada probablemente
+no se podrá procesar.
 
 
 @funindex \property dentro de \lyricmode
 
 @noindent
-De forma similar, un punto que sigue a una secuencia alfabética queda incluido dentro de
-la cadena resultante.  Como consecuencia, se deben insertar espacios antes y después de los
-comandos de propiedades: @emph{no} escriba
+De forma similar, un punto que sigue a una secuencia alfabética queda
+incluido dentro de la cadena resultante.  Como consecuencia, se deben
+insertar espacios antes y después de los comandos de propiedades:
+@emph{no} escriba
 
 @example
 \override Score.LyricText #'font-shape = #'italic
@@ -184,9 +182,10 @@ sino lo siguiente:
 @cindex comillas, en la letra
 @cindex ligaduras, en la letra
 
-Para asignar más de una sílaba a una única nota, puede
-rodearlas por comillas o usar un carácter @code{_} (guión bajo), para obtener espacios
-entre las sílabas, o usar el símbolo de tilde curva (@code{~}) para obtener una ligadura entre sílabas de la letra.
+Para asignar más de una sílaba a una única nota, puede rodearlas por
+comillas o usar un carácter @code{_} (guión bajo), para obtener
+espacios entre las sílabas, o usar el símbolo de tilde curva
+(@code{~}) para obtener una ligadura entre sílabas de la letra.
 
 @lilypond[quote,relative=2,ragged-right,fragment,verbatim]
 \time 3/4
@@ -196,41 +195,45 @@ entre las sílabas, o usar el símbolo de tilde curva (@code{~}) para obtener un
 \addlyrics { pu- ro~y~ho- nes- to }
 @end lilypond
 
-La ligadura de texto se construye con el carácter Unicode U+203F, por tanto debe
-asegurarse de que tiene instalada una tipografía (como DejaVuLGC) que incluya este
-glifo.
+La ligadura de texto se construye con el carácter Unicode U+203F, por
+tanto debe asegurarse de que tiene instalada una tipografía (como
+DejaVuLGC) que incluya este glifo.
+
 
+Para escribir letra con caracteres de una lengua no inglesa, o que
+tenga caracteres acentuados o especiales (como el símbolo del corazón
+o comillas inclinadas), introduzca simplemente los caracteres
+directamente en el archivo de entrada y guárdelo con una codificación
+utf-8.  Consulte @ref{Text encoding}, para ver más información.
 
-Para escribir letra con caracteres de una lengua no inglesa, o que tenga
-caracteres acentuados o especiales (como el símbolo del corazón o comillas inclinadas),
-introduzca simplemente los caracteres directamente en el archivo de entrada y guárdelo
-con una codificación utf-8.  Consulte @ref{Text encoding}, para ver más información.
+@c FIXME: quotes.
 
 @lilypond[quote,ragged-right,fragment,verbatim]
 \relative { e4 f e d e f e2 }
 \addlyrics { He said: “Let my peo ple go”. }
 @end lilypond
 
-Para utilizar comillas normales en la letra, escriba una barra invertida antes de las
-comillas.  Por ejemplo,
+Para utilizar comillas normales en la letra, escriba una barra
+invertida antes de las comillas.  Por ejemplo,
 
 @lilypond[quote,ragged-right,fragment,verbatim]
 \relative c' { \time 3/4 e4 e4. e8 d4 e d c2. }
 \addlyrics { "\"I" am so lone- "ly\"" said she }
 @end lilypond
 
-La definición completa del comienzo de una palabra en el modo Lyrics (letra) es algo más
-compleja.
+La definición completa del comienzo de una palabra en el modo Lyrics
+(letra) es algo más compleja.
 
-Una palabra en el modo Lyrics comienza por: un carácter alfabético, @code{_},
-@code{?}, @code{!}, @code{:}, @code{'}, los caracteres de control desde @code{^A}
-hasta @code{^F}, desde @code{^Q} hasta @code{^W}, @code{^Y}, @code{^^},
-cualquier carácter de 8 bits con código ASCII por encima del 127, o una combinación de
-dos caracteres consistente en la combinación de una barra invertida seguida por @code{`}, @code{'},
-@code{"} ó @code{^}.
+Una palabra en el modo Lyrics comienza por: un carácter alfabético,
+@code{_}, @code{?}, @code{!}, @code{:}, @code{'}, los caracteres de
+control desde @code{^A} hasta @code{^F}, desde @code{^Q} hasta
+@code{^W}, @code{^Y}, @code{^^}, cualquier carácter de 8 bits con
+código ASCII por encima del 127, o una combinación de dos caracteres
+consistente en la combinación de una barra invertida seguida por
+@code{`}, @code{'}, @code{"} ó @code{^}.
 
-Para definir identificadores que contengan letra, se debe usar la función
-@code{lyricmode}.
+Para definir identificadores que contengan letra, se debe usar la
+función @code{lyricmode}.
 
 @example
 verseOne = \lyricmode @{ Joy to the world the Lord is come @}
@@ -249,37 +252,37 @@ verseOne = \lyricmode @{ Joy to the world the Lord is come @}
 
 @seealso
 
-Referencia del programa: @internalsref{LyricText}, @internalsref{LyricSpace}.
+Referencia de funcionamiento interno: @internalsref{LyricText},
+@internalsref{LyricSpace}.
 
 
 
 @node Aligning lyrics to a melody
-@unnumberedsubsubsec Aligning lyrics to a melody
+@subsection Aligning lyrics to a melody
 
 @funindex \lyricmode
 @funindex \addlyrics
 @funindex \lyricsto
 
 
-La letra se imprime a través de su interpretación dentro del contexto llamado
-@internalsref{Lyrics}.
+La letra se imprime a través de su interpretación dentro del contexto
+llamado @internalsref{Lyrics}.
 
 @example
 \new Lyrics \lyricmode @dots{}
 @end example
 
-Existen dos métodos principales para especificar la colocación horizontal
-de las sílabas:
+Existen dos métodos principales para especificar la colocación
+horizontal de las sílabas:
 
-@itemize @bullet
+@itemize
 @item
-alineando automáticamente
-el texto a una melodía o a otra voz, utilizando @code{\addlyrics}
-o @code{\lyricsto}.
+alineando automáticamente el texto a una melodía o a otra voz,
+utilizando @code{\addlyrics} o @code{\lyricsto}.
 
 @item
-o especificando la duración de cada sílaba
-explícitamente, utilizando @code{\lyricmode}
+o especificando la duración de cada sílaba explícitamente, utilizando
+@code{\lyricmode}
 @end itemize
 
 @menu
@@ -291,27 +294,28 @@ explícitamente, utilizando @code{\lyricmode}
 @end menu
 
 @node Automatic syllable durations
-@unnumberedsubsubsec Automatic syllable durations
+@subsubsection Automatic syllable durations
 
 @cindex duraciones automáticas de las sílabas
 @cindex letra y melodías
 
-La letra se puede alinear automáticamente bajo una melodía
-dada.  Esto se consigue combinando la
-melodía y el texto con la expresión @code{\lyricsto}
+La letra se puede alinear automáticamente bajo una melodía dada.  Esto
+se consigue combinando la melodía y el texto con la expresión
+@code{\lyricsto}
 
 @example
 \new Lyrics \lyricsto @var{nombre} @dots{}
 @end example
 
-Esto alinea la letra a las
-notas del contexto de @internalsref{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
-@code{\lyricsto} cambia automáticamente al modo @code{\lyricmode}, por lo que la
-palabra clave @code{\lyricmode} se puede omitir.
+Esto alinea la letra a las notas del contexto de @internalsref{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
+@code{\lyricsto} cambia automáticamente al modo @code{\lyricmode}, por
+lo que la palabra clave @code{\lyricmode} se puede omitir.
 
-El ejemplo siguiente utiliza comandos diferentes para introducir la letra.
+El ejemplo siguiente utiliza comandos diferentes para introducir la
+letra.
 
 @lilypond[quote,fragment,ragged-right,verbatim]
 <<
@@ -347,12 +351,12 @@ es lo mismo que
 @end example
 
 @node Another way of entering lyrics
-@unnumberedsubsubsec Another way of entering lyrics
+@subsubsection Another way of entering lyrics
 
 El texto también se puede introducir sin @code{\addlyrics} ni
-@code{\lyricsto}.  En este caso,
-las sílabas se escriben como notas (pero con las alturas sustituidas por texto) y la
-duración de cada sílaba se debe escribir explícitamente.  Por ejemplo:
+@code{\lyricsto}.  En este caso, las sílabas se escriben como notas
+(pero con las alturas sustituidas por texto) y la duración de cada
+sílaba se debe escribir explícitamente.  Por ejemplo:
  
 @example
 play2 the4 game2.
@@ -368,10 +372,11 @@ propiedad @code{associatedVoice},
 
 @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 extensión
-no se formatearán correctamente.
+un contexto de @internalsref{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 duraciones manuales de las sílabas del texto:
+Presentamos a continuación un ejemplo que muestra el uso de las
+duraciones manuales de las sílabas del texto:
 
 @lilypond[relative=1,ragged-right,verbatim,fragment,quote]
 << \new Voice = "melody" {
@@ -386,23 +391,23 @@ Presentamos a continuación un ejemplo que muestra el uso de las duraciones manu
 
 @seealso
 
-Referencia del programa: @internalsref{Lyrics}.
+Referencia de funcionamiento interno: @internalsref{Lyrics}.
 
 
 @node Assigning more than one syllable to a single note
-@unnumberedsubsubsec Assigning more than one syllable to a single note
+@subsubsection Assigning more than one syllable to a single note
 
 
 @funindex _
 @cindex ligaduras, en el texto
 
-Para asignar más de una sílaba a una sola nota, puede
-encerrarlas entre comillas o utilizar un guión bajo (@code{_}), para dejar espacios
-entre las sílabas, o usar el símbolo de tilde curva (@code{~}) para obtener una ligadura en el
-texto@footnote{Las ligaduras de texto están hechas con el carácter de Unicode
-U+203F, por tanto
-debe asegurarse de tener instalada una tipografía (como DejaVuLGC) que incluya este
-glifo.}.
+Para asignar más de una sílaba a una sola nota, puede encerrarlas
+entre comillas o utilizar un guión bajo (@code{_}), para dejar
+espacios entre las sílabas, o usar el símbolo de tilde curva
+(@code{~}) para obtener una ligadura en el texto@footnote{Las
+ligaduras de texto están hechas con el carácter de Unicode U+203F, por
+tanto debe asegurarse de tener instalada una tipografía (como
+DejaVuLGC) que incluya este glifo.}.
 
 @lilypond[quote,relative=2,ragged-right,fragment,verbatim]
 \time 3/4
@@ -414,28 +419,29 @@ glifo.}.
 
 @seealso
 
-Referencia del programa: @internalsref{LyricCombineMusic}.
+Referencia de funcionamiento interno: @internalsref{LyricCombineMusic}.
 
 @c Here come the section which used to be "Melismata"
 @c the new title might be more self-explanatory
 
 
 @node More than one note on a single syllable
-@unnumberedsubsubsec More than one note on a single syllable
+@subsubsection More than one note on a single syllable
 
 @cindex melisma
 @cindex melismata
 @cindex fraseo, en la letra
 
-A veces, y sobre todo en la música medieval, varias notas se cantan sobre una
-sílaba única; tales vocalizaciones reciben el nombre de melismas, o melismata.
+A veces, y sobre todo en la música medieval, varias notas se cantan
+sobre una sílaba única; tales vocalizaciones reciben el nombre de
+melismas, o melismata.
 
 @c this method seems to be the simplest; therefore
 @c it might be better to present it first - vv
 
-Puede definir los melismas completamente dentro de la letra, escribiendo un guión bajo @code{_}
-para cada nota
-que forma parte del melisma.
+Puede definir los melismas completamente dentro de la letra,
+escribiendo un guión bajo @code{_} para cada nota que forma parte del
+melisma.
 
 @lilypond[relative=1,verbatim,fragment,quote]
 { \set melismaBusyProperties = #'()
@@ -444,15 +450,16 @@ que forma parte del melisma.
  { Ky -- _ _ ri __ _ _ _  e }
 @end lilypond
 
-En este caso, también puede tener ligaduras de unión y de expresión en la melodía, si establece
-@code{melismaBusyProperties}, como se hizo en el ejemplo anterior.
+En este caso, también puede tener ligaduras de unión y de expresión en
+la melodía, si establece @code{melismaBusyProperties}, como se hizo en
+el ejemplo anterior.
 
-Sin embargo la instrucción @code{\lyricsto} también puede
-detectar los melismas automáticamente: sólo pone una sílaba
-debajo de un grupo de notas unidas mediante ligadura de unión o de expresión.  Si quiere forzar
-que un grupo de notas sin ligadura sea un melisma, inserte @code{\melisma}
-después de la primera nota del grupo, y @code{\melismaEnd} después de la
-última, p.ej.:
+Sin embargo la instrucción @code{\lyricsto} también puede detectar los
+melismas automáticamente: sólo pone una sílaba debajo de un grupo de
+notas unidas mediante ligadura de unión o de expresión.  Si quiere
+forzar que un grupo de notas sin ligadura sea un melisma, inserte
+@code{\melisma} después de la primera nota del grupo, y
+@code{\melismaEnd} después de la última, p.ej.:
 
 @lilypond[quote,relative=2,ragged-right,fragment,verbatim]
 <<
@@ -471,8 +478,8 @@ después de la primera nota del grupo, y @code{\melismaEnd} después de la
 @end lilypond
 
 Además, las notas se consideran un melisma si están unidas manualmente
-mediante una barra, y el barrado automático (véase @ref{Setting automatic beam
-behavior}) está desactivado.
+mediante una barra, y el barrado automático (véase @ref{Setting
+automatic beam behavior}) está desactivado.
 
 @c TODO: there might be some more relevant place for 
 @c the following link (?)
@@ -480,8 +487,8 @@ behavior}) está desactivado.
 @cindex SATB
 @cindex coral, partitura
 
-Hay un ejemplo completo de una disposición de partitura SATB en la sección
-@ref{Vocal ensembles}.
+Hay un ejemplo completo de una disposición de partitura SATB en la
+sección @rlearning{Vocal ensembles}.
 
 
 @predefined
@@ -492,52 +499,63 @@ Hay un ejemplo completo de una disposición de partitura SATB en la sección
 
 @seealso
 
-Referencia del programa: @internalsref{Melisma_translator}.
+Referencia de funcionamiento interno: @internalsref{Melisma_translator}.
 
-@lsr{vocal,lyric@/-combine.ly}.
+@c @lsr{vocal,lyric@/-combine.ly}.
 
 @knownissues
 
-Los melismas no se detectan automáticamente, y las líneas de extensión se deben
-insertar a mano.
+Los melismas no se detectan automáticamente, y las líneas de extensión
+se deben insertar a mano.
 
 @node Extenders and hyphens
-@unnumberedsubsubsec Extenders and hyphens
+@subsubsection Extenders and hyphens
 
 @cindex melisma
 @cindex extender
 
-Los melismas se indican mediante una línea horizontal centrada entre una sílaba
-y la siguiente.  Esta línea recibe el nombre de línea de extensión, y se escribe
-como @samp{ __ } (fíjese en los espacios antes y después de los dos guiones
-bajos).
+@c leave this as samp. -gp
+Los melismas se indican mediante una línea horizontal centrada entre
+una sílaba y la siguiente.  Esta línea recibe el nombre de línea de
+extensión, y se escribe como @samp{ __ } (fíjese en los espacios antes
+y después de los dos guiones bajos).
 
 @cindex guiones
 
-Los guiones centrados se escriben como @samp{ -- } entre sílabas de una misma palabra
-(fíjese en los espacios antes y después de los dos guiones).  El guión
-quedará centrado entre las sílabas, y su longitud se ajustará
-en función del espacio que exista entre ellas.
+@c leave this as samp. -gp
+Los guiones centrados se escriben como @samp{ -- } entre sílabas de
+una misma palabra (fíjese en los espacios antes y después de los dos
+guiones).  El guión quedará centrado entre las sílabas, y su longitud
+se ajustará en función del espacio que exista entre ellas.
 
-En la música grabada de modo muy apretado, se pueden quitar los guiones.  Se puede
-controlar si esto ocurre o no, mediante la @code{minimum-distance} (distancia
-mínima entre las dos sílabas) y la @code{minimum-length}
-(umbral por debajo del cual se suprimen los guiones).
+En la música grabada de modo muy apretado, se pueden quitar los
+guiones.  Se puede controlar si esto ocurre o no, mediante la
+@code{minimum-distance} (distancia mínima entre las dos sílabas) y la
+@code{minimum-length} (umbral por debajo del cual se suprimen los
+guiones).
 
 @seealso
 
-Referencia del programa: @internalsref{LyricExtender},
+Referencia de funcionamiento interno: @internalsref{LyricExtender},
 @internalsref{LyricHyphen}
 
 
-@node Working with lyrics and identifiers
-@unnumberedsubsubsec Working with lyrics and identifiers
+@node Vocals and variables
+@subsection Vocals and variables
+
+@menu
+* Working with lyrics and variables::  
+@end menu
+
+@node Working with lyrics and variables
+@subsubsection Working with lyrics and variables
+
 @cindex letra, identificadores de
 
-Para definir identificadores que contengan texto, se debe usar la función @code{\lyricmode}.
-Si embargo no tendrá que escribir las duraciones, si añade
-@code{\addlyrics} o @code{\lyricsto}
-en el momento de invocar el identificador.
+Para definir identificadores que contengan texto, se debe usar la
+función @code{\lyricmode}.  Si embargo no tendrá que escribir las
+duraciones, si añade @code{\addlyrics} o @code{\lyricsto} en el
+momento de invocar el identificador.
  
 @example
 verseOne = \lyricmode @{ Joy to the world the Lord is come @}
@@ -553,8 +571,8 @@ verseOne = \lyricmode @{ Joy to the world the Lord is come @}
 @}
 @end example
  
-Para arreglos distintos o más complejos, la mejor forma es preparar previamente la
-jerarquía de pautas y textos, p.ej.:
+Para arreglos distintos o más complejos, la mejor forma es preparar
+previamente la jerarquía de pautas y textos, p.ej.:
 @example
 \new ChoirStaff <<
   \new Voice = "soprano" @{ @emph{música} @}
@@ -564,7 +582,7 @@ jerarquía de pautas y textos, p.ej.:
 >>
 @end example
  
-y después combinar las melodías y líneas de texto apropiadas
+y después combinar las melodías y líneas de texto correspondientes:
  
 @example
 \context Lyrics = textoSoprano \lyricsto "soprano"
@@ -586,16 +604,16 @@ El código de entrada definitivo sería algo como
 @seealso
  
 @c TODO: document \new Staff << Voice \lyricsto >> bug
-Program reference: @internalsref{LyricCombineMusic},
-@internalsref{Lyrics}.  
+Referencia de funcionamiento interno:
+@internalsref{LyricCombineMusic}, @internalsref{Lyrics}.
 
 
 @node Flexibility in placement
-@unnumberedsubsubsec Flexibility in placement
+@subsection Flexibility in placement
 
-A menudo se aplican a una melodía distintos versos de una canción de formas ligeramente
-distintas.  Tales variantes pueden aún captarse mediante
-@code{\lyricsto}.
+A menudo se aplican a una melodía distintos versos de una canción de
+formas ligeramente distintas.  Tales variantes pueden aún captarse
+mediante @code{\lyricsto}.
 
 @menu
 * Lyrics to multiple notes of a melisma::  
@@ -606,18 +624,18 @@ distintas.  Tales variantes pueden aún captarse mediante
 
 
 @node Lyrics to multiple notes of a melisma
-@unnumberedsubsubsec Lyrics to multiple notes of a melisma
+@subsubsection Lyrics to multiple notes of a melisma
 
-Existe la posibilidad de que el texto tenga un melisma en un verso, pero
-varias sílabas en otro.  Una solución es hacer que la voz más rápida
-ignore el melisma.  Esto se consigue estableciendo
+Existe la posibilidad de que el texto tenga un melisma en un verso,
+pero varias sílabas en otro.  Una solución es hacer que la voz más
+rápida ignore el melisma.  Esto se consigue estableciendo
 @code{ignoreMelismata} en el contexto Lyrics.
 
-Hay un aspecto delicado: el valor de @code{ignoreMelismata}
-se debe establecer una sílaba @emph{antes} de la sílaba no melismática
-del texto, tal y como se muestra a continuación:
+Hay un aspecto delicado: el valor de @code{ignoreMelismata} se debe
+establecer una sílaba @emph{antes} de la sílaba no melismática del
+texto, tal y como se muestra a continuación:
 
-@c  FIXME: breaks compile
+@c  TODO: breaks compile
 @lilypond[verbatim,ragged-right,quote]
 %{
 <<
@@ -642,13 +660,13 @@ del texto, tal y como se muestra a continuación:
 @end lilypond
 
 
-El @code{ignoreMelismata} se aplica a la sílaba @q{fas}, por ello
-se debe introducir antes de @q{go}.
+El @code{ignoreMelismata} se aplica a la sílaba @q{fas}, por ello se
+debe introducir antes de @q{go}.
 
-La inversa también es posible: hacer que una línea de letra sea más lenta que la
-normal.  Esto se puede conseguir insertando @code{\skip}s (desplazamientos) dentro de la
-letra.  Para cada @code{\skip}, el texto se retrasará una nota más.
-Por ejemplo,
+La inversa también es posible: hacer que una línea de letra sea más
+lenta que la normal.  Esto se puede conseguir insertando @code{\skip}s
+(desplazamientos) dentro de la letra.  Para cada @code{\skip}, el
+texto se retrasará una nota más.  Por ejemplo,
 
 @lilypond[verbatim,ragged-right,quote]
 \relative { c c g' }
@@ -660,7 +678,7 @@ Por ejemplo,
 
 
 @node Divisi lyrics
-@unnumberedsubsubsec Divisi lyrics
+@subsubsection Divisi lyrics
 
 Puede presentar letras alternativas (o divisi) nombrando contextos de
 voz y aplicando la letra a los mencionados contextos específicos.
@@ -683,8 +701,8 @@ voz y aplicando la letra a los mencionados contextos específicos.
 @end lilypond
 
 
-Puede usar este truco para presentar las distintas letras de una sección
-que se repite.
+Puede usar este truco para presentar las distintas letras de una
+sección que se repite.
 
 @lilypond[verbatim,ragged-right,quote]
 \score{ <<
@@ -706,11 +724,12 @@ que se repite.
 
 
 @node Switching the melody associated with a lyrics line
-@unnumberedsubsubsec Switching the melody associated with a lyrics line
+@subsubsection Switching the melody associated with a lyrics line
 
-Son posibles variaciones más complejas en la disposición del texto.  Se puede
-cambiar la melodía para una línea de la letra durante el texto.  Esto se hace
-estableciendo la propiedad @code{associatedVoice}.  En el ejemplo
+Son posibles variaciones más complejas en la disposición del texto.
+Se puede cambiar la melodía para una línea de la letra durante el
+texto.  Esto se hace estableciendo la propiedad
+@code{associatedVoice}.  En el ejemplo
 
 @lilypond[ragged-right,quote]
 <<
@@ -758,19 +777,19 @@ el texto del primer verso se aplica a una melodía llamada @q{lahlah},
 @end example
 
 
-El segundo verso se aplica en principio al contexto de @code{lahlah}, pero
-para la sílaba @q{ran}, cambia a una melodía diferente.
-Esto se consigue con
+El segundo verso se aplica en principio al contexto de @code{lahlah},
+pero para la sílaba @q{ran}, cambia a una melodía diferente.  Esto se
+consigue con
 @example
 \set associatedVoice = alternative
 @end example
 
 @noindent
-Aquí, @code{alternative} es el nombre del contexto de @code{Voice}
-que contiene el tresillo.
+Aquí, @code{alternative} es el nombre del contexto de @code{Voice} que
+contiene el tresillo.
 
-Una vez más, la instrucción debe ir una sílaba antes de la cuenta, antes de @q{Ty} en
-este caso.
+Una vez más, la instrucción debe ir una sílaba antes de la cuenta,
+antes de @q{Ty} en este caso.
 
 @example
 \new Lyrics \lyricsto "lahlah" @{
@@ -784,16 +803,16 @@ este caso.
 @end example
 
 @noindent
-La disposición se vuelve a cambiar a la situación inicial mediante la asignación de
-@code{lahlah} a @code{associatedVoice}.
+La disposición se vuelve a cambiar a la situación inicial mediante la
+asignación de @code{lahlah} a @code{associatedVoice}.
 
 
 @node Lyrics independent of notes
-@unnumberedsubsubsec Lyrics independent of notes
+@subsubsection Lyrics independent of notes
 
-En cierta música vocal compleja, podría ser deseable colocar la
-letra de forma totalmente independiente de las notas.  La música que se define
-dentro de @code{lyricrhythm} desaparece dentro del contexto
+En cierta música vocal compleja, podría ser deseable colocar la letra
+de forma totalmente independiente de las notas.  La música que se
+define dentro de @code{lyricrhythm} desaparece dentro del contexto
 @code{Devnull}, pero los valores rítmicos aún se pueden utilizar para
 colocar la letra.
 
@@ -817,14 +836,21 @@ lyr = \lyricmode { I like my cat! }
 @end lilypond
 
 
+@node Spacing vocals
+@subsection Spacing vocals
+
+@menu
+* Spacing lyrics::              
+@end menu
+
 @node Spacing lyrics
-@unnumberedsubsubsec Spacing lyrics
+@subsubsection Spacing lyrics
 
-@cindex Spacing lyrics
-@cindex Lyrics, increasing space between
+@cindex Espaciado de la letra
+@cindex Letra, aumentar el espaciado
 
-Para aumentar el espaciado entre las sílabas de la letra, establezca la propiedad minimum-distance de
-LyricSpace.
+Para aumentar el espaciado entre las sílabas de la letra, establezca
+la propiedad minimum-distance de LyricSpace.
 
 @lilypond[relative,verbatim,fragment,quote,ragged-right]
 {
@@ -838,8 +864,8 @@ LyricSpace.
 }
 @end lilypond
 
-Para que este cambio sea válido para la letra de la partitura completa, establezca la propiedad dentro del
-layout o disposición.
+Para que este cambio sea válido para la letra de la partitura
+completa, establezca la propiedad dentro del @q{layout} o disposición.
 
 @lilypond[relative,verbatim,quote,ragged-right]
 \score {
@@ -860,14 +886,25 @@ layout o disposición.
 }
 @end lilypond
 
-
 @node More about stanzas
-@unnumberedsubsubsec More about stanzas
+@subsection More about stanzas
+
+@menu
+* Adding stanza numbers ::      
+* Adding dynamics marks::       
+* Adding singer names::         
+* Printing stanzas at the end ::  
+* Printing stanzas at the end in multiple columns ::  
+@end menu
 
-@cindex número de verso
-@unnumberedsubsubsec Adding stanza numbers 
 
-Los números de los versos se pueden añadir estableciendo @code{stanza}, p.ej.,
+@node Adding stanza numbers 
+@subsubsection Adding stanza numbers 
+
+@cindex verso, número de
+
+Los números de los versos se pueden añadir estableciendo
+@code{stanza}, p.ej.,
 
 @lilypond[quote,ragged-right,verbatim,relative=2,fragment]
 \new Voice {
@@ -885,13 +922,15 @@ Los números de los versos se pueden añadir estableciendo @code{stanza}, p.ej.,
 Estos números aparecerán inmediatamente antes de la primera sílaba.
 
 
-@unnumberedsubsubsec Adding dynamics marks
+@node Adding dynamics marks
+@subsubsection Adding dynamics marks
 
-Los versos que difieren en su fuerza se pueden especificar escribiendo una
-indicación dinámica antes de cada verso.  En Lilypond, todo lo que aparece delante de
-un verso está dentro del objeto @code{StanzaNumber}; las indicaciones dinámicas
-no son diferentes.  Por razones técnicas, tendrá que establecer el valor de la sección stanza (verso)
-fuera de @code{\lyricmode}:
+Los versos que difieren en su sonoridad se pueden especificar
+escribiendo una indicación dinámica antes de cada verso.  En LilyPond,
+todo lo que aparece delante de un verso está dentro del objeto
+@code{StanzaNumber}; las indicaciones dinámicas no son diferentes.
+Por razones técnicas, tendrá que establecer el valor de la sección
+stanza (verso) fuera de @code{\lyricmode}:
 
 @lilypond[quote,ragged-right,verbatim]
 text = {
@@ -910,13 +949,18 @@ text = {
 >>
 @end lilypond
 
-@cindex cantor, nombre del
-@cindex nombre del cantor
-@unnumberedsubsubsec Adding singer names
+@node Adding singer names
+@subsubsection Adding singer names
+
 
-También se pueden poner los nombres de los cantantes.  Se imprimen al comienzo de la
-línea, igual que los nombres de instrumento.  Se crean estableciendo un valor para
-@code{vocalName}.  Se puede definir una versión abreviada como @code{shortVocalName}.
+@cindex cantante, nombre del
+@cindex nombre del cantante
+
+
+También se pueden poner los nombres de los cantantes.  Se imprimen al
+comienzo de la línea, igual que los nombres de instrumento.  Se crean
+estableciendo un valor para @code{vocalName}.  Se puede definir una
+versión abreviada como @code{shortVocalName}.
 
 @lilypond[fragment,ragged-right,quote,verbatim,relative=2]
 \new Voice {
@@ -931,15 +975,15 @@ línea, igual que los nombres de instrumento.  Se crean estableciendo un valor p
 @end lilypond
 
 
-@unnumberedsubsubsec Printing stanzas at the end 
+@node Printing stanzas at the end 
+@subsubsection Printing stanzas at the end 
 
-En ocasiones es conveniente tener un verso ajustado a la música,
-y el resto añadido en forma de estrofa al final
-de la pieza.  Esto se puede conseguir escribiendo
-los versos adicionales dentro de una sección @code{\markup} fuera
-del bloque score principal de la partitura.  Tenga en cuenta que existen dos
-formas distintas de forzar los saltos de línea al utilizar
-@code{\markup}.
+En ocasiones es conveniente tener un verso ajustado a la música, y el
+resto añadido en forma de estrofa al final de la pieza.  Esto se puede
+conseguir escribiendo los versos adicionales dentro de una sección
+@code{\markup} fuera del bloque score principal de la partitura.
+Tenga en cuenta que existen dos formas distintas de forzar los saltos
+de línea al utilizar @code{\markup}.
 
 @lilypond[ragged-right,verbatim,quote]
 melody = \relative c' {
@@ -975,12 +1019,13 @@ its fleece was white as snow.
 @end lilypond
 
 
-@unnumberedsubsubsec Printing stanzas at the end in multiple columns 
+@node Printing stanzas at the end in multiple columns 
+@subsubsection Printing stanzas at the end in multiple columns 
 
-Cuando una pieza tiene muchos versos, a menudo se imprimen
-en varias columnas a lo largo de toda la página. Con frecuencia un número de verso fuera del margen
-precede a cada verso. El ejemplo siguiente muestra cómo producir dicha salida
-en Lilypond.
+Cuando una pieza tiene muchos versos, a menudo se imprimen en varias
+columnas a lo largo de toda la página. Con frecuencia un número de
+verso fuera del margen precede a cada verso. El ejemplo siguiente
+muestra cómo producir dicha salida en Lilypond.
 
 @lilypond[ragged-right,quote,verbatim]
 melody = \relative c' {
@@ -1045,15 +1090,14 @@ text = \lyricmode {
 
 @seealso
 
-Program reference: @internalsref{LyricText}, @internalsref{StanzaNumber},
-@internalsref{VocalName}.
-
-
-
-@node Other vocal issues
-@unnumberedsubsubsec Other vocal issues
+Referencia de funcionamiento interno: @internalsref{LyricText},
+@internalsref{StanzaNumber}, @internalsref{VocalName}.
 
+@c TODO: stick elsewhere
 @ignore
+@n ode Other vocal issues
+@s ubsection Other vocal issues
+
 yeah, I'm giving up somewhat by stuffing a bunch of things in
 here.  But at least they're in the manual now; it's easier to
 move them around in the manual once they're already here.
@@ -1061,10 +1105,9 @@ move them around in the manual once they're already here.
 Besides, if users complain about everything stuffed in here, I
 can ask them for specific instructions about where to move these
 examples, and that might get them more involved in the docs.  -gp
-@end ignore
+
 
 @q{Parlato} es texto hablado sin notas pero con ritmo; su notación se
 realiza mediante cabezas de nota en forma de cruz.  Esto queda demostrado en
-@ref{Special noteheads}.
-
-
+@ref{Special note heads}.
+@end ignore
index 54ca78974658f69dbaf733d6d8f00b3ebfe9aa36..fecc756ac20eefa137f74e19175fae25e57be034 100644 (file)
@@ -1,7 +1,7 @@
 @c -*- coding: utf-8; mode: texinfo; -*-
 @c This file is part of lilypond.tely
 @ignore
-    Translation of GIT committish: 993fc5189dc039afd51a98df9b71adf59f2ab20f
+    Translation of GIT committish: e1c119e97fca9bce4bb8749e56bf2952598589f6
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  See TRANSLATION for details.
@@ -18,11 +18,8 @@ que lea este capítulo.
 
 @menu
 * Suggestions for writing LilyPond files::  
-* Saving typing with identifiers and functions::  
-* Style sheets::                
-* Updating old files::          
-* Troubleshooting (taking it all apart)::  
-* Minimal examples::            
+* When things don't work::      
+* Scores and parts::            
 @end menu
 
 
@@ -59,6 +56,8 @@ más fáciles (o más difíciles) de actualizar.
 * General suggestions::         
 * Typesetting existing music::  
 * Large projects::              
+* Saving typing with variables and functions::  
+* Style sheets::                
 @end menu
 
 
@@ -70,19 +69,21 @@ o corregir problemas:
 
 @itemize @bullet
 @item @strong{Incluya los números de @code{\version} en todos los archivos}.  Dese cuenta de que todas las
-plantillas contienen una cadena como @code{\version "2.11.38"}.  Le recomendamos
-mucho que siempre incluya la @code{\version}, sin importar cuán
-pequeño pueda ser su archivo.  Desde la experiencia personal podemos decirle que es bastante frustrante
-intentar recordar el número de versión de LilyPond que estaba usando hace unos años.
-@code{convert-ly} requiere que declare
-qué versión de LilyPond utilizó.
-
-@item @strong{Incluya comprobaciones}: @ruser{Bar check}, @ruser{Octave check} y
-@ruser{Barnumber check}.  Si
-incluye comprobaciones de vez en cuando, en caso de que cometa un error podrá localizarlo mucho más rápidamente.
-¿Con qué frecuencia es @q{de vez en cuando}?  Depende de la complejidad
-de la música.  Para una música muy sencilla, quizá tan sólo una o dos veces.  Para
-una música muy compleja, quizá a cada compás.
+plantillas contienen información sobre la @code{\version}.  Le
+recomendamos mucho que siempre incluya la @code{\version}, sin
+importar cuán pequeño pueda ser su archivo.  Desde la experiencia
+personal podemos decirle que es bastante frustrante intentar recordar
+el número de versión de LilyPond que estaba usando hace unos años.
+@code{convert-ly} requiere que declare qué versión de LilyPond
+utilizó.
+
+@item @strong{Incluya comprobaciones}: @ruser{Bar and barnumber checks},
+@ruser{Octave check}.  Si incluye comprobaciones de vez en cuando, en
+caso de que cometa un error podrá localizarlo mucho más rápidamente.
+¿Con qué frecuencia es @q{de vez en cuando}?  Depende de la
+complejidad de la música.  Para una música muy sencilla, quizá tan
+sólo una o dos veces.  Para una música muy compleja, quizá a cada
+compás.
 
 @item @strong{Un compás por cada línea de texto}.  Si hay algo muy complicado, ya sea
 en la propia música
@@ -110,8 +111,8 @@ e identificadores.  Si especifica @code{c4 d e} al principio de una frase
 si reelabora la música más tarde.
 
 @item @strong{Separe los trucos} de las definiciones musicales.  Consulte
-@ruser{Saving typing with identifiers and functions} y
-@ruser{Style sheets}.
+@ref{Saving typing with variables and functions} y
+@ref{Style sheets}.
 
 @end itemize
 
@@ -169,12 +170,11 @@ g4 c'8. e16
 @}
 @end example
 
-@item @strong{Separe los trucos de las definiciones musicales}.  Ya se mencionó
-en @ruser{General suggestions}, pero para proyectos
-grandes es vital.  Quizá tengamos que cambiar la
-definición de @code{fthenp}, pero en ese caso sólo lo tendremos que
-hacer una vez, y aún podremos evitar tocar nada
-dentro de @code{violin}.
+@item @strong{Separe los trucos de las definiciones musicales}.
+Ya se mencionó con anterioridad, pero para proyectos grandes es vital.
+Quizá tengamos que cambiar la definición de @code{fthenp}, pero en ese
+caso sólo lo tendremos que hacer una vez, y aún podremos evitar tocar
+nada dentro de @code{violin}.
 
 @example
 fthenp = _\markup@{
@@ -187,8 +187,8 @@ g4\fthenp c'8. e16
 @end itemize
 
 
-@node Saving typing with identifiers and functions
-@section Saving typing with identifiers and functions
+@node Saving typing with variables and functions
+@subsection Saving typing with variables and functions
 
 @cindex variables
 @cindex identificadores
@@ -284,25 +284,25 @@ padText =
 @end lilypond
 
 La utilización de identificadores también es una buena forma de reducir el trabajo si
-la sintaxis de entrada de LilyPond cambia (ver @ruser{Updating old files}).  Si
+la sintaxis de entrada de LilyPond cambia (véase @ref{Updating old files}).  Si
 tiene una sola definición (como p.ej. @code{\dolce}) para todos sus
-archivos (ver @ruser{Style sheets}), y después la sintaxis se modifica, sólo tendrá
+archivos (ver @ref{Style sheets}), y después la sintaxis se modifica, sólo tendrá
 que actualizar su definición @code{\dolce} única,
 en lugar de tener que hacer cambios en cada uno de los archivos @code{.ly}.
 
 
 @node Style sheets
-@section Style sheets
+@subsection Style sheets
 
 La salida que produce LilyPond se puede modificar profundamente; consulte
-@ruser{Tweaking output} para leer detalles sobre este asunto.  Pero ¿qué ocurre si tiene muchos
+@ref{Tweaking output} para leer detalles sobre este asunto.  Pero ¿qué ocurre si tiene muchos
 archivos a los que les quiere aplicar sus propios trucos?  O ¿qué ocurre si, sencillamente,
 quiere separar los trucos de la propia música?  Todo esto
 es bastante fácil de conseguir.
 
 Veamos un ejemplo.  No se preocupe si no entiende
 las partes que tienen todos los @code{#()}.  Esto se explicará en
-@ruser{Advanced tweaks with Scheme}.
+@ref{Advanced tweaks with Scheme}.
 
 @lilypond[quote,verbatim,ragged-right]
 mpdolce = #(make-dynamic-script (markup #:hspace 1 #:translate (cons 5 0)
@@ -323,7 +323,7 @@ tempoMark = #(define-music-function (parser location markp) (string?)
 @end lilypond
 
 Existen varios problemas con la salida que se superpone; los arreglaremos utilizando
-las técnicas descritas en @ruser{Moving objects}.  Pero también haremos algo respecto a
+las técnicas descritas en @ref{Moving objects}.  Pero también haremos algo respecto a
 las definiciones @code{mpdolce} y @code{tempoMark}.  Éstas producen la salida que
 deseamos, pero quizá las querríamos utilizar en otra pieza.
 Podríamos simplemente copiarlas y pegarlas al principio de cada archivo,
@@ -545,9 +545,17 @@ Yo utilizo media docena de archivos de
 \include "../iniciar/iniciar-papel.ly"
 @end example
 
+@node When things don't work
+@section When things don't work
+
+@menu
+* Updating old files::          
+* Troubleshooting (taking it all apart)::  
+* Minimal examples::            
+@end menu
 
 @node Updating old files
-@section Updating old files
+@subsection Updating old files
 
 La sintaxis de la entrada de LilyPond cambia de manera ocasional.  A medida que el propio
 LilyPond mejora, la sintaxis (el lenguaje de la entrada) se modifica en consonancia.  A
@@ -566,8 +574,8 @@ se relacionan en @rprogram{Updating files with convert-ly}.
 
 Por ejemplo, en la versión 2.4 y anteriores de LilyPond,
 los acentos y las letras no inglesas se introducían utilizando
-LaTeX: por ejemplo, @samp{No\"el} (que significa @q{Navidad} en francés).
-En LilyPond 2.6 y siguientes, el carácter especial @samp{ë}
+LaTeX: por ejemplo, @code{No\"el} (que significa @q{Navidad} en francés).
+En LilyPond 2.6 y siguientes, el carácter especial @code{ë}
 debe introducirse directamente en el archivo de LilyPond como un carácter UTF-8.
 @code{convert-ly} no puede cambiar todos los caracteres especiales
 de LaTeX a caracteres de UTF-8; tendrá que actualizar manualmente
@@ -575,7 +583,7 @@ sus archivos de LilyPond antiguos.
 
 
 @node Troubleshooting (taking it all apart)
-@section Troubleshooting (taking it all apart)
+@subsection Troubleshooting (taking it all apart)
 
 Antes o después escribirá un archivo que LilyPond no podrá compilar.
 Los mensajes que LilyPond proporciona pueden ayudarle a encontrar el
@@ -626,11 +634,11 @@ Ahora empiece poco a poco descomentando cada vez más fracciones de la
 parte del @code{bajo} hasta que encuentre la línea del problema.
 
 Otra técnica de depuración muy útil es la construcción de
-@ruser{Minimal examples}.
+@ref{Minimal examples}.
 
 
 @node Minimal examples
-@section Minimal examples
+@subsection Minimal examples
 
 Un ejemplo mínimo es un ejemplo tan pequeño como sea posible.  Estos
 ejemplos son mucho más fáciles de comprender que los ejemplos largos.  Los ejemplos
@@ -668,3 +676,123 @@ del ejemplo.
 @end itemize
 
 
+@node Scores and parts
+@section Scores and parts
+
+En música orquestal, todas las notas se imprimen dos veces.  Una vez
+en las particellas para los músicos, y otra para la partitura del director.
+Los identificadores se pueden usar para evitar la duplicación del trabajo.
+La música se escribe una vez y se almacena en una variable.
+El contenido de dicha variable se usa después para generar tanto la particella como la partitura del director.
+
+Es muy conveniente definir las notas en un archivo especial.  Por
+ejemplo, supongamos que el archivo @file{trompa.ly} contiene la
+siguiente parte de un dúo para trompa y fagot:
+
+@example
+notasTrompa = \relative c @{
+  \time 2/4
+  r4 f8 a cis4 f e d
+@}
+@end example
+
+@noindent
+Luego se hace una particella escribiendo en un archivo lo siguiente
+
+@example
+\include "trompa.ly"
+\header @{
+  instrument = "Trompa en Fa"
+@}
+
+@{
+ \transpose f c' \notasTrompa
+@}
+@end example
+
+La línea
+
+@example
+\include "trompa.ly"
+@end example
+
+@noindent
+sustituye el contenido de @file{trompa.ly} en esta posición dentro del
+archivo, así que @code{notasTrompa} se define con posterioridad.  El comando
+@code{\transpose f@tie{}c'} indica que el argumento constituido por
+@code{\notasTrompa} se debe transponer una quinta hacia arriba.  Lo que suena como
+@code{f} se escribe como @code{c'}, lo que corresponde con el tono de afinación de
+una trompa normal en@tie{}Fa.  La transposición se puede ver en la
+siguiente salida
+
+@lilypond[quote,ragged-right]
+\transpose f c' \relative c {
+  \time 2/4
+  r4 f8 a cis4 f e d
+}
+@end lilypond
+
+En piezas para conjunto, con frecuencia una de las voces no suena durante muchos compases.
+Esto queda denotado por un silencio especial, el silencio multicompás.
+Se introduce con una @code{R} mayúscula seguida de una duración
+(@code{1}@tie{}en el caso de la redonda, @code{2}@tie{}en el caso de una blanca,
+etc.).  Multiplicando la duración se pueden construir
+silencios más largos.  Por ejemplo, este silencio ocupa
+3@tie{}compases de 2/4
+
+@example
+R2*3
+@end example
+
+Cuando se imprime la particella tienen que comprimirse los silencios
+multicompás.  Esto se hace estableciendo una variable en tiempo de ejecución
+
+@example
+\set Score.skipBars = ##t
+@end example
+
+@noindent
+Este comando establece el valor de la propiedad @code{skipBars} en el
+contexto de @code{Score} a verdadero (@code{##t}).  Anteponiendo el silencio y
+esta opción a la música anterior, llegamos al siguiente resultado
+
+@lilypond[quote,ragged-right]
+\transpose f c' \relative c {
+  \time 2/4
+  \set Score.skipBars = ##t
+  R2*3
+  r4 f8 a cis4 f e d
+}
+@end lilypond
+
+
+Esta partitura se hace combinando toda la música junta.  Suponiendo
+que la otra voz se encuentra dentro de @code{notasFagot} en el archivo
+@file{fagot.ly}, la partitura se hace con
+
+@example
+\include "fagot.ly"
+\include "trompa.ly"
+
+<<
+  \new Staff \notasTrompa
+  \new Staff \notasFagot
+>>
+@end example
+
+@noindent
+lo que nos lleva a
+
+@lilypond[quote,ragged-right]
+\relative c <<
+  \new Staff {
+    \time 2/4 R2*3
+    r4 f8 a cis4 f e d
+  }
+  \new Staff {
+    \clef bass
+    r4 d,8 f | gis4 c | b bes |
+    a8 e f4 | g d | gis f
+  }
+>>
+@end lilypond
index 646db44a20e2ea049083434d7faace3f5204fcdb..36666791cc392c060807e22d463034e662d3b5c9 100644 (file)
@@ -1,6 +1,6 @@
 \input texinfo @c -*- coding: utf-8; mode: texinfo; -*-
 @ignore
-    Translation of GIT committish: 007d0b5b94c36f9d9e228309d5b0e6a67ae27ebc
+    Translation of GIT committish: 6a56196b4b7dc895e7be90159f3b0fb94650fb9b
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  See TRANSLATION for details.
@@ -25,7 +25,7 @@
 @c don't remove this comment.
 @ignore
 @omfcreator Han-Wen Nienhuys, Jan Nieuwenhuizen and Graham Percival
-@omfdescription User manual of the LilyPond music engraving system
+@omfdescription Learning Manual of the LilyPond music engraving system
 @omftype program usage
 @omfcategory Applications|Publishing
 @omflanguage French
index 1db7f1862cc9e383f8fba10e1b36f977ef444c18..2655d490fb232b1375fb82b336134380108ae419 100644 (file)
@@ -1,6 +1,6 @@
 \input texinfo @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
 @ignore
-    Translation of GIT committish: a8a6ce84e2b7d1bdda6d3cad2f15e6c380edad11
+    Translation of GIT committish: 6a56196b4b7dc895e7be90159f3b0fb94650fb9b
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  See TRANSLATION for details.
@@ -24,7 +24,7 @@
 @c don't remove this comment.
 @ignore
 @omfcreator Han-Wen Nienhuys, Jan Nieuwenhuizen and Graham Percival
-@omfdescription User manual of the LilyPond music engraving system
+@omfdescription Program Usage of the LilyPond music engraving system
 @omftype user manual
 @omfcategory Applications|Publishing
 @omflanguage French
index 98a082aedc7b2b1e3dc7f9ccf94c2b680726f604..89024223bbda38649115428dd06e5010b11f36cf 100644 (file)
@@ -1,6 +1,6 @@
 \input texinfo @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
 @ignore
-    Translation of GIT committish: 007d0b5b94c36f9d9e228309d5b0e6a67ae27ebc
+    Translation of GIT committish: 6a56196b4b7dc895e7be90159f3b0fb94650fb9b
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  See TRANSLATION for details.
index fc269ae52d005507307ec27b37c58a3301e89964..4e9774f2e27afee0584ec4e6a6d6c937d5363f7d 100644 (file)
 @node Pitches
 @section Pitches
 
-This section discusses how to specify the pitch of notes.
+@lilypondfile[quote]{pitches-headword.ly}
+
+Cette section détaille la façon d'indiquer les hauteurs de notes, sous
+trois aspects : la saisie des hauteurs, la modification des hauteurs
+et les options de gravure.
 
 @menu
 * Writing pitches::             
@@ -25,7 +29,7 @@ This section discusses how to specify the pitch of notes.
 @node Writing pitches
 @subsection Writing pitches
 
-Intro text.
+Cette section
 
 @menu
 * Normal pitches::              
@@ -124,19 +128,10 @@ d e fis g
 @end lilypond
 
 
-@commonprop
-
-En accord avec les règles standards de l'écriture musicale, on imprime
-un bécarre avant un dièse ou un bémol si on a besoin d'annuler une
-altération précédente.  Pour modifier ce comportement, spécifiez
-@code{\set Staff.extraNatural = ##f}
-
-@lilypond[fragment,quote,ragged-right,verbatim,relative=2]
-ceses4 ces cis c
-\set Staff.extraNatural = ##f
-ceses4 ces cis c
-@end lilypond
+@snippets
 
+@lilypondfile[verbatim,lilyquote,ragged-right,texidoc]
+{preventing-extra-naturals-from-being-automatically-added.ly}
 
 @seealso
 
index 76716dc5b1e5b05318ca6e0daaeece0e7fad3e60..15823a4a1654e424b5852384dff6d8f0db8613bc 100644 (file)
@@ -1,20 +1,20 @@
 # translation of LilyPond documentation
 # Copyright (C) 2006 Han-Wen Nienhuys, Jan Nieuwenhuizen
 # This file is distributed under the same license as the lilypond package.
-# Till Rettig <till.rettig@gmx.de>, 2007.
+# Till Rettig <till.rettig@gmx.de>, 2007,2008
 # 
 # 
 msgid ""
 msgstr ""
 "Project-Id-Version: de\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2008-02-18 21:13+0100\n"
-"PO-Revision-Date: 2007-12-07 18:06+0200\n"
+"POT-Creation-Date: 2008-03-23 16:29+0100\n"
+"PO-Revision-Date: 2008-03-24 15:06+0200\n"
 "Last-Translator: Till Rettig <till.rettig@gmx.de>\n"
 "Language-Team: de\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
+"Content-Transfer-Encoding: 8bit"
 
 #: add_html_footer.py:44
 #, python-format
@@ -47,11 +47,11 @@ msgstr "Andere Sprachen: %s."
 msgid "About <A HREF=\"%s\">automatic language selection</A>."
 msgstr "Über die <A HREF=\"%s\">automatische Sprachauswahl</A>."
 
-#: add_html_footer.py:253
+#: add_html_footer.py:259
 msgid "stable-branch"
 msgstr "stabiler Zweig"
 
-#: add_html_footer.py:255
+#: add_html_footer.py:261
 msgid "development-branch"
 msgstr "Entwicklungszweig"
 
@@ -113,23 +113,25 @@ msgstr "LilyPond-Index"
 
 #. @subsubheading in ../../../Documentation/user/macros.itexi
 #. @subsubheading in ../../../Documentation/fr/user/macros.itexi
-#. @subsubheading in ../../../Documentation/es/user/macros.itexi
 #. @subsubheading in ../../../Documentation/de/user/macros.itexi
 msgid "Predefined commands"
 msgstr "Vordefinierte Befehle"
 
 #. @subsubheading in ../../../Documentation/user/macros.itexi
+#. @subsubheading in ../../../Documentation/fr/user/macros.itexi
+#. @subsubheading in ../../../Documentation/de/user/macros.itexi
 msgid "Selected Snippets"
-msgstr ""
+msgstr "Ausgewählte Schnipsel"
 
 #. @subsubheading in ../../../Documentation/user/macros.itexi
 #. @subsubheading in ../../../Documentation/fr/user/macros.itexi
-#. @subsubheading in ../../../Documentation/es/user/macros.itexi
 #. @subsubheading in ../../../Documentation/de/user/macros.itexi
 msgid "See also"
 msgstr "Siehe auch"
 
 #. @subsubheading in ../../../Documentation/user/macros.itexi
+#. @subsubheading in ../../../Documentation/fr/user/macros.itexi
+#. @subsubheading in ../../../Documentation/de/user/macros.itexi
 msgid "Known issues and warnings"
 msgstr "Bekannte Probleme und Warnungen"
 
@@ -222,10 +224,12 @@ msgid "About this manual"
 msgstr "Über das Handbuch"
 
 #. @subheading in ../../../Documentation/user/introduction.itely
+#. @subheading in ../../../Documentation/es/user/introduction.itely
 msgid "Learning Manual (LM)"
 msgstr "Handbuch zum Lernen (LH)"
 
 #. @subheading in ../../../Documentation/user/introduction.itely
+#. @subheading in ../../../Documentation/es/user/introduction.itely
 msgid "Notation Reference (NR)"
 msgstr "Notationsreferenz (NR)"
 
@@ -236,7 +240,7 @@ msgid "Appendices"
 msgstr "Anhang"
 
 #. @subheading in ../../../Documentation/user/introduction.itely
-#. @subsubheading in ../../../Documentation/es/user/introduction.itely
+#. @subheading in ../../../Documentation/es/user/introduction.itely
 #. @subheading in ../../../Documentation/de/user/introduction.itely
 msgid "Program usage"
 msgstr "Programmbenutzung"
@@ -248,6 +252,7 @@ msgid "Other information"
 msgstr "Mehr Information"
 
 #. @rglos in ../../../Documentation/user/tutorial.itely
+#. @rglos in ../../../Documentation/es/user/tutorial.itely
 msgid "foo"
 msgstr ""
 
@@ -339,6 +344,7 @@ msgid "Pitches"
 msgstr "Tonhöhen"
 
 #. @rglos in ../../../Documentation/user/tutorial.itely
+#. @rglos in ../../../Documentation/es/user/tutorial.itely
 #. @rglos in ../../../Documentation/de/user/tutorial.itely
 msgid "pitch"
 msgstr "Tonhöhe"
@@ -366,11 +372,13 @@ msgid "middle C"
 msgstr "eingestrichenes C"
 
 #. @rglos in ../../../Documentation/user/tutorial.itely
+#. @rglos in ../../../Documentation/es/user/tutorial.itely
 #. @rglos in ../../../Documentation/de/user/tutorial.itely
 msgid "octave"
 msgstr "Oktave"
 
 #. @rglos in ../../../Documentation/user/tutorial.itely
+#. @rglos in ../../../Documentation/es/user/tutorial.itely
 #. @rglos in ../../../Documentation/de/user/tutorial.itely
 msgid "accidental"
 msgstr "Versetzungszeichen"
@@ -431,7 +439,7 @@ msgstr "punktierte Note"
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/rhythms.itely
 #. @subheading in ../../../Documentation/es/user/tutorial.itely
 #. @node in ../../../Documentation/es/user/rhythms.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/rhythms.itely
+#. @subsubsection in ../../../Documentation/es/user/rhythms.itely
 #. @subheading in ../../../Documentation/de/user/tutorial.itely
 #. @node in ../../../Documentation/de/user/rhythms.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/rhythms.itely
@@ -452,7 +460,7 @@ msgstr "Pause"
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/rhythms.itely
 #. @subheading in ../../../Documentation/es/user/tutorial.itely
 #. @node in ../../../Documentation/es/user/rhythms.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/rhythms.itely
+#. @subsubsection in ../../../Documentation/es/user/rhythms.itely
 #. @subheading in ../../../Documentation/de/user/tutorial.itely
 #. @node in ../../../Documentation/de/user/rhythms.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/rhythms.itely
@@ -468,13 +476,13 @@ msgstr "Taktangabe"
 
 #. @subheading in ../../../Documentation/user/tutorial.itely
 #. @node in ../../../Documentation/user/pitches.itely
-#. @subsubsection in ../../../Documentation/user/pitches.itely
+#. @unnumberedsubsubsec in ../../../Documentation/user/pitches.itely
 #. @subheading in ../../../Documentation/fr/user/tutorial.itely
 #. @node in ../../../Documentation/fr/user/pitches.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/pitches.itely
 #. @subheading in ../../../Documentation/es/user/tutorial.itely
 #. @node in ../../../Documentation/es/user/pitches.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/pitches.itely
+#. @subsubsection in ../../../Documentation/es/user/pitches.itely
 #. @subheading in ../../../Documentation/de/user/tutorial.itely
 #. @node in ../../../Documentation/de/user/pitches.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/pitches.itely
@@ -517,6 +525,7 @@ msgid "How to read the manual"
 msgstr "Wie soll das Handbuch gelesen werden"
 
 #. @subheading in ../../../Documentation/user/tutorial.itely
+#. @subheading in ../../../Documentation/es/user/tutorial.itely
 #. @subheading in ../../../Documentation/de/user/tutorial.itely
 msgid "Clickable examples"
 msgstr "Anklickbare Beispiele"
@@ -545,13 +554,13 @@ msgstr "Versetzungszeichen und Tonartbezeichnung (Vorzeichen)"
 
 #. @subheading in ../../../Documentation/user/tutorial.itely
 #. @node in ../../../Documentation/user/pitches.itely
-#. @subsubsection in ../../../Documentation/user/pitches.itely
+#. @unnumberedsubsubsec in ../../../Documentation/user/pitches.itely
 #. @subheading in ../../../Documentation/fr/user/tutorial.itely
 #. @node in ../../../Documentation/fr/user/pitches.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/pitches.itely
 #. @subheading in ../../../Documentation/es/user/tutorial.itely
 #. @node in ../../../Documentation/es/user/pitches.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/pitches.itely
+#. @subsubsection in ../../../Documentation/es/user/pitches.itely
 #. @subheading in ../../../Documentation/de/user/tutorial.itely
 #. @node in ../../../Documentation/de/user/pitches.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/pitches.itely
@@ -629,6 +638,7 @@ msgstr "Transposition"
 
 #. @rglos in ../../../Documentation/user/tutorial.itely
 #. @rglos in ../../../Documentation/user/pitches.itely
+#. @rglos in ../../../Documentation/es/user/pitches.itely
 #. @rglos in ../../../Documentation/de/user/tutorial.itely
 msgid "Pitch names"
 msgstr "Tonhöhenbezeichnungen"
@@ -651,8 +661,8 @@ msgstr "Bindebögen und Legatobögen"
 #. @node in ../../../Documentation/fr/user/expressive.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/expressive.itely
 #. @subheading in ../../../Documentation/es/user/tutorial.itely
-#. @node in ../../../Documentation/es/user/expressive.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/expressive.itely
+#. @node in ../../../Documentation/es/user/rhythms.itely
+#. @subsubsection in ../../../Documentation/es/user/rhythms.itely
 #. @subheading in ../../../Documentation/de/user/tutorial.itely
 #. @node in ../../../Documentation/de/user/expressive.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/expressive.itely
@@ -663,6 +673,7 @@ msgstr "Bindebögen"
 #. @rglos in ../../../Documentation/user/rhythms.itely
 #. @rglos in ../../../Documentation/fr/user/tutorial.itely
 #. @rglos in ../../../Documentation/es/user/tutorial.itely
+#. @rglos in ../../../Documentation/es/user/rhythms.itely
 #. @rglos in ../../../Documentation/de/user/tutorial.itely
 msgid "tie"
 msgstr "Bindebogen"
@@ -675,7 +686,7 @@ msgstr "Bindebogen"
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/expressive.itely
 #. @subheading in ../../../Documentation/es/user/tutorial.itely
 #. @node in ../../../Documentation/es/user/expressive.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/expressive.itely
+#. @subsubsection in ../../../Documentation/es/user/expressive.itely
 #. @subheading in ../../../Documentation/de/user/tutorial.itely
 #. @node in ../../../Documentation/de/user/expressive.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/expressive.itely
@@ -683,6 +694,7 @@ msgid "Slurs"
 msgstr "Legatobögen"
 
 #. @rglos in ../../../Documentation/user/tutorial.itely
+#. @rglos in ../../../Documentation/user/expressive.itely
 #. @rglos in ../../../Documentation/fr/user/tutorial.itely
 #. @rglos in ../../../Documentation/es/user/tutorial.itely
 #. @rglos in ../../../Documentation/de/user/tutorial.itely
@@ -697,7 +709,7 @@ msgstr "Legatobogen"
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/expressive.itely
 #. @subheading in ../../../Documentation/es/user/tutorial.itely
 #. @node in ../../../Documentation/es/user/expressive.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/expressive.itely
+#. @subsubsection in ../../../Documentation/es/user/expressive.itely
 #. @subheading in ../../../Documentation/de/user/tutorial.itely
 #. @node in ../../../Documentation/de/user/expressive.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/expressive.itely
@@ -705,9 +717,8 @@ msgid "Phrasing slurs"
 msgstr "Phrasierungsbögen"
 
 #. @rglos in ../../../Documentation/user/tutorial.itely
-#, fuzzy
 msgid "slurs"
-msgstr "Legatobogen"
+msgstr "Legatobögen"
 
 #. @rglos in ../../../Documentation/user/tutorial.itely
 #. @rglos in ../../../Documentation/de/user/tutorial.itely
@@ -744,8 +755,6 @@ msgstr "Artikulationszeichen und Lautstärke"
 #. @node in ../../../Documentation/fr/user/expressive.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/expressive.itely
 #. @subheading in ../../../Documentation/es/user/tutorial.itely
-#. @node in ../../../Documentation/es/user/expressive.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/expressive.itely
 #. @subheading in ../../../Documentation/de/user/tutorial.itely
 #. @node in ../../../Documentation/de/user/expressive.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/expressive.itely
@@ -773,7 +782,7 @@ msgstr "Fingersatz"
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/expressive.itely
 #. @subheading in ../../../Documentation/es/user/tutorial.itely
 #. @node in ../../../Documentation/es/user/expressive.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/expressive.itely
+#. @subsubsection in ../../../Documentation/es/user/expressive.itely
 #. @subheading in ../../../Documentation/de/user/tutorial.itely
 #. @node in ../../../Documentation/de/user/expressive.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/expressive.itely
@@ -787,18 +796,22 @@ msgstr "Dynamik"
 
 #. @rglos in ../../../Documentation/user/tutorial.itely
 #. @rglos in ../../../Documentation/user/expressive.itely
+#. @rglos in ../../../Documentation/es/user/expressive.itely
 #. @rglos in ../../../Documentation/de/user/tutorial.itely
 msgid "crescendo"
 msgstr "Crescendo"
 
 #. @rglos in ../../../Documentation/user/tutorial.itely
 #. @rglos in ../../../Documentation/user/expressive.itely
+#. @rglos in ../../../Documentation/es/user/expressive.itely
 #. @rglos in ../../../Documentation/de/user/tutorial.itely
 msgid "decrescendo"
 msgstr "Decrescendo"
 
 #. @node in ../../../Documentation/user/tutorial.itely
 #. @subsection in ../../../Documentation/user/tutorial.itely
+#. @node in ../../../Documentation/es/user/tutorial.itely
+#. @subsection in ../../../Documentation/es/user/tutorial.itely
 #. @node in ../../../Documentation/de/user/tutorial.itely
 #. @subsection in ../../../Documentation/de/user/tutorial.itely
 msgid "Adding text"
@@ -847,7 +860,7 @@ msgstr "Auftakt"
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/rhythms.itely
 #. @subheading in ../../../Documentation/es/user/tutorial.itely
 #. @node in ../../../Documentation/es/user/rhythms.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/rhythms.itely
+#. @subsubsection in ../../../Documentation/es/user/rhythms.itely
 #. @subheading in ../../../Documentation/de/user/tutorial.itely
 #. @node in ../../../Documentation/de/user/rhythms.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/rhythms.itely
@@ -856,12 +869,14 @@ msgstr "Andere rhythmische Aufteilungen"
 
 #. @rglos in ../../../Documentation/user/tutorial.itely
 #. @rglos in ../../../Documentation/user/rhythms.itely
+#. @rglos in ../../../Documentation/es/user/rhythms.itely
 #. @rglos in ../../../Documentation/de/user/tutorial.itely
 msgid "note value"
 msgstr "Notenwert"
 
 #. @rglos in ../../../Documentation/user/tutorial.itely
 #. @rglos in ../../../Documentation/user/rhythms.itely
+#. @rglos in ../../../Documentation/es/user/rhythms.itely
 #. @rglos in ../../../Documentation/de/user/tutorial.itely
 msgid "triplet"
 msgstr "Triole"
@@ -874,7 +889,7 @@ msgstr "Triole"
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/rhythms.itely
 #. @subheading in ../../../Documentation/es/user/tutorial.itely
 #. @node in ../../../Documentation/es/user/rhythms.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/rhythms.itely
+#. @subsubsection in ../../../Documentation/es/user/rhythms.itely
 #. @subheading in ../../../Documentation/de/user/tutorial.itely
 #. @node in ../../../Documentation/de/user/rhythms.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/rhythms.itely
@@ -889,7 +904,6 @@ msgstr "Verzierungen"
 
 #. @rglos in ../../../Documentation/user/tutorial.itely
 #. @rglos in ../../../Documentation/user/rhythms.itely
-#, fuzzy
 msgid "acciaccatura"
 msgstr "Vorschlag"
 
@@ -960,13 +974,16 @@ msgstr "Mehrere Notensysteme"
 
 #. @node in ../../../Documentation/user/tutorial.itely
 #. @subsection in ../../../Documentation/user/tutorial.itely
+#. @node in ../../../Documentation/es/user/tutorial.itely
+#. @subsection in ../../../Documentation/es/user/tutorial.itely
 #. @node in ../../../Documentation/de/user/tutorial.itely
 #. @subsection in ../../../Documentation/de/user/tutorial.itely
 msgid "Staff groups"
-msgstr ""
+msgstr "Notensysteme gruppieren"
 
 #. @rglos in ../../../Documentation/user/tutorial.itely
 #. @rglos in ../../../Documentation/user/staff.itely
+#. @rglos in ../../../Documentation/es/user/tutorial.itely
 #. @rglos in ../../../Documentation/de/user/tutorial.itely
 msgid "brace"
 msgstr "Klammer"
@@ -984,6 +1001,7 @@ msgstr "Noten zu Akkorden verbinden"
 
 #. @rglos in ../../../Documentation/user/tutorial.itely
 #. @rglos in ../../../Documentation/user/simultaneous.itely
+#. @rglos in ../../../Documentation/es/user/simultaneous.itely
 #. @rglos in ../../../Documentation/de/user/tutorial.itely
 msgid "chord"
 msgstr "Akkord"
@@ -1016,8 +1034,10 @@ msgstr "Lieder"
 #. @subsubsection in ../../../Documentation/user/vocal.itely
 #. @node in ../../../Documentation/fr/user/vocal.itely
 #. @unnumberedsubsubsec 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
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/vocal.itely
+#. @subsubsection in ../../../Documentation/es/user/vocal.itely
 #. @node in ../../../Documentation/de/user/tutorial.itely
 #. @subsection in ../../../Documentation/de/user/tutorial.itely
 #. @node in ../../../Documentation/de/user/vocal.itely
@@ -1026,6 +1046,7 @@ msgid "Setting simple songs"
 msgstr "Einfache Lieder setzen"
 
 #. @rglos in ../../../Documentation/user/tutorial.itely
+#. @rglos in ../../../Documentation/es/user/tutorial.itely
 #. @rglos in ../../../Documentation/de/user/tutorial.itely
 msgid "lyrics"
 msgstr "Gesangtext"
@@ -1036,8 +1057,10 @@ msgstr "Gesangtext"
 #. @subsection in ../../../Documentation/user/vocal.itely
 #. @node in ../../../Documentation/fr/user/vocal.itely
 #. @unnumberedsubsubsec 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
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/vocal.itely
+#. @subsection in ../../../Documentation/es/user/vocal.itely
 #. @node in ../../../Documentation/de/user/tutorial.itely
 #. @subsection in ../../../Documentation/de/user/tutorial.itely
 #. @node in ../../../Documentation/de/user/vocal.itely
@@ -1053,12 +1076,15 @@ msgid "melisma"
 msgstr "Melisma"
 
 #. @rglos in ../../../Documentation/user/tutorial.itely
+#. @rglos in ../../../Documentation/es/user/tutorial.itely
 #. @rglos in ../../../Documentation/de/user/tutorial.itely
 msgid "extender line"
 msgstr "Fülllinie"
 
 #. @node in ../../../Documentation/user/tutorial.itely
 #. @subsection in ../../../Documentation/user/tutorial.itely
+#. @node in ../../../Documentation/es/user/tutorial.itely
+#. @subsection in ../../../Documentation/es/user/tutorial.itely
 #. @node in ../../../Documentation/de/user/tutorial.itely
 #. @subsection in ../../../Documentation/de/user/tutorial.itely
 msgid "Lyrics to multiple staves"
@@ -1077,6 +1103,8 @@ msgstr "Letzter Schliff"
 
 #. @node in ../../../Documentation/user/tutorial.itely
 #. @subsection in ../../../Documentation/user/tutorial.itely
+#. @node in ../../../Documentation/es/user/tutorial.itely
+#. @subsection in ../../../Documentation/es/user/tutorial.itely
 #. @node in ../../../Documentation/de/user/tutorial.itely
 #. @subsection in ../../../Documentation/de/user/tutorial.itely
 msgid "Organizing pieces with variables"
@@ -1130,6 +1158,8 @@ msgstr "Nach der Übung"
 #. @chapter in ../../../Documentation/user/fundamental.itely
 #. @node in ../../../Documentation/fr/user/fundamental.itely
 #. @chapter in ../../../Documentation/fr/user/fundamental.itely
+#. @node in ../../../Documentation/es/user/fundamental.itely
+#. @chapter in ../../../Documentation/es/user/fundamental.itely
 #. @node in ../../../Documentation/de/user/fundamental.itely
 #. @chapter in ../../../Documentation/de/user/fundamental.itely
 msgid "Fundamental concepts"
@@ -1139,8 +1169,8 @@ msgstr "Grundbegriffe"
 #. @section in ../../../Documentation/user/fundamental.itely
 #. @node in ../../../Documentation/fr/user/fundamental.itely
 #. @section in ../../../Documentation/fr/user/fundamental.itely
-#. @node in ../../../Documentation/es/user/putting.itely
-#. @section in ../../../Documentation/es/user/putting.itely
+#. @node in ../../../Documentation/es/user/fundamental.itely
+#. @section in ../../../Documentation/es/user/fundamental.itely
 #. @node in ../../../Documentation/de/user/putting.itely
 #. @section in ../../../Documentation/de/user/putting.itely
 #. @node in ../../../Documentation/de/user/fundamental.itely
@@ -1152,6 +1182,8 @@ msgstr "Wie eine LilyPond-Datei funktioniert"
 #. @subsection in ../../../Documentation/user/fundamental.itely
 #. @node in ../../../Documentation/fr/user/fundamental.itely
 #. @subsection in ../../../Documentation/fr/user/fundamental.itely
+#. @node in ../../../Documentation/es/user/fundamental.itely
+#. @subsection in ../../../Documentation/es/user/fundamental.itely
 #. @node in ../../../Documentation/de/user/fundamental.itely
 #. @subsection in ../../../Documentation/de/user/fundamental.itely
 msgid "Introduction to the LilyPond file structure"
@@ -1161,6 +1193,8 @@ msgstr "Einführung in die Dateistruktur von LilyPond"
 #. @subsection in ../../../Documentation/user/fundamental.itely
 #. @node in ../../../Documentation/fr/user/fundamental.itely
 #. @subsection in ../../../Documentation/fr/user/fundamental.itely
+#. @node in ../../../Documentation/es/user/fundamental.itely
+#. @subsection in ../../../Documentation/es/user/fundamental.itely
 #. @node in ../../../Documentation/de/user/fundamental.itely
 #. @subsection in ../../../Documentation/de/user/fundamental.itely
 msgid "Score is a (single) compound musical expression"
@@ -1170,15 +1204,17 @@ msgstr "Score ist ein (einziger)  zusammengesetzter musikalischer Ausdruck"
 #. @subsection in ../../../Documentation/user/fundamental.itely
 #. @node in ../../../Documentation/fr/user/fundamental.itely
 #. @subsection in ../../../Documentation/fr/user/fundamental.itely
+#. @node in ../../../Documentation/es/user/fundamental.itely
+#. @subsection in ../../../Documentation/es/user/fundamental.itely
 #. @node in ../../../Documentation/de/user/fundamental.itely
 #. @subsection in ../../../Documentation/de/user/fundamental.itely
-#, fuzzy
 msgid "Nesting music expressions"
-msgstr "Musikalische Ausdrücke verschachteln"
+msgstr "Musikalische Ausdrücke ineinander verschachteln"
 
 #. @rglos in ../../../Documentation/user/fundamental.itely
 #. @rglos in ../../../Documentation/user/tweaks.itely
 #. @rglos in ../../../Documentation/user/staff.itely
+#. @rglos in ../../../Documentation/es/user/fundamental.itely
 msgid "ossia"
 msgstr "Ossia"
 
@@ -1186,6 +1222,8 @@ msgstr "Ossia"
 #. @subsection in ../../../Documentation/user/fundamental.itely
 #. @node in ../../../Documentation/fr/user/fundamental.itely
 #. @subsection in ../../../Documentation/fr/user/fundamental.itely
+#. @node in ../../../Documentation/es/user/fundamental.itely
+#. @subsection in ../../../Documentation/es/user/fundamental.itely
 #. @node in ../../../Documentation/de/user/fundamental.itely
 #. @subsection in ../../../Documentation/de/user/fundamental.itely
 msgid "On the un-nestedness of brackets and ties"
@@ -1195,6 +1233,8 @@ msgstr "Über die Nicht-Schachtelung von Klammern und Bindebögen"
 #. @section in ../../../Documentation/user/fundamental.itely
 #. @node in ../../../Documentation/fr/user/fundamental.itely
 #. @section in ../../../Documentation/fr/user/fundamental.itely
+#. @node in ../../../Documentation/es/user/fundamental.itely
+#. @section in ../../../Documentation/es/user/fundamental.itely
 #. @node in ../../../Documentation/de/user/fundamental.itely
 #. @section in ../../../Documentation/de/user/fundamental.itely
 msgid "Voices contain music"
@@ -1204,6 +1244,8 @@ msgstr "Voice enthält Noten"
 #. @subsection in ../../../Documentation/user/fundamental.itely
 #. @node in ../../../Documentation/fr/user/fundamental.itely
 #. @subsection in ../../../Documentation/fr/user/fundamental.itely
+#. @node in ../../../Documentation/es/user/fundamental.itely
+#. @subsection in ../../../Documentation/es/user/fundamental.itely
 #. @node in ../../../Documentation/de/user/fundamental.itely
 #. @subsection in ../../../Documentation/de/user/fundamental.itely
 msgid "I'm hearing Voices"
@@ -1213,8 +1255,10 @@ msgstr "Ich höre Stimmen"
 #. @subsection in ../../../Documentation/user/fundamental.itely
 #. @node in ../../../Documentation/fr/user/fundamental.itely
 #. @subsection in ../../../Documentation/fr/user/fundamental.itely
+#. @node in ../../../Documentation/es/user/fundamental.itely
+#. @subsection in ../../../Documentation/es/user/fundamental.itely
 #. @node in ../../../Documentation/es/user/simultaneous.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/simultaneous.itely
+#. @subsubsection in ../../../Documentation/es/user/simultaneous.itely
 #. @node in ../../../Documentation/de/user/fundamental.itely
 #. @subsection in ../../../Documentation/de/user/fundamental.itely
 #. @node in ../../../Documentation/de/user/simultaneous.itely
@@ -1226,6 +1270,8 @@ msgstr "Stimmen explizit beginnen"
 #. @subsection in ../../../Documentation/user/fundamental.itely
 #. @node in ../../../Documentation/fr/user/fundamental.itely
 #. @subsection in ../../../Documentation/fr/user/fundamental.itely
+#. @node in ../../../Documentation/es/user/fundamental.itely
+#. @subsection in ../../../Documentation/es/user/fundamental.itely
 #. @node in ../../../Documentation/de/user/fundamental.itely
 #. @subsection in ../../../Documentation/de/user/fundamental.itely
 msgid "Voices and vocals"
@@ -1235,6 +1281,8 @@ msgstr "Stimmen und Text"
 #. @section in ../../../Documentation/user/fundamental.itely
 #. @node in ../../../Documentation/fr/user/fundamental.itely
 #. @section in ../../../Documentation/fr/user/fundamental.itely
+#. @node in ../../../Documentation/es/user/fundamental.itely
+#. @section in ../../../Documentation/es/user/fundamental.itely
 #. @node in ../../../Documentation/de/user/fundamental.itely
 #. @section in ../../../Documentation/de/user/fundamental.itely
 msgid "Contexts and engravers"
@@ -1246,6 +1294,8 @@ msgstr "Kontexte und Engraver"
 #. @subsection in ../../../Documentation/user/changing-defaults.itely
 #. @node in ../../../Documentation/fr/user/fundamental.itely
 #. @subsection in ../../../Documentation/fr/user/fundamental.itely
+#. @node in ../../../Documentation/es/user/fundamental.itely
+#. @subsection in ../../../Documentation/es/user/fundamental.itely
 #. @node in ../../../Documentation/es/user/changing-defaults.itely
 #. @subsection in ../../../Documentation/es/user/changing-defaults.itely
 #. @node in ../../../Documentation/de/user/fundamental.itely
@@ -1261,6 +1311,8 @@ msgstr "Was sind Umgebungen?"
 #. @subsection in ../../../Documentation/user/changing-defaults.itely
 #. @node in ../../../Documentation/fr/user/fundamental.itely
 #. @subsection in ../../../Documentation/fr/user/fundamental.itely
+#. @node in ../../../Documentation/es/user/fundamental.itely
+#. @subsection in ../../../Documentation/es/user/fundamental.itely
 #. @node in ../../../Documentation/es/user/changing-defaults.itely
 #. @subsection in ../../../Documentation/es/user/changing-defaults.itely
 #. @node in ../../../Documentation/de/user/fundamental.itely
@@ -1274,6 +1326,8 @@ msgstr "Umgebungen erstellen"
 #. @subsection in ../../../Documentation/user/fundamental.itely
 #. @node in ../../../Documentation/fr/user/fundamental.itely
 #. @subsection in ../../../Documentation/fr/user/fundamental.itely
+#. @node in ../../../Documentation/es/user/fundamental.itely
+#. @subsection in ../../../Documentation/es/user/fundamental.itely
 #. @node in ../../../Documentation/de/user/fundamental.itely
 #. @subsection in ../../../Documentation/de/user/fundamental.itely
 msgid "Engravers explained"
@@ -1283,6 +1337,8 @@ msgstr "Was sind Engraver?"
 #. @subsection in ../../../Documentation/user/fundamental.itely
 #. @node in ../../../Documentation/fr/user/fundamental.itely
 #. @subsection in ../../../Documentation/fr/user/fundamental.itely
+#. @node in ../../../Documentation/es/user/fundamental.itely
+#. @subsection in ../../../Documentation/es/user/fundamental.itely
 #. @node in ../../../Documentation/de/user/fundamental.itely
 #. @subsection in ../../../Documentation/de/user/fundamental.itely
 msgid "Modifying context properties"
@@ -1292,34 +1348,37 @@ msgstr "Umgebungs-Eignschaften verändern"
 #. @subsection in ../../../Documentation/user/fundamental.itely
 #. @node in ../../../Documentation/fr/user/fundamental.itely
 #. @subsection in ../../../Documentation/fr/user/fundamental.itely
+#. @node in ../../../Documentation/es/user/fundamental.itely
+#. @subsection in ../../../Documentation/es/user/fundamental.itely
 #. @node in ../../../Documentation/de/user/fundamental.itely
 #. @subsection in ../../../Documentation/de/user/fundamental.itely
 msgid "Adding and removing engravers"
 msgstr "Engraver hinzufügen und entfernen"
 
-#. @subsubsection in ../../../Documentation/user/fundamental.itely
+#. @subsubheading in ../../../Documentation/user/fundamental.itely
+#. @subsubheading in ../../../Documentation/es/user/fundamental.itely
 #. @subsubsection in ../../../Documentation/de/user/fundamental.itely
-#, fuzzy
 msgid "Changing a single context"
-msgstr "Neue Umgebungen definieren"
+msgstr "Einen einzelnen Kontext verändern"
 
 #. @rglos in ../../../Documentation/user/fundamental.itely
 #. @rglos in ../../../Documentation/user/pitches.itely
+#. @rglos in ../../../Documentation/es/user/fundamental.itely
 msgid "ambitus"
 msgstr "Tonumfang"
 
-#. @subsubsection in ../../../Documentation/user/fundamental.itely
+#. @subsubheading in ../../../Documentation/user/fundamental.itely
+#. @subsubheading in ../../../Documentation/es/user/fundamental.itely
 #. @subsubsection in ../../../Documentation/de/user/fundamental.itely
-#, fuzzy
 msgid "Changing all contexts of the same type"
-msgstr "Umgebungseigenschaften lokal ändern"
+msgstr "Alle Kontexte des gleichen Typs verändern"
 
 #. @node in ../../../Documentation/user/fundamental.itely
 #. @section in ../../../Documentation/user/fundamental.itely
 #. @node in ../../../Documentation/fr/user/fundamental.itely
 #. @section in ../../../Documentation/fr/user/fundamental.itely
-#. @node in ../../../Documentation/es/user/putting.itely
-#. @section in ../../../Documentation/es/user/putting.itely
+#. @node in ../../../Documentation/es/user/fundamental.itely
+#. @section in ../../../Documentation/es/user/fundamental.itely
 #. @node in ../../../Documentation/de/user/putting.itely
 #. @section in ../../../Documentation/de/user/putting.itely
 #. @node in ../../../Documentation/de/user/fundamental.itely
@@ -1331,6 +1390,8 @@ msgstr "Erweiterung der Beispiele"
 #. @subsection in ../../../Documentation/user/fundamental.itely
 #. @node in ../../../Documentation/fr/user/fundamental.itely
 #. @subsection in ../../../Documentation/fr/user/fundamental.itely
+#. @node in ../../../Documentation/es/user/fundamental.itely
+#. @subsection in ../../../Documentation/es/user/fundamental.itely
 #. @node in ../../../Documentation/de/user/fundamental.itely
 #. @subsection in ../../../Documentation/de/user/fundamental.itely
 msgid "Soprano and cello"
@@ -1340,6 +1401,8 @@ msgstr "Sopran und Cello"
 #. @subsection in ../../../Documentation/user/fundamental.itely
 #. @node in ../../../Documentation/fr/user/fundamental.itely
 #. @subsection in ../../../Documentation/fr/user/fundamental.itely
+#. @node in ../../../Documentation/es/user/fundamental.itely
+#. @subsection in ../../../Documentation/es/user/fundamental.itely
 #. @node in ../../../Documentation/de/user/fundamental.itely
 #. @subsection in ../../../Documentation/de/user/fundamental.itely
 msgid "Four-part SATB vocal score"
@@ -1349,6 +1412,8 @@ msgstr "Vierstimmige SATB-Partitur"
 #. @subsection in ../../../Documentation/user/fundamental.itely
 #. @node in ../../../Documentation/fr/user/fundamental.itely
 #. @subsection in ../../../Documentation/fr/user/fundamental.itely
+#. @node in ../../../Documentation/es/user/fundamental.itely
+#. @subsection in ../../../Documentation/es/user/fundamental.itely
 #. @node in ../../../Documentation/de/user/fundamental.itely
 #. @subsection in ../../../Documentation/de/user/fundamental.itely
 msgid "Building a score from scratch"
@@ -1367,154 +1432,139 @@ msgstr "Die Ausgabe verändern"
 
 #. @node in ../../../Documentation/user/tweaks.itely
 #. @section in ../../../Documentation/user/tweaks.itely
-#, fuzzy
 msgid "Tweaking basics"
-msgstr "Die Ausgabe verändern"
+msgstr "Grundlagen für die Optimierung"
 
 #. @node in ../../../Documentation/user/tweaks.itely
 #. @subsection in ../../../Documentation/user/tweaks.itely
-#, fuzzy
 msgid "Introduction to tweaks"
-msgstr "Eine Korrektur konstruieren"
+msgstr "Grundlagen zur Optimierung"
 
 #. @node in ../../../Documentation/user/tweaks.itely
 #. @subsection in ../../../Documentation/user/tweaks.itely
-#, fuzzy
 msgid "Objects and interfaces"
-msgstr "Layout-Schnittstellen"
+msgstr "Objekte und Schnittstellen"
 
 #. @node in ../../../Documentation/user/tweaks.itely
 #. @subsection in ../../../Documentation/user/tweaks.itely
 msgid "Naming conventions of objects and properties"
-msgstr ""
+msgstr "Regeln zur Benennung von Objekten und Eigenschaften"
 
 #. @node in ../../../Documentation/user/tweaks.itely
 #. @subsection in ../../../Documentation/user/tweaks.itely
-#, fuzzy
 msgid "Tweaking methods"
-msgstr "Die Ausgabe verändern"
+msgstr "Optimierungsmethoden"
 
 #. @node in ../../../Documentation/user/tweaks.itely
 #. @section in ../../../Documentation/user/tweaks.itely
 msgid "The Internals Reference manual"
-msgstr ""
+msgstr "Die Referenz der Programminterna"
 
 #. @node in ../../../Documentation/user/tweaks.itely
 #. @subsection in ../../../Documentation/user/tweaks.itely
 msgid "Properties of layout objects"
-msgstr ""
+msgstr "Eigenschaften von Layoutobjekten"
 
 #. @subheading in ../../../Documentation/user/tweaks.itely
-#, fuzzy
 msgid "Finding the context"
-msgstr "Neue Umgebungen definieren"
+msgstr "Den Kontext finden"
 
 #. @subheading in ../../../Documentation/user/tweaks.itely
 msgid "Overriding once only"
-msgstr ""
+msgstr "Nur einmal mit \\override verändern"
 
 #. @subheading in ../../../Documentation/user/tweaks.itely
-#, fuzzy
 msgid "Reverting"
-msgstr "Fehler melden"
+msgstr "Rückgängig machen"
 
 #. @node in ../../../Documentation/user/tweaks.itely
 #. @subsection in ../../../Documentation/user/tweaks.itely
-#, fuzzy
 msgid "Properties found in interfaces"
-msgstr "Schnittstelle für Programmierer"
+msgstr "Eigenschaften, die Schnittstellen besitzen können"
 
 #. @subheading in ../../../Documentation/user/tweaks.itely
-#, fuzzy
-msgid "Specifying context in lyric mode"
-msgstr "Melismen innerhalb des Textes bestimmen"
+msgid "Specifying the context in lyric mode"
+msgstr "Den Kontext im Liedtextmodus bestimmen"
 
 #. @node in ../../../Documentation/user/tweaks.itely
 #. @subsection in ../../../Documentation/user/tweaks.itely
-#, fuzzy
 msgid "Types of properties"
-msgstr "Eigenschaften von Musikobjekten"
+msgstr "Typen von Eigenschaften"
 
 #. @node in ../../../Documentation/user/tweaks.itely
 #. @section in ../../../Documentation/user/tweaks.itely
 msgid "Appearance of objects"
-msgstr ""
+msgstr "Erscheinung von Objekten"
 
 #. @node in ../../../Documentation/user/tweaks.itely
 #. @subsection in ../../../Documentation/user/tweaks.itely
 msgid "Visibility and color of objects"
-msgstr ""
+msgstr "Sichtbarkeit und Farbe von Objekten"
 
 #. @subheading in ../../../Documentation/user/tweaks.itely
 msgid "stencil"
-msgstr ""
+msgstr "stencil (Matrize)"
 
 #. @subheading in ../../../Documentation/user/tweaks.itely
 msgid "break-visibility"
-msgstr ""
+msgstr "break-visibility (unsichtbar machen)"
 
 #. @subheading in ../../../Documentation/user/tweaks.itely
-#, fuzzy
 msgid "transparent"
-msgstr "Transposition"
+msgstr "transparent (durchsichtig)"
 
 #. @subheading in ../../../Documentation/user/tweaks.itely
-#, fuzzy
 msgid "color"
-msgstr "Akkord"
+msgstr "color (Farbe)"
 
 #. @node in ../../../Documentation/user/tweaks.itely
 #. @subsection in ../../../Documentation/user/tweaks.itely
-#, fuzzy
+#. @node in ../../../Documentation/es/user/tweaks.itely
+#. @subsection in ../../../Documentation/es/user/tweaks.itely
 msgid "Size of objects"
-msgstr "Verschieben von Objekten"
+msgstr "Größe von Objekten"
 
 #. @node in ../../../Documentation/user/tweaks.itely
 #. @subsection in ../../../Documentation/user/tweaks.itely
 msgid "Length and thickness of objects"
-msgstr ""
+msgstr "Länge und Dicke von Objekten"
 
 #. @node in ../../../Documentation/user/tweaks.itely
 #. @section in ../../../Documentation/user/tweaks.itely
-#, fuzzy
 msgid "Placement of objects"
-msgstr "Verschieben von Objekten"
+msgstr "Positionierung von Objekten"
 
 #. @node in ../../../Documentation/user/tweaks.itely
 #. @subsection in ../../../Documentation/user/tweaks.itely
-#, fuzzy
 msgid "Automatic behaviour"
-msgstr "Automatische Balken"
+msgstr "Automatisches Verhalten"
 
 #. @node in ../../../Documentation/user/tweaks.itely
 #. @subsection in ../../../Documentation/user/tweaks.itely
 msgid "Within-staff objects"
-msgstr ""
+msgstr "withing-staff (Objekte innerhalb des Notensystems)"
 
 #. @subheading in ../../../Documentation/user/tweaks.itely
-#, fuzzy
 msgid "Fingering"
 msgstr "Fingersatz"
 
 #. @node in ../../../Documentation/user/tweaks.itely
 #. @subsection in ../../../Documentation/user/tweaks.itely
-#, fuzzy
 msgid "Outside staff objects"
-msgstr "Außerhalb des Notensystems"
+msgstr "Objekte außerhalb des Notensystems"
 
 #. @subheading in ../../../Documentation/user/tweaks.itely
 msgid "\\textLengthOn"
-msgstr ""
+msgstr "\\textLengthOn (Textlänge berücksichtigen)"
 
 #. @subheading in ../../../Documentation/user/tweaks.itely
 msgid "Grob sizing"
-msgstr ""
+msgstr "Verändern der Größe von grobs"
 
 #. @node in ../../../Documentation/user/tweaks.itely
 #. @section in ../../../Documentation/user/tweaks.itely
-#, fuzzy
 msgid "Collisions of objects"
-msgstr "Farbige Objekte"
+msgstr "Kollision von Objekten"
 
 #. @node in ../../../Documentation/user/tweaks.itely
 #. @subsection in ../../../Documentation/user/tweaks.itely
@@ -1540,71 +1590,66 @@ msgstr "Überlappende Notation in Ordnung bringen"
 
 #. @subheading in ../../../Documentation/user/tweaks.itely
 msgid "padding property"
-msgstr ""
+msgstr "padding (Fülleigenschafte)"
 
 #. @subheading in ../../../Documentation/user/tweaks.itely
 msgid "left-padding and right-padding"
-msgstr ""
+msgstr "left-padding (Verschieben nach rechts) und right-padding (Verschieben nach links)"
 
 #. @subheading in ../../../Documentation/user/tweaks.itely
 msgid "staff-padding property"
-msgstr ""
+msgstr "staff-padding (Systemfüllungseigenschaft)"
 
 #. @subheading in ../../../Documentation/user/tweaks.itely
 msgid "self-alignment-X property"
-msgstr ""
+msgstr "self-alignment-X (Selbstausrichtung-X-Eigenschaft)"
 
 #. @subheading in ../../../Documentation/user/tweaks.itely
 msgid "staff-position property"
-msgstr ""
+msgstr "staff-position (Position innerhalb des Systems)"
 
 #. @subheading in ../../../Documentation/user/tweaks.itely
 msgid "extra-offset property"
-msgstr ""
+msgstr "extra-offset (Genaues Positionieren)"
 
 #. @subheading in ../../../Documentation/user/tweaks.itely
 msgid "positions property"
-msgstr ""
+msgstr "Ausrichtungseigenschaft"
 
 #. @subheading in ../../../Documentation/user/tweaks.itely
 msgid "force-hshift property"
-msgstr ""
+msgstr "force-hshift (vertikale Verschiebunseigenschaft)"
 
 #. @node in ../../../Documentation/user/tweaks.itely
 #. @subsection in ../../../Documentation/user/tweaks.itely
-#, fuzzy
 msgid "Real music example"
-msgstr "Anklickbare Beispiele"
+msgstr "Beispiele aus dem Leben"
 
 #. @node in ../../../Documentation/user/tweaks.itely
 #. @section in ../../../Documentation/user/tweaks.itely
 msgid "Further tweaking"
-msgstr ""
+msgstr "Weitere Optimierungen"
 
 #. @node in ../../../Documentation/user/tweaks.itely
 #. @subsection in ../../../Documentation/user/tweaks.itely
-#, fuzzy
 msgid "Other uses for tweaks"
-msgstr "Andere übliche Optimierungen"
+msgstr "Andere Benutzung von Optimierungen"
 
 #. @subheading in ../../../Documentation/user/tweaks.itely
-#, fuzzy
 msgid "Tying notes across voices"
-msgstr "Stichnoten"
+msgstr "Noten zwischen unterschiedlichen Stimmen überbinden"
 
 #. @subheading in ../../../Documentation/user/tweaks.itely
 msgid "Simulating a fermata"
-msgstr ""
+msgstr "Eine Fermate simulieren"
 
 #. @node in ../../../Documentation/user/tweaks.itely
 #. @subsection in ../../../Documentation/user/tweaks.itely
-#, fuzzy
 msgid "Using variables for tweaks"
-msgstr "Eine zusätzliche Stimme für Umbrüche benutzen"
+msgstr "Variablen für Optimierungen einsetzen"
 
 #. @node in ../../../Documentation/user/tweaks.itely
 #. @subsection in ../../../Documentation/user/tweaks.itely
-#, fuzzy
 msgid "Other sources of information"
 msgstr "Mehr Information"
 
@@ -1616,8 +1661,8 @@ msgstr "Mehr Information"
 #. @section in ../../../Documentation/es/user/tweaks.itely
 #. @node in ../../../Documentation/de/user/tweaks.itely
 #. @section in ../../../Documentation/de/user/tweaks.itely
-msgid "Advanced tweaks with Scheme"
-msgstr "Fortgeschrittene Optimierungen mit Scheme"
+msgid "Avoiding tweaks with slower processing"
+msgstr "Vermeiden von Optimierungen durch langsamere Übersetzung"
 
 #. @node in ../../../Documentation/user/tweaks.itely
 #. @subsection in ../../../Documentation/user/tweaks.itely
@@ -1627,8 +1672,8 @@ msgstr "Fortgeschrittene Optimierungen mit Scheme"
 #. @section in ../../../Documentation/es/user/tweaks.itely
 #. @node in ../../../Documentation/de/user/tweaks.itely
 #. @section in ../../../Documentation/de/user/tweaks.itely
-msgid "Avoiding tweaks with slower processing"
-msgstr "Vermeiden von Optimierungen durch langsamere Übersetzung"
+msgid "Advanced tweaks with Scheme"
+msgstr "Fortgeschrittene Optimierungen mit Scheme"
 
 #. @node in ../../../Documentation/user/working.itely
 #. @chapter in ../../../Documentation/user/working.itely
@@ -1687,6 +1732,8 @@ msgstr "Große Projekte"
 
 #. @node in ../../../Documentation/user/working.itely
 #. @subsection in ../../../Documentation/user/working.itely
+#. @node in ../../../Documentation/es/user/working.itely
+#. @section in ../../../Documentation/es/user/working.itely
 msgid "Saving typing with variables and functions"
 msgstr "Tipparbeit sparen durch Bezeichner und Funktionen"
 
@@ -1938,8 +1985,8 @@ msgstr "Lilypond-book-Vorlagen"
 #. @node in ../../../Documentation/user/lilypond-book.itely
 #. @appendixsubsec in ../../../Documentation/fr/user/templates.itely
 #. @node in ../../../Documentation/fr/user/lilypond-book.itely
-#. @node in ../../../Documentation/es/user/lilypond-book.itely
 #. @appendixsubsec in ../../../Documentation/es/user/templates.itely
+#. @node in ../../../Documentation/es/user/lilypond-book.itely
 #. @appendixsubsec in ../../../Documentation/de/user/templates.itely
 #. @node in ../../../Documentation/de/user/lilypond-book.itely
 msgid "LaTeX"
@@ -1953,10 +2000,10 @@ msgstr "LaTeX"
 #. @node in ../../../Documentation/fr/user/lilypond-book.itely
 #. @subsection in ../../../Documentation/fr/user/lilypond-book.itely
 #. @subsubheading in ../../../Documentation/fr/user/lilypond-book.itely
+#. @appendixsubsec in ../../../Documentation/es/user/templates.itely
 #. @node in ../../../Documentation/es/user/lilypond-book.itely
 #. @subsection in ../../../Documentation/es/user/lilypond-book.itely
 #. @subsubheading in ../../../Documentation/es/user/lilypond-book.itely
-#. @appendixsubsec in ../../../Documentation/es/user/templates.itely
 #. @appendixsubsec in ../../../Documentation/de/user/templates.itely
 #. @node in ../../../Documentation/de/user/lilypond-book.itely
 #. @subsection in ../../../Documentation/de/user/lilypond-book.itely
@@ -1964,6 +2011,10 @@ msgstr "LaTeX"
 msgid "Texinfo"
 msgstr "Texinfo"
 
+#. @appendixsubsec in ../../../Documentation/user/templates.itely
+msgid "xelatex"
+msgstr "xelatex"
+
 #. @node in ../../../Documentation/user/scheme-tutorial.itely
 #. @appendix in ../../../Documentation/user/scheme-tutorial.itely
 #. @node in ../../../Documentation/fr/user/scheme-tutorial.itely
@@ -1975,6 +2026,11 @@ msgstr "Texinfo"
 msgid "Scheme tutorial"
 msgstr "Scheme-Übung"
 
+#. @node in ../../../Documentation/user/scheme-tutorial.itely
+#. @appendixsec in ../../../Documentation/user/scheme-tutorial.itely
+msgid "Tweaking with Scheme"
+msgstr "Optimierungen mit Scheme"
+
 #. @node in ../../../Documentation/user/fdl.itexi
 #. @appendix in ../../../Documentation/user/fdl.itexi
 #. @node in ../../../Documentation/user/fdl.itexi
@@ -2506,9 +2562,8 @@ msgstr "@command{lilypond-book} aufrufen"
 #. @subheading in ../../../Documentation/fr/user/lilypond-book.itely
 #. @subheading in ../../../Documentation/es/user/lilypond-book.itely
 #. @subheading in ../../../Documentation/de/user/lilypond-book.itely
-#, fuzzy
 msgid "Format-specific instructions"
-msgstr "Instrumentenspezifische Notation"
+msgstr "Formatabhängige Anweisungen"
 
 #. @node in ../../../Documentation/user/lilypond-book.itely
 #. @section in ../../../Documentation/user/lilypond-book.itely
@@ -2684,31 +2739,33 @@ msgid "Writing pitches"
 msgstr "Tonhöhen setzen"
 
 #. @node in ../../../Documentation/user/pitches.itely
-#. @subsubsection in ../../../Documentation/user/pitches.itely
+#. @unnumberedsubsubsec in ../../../Documentation/user/pitches.itely
+#. @node in ../../../Documentation/es/user/pitches.itely
+#. @subsubsection in ../../../Documentation/es/user/pitches.itely
 msgid "Absolute octave entry"
 msgstr "Absolute Oktavenbezeichnung"
 
 #. @node in ../../../Documentation/user/pitches.itely
-#. @subsubsection in ../../../Documentation/user/pitches.itely
+#. @unnumberedsubsubsec in ../../../Documentation/user/pitches.itely
+#. @node in ../../../Documentation/es/user/pitches.itely
+#. @subsubsection in ../../../Documentation/es/user/pitches.itely
 msgid "Relative octave entry"
 msgstr "Relative Oktavenbezeichnung"
 
 #. @rglos in ../../../Documentation/user/pitches.itely
-#, fuzzy
 msgid "fifth"
-msgstr "Tonhöhe"
+msgstr "Quinte"
 
 #. @rglos in ../../../Documentation/user/pitches.itely
-#, fuzzy
 msgid "quarter-tone"
-msgstr "Viertelnote"
+msgstr "Viertelton"
 
 #. @node in ../../../Documentation/user/pitches.itely
-#. @subsubsection in ../../../Documentation/user/pitches.itely
+#. @unnumberedsubsubsec in ../../../Documentation/user/pitches.itely
 #. @node in ../../../Documentation/fr/user/pitches.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/pitches.itely
 #. @node in ../../../Documentation/es/user/pitches.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/pitches.itely
+#. @subsubsection in ../../../Documentation/es/user/pitches.itely
 #. @node in ../../../Documentation/de/user/pitches.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/pitches.itely
 msgid "Note names in other languages"
@@ -2726,17 +2783,18 @@ msgid "Changing multiple pitches"
 msgstr "Viele Tonhöhen gleichzeitig verändern"
 
 #. @node in ../../../Documentation/user/pitches.itely
-#. @subsubsection in ../../../Documentation/user/pitches.itely
-#, fuzzy
+#. @unnumberedsubsubsec in ../../../Documentation/user/pitches.itely
+#. @node in ../../../Documentation/es/user/pitches.itely
+#. @subsubsection in ../../../Documentation/es/user/pitches.itely
 msgid "Octave checks"
 msgstr "Oktavenüberprüfung"
 
 #. @node in ../../../Documentation/user/pitches.itely
-#. @subsubsection in ../../../Documentation/user/pitches.itely
+#. @unnumberedsubsubsec in ../../../Documentation/user/pitches.itely
 #. @node in ../../../Documentation/fr/user/pitches.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/pitches.itely
 #. @node in ../../../Documentation/es/user/pitches.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/pitches.itely
+#. @subsubsection in ../../../Documentation/es/user/pitches.itely
 #. @node in ../../../Documentation/de/user/pitches.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/pitches.itely
 msgid "Transpose"
@@ -2754,47 +2812,45 @@ msgid "Displaying pitches"
 msgstr "Tonhöhen anzeigen lassen"
 
 #. @node in ../../../Documentation/user/pitches.itely
-#. @subsubsection in ../../../Documentation/user/pitches.itely
+#. @unnumberedsubsubsec in ../../../Documentation/user/pitches.itely
 #. @node in ../../../Documentation/fr/user/pitches.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/pitches.itely
 #. @node in ../../../Documentation/es/user/pitches.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/pitches.itely
+#. @subsubsection in ../../../Documentation/es/user/pitches.itely
 #. @node in ../../../Documentation/de/user/pitches.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/pitches.itely
 msgid "Key signature"
 msgstr "Tonartbezeichnung"
 
 #. @rglos in ../../../Documentation/user/pitches.itely
-#, fuzzy
 msgid "church mode"
-msgstr "Akkord-Modus"
+msgstr "Kirchentonart"
 
 #. @rglos in ../../../Documentation/user/pitches.itely
 msgid "scordatura"
 msgstr "Skordatur"
 
 #. @node in ../../../Documentation/user/pitches.itely
-#. @subsubsection in ../../../Documentation/user/pitches.itely
+#. @unnumberedsubsubsec in ../../../Documentation/user/pitches.itely
 #. @node in ../../../Documentation/fr/user/pitches.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/pitches.itely
 #. @node in ../../../Documentation/es/user/pitches.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/pitches.itely
+#. @subsubsection in ../../../Documentation/es/user/pitches.itely
 #. @node in ../../../Documentation/de/user/pitches.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/pitches.itely
 msgid "Ottava brackets"
 msgstr "Oktavierungsklammern"
 
 #. @rglos in ../../../Documentation/user/pitches.itely
-#, fuzzy
 msgid "octavation"
-msgstr "Oktave"
+msgstr "Oktavierung"
 
 #. @node in ../../../Documentation/user/pitches.itely
-#. @subsubsection in ../../../Documentation/user/pitches.itely
+#. @unnumberedsubsubsec in ../../../Documentation/user/pitches.itely
 #. @node in ../../../Documentation/fr/user/pitches.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/pitches.itely
 #. @node in ../../../Documentation/es/user/pitches.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/pitches.itely
+#. @subsubsection in ../../../Documentation/es/user/pitches.itely
 #. @node in ../../../Documentation/de/user/pitches.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/pitches.itely
 msgid "Instrument transpositions"
@@ -2802,74 +2858,80 @@ msgstr "Transposition von Instrumenten"
 
 #. @rglos in ../../../Documentation/user/pitches.itely
 msgid "concert pitch"
-msgstr ""
+msgstr "Kammerton"
 
 #. @rglos in ../../../Documentation/user/pitches.itely
-#, fuzzy
 msgid "transposing instrument"
-msgstr "Transposition"
+msgstr "Transponierende Instrumente"
 
 #. @node in ../../../Documentation/user/pitches.itely
-#. @subsubsection in ../../../Documentation/user/pitches.itely
+#. @unnumberedsubsubsec in ../../../Documentation/user/pitches.itely
 #. @node in ../../../Documentation/fr/user/changing-defaults.itely
 #. @subsection in ../../../Documentation/fr/user/changing-defaults.itely
-#. @node in ../../../Documentation/es/user/changing-defaults.itely
-#. @subsection in ../../../Documentation/es/user/changing-defaults.itely
+#. @node in ../../../Documentation/es/user/pitches.itely
+#. @subsubsection in ../../../Documentation/es/user/pitches.itely
 msgid "Automatic accidentals"
 msgstr "Automatische Versetzungszeichen"
 
 #. @node in ../../../Documentation/user/pitches.itely
-#. @subsubsection in ../../../Documentation/user/pitches.itely
+#. @unnumberedsubsubsec in ../../../Documentation/user/pitches.itely
 #. @node in ../../../Documentation/fr/user/editorial.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/editorial.itely
-#. @node in ../../../Documentation/es/user/educational.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/educational.itely
-#. @node in ../../../Documentation/de/user/educational.itely
-#. @unnumberedsubsubsec in ../../../Documentation/de/user/educational.itely
+#. @node in ../../../Documentation/es/user/pitches.itely
+#. @subsubsection in ../../../Documentation/es/user/pitches.itely
+#. @node in ../../../Documentation/de/user/editorial.itely
+#. @unnumberedsubsubsec in ../../../Documentation/de/user/editorial.itely
 msgid "Ambitus"
 msgstr "Tonumfang"
 
 #. @node in ../../../Documentation/user/pitches.itely
 #. @subsection in ../../../Documentation/user/pitches.itely
-#. @node in ../../../Documentation/fr/user/editorial.itely
-#. @subsection in ../../../Documentation/fr/user/editorial.itely
-#. @node in ../../../Documentation/es/user/educational.itely
-#. @subsection in ../../../Documentation/es/user/educational.itely
-#. @node in ../../../Documentation/de/user/educational.itely
-#. @subsection in ../../../Documentation/de/user/educational.itely
+#. @node in ../../../Documentation/fr/user/pitches.itely
+#. @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/editorial.itely
+#. @subsection in ../../../Documentation/de/user/editorial.itely
 msgid "Note heads"
 msgstr "Notenköpfe"
 
 #. @node in ../../../Documentation/user/pitches.itely
-#. @subsubsection in ../../../Documentation/user/pitches.itely
-#, fuzzy
+#. @unnumberedsubsubsec in ../../../Documentation/user/pitches.itely
+#. @node in ../../../Documentation/fr/user/pitches.itely
+#. @unnumberedsubsubsec in ../../../Documentation/fr/user/pitches.itely
+#. @node in ../../../Documentation/es/user/pitches.itely
+#. @subsubsection in ../../../Documentation/es/user/pitches.itely
 msgid "Special note heads"
 msgstr "Besondere Notenköpfe"
 
 #. @node in ../../../Documentation/user/pitches.itely
-#. @subsubsection in ../../../Documentation/user/pitches.itely
+#. @unnumberedsubsubsec in ../../../Documentation/user/pitches.itely
+#. @node in ../../../Documentation/fr/user/pitches.itely
+#. @unnumberedsubsubsec in ../../../Documentation/fr/user/pitches.itely
+#. @node in ../../../Documentation/es/user/pitches.itely
+#. @subsubsection in ../../../Documentation/es/user/pitches.itely
 msgid "Easy notation note heads"
 msgstr "Easy-Notation-Notenköpfe"
 
 #. @node in ../../../Documentation/user/pitches.itely
-#. @subsubsection in ../../../Documentation/user/pitches.itely
-#. @node in ../../../Documentation/fr/user/editorial.itely
-#. @unnumberedsubsubsec in ../../../Documentation/fr/user/editorial.itely
-#. @node in ../../../Documentation/es/user/educational.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/educational.itely
-#. @node in ../../../Documentation/de/user/educational.itely
-#. @unnumberedsubsubsec in ../../../Documentation/de/user/educational.itely
+#. @unnumberedsubsubsec in ../../../Documentation/user/pitches.itely
+#. @node in ../../../Documentation/fr/user/pitches.itely
+#. @unnumberedsubsubsec in ../../../Documentation/fr/user/pitches.itely
+#. @node in ../../../Documentation/es/user/pitches.itely
+#. @subsubsection in ../../../Documentation/es/user/pitches.itely
+#. @node in ../../../Documentation/de/user/editorial.itely
+#. @unnumberedsubsubsec in ../../../Documentation/de/user/editorial.itely
 msgid "Shape note heads"
 msgstr "Notenköpfe mit besonderen Formen"
 
 #. @node in ../../../Documentation/user/pitches.itely
-#. @subsubsection in ../../../Documentation/user/pitches.itely
-#. @node in ../../../Documentation/fr/user/editorial.itely
-#. @unnumberedsubsubsec in ../../../Documentation/fr/user/editorial.itely
-#. @node in ../../../Documentation/es/user/educational.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/educational.itely
-#. @node in ../../../Documentation/de/user/educational.itely
-#. @unnumberedsubsubsec in ../../../Documentation/de/user/educational.itely
+#. @unnumberedsubsubsec in ../../../Documentation/user/pitches.itely
+#. @node in ../../../Documentation/fr/user/pitches.itely
+#. @unnumberedsubsubsec in ../../../Documentation/fr/user/pitches.itely
+#. @node in ../../../Documentation/es/user/pitches.itely
+#. @subsubsection in ../../../Documentation/es/user/pitches.itely
+#. @node in ../../../Documentation/de/user/editorial.itely
+#. @unnumberedsubsubsec in ../../../Documentation/de/user/editorial.itely
 msgid "Improvisation"
 msgstr "Improvisation"
 
@@ -2900,64 +2962,50 @@ msgstr "Rhythmen eingeben"
 #. @node in ../../../Documentation/fr/user/rhythms.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/rhythms.itely
 #. @node in ../../../Documentation/es/user/rhythms.itely
-#. @unnumberedsubsubsec 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 "Durations"
 msgstr "Tondauern"
 
 #. @rglos in ../../../Documentation/user/rhythms.itely
-#, fuzzy
+#. @rglos in ../../../Documentation/es/user/rhythms.itely
 msgid "breve"
-msgstr "Klammer"
+msgstr "Brevis"
 
 #. @rglos in ../../../Documentation/user/rhythms.itely
-#, fuzzy
+#. @rglos in ../../../Documentation/es/user/rhythms.itely
 msgid "longa"
-msgstr "Lieder"
+msgstr "Longa"
 
 #. @rglos in ../../../Documentation/user/rhythms.itely
+#. @rglos in ../../../Documentation/es/user/rhythms.itely
 msgid "Duration names notes and rests"
-msgstr ""
-
-#. @subheading in ../../../Documentation/user/rhythms.itely
-#, fuzzy
-msgid "Modifying nested tuplets"
-msgstr "Umgebungs-Eignschaften verändern"
-
-#. @subheading in ../../../Documentation/user/rhythms.itely
-#, fuzzy
-msgid "Modifying tuplet bracket length"
-msgstr "Umgebungs-Eignschaften verändern"
-
-#. @subheading in ../../../Documentation/user/rhythms.itely
-#, fuzzy
-msgid "Compressing music"
-msgstr "Das Kopieren von existierender Musik"
+msgstr "Dauerbezeichnungen für Noten und Pausen"
 
 #. @rglos in ../../../Documentation/user/rhythms.itely
-#, fuzzy
+#. @rglos in ../../../Documentation/es/user/rhythms.itely
 msgid "tuplet"
-msgstr "Andere rhythmische Aufteilungen"
+msgstr "N-tole"
 
 #. @rglos in ../../../Documentation/user/rhythms.itely
-#, fuzzy
+#. @rglos in ../../../Documentation/es/user/rhythms.itely
 msgid "polymetric"
-msgstr "Gesangtext"
+msgstr "Polymetrie"
 
 #. @node in ../../../Documentation/user/rhythms.itely
 #. @subsubsection in ../../../Documentation/user/rhythms.itely
 #. @node in ../../../Documentation/fr/user/rhythms.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/rhythms.itely
 #. @node in ../../../Documentation/es/user/rhythms.itely
-#. @unnumberedsubsubsec 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 "Scaling durations"
 msgstr "Tondauern skalieren"
 
 #. @rglos in ../../../Documentation/user/rhythms.itely
-#, fuzzy
+#. @rglos in ../../../Documentation/es/user/rhythms.itely
 msgid "laissez vibrer"
 msgstr "Laissez-vibrer-Bögen"
 
@@ -2977,7 +3025,7 @@ msgstr "Pausen eingeben"
 #. @node in ../../../Documentation/fr/user/rhythms.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/rhythms.itely
 #. @node in ../../../Documentation/es/user/rhythms.itely
-#. @unnumberedsubsubsec 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 "Skips"
@@ -2985,14 +3033,18 @@ msgstr "Überspringen von Zeichen"
 
 #. @node in ../../../Documentation/user/rhythms.itely
 #. @subsubsection in ../../../Documentation/user/rhythms.itely
-#, fuzzy
+#. @node in ../../../Documentation/es/user/rhythms.itely
+#. @subsubsection in ../../../Documentation/es/user/rhythms.itely
 msgid "Full measure rests"
-msgstr "Mehrtaktige Pausen"
+msgstr "Ganztaktige Pausen"
 
 #. @rglos in ../../../Documentation/user/rhythms.itely
-#, fuzzy
 msgid "multi-measure rest"
-msgstr "Mehrtaktige Pausen"
+msgstr "Pausen über mehrere Takte"
+
+#. @rglos in ../../../Documentation/user/rhythms.itely
+msgid "church rests"
+msgstr "Kirchenpausen"
 
 #. @node in ../../../Documentation/user/rhythms.itely
 #. @subsection in ../../../Documentation/user/rhythms.itely
@@ -3010,7 +3062,7 @@ msgstr "Rhythmen anzeigen lassen"
 #. @node in ../../../Documentation/fr/user/rhythms.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/rhythms.itely
 #. @node in ../../../Documentation/es/user/rhythms.itely
-#. @unnumberedsubsubsec 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 "Upbeats"
@@ -3021,7 +3073,7 @@ msgstr "Auftakte"
 #. @node in ../../../Documentation/fr/user/rhythms.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/rhythms.itely
 #. @node in ../../../Documentation/es/user/rhythms.itely
-#. @unnumberedsubsubsec 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 "Unmetered music"
@@ -3032,27 +3084,26 @@ msgstr "Musik ohne Metrum"
 #. @node in ../../../Documentation/fr/user/rhythms.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/rhythms.itely
 #. @node in ../../../Documentation/es/user/rhythms.itely
-#. @unnumberedsubsubsec 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 "Polymetric notation"
 msgstr "Polymetrische Notation"
 
 #. @rglos in ../../../Documentation/user/rhythms.itely
-#, fuzzy
 msgid "polymetric time signature"
-msgstr "Taktangabe"
+msgstr "Polymetrische Taktangabe"
 
 #. @rglos in ../../../Documentation/user/rhythms.itely
 msgid "meter"
-msgstr ""
+msgstr "Metrum"
 
 #. @node in ../../../Documentation/user/rhythms.itely
 #. @subsubsection in ../../../Documentation/user/rhythms.itely
 #. @node in ../../../Documentation/fr/user/rhythms.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/rhythms.itely
 #. @node in ../../../Documentation/es/user/rhythms.itely
-#. @unnumberedsubsubsec 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 "Automatic note splitting"
@@ -3074,7 +3125,7 @@ msgstr "Balken"
 #. @node in ../../../Documentation/fr/user/rhythms.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/rhythms.itely
 #. @node in ../../../Documentation/es/user/rhythms.itely
-#. @unnumberedsubsubsec 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 "Automatic beams"
@@ -3084,8 +3135,8 @@ msgstr "Automatische Balken"
 #. @subsubsection in ../../../Documentation/user/rhythms.itely
 #. @node in ../../../Documentation/fr/user/changing-defaults.itely
 #. @subsection in ../../../Documentation/fr/user/changing-defaults.itely
-#. @node in ../../../Documentation/es/user/changing-defaults.itely
-#. @subsection in ../../../Documentation/es/user/changing-defaults.itely
+#. @node in ../../../Documentation/es/user/rhythms.itely
+#. @subsubsection in ../../../Documentation/es/user/rhythms.itely
 msgid "Setting automatic beam behavior"
 msgstr "Einstellung von automatischen Balken"
 
@@ -3094,7 +3145,7 @@ msgstr "Einstellung von automatischen Balken"
 #. @node in ../../../Documentation/fr/user/rhythms.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/rhythms.itely
 #. @node in ../../../Documentation/es/user/rhythms.itely
-#. @unnumberedsubsubsec 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 "Manual beams"
@@ -3105,7 +3156,7 @@ msgstr "Manuelle Balken"
 #. @node in ../../../Documentation/fr/user/rhythms.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/rhythms.itely
 #. @node in ../../../Documentation/es/user/rhythms.itely
-#. @unnumberedsubsubsec 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 "Feathered beams"
@@ -3127,7 +3178,7 @@ msgstr "Takte"
 #. @node in ../../../Documentation/fr/user/rhythms.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/rhythms.itely
 #. @node in ../../../Documentation/es/user/rhythms.itely
-#. @unnumberedsubsubsec 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 "Bar lines"
@@ -3138,7 +3189,7 @@ msgstr "Taktlinien"
 #. @node in ../../../Documentation/fr/user/rhythms.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/rhythms.itely
 #. @node in ../../../Documentation/es/user/rhythms.itely
-#. @unnumberedsubsubsec 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 "Bar numbers"
@@ -3154,7 +3205,7 @@ msgstr "Takt- und Taktzahlüberprüfung"
 #. @node in ../../../Documentation/fr/user/rhythms.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/rhythms.itely
 #. @node in ../../../Documentation/es/user/rhythms.itely
-#. @unnumberedsubsubsec 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 "Rehearsal marks"
@@ -3176,7 +3227,7 @@ msgstr "Besondere rhythmische Fragen"
 #. @node in ../../../Documentation/fr/user/rhythms.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/rhythms.itely
 #. @node in ../../../Documentation/es/user/rhythms.itely
-#. @unnumberedsubsubsec 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 "Aligning to cadenzas"
@@ -3187,7 +3238,7 @@ msgstr "An Kadenzen ausrichten"
 #. @node in ../../../Documentation/fr/user/rhythms.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/rhythms.itely
 #. @node in ../../../Documentation/es/user/rhythms.itely
-#. @unnumberedsubsubsec 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 "Time administration"
@@ -3217,13 +3268,30 @@ msgstr "An Noten angehängt"
 
 #. @node in ../../../Documentation/user/expressive.itely
 #. @subsubsection in ../../../Documentation/user/expressive.itely
+#. @node in ../../../Documentation/es/user/expressive.itely
+#. @subsubsection in ../../../Documentation/es/user/expressive.itely
 msgid "Articulations and ornamentations"
 msgstr "Artikulationszeichen und Verzierungen"
 
 #. @rglos in ../../../Documentation/user/expressive.itely
-#, fuzzy
-msgid "hairpin"
-msgstr "Kreuz"
+#. @rglos in ../../../Documentation/es/user/expressive.itely
+msgid "tenuto"
+msgstr "Tenuto"
+
+#. @rglos in ../../../Documentation/user/expressive.itely
+#. @rglos in ../../../Documentation/es/user/expressive.itely
+msgid "accent"
+msgstr "Akzent"
+
+#. @rglos in ../../../Documentation/user/expressive.itely
+#. @rglos in ../../../Documentation/es/user/expressive.itely
+msgid "staccato"
+msgstr "Staccato"
+
+#. @rglos in ../../../Documentation/user/expressive.itely
+#. @rglos in ../../../Documentation/es/user/expressive.itely
+msgid "portato"
+msgstr "Portato"
 
 #. @node in ../../../Documentation/user/expressive.itely
 #. @subsection in ../../../Documentation/user/expressive.itely
@@ -3241,7 +3309,7 @@ msgstr "Bögen"
 #. @node in ../../../Documentation/fr/user/expressive.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/expressive.itely
 #. @node in ../../../Documentation/es/user/expressive.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/expressive.itely
+#. @subsubsection in ../../../Documentation/es/user/expressive.itely
 #. @node in ../../../Documentation/de/user/expressive.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/expressive.itely
 msgid "Breath marks"
@@ -3252,12 +3320,20 @@ msgstr "Atemzeichen"
 #. @node in ../../../Documentation/fr/user/expressive.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/expressive.itely
 #. @node in ../../../Documentation/es/user/expressive.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/expressive.itely
+#. @subsubsection in ../../../Documentation/es/user/expressive.itely
 #. @node in ../../../Documentation/de/user/expressive.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/expressive.itely
 msgid "Falls and doits"
 msgstr "Glissando zu unbestimmter Tonhöhe"
 
+#. @rglos in ../../../Documentation/user/expressive.itely
+msgid "falls"
+msgstr ""
+
+#. @rglos in ../../../Documentation/user/expressive.itely
+msgid "doits"
+msgstr "doits"
+
 #. @node in ../../../Documentation/user/expressive.itely
 #. @subsection in ../../../Documentation/user/expressive.itely
 #. @node in ../../../Documentation/fr/user/expressive.itely
@@ -3274,43 +3350,48 @@ msgstr "Linien"
 #. @node in ../../../Documentation/fr/user/expressive.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/expressive.itely
 #. @node in ../../../Documentation/es/user/expressive.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/expressive.itely
+#. @subsubsection in ../../../Documentation/es/user/expressive.itely
 #. @node in ../../../Documentation/de/user/expressive.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/expressive.itely
 msgid "Glissando"
 msgstr "Glissando"
 
 #. @rglos in ../../../Documentation/user/expressive.itely
-msgid "falls"
-msgstr ""
-
-#. @rglos in ../../../Documentation/user/expressive.itely
-#, fuzzy
-msgid "doits"
-msgstr "jEdit"
+msgid "glissando"
+msgstr "Glissando"
 
 #. @node in ../../../Documentation/user/expressive.itely
 #. @subsubsection in ../../../Documentation/user/expressive.itely
 #. @node in ../../../Documentation/fr/user/expressive.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/expressive.itely
 #. @node in ../../../Documentation/es/user/expressive.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/expressive.itely
+#. @subsubsection in ../../../Documentation/es/user/expressive.itely
 #. @node in ../../../Documentation/de/user/expressive.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/expressive.itely
 msgid "Arpeggio"
 msgstr "Arpeggio"
 
+#. @rglos in ../../../Documentation/user/expressive.itely
+#. @rglos in ../../../Documentation/es/user/expressive.itely
+msgid "arpeggio"
+msgstr "Arpeggio"
+
 #. @node in ../../../Documentation/user/expressive.itely
 #. @subsubsection in ../../../Documentation/user/expressive.itely
 #. @node in ../../../Documentation/fr/user/expressive.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/expressive.itely
 #. @node in ../../../Documentation/es/user/expressive.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/expressive.itely
+#. @subsubsection in ../../../Documentation/es/user/expressive.itely
 #. @node in ../../../Documentation/de/user/expressive.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/expressive.itely
 msgid "Trills"
 msgstr "Triller"
 
+#. @rglos in ../../../Documentation/user/expressive.itely
+#. @rglos in ../../../Documentation/es/user/expressive.itely
+msgid "trill"
+msgstr "Triller"
+
 #. @node in ../../../Documentation/user/repeats.itely
 #. @section in ../../../Documentation/user/repeats.itely
 #. @node in ../../../Documentation/fr/user/repeats.itely
@@ -3324,74 +3405,66 @@ msgstr "Wiederholungszeichen"
 
 #. @node in ../../../Documentation/user/repeats.itely
 #. @subsection in ../../../Documentation/user/repeats.itely
-#. @node in ../../../Documentation/fr/user/repeats.itely
-#. @subsection in ../../../Documentation/fr/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 repeats"
-msgstr "Wiederholungen eingeben"
+msgid "Writing long repeats"
+msgstr "Lange Wiederholungen eingeben"
 
 #. @node in ../../../Documentation/user/repeats.itely
 #. @subsubsection in ../../../Documentation/user/repeats.itely
-#. @node in ../../../Documentation/fr/user/repeats.itely
-#. @unnumberedsubsubsec in ../../../Documentation/fr/user/repeats.itely
 #. @node in ../../../Documentation/es/user/repeats.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/repeats.itely
-#. @node in ../../../Documentation/de/user/repeats.itely
-#. @unnumberedsubsubsec in ../../../Documentation/de/user/repeats.itely
-msgid "Repeat syntax"
-msgstr "Die Syntax der Wiederholungen"
+#. @subsubsection in ../../../Documentation/es/user/repeats.itely
+msgid "Normal repeats"
+msgstr "Normale Wiederholungen"
+
+#. @rglos in ../../../Documentation/user/repeats.itely
+#. @rglos in ../../../Documentation/es/user/repeats.itely
+msgid "repeat"
+msgstr "Wiederholungen"
+
+#. @rglos in ../../../Documentation/user/repeats.itely
+#. @rglos in ../../../Documentation/es/user/repeats.itely
+msgid "volta"
+msgstr ""
 
 #. @node in ../../../Documentation/user/repeats.itely
 #. @subsubsection in ../../../Documentation/user/repeats.itely
-msgid "Normal repeats"
-msgstr "Normale Wiederholungen"
+#. @node in ../../../Documentation/es/user/repeats.itely
+#. @subsubsection in ../../../Documentation/es/user/repeats.itely
+msgid "Manual repeat marks"
+msgstr "Manuelle Wiederholungszeichen"
 
 #. @node in ../../../Documentation/user/repeats.itely
 #. @subsubsection in ../../../Documentation/user/repeats.itely
-#. @node in ../../../Documentation/fr/user/repeats.itely
-#. @unnumberedsubsubsec in ../../../Documentation/fr/user/repeats.itely
 #. @node in ../../../Documentation/es/user/repeats.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/repeats.itely
-#. @node in ../../../Documentation/de/user/repeats.itely
-#. @unnumberedsubsubsec in ../../../Documentation/de/user/repeats.itely
-msgid "Manual repeat commands"
-msgstr "Manuelle Wiederholungsbefehle"
+#. @subsubsection in ../../../Documentation/es/user/repeats.itely
+msgid "Written-out repeats"
+msgstr "Ausgeschriebene Wiederholungen"
 
 #. @node in ../../../Documentation/user/repeats.itely
 #. @subsection in ../../../Documentation/user/repeats.itely
-#. @node in ../../../Documentation/fr/user/repeats.itely
-#. @subsection in ../../../Documentation/fr/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 "Other repeats"
-msgstr "Andere Wiederholungen"
+msgid "Short repeats"
+msgstr "Kurze Wiederholungen"
 
 #. @node in ../../../Documentation/user/repeats.itely
 #. @subsubsection in ../../../Documentation/user/repeats.itely
-#. @node in ../../../Documentation/fr/user/repeats.itely
-#. @unnumberedsubsubsec in ../../../Documentation/fr/user/repeats.itely
 #. @node in ../../../Documentation/es/user/repeats.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/repeats.itely
-#. @node in ../../../Documentation/de/user/repeats.itely
-#. @unnumberedsubsubsec in ../../../Documentation/de/user/repeats.itely
-msgid "Tremolo repeats"
-msgstr "Tremolo-Wiederholung"
+#. @subsubsection in ../../../Documentation/es/user/repeats.itely
+msgid "Percent repeats"
+msgstr "Prozent-Wiederholungen"
 
 #. @node in ../../../Documentation/user/repeats.itely
 #. @subsubsection in ../../../Documentation/user/repeats.itely
 #. @node in ../../../Documentation/fr/user/repeats.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/repeats.itely
 #. @node in ../../../Documentation/es/user/repeats.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/repeats.itely
+#. @subsubsection in ../../../Documentation/es/user/repeats.itely
 #. @node in ../../../Documentation/de/user/repeats.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/repeats.itely
-msgid "Measure repeats"
-msgstr "Taktwiederholungen"
+msgid "Tremolo repeats"
+msgstr "Tremolo-Wiederholung"
 
 #. @node in ../../../Documentation/user/simultaneous.itely
 #. @section in ../../../Documentation/user/simultaneous.itely
@@ -3417,6 +3490,10 @@ msgstr "Eine einzelne Stimme"
 
 #. @node in ../../../Documentation/user/simultaneous.itely
 #. @subsubsection in ../../../Documentation/user/simultaneous.itely
+#. @node in ../../../Documentation/fr/user/simultaneous.itely
+#. @unnumberedsubsubsec in ../../../Documentation/fr/user/simultaneous.itely
+#. @node in ../../../Documentation/es/user/simultaneous.itely
+#. @subsubsection in ../../../Documentation/es/user/simultaneous.itely
 msgid "Chorded notes"
 msgstr "Noten mit Akkorden"
 
@@ -3425,7 +3502,7 @@ msgstr "Noten mit Akkorden"
 #. @node in ../../../Documentation/fr/user/simultaneous.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/simultaneous.itely
 #. @node in ../../../Documentation/es/user/simultaneous.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/simultaneous.itely
+#. @subsubsection in ../../../Documentation/es/user/simultaneous.itely
 #. @node in ../../../Documentation/de/user/simultaneous.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/simultaneous.itely
 msgid "Clusters"
@@ -3452,7 +3529,7 @@ msgstr "Auflösung von Zusammenstößen"
 #. @node in ../../../Documentation/fr/user/simultaneous.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/simultaneous.itely
 #. @node in ../../../Documentation/es/user/simultaneous.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/simultaneous.itely
+#. @subsubsection in ../../../Documentation/es/user/simultaneous.itely
 #. @node in ../../../Documentation/de/user/simultaneous.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/simultaneous.itely
 msgid "Automatic part combining"
@@ -3467,7 +3544,7 @@ msgstr ""
 #. @node in ../../../Documentation/fr/user/simultaneous.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/simultaneous.itely
 #. @node in ../../../Documentation/es/user/simultaneous.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/simultaneous.itely
+#. @subsubsection in ../../../Documentation/es/user/simultaneous.itely
 #. @node in ../../../Documentation/de/user/simultaneous.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/simultaneous.itely
 msgid "Writing music in parallel"
@@ -3497,51 +3574,57 @@ msgstr "Systeme anzeigen lassen"
 
 #. @node in ../../../Documentation/user/staff.itely
 #. @subsubsection in ../../../Documentation/user/staff.itely
-#. @node in ../../../Documentation/fr/user/staff.itely
-#. @unnumberedsubsubsec in ../../../Documentation/fr/user/staff.itely
-#. @node in ../../../Documentation/es/user/staff.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/staff.itely
-#. @node in ../../../Documentation/de/user/staff.itely
-#. @unnumberedsubsubsec in ../../../Documentation/de/user/staff.itely
-msgid "System start delimiters"
-msgstr "Klammern am Systemanfang"
+msgid "Initiating new staves"
+msgstr "Neue Notensysteme beginnen"
 
 #. @rglos in ../../../Documentation/user/staff.itely
 msgid "staff"
 msgstr ""
 
 #. @rglos in ../../../Documentation/user/staff.itely
-#, fuzzy
 msgid "staves"
-msgstr "Oktave"
+msgstr "Systeme"
+
+#. @node in ../../../Documentation/user/staff.itely
+#. @subsubsection in ../../../Documentation/user/staff.itely
+msgid "Grouping staves"
+msgstr "Systeme gruppieren"
 
 #. @rglos in ../../../Documentation/user/staff.itely
-#, fuzzy
 msgid "bracket"
 msgstr "Klammer"
 
+#. @node in ../../../Documentation/user/staff.itely
+#. @subsection in ../../../Documentation/user/staff.itely
+msgid "Modifying single staves"
+msgstr "Einzelne Systeme verändern"
+
 #. @node in ../../../Documentation/user/staff.itely
 #. @subsubsection in ../../../Documentation/user/staff.itely
 #. @node in ../../../Documentation/fr/user/staff.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/staff.itely
 #. @node in ../../../Documentation/es/user/staff.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/staff.itely
+#. @subsubsection in ../../../Documentation/es/user/staff.itely
 #. @node in ../../../Documentation/de/user/staff.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/staff.itely
 msgid "Staff symbol"
 msgstr "Das Notensystem"
 
+#. @node in ../../../Documentation/user/staff.itely
+#. @subsubsection in ../../../Documentation/user/staff.itely
+msgid "Ossia staves"
+msgstr "Ossia-Systeme"
+
 #. @rglos in ../../../Documentation/user/staff.itely
-#, fuzzy
 msgid "Frenched staff"
-msgstr "Ein einzelnes System"
+msgstr "Verkleinerte Systeme"
 
 #. @node in ../../../Documentation/user/staff.itely
 #. @subsubsection in ../../../Documentation/user/staff.itely
 #. @node in ../../../Documentation/fr/user/staff.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/staff.itely
 #. @node in ../../../Documentation/es/user/staff.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/staff.itely
+#. @subsubsection in ../../../Documentation/es/user/staff.itely
 #. @node in ../../../Documentation/de/user/staff.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/staff.itely
 msgid "Hiding staves"
@@ -3563,38 +3646,34 @@ msgstr "Orchesterstimmen erstellen"
 #. @node in ../../../Documentation/fr/user/staff.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/staff.itely
 #. @node in ../../../Documentation/es/user/staff.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/staff.itely
+#. @subsubsection in ../../../Documentation/es/user/staff.itely
 #. @node in ../../../Documentation/de/user/staff.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/staff.itely
 msgid "Metronome marks"
 msgstr "Metronomangabe"
 
 #. @rglos in ../../../Documentation/user/staff.itely
-#, fuzzy
 msgid "metronome"
 msgstr "Metronomangabe"
 
 #. @rglos in ../../../Documentation/user/staff.itely
-#, fuzzy
 msgid "metronomic indication"
-msgstr "Seitennummerbezeichnung"
+msgstr "Metronombezeichnung"
 
 #. @rglos in ../../../Documentation/user/staff.itely
-#, fuzzy
 msgid "tempo indication"
-msgstr "Moderne Notation"
+msgstr "Tempobezeichnung"
 
 #. @rglos in ../../../Documentation/user/staff.itely
-#, fuzzy
 msgid "metronome mark"
-msgstr "Metronomangabe"
+msgstr "Metronombezeichnung"
 
 #. @node in ../../../Documentation/user/staff.itely
 #. @subsubsection in ../../../Documentation/user/staff.itely
 #. @node in ../../../Documentation/fr/user/staff.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/staff.itely
 #. @node in ../../../Documentation/es/user/staff.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/staff.itely
+#. @subsubsection in ../../../Documentation/es/user/staff.itely
 #. @node in ../../../Documentation/de/user/staff.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/staff.itely
 msgid "Instrument names"
@@ -3605,7 +3684,7 @@ msgstr "Instrumentenbezeichnungn"
 #. @node in ../../../Documentation/fr/user/staff.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/staff.itely
 #. @node in ../../../Documentation/es/user/staff.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/staff.itely
+#. @subsubsection in ../../../Documentation/es/user/staff.itely
 #. @node in ../../../Documentation/de/user/staff.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/staff.itely
 msgid "Quoting other voices"
@@ -3616,7 +3695,7 @@ msgstr "Stichnoten"
 #. @node in ../../../Documentation/fr/user/staff.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/staff.itely
 #. @node in ../../../Documentation/es/user/staff.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/staff.itely
+#. @subsubsection in ../../../Documentation/es/user/staff.itely
 #. @node in ../../../Documentation/de/user/staff.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/staff.itely
 msgid "Formatting cue notes"
@@ -3624,6 +3703,12 @@ msgstr "Stichnoten formatieren"
 
 #. @node in ../../../Documentation/user/editorial.itely
 #. @section in ../../../Documentation/user/editorial.itely
+#. @node in ../../../Documentation/fr/user/editorial.itely
+#. @section in ../../../Documentation/fr/user/editorial.itely
+#. @node in ../../../Documentation/es/user/editorial.itely
+#. @section in ../../../Documentation/es/user/editorial.itely
+#. @node in ../../../Documentation/de/user/editorial.itely
+#. @section in ../../../Documentation/de/user/editorial.itely
 msgid "Editorial annotations"
 msgstr "Anmerkungen"
 
@@ -3631,10 +3716,10 @@ msgstr "Anmerkungen"
 #. @subsection in ../../../Documentation/user/editorial.itely
 #. @node in ../../../Documentation/fr/user/editorial.itely
 #. @subsection in ../../../Documentation/fr/user/editorial.itely
-#. @node in ../../../Documentation/es/user/educational.itely
-#. @subsection in ../../../Documentation/es/user/educational.itely
-#. @node in ../../../Documentation/de/user/educational.itely
-#. @subsection in ../../../Documentation/de/user/educational.itely
+#. @node in ../../../Documentation/es/user/editorial.itely
+#. @subsection in ../../../Documentation/es/user/editorial.itely
+#. @node in ../../../Documentation/de/user/editorial.itely
+#. @subsection in ../../../Documentation/de/user/editorial.itely
 msgid "Inside the staff"
 msgstr "Innerhalt des Systems"
 
@@ -3642,10 +3727,10 @@ msgstr "Innerhalt des Systems"
 #. @subsubsection in ../../../Documentation/user/editorial.itely
 #. @node in ../../../Documentation/fr/user/editorial.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/editorial.itely
-#. @node in ../../../Documentation/es/user/educational.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/educational.itely
-#. @node in ../../../Documentation/de/user/educational.itely
-#. @unnumberedsubsubsec in ../../../Documentation/de/user/educational.itely
+#. @node in ../../../Documentation/es/user/editorial.itely
+#. @subsubsection in ../../../Documentation/es/user/editorial.itely
+#. @node in ../../../Documentation/de/user/editorial.itely
+#. @unnumberedsubsubsec in ../../../Documentation/de/user/editorial.itely
 msgid "Selecting notation font size"
 msgstr "Auswahl der Notations-Schriftgröße"
 
@@ -3653,10 +3738,10 @@ msgstr "Auswahl der Notations-Schriftgröße"
 #. @subsubsection in ../../../Documentation/user/editorial.itely
 #. @node in ../../../Documentation/fr/user/editorial.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/editorial.itely
-#. @node in ../../../Documentation/es/user/educational.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/educational.itely
-#. @node in ../../../Documentation/de/user/educational.itely
-#. @unnumberedsubsubsec in ../../../Documentation/de/user/educational.itely
+#. @node in ../../../Documentation/es/user/editorial.itely
+#. @subsubsection in ../../../Documentation/es/user/editorial.itely
+#. @node in ../../../Documentation/de/user/editorial.itely
+#. @unnumberedsubsubsec in ../../../Documentation/de/user/editorial.itely
 msgid "Fingering instructions"
 msgstr "Fingersatzanweisungen"
 
@@ -3664,10 +3749,10 @@ msgstr "Fingersatzanweisungen"
 #. @subsubsection in ../../../Documentation/user/editorial.itely
 #. @node in ../../../Documentation/fr/user/editorial.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/editorial.itely
-#. @node in ../../../Documentation/es/user/educational.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/educational.itely
-#. @node in ../../../Documentation/de/user/educational.itely
-#. @unnumberedsubsubsec in ../../../Documentation/de/user/educational.itely
+#. @node in ../../../Documentation/es/user/editorial.itely
+#. @subsubsection in ../../../Documentation/es/user/editorial.itely
+#. @node in ../../../Documentation/de/user/editorial.itely
+#. @unnumberedsubsubsec in ../../../Documentation/de/user/editorial.itely
 msgid "Hidden notes"
 msgstr "Unsichtbare Noten"
 
@@ -3675,10 +3760,10 @@ msgstr "Unsichtbare Noten"
 #. @subsubsection in ../../../Documentation/user/editorial.itely
 #. @node in ../../../Documentation/fr/user/editorial.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/editorial.itely
-#. @node in ../../../Documentation/es/user/educational.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/educational.itely
-#. @node in ../../../Documentation/de/user/educational.itely
-#. @unnumberedsubsubsec in ../../../Documentation/de/user/educational.itely
+#. @node in ../../../Documentation/es/user/editorial.itely
+#. @subsubsection in ../../../Documentation/es/user/editorial.itely
+#. @node in ../../../Documentation/de/user/editorial.itely
+#. @unnumberedsubsubsec in ../../../Documentation/de/user/editorial.itely
 msgid "Coloring objects"
 msgstr "Farbige Objekte"
 
@@ -3686,10 +3771,10 @@ msgstr "Farbige Objekte"
 #. @subsubsection in ../../../Documentation/user/editorial.itely
 #. @node in ../../../Documentation/fr/user/editorial.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/editorial.itely
-#. @node in ../../../Documentation/es/user/educational.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/educational.itely
-#. @node in ../../../Documentation/de/user/educational.itely
-#. @unnumberedsubsubsec in ../../../Documentation/de/user/educational.itely
+#. @node in ../../../Documentation/es/user/editorial.itely
+#. @subsubsection in ../../../Documentation/es/user/editorial.itely
+#. @node in ../../../Documentation/de/user/editorial.itely
+#. @unnumberedsubsubsec in ../../../Documentation/de/user/editorial.itely
 msgid "Parentheses"
 msgstr "Klammern"
 
@@ -3697,10 +3782,10 @@ msgstr "Klammern"
 #. @subsubsection in ../../../Documentation/user/editorial.itely
 #. @node in ../../../Documentation/fr/user/editorial.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/editorial.itely
-#. @node in ../../../Documentation/es/user/educational.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/educational.itely
-#. @node in ../../../Documentation/de/user/educational.itely
-#. @unnumberedsubsubsec in ../../../Documentation/de/user/educational.itely
+#. @node in ../../../Documentation/es/user/editorial.itely
+#. @subsubsection in ../../../Documentation/es/user/editorial.itely
+#. @node in ../../../Documentation/de/user/editorial.itely
+#. @unnumberedsubsubsec in ../../../Documentation/de/user/editorial.itely
 msgid "Stems"
 msgstr "Hälse"
 
@@ -3708,32 +3793,32 @@ msgstr "Hälse"
 #. @subsection in ../../../Documentation/user/editorial.itely
 #. @node in ../../../Documentation/fr/user/editorial.itely
 #. @subsection in ../../../Documentation/fr/user/editorial.itely
-#. @node in ../../../Documentation/es/user/educational.itely
-#. @subsection in ../../../Documentation/es/user/educational.itely
-#. @node in ../../../Documentation/de/user/educational.itely
-#. @subsection in ../../../Documentation/de/user/educational.itely
+#. @node in ../../../Documentation/es/user/editorial.itely
+#. @subsection in ../../../Documentation/es/user/editorial.itely
+#. @node in ../../../Documentation/de/user/editorial.itely
+#. @subsection in ../../../Documentation/de/user/editorial.itely
 msgid "Outside the staff"
 msgstr "Außerhalb des Notensystems"
 
 #. @node in ../../../Documentation/user/editorial.itely
 #. @subsubsection in ../../../Documentation/user/editorial.itely
 #. @node in ../../../Documentation/fr/user/editorial.itely
-#. @subsection in ../../../Documentation/fr/user/editorial.itely
-#. @node in ../../../Documentation/es/user/educational.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/educational.itely
-#. @node in ../../../Documentation/de/user/educational.itely
-#. @subsection in ../../../Documentation/de/user/educational.itely
+#. @subsubsection in ../../../Documentation/fr/user/editorial.itely
+#. @node in ../../../Documentation/es/user/editorial.itely
+#. @subsubsection in ../../../Documentation/es/user/editorial.itely
+#. @node in ../../../Documentation/de/user/editorial.itely
+#. @subsection in ../../../Documentation/de/user/editorial.itely
 msgid "Balloon help"
 msgstr "Erklärungen in Ballonform"
 
 #. @node in ../../../Documentation/user/editorial.itely
 #. @subsubsection in ../../../Documentation/user/editorial.itely
 #. @node in ../../../Documentation/fr/user/editorial.itely
-#. @subsection in ../../../Documentation/fr/user/editorial.itely
-#. @node in ../../../Documentation/es/user/educational.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/educational.itely
-#. @node in ../../../Documentation/de/user/educational.itely
-#. @subsection in ../../../Documentation/de/user/educational.itely
+#. @subsubsection in ../../../Documentation/fr/user/editorial.itely
+#. @node in ../../../Documentation/es/user/editorial.itely
+#. @subsubsection in ../../../Documentation/es/user/editorial.itely
+#. @node in ../../../Documentation/de/user/editorial.itely
+#. @subsection in ../../../Documentation/de/user/editorial.itely
 msgid "Grid lines"
 msgstr "Gitternetzlinien"
 
@@ -3741,8 +3826,8 @@ msgstr "Gitternetzlinien"
 #. @subsubsection in ../../../Documentation/user/editorial.itely
 #. @node in ../../../Documentation/fr/user/expressive.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/expressive.itely
-#. @node in ../../../Documentation/es/user/expressive.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/expressive.itely
+#. @node in ../../../Documentation/es/user/editorial.itely
+#. @subsubsection in ../../../Documentation/es/user/editorial.itely
 #. @node in ../../../Documentation/de/user/expressive.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/expressive.itely
 msgid "Analysis brackets"
@@ -3782,7 +3867,7 @@ msgstr "Überblick über Textbeschriftungsbefehle"
 #. @node in ../../../Documentation/fr/user/text.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/text.itely
 #. @node in ../../../Documentation/es/user/text.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/text.itely
+#. @subsubsection in ../../../Documentation/es/user/text.itely
 #. @node in ../../../Documentation/de/user/text.itely
 #. @subsubsection in ../../../Documentation/de/user/text.itely
 msgid "Text scripts"
@@ -3793,7 +3878,7 @@ msgstr "Textarten"
 #. @node in ../../../Documentation/fr/user/text.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/text.itely
 #. @node in ../../../Documentation/es/user/text.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/text.itely
+#. @subsubsection in ../../../Documentation/es/user/text.itely
 #. @node in ../../../Documentation/de/user/text.itely
 #. @subsubsection in ../../../Documentation/de/user/text.itely
 msgid "Text spanners"
@@ -3804,7 +3889,7 @@ msgstr "Text mit Verbindungslinien"
 #. @node in ../../../Documentation/fr/user/text.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/text.itely
 #. @node in ../../../Documentation/es/user/text.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/text.itely
+#. @subsubsection in ../../../Documentation/es/user/text.itely
 #. @node in ../../../Documentation/de/user/text.itely
 #. @subsubsection in ../../../Documentation/de/user/text.itely
 msgid "Text marks"
@@ -3826,7 +3911,7 @@ msgstr "Textbeschriftung"
 #. @node in ../../../Documentation/fr/user/text.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/text.itely
 #. @node in ../../../Documentation/es/user/text.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/text.itely
+#. @subsubsection in ../../../Documentation/es/user/text.itely
 #. @node in ../../../Documentation/de/user/text.itely
 #. @subsubsection in ../../../Documentation/de/user/text.itely
 msgid "Text markup introduction"
@@ -3837,7 +3922,7 @@ msgstr "Textbeschriftung (Einleitung)"
 #. @node in ../../../Documentation/fr/user/text.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/text.itely
 #. @node in ../../../Documentation/es/user/text.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/text.itely
+#. @subsubsection in ../../../Documentation/es/user/text.itely
 #. @node in ../../../Documentation/de/user/text.itely
 #. @subsubsection in ../../../Documentation/de/user/text.itely
 msgid "Nested scores"
@@ -3848,7 +3933,7 @@ msgstr "Geschachtelte Systeme"
 #. @node in ../../../Documentation/fr/user/text.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/text.itely
 #. @node in ../../../Documentation/es/user/text.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/text.itely
+#. @subsubsection in ../../../Documentation/es/user/text.itely
 #. @node in ../../../Documentation/de/user/text.itely
 #. @subsubsection in ../../../Documentation/de/user/text.itely
 msgid "Page wrapping text"
@@ -3859,7 +3944,7 @@ msgstr "Text über mehrere Seiten"
 #. @node in ../../../Documentation/fr/user/text.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/text.itely
 #. @node in ../../../Documentation/es/user/text.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/text.itely
+#. @subsubsection in ../../../Documentation/es/user/text.itely
 #. @node in ../../../Documentation/de/user/text.itely
 #. @subsubsection in ../../../Documentation/de/user/text.itely
 msgid "Font selection"
@@ -3877,7 +3962,7 @@ msgstr "Besonderheiten bei der Texteingabe"
 #. @node in ../../../Documentation/fr/user/text.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/text.itely
 #. @node in ../../../Documentation/es/user/text.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/text.itely
+#. @subsubsection in ../../../Documentation/es/user/text.itely
 #. @node in ../../../Documentation/de/user/text.itely
 #. @subsubsection in ../../../Documentation/de/user/text.itely
 msgid "New dynamic marks"
@@ -3888,7 +3973,7 @@ msgstr "Neue Lautstärkezeichen"
 #. @node in ../../../Documentation/fr/user/text.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/text.itely
 #. @node in ../../../Documentation/es/user/text.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/text.itely
+#. @subsubsection in ../../../Documentation/es/user/text.itely
 #. @node in ../../../Documentation/de/user/text.itely
 #. @subsubsection in ../../../Documentation/de/user/text.itely
 msgid "Text and line spanners"
@@ -3918,6 +4003,8 @@ msgstr "Notation von Gesang"
 
 #. @node in ../../../Documentation/user/vocal.itely
 #. @subsection in ../../../Documentation/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 "Simple lyrics"
@@ -3928,7 +4015,7 @@ msgstr "Einfache Gesangstexte"
 #. @node in ../../../Documentation/fr/user/vocal.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/vocal.itely
 #. @node in ../../../Documentation/es/user/vocal.itely
-#. @unnumberedsubsubsec 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 "Entering lyrics"
@@ -3939,7 +4026,7 @@ msgstr "Eingabe von Text"
 #. @node in ../../../Documentation/fr/user/vocal.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/vocal.itely
 #. @node in ../../../Documentation/es/user/vocal.itely
-#. @unnumberedsubsubsec 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 "Automatic syllable durations"
@@ -3950,7 +4037,7 @@ msgstr "Automatische Silbendauer"
 #. @node in ../../../Documentation/fr/user/vocal.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/vocal.itely
 #. @node in ../../../Documentation/es/user/vocal.itely
-#. @unnumberedsubsubsec 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"
@@ -3961,7 +4048,7 @@ msgstr "Eine andere Art, den Text einzugeben"
 #. @node in ../../../Documentation/fr/user/vocal.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/vocal.itely
 #. @node in ../../../Documentation/es/user/vocal.itely
-#. @unnumberedsubsubsec 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"
@@ -3972,7 +4059,7 @@ msgstr "Mehr als eine Strophe an einer Note ausrichten"
 #. @node in ../../../Documentation/fr/user/vocal.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/vocal.itely
 #. @node in ../../../Documentation/es/user/vocal.itely
-#. @unnumberedsubsubsec 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"
@@ -3983,7 +4070,7 @@ msgstr "Mehr als eine Note für eine einzelne Silbe"
 #. @node in ../../../Documentation/fr/user/vocal.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/vocal.itely
 #. @node in ../../../Documentation/es/user/vocal.itely
-#. @unnumberedsubsubsec 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 "Extenders and hyphens"
@@ -3991,6 +4078,8 @@ msgstr "Unterstrichen und Trennstriche"
 
 #. @node in ../../../Documentation/user/vocal.itely
 #. @subsection in ../../../Documentation/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 "Vocals and variables"
@@ -3998,6 +4087,8 @@ msgstr "Gesangstexte und Bezeichner"
 
 #. @node in ../../../Documentation/user/vocal.itely
 #. @subsubsection in ../../../Documentation/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 "Working with lyrics and variables"
@@ -4008,7 +4099,7 @@ msgstr "Mit Gesangtexten und Bezeichnern arbeiten"
 #. @node in ../../../Documentation/fr/user/vocal.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/vocal.itely
 #. @node in ../../../Documentation/es/user/vocal.itely
-#. @unnumberedsubsubsec 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"
@@ -4019,7 +4110,7 @@ msgstr "Flexibilität bei der Positionierung"
 #. @node in ../../../Documentation/fr/user/vocal.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/vocal.itely
 #. @node in ../../../Documentation/es/user/vocal.itely
-#. @unnumberedsubsubsec 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"
@@ -4030,7 +4121,7 @@ msgstr "Text zu mehreren Noten eines Melismas"
 #. @node in ../../../Documentation/fr/user/vocal.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/vocal.itely
 #. @node in ../../../Documentation/es/user/vocal.itely
-#. @unnumberedsubsubsec 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 "Divisi lyrics"
@@ -4041,7 +4132,7 @@ msgstr "Getrennte Texte"
 #. @node in ../../../Documentation/fr/user/vocal.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/vocal.itely
 #. @node in ../../../Documentation/es/user/vocal.itely
-#. @unnumberedsubsubsec 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"
@@ -4052,7 +4143,7 @@ msgstr "Die Melodie, die mit einer Textzeile verbunden ist, umschalten"
 #. @node in ../../../Documentation/fr/user/vocal.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/vocal.itely
 #. @node in ../../../Documentation/es/user/vocal.itely
-#. @unnumberedsubsubsec 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 independent of notes"
@@ -4060,6 +4151,8 @@ msgstr "Text unabhängig von den Noten"
 
 #. @node in ../../../Documentation/user/vocal.itely
 #. @subsection in ../../../Documentation/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 "Spacing vocals"
@@ -4070,7 +4163,7 @@ msgstr "Abstände im Gesangstext"
 #. @node in ../../../Documentation/fr/user/vocal.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/vocal.itely
 #. @node in ../../../Documentation/es/user/vocal.itely
-#. @unnumberedsubsubsec 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"
@@ -4081,7 +4174,7 @@ msgstr "Textabstände"
 #. @node in ../../../Documentation/fr/user/vocal.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/vocal.itely
 #. @node in ../../../Documentation/es/user/vocal.itely
-#. @unnumberedsubsubsec 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"
@@ -4090,7 +4183,8 @@ msgstr "Mehr über Strophen"
 #. @node in ../../../Documentation/user/vocal.itely
 #. @subsubsection in ../../../Documentation/user/vocal.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/vocal.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/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 stanza numbers"
@@ -4099,7 +4193,8 @@ msgstr "Strophennummern hinzufügen"
 #. @node in ../../../Documentation/user/vocal.itely
 #. @subsubsection in ../../../Documentation/user/vocal.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/vocal.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/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"
@@ -4108,7 +4203,8 @@ msgstr "Lautstärkebezeichnung hinzufügen"
 #. @node in ../../../Documentation/user/vocal.itely
 #. @subsubsection in ../../../Documentation/user/vocal.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/vocal.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/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"
@@ -4117,7 +4213,8 @@ msgstr "Sängernamen hinzufügen"
 #. @node in ../../../Documentation/user/vocal.itely
 #. @subsubsection in ../../../Documentation/user/vocal.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/vocal.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/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 "Printing stanzas at the end"
@@ -4126,7 +4223,8 @@ msgstr "Die Strophen am Ende ausdrucken"
 #. @node in ../../../Documentation/user/vocal.itely
 #. @subsubsection in ../../../Documentation/user/vocal.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/vocal.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/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 "Printing stanzas at the end in multiple columns"
@@ -4134,12 +4232,8 @@ msgstr "Die Strophen am Ende in mehreren Spalten drucken"
 
 #. @node in ../../../Documentation/user/chords.itely
 #. @section in ../../../Documentation/user/chords.itely
-#. @node in ../../../Documentation/fr/user/simultaneous.itely
-#. @unnumberedsubsubsec in ../../../Documentation/fr/user/simultaneous.itely
 #. @node in ../../../Documentation/fr/user/chords.itely
 #. @section in ../../../Documentation/fr/user/chords.itely
-#. @node in ../../../Documentation/es/user/simultaneous.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/simultaneous.itely
 #. @node in ../../../Documentation/de/user/simultaneous.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/simultaneous.itely
 msgid "Chords"
@@ -4156,8 +4250,6 @@ msgstr "Notation von Akkorden"
 #. @subsubsection in ../../../Documentation/user/chords.itely
 #. @node in ../../../Documentation/fr/user/tutorial.itely
 #. @subsection in ../../../Documentation/fr/user/tutorial.itely
-#. @node in ../../../Documentation/es/user/tutorial.itely
-#. @subsection in ../../../Documentation/es/user/tutorial.itely
 msgid "A lead sheet"
 msgstr "Ein Song-Blatt"
 
@@ -4166,7 +4258,7 @@ msgstr "Ein Song-Blatt"
 #. @node in ../../../Documentation/fr/user/chords.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/chords.itely
 #. @node in ../../../Documentation/es/user/chords.itely
-#. @unnumberedsubsubsec 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 "Introducing chord names"
@@ -4177,7 +4269,7 @@ msgstr "Einführung in Akkordbezeichungen"
 #. @node in ../../../Documentation/fr/user/chords.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/chords.itely
 #. @node in ../../../Documentation/es/user/chords.itely
-#. @unnumberedsubsubsec 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"
@@ -4188,7 +4280,7 @@ msgstr "Akkord-Modus"
 #. @node in ../../../Documentation/fr/user/chords.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/chords.itely
 #. @node in ../../../Documentation/es/user/chords.itely
-#. @unnumberedsubsubsec 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 "Printing chord names"
@@ -4209,6 +4301,8 @@ msgstr "Notation für Klavier"
 #. @subsection in ../../../Documentation/user/piano.itely
 #. @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 "Notation von Musik für Klavier"
 
@@ -4217,7 +4311,7 @@ msgstr "Notation von Musik für Klavier"
 #. @node in ../../../Documentation/fr/user/piano.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/piano.itely
 #. @node in ../../../Documentation/es/user/piano.itely
-#. @unnumberedsubsubsec 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"
@@ -4228,7 +4322,7 @@ msgstr "Automatische Notensystemwechsel"
 #. @node in ../../../Documentation/fr/user/piano.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/piano.itely
 #. @node in ../../../Documentation/es/user/piano.itely
-#. @unnumberedsubsubsec 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"
@@ -4239,7 +4333,7 @@ msgstr "Manuelle Notensystemwechsel"
 #. @node in ../../../Documentation/fr/user/piano.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/piano.itely
 #. @node in ../../../Documentation/es/user/piano.itely
-#. @unnumberedsubsubsec 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"
@@ -4250,7 +4344,7 @@ msgstr "Pedalbezeichnungen"
 #. @node in ../../../Documentation/fr/user/piano.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/piano.itely
 #. @node in ../../../Documentation/es/user/piano.itely
-#. @unnumberedsubsubsec 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"
@@ -4261,7 +4355,7 @@ msgstr "Stimmführungslinien"
 #. @node in ../../../Documentation/fr/user/piano.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/piano.itely
 #. @node in ../../../Documentation/es/user/piano.itely
-#. @unnumberedsubsubsec 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"
@@ -4290,7 +4384,7 @@ msgstr "Notation für Schlagzeug"
 #. @node in ../../../Documentation/fr/user/percussion.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/percussion.itely
 #. @node in ../../../Documentation/es/user/percussion.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/percussion.itely
+#. @subsubsection in ../../../Documentation/es/user/percussion.itely
 #. @node in ../../../Documentation/de/user/percussion.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/percussion.itely
 msgid "Showing melody rhythms"
@@ -4301,7 +4395,7 @@ msgstr "Melodierhythmus anzeigen"
 #. @node in ../../../Documentation/fr/user/percussion.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/percussion.itely
 #. @node in ../../../Documentation/es/user/percussion.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/percussion.itely
+#. @subsubsection in ../../../Documentation/es/user/percussion.itely
 #. @node in ../../../Documentation/de/user/percussion.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/percussion.itely
 msgid "Entering percussion"
@@ -4312,7 +4406,7 @@ msgstr "Schlagzeugnotation"
 #. @node in ../../../Documentation/fr/user/percussion.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/percussion.itely
 #. @node in ../../../Documentation/es/user/percussion.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/percussion.itely
+#. @subsubsection in ../../../Documentation/es/user/percussion.itely
 #. @node in ../../../Documentation/de/user/percussion.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/percussion.itely
 msgid "Percussion staves"
@@ -4323,7 +4417,7 @@ msgstr "Schlagzeugsysteme"
 #. @node in ../../../Documentation/fr/user/percussion.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/percussion.itely
 #. @node in ../../../Documentation/es/user/percussion.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/percussion.itely
+#. @subsubsection in ../../../Documentation/es/user/percussion.itely
 #. @node in ../../../Documentation/de/user/percussion.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/percussion.itely
 msgid "Ghost notes"
@@ -4352,7 +4446,7 @@ msgstr "Notation für Guitarre"
 #. @node in ../../../Documentation/fr/user/guitar.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/guitar.itely
 #. @node in ../../../Documentation/es/user/guitar.itely
-#. @unnumberedsubsubsec 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 "String number indications"
@@ -4363,7 +4457,7 @@ msgstr "Seitennummerbezeichnung"
 #. @node in ../../../Documentation/fr/user/guitar.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/guitar.itely
 #. @node in ../../../Documentation/es/user/guitar.itely
-#. @unnumberedsubsubsec 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"
@@ -4374,7 +4468,7 @@ msgstr "Grundlagen der Tabulatur"
 #. @node in ../../../Documentation/fr/user/guitar.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/guitar.itely
 #. @node in ../../../Documentation/es/user/guitar.itely
-#. @unnumberedsubsubsec 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"
@@ -4385,7 +4479,7 @@ msgstr "Nicht-Gitarren-Tabulaturen"
 #. @node in ../../../Documentation/fr/user/guitar.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/guitar.itely
 #. @node in ../../../Documentation/es/user/guitar.itely
-#. @unnumberedsubsubsec 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 "Banjo tablatures"
@@ -4396,7 +4490,7 @@ msgstr "Banjo-Tabulaturen"
 #. @node in ../../../Documentation/fr/user/guitar.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/guitar.itely
 #. @node in ../../../Documentation/es/user/guitar.itely
-#. @unnumberedsubsubsec 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 "Fret diagrams"
@@ -4407,7 +4501,7 @@ msgstr "Bund-Diagramme"
 #. @node in ../../../Documentation/fr/user/guitar.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/guitar.itely
 #. @node in ../../../Documentation/es/user/guitar.itely
-#. @unnumberedsubsubsec 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 "Right hand fingerings"
@@ -4418,7 +4512,7 @@ msgstr "Fingersatz der rechten Hand"
 #. @node in ../../../Documentation/fr/user/guitar.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/guitar.itely
 #. @node in ../../../Documentation/es/user/guitar.itely
-#. @unnumberedsubsubsec 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"
@@ -4446,10 +4540,8 @@ msgstr "Notation von Orchestermusik"
 #. @subsubsection in ../../../Documentation/user/strings.itely
 #. @node in ../../../Documentation/fr/user/strings.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/strings.itely
-#. @node in ../../../Documentation/fr/user/strings.itely
-#. @unnumberedsubsubsec in ../../../Documentation/fr/user/strings.itely
 #. @node in ../../../Documentation/es/user/strings.itely
-#. @unnumberedsubsubsec 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
 msgid "Artificial harmonics (strings)"
@@ -4476,7 +4568,7 @@ msgstr "Notation von Musik für Dudelsack"
 #. @node in ../../../Documentation/fr/user/bagpipes.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/bagpipes.itely
 #. @node in ../../../Documentation/es/user/bagpipes.itely
-#. @unnumberedsubsubsec 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
 msgid "Bagpipe definitions"
@@ -4487,7 +4579,7 @@ msgstr "Dudelsack-Defintionen"
 #. @node in ../../../Documentation/fr/user/bagpipes.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/bagpipes.itely
 #. @node in ../../../Documentation/es/user/bagpipes.itely
-#. @unnumberedsubsubsec 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
 msgid "Bagpipe example"
@@ -4514,7 +4606,7 @@ msgstr "Alternative Notenzeichen der Alten Musik"
 #. @node in ../../../Documentation/fr/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/ancient.itely
 #. @node in ../../../Documentation/es/user/ancient.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/ancient.itely
+#. @subsubsection in ../../../Documentation/es/user/ancient.itely
 #. @node in ../../../Documentation/de/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/ancient.itely
 msgid "Ancient note heads"
@@ -4525,7 +4617,7 @@ msgstr "Notenköpfe Alter Musik"
 #. @node in ../../../Documentation/fr/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/ancient.itely
 #. @node in ../../../Documentation/es/user/ancient.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/ancient.itely
+#. @subsubsection in ../../../Documentation/es/user/ancient.itely
 #. @node in ../../../Documentation/de/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/ancient.itely
 msgid "Ancient accidentals"
@@ -4536,7 +4628,7 @@ msgstr "Versetzungszeichen Alter Musik"
 #. @node in ../../../Documentation/fr/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/ancient.itely
 #. @node in ../../../Documentation/es/user/ancient.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/ancient.itely
+#. @subsubsection in ../../../Documentation/es/user/ancient.itely
 #. @node in ../../../Documentation/de/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/ancient.itely
 msgid "Ancient rests"
@@ -4547,7 +4639,7 @@ msgstr "Pausen Alter Musik"
 #. @node in ../../../Documentation/fr/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/ancient.itely
 #. @node in ../../../Documentation/es/user/ancient.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/ancient.itely
+#. @subsubsection in ../../../Documentation/es/user/ancient.itely
 #. @node in ../../../Documentation/de/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/ancient.itely
 msgid "Ancient clefs"
@@ -4558,7 +4650,7 @@ msgstr "Schlüssel Alter Musik"
 #. @node in ../../../Documentation/fr/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/ancient.itely
 #. @node in ../../../Documentation/es/user/ancient.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/ancient.itely
+#. @subsubsection in ../../../Documentation/es/user/ancient.itely
 #. @node in ../../../Documentation/de/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/ancient.itely
 msgid "Ancient flags"
@@ -4569,7 +4661,7 @@ msgstr "Fähnchen Alter Musik"
 #. @node in ../../../Documentation/fr/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/ancient.itely
 #. @node in ../../../Documentation/es/user/ancient.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/ancient.itely
+#. @subsubsection in ../../../Documentation/es/user/ancient.itely
 #. @node in ../../../Documentation/de/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/ancient.itely
 msgid "Ancient time signatures"
@@ -4585,7 +4677,7 @@ msgstr "Zusätzliche Notenzeichen für die Alte Musik"
 #. @node in ../../../Documentation/fr/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/ancient.itely
 #. @node in ../../../Documentation/es/user/ancient.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/ancient.itely
+#. @subsubsection in ../../../Documentation/es/user/ancient.itely
 #. @node in ../../../Documentation/de/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/ancient.itely
 msgid "Ancient articulations"
@@ -4596,7 +4688,7 @@ msgstr "Artikulationszeichen Alter Musik"
 #. @node in ../../../Documentation/fr/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/ancient.itely
 #. @node in ../../../Documentation/es/user/ancient.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/ancient.itely
+#. @subsubsection in ../../../Documentation/es/user/ancient.itely
 #. @node in ../../../Documentation/de/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/ancient.itely
 msgid "Custodes"
@@ -4607,7 +4699,7 @@ msgstr "Custodes"
 #. @node in ../../../Documentation/fr/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/ancient.itely
 #. @node in ../../../Documentation/es/user/ancient.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/ancient.itely
+#. @subsubsection in ../../../Documentation/es/user/ancient.itely
 #. @node in ../../../Documentation/de/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/ancient.itely
 msgid "Divisiones"
@@ -4618,7 +4710,7 @@ msgstr "Divisiones"
 #. @node in ../../../Documentation/fr/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/ancient.itely
 #. @node in ../../../Documentation/es/user/ancient.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/ancient.itely
+#. @subsubsection in ../../../Documentation/es/user/ancient.itely
 #. @node in ../../../Documentation/de/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/ancient.itely
 msgid "Ligatures"
@@ -4629,7 +4721,7 @@ msgstr "Ligaturen"
 #. @node in ../../../Documentation/fr/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/ancient.itely
 #. @node in ../../../Documentation/es/user/ancient.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/ancient.itely
+#. @subsubsection in ../../../Documentation/es/user/ancient.itely
 #. @node in ../../../Documentation/de/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/ancient.itely
 msgid "White mensural ligatures"
@@ -4640,7 +4732,7 @@ msgstr "Weiße Mensuralligaturen"
 #. @node in ../../../Documentation/fr/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/ancient.itely
 #. @node in ../../../Documentation/es/user/ancient.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/ancient.itely
+#. @subsubsection in ../../../Documentation/es/user/ancient.itely
 #. @node in ../../../Documentation/de/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/ancient.itely
 msgid "Gregorian square neumes ligatures"
@@ -4656,7 +4748,7 @@ msgstr "Vordefinierte Umgebungen"
 #. @node in ../../../Documentation/fr/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/ancient.itely
 #. @node in ../../../Documentation/es/user/ancient.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/ancient.itely
+#. @subsubsection in ../../../Documentation/es/user/ancient.itely
 #. @node in ../../../Documentation/de/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/ancient.itely
 msgid "Gregorian Chant contexts"
@@ -4667,7 +4759,7 @@ msgstr "Gregorianische Gesangs-Kontexte"
 #. @node in ../../../Documentation/fr/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/ancient.itely
 #. @node in ../../../Documentation/es/user/ancient.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/ancient.itely
+#. @subsubsection in ../../../Documentation/es/user/ancient.itely
 #. @node in ../../../Documentation/de/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/ancient.itely
 msgid "Mensural contexts"
@@ -4678,7 +4770,7 @@ msgstr "Mensural-Kontexte"
 #. @node in ../../../Documentation/fr/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/ancient.itely
 #. @node in ../../../Documentation/es/user/ancient.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/ancient.itely
+#. @subsubsection in ../../../Documentation/es/user/ancient.itely
 #. @node in ../../../Documentation/de/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/ancient.itely
 msgid "Musica ficta accidentals"
@@ -4689,7 +4781,7 @@ msgstr "Musica-ficta-Versetzungszeichen"
 #. @node in ../../../Documentation/fr/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/ancient.itely
 #. @node in ../../../Documentation/es/user/ancient.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/ancient.itely
+#. @subsubsection in ../../../Documentation/es/user/ancient.itely
 #. @node in ../../../Documentation/de/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/ancient.itely
 msgid "Figured bass"
@@ -4699,6 +4791,8 @@ msgstr "Generalbass"
 #. @chapter in ../../../Documentation/user/input.itely
 #. @node in ../../../Documentation/fr/user/input.itely
 #. @chapter in ../../../Documentation/fr/user/input.itely
+#. @node in ../../../Documentation/es/user/input.itely
+#. @chapter in ../../../Documentation/es/user/input.itely
 #. @node in ../../../Documentation/de/user/input.itely
 #. @chapter in ../../../Documentation/de/user/input.itely
 msgid "Input syntax"
@@ -4708,10 +4802,8 @@ msgstr "Die Eingabe-Syntax"
 #. @section in ../../../Documentation/user/input.itely
 #. @node in ../../../Documentation/fr/user/input.itely
 #. @section in ../../../Documentation/fr/user/input.itely
-#. @node in ../../../Documentation/fr/user/non-music.itely
-#. @section in ../../../Documentation/fr/user/non-music.itely
-#. @node in ../../../Documentation/es/user/non-music.itely
-#. @section in ../../../Documentation/es/user/non-music.itely
+#. @node in ../../../Documentation/es/user/input.itely
+#. @section in ../../../Documentation/es/user/input.itely
 #. @node in ../../../Documentation/de/user/input.itely
 #. @section in ../../../Documentation/de/user/input.itely
 msgid "Input files"
@@ -4721,10 +4813,8 @@ msgstr "Quelldateien"
 #. @subsection in ../../../Documentation/user/input.itely
 #. @node in ../../../Documentation/fr/user/input.itely
 #. @subsection in ../../../Documentation/fr/user/input.itely
-#. @node in ../../../Documentation/fr/user/non-music.itely
-#. @subsection in ../../../Documentation/fr/user/non-music.itely
-#. @node in ../../../Documentation/es/user/non-music.itely
-#. @subsection in ../../../Documentation/es/user/non-music.itely
+#. @node in ../../../Documentation/es/user/input.itely
+#. @subsection in ../../../Documentation/es/user/input.itely
 #. @node in ../../../Documentation/de/user/input.itely
 #. @subsection in ../../../Documentation/de/user/input.itely
 msgid "File structure"
@@ -4734,10 +4824,8 @@ msgstr "Die Dateistruktur"
 #. @subsection in ../../../Documentation/user/input.itely
 #. @node in ../../../Documentation/fr/user/input.itely
 #. @subsection in ../../../Documentation/fr/user/input.itely
-#. @node in ../../../Documentation/fr/user/non-music.itely
-#. @subsection in ../../../Documentation/fr/user/non-music.itely
-#. @node in ../../../Documentation/es/user/non-music.itely
-#. @subsection in ../../../Documentation/es/user/non-music.itely
+#. @node in ../../../Documentation/es/user/input.itely
+#. @subsection in ../../../Documentation/es/user/input.itely
 #. @node in ../../../Documentation/de/user/input.itely
 #. @subsection in ../../../Documentation/de/user/input.itely
 msgid "A single music expression"
@@ -4747,10 +4835,8 @@ msgstr "Ein einzelner musikalischer Ausdruck"
 #. @subsection in ../../../Documentation/user/input.itely
 #. @node in ../../../Documentation/fr/user/input.itely
 #. @subsection in ../../../Documentation/fr/user/input.itely
-#. @node in ../../../Documentation/fr/user/non-music.itely
-#. @subsection in ../../../Documentation/fr/user/non-music.itely
-#. @node in ../../../Documentation/es/user/non-music.itely
-#. @subsection in ../../../Documentation/es/user/non-music.itely
+#. @node in ../../../Documentation/es/user/input.itely
+#. @subsection in ../../../Documentation/es/user/input.itely
 #. @node in ../../../Documentation/de/user/input.itely
 #. @subsection in ../../../Documentation/de/user/input.itely
 msgid "Multiple scores in a book"
@@ -4760,10 +4846,8 @@ msgstr "Mehrere Partituren in einem Buch"
 #. @subsection in ../../../Documentation/user/input.itely
 #. @node in ../../../Documentation/fr/user/input.itely
 #. @subsection in ../../../Documentation/fr/user/input.itely
-#. @node in ../../../Documentation/fr/user/non-music.itely
-#. @subsection in ../../../Documentation/fr/user/non-music.itely
-#. @node in ../../../Documentation/es/user/non-music.itely
-#. @subsection in ../../../Documentation/es/user/non-music.itely
+#. @node in ../../../Documentation/es/user/input.itely
+#. @subsection in ../../../Documentation/es/user/input.itely
 #. @node in ../../../Documentation/de/user/input.itely
 #. @subsection in ../../../Documentation/de/user/input.itely
 msgid "Extracting fragments of notation"
@@ -4773,10 +4857,8 @@ msgstr "Notationsfragmente extrahieren"
 #. @subsection in ../../../Documentation/user/input.itely
 #. @node in ../../../Documentation/fr/user/input.itely
 #. @subsection in ../../../Documentation/fr/user/input.itely
-#. @node in ../../../Documentation/fr/user/non-music.itely
-#. @subsection in ../../../Documentation/fr/user/non-music.itely
-#. @node in ../../../Documentation/es/user/non-music.itely
-#. @subsection in ../../../Documentation/es/user/non-music.itely
+#. @node in ../../../Documentation/es/user/input.itely
+#. @subsection in ../../../Documentation/es/user/input.itely
 #. @node in ../../../Documentation/de/user/input.itely
 #. @subsection in ../../../Documentation/de/user/input.itely
 msgid "Including LilyPond files"
@@ -4786,10 +4868,8 @@ msgstr "LilyPond-Dateien einfügen"
 #. @subsection in ../../../Documentation/user/input.itely
 #. @node in ../../../Documentation/fr/user/input.itely
 #. @subsection in ../../../Documentation/fr/user/input.itely
-#. @node in ../../../Documentation/fr/user/non-music.itely
-#. @subsection in ../../../Documentation/fr/user/non-music.itely
-#. @node in ../../../Documentation/es/user/non-music.itely
-#. @subsection in ../../../Documentation/es/user/non-music.itely
+#. @node in ../../../Documentation/es/user/input.itely
+#. @subsection in ../../../Documentation/es/user/input.itely
 #. @node in ../../../Documentation/de/user/input.itely
 #. @subsection in ../../../Documentation/de/user/input.itely
 msgid "Text encoding"
@@ -4799,10 +4879,8 @@ msgstr "Zeichenkodierung"
 #. @subsection in ../../../Documentation/user/input.itely
 #. @node in ../../../Documentation/fr/user/input.itely
 #. @subsection in ../../../Documentation/fr/user/input.itely
-#. @node in ../../../Documentation/fr/user/non-music.itely
-#. @subsection in ../../../Documentation/fr/user/non-music.itely
-#. @node in ../../../Documentation/es/user/non-music.itely
-#. @subsection in ../../../Documentation/es/user/non-music.itely
+#. @node in ../../../Documentation/es/user/input.itely
+#. @subsection in ../../../Documentation/es/user/input.itely
 #. @node in ../../../Documentation/de/user/input.itely
 #. @subsection in ../../../Documentation/de/user/input.itely
 msgid "Different editions from one source"
@@ -4812,34 +4890,44 @@ msgstr "Verschiedene Editionen aus einer Quelldatei"
 #. @section in ../../../Documentation/user/input.itely
 #. @node in ../../../Documentation/fr/user/input.itely
 #. @section in ../../../Documentation/fr/user/input.itely
+#. @node in ../../../Documentation/es/user/input.itely
+#. @section in ../../../Documentation/es/user/input.itely
 #. @node in ../../../Documentation/de/user/input.itely
 #. @section in ../../../Documentation/de/user/input.itely
 msgid "Common syntax issues TODO name?"
-msgstr ""
+msgstr "Übliche Syntax-Probleme"
 
 #. @node in ../../../Documentation/user/input.itely
 #. @subsection in ../../../Documentation/user/input.itely
-#. @node in ../../../Documentation/fr/user/input.itely
-#. @subsection in ../../../Documentation/fr/user/input.itely
-#. @node in ../../../Documentation/de/user/input.itely
-#. @subsection in ../../../Documentation/de/user/input.itely
-#, fuzzy
-msgid "Controlling direction"
-msgstr "Auflösung von Zusammenstößen"
+#. @node in ../../../Documentation/es/user/input.itely
+#. @subsection in ../../../Documentation/es/user/input.itely
+msgid "Controlling direction and placement"
+msgstr "Richtung und Platzierung kontrollieren"
 
 #. @node in ../../../Documentation/user/input.itely
 #. @subsection in ../../../Documentation/user/input.itely
 #. @node in ../../../Documentation/fr/user/input.itely
 #. @subsection in ../../../Documentation/fr/user/input.itely
+#. @node in ../../../Documentation/es/user/input.itely
+#. @subsection in ../../../Documentation/es/user/input.itely
 #. @node in ../../../Documentation/de/user/input.itely
 #. @subsection in ../../../Documentation/de/user/input.itely
 msgid "Distances and measurements MAYBE MOVE"
-msgstr ""
+msgstr "Abstände und Maßeinheiten"
+
+#. @node in ../../../Documentation/user/input.itely
+#. @subsection in ../../../Documentation/user/input.itely
+#. @node in ../../../Documentation/es/user/input.itely
+#. @subsection in ../../../Documentation/es/user/input.itely
+msgid "When to add a -"
+msgstr "Wann ein - hinzugefügt wird"
 
 #. @node in ../../../Documentation/user/input.itely
 #. @section in ../../../Documentation/user/input.itely
 #. @node in ../../../Documentation/fr/user/input.itely
 #. @section in ../../../Documentation/fr/user/input.itely
+#. @node in ../../../Documentation/es/user/input.itely
+#. @section in ../../../Documentation/es/user/input.itely
 #. @node in ../../../Documentation/de/user/input.itely
 #. @section in ../../../Documentation/de/user/input.itely
 msgid "Other stuffs TODO move?"
@@ -4849,10 +4937,8 @@ msgstr ""
 #. @subsection in ../../../Documentation/user/input.itely
 #. @node in ../../../Documentation/fr/user/input.itely
 #. @subsection in ../../../Documentation/fr/user/input.itely
-#. @node in ../../../Documentation/fr/user/non-music.itely
-#. @section in ../../../Documentation/fr/user/non-music.itely
-#. @node in ../../../Documentation/es/user/non-music.itely
-#. @section in ../../../Documentation/es/user/non-music.itely
+#. @node in ../../../Documentation/es/user/input.itely
+#. @subsection in ../../../Documentation/es/user/input.itely
 #. @node in ../../../Documentation/de/user/input.itely
 #. @subsection in ../../../Documentation/de/user/input.itely
 msgid "Displaying LilyPond notation"
@@ -4862,10 +4948,8 @@ msgstr "LilyPond-Notation anzeigen"
 #. @subsection in ../../../Documentation/user/input.itely
 #. @node in ../../../Documentation/fr/user/input.itely
 #. @subsection in ../../../Documentation/fr/user/input.itely
-#. @node in ../../../Documentation/fr/user/non-music.itely
-#. @section in ../../../Documentation/fr/user/non-music.itely
-#. @node in ../../../Documentation/es/user/non-music.itely
-#. @section in ../../../Documentation/es/user/non-music.itely
+#. @node in ../../../Documentation/es/user/input.itely
+#. @subsection in ../../../Documentation/es/user/input.itely
 #. @node in ../../../Documentation/de/user/input.itely
 #. @subsection in ../../../Documentation/de/user/input.itely
 msgid "Skipping corrected music"
@@ -4875,6 +4959,8 @@ msgstr "Korrigierte Musik überspringen"
 #. @subsection in ../../../Documentation/user/input.itely
 #. @node in ../../../Documentation/fr/user/input.itely
 #. @subsection in ../../../Documentation/fr/user/input.itely
+#. @node in ../../../Documentation/es/user/input.itely
+#. @subsection in ../../../Documentation/es/user/input.itely
 #. @node in ../../../Documentation/de/user/input.itely
 #. @subsection in ../../../Documentation/de/user/input.itely
 msgid "context list FIXME"
@@ -4884,6 +4970,8 @@ msgstr ""
 #. @subsection in ../../../Documentation/user/input.itely
 #. @node in ../../../Documentation/fr/user/input.itely
 #. @subsection in ../../../Documentation/fr/user/input.itely
+#. @node in ../../../Documentation/es/user/input.itely
+#. @subsection in ../../../Documentation/es/user/input.itely
 #. @node in ../../../Documentation/de/user/input.itely
 #. @subsection in ../../../Documentation/de/user/input.itely
 msgid "another thing FIXME"
@@ -4893,6 +4981,8 @@ msgstr ""
 #. @subsection in ../../../Documentation/user/input.itely
 #. @node in ../../../Documentation/fr/user/input.itely
 #. @subsection in ../../../Documentation/fr/user/input.itely
+#. @node in ../../../Documentation/es/user/input.itely
+#. @subsection in ../../../Documentation/es/user/input.itely
 #. @node in ../../../Documentation/de/user/input.itely
 #. @subsection in ../../../Documentation/de/user/input.itely
 msgid "Input modes FIXME"
@@ -5010,6 +5100,10 @@ msgstr "MIDI-Instrumentenbezeichnungen"
 
 #. @node in ../../../Documentation/user/non-music.itely
 #. @subsection in ../../../Documentation/user/non-music.itely
+#. @node in ../../../Documentation/fr/user/non-music.itely
+#. @subsection in ../../../Documentation/fr/user/non-music.itely
+#. @node in ../../../Documentation/es/user/non-music.itely
+#. @subsection in ../../../Documentation/es/user/non-music.itely
 #. @node in ../../../Documentation/de/user/non-music.itely
 #. @subsection in ../../../Documentation/de/user/non-music.itely
 msgid "What goes into the MIDI?  FIXME"
@@ -5017,10 +5111,10 @@ msgstr ""
 
 #. @node in ../../../Documentation/user/non-music.itely
 #. @subsubsection in ../../../Documentation/user/non-music.itely
-#. @node in ../../../Documentation/fr/user/repeats.itely
-#. @unnumberedsubsubsec in ../../../Documentation/fr/user/repeats.itely
-#. @node in ../../../Documentation/es/user/repeats.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/repeats.itely
+#. @node in ../../../Documentation/fr/user/non-music.itely
+#. @unnumberedsubsubsec in ../../../Documentation/fr/user/non-music.itely
+#. @node in ../../../Documentation/es/user/non-music.itely
+#. @subsubsection in ../../../Documentation/es/user/non-music.itely
 #. @node in ../../../Documentation/de/user/repeats.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/repeats.itely
 #. @node in ../../../Documentation/de/user/non-music.itely
@@ -5030,10 +5124,14 @@ msgstr "Wiederholungen und MIDI"
 
 #. @node in ../../../Documentation/user/non-music.itely
 #. @section in ../../../Documentation/user/non-music.itely
+#. @node in ../../../Documentation/fr/user/non-music.itely
+#. @section in ../../../Documentation/fr/user/non-music.itely
+#. @node in ../../../Documentation/es/user/non-music.itely
+#. @section in ../../../Documentation/es/user/non-music.itely
 #. @node in ../../../Documentation/de/user/non-music.itely
 #. @section in ../../../Documentation/de/user/non-music.itely
 msgid "other midi"
-msgstr ""
+msgstr "Weiter Midi-Probleme"
 
 #. @node in ../../../Documentation/user/spacing.itely
 #. @chapter in ../../../Documentation/user/spacing.itely
@@ -5355,7 +5453,7 @@ msgstr "Proportionale Notation"
 #. @node in ../../../Documentation/de/user/spacing.itely
 #. @section in ../../../Documentation/de/user/spacing.itely
 msgid "Page layout MOVED FROM LM"
-msgstr ""
+msgstr "Seitenlayout"
 
 #. @node in ../../../Documentation/user/spacing.itely
 #. @subsection in ../../../Documentation/user/spacing.itely
@@ -5365,9 +5463,8 @@ msgstr ""
 #. @subsection in ../../../Documentation/es/user/spacing.itely
 #. @node in ../../../Documentation/de/user/spacing.itely
 #. @subsection in ../../../Documentation/de/user/spacing.itely
-#, fuzzy
 msgid "Introduction to layout"
-msgstr "Eine Korrektur konstruieren"
+msgstr "Einfürung in das Layout"
 
 #. @node in ../../../Documentation/user/spacing.itely
 #. @subsection in ../../../Documentation/user/spacing.itely
@@ -5378,7 +5475,7 @@ msgstr "Eine Korrektur konstruieren"
 #. @node in ../../../Documentation/de/user/spacing.itely
 #. @subsection in ../../../Documentation/de/user/spacing.itely
 msgid "Global sizes"
-msgstr ""
+msgstr "Globale Größenangabe"
 
 #. @node in ../../../Documentation/user/spacing.itely
 #. @subsection in ../../../Documentation/user/spacing.itely
@@ -5388,7 +5485,6 @@ msgstr ""
 #. @subsection in ../../../Documentation/es/user/spacing.itely
 #. @node in ../../../Documentation/de/user/spacing.itely
 #. @subsection in ../../../Documentation/de/user/spacing.itely
-#, fuzzy
 msgid "Line breaks"
 msgstr "Zeilenumbrüche"
 
@@ -5400,7 +5496,6 @@ msgstr "Zeilenumbrüche"
 #. @subsection in ../../../Documentation/es/user/spacing.itely
 #. @node in ../../../Documentation/de/user/spacing.itely
 #. @subsection in ../../../Documentation/de/user/spacing.itely
-#, fuzzy
 msgid "Page breaks"
 msgstr "Seitenumbrüche"
 
@@ -5628,6 +5723,21 @@ msgstr "@code{\\set} versus @code{\\override}"
 msgid "Difficult tweaks"
 msgstr "Schwierige Korrekturen"
 
+#. @node in ../../../Documentation/user/changing-defaults.itely
+#. @section in ../../../Documentation/user/changing-defaults.itely
+msgid "Discussion of specific tweaks"
+msgstr "Erklärung von speziellen Optimierungen"
+
+#. @node in ../../../Documentation/user/changing-defaults.itely
+#. @subsection in ../../../Documentation/user/changing-defaults.itely
+msgid "Line styles"
+msgstr "Zeilenstile"
+
+#. @node in ../../../Documentation/user/changing-defaults.itely
+#. @subsection in ../../../Documentation/user/changing-defaults.itely
+msgid "Controlling visibility of objects"
+msgstr "Die Sichtbarkeit von Objekten kontrollieren"
+
 #. @node in ../../../Documentation/user/programming-interface.itely
 #. @chapter in ../../../Documentation/user/programming-interface.itely
 #. @node in ../../../Documentation/fr/user/programming-interface.itely
@@ -6055,27 +6165,31 @@ msgstr "Liste der Arktikulationszeichen"
 
 #. @node in ../../../Documentation/user/notation-appendices.itely
 #. @appendixsec in ../../../Documentation/user/notation-appendices.itely
-#, fuzzy
+#. @node in ../../../Documentation/fr/user/notation-appendices.itely
+#. @appendixsec in ../../../Documentation/fr/user/notation-appendices.itely
 msgid "All context properties"
-msgstr "Umgebungs-Eignschaften verändern"
+msgstr "Alle Kontexteigenschaften"
 
 #. @node in ../../../Documentation/user/notation-appendices.itely
 #. @appendixsec in ../../../Documentation/user/notation-appendices.itely
-#, fuzzy
+#. @node in ../../../Documentation/fr/user/notation-appendices.itely
+#. @appendixsec in ../../../Documentation/fr/user/notation-appendices.itely
 msgid "Layout properties"
-msgstr "Eigenschaften von Musikobjekten"
+msgstr "Eigenschaften des Layouts"
 
 #. @node in ../../../Documentation/user/notation-appendices.itely
 #. @appendixsec in ../../../Documentation/user/notation-appendices.itely
-#, fuzzy
+#. @node in ../../../Documentation/fr/user/notation-appendices.itely
+#. @appendixsec in ../../../Documentation/fr/user/notation-appendices.itely
 msgid "Identifiers"
-msgstr "Quelldateien"
+msgstr "Bezeichner"
 
 #. @node in ../../../Documentation/user/notation-appendices.itely
 #. @appendixsec in ../../../Documentation/user/notation-appendices.itely
-#, fuzzy
+#. @node in ../../../Documentation/fr/user/notation-appendices.itely
+#. @appendixsec in ../../../Documentation/fr/user/notation-appendices.itely
 msgid "Scheme functions"
-msgstr "Musikalische Funktionen"
+msgstr "Scheme-Funktionen"
 
 #. @node in ../../../Documentation/user/cheatsheet.itely
 #. @appendix in ../../../Documentation/user/cheatsheet.itely
@@ -6089,22 +6203,14 @@ msgid "Cheat sheet"
 msgstr "Befehlsübersicht"
 
 #. @top in ../../../Documentation/fr/user/lilypond-learning.tely
-#, fuzzy
 msgid "GNU LilyPond --- manuel d'initiation"
 msgstr "GNU LilyPond -- Das Handbuch zum Lernen"
 
 #. @subsubheading in ../../../Documentation/fr/user/macros.itexi
-#. @subsubheading in ../../../Documentation/es/user/macros.itexi
 #. @subsubheading in ../../../Documentation/de/user/macros.itexi
 msgid "Commonly tweaked properties"
 msgstr "Übliche Veränderungen der Einstellungen"
 
-#. @subsubheading in ../../../Documentation/fr/user/macros.itexi
-#. @subsubheading in ../../../Documentation/es/user/macros.itexi
-#. @subsubheading in ../../../Documentation/de/user/macros.itexi
-msgid "Bugs"
-msgstr "Fehler"
-
 #. @subheading in ../../../Documentation/fr/user/introduction.itely
 msgid "Manuel de l'utilisateur"
 msgstr ""
@@ -6126,47 +6232,35 @@ msgid "Utilisation du programme"
 msgstr ""
 
 #. @subsubheading in ../../../Documentation/fr/user/introduction.itely
-#, fuzzy
 msgid "Autre documentation"
-msgstr "Die Dokumentation übersetzen"
+msgstr "Andere Dokumentation"
 
 #. @rglos in ../../../Documentation/fr/user/tutorial.itely
-#. @rglos in ../../../Documentation/es/user/tutorial.itely
 msgid "fourth"
 msgstr "Quarte"
 
 #. @node in ../../../Documentation/fr/user/tutorial.itely
 #. @subsection in ../../../Documentation/fr/user/tutorial.itely
-#. @node in ../../../Documentation/es/user/tutorial.itely
-#. @subsection in ../../../Documentation/es/user/tutorial.itely
 msgid "How to read the tutorial"
 msgstr "Wie soll man die Übung lesen"
 
 #. @node in ../../../Documentation/fr/user/tutorial.itely
 #. @subsection in ../../../Documentation/fr/user/tutorial.itely
-#. @node in ../../../Documentation/es/user/tutorial.itely
-#. @subsection in ../../../Documentation/es/user/tutorial.itely
 msgid "Relative note names"
 msgstr "Relative Notenbezeichnungen"
 
 #. @node in ../../../Documentation/fr/user/tutorial.itely
 #. @subsection in ../../../Documentation/fr/user/tutorial.itely
-#. @node in ../../../Documentation/es/user/tutorial.itely
-#. @subsection in ../../../Documentation/es/user/tutorial.itely
 msgid "Piano staves"
 msgstr "Klaviersysteme"
 
 #. @node in ../../../Documentation/fr/user/tutorial.itely
 #. @subsection in ../../../Documentation/fr/user/tutorial.itely
-#. @node in ../../../Documentation/es/user/tutorial.itely
-#. @subsection in ../../../Documentation/es/user/tutorial.itely
 msgid "Printing lyrics"
 msgstr "Eingabe von Gesangtext"
 
 #. @node in ../../../Documentation/fr/user/tutorial.itely
 #. @subsection in ../../../Documentation/fr/user/tutorial.itely
-#. @node in ../../../Documentation/es/user/tutorial.itely
-#. @subsection in ../../../Documentation/es/user/tutorial.itely
 msgid "Organizing pieces with identifiers"
 msgstr "Stücke durch Bezeichner organisieren"
 
@@ -6190,27 +6284,21 @@ msgstr "Standarddateien"
 
 #. @node in ../../../Documentation/fr/user/working.itely
 #. @section in ../../../Documentation/fr/user/working.itely
-#. @node in ../../../Documentation/es/user/working.itely
-#. @section in ../../../Documentation/es/user/working.itely
 #. @node in ../../../Documentation/de/user/working.itely
 #. @section in ../../../Documentation/de/user/working.itely
 msgid "Saving typing with identifiers and functions"
 msgstr "Tipparbeit sparen durch Bezeichner und Funktionen"
 
 #. @top in ../../../Documentation/fr/user/lilypond-program.tely
-#, fuzzy
-msgid "GNU LilyPond --- utilisation du programme"
+msgid "GNU LilyPond --- utilisation des programmes"
 msgstr "GNU LilyPond -- Die Programmbenutzung"
 
 #. @top in ../../../Documentation/fr/user/lilypond.tely
-#, fuzzy
 msgid "GNU LilyPond --- le système de gravure musicale"
-msgstr "GNU LilyPond -- Das Handbuch zum Lernen"
+msgstr "GNU LilyPond -- Das Notensatzprogramm"
 
 #. @node in ../../../Documentation/fr/user/pitches.itely
 #. @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 "Normal pitches"
@@ -6218,8 +6306,6 @@ msgstr "Normale Tonhöhen"
 
 #. @node in ../../../Documentation/fr/user/pitches.itely
 #. @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 "Cautionary accidentals"
@@ -6227,8 +6313,6 @@ msgstr "Warnungsversetzungszeichen"
 
 #. @node in ../../../Documentation/fr/user/pitches.itely
 #. @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 "Micro tones"
@@ -6236,8 +6320,6 @@ msgstr "Mikrotöne"
 
 #. @node in ../../../Documentation/fr/user/pitches.itely
 #. @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 "Relative octaves"
@@ -6245,8 +6327,6 @@ msgstr "Relative Oktavenbezeichnung"
 
 #. @node in ../../../Documentation/fr/user/pitches.itely
 #. @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 "Octave check"
@@ -6254,8 +6334,6 @@ msgstr "Oktavenüberprüfung"
 
 #. @node in ../../../Documentation/fr/user/rhythms.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/rhythms.itely
-#. @node in ../../../Documentation/es/user/rhythms.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/rhythms.itely
 #. @node in ../../../Documentation/de/user/rhythms.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/rhythms.itely
 msgid "Augmentation dots"
@@ -6263,8 +6341,6 @@ msgstr "Punktierung"
 
 #. @node in ../../../Documentation/fr/user/rhythms.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/rhythms.itely
-#. @node in ../../../Documentation/es/user/rhythms.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/rhythms.itely
 #. @node in ../../../Documentation/de/user/rhythms.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/rhythms.itely
 msgid "Multi measure rests"
@@ -6273,7 +6349,7 @@ msgstr "Mehrtaktige Pausen"
 #. @node in ../../../Documentation/fr/user/rhythms.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/rhythms.itely
 #. @node in ../../../Documentation/es/user/rhythms.itely
-#. @unnumberedsubsubsec 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 "Bar check"
@@ -6282,17 +6358,18 @@ msgstr "Taktüberprüfung"
 #. @node in ../../../Documentation/fr/user/rhythms.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/rhythms.itely
 #. @node in ../../../Documentation/es/user/rhythms.itely
-#. @unnumberedsubsubsec 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
-#, fuzzy
+# 
+# 
 msgid "Barnumber check"
-msgstr "Takt- und Taktzahlüberprüfung"
+msgstr "Taktzahlüberprüfung"
 
 #. @node in ../../../Documentation/fr/user/rhythms.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/rhythms.itely
 #. @node in ../../../Documentation/es/user/rhythms.itely
-#. @unnumberedsubsubsec 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 "Proportional notation (introduction)"
@@ -6300,17 +6377,20 @@ msgstr "Proportionale Notation (Einleitung)"
 
 #. @node in ../../../Documentation/fr/user/expressive.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/expressive.itely
-#. @node in ../../../Documentation/es/user/expressive.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/expressive.itely
 #. @node in ../../../Documentation/de/user/expressive.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/expressive.itely
 msgid "Laissez vibrer ties"
 msgstr "Laissez-vibrer-Bögen"
 
+#. @node in ../../../Documentation/fr/user/repeats.itely
+#. @subsection in ../../../Documentation/fr/user/repeats.itely
+#. @node in ../../../Documentation/de/user/repeats.itely
+#. @subsection in ../../../Documentation/de/user/repeats.itely
+msgid "Writing repeats"
+msgstr "Wiederholungen eingeben"
+
 #. @node in ../../../Documentation/fr/user/repeats.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/repeats.itely
-#. @node in ../../../Documentation/es/user/repeats.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/repeats.itely
 #. @node in ../../../Documentation/de/user/repeats.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/repeats.itely
 msgid "Repeat types"
@@ -6318,17 +6398,43 @@ msgstr "Wiederholungtypen"
 
 #. @node in ../../../Documentation/fr/user/repeats.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/repeats.itely
-#. @node in ../../../Documentation/es/user/repeats.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/repeats.itely
+#. @node in ../../../Documentation/de/user/repeats.itely
+#. @unnumberedsubsubsec in ../../../Documentation/de/user/repeats.itely
+msgid "Repeat syntax"
+msgstr "Die Syntax der Wiederholungen"
+
+#. @node in ../../../Documentation/fr/user/repeats.itely
+#. @unnumberedsubsubsec in ../../../Documentation/fr/user/repeats.itely
+#. @node in ../../../Documentation/de/user/repeats.itely
+#. @unnumberedsubsubsec in ../../../Documentation/de/user/repeats.itely
+msgid "Manual repeat commands"
+msgstr "Manuelle Wiederholungsbefehle"
+
+#. @node in ../../../Documentation/fr/user/repeats.itely
+#. @subsection in ../../../Documentation/fr/user/repeats.itely
+#. @node in ../../../Documentation/de/user/repeats.itely
+#. @subsection in ../../../Documentation/de/user/repeats.itely
+msgid "Other repeats"
+msgstr "Andere Wiederholungen"
+
+#. @node in ../../../Documentation/fr/user/repeats.itely
+#. @unnumberedsubsubsec in ../../../Documentation/fr/user/repeats.itely
 #. @node in ../../../Documentation/de/user/repeats.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/repeats.itely
 msgid "Tremolo subdivisions"
 msgstr "Tremolo-Unterteilung"
 
+#. @node in ../../../Documentation/fr/user/repeats.itely
+#. @unnumberedsubsubsec in ../../../Documentation/fr/user/repeats.itely
+#. @node in ../../../Documentation/de/user/repeats.itely
+#. @unnumberedsubsubsec in ../../../Documentation/de/user/repeats.itely
+msgid "Measure repeats"
+msgstr "Taktwiederholungen"
+
 #. @node in ../../../Documentation/fr/user/simultaneous.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/simultaneous.itely
 #. @node in ../../../Documentation/es/user/simultaneous.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/simultaneous.itely
+#. @subsubsection in ../../../Documentation/es/user/simultaneous.itely
 #. @node in ../../../Documentation/de/user/simultaneous.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/simultaneous.itely
 msgid "Basic polyphony"
@@ -6337,66 +6443,40 @@ msgstr "Einfache Mehrstimmigkeit"
 #. @node in ../../../Documentation/fr/user/simultaneous.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/simultaneous.itely
 #. @node in ../../../Documentation/es/user/simultaneous.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/simultaneous.itely
+#. @subsubsection in ../../../Documentation/es/user/simultaneous.itely
 #. @node in ../../../Documentation/de/user/simultaneous.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/simultaneous.itely
 msgid "Collision Resolution"
 msgstr "Auflösung von Zusammenstößen"
 
-#. @node in ../../../Documentation/fr/user/editorial.itely
-#. @section in ../../../Documentation/fr/user/editorial.itely
-#. @node in ../../../Documentation/es/user/educational.itely
-#. @section in ../../../Documentation/es/user/educational.itely
-#. @node in ../../../Documentation/de/user/educational.itely
-#. @section in ../../../Documentation/de/user/educational.itely
-msgid "Educational use"
-msgstr "Pädagogische Verwendung"
-
-#. @node in ../../../Documentation/fr/user/editorial.itely
-#. @unnumberedsubsubsec in ../../../Documentation/fr/user/editorial.itely
-#. @node in ../../../Documentation/es/user/educational.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/educational.itely
-#. @node in ../../../Documentation/de/user/educational.itely
-#. @unnumberedsubsubsec in ../../../Documentation/de/user/educational.itely
-msgid "Easy Notation note heads"
-msgstr "Easy-Notation-Notenköpfe"
-
-#. @node in ../../../Documentation/fr/user/editorial.itely
-#. @unnumberedsubsubsec in ../../../Documentation/fr/user/editorial.itely
-#. @node in ../../../Documentation/es/user/educational.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/educational.itely
-#. @node in ../../../Documentation/de/user/educational.itely
-#. @unnumberedsubsubsec in ../../../Documentation/de/user/educational.itely
-msgid "Special noteheads"
-msgstr "Besondere Notenköpfe"
+#. @node in ../../../Documentation/fr/user/staff.itely
+#. @unnumberedsubsubsec in ../../../Documentation/fr/user/staff.itely
+#. @node in ../../../Documentation/es/user/staff.itely
+#. @subsubsection in ../../../Documentation/es/user/staff.itely
+#. @node in ../../../Documentation/de/user/staff.itely
+#. @unnumberedsubsubsec in ../../../Documentation/de/user/staff.itely
+msgid "System start delimiters"
+msgstr "Klammern am Systemanfang"
 
 #. @node in ../../../Documentation/fr/user/editorial.itely
-#. @subsection in ../../../Documentation/fr/user/editorial.itely
-#. @node in ../../../Documentation/es/user/educational.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/educational.itely
-#. @node in ../../../Documentation/de/user/educational.itely
-#. @subsection in ../../../Documentation/de/user/educational.itely
+#. @subsubsection in ../../../Documentation/fr/user/editorial.itely
+#. @node in ../../../Documentation/de/user/editorial.itely
+#. @subsection in ../../../Documentation/de/user/editorial.itely
 msgid "Blank music sheet"
 msgstr "Ein leeres Notenblatt"
 
 #. @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 "TODO subsection vocal music"
 msgstr ""
 
 #. @node in ../../../Documentation/fr/user/vocal.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/vocal.itely
-#. @node in ../../../Documentation/es/user/vocal.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/vocal.itely
 msgid "Working with lyrics and identifiers"
 msgstr "Mit Gesangtexten und Bezeichnern arbeiten"
 
 #. @node in ../../../Documentation/fr/user/vocal.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/vocal.itely
-#. @node in ../../../Documentation/es/user/vocal.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/vocal.itely
 msgid "Other vocal issues"
 msgstr "Weitere Vokalmusikprobleme"
 
@@ -6406,7 +6486,6 @@ msgstr "Weitere Vokalmusikprobleme"
 #. @subsection in ../../../Documentation/es/user/bagpipes.itely
 #. @node in ../../../Documentation/de/user/bagpipes.itely
 #. @subsection in ../../../Documentation/de/user/bagpipes.itely
-#, fuzzy
 msgid "Bagpipe"
 msgstr "Dudelsack"
 
@@ -6416,65 +6495,82 @@ msgstr "Dudelsack"
 #. @subsection in ../../../Documentation/es/user/ancient.itely
 #. @node in ../../../Documentation/de/user/ancient.itely
 #. @subsection in ../../../Documentation/de/user/ancient.itely
-#, fuzzy
 msgid "Ancient TODO"
-msgstr "Pausen Alter Musik"
+msgstr "Alte Musik"
+
+#. @node in ../../../Documentation/fr/user/input.itely
+#. @subsection in ../../../Documentation/fr/user/input.itely
+#. @node in ../../../Documentation/de/user/input.itely
+#. @subsection in ../../../Documentation/de/user/input.itely
+msgid "Controlling direction"
+msgstr "Richtungskontrolle"
 
 #. @node in ../../../Documentation/fr/user/changing-defaults.itely
 #. @section in ../../../Documentation/fr/user/changing-defaults.itely
-#. @node in ../../../Documentation/es/user/changing-defaults.itely
-#. @section in ../../../Documentation/es/user/changing-defaults.itely
 msgid "Automatic notation"
 msgstr "Automatische Notation"
 
-#. @subheading in ../../../Documentation/es/user/introduction.itely
-#. @subheading in ../../../Documentation/de/user/introduction.itely
-msgid "User manual"
-msgstr "Handbuch zum Lernen"
+#. @subsubheading in ../../../Documentation/es/user/macros.itexi
+msgid "Instrucciones predefinidas"
+msgstr ""
 
-#. @subsubheading in ../../../Documentation/es/user/introduction.itely
-#. @subsubheading in ../../../Documentation/de/user/introduction.itely
-#, fuzzy
-msgid "Learning manual"
-msgstr "Handbuch zum Lernen (LH)"
+#. @subsubheading in ../../../Documentation/es/user/macros.itexi
+msgid "Fragmentos de código seleccionados"
+msgstr ""
 
-#. @subsubheading in ../../../Documentation/es/user/introduction.itely
-#. @subsubheading in ../../../Documentation/de/user/introduction.itely
-#, fuzzy
-msgid "Notation reference"
-msgstr "Notationsreferenz (NR)"
+#. @subsubheading in ../../../Documentation/es/user/macros.itexi
+msgid "Propiedades trucadas frecuentemente"
+msgstr ""
 
-#. @node in ../../../Documentation/es/user/putting.itely
-#. @chapter in ../../../Documentation/es/user/putting.itely
-#. @node in ../../../Documentation/de/user/putting.itely
-#. @chapter in ../../../Documentation/de/user/putting.itely
-msgid "Putting it all together"
-msgstr "Alles zusammenfügen"
+#. @subsubheading in ../../../Documentation/es/user/macros.itexi
+msgid "Véase también"
+msgstr ""
 
-#. @node in ../../../Documentation/es/user/putting.itely
-#. @section in ../../../Documentation/es/user/putting.itely
-#. @node in ../../../Documentation/de/user/putting.itely
-#. @section in ../../../Documentation/de/user/putting.itely
-msgid "Score is a single musical expression"
-msgstr "Score ist ein einziger musikalischer Ausdruck"
+#. @subsubheading in ../../../Documentation/es/user/macros.itexi
+msgid "Advertencias y problemas conocidos"
+msgstr ""
 
-#. @node in ../../../Documentation/es/user/putting.itely
-#. @section in ../../../Documentation/es/user/putting.itely
-#. @node in ../../../Documentation/de/user/putting.itely
-#. @section in ../../../Documentation/de/user/putting.itely
-msgid "An orchestral part"
-msgstr "Eine Orchesterstimme"
+#. @rglos in ../../../Documentation/es/user/tutorial.itely
+msgid "redonda"
+msgstr ""
 
-#. @top in ../../../Documentation/es/user/lilypond.tely
+#. @rglos in ../../../Documentation/es/user/tutorial.itely
+msgid "blanca"
+msgstr ""
+
+#. @rglos in ../../../Documentation/es/user/tutorial.itely
 #, fuzzy
+msgid "negra"
+msgstr "Intervalle"
+
+#. @top in ../../../Documentation/es/user/lilypond.tely
 msgid "GNU LilyPond --- El tipografiador de música"
-msgstr "GNU LilyPond -- Die Programmbenutzung"
+msgstr "GNU LilyPond -- Das Notensatzprogramm"
+
+#. @rglos in ../../../Documentation/es/user/expressive.itely
+msgid "marcato"
+msgstr "Marcato"
+
+#. @rglos in ../../../Documentation/es/user/expressive.itely
+msgid "stopped"
+msgstr ""
+
+#. @rglos in ../../../Documentation/es/user/expressive.itely
+msgid "staccatissimo"
+msgstr ""
+
+#. @rglos in ../../../Documentation/es/user/expressive.itely
+msgid "hairpin"
+msgstr "Gabel"
+
+#. @rglos in ../../../Documentation/es/user/expressive.itely
+msgid "broken chord"
+msgstr "gebrochener Akkord"
 
 #. @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
-#, fuzzy
 msgid "Chords Blah"
 msgstr "Akkorde"
 
@@ -6485,13 +6581,6 @@ msgstr "Akkorde"
 msgid "TODO chords fix"
 msgstr ""
 
-#. @node in ../../../Documentation/es/user/piano.itely
-#. @subsection in ../../../Documentation/es/user/piano.itely
-#. @node in ../../../Documentation/de/user/piano.itely
-#. @subsection in ../../../Documentation/de/user/piano.itely
-msgid "TODO piano node fix"
-msgstr ""
-
 #. @node in ../../../Documentation/es/user/percussion.itely
 #. @subsection in ../../../Documentation/es/user/percussion.itely
 #. @node in ../../../Documentation/de/user/percussion.itely
@@ -6503,7 +6592,6 @@ msgstr ""
 #. @subsection in ../../../Documentation/es/user/guitar.itely
 #. @node in ../../../Documentation/de/user/guitar.itely
 #. @subsection in ../../../Documentation/de/user/guitar.itely
-#, fuzzy
 msgid "Guitar TODO"
 msgstr "Gitarre"
 
@@ -6511,14 +6599,24 @@ msgstr "Gitarre"
 #. @subsection in ../../../Documentation/es/user/strings.itely
 #. @node in ../../../Documentation/de/user/strings.itely
 #. @subsection in ../../../Documentation/de/user/strings.itely
-#, fuzzy
 msgid "Orchestral strings TODO"
-msgstr "Orchesterstreicher"
+msgstr "Streicher"
 
 #. @top in ../../../Documentation/de/user/lilypond-learning.tely
-#, fuzzy
 msgid "GNU LilyPond -- Handbuch zum Lernen"
-msgstr "GNU LilyPond -- Das Handbuch zum Lernen"
+msgstr "GNU LilyPond -- Handbuch zum Lernen"
+
+#. @subheading in ../../../Documentation/de/user/introduction.itely
+msgid "User manual"
+msgstr "Benutzerhandbuch"
+
+#. @subsubheading in ../../../Documentation/de/user/introduction.itely
+msgid "Learning manual"
+msgstr "Handbuch zum Lernen (LH)"
+
+#. @subsubheading in ../../../Documentation/de/user/introduction.itely
+msgid "Notation reference"
+msgstr "Notationsreferenz (NR)"
 
 #. @rglos in ../../../Documentation/de/user/tutorial.itely
 msgid "legato"
@@ -6528,15 +6626,43 @@ msgstr "Legato"
 msgid "acciacccatura"
 msgstr "Vorschlag"
 
+#. @node in ../../../Documentation/de/user/putting.itely
+#. @chapter in ../../../Documentation/de/user/putting.itely
+msgid "Putting it all together"
+msgstr "Alles zusammenfügen"
+
+#. @node in ../../../Documentation/de/user/putting.itely
+#. @section in ../../../Documentation/de/user/putting.itely
+msgid "Score is a single musical expression"
+msgstr "Score ist ein einziger musikalischer Ausdruck"
+
+#. @node in ../../../Documentation/de/user/putting.itely
+#. @section in ../../../Documentation/de/user/putting.itely
+msgid "An orchestral part"
+msgstr "Eine Orchesterstimme"
+
 #. @top in ../../../Documentation/de/user/lilypond-program.tely
-#, fuzzy
 msgid "GNU LilyPond -- Programmbenutzung"
-msgstr "GNU LilyPond -- Die Programmbenutzung"
+msgstr "GNU LilyPond -- Programmbenutzung"
 
 #. @top in ../../../Documentation/de/user/lilypond.tely
-#, fuzzy
 msgid "GNU LilyPond -- Das Notationsprogramm"
-msgstr "GNU LilyPond -- Die Programmbenutzung"
+msgstr "GNU LilyPond -- Das Notationsprogramm"
+
+#. @node in ../../../Documentation/de/user/editorial.itely
+#. @unnumberedsubsubsec in ../../../Documentation/de/user/editorial.itely
+msgid "Easy Notation note heads"
+msgstr "Easy-Notation-Notenköpfe"
+
+#. @node in ../../../Documentation/de/user/editorial.itely
+#. @unnumberedsubsubsec in ../../../Documentation/de/user/editorial.itely
+msgid "Special noteheads"
+msgstr "Besondere Notenköpfe"
+
+#. @node in ../../../Documentation/de/user/piano.itely
+#. @subsection in ../../../Documentation/de/user/piano.itely
+msgid "TODO piano node fix"
+msgstr "Klaviernotation"
 
 msgid "Up:"
 msgstr "Nach oben:"
@@ -6556,6 +6682,20 @@ msgstr "Fußnoten"
 msgid "Table of Contents"
 msgstr "Inhaltsverzeichnis"
 
+#, fuzzy
+#~ msgid "Modifying tuplet bracket length"
+#~ msgstr "Umgebungs-Eignschaften verändern"
+
+#, fuzzy
+#~ msgid "Compressing music"
+#~ msgstr "Das Kopieren von existierender Musik"
+
+#~ msgid "Bugs"
+#~ msgstr "Fehler"
+
+#~ msgid "Educational use"
+#~ msgstr "Pädagogische Verwendung"
+
 #~ msgid "Predefined tweaks"
 #~ msgstr "Vordefinierte Optimierungen"
 
index b37d07d95314c067d78ddd9812be4fa5da6fb911..ad716134a1b5889cb0a9a12956d2318952ab570a 100644 (file)
@@ -1,17 +1,17 @@
-# translation of es2.po to Spanish
+# translation of es.po to Español
 # translation of LilyPond documentation
 # Copyright (C) 2006 Han-Wen Nienhuys, Jan Nieuwenhuizen
 # This file is distributed under the same license as the lilypond package.
 #
-# Francisco Vila <francisco.vila@hispalinux.es>, 2007.
+# Francisco Vila <francisco.vila@hispalinux.es>, 2007, 2008.
 msgid ""
 msgstr ""
-"Project-Id-Version: es2\n"
+"Project-Id-Version: es\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2008-02-18 21:13+0100\n"
-"PO-Revision-Date: 2007-09-03 17:20+0200\n"
+"POT-Creation-Date: 2008-03-23 16:29+0100\n"
+"PO-Revision-Date: 2008-03-25 18:45+0100\n"
 "Last-Translator: Francisco Vila <francisco.vila@hispalinux.es>\n"
-"Language-Team: Spanish <traductores@es.gnome.org>\n"
+"Language-Team: Español <traductores@es.gnome.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
@@ -51,11 +51,11 @@ msgstr "Otros idiomas: %s."
 msgid "About <A HREF=\"%s\">automatic language selection</A>."
 msgstr "Acerca de la <A HREF=\"%s\">selección automática del idioma</A>."
 
-#: add_html_footer.py:253
+#: add_html_footer.py:259
 msgid "stable-branch"
 msgstr "rama estable"
 
-#: add_html_footer.py:255
+#: add_html_footer.py:261
 msgid "development-branch"
 msgstr "rama de desarrollo"
 
@@ -83,9 +83,8 @@ msgstr "Inicio"
 
 #. @top in ../../../Documentation/user/lilypond-learning.tely
 #. @top in ../../../Documentation/es/user/lilypond-learning.tely
-#, fuzzy
 msgid "GNU LilyPond --- learning manual"
-msgstr "GNU LilyPond --- manual de utilización del programa"
+msgstr "GNU LilyPond --- manual de aprendizaje"
 
 #. @node in ../../../Documentation/user/lilypond-learning.tely
 #. @appendix in ../../../Documentation/user/lilypond-learning.tely
@@ -116,25 +115,27 @@ msgstr "Índice de LilyPond"
 
 #. @subsubheading in ../../../Documentation/user/macros.itexi
 #. @subsubheading in ../../../Documentation/fr/user/macros.itexi
-#. @subsubheading in ../../../Documentation/es/user/macros.itexi
 #. @subsubheading in ../../../Documentation/de/user/macros.itexi
 msgid "Predefined commands"
 msgstr "Comandos predefinidos"
 
 #. @subsubheading in ../../../Documentation/user/macros.itexi
+#. @subsubheading in ../../../Documentation/fr/user/macros.itexi
+#. @subsubheading in ../../../Documentation/de/user/macros.itexi
 msgid "Selected Snippets"
-msgstr ""
+msgstr "Fragmentos de código seleccionados"
 
 #. @subsubheading in ../../../Documentation/user/macros.itexi
 #. @subsubheading in ../../../Documentation/fr/user/macros.itexi
-#. @subsubheading in ../../../Documentation/es/user/macros.itexi
 #. @subsubheading in ../../../Documentation/de/user/macros.itexi
 msgid "See also"
 msgstr "Véase también"
 
 #. @subsubheading in ../../../Documentation/user/macros.itexi
+#. @subsubheading in ../../../Documentation/fr/user/macros.itexi
+#. @subsubheading in ../../../Documentation/de/user/macros.itexi
 msgid "Known issues and warnings"
-msgstr ""
+msgstr "Fallos y problemas conocidos"
 
 #. @node in ../../../Documentation/user/preface.itely
 #. @unnumbered in ../../../Documentation/user/preface.itely
@@ -225,14 +226,14 @@ msgid "About this manual"
 msgstr "Sobre el presente manual"
 
 #. @subheading in ../../../Documentation/user/introduction.itely
-#, fuzzy
+#. @subheading in ../../../Documentation/es/user/introduction.itely
 msgid "Learning Manual (LM)"
-msgstr "Manual de aprendizaje"
+msgstr "Manual de aprendizaje (MA)"
 
 #. @subheading in ../../../Documentation/user/introduction.itely
-#, fuzzy
+#. @subheading in ../../../Documentation/es/user/introduction.itely
 msgid "Notation Reference (NR)"
-msgstr "Referencia de la notación"
+msgstr "Referencia de la notación (RN)"
 
 #. @subsubheading in ../../../Documentation/user/introduction.itely
 #. @subsubheading in ../../../Documentation/es/user/introduction.itely
@@ -241,7 +242,7 @@ msgid "Appendices"
 msgstr "Apéndices"
 
 #. @subheading in ../../../Documentation/user/introduction.itely
-#. @subsubheading in ../../../Documentation/es/user/introduction.itely
+#. @subheading in ../../../Documentation/es/user/introduction.itely
 #. @subheading in ../../../Documentation/de/user/introduction.itely
 msgid "Program usage"
 msgstr "Utilización del programa"
@@ -253,8 +254,9 @@ msgid "Other information"
 msgstr "Más información"
 
 #. @rglos in ../../../Documentation/user/tutorial.itely
+#. @rglos in ../../../Documentation/es/user/tutorial.itely
 msgid "foo"
-msgstr ""
+msgstr "bla"
 
 #. @node in ../../../Documentation/user/tutorial.itely
 #. @chapter in ../../../Documentation/user/tutorial.itely
@@ -344,10 +346,10 @@ msgid "Pitches"
 msgstr "Alturas"
 
 #. @rglos in ../../../Documentation/user/tutorial.itely
+#. @rglos in ../../../Documentation/es/user/tutorial.itely
 #. @rglos in ../../../Documentation/de/user/tutorial.itely
-#, fuzzy
 msgid "pitch"
-msgstr "Alturas"
+msgstr "altura"
 
 #. @rglos in ../../../Documentation/user/tutorial.itely
 #. @rglos in ../../../Documentation/user/pitches.itely
@@ -372,15 +374,16 @@ msgid "middle C"
 msgstr "Do central"
 
 #. @rglos in ../../../Documentation/user/tutorial.itely
+#. @rglos in ../../../Documentation/es/user/tutorial.itely
 #. @rglos in ../../../Documentation/de/user/tutorial.itely
 msgid "octave"
-msgstr ""
+msgstr "octava"
 
 #. @rglos in ../../../Documentation/user/tutorial.itely
+#. @rglos in ../../../Documentation/es/user/tutorial.itely
 #. @rglos in ../../../Documentation/de/user/tutorial.itely
-#, fuzzy
 msgid "accidental"
-msgstr "Alteraciones accidentales"
+msgstr "alteración accidental"
 
 #. @subheading in ../../../Documentation/user/tutorial.itely
 #. @subheading in ../../../Documentation/fr/user/tutorial.itely
@@ -438,7 +441,7 @@ msgstr "figura con puntillo"
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/rhythms.itely
 #. @subheading in ../../../Documentation/es/user/tutorial.itely
 #. @node in ../../../Documentation/es/user/rhythms.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/rhythms.itely
+#. @subsubsection in ../../../Documentation/es/user/rhythms.itely
 #. @subheading in ../../../Documentation/de/user/tutorial.itely
 #. @node in ../../../Documentation/de/user/rhythms.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/rhythms.itely
@@ -459,7 +462,7 @@ msgstr "silencio"
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/rhythms.itely
 #. @subheading in ../../../Documentation/es/user/tutorial.itely
 #. @node in ../../../Documentation/es/user/rhythms.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/rhythms.itely
+#. @subsubsection in ../../../Documentation/es/user/rhythms.itely
 #. @subheading in ../../../Documentation/de/user/tutorial.itely
 #. @node in ../../../Documentation/de/user/rhythms.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/rhythms.itely
@@ -475,13 +478,13 @@ msgstr "indicación de compás"
 
 #. @subheading in ../../../Documentation/user/tutorial.itely
 #. @node in ../../../Documentation/user/pitches.itely
-#. @subsubsection in ../../../Documentation/user/pitches.itely
+#. @unnumberedsubsubsec in ../../../Documentation/user/pitches.itely
 #. @subheading in ../../../Documentation/fr/user/tutorial.itely
 #. @node in ../../../Documentation/fr/user/pitches.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/pitches.itely
 #. @subheading in ../../../Documentation/es/user/tutorial.itely
 #. @node in ../../../Documentation/es/user/pitches.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/pitches.itely
+#. @subsubsection in ../../../Documentation/es/user/pitches.itely
 #. @subheading in ../../../Documentation/de/user/tutorial.itely
 #. @node in ../../../Documentation/de/user/pitches.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/pitches.itely
@@ -524,10 +527,10 @@ msgid "How to read the manual"
 msgstr "Cómo leer el manual"
 
 #. @subheading in ../../../Documentation/user/tutorial.itely
+#. @subheading in ../../../Documentation/es/user/tutorial.itely
 #. @subheading in ../../../Documentation/de/user/tutorial.itely
-#, fuzzy
 msgid "Clickable examples"
-msgstr "Ejemplos mínimos"
+msgstr "Ejemplos con enlace"
 
 #. @node in ../../../Documentation/user/tutorial.itely
 #. @section in ../../../Documentation/user/tutorial.itely
@@ -553,13 +556,13 @@ msgstr "Alteraciones accidentales y armaduras"
 
 #. @subheading in ../../../Documentation/user/tutorial.itely
 #. @node in ../../../Documentation/user/pitches.itely
-#. @subsubsection in ../../../Documentation/user/pitches.itely
+#. @unnumberedsubsubsec in ../../../Documentation/user/pitches.itely
 #. @subheading in ../../../Documentation/fr/user/tutorial.itely
 #. @node in ../../../Documentation/fr/user/pitches.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/pitches.itely
 #. @subheading in ../../../Documentation/es/user/tutorial.itely
 #. @node in ../../../Documentation/es/user/pitches.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/pitches.itely
+#. @subsubsection in ../../../Documentation/es/user/pitches.itely
 #. @subheading in ../../../Documentation/de/user/tutorial.itely
 #. @node in ../../../Documentation/de/user/pitches.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/pitches.itely
@@ -605,19 +608,18 @@ msgstr "Armaduras"
 
 #. @rglos in ../../../Documentation/user/tutorial.itely
 #. @rglos in ../../../Documentation/de/user/tutorial.itely
-#, fuzzy
 msgid "key signature"
-msgstr "Armadura de la tonalidad"
+msgstr "armadura de la tonalidad"
 
 #. @rglos in ../../../Documentation/user/tutorial.itely
 #. @rglos in ../../../Documentation/de/user/tutorial.itely
 msgid "major"
-msgstr ""
+msgstr "mayor"
 
 #. @rglos in ../../../Documentation/user/tutorial.itely
 #. @rglos in ../../../Documentation/de/user/tutorial.itely
 msgid "minor"
-msgstr ""
+msgstr "menor"
 
 #. @subheading in ../../../Documentation/user/tutorial.itely
 #. @subheading in ../../../Documentation/fr/user/tutorial.itely
@@ -628,22 +630,20 @@ msgstr "Advertencia: armaduras y alturas"
 
 #. @rglos in ../../../Documentation/user/tutorial.itely
 #. @rglos in ../../../Documentation/de/user/tutorial.itely
-#, fuzzy
 msgid "natural"
-msgstr "intervalo"
+msgstr "becuadro"
 
 #. @rglos in ../../../Documentation/user/tutorial.itely
 #. @rglos in ../../../Documentation/de/user/tutorial.itely
-#, fuzzy
 msgid "transposition"
-msgstr "Transposición de los instrumentos"
+msgstr "transposición"
 
 #. @rglos in ../../../Documentation/user/tutorial.itely
 #. @rglos in ../../../Documentation/user/pitches.itely
+#. @rglos in ../../../Documentation/es/user/pitches.itely
 #. @rglos in ../../../Documentation/de/user/tutorial.itely
-#, fuzzy
 msgid "Pitch names"
-msgstr "Alturas"
+msgstr "Nombres de las notas"
 
 #. @node in ../../../Documentation/user/tutorial.itely
 #. @subsection in ../../../Documentation/user/tutorial.itely
@@ -663,8 +663,8 @@ msgstr "Ligaduras de unión y de expresión"
 #. @node in ../../../Documentation/fr/user/expressive.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/expressive.itely
 #. @subheading in ../../../Documentation/es/user/tutorial.itely
-#. @node in ../../../Documentation/es/user/expressive.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/expressive.itely
+#. @node in ../../../Documentation/es/user/rhythms.itely
+#. @subsubsection in ../../../Documentation/es/user/rhythms.itely
 #. @subheading in ../../../Documentation/de/user/tutorial.itely
 #. @node in ../../../Documentation/de/user/expressive.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/expressive.itely
@@ -675,6 +675,7 @@ msgstr "Ligaduras de unión"
 #. @rglos in ../../../Documentation/user/rhythms.itely
 #. @rglos in ../../../Documentation/fr/user/tutorial.itely
 #. @rglos in ../../../Documentation/es/user/tutorial.itely
+#. @rglos in ../../../Documentation/es/user/rhythms.itely
 #. @rglos in ../../../Documentation/de/user/tutorial.itely
 msgid "tie"
 msgstr "ligadura de unión"
@@ -687,7 +688,7 @@ msgstr "ligadura de unión"
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/expressive.itely
 #. @subheading in ../../../Documentation/es/user/tutorial.itely
 #. @node in ../../../Documentation/es/user/expressive.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/expressive.itely
+#. @subsubsection in ../../../Documentation/es/user/expressive.itely
 #. @subheading in ../../../Documentation/de/user/tutorial.itely
 #. @node in ../../../Documentation/de/user/expressive.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/expressive.itely
@@ -695,6 +696,7 @@ msgid "Slurs"
 msgstr "Ligaduras de expresión"
 
 #. @rglos in ../../../Documentation/user/tutorial.itely
+#. @rglos in ../../../Documentation/user/expressive.itely
 #. @rglos in ../../../Documentation/fr/user/tutorial.itely
 #. @rglos in ../../../Documentation/es/user/tutorial.itely
 #. @rglos in ../../../Documentation/de/user/tutorial.itely
@@ -709,7 +711,7 @@ msgstr "ligadura de expresión"
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/expressive.itely
 #. @subheading in ../../../Documentation/es/user/tutorial.itely
 #. @node in ../../../Documentation/es/user/expressive.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/expressive.itely
+#. @subsubsection in ../../../Documentation/es/user/expressive.itely
 #. @subheading in ../../../Documentation/de/user/tutorial.itely
 #. @node in ../../../Documentation/de/user/expressive.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/expressive.itely
@@ -717,15 +719,13 @@ msgid "Phrasing slurs"
 msgstr "Ligaduras de fraseo"
 
 #. @rglos in ../../../Documentation/user/tutorial.itely
-#, fuzzy
 msgid "slurs"
-msgstr "ligadura de expresión"
+msgstr "ligaduras de expresión"
 
 #. @rglos in ../../../Documentation/user/tutorial.itely
 #. @rglos in ../../../Documentation/de/user/tutorial.itely
-#, fuzzy
 msgid "phrasing"
-msgstr "Ligaduras de fraseo"
+msgstr "fraseo"
 
 #. @subheading in ../../../Documentation/user/tutorial.itely
 #. @subheading in ../../../Documentation/fr/user/tutorial.itely
@@ -757,8 +757,6 @@ msgstr "Articulaciones y matices dinámicos"
 #. @node in ../../../Documentation/fr/user/expressive.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/expressive.itely
 #. @subheading in ../../../Documentation/es/user/tutorial.itely
-#. @node in ../../../Documentation/es/user/expressive.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/expressive.itely
 #. @subheading in ../../../Documentation/de/user/tutorial.itely
 #. @node in ../../../Documentation/de/user/expressive.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/expressive.itely
@@ -774,9 +772,8 @@ msgstr "Digitaciones"
 
 #. @rglos in ../../../Documentation/user/tutorial.itely
 #. @rglos in ../../../Documentation/de/user/tutorial.itely
-#, fuzzy
 msgid "fingering"
-msgstr "Digitaciones"
+msgstr "digitaciones"
 
 #. @subheading in ../../../Documentation/user/tutorial.itely
 #. @subheading in ../../../Documentation/user/tweaks.itely
@@ -787,7 +784,7 @@ msgstr "Digitaciones"
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/expressive.itely
 #. @subheading in ../../../Documentation/es/user/tutorial.itely
 #. @node in ../../../Documentation/es/user/expressive.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/expressive.itely
+#. @subsubsection in ../../../Documentation/es/user/expressive.itely
 #. @subheading in ../../../Documentation/de/user/tutorial.itely
 #. @node in ../../../Documentation/de/user/expressive.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/expressive.itely
@@ -796,29 +793,31 @@ msgstr "Matices dinámicos"
 
 #. @rglos in ../../../Documentation/user/tutorial.itely
 #. @rglos in ../../../Documentation/de/user/tutorial.itely
-#, fuzzy
 msgid "dynamics"
-msgstr "Matices dinámicos"
+msgstr "matices dinámicos"
 
 #. @rglos in ../../../Documentation/user/tutorial.itely
 #. @rglos in ../../../Documentation/user/expressive.itely
+#. @rglos in ../../../Documentation/es/user/expressive.itely
 #. @rglos in ../../../Documentation/de/user/tutorial.itely
 msgid "crescendo"
-msgstr ""
+msgstr "crescendo"
 
 #. @rglos in ../../../Documentation/user/tutorial.itely
 #. @rglos in ../../../Documentation/user/expressive.itely
+#. @rglos in ../../../Documentation/es/user/expressive.itely
 #. @rglos in ../../../Documentation/de/user/tutorial.itely
 msgid "decrescendo"
-msgstr ""
+msgstr "decrescendo"
 
 #. @node in ../../../Documentation/user/tutorial.itely
 #. @subsection in ../../../Documentation/user/tutorial.itely
+#. @node in ../../../Documentation/es/user/tutorial.itely
+#. @subsection in ../../../Documentation/es/user/tutorial.itely
 #. @node in ../../../Documentation/de/user/tutorial.itely
 #. @subsection in ../../../Documentation/de/user/tutorial.itely
-#, fuzzy
 msgid "Adding text"
-msgstr "Añadir títulos"
+msgstr "Añadir texto"
 
 #. @node in ../../../Documentation/user/tutorial.itely
 #. @subsection in ../../../Documentation/user/tutorial.itely
@@ -863,7 +862,7 @@ msgstr "anacrusa"
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/rhythms.itely
 #. @subheading in ../../../Documentation/es/user/tutorial.itely
 #. @node in ../../../Documentation/es/user/rhythms.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/rhythms.itely
+#. @subsubsection in ../../../Documentation/es/user/rhythms.itely
 #. @subheading in ../../../Documentation/de/user/tutorial.itely
 #. @node in ../../../Documentation/de/user/rhythms.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/rhythms.itely
@@ -872,17 +871,17 @@ msgstr "Grupos especiales"
 
 #. @rglos in ../../../Documentation/user/tutorial.itely
 #. @rglos in ../../../Documentation/user/rhythms.itely
+#. @rglos in ../../../Documentation/es/user/rhythms.itely
 #. @rglos in ../../../Documentation/de/user/tutorial.itely
-#, fuzzy
 msgid "note value"
-msgstr "intervalo"
+msgstr "figura"
 
 #. @rglos in ../../../Documentation/user/tutorial.itely
 #. @rglos in ../../../Documentation/user/rhythms.itely
+#. @rglos in ../../../Documentation/es/user/rhythms.itely
 #. @rglos in ../../../Documentation/de/user/tutorial.itely
-#, fuzzy
 msgid "triplet"
-msgstr "ligadura de unión"
+msgstr "tresillo"
 
 #. @subheading in ../../../Documentation/user/tutorial.itely
 #. @node in ../../../Documentation/user/rhythms.itely
@@ -892,7 +891,7 @@ msgstr "ligadura de unión"
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/rhythms.itely
 #. @subheading in ../../../Documentation/es/user/tutorial.itely
 #. @node in ../../../Documentation/es/user/rhythms.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/rhythms.itely
+#. @subsubsection in ../../../Documentation/es/user/rhythms.itely
 #. @subheading in ../../../Documentation/de/user/tutorial.itely
 #. @node in ../../../Documentation/de/user/rhythms.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/rhythms.itely
@@ -902,20 +901,19 @@ msgstr "Notas de adorno"
 #. @rglos in ../../../Documentation/user/tutorial.itely
 #. @rglos in ../../../Documentation/user/rhythms.itely
 #. @rglos in ../../../Documentation/de/user/tutorial.itely
-#, fuzzy
 msgid "grace notes"
-msgstr "Notas de adorno"
+msgstr "notas de adorno"
 
 #. @rglos in ../../../Documentation/user/tutorial.itely
 #. @rglos in ../../../Documentation/user/rhythms.itely
 msgid "acciaccatura"
-msgstr ""
+msgstr "acciaccatura"
 
 #. @rglos in ../../../Documentation/user/tutorial.itely
 #. @rglos in ../../../Documentation/user/rhythms.itely
 #. @rglos in ../../../Documentation/de/user/tutorial.itely
 msgid "appoggiatura"
-msgstr ""
+msgstr "appoggiatura"
 
 #. @node in ../../../Documentation/user/tutorial.itely
 #. @section in ../../../Documentation/user/tutorial.itely
@@ -955,9 +953,8 @@ msgstr "Expresiones musicales simultáneas: varios pentagramas"
 
 #. @rglos in ../../../Documentation/user/tutorial.itely
 #. @rglos in ../../../Documentation/de/user/tutorial.itely
-#, fuzzy
 msgid "polyphony"
-msgstr "Polifonía"
+msgstr "polifonía"
 
 #. @subheading in ../../../Documentation/user/tutorial.itely
 #. @subheading in ../../../Documentation/fr/user/tutorial.itely
@@ -979,17 +976,19 @@ msgstr "Varios pentagramas"
 
 #. @node in ../../../Documentation/user/tutorial.itely
 #. @subsection in ../../../Documentation/user/tutorial.itely
+#. @node in ../../../Documentation/es/user/tutorial.itely
+#. @subsection in ../../../Documentation/es/user/tutorial.itely
 #. @node in ../../../Documentation/de/user/tutorial.itely
 #. @subsection in ../../../Documentation/de/user/tutorial.itely
 msgid "Staff groups"
-msgstr ""
+msgstr "Grupos de pentagramas"
 
 #. @rglos in ../../../Documentation/user/tutorial.itely
 #. @rglos in ../../../Documentation/user/staff.itely
+#. @rglos in ../../../Documentation/es/user/tutorial.itely
 #. @rglos in ../../../Documentation/de/user/tutorial.itely
-#, fuzzy
 msgid "brace"
-msgstr "Preámbulo"
+msgstr "llave"
 
 #. @node in ../../../Documentation/user/tutorial.itely
 #. @subsection in ../../../Documentation/user/tutorial.itely
@@ -1004,10 +1003,10 @@ msgstr "Combinar notas para formar acordes"
 
 #. @rglos in ../../../Documentation/user/tutorial.itely
 #. @rglos in ../../../Documentation/user/simultaneous.itely
+#. @rglos in ../../../Documentation/es/user/simultaneous.itely
 #. @rglos in ../../../Documentation/de/user/tutorial.itely
-#, fuzzy
 msgid "chord"
-msgstr "Acordes"
+msgstr "acorde"
 
 #. @node in ../../../Documentation/user/tutorial.itely
 #. @subsection in ../../../Documentation/user/tutorial.itely
@@ -1037,8 +1036,10 @@ msgstr "Canciones"
 #. @subsubsection in ../../../Documentation/user/vocal.itely
 #. @node in ../../../Documentation/fr/user/vocal.itely
 #. @unnumberedsubsubsec 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
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/vocal.itely
+#. @subsubsection in ../../../Documentation/es/user/vocal.itely
 #. @node in ../../../Documentation/de/user/tutorial.itely
 #. @subsection in ../../../Documentation/de/user/tutorial.itely
 #. @node in ../../../Documentation/de/user/vocal.itely
@@ -1047,10 +1048,10 @@ msgid "Setting simple songs"
 msgstr "Elaborar canciones sencillas"
 
 #. @rglos in ../../../Documentation/user/tutorial.itely
+#. @rglos in ../../../Documentation/es/user/tutorial.itely
 #. @rglos in ../../../Documentation/de/user/tutorial.itely
-#, fuzzy
 msgid "lyrics"
-msgstr "Letras en divisi"
+msgstr "letra"
 
 #. @node in ../../../Documentation/user/tutorial.itely
 #. @subsection in ../../../Documentation/user/tutorial.itely
@@ -1058,8 +1059,10 @@ msgstr "Letras en divisi"
 #. @subsection in ../../../Documentation/user/vocal.itely
 #. @node in ../../../Documentation/fr/user/vocal.itely
 #. @unnumberedsubsubsec 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
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/vocal.itely
+#. @subsection in ../../../Documentation/es/user/vocal.itely
 #. @node in ../../../Documentation/de/user/tutorial.itely
 #. @subsection in ../../../Documentation/de/user/tutorial.itely
 #. @node in ../../../Documentation/de/user/vocal.itely
@@ -1075,18 +1078,19 @@ msgid "melisma"
 msgstr "melisma"
 
 #. @rglos in ../../../Documentation/user/tutorial.itely
+#. @rglos in ../../../Documentation/es/user/tutorial.itely
 #. @rglos in ../../../Documentation/de/user/tutorial.itely
-#, fuzzy
 msgid "extender line"
-msgstr "Codificación del texto"
+msgstr "línea extensora"
 
 #. @node in ../../../Documentation/user/tutorial.itely
 #. @subsection in ../../../Documentation/user/tutorial.itely
+#. @node in ../../../Documentation/es/user/tutorial.itely
+#. @subsection in ../../../Documentation/es/user/tutorial.itely
 #. @node in ../../../Documentation/de/user/tutorial.itely
 #. @subsection in ../../../Documentation/de/user/tutorial.itely
-#, fuzzy
 msgid "Lyrics to multiple staves"
-msgstr "Una sílaba de la letra sobre varias notas de un melisma"
+msgstr "Letra en varios pentagramas"
 
 #. @node in ../../../Documentation/user/tutorial.itely
 #. @section in ../../../Documentation/user/tutorial.itely
@@ -1101,11 +1105,12 @@ msgstr "Retoques finales"
 
 #. @node in ../../../Documentation/user/tutorial.itely
 #. @subsection in ../../../Documentation/user/tutorial.itely
+#. @node in ../../../Documentation/es/user/tutorial.itely
+#. @subsection in ../../../Documentation/es/user/tutorial.itely
 #. @node in ../../../Documentation/de/user/tutorial.itely
 #. @subsection in ../../../Documentation/de/user/tutorial.itely
-#, fuzzy
 msgid "Organizing pieces with variables"
-msgstr "Organizar las piezas mediante identificadores"
+msgstr "Organizar las piezas mediante variables"
 
 #. @node in ../../../Documentation/user/tutorial.itely
 #. @subsection in ../../../Documentation/user/tutorial.itely
@@ -1155,17 +1160,19 @@ msgstr "Más allá del tutorial"
 #. @chapter in ../../../Documentation/user/fundamental.itely
 #. @node in ../../../Documentation/fr/user/fundamental.itely
 #. @chapter in ../../../Documentation/fr/user/fundamental.itely
+#. @node in ../../../Documentation/es/user/fundamental.itely
+#. @chapter in ../../../Documentation/es/user/fundamental.itely
 #. @node in ../../../Documentation/de/user/fundamental.itely
 #. @chapter in ../../../Documentation/de/user/fundamental.itely
 msgid "Fundamental concepts"
-msgstr ""
+msgstr "Conceptos fundamentales"
 
 #. @node in ../../../Documentation/user/fundamental.itely
 #. @section in ../../../Documentation/user/fundamental.itely
 #. @node in ../../../Documentation/fr/user/fundamental.itely
 #. @section in ../../../Documentation/fr/user/fundamental.itely
-#. @node in ../../../Documentation/es/user/putting.itely
-#. @section in ../../../Documentation/es/user/putting.itely
+#. @node in ../../../Documentation/es/user/fundamental.itely
+#. @section in ../../../Documentation/es/user/fundamental.itely
 #. @node in ../../../Documentation/de/user/putting.itely
 #. @section in ../../../Documentation/de/user/putting.itely
 #. @node in ../../../Documentation/de/user/fundamental.itely
@@ -1177,71 +1184,83 @@ msgstr "Cómo funcionan los archivos de LilyPond"
 #. @subsection in ../../../Documentation/user/fundamental.itely
 #. @node in ../../../Documentation/fr/user/fundamental.itely
 #. @subsection in ../../../Documentation/fr/user/fundamental.itely
+#. @node in ../../../Documentation/es/user/fundamental.itely
+#. @subsection in ../../../Documentation/es/user/fundamental.itely
 #. @node in ../../../Documentation/de/user/fundamental.itely
 #. @subsection in ../../../Documentation/de/user/fundamental.itely
 msgid "Introduction to the LilyPond file structure"
-msgstr ""
+msgstr "Introducción a la estructura de los archivos de LilyPond"
 
 #. @node in ../../../Documentation/user/fundamental.itely
 #. @subsection in ../../../Documentation/user/fundamental.itely
 #. @node in ../../../Documentation/fr/user/fundamental.itely
 #. @subsection in ../../../Documentation/fr/user/fundamental.itely
+#. @node in ../../../Documentation/es/user/fundamental.itely
+#. @subsection in ../../../Documentation/es/user/fundamental.itely
 #. @node in ../../../Documentation/de/user/fundamental.itely
 #. @subsection in ../../../Documentation/de/user/fundamental.itely
-#, fuzzy
 msgid "Score is a (single) compound musical expression"
-msgstr "La partitura es una sola expresión musical"
+msgstr "La partitura es una (única) expresión musical compuesta"
 
 #. @node in ../../../Documentation/user/fundamental.itely
 #. @subsection in ../../../Documentation/user/fundamental.itely
 #. @node in ../../../Documentation/fr/user/fundamental.itely
 #. @subsection in ../../../Documentation/fr/user/fundamental.itely
+#. @node in ../../../Documentation/es/user/fundamental.itely
+#. @subsection in ../../../Documentation/es/user/fundamental.itely
 #. @node in ../../../Documentation/de/user/fundamental.itely
 #. @subsection in ../../../Documentation/de/user/fundamental.itely
-#, fuzzy
 msgid "Nesting music expressions"
-msgstr "Una expresión musical única"
+msgstr "Anidado de expresiones musicales"
 
 #. @rglos in ../../../Documentation/user/fundamental.itely
 #. @rglos in ../../../Documentation/user/tweaks.itely
 #. @rglos in ../../../Documentation/user/staff.itely
+#. @rglos in ../../../Documentation/es/user/fundamental.itely
 msgid "ossia"
-msgstr ""
+msgstr "ossia"
 
 #. @node in ../../../Documentation/user/fundamental.itely
 #. @subsection in ../../../Documentation/user/fundamental.itely
 #. @node in ../../../Documentation/fr/user/fundamental.itely
 #. @subsection in ../../../Documentation/fr/user/fundamental.itely
+#. @node in ../../../Documentation/es/user/fundamental.itely
+#. @subsection in ../../../Documentation/es/user/fundamental.itely
 #. @node in ../../../Documentation/de/user/fundamental.itely
 #. @subsection in ../../../Documentation/de/user/fundamental.itely
 msgid "On the un-nestedness of brackets and ties"
-msgstr ""
+msgstr "Acerca de la no anidabilidad de llaves y ligaduras"
 
 #. @node in ../../../Documentation/user/fundamental.itely
 #. @section in ../../../Documentation/user/fundamental.itely
 #. @node in ../../../Documentation/fr/user/fundamental.itely
 #. @section in ../../../Documentation/fr/user/fundamental.itely
+#. @node in ../../../Documentation/es/user/fundamental.itely
+#. @section in ../../../Documentation/es/user/fundamental.itely
 #. @node in ../../../Documentation/de/user/fundamental.itely
 #. @section in ../../../Documentation/de/user/fundamental.itely
-#, fuzzy
 msgid "Voices contain music"
-msgstr "Música vocal"
+msgstr "Las voces contienen música"
 
 #. @node in ../../../Documentation/user/fundamental.itely
 #. @subsection in ../../../Documentation/user/fundamental.itely
 #. @node in ../../../Documentation/fr/user/fundamental.itely
 #. @subsection in ../../../Documentation/fr/user/fundamental.itely
+#. @node in ../../../Documentation/es/user/fundamental.itely
+#. @subsection in ../../../Documentation/es/user/fundamental.itely
 #. @node in ../../../Documentation/de/user/fundamental.itely
 #. @subsection in ../../../Documentation/de/user/fundamental.itely
 msgid "I'm hearing Voices"
-msgstr ""
+msgstr "Oigo voces"
 
 #. @node in ../../../Documentation/user/fundamental.itely
 #. @subsection in ../../../Documentation/user/fundamental.itely
 #. @node in ../../../Documentation/fr/user/fundamental.itely
 #. @subsection in ../../../Documentation/fr/user/fundamental.itely
+#. @node in ../../../Documentation/es/user/fundamental.itely
+#. @subsection in ../../../Documentation/es/user/fundamental.itely
 #. @node in ../../../Documentation/es/user/simultaneous.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/simultaneous.itely
+#. @subsubsection in ../../../Documentation/es/user/simultaneous.itely
 #. @node in ../../../Documentation/de/user/fundamental.itely
 #. @subsection in ../../../Documentation/de/user/fundamental.itely
 #. @node in ../../../Documentation/de/user/simultaneous.itely
@@ -1253,21 +1272,23 @@ msgstr "Voces explícitas"
 #. @subsection in ../../../Documentation/user/fundamental.itely
 #. @node in ../../../Documentation/fr/user/fundamental.itely
 #. @subsection in ../../../Documentation/fr/user/fundamental.itely
+#. @node in ../../../Documentation/es/user/fundamental.itely
+#. @subsection in ../../../Documentation/es/user/fundamental.itely
 #. @node in ../../../Documentation/de/user/fundamental.itely
 #. @subsection in ../../../Documentation/de/user/fundamental.itely
-#, fuzzy
 msgid "Voices and vocals"
-msgstr "Ligaduras de unión y de expresión"
+msgstr "Voces y música vocal"
 
 #. @node in ../../../Documentation/user/fundamental.itely
 #. @section in ../../../Documentation/user/fundamental.itely
 #. @node in ../../../Documentation/fr/user/fundamental.itely
 #. @section in ../../../Documentation/fr/user/fundamental.itely
+#. @node in ../../../Documentation/es/user/fundamental.itely
+#. @section in ../../../Documentation/es/user/fundamental.itely
 #. @node in ../../../Documentation/de/user/fundamental.itely
 #. @section in ../../../Documentation/de/user/fundamental.itely
-#, fuzzy
 msgid "Contexts and engravers"
-msgstr "Contextos para programadores"
+msgstr "Contextos y grabadores"
 
 #. @node in ../../../Documentation/user/fundamental.itely
 #. @subsection in ../../../Documentation/user/fundamental.itely
@@ -1275,6 +1296,8 @@ msgstr "Contextos para programadores"
 #. @subsection in ../../../Documentation/user/changing-defaults.itely
 #. @node in ../../../Documentation/fr/user/fundamental.itely
 #. @subsection in ../../../Documentation/fr/user/fundamental.itely
+#. @node in ../../../Documentation/es/user/fundamental.itely
+#. @subsection in ../../../Documentation/es/user/fundamental.itely
 #. @node in ../../../Documentation/es/user/changing-defaults.itely
 #. @subsection in ../../../Documentation/es/user/changing-defaults.itely
 #. @node in ../../../Documentation/de/user/fundamental.itely
@@ -1290,6 +1313,8 @@ msgstr "Explicación de los contextos"
 #. @subsection in ../../../Documentation/user/changing-defaults.itely
 #. @node in ../../../Documentation/fr/user/fundamental.itely
 #. @subsection in ../../../Documentation/fr/user/fundamental.itely
+#. @node in ../../../Documentation/es/user/fundamental.itely
+#. @subsection in ../../../Documentation/es/user/fundamental.itely
 #. @node in ../../../Documentation/es/user/changing-defaults.itely
 #. @subsection in ../../../Documentation/es/user/changing-defaults.itely
 #. @node in ../../../Documentation/de/user/fundamental.itely
@@ -1303,56 +1328,59 @@ msgstr "Crear contextos"
 #. @subsection in ../../../Documentation/user/fundamental.itely
 #. @node in ../../../Documentation/fr/user/fundamental.itely
 #. @subsection in ../../../Documentation/fr/user/fundamental.itely
+#. @node in ../../../Documentation/es/user/fundamental.itely
+#. @subsection in ../../../Documentation/es/user/fundamental.itely
 #. @node in ../../../Documentation/de/user/fundamental.itely
 #. @subsection in ../../../Documentation/de/user/fundamental.itely
-#, fuzzy
 msgid "Engravers explained"
-msgstr "Explicación de los contextos"
+msgstr "Explicación de los grabadores"
 
 #. @node in ../../../Documentation/user/fundamental.itely
 #. @subsection in ../../../Documentation/user/fundamental.itely
 #. @node in ../../../Documentation/fr/user/fundamental.itely
 #. @subsection in ../../../Documentation/fr/user/fundamental.itely
+#. @node in ../../../Documentation/es/user/fundamental.itely
+#. @subsection in ../../../Documentation/es/user/fundamental.itely
 #. @node in ../../../Documentation/de/user/fundamental.itely
 #. @subsection in ../../../Documentation/de/user/fundamental.itely
-#, fuzzy
 msgid "Modifying context properties"
-msgstr "Modificar los complementos (plug-ins) de contexto"
+msgstr "Modificar las propiedades de los contextos"
 
 #. @node in ../../../Documentation/user/fundamental.itely
 #. @subsection in ../../../Documentation/user/fundamental.itely
 #. @node in ../../../Documentation/fr/user/fundamental.itely
 #. @subsection in ../../../Documentation/fr/user/fundamental.itely
+#. @node in ../../../Documentation/es/user/fundamental.itely
+#. @subsection in ../../../Documentation/es/user/fundamental.itely
 #. @node in ../../../Documentation/de/user/fundamental.itely
 #. @subsection in ../../../Documentation/de/user/fundamental.itely
-#, fuzzy
 msgid "Adding and removing engravers"
-msgstr "Añadir el nombre de los cantantes"
+msgstr "Añadir y eliminar grabadores"
 
-#. @subsubsection in ../../../Documentation/user/fundamental.itely
+#. @subsubheading in ../../../Documentation/user/fundamental.itely
+#. @subsubheading in ../../../Documentation/es/user/fundamental.itely
 #. @subsubsection in ../../../Documentation/de/user/fundamental.itely
-#, fuzzy
 msgid "Changing a single context"
-msgstr "Definir contextos nuevos"
+msgstr "Cambiar un solo contexto"
 
 #. @rglos in ../../../Documentation/user/fundamental.itely
 #. @rglos in ../../../Documentation/user/pitches.itely
-#, fuzzy
+#. @rglos in ../../../Documentation/es/user/fundamental.itely
 msgid "ambitus"
-msgstr "Tesitura"
+msgstr "tesitura"
 
-#. @subsubsection in ../../../Documentation/user/fundamental.itely
+#. @subsubheading in ../../../Documentation/user/fundamental.itely
+#. @subsubheading in ../../../Documentation/es/user/fundamental.itely
 #. @subsubsection in ../../../Documentation/de/user/fundamental.itely
-#, fuzzy
 msgid "Changing all contexts of the same type"
-msgstr "Cambiar las propiedades de un contexto al vuelo"
+msgstr "Cambiar todos los contextos del mismo tipo"
 
 #. @node in ../../../Documentation/user/fundamental.itely
 #. @section in ../../../Documentation/user/fundamental.itely
 #. @node in ../../../Documentation/fr/user/fundamental.itely
 #. @section in ../../../Documentation/fr/user/fundamental.itely
-#. @node in ../../../Documentation/es/user/putting.itely
-#. @section in ../../../Documentation/es/user/putting.itely
+#. @node in ../../../Documentation/es/user/fundamental.itely
+#. @section in ../../../Documentation/es/user/fundamental.itely
 #. @node in ../../../Documentation/de/user/putting.itely
 #. @section in ../../../Documentation/de/user/putting.itely
 #. @node in ../../../Documentation/de/user/fundamental.itely
@@ -1364,29 +1392,34 @@ msgstr "Extender las plantillas"
 #. @subsection in ../../../Documentation/user/fundamental.itely
 #. @node in ../../../Documentation/fr/user/fundamental.itely
 #. @subsection in ../../../Documentation/fr/user/fundamental.itely
+#. @node in ../../../Documentation/es/user/fundamental.itely
+#. @subsection in ../../../Documentation/es/user/fundamental.itely
 #. @node in ../../../Documentation/de/user/fundamental.itely
 #. @subsection in ../../../Documentation/de/user/fundamental.itely
 msgid "Soprano and cello"
-msgstr ""
+msgstr "Soprano y violoncello"
 
 #. @node in ../../../Documentation/user/fundamental.itely
 #. @subsection in ../../../Documentation/user/fundamental.itely
 #. @node in ../../../Documentation/fr/user/fundamental.itely
 #. @subsection in ../../../Documentation/fr/user/fundamental.itely
+#. @node in ../../../Documentation/es/user/fundamental.itely
+#. @subsection in ../../../Documentation/es/user/fundamental.itely
 #. @node in ../../../Documentation/de/user/fundamental.itely
 #. @subsection in ../../../Documentation/de/user/fundamental.itely
-#, fuzzy
 msgid "Four-part SATB vocal score"
-msgstr "Partitura vocal SATB"
+msgstr "Partitura vocal a cuatro voces SATB"
 
 #. @node in ../../../Documentation/user/fundamental.itely
 #. @subsection in ../../../Documentation/user/fundamental.itely
 #. @node in ../../../Documentation/fr/user/fundamental.itely
 #. @subsection in ../../../Documentation/fr/user/fundamental.itely
+#. @node in ../../../Documentation/es/user/fundamental.itely
+#. @subsection in ../../../Documentation/es/user/fundamental.itely
 #. @node in ../../../Documentation/de/user/fundamental.itely
 #. @subsection in ../../../Documentation/de/user/fundamental.itely
 msgid "Building a score from scratch"
-msgstr ""
+msgstr "Crear una partitura partiendo de cero"
 
 #. @node in ../../../Documentation/user/tweaks.itely
 #. @chapter in ../../../Documentation/user/tweaks.itely
@@ -1401,155 +1434,140 @@ msgstr "Trucar la salida"
 
 #. @node in ../../../Documentation/user/tweaks.itely
 #. @section in ../../../Documentation/user/tweaks.itely
-#, fuzzy
 msgid "Tweaking basics"
-msgstr "Trucar la salida"
+msgstr "Elementos de trucaje"
 
 #  ?? FVD
 #. @node in ../../../Documentation/user/tweaks.itely
 #. @subsection in ../../../Documentation/user/tweaks.itely
-#, fuzzy
 msgid "Introduction to tweaks"
-msgstr "Construir un truco"
+msgstr "Introducción al trucaje"
 
 #. @node in ../../../Documentation/user/tweaks.itely
 #. @subsection in ../../../Documentation/user/tweaks.itely
-#, fuzzy
 msgid "Objects and interfaces"
-msgstr "Interfaces de la presentación"
+msgstr "Objetos e interfaces"
 
 #. @node in ../../../Documentation/user/tweaks.itely
 #. @subsection in ../../../Documentation/user/tweaks.itely
 msgid "Naming conventions of objects and properties"
-msgstr ""
+msgstr "Convenciones de nombres de objetos y propiedades"
 
 #. @node in ../../../Documentation/user/tweaks.itely
 #. @subsection in ../../../Documentation/user/tweaks.itely
-#, fuzzy
 msgid "Tweaking methods"
-msgstr "Trucar la salida"
+msgstr "Métodos de trucaje"
 
 #. @node in ../../../Documentation/user/tweaks.itely
 #. @section in ../../../Documentation/user/tweaks.itely
 msgid "The Internals Reference manual"
-msgstr ""
+msgstr "Manual de referencia de funcionamiento interno"
 
 #. @node in ../../../Documentation/user/tweaks.itely
 #. @subsection in ../../../Documentation/user/tweaks.itely
 msgid "Properties of layout objects"
-msgstr ""
+msgstr "Propiedades de los objetos de presentación"
 
 #. @subheading in ../../../Documentation/user/tweaks.itely
-#, fuzzy
 msgid "Finding the context"
-msgstr "Definir contextos nuevos"
+msgstr "Búsqueda del contexto"
 
 #. @subheading in ../../../Documentation/user/tweaks.itely
 msgid "Overriding once only"
-msgstr ""
+msgstr "Sobreescritura por una sola vez"
 
 #. @subheading in ../../../Documentation/user/tweaks.itely
-#, fuzzy
 msgid "Reverting"
-msgstr "Informar de fallos"
+msgstr "Recuperación del ajuste"
 
 #. @node in ../../../Documentation/user/tweaks.itely
 #. @subsection in ../../../Documentation/user/tweaks.itely
-#, fuzzy
 msgid "Properties found in interfaces"
-msgstr "Interfaces para el programador"
+msgstr "Propiedades de los interfaces"
 
 #. @subheading in ../../../Documentation/user/tweaks.itely
-#, fuzzy
-msgid "Specifying context in lyric mode"
-msgstr "Modificar los complementos (plug-ins) de contexto"
+msgid "Specifying the context in lyric mode"
+msgstr "Especificación del contexto en modo letra"
 
 #. @node in ../../../Documentation/user/tweaks.itely
 #. @subsection in ../../../Documentation/user/tweaks.itely
-#, fuzzy
 msgid "Types of properties"
-msgstr "Propiedades de la música"
+msgstr "Tipos de propiedades"
 
 #. @node in ../../../Documentation/user/tweaks.itely
 #. @section in ../../../Documentation/user/tweaks.itely
 msgid "Appearance of objects"
-msgstr ""
+msgstr "Apariencia de los objetos"
 
 #. @node in ../../../Documentation/user/tweaks.itely
 #. @subsection in ../../../Documentation/user/tweaks.itely
 msgid "Visibility and color of objects"
-msgstr ""
+msgstr "Visibilidad y color de los objetos"
 
 #. @subheading in ../../../Documentation/user/tweaks.itely
 msgid "stencil"
-msgstr ""
+msgstr "sello"
 
 #. @subheading in ../../../Documentation/user/tweaks.itely
 msgid "break-visibility"
-msgstr ""
+msgstr "break-visibility (visibilidad en el salto)"
 
 #. @subheading in ../../../Documentation/user/tweaks.itely
-#, fuzzy
 msgid "transparent"
-msgstr "Transposición"
+msgstr "transparente"
 
 #. @subheading in ../../../Documentation/user/tweaks.itely
-#, fuzzy
 msgid "color"
-msgstr "Acordes"
+msgstr "color"
 
 #. @node in ../../../Documentation/user/tweaks.itely
 #. @subsection in ../../../Documentation/user/tweaks.itely
-#, fuzzy
+#. @node in ../../../Documentation/es/user/tweaks.itely
+#. @subsection in ../../../Documentation/es/user/tweaks.itely
 msgid "Size of objects"
-msgstr "Mover objetos"
+msgstr "Tamaño de los objetos"
 
 #. @node in ../../../Documentation/user/tweaks.itely
 #. @subsection in ../../../Documentation/user/tweaks.itely
 msgid "Length and thickness of objects"
-msgstr ""
+msgstr "Longitud y grosor de los objetos"
 
 #. @node in ../../../Documentation/user/tweaks.itely
 #. @section in ../../../Documentation/user/tweaks.itely
-#, fuzzy
 msgid "Placement of objects"
-msgstr "Mover objetos"
+msgstr "Colocación de los objetos"
 
 #. @node in ../../../Documentation/user/tweaks.itely
 #. @subsection in ../../../Documentation/user/tweaks.itely
-#, fuzzy
 msgid "Automatic behaviour"
-msgstr "Barras automáticas"
+msgstr "Comportamiento automático"
 
 #. @node in ../../../Documentation/user/tweaks.itely
 #. @subsection in ../../../Documentation/user/tweaks.itely
 msgid "Within-staff objects"
-msgstr ""
+msgstr "Objetos interiores al pentagrama"
 
 #. @subheading in ../../../Documentation/user/tweaks.itely
-#, fuzzy
 msgid "Fingering"
 msgstr "Digitaciones"
 
 #. @node in ../../../Documentation/user/tweaks.itely
 #. @subsection in ../../../Documentation/user/tweaks.itely
-#, fuzzy
 msgid "Outside staff objects"
-msgstr "Establecer el tamaño del pentagrama"
+msgstr "Objetos fuera del pentagrama"
 
 #. @subheading in ../../../Documentation/user/tweaks.itely
 msgid "\\textLengthOn"
-msgstr ""
+msgstr "\\textLengthOn"
 
 #. @subheading in ../../../Documentation/user/tweaks.itely
 msgid "Grob sizing"
-msgstr ""
+msgstr "Escalado de un «Grob»"
 
 #. @node in ../../../Documentation/user/tweaks.itely
 #. @section in ../../../Documentation/user/tweaks.itely
-#, fuzzy
 msgid "Collisions of objects"
-msgstr "Colorear objetos"
+msgstr "Colisiones de objetos"
 
 #. @node in ../../../Documentation/user/tweaks.itely
 #. @subsection in ../../../Documentation/user/tweaks.itely
@@ -1575,73 +1593,68 @@ msgstr "Arreglar notación con superposiciones"
 
 #. @subheading in ../../../Documentation/user/tweaks.itely
 msgid "padding property"
-msgstr ""
+msgstr "propiedad de relleno"
 
 #. @subheading in ../../../Documentation/user/tweaks.itely
 msgid "left-padding and right-padding"
-msgstr ""
+msgstr "relleno por la izquierda y por la derecha"
 
 #. @subheading in ../../../Documentation/user/tweaks.itely
 msgid "staff-padding property"
-msgstr ""
+msgstr "propiedad staff-padding"
 
 #. @subheading in ../../../Documentation/user/tweaks.itely
 msgid "self-alignment-X property"
-msgstr ""
+msgstr "propiedad self-alignment-X"
 
 #. @subheading in ../../../Documentation/user/tweaks.itely
 msgid "staff-position property"
-msgstr ""
+msgstr "propiedad staff-position"
 
 #. @subheading in ../../../Documentation/user/tweaks.itely
 msgid "extra-offset property"
-msgstr ""
+msgstr "propiedad extra-offset"
 
 #. @subheading in ../../../Documentation/user/tweaks.itely
 msgid "positions property"
-msgstr ""
+msgstr "propiedad positions"
 
 #. @subheading in ../../../Documentation/user/tweaks.itely
 msgid "force-hshift property"
-msgstr ""
+msgstr "propiedad force-hshift"
 
 #. @node in ../../../Documentation/user/tweaks.itely
 #. @subsection in ../../../Documentation/user/tweaks.itely
-#, fuzzy
 msgid "Real music example"
-msgstr "Ejemplos mínimos"
+msgstr "Ejemplos reales de música"
 
 #. @node in ../../../Documentation/user/tweaks.itely
 #. @section in ../../../Documentation/user/tweaks.itely
 msgid "Further tweaking"
-msgstr ""
+msgstr "Trucajes adicionales"
 
 #. @node in ../../../Documentation/user/tweaks.itely
 #. @subsection in ../../../Documentation/user/tweaks.itely
-#, fuzzy
 msgid "Other uses for tweaks"
-msgstr "Trucos comunes"
+msgstr "Otras aplicaciones de los trucos"
 
 #. @subheading in ../../../Documentation/user/tweaks.itely
-#, fuzzy
 msgid "Tying notes across voices"
-msgstr "Citar otras voces"
+msgstr "Ligar notas entre voces distintas"
 
 #. @subheading in ../../../Documentation/user/tweaks.itely
 msgid "Simulating a fermata"
-msgstr ""
+msgstr "Simulación de una fermata"
 
 #. @node in ../../../Documentation/user/tweaks.itely
 #. @subsection in ../../../Documentation/user/tweaks.itely
-#, fuzzy
 msgid "Using variables for tweaks"
-msgstr "Utilizar una voz adicional para los saltos de línea"
+msgstr "Uso de variables para los trucos"
 
 #. @node in ../../../Documentation/user/tweaks.itely
 #. @subsection in ../../../Documentation/user/tweaks.itely
-#, fuzzy
 msgid "Other sources of information"
-msgstr "Más información"
+msgstr "Otras fuentes de información"
 
 #. @node in ../../../Documentation/user/tweaks.itely
 #. @subsection in ../../../Documentation/user/tweaks.itely
@@ -1651,8 +1664,8 @@ msgstr "Más información"
 #. @section in ../../../Documentation/es/user/tweaks.itely
 #. @node in ../../../Documentation/de/user/tweaks.itely
 #. @section in ../../../Documentation/de/user/tweaks.itely
-msgid "Advanced tweaks with Scheme"
-msgstr "Trucos avanzados con Scheme"
+msgid "Avoiding tweaks with slower processing"
+msgstr "Evitar los trucos con un proceso ralentizado"
 
 #. @node in ../../../Documentation/user/tweaks.itely
 #. @subsection in ../../../Documentation/user/tweaks.itely
@@ -1662,8 +1675,8 @@ msgstr "Trucos avanzados con Scheme"
 #. @section in ../../../Documentation/es/user/tweaks.itely
 #. @node in ../../../Documentation/de/user/tweaks.itely
 #. @section in ../../../Documentation/de/user/tweaks.itely
-msgid "Avoiding tweaks with slower processing"
-msgstr "Evitar los trucos con un proceso ralentizado"
+msgid "Advanced tweaks with Scheme"
+msgstr "Trucos avanzados con Scheme"
 
 #. @node in ../../../Documentation/user/working.itely
 #. @chapter in ../../../Documentation/user/working.itely
@@ -1722,9 +1735,10 @@ msgstr "Proyectos grandes"
 
 #. @node in ../../../Documentation/user/working.itely
 #. @subsection in ../../../Documentation/user/working.itely
-#, fuzzy
+#. @node in ../../../Documentation/es/user/working.itely
+#. @section in ../../../Documentation/es/user/working.itely
 msgid "Saving typing with variables and functions"
-msgstr "Ahorrar tecleo mediante identificadores y funciones"
+msgstr "Ahorrar tecleo mediante variables y funciones"
 
 #. @node in ../../../Documentation/user/working.itely
 #. @subsection in ../../../Documentation/user/working.itely
@@ -1740,7 +1754,7 @@ msgstr "Hojas de estilo"
 #. @node in ../../../Documentation/user/working.itely
 #. @section in ../../../Documentation/user/working.itely
 msgid "When things don't work"
-msgstr ""
+msgstr "Cuando las cosas no van"
 
 #. @node in ../../../Documentation/user/working.itely
 #. @subsection in ../../../Documentation/user/working.itely
@@ -1777,9 +1791,8 @@ msgstr "Ejemplos mínimos"
 
 #. @node in ../../../Documentation/user/working.itely
 #. @section in ../../../Documentation/user/working.itely
-#, fuzzy
 msgid "Scores and parts"
-msgstr "Preparación de particellas"
+msgstr "Partituras y particellas"
 
 #. @node in ../../../Documentation/user/templates.itely
 #. @appendix in ../../../Documentation/user/templates.itely
@@ -1829,7 +1842,7 @@ msgstr "Notas y acordes"
 #. @appendixsubsec in ../../../Documentation/es/user/templates.itely
 #. @appendixsubsec in ../../../Documentation/de/user/templates.itely
 msgid "Notes, lyrics, and chords."
-msgstr "Notas, letra y acordes"
+msgstr "Notas, letra y acordes."
 
 #. @node in ../../../Documentation/user/templates.itely
 #. @appendixsec in ../../../Documentation/user/templates.itely
@@ -1975,8 +1988,8 @@ msgstr "Plantillas de lilypond-book"
 #. @node in ../../../Documentation/user/lilypond-book.itely
 #. @appendixsubsec in ../../../Documentation/fr/user/templates.itely
 #. @node in ../../../Documentation/fr/user/lilypond-book.itely
-#. @node in ../../../Documentation/es/user/lilypond-book.itely
 #. @appendixsubsec in ../../../Documentation/es/user/templates.itely
+#. @node in ../../../Documentation/es/user/lilypond-book.itely
 #. @appendixsubsec in ../../../Documentation/de/user/templates.itely
 #. @node in ../../../Documentation/de/user/lilypond-book.itely
 msgid "LaTeX"
@@ -1990,10 +2003,10 @@ msgstr "LaTeX"
 #. @node in ../../../Documentation/fr/user/lilypond-book.itely
 #. @subsection in ../../../Documentation/fr/user/lilypond-book.itely
 #. @subsubheading in ../../../Documentation/fr/user/lilypond-book.itely
+#. @appendixsubsec in ../../../Documentation/es/user/templates.itely
 #. @node in ../../../Documentation/es/user/lilypond-book.itely
 #. @subsection in ../../../Documentation/es/user/lilypond-book.itely
 #. @subsubheading in ../../../Documentation/es/user/lilypond-book.itely
-#. @appendixsubsec in ../../../Documentation/es/user/templates.itely
 #. @appendixsubsec in ../../../Documentation/de/user/templates.itely
 #. @node in ../../../Documentation/de/user/lilypond-book.itely
 #. @subsection in ../../../Documentation/de/user/lilypond-book.itely
@@ -2001,6 +2014,10 @@ msgstr "LaTeX"
 msgid "Texinfo"
 msgstr "Texinfo"
 
+#. @appendixsubsec in ../../../Documentation/user/templates.itely
+msgid "xelatex"
+msgstr "xelatex"
+
 #. @node in ../../../Documentation/user/scheme-tutorial.itely
 #. @appendix in ../../../Documentation/user/scheme-tutorial.itely
 #. @node in ../../../Documentation/fr/user/scheme-tutorial.itely
@@ -2012,6 +2029,11 @@ msgstr "Texinfo"
 msgid "Scheme tutorial"
 msgstr "Tutorial de Scheme"
 
+#. @node in ../../../Documentation/user/scheme-tutorial.itely
+#. @appendixsec in ../../../Documentation/user/scheme-tutorial.itely
+msgid "Tweaking with Scheme"
+msgstr "Trucos con Scheme"
+
 #. @node in ../../../Documentation/user/fdl.itexi
 #. @appendix in ../../../Documentation/user/fdl.itexi
 #. @node in ../../../Documentation/user/fdl.itexi
@@ -2543,9 +2565,8 @@ msgstr "Invocar @command{lilypond-book}"
 #. @subheading in ../../../Documentation/fr/user/lilypond-book.itely
 #. @subheading in ../../../Documentation/es/user/lilypond-book.itely
 #. @subheading in ../../../Documentation/de/user/lilypond-book.itely
-#, fuzzy
 msgid "Format-specific instructions"
-msgstr "Notación específica de instrumentos"
+msgstr "Instrucciones específicas de formato"
 
 #. @node in ../../../Documentation/user/lilypond-book.itely
 #. @section in ../../../Documentation/user/lilypond-book.itely
@@ -2706,9 +2727,8 @@ msgstr "Índice de comandos de LilyPond"
 #. @chapter in ../../../Documentation/es/user/notation.itely
 #. @node in ../../../Documentation/de/user/notation.itely
 #. @chapter in ../../../Documentation/de/user/notation.itely
-#, fuzzy
 msgid "Musical notation"
-msgstr "Notación no musical"
+msgstr "Notación musical"
 
 #. @node in ../../../Documentation/user/pitches.itely
 #. @subsection in ../../../Documentation/user/pitches.itely
@@ -2718,38 +2738,37 @@ msgstr "Notación no musical"
 #. @subsection in ../../../Documentation/es/user/pitches.itely
 #. @node in ../../../Documentation/de/user/pitches.itely
 #. @subsection in ../../../Documentation/de/user/pitches.itely
-#, fuzzy
 msgid "Writing pitches"
-msgstr "Imprimir la letra"
+msgstr "Escritura de notas"
 
 #. @node in ../../../Documentation/user/pitches.itely
-#. @subsubsection in ../../../Documentation/user/pitches.itely
-#, fuzzy
+#. @unnumberedsubsubsec in ../../../Documentation/user/pitches.itely
+#. @node in ../../../Documentation/es/user/pitches.itely
+#. @subsubsection in ../../../Documentation/es/user/pitches.itely
 msgid "Absolute octave entry"
-msgstr "Nombres de nota absolutos"
+msgstr "Escritura de octava absoluta"
 
 #. @node in ../../../Documentation/user/pitches.itely
-#. @subsubsection in ../../../Documentation/user/pitches.itely
-#, fuzzy
+#. @unnumberedsubsubsec in ../../../Documentation/user/pitches.itely
+#. @node in ../../../Documentation/es/user/pitches.itely
+#. @subsubsection in ../../../Documentation/es/user/pitches.itely
 msgid "Relative octave entry"
-msgstr "Octavas relativas"
+msgstr "Escritura de octava relativa"
 
 #. @rglos in ../../../Documentation/user/pitches.itely
-#, fuzzy
 msgid "fifth"
-msgstr "Alturas"
+msgstr "quinta"
 
 #. @rglos in ../../../Documentation/user/pitches.itely
-#, fuzzy
 msgid "quarter-tone"
-msgstr "negra"
+msgstr "cuarto de tono"
 
 #. @node in ../../../Documentation/user/pitches.itely
-#. @subsubsection in ../../../Documentation/user/pitches.itely
+#. @unnumberedsubsubsec in ../../../Documentation/user/pitches.itely
 #. @node in ../../../Documentation/fr/user/pitches.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/pitches.itely
 #. @node in ../../../Documentation/es/user/pitches.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/pitches.itely
+#. @subsubsection in ../../../Documentation/es/user/pitches.itely
 #. @node in ../../../Documentation/de/user/pitches.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/pitches.itely
 msgid "Note names in other languages"
@@ -2763,22 +2782,22 @@ msgstr "Nombres de las notas en otros idiomas"
 #. @subsection in ../../../Documentation/es/user/pitches.itely
 #. @node in ../../../Documentation/de/user/pitches.itely
 #. @subsection in ../../../Documentation/de/user/pitches.itely
-#, fuzzy
 msgid "Changing multiple pitches"
-msgstr "Cambiar los valores por omisión"
+msgstr "Modificación de varias notas a la vez"
 
 #. @node in ../../../Documentation/user/pitches.itely
-#. @subsubsection in ../../../Documentation/user/pitches.itely
-#, fuzzy
+#. @unnumberedsubsubsec in ../../../Documentation/user/pitches.itely
+#. @node in ../../../Documentation/es/user/pitches.itely
+#. @subsubsection in ../../../Documentation/es/user/pitches.itely
 msgid "Octave checks"
-msgstr "Comprobación de la octava"
+msgstr "Comprobación de octava"
 
 #. @node in ../../../Documentation/user/pitches.itely
-#. @subsubsection in ../../../Documentation/user/pitches.itely
+#. @unnumberedsubsubsec in ../../../Documentation/user/pitches.itely
 #. @node in ../../../Documentation/fr/user/pitches.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/pitches.itely
 #. @node in ../../../Documentation/es/user/pitches.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/pitches.itely
+#. @subsubsection in ../../../Documentation/es/user/pitches.itely
 #. @node in ../../../Documentation/de/user/pitches.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/pitches.itely
 msgid "Transpose"
@@ -2792,53 +2811,50 @@ msgstr "Transposición"
 #. @subsection in ../../../Documentation/es/user/pitches.itely
 #. @node in ../../../Documentation/de/user/pitches.itely
 #. @subsection in ../../../Documentation/de/user/pitches.itely
-#, fuzzy
 msgid "Displaying pitches"
-msgstr "Mostrar el espaciado"
+msgstr "Imprimir las alturas"
 
 #. @node in ../../../Documentation/user/pitches.itely
-#. @subsubsection in ../../../Documentation/user/pitches.itely
+#. @unnumberedsubsubsec in ../../../Documentation/user/pitches.itely
 #. @node in ../../../Documentation/fr/user/pitches.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/pitches.itely
 #. @node in ../../../Documentation/es/user/pitches.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/pitches.itely
+#. @subsubsection in ../../../Documentation/es/user/pitches.itely
 #. @node in ../../../Documentation/de/user/pitches.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/pitches.itely
 msgid "Key signature"
 msgstr "Armadura de la tonalidad"
 
 #. @rglos in ../../../Documentation/user/pitches.itely
-#, fuzzy
 msgid "church mode"
-msgstr "Modo de acordes"
+msgstr "modo eclesiástico"
 
 #. @rglos in ../../../Documentation/user/pitches.itely
 msgid "scordatura"
-msgstr ""
+msgstr "scordatura"
 
 # fuzzy. FVD
 #. @node in ../../../Documentation/user/pitches.itely
-#. @subsubsection in ../../../Documentation/user/pitches.itely
+#. @unnumberedsubsubsec in ../../../Documentation/user/pitches.itely
 #. @node in ../../../Documentation/fr/user/pitches.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/pitches.itely
 #. @node in ../../../Documentation/es/user/pitches.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/pitches.itely
+#. @subsubsection in ../../../Documentation/es/user/pitches.itely
 #. @node in ../../../Documentation/de/user/pitches.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/pitches.itely
 msgid "Ottava brackets"
 msgstr "Corchetes de octava"
 
 #. @rglos in ../../../Documentation/user/pitches.itely
-#, fuzzy
 msgid "octavation"
-msgstr "Improvisación"
+msgstr "octavación"
 
 #. @node in ../../../Documentation/user/pitches.itely
-#. @subsubsection in ../../../Documentation/user/pitches.itely
+#. @unnumberedsubsubsec in ../../../Documentation/user/pitches.itely
 #. @node in ../../../Documentation/fr/user/pitches.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/pitches.itely
 #. @node in ../../../Documentation/es/user/pitches.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/pitches.itely
+#. @subsubsection in ../../../Documentation/es/user/pitches.itely
 #. @node in ../../../Documentation/de/user/pitches.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/pitches.itely
 msgid "Instrument transpositions"
@@ -2846,78 +2862,82 @@ msgstr "Transposición de los instrumentos"
 
 #. @rglos in ../../../Documentation/user/pitches.itely
 msgid "concert pitch"
-msgstr ""
+msgstr "altura de concierto"
 
 #. @rglos in ../../../Documentation/user/pitches.itely
-#, fuzzy
 msgid "transposing instrument"
-msgstr "Transposición de los instrumentos"
+msgstr "instrumento transpositor"
 
 #. @node in ../../../Documentation/user/pitches.itely
-#. @subsubsection in ../../../Documentation/user/pitches.itely
+#. @unnumberedsubsubsec in ../../../Documentation/user/pitches.itely
 #. @node in ../../../Documentation/fr/user/changing-defaults.itely
 #. @subsection in ../../../Documentation/fr/user/changing-defaults.itely
-#. @node in ../../../Documentation/es/user/changing-defaults.itely
-#. @subsection in ../../../Documentation/es/user/changing-defaults.itely
+#. @node in ../../../Documentation/es/user/pitches.itely
+#. @subsubsection in ../../../Documentation/es/user/pitches.itely
 msgid "Automatic accidentals"
 msgstr "Alteraciones accidentales automáticas"
 
 #. @node in ../../../Documentation/user/pitches.itely
-#. @subsubsection in ../../../Documentation/user/pitches.itely
+#. @unnumberedsubsubsec in ../../../Documentation/user/pitches.itely
 #. @node in ../../../Documentation/fr/user/editorial.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/editorial.itely
-#. @node in ../../../Documentation/es/user/educational.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/educational.itely
-#. @node in ../../../Documentation/de/user/educational.itely
-#. @unnumberedsubsubsec in ../../../Documentation/de/user/educational.itely
+#. @node in ../../../Documentation/es/user/pitches.itely
+#. @subsubsection in ../../../Documentation/es/user/pitches.itely
+#. @node in ../../../Documentation/de/user/editorial.itely
+#. @unnumberedsubsubsec in ../../../Documentation/de/user/editorial.itely
 msgid "Ambitus"
 msgstr "Tesitura"
 
 #. @node in ../../../Documentation/user/pitches.itely
 #. @subsection in ../../../Documentation/user/pitches.itely
-#. @node in ../../../Documentation/fr/user/editorial.itely
-#. @subsection in ../../../Documentation/fr/user/editorial.itely
-#. @node in ../../../Documentation/es/user/educational.itely
-#. @subsection in ../../../Documentation/es/user/educational.itely
-#. @node in ../../../Documentation/de/user/educational.itely
-#. @subsection in ../../../Documentation/de/user/educational.itely
-#, fuzzy
+#. @node in ../../../Documentation/fr/user/pitches.itely
+#. @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/editorial.itely
+#. @subsection in ../../../Documentation/de/user/editorial.itely
 msgid "Note heads"
-msgstr "Estilos de cabezas de nota"
+msgstr "Cabeza de las notas"
 
 #. @node in ../../../Documentation/user/pitches.itely
-#. @subsubsection in ../../../Documentation/user/pitches.itely
-#, fuzzy
+#. @unnumberedsubsubsec in ../../../Documentation/user/pitches.itely
+#. @node in ../../../Documentation/fr/user/pitches.itely
+#. @unnumberedsubsubsec in ../../../Documentation/fr/user/pitches.itely
+#. @node in ../../../Documentation/es/user/pitches.itely
+#. @subsubsection in ../../../Documentation/es/user/pitches.itely
 msgid "Special note heads"
 msgstr "Cabezas de nota especiales"
 
 # Fuzzy.FVD
 #. @node in ../../../Documentation/user/pitches.itely
-#. @subsubsection in ../../../Documentation/user/pitches.itely
-#, fuzzy
+#. @unnumberedsubsubsec in ../../../Documentation/user/pitches.itely
+#. @node in ../../../Documentation/fr/user/pitches.itely
+#. @unnumberedsubsubsec in ../../../Documentation/fr/user/pitches.itely
+#. @node in ../../../Documentation/es/user/pitches.itely
+#. @subsubsection in ../../../Documentation/es/user/pitches.itely
 msgid "Easy notation note heads"
 msgstr "Cabezas de notas de Notación Fácil"
 
 # Fuzzy.FVD
 #. @node in ../../../Documentation/user/pitches.itely
-#. @subsubsection in ../../../Documentation/user/pitches.itely
-#. @node in ../../../Documentation/fr/user/editorial.itely
-#. @unnumberedsubsubsec in ../../../Documentation/fr/user/editorial.itely
-#. @node in ../../../Documentation/es/user/educational.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/educational.itely
-#. @node in ../../../Documentation/de/user/educational.itely
-#. @unnumberedsubsubsec in ../../../Documentation/de/user/educational.itely
+#. @unnumberedsubsubsec in ../../../Documentation/user/pitches.itely
+#. @node in ../../../Documentation/fr/user/pitches.itely
+#. @unnumberedsubsubsec in ../../../Documentation/fr/user/pitches.itely
+#. @node in ../../../Documentation/es/user/pitches.itely
+#. @subsubsection in ../../../Documentation/es/user/pitches.itely
+#. @node in ../../../Documentation/de/user/editorial.itely
+#. @unnumberedsubsubsec in ../../../Documentation/de/user/editorial.itely
 msgid "Shape note heads"
 msgstr "Cabezas de notas con formas diversas"
 
 #. @node in ../../../Documentation/user/pitches.itely
-#. @subsubsection in ../../../Documentation/user/pitches.itely
-#. @node in ../../../Documentation/fr/user/editorial.itely
-#. @unnumberedsubsubsec in ../../../Documentation/fr/user/editorial.itely
-#. @node in ../../../Documentation/es/user/educational.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/educational.itely
-#. @node in ../../../Documentation/de/user/educational.itely
-#. @unnumberedsubsubsec in ../../../Documentation/de/user/educational.itely
+#. @unnumberedsubsubsec in ../../../Documentation/user/pitches.itely
+#. @node in ../../../Documentation/fr/user/pitches.itely
+#. @unnumberedsubsubsec in ../../../Documentation/fr/user/pitches.itely
+#. @node in ../../../Documentation/es/user/pitches.itely
+#. @subsubsection in ../../../Documentation/es/user/pitches.itely
+#. @node in ../../../Documentation/de/user/editorial.itely
+#. @unnumberedsubsubsec in ../../../Documentation/de/user/editorial.itely
 msgid "Improvisation"
 msgstr "Improvisación"
 
@@ -2940,9 +2960,8 @@ msgstr "Ritmos"
 #. @subsection in ../../../Documentation/es/user/rhythms.itely
 #. @node in ../../../Documentation/de/user/rhythms.itely
 #. @subsection in ../../../Documentation/de/user/rhythms.itely
-#, fuzzy
 msgid "Writing rhythms"
-msgstr "Duraciones (valores rítmicos)"
+msgstr "Escritura de las duraciones (valores rítmicos)"
 
 # También Valores rimicos. FVD
 #. @node in ../../../Documentation/user/rhythms.itely
@@ -2950,66 +2969,52 @@ msgstr "Duraciones (valores rítmicos)"
 #. @node in ../../../Documentation/fr/user/rhythms.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/rhythms.itely
 #. @node in ../../../Documentation/es/user/rhythms.itely
-#. @unnumberedsubsubsec 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 "Durations"
 msgstr "Duraciones"
 
 #. @rglos in ../../../Documentation/user/rhythms.itely
-#, fuzzy
+#. @rglos in ../../../Documentation/es/user/rhythms.itely
 msgid "breve"
-msgstr "Preámbulo"
+msgstr "breve"
 
 #. @rglos in ../../../Documentation/user/rhythms.itely
-#, fuzzy
+#. @rglos in ../../../Documentation/es/user/rhythms.itely
 msgid "longa"
-msgstr "Canciones"
+msgstr "longa"
 
 #. @rglos in ../../../Documentation/user/rhythms.itely
+#. @rglos in ../../../Documentation/es/user/rhythms.itely
 msgid "Duration names notes and rests"
-msgstr ""
-
-#. @subheading in ../../../Documentation/user/rhythms.itely
-#, fuzzy
-msgid "Modifying nested tuplets"
-msgstr "Modificar los complementos (plug-ins) de contexto"
-
-#. @subheading in ../../../Documentation/user/rhythms.itely
-#, fuzzy
-msgid "Modifying tuplet bracket length"
-msgstr "Modificar los complementos (plug-ins) de contexto"
-
-#. @subheading in ../../../Documentation/user/rhythms.itely
-#, fuzzy
-msgid "Compressing music"
-msgstr "Tipografiar música existente"
+msgstr "Nombre de las duraciones de notas y silencios"
 
 #. @rglos in ../../../Documentation/user/rhythms.itely
-#, fuzzy
+#. @rglos in ../../../Documentation/es/user/rhythms.itely
 msgid "tuplet"
-msgstr "Grupos especiales"
+msgstr "grupo especial"
 
 #. @rglos in ../../../Documentation/user/rhythms.itely
-#, fuzzy
+#. @rglos in ../../../Documentation/es/user/rhythms.itely
 msgid "polymetric"
-msgstr "Letras en divisi"
+msgstr "polimétrica"
 
 #. @node in ../../../Documentation/user/rhythms.itely
 #. @subsubsection in ../../../Documentation/user/rhythms.itely
 #. @node in ../../../Documentation/fr/user/rhythms.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/rhythms.itely
 #. @node in ../../../Documentation/es/user/rhythms.itely
-#. @unnumberedsubsubsec 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 "Scaling durations"
 msgstr "Escalar las duraciones"
 
 #. @rglos in ../../../Documentation/user/rhythms.itely
-#, fuzzy
+#. @rglos in ../../../Documentation/es/user/rhythms.itely
 msgid "laissez vibrer"
-msgstr "Ligaduras Laissez vibrer"
+msgstr "laissez vibrer"
 
 #. @node in ../../../Documentation/user/rhythms.itely
 #. @subsection in ../../../Documentation/user/rhythms.itely
@@ -3019,9 +3024,8 @@ msgstr "Ligaduras Laissez vibrer"
 #. @subsection in ../../../Documentation/es/user/rhythms.itely
 #. @node in ../../../Documentation/de/user/rhythms.itely
 #. @subsection in ../../../Documentation/de/user/rhythms.itely
-#, fuzzy
 msgid "Writing rests"
-msgstr "Imprimir la letra"
+msgstr "Escritura de silencios"
 
 # Saltos? FVD
 #. @node in ../../../Documentation/user/rhythms.itely
@@ -3029,7 +3033,7 @@ msgstr "Imprimir la letra"
 #. @node in ../../../Documentation/fr/user/rhythms.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/rhythms.itely
 #. @node in ../../../Documentation/es/user/rhythms.itely
-#. @unnumberedsubsubsec 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 "Skips"
@@ -3037,14 +3041,18 @@ msgstr "Desplazamientos"
 
 #. @node in ../../../Documentation/user/rhythms.itely
 #. @subsubsection in ../../../Documentation/user/rhythms.itely
-#, fuzzy
+#. @node in ../../../Documentation/es/user/rhythms.itely
+#. @subsubsection in ../../../Documentation/es/user/rhythms.itely
 msgid "Full measure rests"
-msgstr "Silencios multicompás"
+msgstr "Silencios de compás completo"
 
 #. @rglos in ../../../Documentation/user/rhythms.itely
-#, fuzzy
 msgid "multi-measure rest"
-msgstr "Silencios multicompás"
+msgstr "silencios multicompás"
+
+#. @rglos in ../../../Documentation/user/rhythms.itely
+msgid "church rests"
+msgstr "silencios eclesiásticos"
 
 #. @node in ../../../Documentation/user/rhythms.itely
 #. @subsection in ../../../Documentation/user/rhythms.itely
@@ -3054,28 +3062,26 @@ msgstr "Silencios multicompás"
 #. @subsection in ../../../Documentation/es/user/rhythms.itely
 #. @node in ../../../Documentation/de/user/rhythms.itely
 #. @subsection in ../../../Documentation/de/user/rhythms.itely
-#, fuzzy
 msgid "Displaying rhythms"
-msgstr "Mostrar el espaciado"
+msgstr "Impresión de las duraciones"
 
 #. @node in ../../../Documentation/user/rhythms.itely
 #. @subsubsection in ../../../Documentation/user/rhythms.itely
 #. @node in ../../../Documentation/fr/user/rhythms.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/rhythms.itely
 #. @node in ../../../Documentation/es/user/rhythms.itely
-#. @unnumberedsubsubsec 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
-#, fuzzy
 msgid "Upbeats"
-msgstr "Repeticiones"
+msgstr "Anacrusas"
 
 #. @node in ../../../Documentation/user/rhythms.itely
 #. @subsubsection in ../../../Documentation/user/rhythms.itely
 #. @node in ../../../Documentation/fr/user/rhythms.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/rhythms.itely
 #. @node in ../../../Documentation/es/user/rhythms.itely
-#. @unnumberedsubsubsec 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 "Unmetered music"
@@ -3086,27 +3092,26 @@ msgstr "Música sin compasear"
 #. @node in ../../../Documentation/fr/user/rhythms.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/rhythms.itely
 #. @node in ../../../Documentation/es/user/rhythms.itely
-#. @unnumberedsubsubsec 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 "Polymetric notation"
 msgstr "Notación polimétrica"
 
 #. @rglos in ../../../Documentation/user/rhythms.itely
-#, fuzzy
 msgid "polymetric time signature"
-msgstr "indicación de compás"
+msgstr "compás polimétrico"
 
 #. @rglos in ../../../Documentation/user/rhythms.itely
 msgid "meter"
-msgstr ""
+msgstr "metro"
 
 #. @node in ../../../Documentation/user/rhythms.itely
 #. @subsubsection in ../../../Documentation/user/rhythms.itely
 #. @node in ../../../Documentation/fr/user/rhythms.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/rhythms.itely
 #. @node in ../../../Documentation/es/user/rhythms.itely
-#. @unnumberedsubsubsec 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 "Automatic note splitting"
@@ -3120,16 +3125,15 @@ msgstr "División automática de las notas"
 #. @subsection in ../../../Documentation/es/user/rhythms.itely
 #. @node in ../../../Documentation/de/user/rhythms.itely
 #. @subsection in ../../../Documentation/de/user/rhythms.itely
-#, fuzzy
 msgid "Beams"
-msgstr "Saltos"
+msgstr "Barras"
 
 #. @node in ../../../Documentation/user/rhythms.itely
 #. @subsubsection in ../../../Documentation/user/rhythms.itely
 #. @node in ../../../Documentation/fr/user/rhythms.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/rhythms.itely
 #. @node in ../../../Documentation/es/user/rhythms.itely
-#. @unnumberedsubsubsec 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 "Automatic beams"
@@ -3139,8 +3143,8 @@ msgstr "Barras automáticas"
 #. @subsubsection in ../../../Documentation/user/rhythms.itely
 #. @node in ../../../Documentation/fr/user/changing-defaults.itely
 #. @subsection in ../../../Documentation/fr/user/changing-defaults.itely
-#. @node in ../../../Documentation/es/user/changing-defaults.itely
-#. @subsection in ../../../Documentation/es/user/changing-defaults.itely
+#. @node in ../../../Documentation/es/user/rhythms.itely
+#. @subsubsection in ../../../Documentation/es/user/rhythms.itely
 msgid "Setting automatic beam behavior"
 msgstr "Establecer el comportamiento de las barras automáticas"
 
@@ -3149,7 +3153,7 @@ msgstr "Establecer el comportamiento de las barras automáticas"
 #. @node in ../../../Documentation/fr/user/rhythms.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/rhythms.itely
 #. @node in ../../../Documentation/es/user/rhythms.itely
-#. @unnumberedsubsubsec 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 "Manual beams"
@@ -3160,7 +3164,7 @@ msgstr "Barras manuales"
 #. @node in ../../../Documentation/fr/user/rhythms.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/rhythms.itely
 #. @node in ../../../Documentation/es/user/rhythms.itely
-#. @unnumberedsubsubsec 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 "Feathered beams"
@@ -3175,7 +3179,6 @@ msgstr "Barras punteadas"
 #. @subsection in ../../../Documentation/es/user/rhythms.itely
 #. @node in ../../../Documentation/de/user/rhythms.itely
 #. @subsection in ../../../Documentation/de/user/rhythms.itely
-#, fuzzy
 msgid "Bars"
 msgstr "Barras de compás"
 
@@ -3185,7 +3188,7 @@ msgstr "Barras de compás"
 #. @node in ../../../Documentation/fr/user/rhythms.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/rhythms.itely
 #. @node in ../../../Documentation/es/user/rhythms.itely
-#. @unnumberedsubsubsec 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 "Bar lines"
@@ -3196,7 +3199,7 @@ msgstr "Barras de compás"
 #. @node in ../../../Documentation/fr/user/rhythms.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/rhythms.itely
 #. @node in ../../../Documentation/es/user/rhythms.itely
-#. @unnumberedsubsubsec 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 "Bar numbers"
@@ -3204,16 +3207,15 @@ msgstr "Numeración de compases"
 
 #. @node in ../../../Documentation/user/rhythms.itely
 #. @subsubsection in ../../../Documentation/user/rhythms.itely
-#, fuzzy
 msgid "Bar and bar number checks"
-msgstr "Comprobación del número de compás "
+msgstr "Comprobación de compás y de número de compás"
 
 #. @node in ../../../Documentation/user/rhythms.itely
 #. @subsubsection in ../../../Documentation/user/rhythms.itely
 #. @node in ../../../Documentation/fr/user/rhythms.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/rhythms.itely
 #. @node in ../../../Documentation/es/user/rhythms.itely
-#. @unnumberedsubsubsec 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 "Rehearsal marks"
@@ -3228,14 +3230,14 @@ msgstr "Llamadas de ensayo"
 #. @node in ../../../Documentation/de/user/rhythms.itely
 #. @subsection in ../../../Documentation/de/user/rhythms.itely
 msgid "Special rhythmic concerns"
-msgstr ""
+msgstr "Asuntos rítmicos especiales"
 
 #. @node in ../../../Documentation/user/rhythms.itely
 #. @subsubsection in ../../../Documentation/user/rhythms.itely
 #. @node in ../../../Documentation/fr/user/rhythms.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/rhythms.itely
 #. @node in ../../../Documentation/es/user/rhythms.itely
-#. @unnumberedsubsubsec 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 "Aligning to cadenzas"
@@ -3246,7 +3248,7 @@ msgstr "Alinear con una cadenza"
 #. @node in ../../../Documentation/fr/user/rhythms.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/rhythms.itely
 #. @node in ../../../Documentation/es/user/rhythms.itely
-#. @unnumberedsubsubsec 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 "Time administration"
@@ -3271,20 +3273,35 @@ msgstr "Expresiones"
 #. @subsection in ../../../Documentation/es/user/expressive.itely
 #. @node in ../../../Documentation/de/user/expressive.itely
 #. @subsection in ../../../Documentation/de/user/expressive.itely
-#, fuzzy
 msgid "Attached to notes"
-msgstr "figura con puntillo"
+msgstr "Adosado a las notas"
 
 #. @node in ../../../Documentation/user/expressive.itely
 #. @subsubsection in ../../../Documentation/user/expressive.itely
-#, fuzzy
+#. @node in ../../../Documentation/es/user/expressive.itely
+#. @subsubsection in ../../../Documentation/es/user/expressive.itely
 msgid "Articulations and ornamentations"
-msgstr "Articulaciones y matices dinámicos"
+msgstr "Articulaciones y ornamentos"
 
 #. @rglos in ../../../Documentation/user/expressive.itely
-#, fuzzy
-msgid "hairpin"
-msgstr "sostenido"
+#. @rglos in ../../../Documentation/es/user/expressive.itely
+msgid "tenuto"
+msgstr "tenuto"
+
+#. @rglos in ../../../Documentation/user/expressive.itely
+#. @rglos in ../../../Documentation/es/user/expressive.itely
+msgid "accent"
+msgstr "acento"
+
+#. @rglos in ../../../Documentation/user/expressive.itely
+#. @rglos in ../../../Documentation/es/user/expressive.itely
+msgid "staccato"
+msgstr "staccato"
+
+#. @rglos in ../../../Documentation/user/expressive.itely
+#. @rglos in ../../../Documentation/es/user/expressive.itely
+msgid "portato"
+msgstr "portato"
 
 #. @node in ../../../Documentation/user/expressive.itely
 #. @subsection in ../../../Documentation/user/expressive.itely
@@ -3294,16 +3311,15 @@ msgstr "sostenido"
 #. @subsection in ../../../Documentation/es/user/expressive.itely
 #. @node in ../../../Documentation/de/user/expressive.itely
 #. @subsection in ../../../Documentation/de/user/expressive.itely
-#, fuzzy
 msgid "Curves"
-msgstr "silencio"
+msgstr "Curvas"
 
 #. @node in ../../../Documentation/user/expressive.itely
 #. @subsubsection in ../../../Documentation/user/expressive.itely
 #. @node in ../../../Documentation/fr/user/expressive.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/expressive.itely
 #. @node in ../../../Documentation/es/user/expressive.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/expressive.itely
+#. @subsubsection in ../../../Documentation/es/user/expressive.itely
 #. @node in ../../../Documentation/de/user/expressive.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/expressive.itely
 msgid "Breath marks"
@@ -3315,12 +3331,20 @@ msgstr "Marcas de respiración"
 #. @node in ../../../Documentation/fr/user/expressive.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/expressive.itely
 #. @node in ../../../Documentation/es/user/expressive.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/expressive.itely
+#. @subsubsection in ../../../Documentation/es/user/expressive.itely
 #. @node in ../../../Documentation/de/user/expressive.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/expressive.itely
 msgid "Falls and doits"
 msgstr "Caídas y elevaciones"
 
+#. @rglos in ../../../Documentation/user/expressive.itely
+msgid "falls"
+msgstr "caídas"
+
+#. @rglos in ../../../Documentation/user/expressive.itely
+msgid "doits"
+msgstr "elevaciones"
+
 #. @node in ../../../Documentation/user/expressive.itely
 #. @subsection in ../../../Documentation/user/expressive.itely
 #. @node in ../../../Documentation/fr/user/expressive.itely
@@ -3329,52 +3353,56 @@ msgstr "Caídas y elevaciones"
 #. @subsection in ../../../Documentation/es/user/expressive.itely
 #. @node in ../../../Documentation/de/user/expressive.itely
 #. @subsection in ../../../Documentation/de/user/expressive.itely
-#, fuzzy
 msgid "Lines"
-msgstr "Ligaduras de unión"
+msgstr "Líneas"
 
 #. @node in ../../../Documentation/user/expressive.itely
 #. @subsubsection in ../../../Documentation/user/expressive.itely
 #. @node in ../../../Documentation/fr/user/expressive.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/expressive.itely
 #. @node in ../../../Documentation/es/user/expressive.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/expressive.itely
+#. @subsubsection in ../../../Documentation/es/user/expressive.itely
 #. @node in ../../../Documentation/de/user/expressive.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/expressive.itely
 msgid "Glissando"
 msgstr "Glissando"
 
 #. @rglos in ../../../Documentation/user/expressive.itely
-msgid "falls"
-msgstr ""
-
-#. @rglos in ../../../Documentation/user/expressive.itely
-#, fuzzy
-msgid "doits"
-msgstr "jEdit"
+msgid "glissando"
+msgstr "glissando"
 
 #. @node in ../../../Documentation/user/expressive.itely
 #. @subsubsection in ../../../Documentation/user/expressive.itely
 #. @node in ../../../Documentation/fr/user/expressive.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/expressive.itely
 #. @node in ../../../Documentation/es/user/expressive.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/expressive.itely
+#. @subsubsection in ../../../Documentation/es/user/expressive.itely
 #. @node in ../../../Documentation/de/user/expressive.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/expressive.itely
 msgid "Arpeggio"
 msgstr "Arpegio"
 
+#. @rglos in ../../../Documentation/user/expressive.itely
+#. @rglos in ../../../Documentation/es/user/expressive.itely
+msgid "arpeggio"
+msgstr "arpegio"
+
 #. @node in ../../../Documentation/user/expressive.itely
 #. @subsubsection in ../../../Documentation/user/expressive.itely
 #. @node in ../../../Documentation/fr/user/expressive.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/expressive.itely
 #. @node in ../../../Documentation/es/user/expressive.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/expressive.itely
+#. @subsubsection in ../../../Documentation/es/user/expressive.itely
 #. @node in ../../../Documentation/de/user/expressive.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/expressive.itely
 msgid "Trills"
 msgstr "Trinos"
 
+#. @rglos in ../../../Documentation/user/expressive.itely
+#. @rglos in ../../../Documentation/es/user/expressive.itely
+msgid "trill"
+msgstr "trino"
+
 #. @node in ../../../Documentation/user/repeats.itely
 #. @section in ../../../Documentation/user/repeats.itely
 #. @node in ../../../Documentation/fr/user/repeats.itely
@@ -3388,77 +3416,66 @@ msgstr "Repeticiones"
 
 #. @node in ../../../Documentation/user/repeats.itely
 #. @subsection in ../../../Documentation/user/repeats.itely
-#. @node in ../../../Documentation/fr/user/repeats.itely
-#. @subsection in ../../../Documentation/fr/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
-#, fuzzy
-msgid "Writing repeats"
-msgstr "Particellas de cuarteto de cuerda"
+msgid "Writing long repeats"
+msgstr "Escribir repeticiones largas"
 
 #. @node in ../../../Documentation/user/repeats.itely
 #. @subsubsection in ../../../Documentation/user/repeats.itely
-#. @node in ../../../Documentation/fr/user/repeats.itely
-#. @unnumberedsubsubsec in ../../../Documentation/fr/user/repeats.itely
 #. @node in ../../../Documentation/es/user/repeats.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/repeats.itely
-#. @node in ../../../Documentation/de/user/repeats.itely
-#. @unnumberedsubsubsec in ../../../Documentation/de/user/repeats.itely
-msgid "Repeat syntax"
-msgstr "Sintaxis de las repeticiones"
+#. @subsubsection in ../../../Documentation/es/user/repeats.itely
+msgid "Normal repeats"
+msgstr "Repeticiones normales"
+
+#. @rglos in ../../../Documentation/user/repeats.itely
+#. @rglos in ../../../Documentation/es/user/repeats.itely
+msgid "repeat"
+msgstr "repetición"
+
+#. @rglos in ../../../Documentation/user/repeats.itely
+#. @rglos in ../../../Documentation/es/user/repeats.itely
+msgid "volta"
+msgstr "primera y segunda vez"
 
 #. @node in ../../../Documentation/user/repeats.itely
 #. @subsubsection in ../../../Documentation/user/repeats.itely
-#, fuzzy
-msgid "Normal repeats"
-msgstr "Repeticiones de trémolo"
+#. @node in ../../../Documentation/es/user/repeats.itely
+#. @subsubsection in ../../../Documentation/es/user/repeats.itely
+msgid "Manual repeat marks"
+msgstr "Marcas de repetición manual"
 
 #. @node in ../../../Documentation/user/repeats.itely
 #. @subsubsection in ../../../Documentation/user/repeats.itely
-#. @node in ../../../Documentation/fr/user/repeats.itely
-#. @unnumberedsubsubsec in ../../../Documentation/fr/user/repeats.itely
 #. @node in ../../../Documentation/es/user/repeats.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/repeats.itely
-#. @node in ../../../Documentation/de/user/repeats.itely
-#. @unnumberedsubsubsec in ../../../Documentation/de/user/repeats.itely
-msgid "Manual repeat commands"
-msgstr "Comandos de repetición manual"
+#. @subsubsection in ../../../Documentation/es/user/repeats.itely
+msgid "Written-out repeats"
+msgstr "Repeticiones explícitas"
 
 #. @node in ../../../Documentation/user/repeats.itely
 #. @subsection in ../../../Documentation/user/repeats.itely
-#. @node in ../../../Documentation/fr/user/repeats.itely
-#. @subsection in ../../../Documentation/fr/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
-#, fuzzy
-msgid "Other repeats"
-msgstr "Repeticiones de compás"
+msgid "Short repeats"
+msgstr "Repeticiones cortas"
 
 #. @node in ../../../Documentation/user/repeats.itely
 #. @subsubsection in ../../../Documentation/user/repeats.itely
-#. @node in ../../../Documentation/fr/user/repeats.itely
-#. @unnumberedsubsubsec in ../../../Documentation/fr/user/repeats.itely
 #. @node in ../../../Documentation/es/user/repeats.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/repeats.itely
-#. @node in ../../../Documentation/de/user/repeats.itely
-#. @unnumberedsubsubsec in ../../../Documentation/de/user/repeats.itely
-msgid "Tremolo repeats"
-msgstr "Repeticiones de trémolo"
+#. @subsubsection in ../../../Documentation/es/user/repeats.itely
+msgid "Percent repeats"
+msgstr "Repeticiones de compás o parte de ellos"
 
 #. @node in ../../../Documentation/user/repeats.itely
 #. @subsubsection in ../../../Documentation/user/repeats.itely
 #. @node in ../../../Documentation/fr/user/repeats.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/repeats.itely
 #. @node in ../../../Documentation/es/user/repeats.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/repeats.itely
+#. @subsubsection in ../../../Documentation/es/user/repeats.itely
 #. @node in ../../../Documentation/de/user/repeats.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/repeats.itely
-msgid "Measure repeats"
-msgstr "Repeticiones de compás"
+msgid "Tremolo repeats"
+msgstr "Repeticiones de trémolo"
 
 #. @node in ../../../Documentation/user/simultaneous.itely
 #. @section in ../../../Documentation/user/simultaneous.itely
@@ -3469,7 +3486,7 @@ msgstr "Repeticiones de compás"
 #. @node in ../../../Documentation/de/user/simultaneous.itely
 #. @section in ../../../Documentation/de/user/simultaneous.itely
 msgid "Simultaneous notes"
-msgstr ""
+msgstr "Notas simultáneas"
 
 #. @node in ../../../Documentation/user/simultaneous.itely
 #. @subsection in ../../../Documentation/user/simultaneous.itely
@@ -3479,22 +3496,24 @@ msgstr ""
 #. @subsection in ../../../Documentation/es/user/simultaneous.itely
 #. @node in ../../../Documentation/de/user/simultaneous.itely
 #. @subsection in ../../../Documentation/de/user/simultaneous.itely
-#, fuzzy
 msgid "Single voice"
-msgstr "Citar otras voces"
+msgstr "Una voz única"
 
 #. @node in ../../../Documentation/user/simultaneous.itely
 #. @subsubsection in ../../../Documentation/user/simultaneous.itely
-#, fuzzy
+#. @node in ../../../Documentation/fr/user/simultaneous.itely
+#. @unnumberedsubsubsec in ../../../Documentation/fr/user/simultaneous.itely
+#. @node in ../../../Documentation/es/user/simultaneous.itely
+#. @subsubsection in ../../../Documentation/es/user/simultaneous.itely
 msgid "Chorded notes"
-msgstr "Nombres de acorde"
+msgstr "Notas en acorde"
 
 #. @node in ../../../Documentation/user/simultaneous.itely
 #. @subsubsection in ../../../Documentation/user/simultaneous.itely
 #. @node in ../../../Documentation/fr/user/simultaneous.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/simultaneous.itely
 #. @node in ../../../Documentation/es/user/simultaneous.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/simultaneous.itely
+#. @subsubsection in ../../../Documentation/es/user/simultaneous.itely
 #. @node in ../../../Documentation/de/user/simultaneous.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/simultaneous.itely
 msgid "Clusters"
@@ -3508,13 +3527,11 @@ msgstr "Racimos (clusters)"
 #. @subsection in ../../../Documentation/es/user/simultaneous.itely
 #. @node in ../../../Documentation/de/user/simultaneous.itely
 #. @subsection in ../../../Documentation/de/user/simultaneous.itely
-#, fuzzy
 msgid "Multiple voices"
-msgstr "Varios pentagramas"
+msgstr "Varias voces"
 
 #. @node in ../../../Documentation/user/simultaneous.itely
 #. @subsubsection in ../../../Documentation/user/simultaneous.itely
-#, fuzzy
 msgid "Collision resolution"
 msgstr "Resolución de las colisiones"
 
@@ -3523,7 +3540,7 @@ msgstr "Resolución de las colisiones"
 #. @node in ../../../Documentation/fr/user/simultaneous.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/simultaneous.itely
 #. @node in ../../../Documentation/es/user/simultaneous.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/simultaneous.itely
+#. @subsubsection in ../../../Documentation/es/user/simultaneous.itely
 #. @node in ../../../Documentation/de/user/simultaneous.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/simultaneous.itely
 msgid "Automatic part combining"
@@ -3531,14 +3548,14 @@ msgstr "Combinación automática de las partes"
 
 #. @rglos in ../../../Documentation/user/simultaneous.itely
 msgid "a due"
-msgstr ""
+msgstr "a due"
 
 #. @node in ../../../Documentation/user/simultaneous.itely
 #. @subsubsection in ../../../Documentation/user/simultaneous.itely
 #. @node in ../../../Documentation/fr/user/simultaneous.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/simultaneous.itely
 #. @node in ../../../Documentation/es/user/simultaneous.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/simultaneous.itely
+#. @subsubsection in ../../../Documentation/es/user/simultaneous.itely
 #. @node in ../../../Documentation/de/user/simultaneous.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/simultaneous.itely
 msgid "Writing music in parallel"
@@ -3563,57 +3580,62 @@ msgstr "Notación de los pentragramas"
 #. @subsection in ../../../Documentation/es/user/staff.itely
 #. @node in ../../../Documentation/de/user/staff.itely
 #. @subsection in ../../../Documentation/de/user/staff.itely
-#, fuzzy
 msgid "Displaying staves"
-msgstr "Mostrar el espaciado"
+msgstr "Impresión de los pentagramas"
 
 #. @node in ../../../Documentation/user/staff.itely
 #. @subsubsection in ../../../Documentation/user/staff.itely
-#. @node in ../../../Documentation/fr/user/staff.itely
-#. @unnumberedsubsubsec in ../../../Documentation/fr/user/staff.itely
-#. @node in ../../../Documentation/es/user/staff.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/staff.itely
-#. @node in ../../../Documentation/de/user/staff.itely
-#. @unnumberedsubsubsec in ../../../Documentation/de/user/staff.itely
-msgid "System start delimiters"
-msgstr "Delimitadores del comienzo de un sistema"
+msgid "Initiating new staves"
+msgstr "Preparar pentagramas nuevos"
 
 #. @rglos in ../../../Documentation/user/staff.itely
 msgid "staff"
-msgstr ""
+msgstr "pantagrama"
 
 #. @rglos in ../../../Documentation/user/staff.itely
-#, fuzzy
 msgid "staves"
-msgstr "Sistemas de piano"
+msgstr "pentagramas"
+
+#. @node in ../../../Documentation/user/staff.itely
+#. @subsubsection in ../../../Documentation/user/staff.itely
+msgid "Grouping staves"
+msgstr "Agrupar pentagramas"
 
 #. @rglos in ../../../Documentation/user/staff.itely
-#, fuzzy
 msgid "bracket"
-msgstr "Preámbulo"
+msgstr "llave o corchete"
+
+#. @node in ../../../Documentation/user/staff.itely
+#. @subsection in ../../../Documentation/user/staff.itely
+msgid "Modifying single staves"
+msgstr "Modificación de pentagramas sueltos"
 
 #. @node in ../../../Documentation/user/staff.itely
 #. @subsubsection in ../../../Documentation/user/staff.itely
 #. @node in ../../../Documentation/fr/user/staff.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/staff.itely
 #. @node in ../../../Documentation/es/user/staff.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/staff.itely
+#. @subsubsection in ../../../Documentation/es/user/staff.itely
 #. @node in ../../../Documentation/de/user/staff.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/staff.itely
 msgid "Staff symbol"
 msgstr "El símbolo del pentagrama"
 
+#. @node in ../../../Documentation/user/staff.itely
+#. @subsubsection in ../../../Documentation/user/staff.itely
+msgid "Ossia staves"
+msgstr "Pentagramas de Ossia"
+
 #. @rglos in ../../../Documentation/user/staff.itely
-#, fuzzy
 msgid "Frenched staff"
-msgstr "Pentagrama único"
+msgstr "Sistemas a la francesa"
 
 #. @node in ../../../Documentation/user/staff.itely
 #. @subsubsection in ../../../Documentation/user/staff.itely
 #. @node in ../../../Documentation/fr/user/staff.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/staff.itely
 #. @node in ../../../Documentation/es/user/staff.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/staff.itely
+#. @subsubsection in ../../../Documentation/es/user/staff.itely
 #. @node in ../../../Documentation/de/user/staff.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/staff.itely
 msgid "Hiding staves"
@@ -3627,47 +3649,42 @@ msgstr "Ocultar pentagramas"
 #. @subsection in ../../../Documentation/es/user/staff.itely
 #. @node in ../../../Documentation/de/user/staff.itely
 #. @subsection in ../../../Documentation/de/user/staff.itely
-#, fuzzy
 msgid "Writing parts"
-msgstr "Preparación de particellas"
+msgstr "Escritura de las particellas"
 
 #. @node in ../../../Documentation/user/staff.itely
 #. @subsubsection in ../../../Documentation/user/staff.itely
 #. @node in ../../../Documentation/fr/user/staff.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/staff.itely
 #. @node in ../../../Documentation/es/user/staff.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/staff.itely
+#. @subsubsection in ../../../Documentation/es/user/staff.itely
 #. @node in ../../../Documentation/de/user/staff.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/staff.itely
 msgid "Metronome marks"
 msgstr "Indicaciones metronómicas"
 
 #. @rglos in ../../../Documentation/user/staff.itely
-#, fuzzy
 msgid "metronome"
-msgstr "Indicaciones metronómicas"
+msgstr "metrónomo"
 
 #. @rglos in ../../../Documentation/user/staff.itely
-#, fuzzy
 msgid "metronomic indication"
-msgstr "Indicación de los números de cuerda"
+msgstr "indicación metronómica"
 
 #. @rglos in ../../../Documentation/user/staff.itely
-#, fuzzy
 msgid "tempo indication"
-msgstr "Notación contemporánea"
+msgstr "indicación del tempo"
 
 #. @rglos in ../../../Documentation/user/staff.itely
-#, fuzzy
 msgid "metronome mark"
-msgstr "Indicaciones metronómicas"
+msgstr "indicación metronómica"
 
 #. @node in ../../../Documentation/user/staff.itely
 #. @subsubsection in ../../../Documentation/user/staff.itely
 #. @node in ../../../Documentation/fr/user/staff.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/staff.itely
 #. @node in ../../../Documentation/es/user/staff.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/staff.itely
+#. @subsubsection in ../../../Documentation/es/user/staff.itely
 #. @node in ../../../Documentation/de/user/staff.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/staff.itely
 msgid "Instrument names"
@@ -3678,7 +3695,7 @@ msgstr "Nombres de instrumentos"
 #. @node in ../../../Documentation/fr/user/staff.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/staff.itely
 #. @node in ../../../Documentation/es/user/staff.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/staff.itely
+#. @subsubsection in ../../../Documentation/es/user/staff.itely
 #. @node in ../../../Documentation/de/user/staff.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/staff.itely
 msgid "Quoting other voices"
@@ -3689,7 +3706,7 @@ msgstr "Citar otras voces"
 #. @node in ../../../Documentation/fr/user/staff.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/staff.itely
 #. @node in ../../../Documentation/es/user/staff.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/staff.itely
+#. @subsubsection in ../../../Documentation/es/user/staff.itely
 #. @node in ../../../Documentation/de/user/staff.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/staff.itely
 msgid "Formatting cue notes"
@@ -3697,29 +3714,34 @@ msgstr "Formateo de las notas de aviso"
 
 #. @node in ../../../Documentation/user/editorial.itely
 #. @section in ../../../Documentation/user/editorial.itely
-#, fuzzy
+#. @node in ../../../Documentation/fr/user/editorial.itely
+#. @section in ../../../Documentation/fr/user/editorial.itely
+#. @node in ../../../Documentation/es/user/editorial.itely
+#. @section in ../../../Documentation/es/user/editorial.itely
+#. @node in ../../../Documentation/de/user/editorial.itely
+#. @section in ../../../Documentation/de/user/editorial.itely
 msgid "Editorial annotations"
-msgstr "Notación proporcional"
+msgstr "Anotaciones editoriales"
 
 #. @node in ../../../Documentation/user/editorial.itely
 #. @subsection in ../../../Documentation/user/editorial.itely
 #. @node in ../../../Documentation/fr/user/editorial.itely
 #. @subsection in ../../../Documentation/fr/user/editorial.itely
-#. @node in ../../../Documentation/es/user/educational.itely
-#. @subsection in ../../../Documentation/es/user/educational.itely
-#. @node in ../../../Documentation/de/user/educational.itely
-#. @subsection in ../../../Documentation/de/user/educational.itely
+#. @node in ../../../Documentation/es/user/editorial.itely
+#. @subsection in ../../../Documentation/es/user/editorial.itely
+#. @node in ../../../Documentation/de/user/editorial.itely
+#. @subsection in ../../../Documentation/de/user/editorial.itely
 msgid "Inside the staff"
-msgstr ""
+msgstr "Dentro del pentagrama"
 
 #. @node in ../../../Documentation/user/editorial.itely
 #. @subsubsection in ../../../Documentation/user/editorial.itely
 #. @node in ../../../Documentation/fr/user/editorial.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/editorial.itely
-#. @node in ../../../Documentation/es/user/educational.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/educational.itely
-#. @node in ../../../Documentation/de/user/educational.itely
-#. @unnumberedsubsubsec in ../../../Documentation/de/user/educational.itely
+#. @node in ../../../Documentation/es/user/editorial.itely
+#. @subsubsection in ../../../Documentation/es/user/editorial.itely
+#. @node in ../../../Documentation/de/user/editorial.itely
+#. @unnumberedsubsubsec in ../../../Documentation/de/user/editorial.itely
 msgid "Selecting notation font size"
 msgstr "Seleccionar el tamaño de la tipografía para la notación"
 
@@ -3727,10 +3749,10 @@ msgstr "Seleccionar el tamaño de la tipografía para la notación"
 #. @subsubsection in ../../../Documentation/user/editorial.itely
 #. @node in ../../../Documentation/fr/user/editorial.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/editorial.itely
-#. @node in ../../../Documentation/es/user/educational.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/educational.itely
-#. @node in ../../../Documentation/de/user/educational.itely
-#. @unnumberedsubsubsec in ../../../Documentation/de/user/educational.itely
+#. @node in ../../../Documentation/es/user/editorial.itely
+#. @subsubsection in ../../../Documentation/es/user/editorial.itely
+#. @node in ../../../Documentation/de/user/editorial.itely
+#. @unnumberedsubsubsec in ../../../Documentation/de/user/editorial.itely
 msgid "Fingering instructions"
 msgstr "Indicaciones de digitación"
 
@@ -3738,10 +3760,10 @@ msgstr "Indicaciones de digitación"
 #. @subsubsection in ../../../Documentation/user/editorial.itely
 #. @node in ../../../Documentation/fr/user/editorial.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/editorial.itely
-#. @node in ../../../Documentation/es/user/educational.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/educational.itely
-#. @node in ../../../Documentation/de/user/educational.itely
-#. @unnumberedsubsubsec in ../../../Documentation/de/user/educational.itely
+#. @node in ../../../Documentation/es/user/editorial.itely
+#. @subsubsection in ../../../Documentation/es/user/editorial.itely
+#. @node in ../../../Documentation/de/user/editorial.itely
+#. @unnumberedsubsubsec in ../../../Documentation/de/user/editorial.itely
 msgid "Hidden notes"
 msgstr "Notas ocultas"
 
@@ -3749,10 +3771,10 @@ msgstr "Notas ocultas"
 #. @subsubsection in ../../../Documentation/user/editorial.itely
 #. @node in ../../../Documentation/fr/user/editorial.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/editorial.itely
-#. @node in ../../../Documentation/es/user/educational.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/educational.itely
-#. @node in ../../../Documentation/de/user/educational.itely
-#. @unnumberedsubsubsec in ../../../Documentation/de/user/educational.itely
+#. @node in ../../../Documentation/es/user/editorial.itely
+#. @subsubsection in ../../../Documentation/es/user/editorial.itely
+#. @node in ../../../Documentation/de/user/editorial.itely
+#. @unnumberedsubsubsec in ../../../Documentation/de/user/editorial.itely
 msgid "Coloring objects"
 msgstr "Colorear objetos"
 
@@ -3760,10 +3782,10 @@ msgstr "Colorear objetos"
 #. @subsubsection in ../../../Documentation/user/editorial.itely
 #. @node in ../../../Documentation/fr/user/editorial.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/editorial.itely
-#. @node in ../../../Documentation/es/user/educational.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/educational.itely
-#. @node in ../../../Documentation/de/user/educational.itely
-#. @unnumberedsubsubsec in ../../../Documentation/de/user/educational.itely
+#. @node in ../../../Documentation/es/user/editorial.itely
+#. @subsubsection in ../../../Documentation/es/user/editorial.itely
+#. @node in ../../../Documentation/de/user/editorial.itely
+#. @unnumberedsubsubsec in ../../../Documentation/de/user/editorial.itely
 msgid "Parentheses"
 msgstr "Paréntesis"
 
@@ -3771,10 +3793,10 @@ msgstr "Paréntesis"
 #. @subsubsection in ../../../Documentation/user/editorial.itely
 #. @node in ../../../Documentation/fr/user/editorial.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/editorial.itely
-#. @node in ../../../Documentation/es/user/educational.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/educational.itely
-#. @node in ../../../Documentation/de/user/educational.itely
-#. @unnumberedsubsubsec in ../../../Documentation/de/user/educational.itely
+#. @node in ../../../Documentation/es/user/editorial.itely
+#. @subsubsection in ../../../Documentation/es/user/editorial.itely
+#. @node in ../../../Documentation/de/user/editorial.itely
+#. @unnumberedsubsubsec in ../../../Documentation/de/user/editorial.itely
 msgid "Stems"
 msgstr "Plicas"
 
@@ -3782,33 +3804,32 @@ msgstr "Plicas"
 #. @subsection in ../../../Documentation/user/editorial.itely
 #. @node in ../../../Documentation/fr/user/editorial.itely
 #. @subsection in ../../../Documentation/fr/user/editorial.itely
-#. @node in ../../../Documentation/es/user/educational.itely
-#. @subsection in ../../../Documentation/es/user/educational.itely
-#. @node in ../../../Documentation/de/user/educational.itely
-#. @subsection in ../../../Documentation/de/user/educational.itely
-#, fuzzy
+#. @node in ../../../Documentation/es/user/editorial.itely
+#. @subsection in ../../../Documentation/es/user/editorial.itely
+#. @node in ../../../Documentation/de/user/editorial.itely
+#. @subsection in ../../../Documentation/de/user/editorial.itely
 msgid "Outside the staff"
-msgstr "Establecer el tamaño del pentagrama"
+msgstr "Fuera del pentagrama"
 
 #. @node in ../../../Documentation/user/editorial.itely
 #. @subsubsection in ../../../Documentation/user/editorial.itely
 #. @node in ../../../Documentation/fr/user/editorial.itely
-#. @subsection in ../../../Documentation/fr/user/editorial.itely
-#. @node in ../../../Documentation/es/user/educational.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/educational.itely
-#. @node in ../../../Documentation/de/user/educational.itely
-#. @subsection in ../../../Documentation/de/user/educational.itely
+#. @subsubsection in ../../../Documentation/fr/user/editorial.itely
+#. @node in ../../../Documentation/es/user/editorial.itely
+#. @subsubsection in ../../../Documentation/es/user/editorial.itely
+#. @node in ../../../Documentation/de/user/editorial.itely
+#. @subsection in ../../../Documentation/de/user/editorial.itely
 msgid "Balloon help"
 msgstr "Globos de ayuda"
 
 #. @node in ../../../Documentation/user/editorial.itely
 #. @subsubsection in ../../../Documentation/user/editorial.itely
 #. @node in ../../../Documentation/fr/user/editorial.itely
-#. @subsection in ../../../Documentation/fr/user/editorial.itely
-#. @node in ../../../Documentation/es/user/educational.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/educational.itely
-#. @node in ../../../Documentation/de/user/educational.itely
-#. @subsection in ../../../Documentation/de/user/educational.itely
+#. @subsubsection in ../../../Documentation/fr/user/editorial.itely
+#. @node in ../../../Documentation/es/user/editorial.itely
+#. @subsubsection in ../../../Documentation/es/user/editorial.itely
+#. @node in ../../../Documentation/de/user/editorial.itely
+#. @subsection in ../../../Documentation/de/user/editorial.itely
 msgid "Grid lines"
 msgstr "Líneas de rejilla"
 
@@ -3816,8 +3837,8 @@ msgstr "Líneas de rejilla"
 #. @subsubsection in ../../../Documentation/user/editorial.itely
 #. @node in ../../../Documentation/fr/user/expressive.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/expressive.itely
-#. @node in ../../../Documentation/es/user/expressive.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/expressive.itely
+#. @node in ../../../Documentation/es/user/editorial.itely
+#. @subsubsection in ../../../Documentation/es/user/editorial.itely
 #. @node in ../../../Documentation/de/user/expressive.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/expressive.itely
 msgid "Analysis brackets"
@@ -3842,24 +3863,22 @@ msgstr "Texto"
 #. @subsection in ../../../Documentation/es/user/text.itely
 #. @node in ../../../Documentation/de/user/text.itely
 #. @subsection in ../../../Documentation/de/user/text.itely
-#, fuzzy
 msgid "Writing text"
-msgstr "Crear contextos"
+msgstr "Escritura del texto"
 
 #. @node in ../../../Documentation/user/text.itely
 #. @subsubsection in ../../../Documentation/user/text.itely
 #. @node in ../../../Documentation/de/user/text.itely
 #. @subsubsection in ../../../Documentation/de/user/text.itely
-#, fuzzy
 msgid "Overview of text entry"
-msgstr "Panorámica de los comandos de marcado de texto"
+msgstr "Panorámica de la escritura de textos"
 
 #. @node in ../../../Documentation/user/text.itely
 #. @subsubsection in ../../../Documentation/user/text.itely
 #. @node in ../../../Documentation/fr/user/text.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/text.itely
 #. @node in ../../../Documentation/es/user/text.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/text.itely
+#. @subsubsection in ../../../Documentation/es/user/text.itely
 #. @node in ../../../Documentation/de/user/text.itely
 #. @subsubsection in ../../../Documentation/de/user/text.itely
 msgid "Text scripts"
@@ -3871,7 +3890,7 @@ msgstr "Guiones de texto"
 #. @node in ../../../Documentation/fr/user/text.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/text.itely
 #. @node in ../../../Documentation/es/user/text.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/text.itely
+#. @subsubsection in ../../../Documentation/es/user/text.itely
 #. @node in ../../../Documentation/de/user/text.itely
 #. @subsubsection in ../../../Documentation/de/user/text.itely
 msgid "Text spanners"
@@ -3882,7 +3901,7 @@ msgstr "Extensiones de texto"
 #. @node in ../../../Documentation/fr/user/text.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/text.itely
 #. @node in ../../../Documentation/es/user/text.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/text.itely
+#. @subsubsection in ../../../Documentation/es/user/text.itely
 #. @node in ../../../Documentation/de/user/text.itely
 #. @subsubsection in ../../../Documentation/de/user/text.itely
 msgid "Text marks"
@@ -3904,19 +3923,18 @@ msgstr "Marcado del texto"
 #. @node in ../../../Documentation/fr/user/text.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/text.itely
 #. @node in ../../../Documentation/es/user/text.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/text.itely
+#. @subsubsection in ../../../Documentation/es/user/text.itely
 #. @node in ../../../Documentation/de/user/text.itely
 #. @subsubsection in ../../../Documentation/de/user/text.itely
-#, fuzzy
 msgid "Text markup introduction"
-msgstr "Estructura del archivo (introducción)"
+msgstr "Introducción al marcado de texto"
 
 #. @node in ../../../Documentation/user/text.itely
 #. @subsubsection in ../../../Documentation/user/text.itely
 #. @node in ../../../Documentation/fr/user/text.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/text.itely
 #. @node in ../../../Documentation/es/user/text.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/text.itely
+#. @subsubsection in ../../../Documentation/es/user/text.itely
 #. @node in ../../../Documentation/de/user/text.itely
 #. @subsubsection in ../../../Documentation/de/user/text.itely
 msgid "Nested scores"
@@ -3927,7 +3945,7 @@ msgstr "Partituras anidadas"
 #. @node in ../../../Documentation/fr/user/text.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/text.itely
 #. @node in ../../../Documentation/es/user/text.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/text.itely
+#. @subsubsection in ../../../Documentation/es/user/text.itely
 #. @node in ../../../Documentation/de/user/text.itely
 #. @subsubsection in ../../../Documentation/de/user/text.itely
 msgid "Page wrapping text"
@@ -3938,7 +3956,7 @@ msgstr "Textos que saltan de página"
 #. @node in ../../../Documentation/fr/user/text.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/text.itely
 #. @node in ../../../Documentation/es/user/text.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/text.itely
+#. @subsubsection in ../../../Documentation/es/user/text.itely
 #. @node in ../../../Documentation/de/user/text.itely
 #. @subsubsection in ../../../Documentation/de/user/text.itely
 msgid "Font selection"
@@ -3948,16 +3966,15 @@ msgstr "Selección de la tipografía"
 #. @subsection in ../../../Documentation/user/text.itely
 #. @node in ../../../Documentation/de/user/text.itely
 #. @subsection in ../../../Documentation/de/user/text.itely
-#, fuzzy
 msgid "Special text concerns"
-msgstr "Cabezas de nota especiales"
+msgstr "Asuntos de texto especiales"
 
 #. @node in ../../../Documentation/user/text.itely
 #. @subsubsection in ../../../Documentation/user/text.itely
 #. @node in ../../../Documentation/fr/user/text.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/text.itely
 #. @node in ../../../Documentation/es/user/text.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/text.itely
+#. @subsubsection in ../../../Documentation/es/user/text.itely
 #. @node in ../../../Documentation/de/user/text.itely
 #. @subsubsection in ../../../Documentation/de/user/text.itely
 msgid "New dynamic marks"
@@ -3969,7 +3986,7 @@ msgstr "Indicaciones dinámicas contemporáneas"
 #. @node in ../../../Documentation/fr/user/text.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/text.itely
 #. @node in ../../../Documentation/es/user/text.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/text.itely
+#. @subsubsection in ../../../Documentation/es/user/text.itely
 #. @node in ../../../Documentation/de/user/text.itely
 #. @subsubsection in ../../../Documentation/de/user/text.itely
 msgid "Text and line spanners"
@@ -3983,9 +4000,8 @@ msgstr "Extensiones de texto y de línea"
 #. @chapter in ../../../Documentation/es/user/specialist.itely
 #. @node in ../../../Documentation/de/user/specialist.itely
 #. @chapter in ../../../Documentation/de/user/specialist.itely
-#, fuzzy
 msgid "Specialist notation"
-msgstr "Notación sencilla"
+msgstr "Notación especializada"
 
 #. @node in ../../../Documentation/user/vocal.itely
 #. @section in ../../../Documentation/user/vocal.itely
@@ -4000,18 +4016,19 @@ msgstr "Música vocal"
 
 #. @node in ../../../Documentation/user/vocal.itely
 #. @subsection in ../../../Documentation/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
-#, fuzzy
 msgid "Simple lyrics"
-msgstr "Espaciar las sílabas de la letra"
+msgstr "Letras sencillas"
 
 #. @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
 #. @node in ../../../Documentation/es/user/vocal.itely
-#. @unnumberedsubsubsec 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 "Entering lyrics"
@@ -4022,7 +4039,7 @@ msgstr "Introducir la letra"
 #. @node in ../../../Documentation/fr/user/vocal.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/vocal.itely
 #. @node in ../../../Documentation/es/user/vocal.itely
-#. @unnumberedsubsubsec 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 "Automatic syllable durations"
@@ -4033,7 +4050,7 @@ msgstr "Duración automática de las sílabas"
 #. @node in ../../../Documentation/fr/user/vocal.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/vocal.itely
 #. @node in ../../../Documentation/es/user/vocal.itely
-#. @unnumberedsubsubsec 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"
@@ -4044,7 +4061,7 @@ 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
-#. @unnumberedsubsubsec 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"
@@ -4055,7 +4072,7 @@ 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
-#. @unnumberedsubsubsec 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"
@@ -4066,7 +4083,7 @@ msgstr "Varias notas sobre una sola sílaba"
 #. @node in ../../../Documentation/fr/user/vocal.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/vocal.itely
 #. @node in ../../../Documentation/es/user/vocal.itely
-#. @unnumberedsubsubsec 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 "Extenders and hyphens"
@@ -4074,26 +4091,28 @@ msgstr "Líneas de extensión y guiones"
 
 #. @node in ../../../Documentation/user/vocal.itely
 #. @subsection in ../../../Documentation/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
-#, fuzzy
 msgid "Vocals and variables"
-msgstr "Conjuntos vocales"
+msgstr "Variables y partes vocales"
 
 #. @node in ../../../Documentation/user/vocal.itely
 #. @subsubsection in ../../../Documentation/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
-#, fuzzy
 msgid "Working with lyrics and variables"
-msgstr "Trabajar con el texto y los identificadores"
+msgstr "Trabajar con el texto y las variables"
 
 #. @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
 #. @node in ../../../Documentation/es/user/vocal.itely
-#. @unnumberedsubsubsec 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"
@@ -4104,7 +4123,7 @@ msgstr "Flexibilidad en la colocación"
 #. @node in ../../../Documentation/fr/user/vocal.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/vocal.itely
 #. @node in ../../../Documentation/es/user/vocal.itely
-#. @unnumberedsubsubsec 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"
@@ -4115,7 +4134,7 @@ msgstr "Una sílaba de la letra sobre varias notas de un melisma"
 #. @node in ../../../Documentation/fr/user/vocal.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/vocal.itely
 #. @node in ../../../Documentation/es/user/vocal.itely
-#. @unnumberedsubsubsec 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 "Divisi lyrics"
@@ -4126,7 +4145,7 @@ msgstr "Letras en divisi"
 #. @node in ../../../Documentation/fr/user/vocal.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/vocal.itely
 #. @node in ../../../Documentation/es/user/vocal.itely
-#. @unnumberedsubsubsec 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"
@@ -4137,7 +4156,7 @@ msgstr "Cambiar la melodía dependiendo de la letra"
 #. @node in ../../../Documentation/fr/user/vocal.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/vocal.itely
 #. @node in ../../../Documentation/es/user/vocal.itely
-#. @unnumberedsubsubsec 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 independent of notes"
@@ -4145,18 +4164,19 @@ msgstr "Letra independiente de las notas"
 
 #. @node in ../../../Documentation/user/vocal.itely
 #. @subsection in ../../../Documentation/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
-#, fuzzy
 msgid "Spacing vocals"
-msgstr "Espaciar las sílabas de la letra"
+msgstr "Espaciado 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
 #. @node in ../../../Documentation/es/user/vocal.itely
-#. @unnumberedsubsubsec 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"
@@ -4167,7 +4187,7 @@ msgstr "Espaciar las sílabas de la letra"
 #. @node in ../../../Documentation/fr/user/vocal.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/vocal.itely
 #. @node in ../../../Documentation/es/user/vocal.itely
-#. @unnumberedsubsubsec 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"
@@ -4176,7 +4196,8 @@ msgstr "Más acerca de los versos"
 #. @node in ../../../Documentation/user/vocal.itely
 #. @subsubsection in ../../../Documentation/user/vocal.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/vocal.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/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 stanza numbers"
@@ -4185,7 +4206,8 @@ msgstr "Añadir números de verso"
 #. @node in ../../../Documentation/user/vocal.itely
 #. @subsubsection in ../../../Documentation/user/vocal.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/vocal.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/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"
@@ -4194,7 +4216,8 @@ msgstr "Añadir expresiones dinámicas"
 #. @node in ../../../Documentation/user/vocal.itely
 #. @subsubsection in ../../../Documentation/user/vocal.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/vocal.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/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"
@@ -4203,7 +4226,8 @@ msgstr "Añadir el nombre de los cantantes"
 #. @node in ../../../Documentation/user/vocal.itely
 #. @subsubsection in ../../../Documentation/user/vocal.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/vocal.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/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 "Printing stanzas at the end"
@@ -4212,7 +4236,8 @@ msgstr "Imprimir los versos al final"
 #. @node in ../../../Documentation/user/vocal.itely
 #. @subsubsection in ../../../Documentation/user/vocal.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/vocal.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/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 "Printing stanzas at the end in multiple columns"
@@ -4220,12 +4245,8 @@ msgstr "Imprimir los versos al final en varias columnas"
 
 #. @node in ../../../Documentation/user/chords.itely
 #. @section in ../../../Documentation/user/chords.itely
-#. @node in ../../../Documentation/fr/user/simultaneous.itely
-#. @unnumberedsubsubsec in ../../../Documentation/fr/user/simultaneous.itely
 #. @node in ../../../Documentation/fr/user/chords.itely
 #. @section in ../../../Documentation/fr/user/chords.itely
-#. @node in ../../../Documentation/es/user/simultaneous.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/simultaneous.itely
 #. @node in ../../../Documentation/de/user/simultaneous.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/simultaneous.itely
 msgid "Chords"
@@ -4235,16 +4256,13 @@ msgstr "Acordes"
 #. @subsection in ../../../Documentation/user/chords.itely
 #. @node in ../../../Documentation/fr/user/chords.itely
 #. @subsection in ../../../Documentation/fr/user/chords.itely
-#, fuzzy
 msgid "Chords sections"
-msgstr "Selección de la tipografía"
+msgstr "Secciones de acordes"
 
 #. @node in ../../../Documentation/user/chords.itely
 #. @subsubsection in ../../../Documentation/user/chords.itely
 #. @node in ../../../Documentation/fr/user/tutorial.itely
 #. @subsection in ../../../Documentation/fr/user/tutorial.itely
-#. @node in ../../../Documentation/es/user/tutorial.itely
-#. @subsection in ../../../Documentation/es/user/tutorial.itely
 msgid "A lead sheet"
 msgstr "Hojas guía de acordes"
 
@@ -4253,7 +4271,7 @@ msgstr "Hojas guía de acordes"
 #. @node in ../../../Documentation/fr/user/chords.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/chords.itely
 #. @node in ../../../Documentation/es/user/chords.itely
-#. @unnumberedsubsubsec 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 "Introducing chord names"
@@ -4264,7 +4282,7 @@ msgstr "Escritura de los nombres de acorde"
 #. @node in ../../../Documentation/fr/user/chords.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/chords.itely
 #. @node in ../../../Documentation/es/user/chords.itely
-#. @unnumberedsubsubsec 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"
@@ -4275,7 +4293,7 @@ msgstr "Modo de acordes"
 #. @node in ../../../Documentation/fr/user/chords.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/chords.itely
 #. @node in ../../../Documentation/es/user/chords.itely
-#. @unnumberedsubsubsec 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 "Printing chord names"
@@ -4296,16 +4314,17 @@ msgstr "Música de piano"
 #. @subsection in ../../../Documentation/user/piano.itely
 #. @node in ../../../Documentation/fr/user/piano.itely
 #. @subsection in ../../../Documentation/fr/user/piano.itely
-#, fuzzy
+#. @node in ../../../Documentation/es/user/piano.itely
+#. @subsection in ../../../Documentation/es/user/piano.itely
 msgid "Piano sections"
-msgstr "Sistemas de piano"
+msgstr "Secciones de piano"
 
 #. @node in ../../../Documentation/user/piano.itely
 #. @subsubsection in ../../../Documentation/user/piano.itely
 #. @node in ../../../Documentation/fr/user/piano.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/piano.itely
 #. @node in ../../../Documentation/es/user/piano.itely
-#. @unnumberedsubsubsec 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"
@@ -4316,7 +4335,7 @@ 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
-#. @unnumberedsubsubsec 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"
@@ -4327,7 +4346,7 @@ 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
-#. @unnumberedsubsubsec 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"
@@ -4338,7 +4357,7 @@ msgstr "Pedales"
 #. @node in ../../../Documentation/fr/user/piano.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/piano.itely
 #. @node in ../../../Documentation/es/user/piano.itely
-#. @unnumberedsubsubsec 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"
@@ -4349,7 +4368,7 @@ 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
-#. @unnumberedsubsubsec 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"
@@ -4363,24 +4382,22 @@ msgstr "Plicas de pentagrama cruzado"
 #. @section in ../../../Documentation/es/user/percussion.itely
 #. @node in ../../../Documentation/de/user/percussion.itely
 #. @section in ../../../Documentation/de/user/percussion.itely
-#, fuzzy
 msgid "Percussion"
-msgstr "Pautas de percusión"
+msgstr "Percusión"
 
 #. @node in ../../../Documentation/user/percussion.itely
 #. @subsection in ../../../Documentation/user/percussion.itely
 #. @node in ../../../Documentation/fr/user/percussion.itely
 #. @subsection in ../../../Documentation/fr/user/percussion.itely
-#, fuzzy
 msgid "Percussion sections"
-msgstr "Pautas de percusión"
+msgstr "Secciones de percusión"
 
 #. @node in ../../../Documentation/user/percussion.itely
 #. @subsubsection in ../../../Documentation/user/percussion.itely
 #. @node in ../../../Documentation/fr/user/percussion.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/percussion.itely
 #. @node in ../../../Documentation/es/user/percussion.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/percussion.itely
+#. @subsubsection in ../../../Documentation/es/user/percussion.itely
 #. @node in ../../../Documentation/de/user/percussion.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/percussion.itely
 msgid "Showing melody rhythms"
@@ -4391,7 +4408,7 @@ msgstr "Mostrar los ritmos de la melodía"
 #. @node in ../../../Documentation/fr/user/percussion.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/percussion.itely
 #. @node in ../../../Documentation/es/user/percussion.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/percussion.itely
+#. @subsubsection in ../../../Documentation/es/user/percussion.itely
 #. @node in ../../../Documentation/de/user/percussion.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/percussion.itely
 msgid "Entering percussion"
@@ -4402,7 +4419,7 @@ msgstr "Introducir la percusión"
 #. @node in ../../../Documentation/fr/user/percussion.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/percussion.itely
 #. @node in ../../../Documentation/es/user/percussion.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/percussion.itely
+#. @subsubsection in ../../../Documentation/es/user/percussion.itely
 #. @node in ../../../Documentation/de/user/percussion.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/percussion.itely
 msgid "Percussion staves"
@@ -4413,7 +4430,7 @@ msgstr "Pautas de percusión"
 #. @node in ../../../Documentation/fr/user/percussion.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/percussion.itely
 #. @node in ../../../Documentation/es/user/percussion.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/percussion.itely
+#. @subsubsection in ../../../Documentation/es/user/percussion.itely
 #. @node in ../../../Documentation/de/user/percussion.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/percussion.itely
 msgid "Ghost notes"
@@ -4434,16 +4451,15 @@ msgstr "Guitarra"
 #. @subsection in ../../../Documentation/user/guitar.itely
 #. @node in ../../../Documentation/fr/user/guitar.itely
 #. @subsection in ../../../Documentation/fr/user/guitar.itely
-#, fuzzy
 msgid "Guitar sections"
-msgstr "Selección de la tipografía"
+msgstr "Secciones de guitarra"
 
 #. @node in ../../../Documentation/user/guitar.itely
 #. @subsubsection in ../../../Documentation/user/guitar.itely
 #. @node in ../../../Documentation/fr/user/guitar.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/guitar.itely
 #. @node in ../../../Documentation/es/user/guitar.itely
-#. @unnumberedsubsubsec 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 "String number indications"
@@ -4454,7 +4470,7 @@ msgstr "Indicación de los números de cuerda"
 #. @node in ../../../Documentation/fr/user/guitar.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/guitar.itely
 #. @node in ../../../Documentation/es/user/guitar.itely
-#. @unnumberedsubsubsec 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"
@@ -4466,7 +4482,7 @@ msgstr "Fundamentos de las tablaturas"
 #. @node in ../../../Documentation/fr/user/guitar.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/guitar.itely
 #. @node in ../../../Documentation/es/user/guitar.itely
-#. @unnumberedsubsubsec 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"
@@ -4477,7 +4493,7 @@ msgstr "Tablaturas para otros instrumentos"
 #. @node in ../../../Documentation/fr/user/guitar.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/guitar.itely
 #. @node in ../../../Documentation/es/user/guitar.itely
-#. @unnumberedsubsubsec 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 "Banjo tablatures"
@@ -4488,7 +4504,7 @@ msgstr "Tablaturas de banjo"
 #. @node in ../../../Documentation/fr/user/guitar.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/guitar.itely
 #. @node in ../../../Documentation/es/user/guitar.itely
-#. @unnumberedsubsubsec 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 "Fret diagrams"
@@ -4499,7 +4515,7 @@ msgstr "Diagramas de trastes"
 #. @node in ../../../Documentation/fr/user/guitar.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/guitar.itely
 #. @node in ../../../Documentation/es/user/guitar.itely
-#. @unnumberedsubsubsec 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 "Right hand fingerings"
@@ -4511,7 +4527,7 @@ msgstr "Digitaciones de la mano derecha"
 #. @node in ../../../Documentation/fr/user/guitar.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/guitar.itely
 #. @node in ../../../Documentation/es/user/guitar.itely
-#. @unnumberedsubsubsec 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"
@@ -4525,26 +4541,22 @@ msgstr "Otros temas relacionados con la música de guitarra"
 #. @section in ../../../Documentation/es/user/strings.itely
 #. @node in ../../../Documentation/de/user/strings.itely
 #. @section in ../../../Documentation/de/user/strings.itely
-#, fuzzy
 msgid "Orchestral strings"
-msgstr "Música orquestal"
+msgstr "Cuerdas orquestales"
 
 #. @node in ../../../Documentation/user/strings.itely
 #. @subsection in ../../../Documentation/user/strings.itely
 #. @node in ../../../Documentation/fr/user/strings.itely
 #. @subsection in ../../../Documentation/fr/user/strings.itely
-#, fuzzy
 msgid "Orchestral strings sections"
-msgstr "Música orquestal"
+msgstr "Secciones orquestales de cuerda"
 
 #. @node in ../../../Documentation/user/strings.itely
 #. @subsubsection in ../../../Documentation/user/strings.itely
 #. @node in ../../../Documentation/fr/user/strings.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/strings.itely
-#. @node in ../../../Documentation/fr/user/strings.itely
-#. @unnumberedsubsubsec in ../../../Documentation/fr/user/strings.itely
 #. @node in ../../../Documentation/es/user/strings.itely
-#. @unnumberedsubsubsec 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
 msgid "Artificial harmonics (strings)"
@@ -4558,22 +4570,20 @@ msgstr "Armónicos artificiales de los instrumentos de cuerda"
 #. @section in ../../../Documentation/es/user/bagpipes.itely
 #. @node in ../../../Documentation/de/user/bagpipes.itely
 #. @section in ../../../Documentation/de/user/bagpipes.itely
-#, fuzzy
 msgid "Bagpipes"
 msgstr "Gaita"
 
 #. @node in ../../../Documentation/user/bagpipes.itely
 #. @subsection in ../../../Documentation/user/bagpipes.itely
-#, fuzzy
 msgid "Bagpipe sections"
-msgstr "Definiciones para la gaita"
+msgstr "Secciones de gaita"
 
 #. @node in ../../../Documentation/user/bagpipes.itely
 #. @subsubsection in ../../../Documentation/user/bagpipes.itely
 #. @node in ../../../Documentation/fr/user/bagpipes.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/bagpipes.itely
 #. @node in ../../../Documentation/es/user/bagpipes.itely
-#. @unnumberedsubsubsec 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
 msgid "Bagpipe definitions"
@@ -4584,7 +4594,7 @@ msgstr "Definiciones para la gaita"
 #. @node in ../../../Documentation/fr/user/bagpipes.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/bagpipes.itely
 #. @node in ../../../Documentation/es/user/bagpipes.itely
-#. @unnumberedsubsubsec 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
 msgid "Bagpipe example"
@@ -4603,16 +4613,15 @@ msgstr "Notación antigua"
 
 #. @node in ../../../Documentation/user/ancient.itely
 #. @subsection in ../../../Documentation/user/ancient.itely
-#, fuzzy
 msgid "Alternative note signs for ancient music"
-msgstr "Otros métodos para mezclar texto y música"
+msgstr "Símbolos de nota alternativos para música antigua"
 
 #. @node in ../../../Documentation/user/ancient.itely
 #. @subsubsection in ../../../Documentation/user/ancient.itely
 #. @node in ../../../Documentation/fr/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/ancient.itely
 #. @node in ../../../Documentation/es/user/ancient.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/ancient.itely
+#. @subsubsection in ../../../Documentation/es/user/ancient.itely
 #. @node in ../../../Documentation/de/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/ancient.itely
 msgid "Ancient note heads"
@@ -4623,7 +4632,7 @@ msgstr "Cabezas de nota antiguas"
 #. @node in ../../../Documentation/fr/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/ancient.itely
 #. @node in ../../../Documentation/es/user/ancient.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/ancient.itely
+#. @subsubsection in ../../../Documentation/es/user/ancient.itely
 #. @node in ../../../Documentation/de/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/ancient.itely
 msgid "Ancient accidentals"
@@ -4634,7 +4643,7 @@ msgstr "Alteraciones accidentales antiguos"
 #. @node in ../../../Documentation/fr/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/ancient.itely
 #. @node in ../../../Documentation/es/user/ancient.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/ancient.itely
+#. @subsubsection in ../../../Documentation/es/user/ancient.itely
 #. @node in ../../../Documentation/de/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/ancient.itely
 msgid "Ancient rests"
@@ -4645,7 +4654,7 @@ msgstr "Silencios antiguos"
 #. @node in ../../../Documentation/fr/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/ancient.itely
 #. @node in ../../../Documentation/es/user/ancient.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/ancient.itely
+#. @subsubsection in ../../../Documentation/es/user/ancient.itely
 #. @node in ../../../Documentation/de/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/ancient.itely
 msgid "Ancient clefs"
@@ -4656,7 +4665,7 @@ msgstr "Claves antiguas"
 #. @node in ../../../Documentation/fr/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/ancient.itely
 #. @node in ../../../Documentation/es/user/ancient.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/ancient.itely
+#. @subsubsection in ../../../Documentation/es/user/ancient.itely
 #. @node in ../../../Documentation/de/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/ancient.itely
 msgid "Ancient flags"
@@ -4667,7 +4676,7 @@ msgstr "Corchetes antiguos"
 #. @node in ../../../Documentation/fr/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/ancient.itely
 #. @node in ../../../Documentation/es/user/ancient.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/ancient.itely
+#. @subsubsection in ../../../Documentation/es/user/ancient.itely
 #. @node in ../../../Documentation/de/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/ancient.itely
 msgid "Ancient time signatures"
@@ -4676,14 +4685,14 @@ msgstr "Indicaciones antiguas de compás"
 #. @node in ../../../Documentation/user/ancient.itely
 #. @subsection in ../../../Documentation/user/ancient.itely
 msgid "Additional note signs for ancient music"
-msgstr ""
+msgstr "Símbolos de nota adicionales para música antigua"
 
 #. @node in ../../../Documentation/user/ancient.itely
 #. @subsubsection in ../../../Documentation/user/ancient.itely
 #. @node in ../../../Documentation/fr/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/ancient.itely
 #. @node in ../../../Documentation/es/user/ancient.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/ancient.itely
+#. @subsubsection in ../../../Documentation/es/user/ancient.itely
 #. @node in ../../../Documentation/de/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/ancient.itely
 msgid "Ancient articulations"
@@ -4694,7 +4703,7 @@ msgstr "Articulaciones antiguas"
 #. @node in ../../../Documentation/fr/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/ancient.itely
 #. @node in ../../../Documentation/es/user/ancient.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/ancient.itely
+#. @subsubsection in ../../../Documentation/es/user/ancient.itely
 #. @node in ../../../Documentation/de/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/ancient.itely
 msgid "Custodes"
@@ -4706,7 +4715,7 @@ msgstr "Custos"
 #. @node in ../../../Documentation/fr/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/ancient.itely
 #. @node in ../../../Documentation/es/user/ancient.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/ancient.itely
+#. @subsubsection in ../../../Documentation/es/user/ancient.itely
 #. @node in ../../../Documentation/de/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/ancient.itely
 msgid "Divisiones"
@@ -4718,7 +4727,7 @@ msgstr "Divisiones"
 #. @node in ../../../Documentation/fr/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/ancient.itely
 #. @node in ../../../Documentation/es/user/ancient.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/ancient.itely
+#. @subsubsection in ../../../Documentation/es/user/ancient.itely
 #. @node in ../../../Documentation/de/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/ancient.itely
 msgid "Ligatures"
@@ -4729,7 +4738,7 @@ msgstr "Ligaduras"
 #. @node in ../../../Documentation/fr/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/ancient.itely
 #. @node in ../../../Documentation/es/user/ancient.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/ancient.itely
+#. @subsubsection in ../../../Documentation/es/user/ancient.itely
 #. @node in ../../../Documentation/de/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/ancient.itely
 msgid "White mensural ligatures"
@@ -4740,7 +4749,7 @@ msgstr "Ligaduras mensurales blancas"
 #. @node in ../../../Documentation/fr/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/ancient.itely
 #. @node in ../../../Documentation/es/user/ancient.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/ancient.itely
+#. @subsubsection in ../../../Documentation/es/user/ancient.itely
 #. @node in ../../../Documentation/de/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/ancient.itely
 msgid "Gregorian square neumes ligatures"
@@ -4748,16 +4757,15 @@ msgstr "Ligaduras de neumas cuadrados gregorianos"
 
 #. @node in ../../../Documentation/user/ancient.itely
 #. @subsection in ../../../Documentation/user/ancient.itely
-#, fuzzy
 msgid "Pre-defined contexts"
-msgstr "Comandos predefinidos"
+msgstr "Contextos predefinidos"
 
 #. @node in ../../../Documentation/user/ancient.itely
 #. @subsubsection in ../../../Documentation/user/ancient.itely
 #. @node in ../../../Documentation/fr/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/ancient.itely
 #. @node in ../../../Documentation/es/user/ancient.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/ancient.itely
+#. @subsubsection in ../../../Documentation/es/user/ancient.itely
 #. @node in ../../../Documentation/de/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/ancient.itely
 msgid "Gregorian Chant contexts"
@@ -4768,7 +4776,7 @@ msgstr "Contextos del Canto Gregoriano"
 #. @node in ../../../Documentation/fr/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/ancient.itely
 #. @node in ../../../Documentation/es/user/ancient.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/ancient.itely
+#. @subsubsection in ../../../Documentation/es/user/ancient.itely
 #. @node in ../../../Documentation/de/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/ancient.itely
 msgid "Mensural contexts"
@@ -4779,7 +4787,7 @@ msgstr "Contextos de la música mensural"
 #. @node in ../../../Documentation/fr/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/ancient.itely
 #. @node in ../../../Documentation/es/user/ancient.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/ancient.itely
+#. @subsubsection in ../../../Documentation/es/user/ancient.itely
 #. @node in ../../../Documentation/de/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/ancient.itely
 msgid "Musica ficta accidentals"
@@ -4790,30 +4798,29 @@ msgstr "Alteraciones de la Musica Ficta"
 #. @node in ../../../Documentation/fr/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/ancient.itely
 #. @node in ../../../Documentation/es/user/ancient.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/ancient.itely
+#. @subsubsection in ../../../Documentation/es/user/ancient.itely
 #. @node in ../../../Documentation/de/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/ancient.itely
 msgid "Figured bass"
-msgstr "Bajo figurado"
+msgstr "Bajo cifrado"
 
 #. @node in ../../../Documentation/user/input.itely
 #. @chapter in ../../../Documentation/user/input.itely
 #. @node in ../../../Documentation/fr/user/input.itely
 #. @chapter in ../../../Documentation/fr/user/input.itely
+#. @node in ../../../Documentation/es/user/input.itely
+#. @chapter in ../../../Documentation/es/user/input.itely
 #. @node in ../../../Documentation/de/user/input.itely
 #. @chapter in ../../../Documentation/de/user/input.itely
-#, fuzzy
 msgid "Input syntax"
-msgstr "Sintaxis de las repeticiones"
+msgstr "Sintaxis de escritura"
 
 #. @node in ../../../Documentation/user/input.itely
 #. @section in ../../../Documentation/user/input.itely
 #. @node in ../../../Documentation/fr/user/input.itely
 #. @section in ../../../Documentation/fr/user/input.itely
-#. @node in ../../../Documentation/fr/user/non-music.itely
-#. @section in ../../../Documentation/fr/user/non-music.itely
-#. @node in ../../../Documentation/es/user/non-music.itely
-#. @section in ../../../Documentation/es/user/non-music.itely
+#. @node in ../../../Documentation/es/user/input.itely
+#. @section in ../../../Documentation/es/user/input.itely
 #. @node in ../../../Documentation/de/user/input.itely
 #. @section in ../../../Documentation/de/user/input.itely
 msgid "Input files"
@@ -4823,10 +4830,8 @@ msgstr "Archivos de entrada"
 #. @subsection in ../../../Documentation/user/input.itely
 #. @node in ../../../Documentation/fr/user/input.itely
 #. @subsection in ../../../Documentation/fr/user/input.itely
-#. @node in ../../../Documentation/fr/user/non-music.itely
-#. @subsection in ../../../Documentation/fr/user/non-music.itely
-#. @node in ../../../Documentation/es/user/non-music.itely
-#. @subsection in ../../../Documentation/es/user/non-music.itely
+#. @node in ../../../Documentation/es/user/input.itely
+#. @subsection in ../../../Documentation/es/user/input.itely
 #. @node in ../../../Documentation/de/user/input.itely
 #. @subsection in ../../../Documentation/de/user/input.itely
 msgid "File structure"
@@ -4836,10 +4841,8 @@ msgstr "Estructura del archivo"
 #. @subsection in ../../../Documentation/user/input.itely
 #. @node in ../../../Documentation/fr/user/input.itely
 #. @subsection in ../../../Documentation/fr/user/input.itely
-#. @node in ../../../Documentation/fr/user/non-music.itely
-#. @subsection in ../../../Documentation/fr/user/non-music.itely
-#. @node in ../../../Documentation/es/user/non-music.itely
-#. @subsection in ../../../Documentation/es/user/non-music.itely
+#. @node in ../../../Documentation/es/user/input.itely
+#. @subsection in ../../../Documentation/es/user/input.itely
 #. @node in ../../../Documentation/de/user/input.itely
 #. @subsection in ../../../Documentation/de/user/input.itely
 msgid "A single music expression"
@@ -4849,10 +4852,8 @@ msgstr "Una expresión musical única"
 #. @subsection in ../../../Documentation/user/input.itely
 #. @node in ../../../Documentation/fr/user/input.itely
 #. @subsection in ../../../Documentation/fr/user/input.itely
-#. @node in ../../../Documentation/fr/user/non-music.itely
-#. @subsection in ../../../Documentation/fr/user/non-music.itely
-#. @node in ../../../Documentation/es/user/non-music.itely
-#. @subsection in ../../../Documentation/es/user/non-music.itely
+#. @node in ../../../Documentation/es/user/input.itely
+#. @subsection in ../../../Documentation/es/user/input.itely
 #. @node in ../../../Documentation/de/user/input.itely
 #. @subsection in ../../../Documentation/de/user/input.itely
 msgid "Multiple scores in a book"
@@ -4862,10 +4863,8 @@ msgstr "Varias partituras en un libro"
 #. @subsection in ../../../Documentation/user/input.itely
 #. @node in ../../../Documentation/fr/user/input.itely
 #. @subsection in ../../../Documentation/fr/user/input.itely
-#. @node in ../../../Documentation/fr/user/non-music.itely
-#. @subsection in ../../../Documentation/fr/user/non-music.itely
-#. @node in ../../../Documentation/es/user/non-music.itely
-#. @subsection in ../../../Documentation/es/user/non-music.itely
+#. @node in ../../../Documentation/es/user/input.itely
+#. @subsection in ../../../Documentation/es/user/input.itely
 #. @node in ../../../Documentation/de/user/input.itely
 #. @subsection in ../../../Documentation/de/user/input.itely
 msgid "Extracting fragments of notation"
@@ -4875,10 +4874,8 @@ msgstr "Extraer fragmentos de notación"
 #. @subsection in ../../../Documentation/user/input.itely
 #. @node in ../../../Documentation/fr/user/input.itely
 #. @subsection in ../../../Documentation/fr/user/input.itely
-#. @node in ../../../Documentation/fr/user/non-music.itely
-#. @subsection in ../../../Documentation/fr/user/non-music.itely
-#. @node in ../../../Documentation/es/user/non-music.itely
-#. @subsection in ../../../Documentation/es/user/non-music.itely
+#. @node in ../../../Documentation/es/user/input.itely
+#. @subsection in ../../../Documentation/es/user/input.itely
 #. @node in ../../../Documentation/de/user/input.itely
 #. @subsection in ../../../Documentation/de/user/input.itely
 msgid "Including LilyPond files"
@@ -4888,10 +4885,8 @@ msgstr "Inclusión de archivos de LilyPond"
 #. @subsection in ../../../Documentation/user/input.itely
 #. @node in ../../../Documentation/fr/user/input.itely
 #. @subsection in ../../../Documentation/fr/user/input.itely
-#. @node in ../../../Documentation/fr/user/non-music.itely
-#. @subsection in ../../../Documentation/fr/user/non-music.itely
-#. @node in ../../../Documentation/es/user/non-music.itely
-#. @subsection in ../../../Documentation/es/user/non-music.itely
+#. @node in ../../../Documentation/es/user/input.itely
+#. @subsection in ../../../Documentation/es/user/input.itely
 #. @node in ../../../Documentation/de/user/input.itely
 #. @subsection in ../../../Documentation/de/user/input.itely
 msgid "Text encoding"
@@ -4901,10 +4896,8 @@ msgstr "Codificación del texto"
 #. @subsection in ../../../Documentation/user/input.itely
 #. @node in ../../../Documentation/fr/user/input.itely
 #. @subsection in ../../../Documentation/fr/user/input.itely
-#. @node in ../../../Documentation/fr/user/non-music.itely
-#. @subsection in ../../../Documentation/fr/user/non-music.itely
-#. @node in ../../../Documentation/es/user/non-music.itely
-#. @subsection in ../../../Documentation/es/user/non-music.itely
+#. @node in ../../../Documentation/es/user/input.itely
+#. @subsection in ../../../Documentation/es/user/input.itely
 #. @node in ../../../Documentation/de/user/input.itely
 #. @subsection in ../../../Documentation/de/user/input.itely
 msgid "Different editions from one source"
@@ -4914,47 +4907,55 @@ msgstr "Distintas ediciones a partir de una misma fuente"
 #. @section in ../../../Documentation/user/input.itely
 #. @node in ../../../Documentation/fr/user/input.itely
 #. @section in ../../../Documentation/fr/user/input.itely
+#. @node in ../../../Documentation/es/user/input.itely
+#. @section in ../../../Documentation/es/user/input.itely
 #. @node in ../../../Documentation/de/user/input.itely
 #. @section in ../../../Documentation/de/user/input.itely
 msgid "Common syntax issues TODO name?"
-msgstr ""
+msgstr "Consideraciones usuales de la sintaxis"
 
 #. @node in ../../../Documentation/user/input.itely
 #. @subsection in ../../../Documentation/user/input.itely
-#. @node in ../../../Documentation/fr/user/input.itely
-#. @subsection in ../../../Documentation/fr/user/input.itely
-#. @node in ../../../Documentation/de/user/input.itely
-#. @subsection in ../../../Documentation/de/user/input.itely
-#, fuzzy
-msgid "Controlling direction"
-msgstr "Resolución de las colisiones"
+#. @node in ../../../Documentation/es/user/input.itely
+#. @subsection in ../../../Documentation/es/user/input.itely
+msgid "Controlling direction and placement"
+msgstr "Control de la dirección y la posición"
 
 #. @node in ../../../Documentation/user/input.itely
 #. @subsection in ../../../Documentation/user/input.itely
 #. @node in ../../../Documentation/fr/user/input.itely
 #. @subsection in ../../../Documentation/fr/user/input.itely
+#. @node in ../../../Documentation/es/user/input.itely
+#. @subsection in ../../../Documentation/es/user/input.itely
 #. @node in ../../../Documentation/de/user/input.itely
 #. @subsection in ../../../Documentation/de/user/input.itely
 msgid "Distances and measurements MAYBE MOVE"
-msgstr ""
+msgstr "Distancias y medidas"
+
+#. @node in ../../../Documentation/user/input.itely
+#. @subsection in ../../../Documentation/user/input.itely
+#. @node in ../../../Documentation/es/user/input.itely
+#. @subsection in ../../../Documentation/es/user/input.itely
+msgid "When to add a -"
+msgstr "Cuándo añadir un guión"
 
 #. @node in ../../../Documentation/user/input.itely
 #. @section in ../../../Documentation/user/input.itely
 #. @node in ../../../Documentation/fr/user/input.itely
 #. @section in ../../../Documentation/fr/user/input.itely
+#. @node in ../../../Documentation/es/user/input.itely
+#. @section in ../../../Documentation/es/user/input.itely
 #. @node in ../../../Documentation/de/user/input.itely
 #. @section in ../../../Documentation/de/user/input.itely
 msgid "Other stuffs TODO move?"
-msgstr ""
+msgstr "Otras consideraciones"
 
 #. @node in ../../../Documentation/user/input.itely
 #. @subsection in ../../../Documentation/user/input.itely
 #. @node in ../../../Documentation/fr/user/input.itely
 #. @subsection in ../../../Documentation/fr/user/input.itely
-#. @node in ../../../Documentation/fr/user/non-music.itely
-#. @section in ../../../Documentation/fr/user/non-music.itely
-#. @node in ../../../Documentation/es/user/non-music.itely
-#. @section in ../../../Documentation/es/user/non-music.itely
+#. @node in ../../../Documentation/es/user/input.itely
+#. @subsection in ../../../Documentation/es/user/input.itely
 #. @node in ../../../Documentation/de/user/input.itely
 #. @subsection in ../../../Documentation/de/user/input.itely
 msgid "Displaying LilyPond notation"
@@ -4964,10 +4965,8 @@ msgstr "Presentar la notación de LilyPond"
 #. @subsection in ../../../Documentation/user/input.itely
 #. @node in ../../../Documentation/fr/user/input.itely
 #. @subsection in ../../../Documentation/fr/user/input.itely
-#. @node in ../../../Documentation/fr/user/non-music.itely
-#. @section in ../../../Documentation/fr/user/non-music.itely
-#. @node in ../../../Documentation/es/user/non-music.itely
-#. @section in ../../../Documentation/es/user/non-music.itely
+#. @node in ../../../Documentation/es/user/input.itely
+#. @subsection in ../../../Documentation/es/user/input.itely
 #. @node in ../../../Documentation/de/user/input.itely
 #. @subsection in ../../../Documentation/de/user/input.itely
 msgid "Skipping corrected music"
@@ -4977,28 +4976,34 @@ msgstr "Saltar la música corregida"
 #. @subsection in ../../../Documentation/user/input.itely
 #. @node in ../../../Documentation/fr/user/input.itely
 #. @subsection in ../../../Documentation/fr/user/input.itely
+#. @node in ../../../Documentation/es/user/input.itely
+#. @subsection in ../../../Documentation/es/user/input.itely
 #. @node in ../../../Documentation/de/user/input.itely
 #. @subsection in ../../../Documentation/de/user/input.itely
 msgid "context list FIXME"
-msgstr ""
+msgstr "lista de contextos"
 
 #. @node in ../../../Documentation/user/input.itely
 #. @subsection in ../../../Documentation/user/input.itely
 #. @node in ../../../Documentation/fr/user/input.itely
 #. @subsection in ../../../Documentation/fr/user/input.itely
+#. @node in ../../../Documentation/es/user/input.itely
+#. @subsection in ../../../Documentation/es/user/input.itely
 #. @node in ../../../Documentation/de/user/input.itely
 #. @subsection in ../../../Documentation/de/user/input.itely
 msgid "another thing FIXME"
-msgstr ""
+msgstr "otra cosa"
 
 #. @node in ../../../Documentation/user/input.itely
 #. @subsection in ../../../Documentation/user/input.itely
 #. @node in ../../../Documentation/fr/user/input.itely
 #. @subsection in ../../../Documentation/fr/user/input.itely
+#. @node in ../../../Documentation/es/user/input.itely
+#. @subsection in ../../../Documentation/es/user/input.itely
 #. @node in ../../../Documentation/de/user/input.itely
 #. @subsection in ../../../Documentation/de/user/input.itely
 msgid "Input modes FIXME"
-msgstr ""
+msgstr "Modos de entrada"
 
 #. @node in ../../../Documentation/user/non-music.itely
 #. @chapter in ../../../Documentation/user/non-music.itely
@@ -5113,17 +5118,21 @@ msgstr "Nombres de los instrumentos MIDI"
 
 #. @node in ../../../Documentation/user/non-music.itely
 #. @subsection in ../../../Documentation/user/non-music.itely
+#. @node in ../../../Documentation/fr/user/non-music.itely
+#. @subsection in ../../../Documentation/fr/user/non-music.itely
+#. @node in ../../../Documentation/es/user/non-music.itely
+#. @subsection in ../../../Documentation/es/user/non-music.itely
 #. @node in ../../../Documentation/de/user/non-music.itely
 #. @subsection in ../../../Documentation/de/user/non-music.itely
 msgid "What goes into the MIDI?  FIXME"
-msgstr ""
+msgstr "¿Qué hay dentro del MIDI?"
 
 #. @node in ../../../Documentation/user/non-music.itely
 #. @subsubsection in ../../../Documentation/user/non-music.itely
-#. @node in ../../../Documentation/fr/user/repeats.itely
-#. @unnumberedsubsubsec in ../../../Documentation/fr/user/repeats.itely
-#. @node in ../../../Documentation/es/user/repeats.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/repeats.itely
+#. @node in ../../../Documentation/fr/user/non-music.itely
+#. @unnumberedsubsubsec in ../../../Documentation/fr/user/non-music.itely
+#. @node in ../../../Documentation/es/user/non-music.itely
+#. @subsubsection in ../../../Documentation/es/user/non-music.itely
 #. @node in ../../../Documentation/de/user/repeats.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/repeats.itely
 #. @node in ../../../Documentation/de/user/non-music.itely
@@ -5133,10 +5142,14 @@ msgstr "Las repeticiones y el MIDI"
 
 #. @node in ../../../Documentation/user/non-music.itely
 #. @section in ../../../Documentation/user/non-music.itely
+#. @node in ../../../Documentation/fr/user/non-music.itely
+#. @section in ../../../Documentation/fr/user/non-music.itely
+#. @node in ../../../Documentation/es/user/non-music.itely
+#. @section in ../../../Documentation/es/user/non-music.itely
 #. @node in ../../../Documentation/de/user/non-music.itely
 #. @section in ../../../Documentation/de/user/non-music.itely
 msgid "other midi"
-msgstr ""
+msgstr "otros asuntos relacionados con el MIDI"
 
 #. @node in ../../../Documentation/user/spacing.itely
 #. @chapter in ../../../Documentation/user/spacing.itely
@@ -5458,7 +5471,7 @@ msgstr "Notación proporcional"
 #. @node in ../../../Documentation/de/user/spacing.itely
 #. @section in ../../../Documentation/de/user/spacing.itely
 msgid "Page layout MOVED FROM LM"
-msgstr ""
+msgstr "Disposición de la página"
 
 #  ?? FVD
 #. @node in ../../../Documentation/user/spacing.itely
@@ -5469,9 +5482,8 @@ msgstr ""
 #. @subsection in ../../../Documentation/es/user/spacing.itely
 #. @node in ../../../Documentation/de/user/spacing.itely
 #. @subsection in ../../../Documentation/de/user/spacing.itely
-#, fuzzy
 msgid "Introduction to layout"
-msgstr "Construir un truco"
+msgstr "Introducción a la disposición"
 
 #. @node in ../../../Documentation/user/spacing.itely
 #. @subsection in ../../../Documentation/user/spacing.itely
@@ -5482,7 +5494,7 @@ msgstr "Construir un truco"
 #. @node in ../../../Documentation/de/user/spacing.itely
 #. @subsection in ../../../Documentation/de/user/spacing.itely
 msgid "Global sizes"
-msgstr ""
+msgstr "Tamaños globales"
 
 #. @node in ../../../Documentation/user/spacing.itely
 #. @subsection in ../../../Documentation/user/spacing.itely
@@ -5492,7 +5504,6 @@ msgstr ""
 #. @subsection in ../../../Documentation/es/user/spacing.itely
 #. @node in ../../../Documentation/de/user/spacing.itely
 #. @subsection in ../../../Documentation/de/user/spacing.itely
-#, fuzzy
 msgid "Line breaks"
 msgstr "Saltos de línea"
 
@@ -5504,7 +5515,6 @@ msgstr "Saltos de línea"
 #. @subsection in ../../../Documentation/es/user/spacing.itely
 #. @node in ../../../Documentation/de/user/spacing.itely
 #. @subsection in ../../../Documentation/de/user/spacing.itely
-#, fuzzy
 msgid "Page breaks"
 msgstr "Saltos de página"
 
@@ -5735,6 +5745,21 @@ msgstr "@code{\\set} frente a @code{\\override}"
 msgid "Difficult tweaks"
 msgstr "Trucos difíciles"
 
+#. @node in ../../../Documentation/user/changing-defaults.itely
+#. @section in ../../../Documentation/user/changing-defaults.itely
+msgid "Discussion of specific tweaks"
+msgstr "Discusión sobre trucos específicos"
+
+#. @node in ../../../Documentation/user/changing-defaults.itely
+#. @subsection in ../../../Documentation/user/changing-defaults.itely
+msgid "Line styles"
+msgstr "Estilos de línea"
+
+#. @node in ../../../Documentation/user/changing-defaults.itely
+#. @subsection in ../../../Documentation/user/changing-defaults.itely
+msgid "Controlling visibility of objects"
+msgstr "Control de la visibilidad de los objetos"
+
 #. @node in ../../../Documentation/user/programming-interface.itely
 #. @chapter in ../../../Documentation/user/programming-interface.itely
 #. @node in ../../../Documentation/fr/user/programming-interface.itely
@@ -6096,7 +6121,7 @@ msgstr "Nombres de los colores de X"
 #. @subsubheading in ../../../Documentation/es/user/notation-appendices.itely
 #. @subsubheading in ../../../Documentation/de/user/notation-appendices.itely
 msgid "Color Names without a numerical suffix:"
-msgstr "Nombres de los colores sin sufijo numérico"
+msgstr "Nombres de los colores sin sufijo numérico:"
 
 #. @subsubheading in ../../../Documentation/user/notation-appendices.itely
 #. @subsubheading in ../../../Documentation/fr/user/notation-appendices.itely
@@ -6158,33 +6183,36 @@ msgstr "Panorámica de los comandos de listas de marcado de texto"
 #. @appendixsec in ../../../Documentation/fr/user/notation-appendices.itely
 #. @node in ../../../Documentation/es/user/notation-appendices.itely
 #. @appendixsec in ../../../Documentation/es/user/notation-appendices.itely
-#, fuzzy
 msgid "List of articulations"
-msgstr "Articulaciones antiguas"
+msgstr "Lista de articulaciones"
 
 #. @node in ../../../Documentation/user/notation-appendices.itely
 #. @appendixsec in ../../../Documentation/user/notation-appendices.itely
-#, fuzzy
+#. @node in ../../../Documentation/fr/user/notation-appendices.itely
+#. @appendixsec in ../../../Documentation/fr/user/notation-appendices.itely
 msgid "All context properties"
-msgstr "Modificar los complementos (plug-ins) de contexto"
+msgstr "Todas las propiedades de contexto"
 
 #. @node in ../../../Documentation/user/notation-appendices.itely
 #. @appendixsec in ../../../Documentation/user/notation-appendices.itely
-#, fuzzy
+#. @node in ../../../Documentation/fr/user/notation-appendices.itely
+#. @appendixsec in ../../../Documentation/fr/user/notation-appendices.itely
 msgid "Layout properties"
-msgstr "Propiedades de la música"
+msgstr "Propiedades de disposición"
 
 #. @node in ../../../Documentation/user/notation-appendices.itely
 #. @appendixsec in ../../../Documentation/user/notation-appendices.itely
-#, fuzzy
+#. @node in ../../../Documentation/fr/user/notation-appendices.itely
+#. @appendixsec in ../../../Documentation/fr/user/notation-appendices.itely
 msgid "Identifiers"
-msgstr "Archivos de entrada"
+msgstr "Identificadores"
 
 #. @node in ../../../Documentation/user/notation-appendices.itely
 #. @appendixsec in ../../../Documentation/user/notation-appendices.itely
-#, fuzzy
+#. @node in ../../../Documentation/fr/user/notation-appendices.itely
+#. @appendixsec in ../../../Documentation/fr/user/notation-appendices.itely
 msgid "Scheme functions"
-msgstr "Funciones musicales"
+msgstr "Funciones de Scheme"
 
 # Hoja para copiar en un examen. Chuleta?? FVD
 #. @node in ../../../Documentation/user/cheatsheet.itely
@@ -6199,86 +6227,64 @@ msgid "Cheat sheet"
 msgstr "Hoja de referencia rápida"
 
 #. @top in ../../../Documentation/fr/user/lilypond-learning.tely
-#, fuzzy
 msgid "GNU LilyPond --- manuel d'initiation"
-msgstr "GNU LilyPond --- manual de utilización del programa"
+msgstr "GNU LilyPond --- manual de aprendizaje"
 
 #. @subsubheading in ../../../Documentation/fr/user/macros.itexi
-#. @subsubheading in ../../../Documentation/es/user/macros.itexi
 #. @subsubheading in ../../../Documentation/de/user/macros.itexi
 msgid "Commonly tweaked properties"
 msgstr "Propiedades trucadas frecuentemente"
 
-#. @subsubheading in ../../../Documentation/fr/user/macros.itexi
-#. @subsubheading in ../../../Documentation/es/user/macros.itexi
-#. @subsubheading in ../../../Documentation/de/user/macros.itexi
-msgid "Bugs"
-msgstr "Fallos"
-
 #. @subheading in ../../../Documentation/fr/user/introduction.itely
 msgid "Manuel de l'utilisateur"
-msgstr ""
+msgstr "Manual del usuario"
 
 #. @subsubheading in ../../../Documentation/fr/user/introduction.itely
 msgid "Manuel d'apprentissage"
-msgstr ""
+msgstr "Manual de aprendizaje"
 
 #. @subsubheading in ../../../Documentation/fr/user/introduction.itely
 msgid "Manuel de référence"
-msgstr ""
+msgstr "Manual de referencia"
 
 #. @subsubheading in ../../../Documentation/fr/user/introduction.itely
 msgid "Annexes"
-msgstr ""
+msgstr "Apéndices"
 
 #. @subheading in ../../../Documentation/fr/user/introduction.itely
 msgid "Utilisation du programme"
-msgstr ""
+msgstr "Utilización del programa"
 
 #. @subsubheading in ../../../Documentation/fr/user/introduction.itely
-#, fuzzy
 msgid "Autre documentation"
-msgstr "Construir la documentación"
+msgstr "Otros documentos"
 
 #. @rglos in ../../../Documentation/fr/user/tutorial.itely
-#. @rglos in ../../../Documentation/es/user/tutorial.itely
 msgid "fourth"
 msgstr "cuarta"
 
 #. @node in ../../../Documentation/fr/user/tutorial.itely
 #. @subsection in ../../../Documentation/fr/user/tutorial.itely
-#. @node in ../../../Documentation/es/user/tutorial.itely
-#. @subsection in ../../../Documentation/es/user/tutorial.itely
 msgid "How to read the tutorial"
 msgstr "Cómo leer el tutorial"
 
 #. @node in ../../../Documentation/fr/user/tutorial.itely
 #. @subsection in ../../../Documentation/fr/user/tutorial.itely
-#. @node in ../../../Documentation/es/user/tutorial.itely
-#. @subsection in ../../../Documentation/es/user/tutorial.itely
 msgid "Relative note names"
 msgstr "Nombres de nota relativos"
 
 #. @node in ../../../Documentation/fr/user/tutorial.itely
 #. @subsection in ../../../Documentation/fr/user/tutorial.itely
-#. @node in ../../../Documentation/es/user/tutorial.itely
-#. @subsection in ../../../Documentation/es/user/tutorial.itely
 msgid "Piano staves"
 msgstr "Sistemas de piano"
 
 #. @node in ../../../Documentation/fr/user/tutorial.itely
 #. @subsection in ../../../Documentation/fr/user/tutorial.itely
-#. @node in ../../../Documentation/es/user/tutorial.itely
-#. @subsection in ../../../Documentation/es/user/tutorial.itely
-#, fuzzy
 msgid "Printing lyrics"
-msgstr "Introducir la letra"
+msgstr "Impresión de la letra"
 
 #. @node in ../../../Documentation/fr/user/tutorial.itely
 #. @subsection in ../../../Documentation/fr/user/tutorial.itely
-#. @node in ../../../Documentation/es/user/tutorial.itely
-#. @subsection in ../../../Documentation/es/user/tutorial.itely
-#, fuzzy
 msgid "Organizing pieces with identifiers"
 msgstr "Organizar las piezas mediante identificadores"
 
@@ -6302,28 +6308,21 @@ msgstr "Archivos por omisión"
 
 #. @node in ../../../Documentation/fr/user/working.itely
 #. @section in ../../../Documentation/fr/user/working.itely
-#. @node in ../../../Documentation/es/user/working.itely
-#. @section in ../../../Documentation/es/user/working.itely
 #. @node in ../../../Documentation/de/user/working.itely
 #. @section in ../../../Documentation/de/user/working.itely
-#, fuzzy
 msgid "Saving typing with identifiers and functions"
 msgstr "Ahorrar tecleo mediante identificadores y funciones"
 
 #. @top in ../../../Documentation/fr/user/lilypond-program.tely
-#, fuzzy
-msgid "GNU LilyPond --- utilisation du programme"
-msgstr "GNU LilyPond --- manual de utilización del programa"
+msgid "GNU LilyPond --- utilisation des programmes"
+msgstr "GNU LilyPond --- utilisation des programmes"
 
 #. @top in ../../../Documentation/fr/user/lilypond.tely
-#, fuzzy
 msgid "GNU LilyPond --- le système de gravure musicale"
-msgstr "GNU LilyPond --- manual de utilización del programa"
+msgstr "GNU LilyPond --- el tipografiador de música"
 
 #. @node in ../../../Documentation/fr/user/pitches.itely
 #. @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 "Normal pitches"
@@ -6331,8 +6330,6 @@ msgstr "Alturas normales"
 
 #. @node in ../../../Documentation/fr/user/pitches.itely
 #. @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 "Cautionary accidentals"
@@ -6340,8 +6337,6 @@ msgstr "Alteraciones de precaución"
 
 #. @node in ../../../Documentation/fr/user/pitches.itely
 #. @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 "Micro tones"
@@ -6349,18 +6344,13 @@ msgstr "Microtonos"
 
 #. @node in ../../../Documentation/fr/user/pitches.itely
 #. @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
-#, fuzzy
 msgid "Relative octaves"
 msgstr "Octavas relativas"
 
 #. @node in ../../../Documentation/fr/user/pitches.itely
 #. @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 "Octave check"
@@ -6368,8 +6358,6 @@ msgstr "Comprobación de la octava"
 
 #. @node in ../../../Documentation/fr/user/rhythms.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/rhythms.itely
-#. @node in ../../../Documentation/es/user/rhythms.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/rhythms.itely
 #. @node in ../../../Documentation/de/user/rhythms.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/rhythms.itely
 msgid "Augmentation dots"
@@ -6377,8 +6365,6 @@ msgstr "Puntillos"
 
 #. @node in ../../../Documentation/fr/user/rhythms.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/rhythms.itely
-#. @node in ../../../Documentation/es/user/rhythms.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/rhythms.itely
 #. @node in ../../../Documentation/de/user/rhythms.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/rhythms.itely
 msgid "Multi measure rests"
@@ -6387,7 +6373,7 @@ msgstr "Silencios multicompás"
 #. @node in ../../../Documentation/fr/user/rhythms.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/rhythms.itely
 #. @node in ../../../Documentation/es/user/rhythms.itely
-#. @unnumberedsubsubsec 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 "Bar check"
@@ -6396,17 +6382,16 @@ msgstr "Comprobación del compás"
 #. @node in ../../../Documentation/fr/user/rhythms.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/rhythms.itely
 #. @node in ../../../Documentation/es/user/rhythms.itely
-#. @unnumberedsubsubsec 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
-#, fuzzy
 msgid "Barnumber check"
-msgstr "Comprobación del número de compás "
+msgstr "Comprobación del número de compás"
 
 #. @node in ../../../Documentation/fr/user/rhythms.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/rhythms.itely
 #. @node in ../../../Documentation/es/user/rhythms.itely
-#. @unnumberedsubsubsec 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 "Proportional notation (introduction)"
@@ -6414,17 +6399,20 @@ msgstr "Notación proporcional (introducción)"
 
 #. @node in ../../../Documentation/fr/user/expressive.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/expressive.itely
-#. @node in ../../../Documentation/es/user/expressive.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/expressive.itely
 #. @node in ../../../Documentation/de/user/expressive.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/expressive.itely
 msgid "Laissez vibrer ties"
 msgstr "Ligaduras Laissez vibrer"
 
+#. @node in ../../../Documentation/fr/user/repeats.itely
+#. @subsection in ../../../Documentation/fr/user/repeats.itely
+#. @node in ../../../Documentation/de/user/repeats.itely
+#. @subsection in ../../../Documentation/de/user/repeats.itely
+msgid "Writing repeats"
+msgstr "Escritura de las repeticiones"
+
 #. @node in ../../../Documentation/fr/user/repeats.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/repeats.itely
-#. @node in ../../../Documentation/es/user/repeats.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/repeats.itely
 #. @node in ../../../Documentation/de/user/repeats.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/repeats.itely
 msgid "Repeat types"
@@ -6432,17 +6420,43 @@ msgstr "Tipos de repetición"
 
 #. @node in ../../../Documentation/fr/user/repeats.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/repeats.itely
-#. @node in ../../../Documentation/es/user/repeats.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/repeats.itely
+#. @node in ../../../Documentation/de/user/repeats.itely
+#. @unnumberedsubsubsec in ../../../Documentation/de/user/repeats.itely
+msgid "Repeat syntax"
+msgstr "Sintaxis de las repeticiones"
+
+#. @node in ../../../Documentation/fr/user/repeats.itely
+#. @unnumberedsubsubsec in ../../../Documentation/fr/user/repeats.itely
+#. @node in ../../../Documentation/de/user/repeats.itely
+#. @unnumberedsubsubsec in ../../../Documentation/de/user/repeats.itely
+msgid "Manual repeat commands"
+msgstr "Comandos de repetición manual"
+
+#. @node in ../../../Documentation/fr/user/repeats.itely
+#. @subsection in ../../../Documentation/fr/user/repeats.itely
+#. @node in ../../../Documentation/de/user/repeats.itely
+#. @subsection in ../../../Documentation/de/user/repeats.itely
+msgid "Other repeats"
+msgstr "Otras repeticiones"
+
+#. @node in ../../../Documentation/fr/user/repeats.itely
+#. @unnumberedsubsubsec in ../../../Documentation/fr/user/repeats.itely
 #. @node in ../../../Documentation/de/user/repeats.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/repeats.itely
 msgid "Tremolo subdivisions"
 msgstr "Subdivisiones del trémolo"
 
+#. @node in ../../../Documentation/fr/user/repeats.itely
+#. @unnumberedsubsubsec in ../../../Documentation/fr/user/repeats.itely
+#. @node in ../../../Documentation/de/user/repeats.itely
+#. @unnumberedsubsubsec in ../../../Documentation/de/user/repeats.itely
+msgid "Measure repeats"
+msgstr "Repeticiones de compás"
+
 #. @node in ../../../Documentation/fr/user/simultaneous.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/simultaneous.itely
 #. @node in ../../../Documentation/es/user/simultaneous.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/simultaneous.itely
+#. @subsubsection in ../../../Documentation/es/user/simultaneous.itely
 #. @node in ../../../Documentation/de/user/simultaneous.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/simultaneous.itely
 msgid "Basic polyphony"
@@ -6451,71 +6465,41 @@ msgstr "Polifonía básica"
 #. @node in ../../../Documentation/fr/user/simultaneous.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/simultaneous.itely
 #. @node in ../../../Documentation/es/user/simultaneous.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/simultaneous.itely
+#. @subsubsection in ../../../Documentation/es/user/simultaneous.itely
 #. @node in ../../../Documentation/de/user/simultaneous.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/simultaneous.itely
-#, fuzzy
 msgid "Collision Resolution"
-msgstr "Resolución de las colisiones"
+msgstr "Resolución de colisiones"
 
-#. @node in ../../../Documentation/fr/user/editorial.itely
-#. @section in ../../../Documentation/fr/user/editorial.itely
-#. @node in ../../../Documentation/es/user/educational.itely
-#. @section in ../../../Documentation/es/user/educational.itely
-#. @node in ../../../Documentation/de/user/educational.itely
-#. @section in ../../../Documentation/de/user/educational.itely
-msgid "Educational use"
-msgstr "Utilización educativa"
-
-# Fuzzy.FVD
-#. @node in ../../../Documentation/fr/user/editorial.itely
-#. @unnumberedsubsubsec in ../../../Documentation/fr/user/editorial.itely
-#. @node in ../../../Documentation/es/user/educational.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/educational.itely
-#. @node in ../../../Documentation/de/user/educational.itely
-#. @unnumberedsubsubsec in ../../../Documentation/de/user/educational.itely
-#, fuzzy
-msgid "Easy Notation note heads"
-msgstr "Cabezas de notas de Notación Fácil"
-
-#. @node in ../../../Documentation/fr/user/editorial.itely
-#. @unnumberedsubsubsec in ../../../Documentation/fr/user/editorial.itely
-#. @node in ../../../Documentation/es/user/educational.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/educational.itely
-#. @node in ../../../Documentation/de/user/educational.itely
-#. @unnumberedsubsubsec in ../../../Documentation/de/user/educational.itely
-msgid "Special noteheads"
-msgstr "Cabezas de nota especiales"
+#. @node in ../../../Documentation/fr/user/staff.itely
+#. @unnumberedsubsubsec in ../../../Documentation/fr/user/staff.itely
+#. @node in ../../../Documentation/es/user/staff.itely
+#. @subsubsection in ../../../Documentation/es/user/staff.itely
+#. @node in ../../../Documentation/de/user/staff.itely
+#. @unnumberedsubsubsec in ../../../Documentation/de/user/staff.itely
+msgid "System start delimiters"
+msgstr "Delimitadores del comienzo de un sistema"
 
 #. @node in ../../../Documentation/fr/user/editorial.itely
-#. @subsection in ../../../Documentation/fr/user/editorial.itely
-#. @node in ../../../Documentation/es/user/educational.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/educational.itely
-#. @node in ../../../Documentation/de/user/educational.itely
-#. @subsection in ../../../Documentation/de/user/educational.itely
+#. @subsubsection in ../../../Documentation/fr/user/editorial.itely
+#. @node in ../../../Documentation/de/user/editorial.itely
+#. @subsection in ../../../Documentation/de/user/editorial.itely
 msgid "Blank music sheet"
 msgstr "Papel de música en blanco"
 
 #. @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 "TODO subsection vocal music"
-msgstr ""
+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
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/vocal.itely
-#, fuzzy
 msgid "Working with lyrics and identifiers"
 msgstr "Trabajar con el texto y los identificadores"
 
 # long! FVD
 #. @node in ../../../Documentation/fr/user/vocal.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/vocal.itely
-#. @node in ../../../Documentation/es/user/vocal.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/vocal.itely
 msgid "Other vocal issues"
 msgstr "Otros temas relacionados con la música vocal"
 
@@ -6525,7 +6509,6 @@ msgstr "Otros temas relacionados con la música vocal"
 #. @subsection in ../../../Documentation/es/user/bagpipes.itely
 #. @node in ../../../Documentation/de/user/bagpipes.itely
 #. @subsection in ../../../Documentation/de/user/bagpipes.itely
-#, fuzzy
 msgid "Bagpipe"
 msgstr "Gaita"
 
@@ -6535,66 +6518,81 @@ msgstr "Gaita"
 #. @subsection in ../../../Documentation/es/user/ancient.itely
 #. @node in ../../../Documentation/de/user/ancient.itely
 #. @subsection in ../../../Documentation/de/user/ancient.itely
-#, fuzzy
 msgid "Ancient TODO"
-msgstr "Silencios antiguos"
+msgstr "Antiguos"
+
+#. @node in ../../../Documentation/fr/user/input.itely
+#. @subsection in ../../../Documentation/fr/user/input.itely
+#. @node in ../../../Documentation/de/user/input.itely
+#. @subsection in ../../../Documentation/de/user/input.itely
+msgid "Controlling direction"
+msgstr "Control de la dirección"
 
 #. @node in ../../../Documentation/fr/user/changing-defaults.itely
 #. @section in ../../../Documentation/fr/user/changing-defaults.itely
-#. @node in ../../../Documentation/es/user/changing-defaults.itely
-#. @section in ../../../Documentation/es/user/changing-defaults.itely
 msgid "Automatic notation"
 msgstr "Notación automática"
 
-#. @subheading in ../../../Documentation/es/user/introduction.itely
-#. @subheading in ../../../Documentation/de/user/introduction.itely
-msgid "User manual"
-msgstr "Manual del usuario"
+#. @subsubheading in ../../../Documentation/es/user/macros.itexi
+msgid "Instrucciones predefinidas"
+msgstr "Instrucciones predefinidas"
 
-#. @subsubheading in ../../../Documentation/es/user/introduction.itely
-#. @subsubheading in ../../../Documentation/de/user/introduction.itely
-#, fuzzy
-msgid "Learning manual"
-msgstr "Manual de aprendizaje"
+#. @subsubheading in ../../../Documentation/es/user/macros.itexi
+msgid "Fragmentos de código seleccionados"
+msgstr "Fragmentos de código seleccionados"
 
-#. @subsubheading in ../../../Documentation/es/user/introduction.itely
-#. @subsubheading in ../../../Documentation/de/user/introduction.itely
-#, fuzzy
-msgid "Notation reference"
-msgstr "Referencia de la notación"
+#. @subsubheading in ../../../Documentation/es/user/macros.itexi
+msgid "Propiedades trucadas frecuentemente"
+msgstr "Propiedades trucadas frecuentemente"
 
-#. @node in ../../../Documentation/es/user/putting.itely
-#. @chapter in ../../../Documentation/es/user/putting.itely
-#. @node in ../../../Documentation/de/user/putting.itely
-#. @chapter in ../../../Documentation/de/user/putting.itely
-msgid "Putting it all together"
-msgstr "Juntándolo todo"
+#. @subsubheading in ../../../Documentation/es/user/macros.itexi
+msgid "Véase también"
+msgstr "Véase también"
 
-#. @node in ../../../Documentation/es/user/putting.itely
-#. @section in ../../../Documentation/es/user/putting.itely
-#. @node in ../../../Documentation/de/user/putting.itely
-#. @section in ../../../Documentation/de/user/putting.itely
-#, fuzzy
-msgid "Score is a single musical expression"
-msgstr "La partitura es una sola expresión musical"
+#. @subsubheading in ../../../Documentation/es/user/macros.itexi
+msgid "Advertencias y problemas conocidos"
+msgstr "Advertencias y problemas conocidos"
 
-#. @node in ../../../Documentation/es/user/putting.itely
-#. @section in ../../../Documentation/es/user/putting.itely
-#. @node in ../../../Documentation/de/user/putting.itely
-#. @section in ../../../Documentation/de/user/putting.itely
-msgid "An orchestral part"
-msgstr "Una particella orquestal"
+#. @rglos in ../../../Documentation/es/user/tutorial.itely
+msgid "redonda"
+msgstr "redonda"
+
+#. @rglos in ../../../Documentation/es/user/tutorial.itely
+msgid "blanca"
+msgstr "blanca"
+
+#. @rglos in ../../../Documentation/es/user/tutorial.itely
+msgid "negra"
+msgstr "negra"
 
 #. @top in ../../../Documentation/es/user/lilypond.tely
-#, fuzzy
 msgid "GNU LilyPond --- El tipografiador de música"
-msgstr "GNU LilyPond --- manual de utilización del programa"
+msgstr "GNU LilyPond --- El tipografiador de música"
+
+#. @rglos in ../../../Documentation/es/user/expressive.itely
+msgid "marcato"
+msgstr "marcato"
+
+#. @rglos in ../../../Documentation/es/user/expressive.itely
+msgid "stopped"
+msgstr "apagada"
+
+#. @rglos in ../../../Documentation/es/user/expressive.itely
+msgid "staccatissimo"
+msgstr "staccatissimo"
+
+#. @rglos in ../../../Documentation/es/user/expressive.itely
+msgid "hairpin"
+msgstr "regulador"
+
+#. @rglos in ../../../Documentation/es/user/expressive.itely
+msgid "broken chord"
+msgstr "acorde quebrado"
 
 #. @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
-#, fuzzy
 msgid "Chords Blah"
 msgstr "Acordes"
 
@@ -6603,27 +6601,19 @@ msgstr "Acordes"
 #. @node in ../../../Documentation/de/user/chords.itely
 #. @subsection in ../../../Documentation/de/user/chords.itely
 msgid "TODO chords fix"
-msgstr ""
-
-#. @node in ../../../Documentation/es/user/piano.itely
-#. @subsection in ../../../Documentation/es/user/piano.itely
-#. @node in ../../../Documentation/de/user/piano.itely
-#. @subsection in ../../../Documentation/de/user/piano.itely
-msgid "TODO piano node fix"
-msgstr ""
+msgstr "Acordes"
 
 #. @node in ../../../Documentation/es/user/percussion.itely
 #. @subsection in ../../../Documentation/es/user/percussion.itely
 #. @node in ../../../Documentation/de/user/percussion.itely
 #. @subsection in ../../../Documentation/de/user/percussion.itely
 msgid "TODO percussion node fix"
-msgstr ""
+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
-#, fuzzy
 msgid "Guitar TODO"
 msgstr "Guitarra"
 
@@ -6631,33 +6621,71 @@ msgstr "Guitarra"
 #. @subsection in ../../../Documentation/es/user/strings.itely
 #. @node in ../../../Documentation/de/user/strings.itely
 #. @subsection in ../../../Documentation/de/user/strings.itely
-#, fuzzy
 msgid "Orchestral strings TODO"
-msgstr "Música orquestal"
+msgstr "Cuerdas orquestales"
 
 #. @top in ../../../Documentation/de/user/lilypond-learning.tely
-#, fuzzy
 msgid "GNU LilyPond -- Handbuch zum Lernen"
-msgstr "GNU LilyPond --- manual de utilización del programa"
+msgstr "GNU LilyPond --- manual de aprendizaje"
+
+#. @subheading in ../../../Documentation/de/user/introduction.itely
+msgid "User manual"
+msgstr "Manual del usuario"
+
+#. @subsubheading in ../../../Documentation/de/user/introduction.itely
+msgid "Learning manual"
+msgstr "Manual de aprendizaje"
+
+#. @subsubheading in ../../../Documentation/de/user/introduction.itely
+msgid "Notation reference"
+msgstr "Referencia de la notación"
 
 #. @rglos in ../../../Documentation/de/user/tutorial.itely
-#, fuzzy
 msgid "legato"
-msgstr "bemol"
+msgstr "legato"
 
 #. @rglos in ../../../Documentation/de/user/tutorial.itely
 msgid "acciacccatura"
-msgstr ""
+msgstr "acciacccatura"
+
+#. @node in ../../../Documentation/de/user/putting.itely
+#. @chapter in ../../../Documentation/de/user/putting.itely
+msgid "Putting it all together"
+msgstr "Juntándolo todo"
+
+#. @node in ../../../Documentation/de/user/putting.itely
+#. @section in ../../../Documentation/de/user/putting.itely
+msgid "Score is a single musical expression"
+msgstr "La partitura es una sola expresión musical"
+
+#. @node in ../../../Documentation/de/user/putting.itely
+#. @section in ../../../Documentation/de/user/putting.itely
+msgid "An orchestral part"
+msgstr "Una particella orquestal"
 
 #. @top in ../../../Documentation/de/user/lilypond-program.tely
-#, fuzzy
 msgid "GNU LilyPond -- Programmbenutzung"
 msgstr "GNU LilyPond --- manual de utilización del programa"
 
 #. @top in ../../../Documentation/de/user/lilypond.tely
-#, fuzzy
 msgid "GNU LilyPond -- Das Notationsprogramm"
-msgstr "GNU LilyPond --- manual de utilización del programa"
+msgstr "GNU LilyPond --- el tipografiador de música"
+
+# Fuzzy.FVD
+#. @node in ../../../Documentation/de/user/editorial.itely
+#. @unnumberedsubsubsec in ../../../Documentation/de/user/editorial.itely
+msgid "Easy Notation note heads"
+msgstr "Cabezas de notas de Notación Fácil"
+
+#. @node in ../../../Documentation/de/user/editorial.itely
+#. @unnumberedsubsubsec in ../../../Documentation/de/user/editorial.itely
+msgid "Special noteheads"
+msgstr "Cabezas de nota especiales"
+
+#. @node in ../../../Documentation/de/user/piano.itely
+#. @subsection in ../../../Documentation/de/user/piano.itely
+msgid "TODO piano node fix"
+msgstr "Piano"
 
 msgid "Up:"
 msgstr "Arriba:"
@@ -6678,27 +6706,3 @@ msgstr "Notas al pie"
 msgid "Table of Contents"
 msgstr "Índice general"
 
-#, fuzzy
-#~ msgid "Predefined tweaks"
-#~ msgstr "Comandos predefinidos"
-
-#~ msgid "More information"
-#~ msgstr "Más información"
-
-#~ msgid "Basic notation"
-#~ msgstr "Notación básica"
-
-#~ msgid "Partial measures"
-#~ msgstr "Compases parciales"
-
-#~ msgid "Connecting notes"
-#~ msgstr "Conectar notas"
-
-#~ msgid "Rhythmic music"
-#~ msgstr "Música rítmica"
-
-#~ msgid "Other instrument specific notation"
-#~ msgstr "Notación específica de otros instrumentos"
-
-#~ msgid "Advanced notation"
-#~ msgstr "Notación avanzada"
index 5a6568916fc704628f59a69ef2a9cacb621f4e39..b0da7aead5fd4100c16f84c3df854d406e9edc08 100644 (file)
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: fr\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2008-02-18 21:13+0100\n"
+"POT-Creation-Date: 2008-03-23 16:29+0100\n"
 "PO-Revision-Date: 2007-12-15 15:15+0100\n"
 "Last-Translator: Jean-Charles Malahieude <lolyfan-AT-wanadoo-DOT-fr>\n"
 "Language-Team: Français <lilypond-user-fr@gnu.org>\n"
@@ -50,11 +50,11 @@ msgstr "Autres langues&nbsp;: %s."
 msgid "About <A HREF=\"%s\">automatic language selection</A>."
 msgstr "À propos de la <A HREF=\"%s\">sélection automatique de la langue</A>."
 
-#: add_html_footer.py:253
+#: add_html_footer.py:259
 msgid "stable-branch"
 msgstr "branche stable"
 
-#: add_html_footer.py:255
+#: add_html_footer.py:261
 msgid "development-branch"
 msgstr "branche de développement"
 
@@ -116,23 +116,25 @@ msgstr "Index de LilyPond"
 
 #. @subsubheading in ../../../Documentation/user/macros.itexi
 #. @subsubheading in ../../../Documentation/fr/user/macros.itexi
-#. @subsubheading in ../../../Documentation/es/user/macros.itexi
 #. @subsubheading in ../../../Documentation/de/user/macros.itexi
 msgid "Predefined commands"
 msgstr "Commandes prédéfinies"
 
 #. @subsubheading in ../../../Documentation/user/macros.itexi
+#. @subsubheading in ../../../Documentation/fr/user/macros.itexi
+#. @subsubheading in ../../../Documentation/de/user/macros.itexi
 msgid "Selected Snippets"
 msgstr ""
 
 #. @subsubheading in ../../../Documentation/user/macros.itexi
 #. @subsubheading in ../../../Documentation/fr/user/macros.itexi
-#. @subsubheading in ../../../Documentation/es/user/macros.itexi
 #. @subsubheading in ../../../Documentation/de/user/macros.itexi
 msgid "See also"
 msgstr "Voir aussi"
 
 #. @subsubheading in ../../../Documentation/user/macros.itexi
+#. @subsubheading in ../../../Documentation/fr/user/macros.itexi
+#. @subsubheading in ../../../Documentation/de/user/macros.itexi
 msgid "Known issues and warnings"
 msgstr "Problèmes connus et avertissements"
 
@@ -225,10 +227,12 @@ msgid "About this manual"
 msgstr "À propos de ce manuel"
 
 #. @subheading in ../../../Documentation/user/introduction.itely
+#. @subheading in ../../../Documentation/es/user/introduction.itely
 msgid "Learning Manual (LM)"
 msgstr "Manuel d'initiation"
 
 #. @subheading in ../../../Documentation/user/introduction.itely
+#. @subheading in ../../../Documentation/es/user/introduction.itely
 msgid "Notation Reference (NR)"
 msgstr "Manuel de notation"
 
@@ -239,7 +243,7 @@ msgid "Appendices"
 msgstr "Annexes"
 
 #. @subheading in ../../../Documentation/user/introduction.itely
-#. @subsubheading in ../../../Documentation/es/user/introduction.itely
+#. @subheading in ../../../Documentation/es/user/introduction.itely
 #. @subheading in ../../../Documentation/de/user/introduction.itely
 msgid "Program usage"
 msgstr "Utilisation du programme"
@@ -253,6 +257,7 @@ msgstr "Autres sources de documentation"
 # utiliser peut-être le terme anglais, surtout
 # s'il est massivement utilisé dans les ly
 #. @rglos in ../../../Documentation/user/tutorial.itely
+#. @rglos in ../../../Documentation/es/user/tutorial.itely
 msgid "foo"
 msgstr "toto"
 
@@ -344,6 +349,7 @@ msgid "Pitches"
 msgstr "Hauteurs"
 
 #. @rglos in ../../../Documentation/user/tutorial.itely
+#. @rglos in ../../../Documentation/es/user/tutorial.itely
 #. @rglos in ../../../Documentation/de/user/tutorial.itely
 msgid "pitch"
 msgstr "hauteur"
@@ -371,11 +377,13 @@ msgid "middle C"
 msgstr "do central"
 
 #. @rglos in ../../../Documentation/user/tutorial.itely
+#. @rglos in ../../../Documentation/es/user/tutorial.itely
 #. @rglos in ../../../Documentation/de/user/tutorial.itely
 msgid "octave"
 msgstr "octave"
 
 #. @rglos in ../../../Documentation/user/tutorial.itely
+#. @rglos in ../../../Documentation/es/user/tutorial.itely
 #. @rglos in ../../../Documentation/de/user/tutorial.itely
 msgid "accidental"
 msgstr "altération accidentelle"
@@ -436,7 +444,7 @@ msgstr "note pointée"
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/rhythms.itely
 #. @subheading in ../../../Documentation/es/user/tutorial.itely
 #. @node in ../../../Documentation/es/user/rhythms.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/rhythms.itely
+#. @subsubsection in ../../../Documentation/es/user/rhythms.itely
 #. @subheading in ../../../Documentation/de/user/tutorial.itely
 #. @node in ../../../Documentation/de/user/rhythms.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/rhythms.itely
@@ -457,7 +465,7 @@ msgstr "silence"
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/rhythms.itely
 #. @subheading in ../../../Documentation/es/user/tutorial.itely
 #. @node in ../../../Documentation/es/user/rhythms.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/rhythms.itely
+#. @subsubsection in ../../../Documentation/es/user/rhythms.itely
 #. @subheading in ../../../Documentation/de/user/tutorial.itely
 #. @node in ../../../Documentation/de/user/rhythms.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/rhythms.itely
@@ -473,13 +481,13 @@ msgstr "métrique"
 
 #. @subheading in ../../../Documentation/user/tutorial.itely
 #. @node in ../../../Documentation/user/pitches.itely
-#. @subsubsection in ../../../Documentation/user/pitches.itely
+#. @unnumberedsubsubsec in ../../../Documentation/user/pitches.itely
 #. @subheading in ../../../Documentation/fr/user/tutorial.itely
 #. @node in ../../../Documentation/fr/user/pitches.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/pitches.itely
 #. @subheading in ../../../Documentation/es/user/tutorial.itely
 #. @node in ../../../Documentation/es/user/pitches.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/pitches.itely
+#. @subsubsection in ../../../Documentation/es/user/pitches.itely
 #. @subheading in ../../../Documentation/de/user/tutorial.itely
 #. @node in ../../../Documentation/de/user/pitches.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/pitches.itely
@@ -523,6 +531,7 @@ msgid "How to read the manual"
 msgstr "Bien lire le manuel"
 
 #. @subheading in ../../../Documentation/user/tutorial.itely
+#. @subheading in ../../../Documentation/es/user/tutorial.itely
 #. @subheading in ../../../Documentation/de/user/tutorial.itely
 msgid "Clickable examples"
 msgstr "Exemples cliquables"
@@ -551,13 +560,13 @@ msgstr "Altérations et armure"
 
 #. @subheading in ../../../Documentation/user/tutorial.itely
 #. @node in ../../../Documentation/user/pitches.itely
-#. @subsubsection in ../../../Documentation/user/pitches.itely
+#. @unnumberedsubsubsec in ../../../Documentation/user/pitches.itely
 #. @subheading in ../../../Documentation/fr/user/tutorial.itely
 #. @node in ../../../Documentation/fr/user/pitches.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/pitches.itely
 #. @subheading in ../../../Documentation/es/user/tutorial.itely
 #. @node in ../../../Documentation/es/user/pitches.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/pitches.itely
+#. @subsubsection in ../../../Documentation/es/user/pitches.itely
 #. @subheading in ../../../Documentation/de/user/tutorial.itely
 #. @node in ../../../Documentation/de/user/pitches.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/pitches.itely
@@ -635,6 +644,7 @@ msgstr "transposition"
 
 #. @rglos in ../../../Documentation/user/tutorial.itely
 #. @rglos in ../../../Documentation/user/pitches.itely
+#. @rglos in ../../../Documentation/es/user/pitches.itely
 #. @rglos in ../../../Documentation/de/user/tutorial.itely
 msgid "Pitch names"
 msgstr "Noms de note"
@@ -657,8 +667,8 @@ msgstr "Liaisons"
 #. @node in ../../../Documentation/fr/user/expressive.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/expressive.itely
 #. @subheading in ../../../Documentation/es/user/tutorial.itely
-#. @node in ../../../Documentation/es/user/expressive.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/expressive.itely
+#. @node in ../../../Documentation/es/user/rhythms.itely
+#. @subsubsection in ../../../Documentation/es/user/rhythms.itely
 #. @subheading in ../../../Documentation/de/user/tutorial.itely
 #. @node in ../../../Documentation/de/user/expressive.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/expressive.itely
@@ -669,6 +679,7 @@ msgstr "Liaisons de prolongation"
 #. @rglos in ../../../Documentation/user/rhythms.itely
 #. @rglos in ../../../Documentation/fr/user/tutorial.itely
 #. @rglos in ../../../Documentation/es/user/tutorial.itely
+#. @rglos in ../../../Documentation/es/user/rhythms.itely
 #. @rglos in ../../../Documentation/de/user/tutorial.itely
 msgid "tie"
 msgstr "liaison de prolongation"
@@ -681,7 +692,7 @@ msgstr "liaison de prolongation"
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/expressive.itely
 #. @subheading in ../../../Documentation/es/user/tutorial.itely
 #. @node in ../../../Documentation/es/user/expressive.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/expressive.itely
+#. @subsubsection in ../../../Documentation/es/user/expressive.itely
 #. @subheading in ../../../Documentation/de/user/tutorial.itely
 #. @node in ../../../Documentation/de/user/expressive.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/expressive.itely
@@ -689,6 +700,7 @@ msgid "Slurs"
 msgstr "Liaisons d'articulation"
 
 #. @rglos in ../../../Documentation/user/tutorial.itely
+#. @rglos in ../../../Documentation/user/expressive.itely
 #. @rglos in ../../../Documentation/fr/user/tutorial.itely
 #. @rglos in ../../../Documentation/es/user/tutorial.itely
 #. @rglos in ../../../Documentation/de/user/tutorial.itely
@@ -703,7 +715,7 @@ msgstr "liaison d'articulation"
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/expressive.itely
 #. @subheading in ../../../Documentation/es/user/tutorial.itely
 #. @node in ../../../Documentation/es/user/expressive.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/expressive.itely
+#. @subsubsection in ../../../Documentation/es/user/expressive.itely
 #. @subheading in ../../../Documentation/de/user/tutorial.itely
 #. @node in ../../../Documentation/de/user/expressive.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/expressive.itely
@@ -750,8 +762,6 @@ msgstr "Articulations et nuances"
 #. @node in ../../../Documentation/fr/user/expressive.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/expressive.itely
 #. @subheading in ../../../Documentation/es/user/tutorial.itely
-#. @node in ../../../Documentation/es/user/expressive.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/expressive.itely
 #. @subheading in ../../../Documentation/de/user/tutorial.itely
 #. @node in ../../../Documentation/de/user/expressive.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/expressive.itely
@@ -779,7 +789,7 @@ msgstr "doigté"
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/expressive.itely
 #. @subheading in ../../../Documentation/es/user/tutorial.itely
 #. @node in ../../../Documentation/es/user/expressive.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/expressive.itely
+#. @subsubsection in ../../../Documentation/es/user/expressive.itely
 #. @subheading in ../../../Documentation/de/user/tutorial.itely
 #. @node in ../../../Documentation/de/user/expressive.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/expressive.itely
@@ -793,18 +803,22 @@ msgstr "nuances"
 
 #. @rglos in ../../../Documentation/user/tutorial.itely
 #. @rglos in ../../../Documentation/user/expressive.itely
+#. @rglos in ../../../Documentation/es/user/expressive.itely
 #. @rglos in ../../../Documentation/de/user/tutorial.itely
 msgid "crescendo"
 msgstr "crescendo"
 
 #. @rglos in ../../../Documentation/user/tutorial.itely
 #. @rglos in ../../../Documentation/user/expressive.itely
+#. @rglos in ../../../Documentation/es/user/expressive.itely
 #. @rglos in ../../../Documentation/de/user/tutorial.itely
 msgid "decrescendo"
 msgstr "decrescendo"
 
 #. @node in ../../../Documentation/user/tutorial.itely
 #. @subsection in ../../../Documentation/user/tutorial.itely
+#. @node in ../../../Documentation/es/user/tutorial.itely
+#. @subsection in ../../../Documentation/es/user/tutorial.itely
 #. @node in ../../../Documentation/de/user/tutorial.itely
 #. @subsection in ../../../Documentation/de/user/tutorial.itely
 msgid "Adding text"
@@ -853,7 +867,7 @@ msgstr "anacrouse"
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/rhythms.itely
 #. @subheading in ../../../Documentation/es/user/tutorial.itely
 #. @node in ../../../Documentation/es/user/rhythms.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/rhythms.itely
+#. @subsubsection in ../../../Documentation/es/user/rhythms.itely
 #. @subheading in ../../../Documentation/de/user/tutorial.itely
 #. @node in ../../../Documentation/de/user/rhythms.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/rhythms.itely
@@ -862,12 +876,14 @@ msgstr "Nolets"
 
 #. @rglos in ../../../Documentation/user/tutorial.itely
 #. @rglos in ../../../Documentation/user/rhythms.itely
+#. @rglos in ../../../Documentation/es/user/rhythms.itely
 #. @rglos in ../../../Documentation/de/user/tutorial.itely
 msgid "note value"
 msgstr "valeur d'une note"
 
 #. @rglos in ../../../Documentation/user/tutorial.itely
 #. @rglos in ../../../Documentation/user/rhythms.itely
+#. @rglos in ../../../Documentation/es/user/rhythms.itely
 #. @rglos in ../../../Documentation/de/user/tutorial.itely
 msgid "triplet"
 msgstr "triolet"
@@ -880,7 +896,7 @@ msgstr "triolet"
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/rhythms.itely
 #. @subheading in ../../../Documentation/es/user/tutorial.itely
 #. @node in ../../../Documentation/es/user/rhythms.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/rhythms.itely
+#. @subsubsection in ../../../Documentation/es/user/rhythms.itely
 #. @subheading in ../../../Documentation/de/user/tutorial.itely
 #. @node in ../../../Documentation/de/user/rhythms.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/rhythms.itely
@@ -967,6 +983,8 @@ msgstr "Plusieurs portées"
 
 #. @node in ../../../Documentation/user/tutorial.itely
 #. @subsection in ../../../Documentation/user/tutorial.itely
+#. @node in ../../../Documentation/es/user/tutorial.itely
+#. @subsection in ../../../Documentation/es/user/tutorial.itely
 #. @node in ../../../Documentation/de/user/tutorial.itely
 #. @subsection in ../../../Documentation/de/user/tutorial.itely
 msgid "Staff groups"
@@ -974,6 +992,7 @@ msgstr ""
 
 #. @rglos in ../../../Documentation/user/tutorial.itely
 #. @rglos in ../../../Documentation/user/staff.itely
+#. @rglos in ../../../Documentation/es/user/tutorial.itely
 #. @rglos in ../../../Documentation/de/user/tutorial.itely
 msgid "brace"
 msgstr "accolade"
@@ -991,6 +1010,7 @@ msgstr "Combinaison de notes en accords"
 
 #. @rglos in ../../../Documentation/user/tutorial.itely
 #. @rglos in ../../../Documentation/user/simultaneous.itely
+#. @rglos in ../../../Documentation/es/user/simultaneous.itely
 #. @rglos in ../../../Documentation/de/user/tutorial.itely
 msgid "chord"
 msgstr "accord"
@@ -1023,8 +1043,10 @@ msgstr "Chansons"
 #. @subsubsection in ../../../Documentation/user/vocal.itely
 #. @node in ../../../Documentation/fr/user/vocal.itely
 #. @unnumberedsubsubsec 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
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/vocal.itely
+#. @subsubsection in ../../../Documentation/es/user/vocal.itely
 #. @node in ../../../Documentation/de/user/tutorial.itely
 #. @subsection in ../../../Documentation/de/user/tutorial.itely
 #. @node in ../../../Documentation/de/user/vocal.itely
@@ -1033,6 +1055,7 @@ msgid "Setting simple songs"
 msgstr "Écriture de chants simples"
 
 #. @rglos in ../../../Documentation/user/tutorial.itely
+#. @rglos in ../../../Documentation/es/user/tutorial.itely
 #. @rglos in ../../../Documentation/de/user/tutorial.itely
 msgid "lyrics"
 msgstr "paroles"
@@ -1043,8 +1066,10 @@ msgstr "paroles"
 #. @subsection in ../../../Documentation/user/vocal.itely
 #. @node in ../../../Documentation/fr/user/vocal.itely
 #. @unnumberedsubsubsec 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
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/vocal.itely
+#. @subsection in ../../../Documentation/es/user/vocal.itely
 #. @node in ../../../Documentation/de/user/tutorial.itely
 #. @subsection in ../../../Documentation/de/user/tutorial.itely
 #. @node in ../../../Documentation/de/user/vocal.itely
@@ -1060,12 +1085,15 @@ msgid "melisma"
 msgstr "mélisme"
 
 #. @rglos in ../../../Documentation/user/tutorial.itely
+#. @rglos in ../../../Documentation/es/user/tutorial.itely
 #. @rglos in ../../../Documentation/de/user/tutorial.itely
 msgid "extender line"
 msgstr "ligne de prolongation"
 
 #. @node in ../../../Documentation/user/tutorial.itely
 #. @subsection in ../../../Documentation/user/tutorial.itely
+#. @node in ../../../Documentation/es/user/tutorial.itely
+#. @subsection in ../../../Documentation/es/user/tutorial.itely
 #. @node in ../../../Documentation/de/user/tutorial.itely
 #. @subsection in ../../../Documentation/de/user/tutorial.itely
 msgid "Lyrics to multiple staves"
@@ -1084,6 +1112,8 @@ msgstr "Dernières précisions"
 
 #. @node in ../../../Documentation/user/tutorial.itely
 #. @subsection in ../../../Documentation/user/tutorial.itely
+#. @node in ../../../Documentation/es/user/tutorial.itely
+#. @subsection in ../../../Documentation/es/user/tutorial.itely
 #. @node in ../../../Documentation/de/user/tutorial.itely
 #. @subsection in ../../../Documentation/de/user/tutorial.itely
 msgid "Organizing pieces with variables"
@@ -1137,6 +1167,8 @@ msgstr "Après le tutoriel"
 #. @chapter in ../../../Documentation/user/fundamental.itely
 #. @node in ../../../Documentation/fr/user/fundamental.itely
 #. @chapter in ../../../Documentation/fr/user/fundamental.itely
+#. @node in ../../../Documentation/es/user/fundamental.itely
+#. @chapter in ../../../Documentation/es/user/fundamental.itely
 #. @node in ../../../Documentation/de/user/fundamental.itely
 #. @chapter in ../../../Documentation/de/user/fundamental.itely
 msgid "Fundamental concepts"
@@ -1146,8 +1178,8 @@ msgstr "Concepts fondamentaux"
 #. @section in ../../../Documentation/user/fundamental.itely
 #. @node in ../../../Documentation/fr/user/fundamental.itely
 #. @section in ../../../Documentation/fr/user/fundamental.itely
-#. @node in ../../../Documentation/es/user/putting.itely
-#. @section in ../../../Documentation/es/user/putting.itely
+#. @node in ../../../Documentation/es/user/fundamental.itely
+#. @section in ../../../Documentation/es/user/fundamental.itely
 #. @node in ../../../Documentation/de/user/putting.itely
 #. @section in ../../../Documentation/de/user/putting.itely
 #. @node in ../../../Documentation/de/user/fundamental.itely
@@ -1159,6 +1191,8 @@ msgstr "Organisation des fichiers LilyPond"
 #. @subsection in ../../../Documentation/user/fundamental.itely
 #. @node in ../../../Documentation/fr/user/fundamental.itely
 #. @subsection in ../../../Documentation/fr/user/fundamental.itely
+#. @node in ../../../Documentation/es/user/fundamental.itely
+#. @subsection in ../../../Documentation/es/user/fundamental.itely
 #. @node in ../../../Documentation/de/user/fundamental.itely
 #. @subsection in ../../../Documentation/de/user/fundamental.itely
 msgid "Introduction to the LilyPond file structure"
@@ -1168,6 +1202,8 @@ msgstr "Introduction à la structure de fichier LilyPond"
 #. @subsection in ../../../Documentation/user/fundamental.itely
 #. @node in ../../../Documentation/fr/user/fundamental.itely
 #. @subsection in ../../../Documentation/fr/user/fundamental.itely
+#. @node in ../../../Documentation/es/user/fundamental.itely
+#. @subsection in ../../../Documentation/es/user/fundamental.itely
 #. @node in ../../../Documentation/de/user/fundamental.itely
 #. @subsection in ../../../Documentation/de/user/fundamental.itely
 msgid "Score is a (single) compound musical expression"
@@ -1177,6 +1213,8 @@ msgstr "La partition est une unique expression musicale composée"
 #. @subsection in ../../../Documentation/user/fundamental.itely
 #. @node in ../../../Documentation/fr/user/fundamental.itely
 #. @subsection in ../../../Documentation/fr/user/fundamental.itely
+#. @node in ../../../Documentation/es/user/fundamental.itely
+#. @subsection in ../../../Documentation/es/user/fundamental.itely
 #. @node in ../../../Documentation/de/user/fundamental.itely
 #. @subsection in ../../../Documentation/de/user/fundamental.itely
 msgid "Nesting music expressions"
@@ -1185,6 +1223,7 @@ msgstr "Expressions musicales imbriquées"
 #. @rglos in ../../../Documentation/user/fundamental.itely
 #. @rglos in ../../../Documentation/user/tweaks.itely
 #. @rglos in ../../../Documentation/user/staff.itely
+#. @rglos in ../../../Documentation/es/user/fundamental.itely
 msgid "ossia"
 msgstr "ossia"
 
@@ -1192,6 +1231,8 @@ msgstr "ossia"
 #. @subsection in ../../../Documentation/user/fundamental.itely
 #. @node in ../../../Documentation/fr/user/fundamental.itely
 #. @subsection in ../../../Documentation/fr/user/fundamental.itely
+#. @node in ../../../Documentation/es/user/fundamental.itely
+#. @subsection in ../../../Documentation/es/user/fundamental.itely
 #. @node in ../../../Documentation/de/user/fundamental.itely
 #. @subsection in ../../../Documentation/de/user/fundamental.itely
 msgid "On the un-nestedness of brackets and ties"
@@ -1201,6 +1242,8 @@ msgstr "Non-imbrication des crochets et liaisons"
 #. @section in ../../../Documentation/user/fundamental.itely
 #. @node in ../../../Documentation/fr/user/fundamental.itely
 #. @section in ../../../Documentation/fr/user/fundamental.itely
+#. @node in ../../../Documentation/es/user/fundamental.itely
+#. @section in ../../../Documentation/es/user/fundamental.itely
 #. @node in ../../../Documentation/de/user/fundamental.itely
 #. @section in ../../../Documentation/de/user/fundamental.itely
 msgid "Voices contain music"
@@ -1210,6 +1253,8 @@ msgstr "Les voix contiennent la musique"
 #. @subsection in ../../../Documentation/user/fundamental.itely
 #. @node in ../../../Documentation/fr/user/fundamental.itely
 #. @subsection in ../../../Documentation/fr/user/fundamental.itely
+#. @node in ../../../Documentation/es/user/fundamental.itely
+#. @subsection in ../../../Documentation/es/user/fundamental.itely
 #. @node in ../../../Documentation/de/user/fundamental.itely
 #. @subsection in ../../../Documentation/de/user/fundamental.itely
 msgid "I'm hearing Voices"
@@ -1219,8 +1264,10 @@ msgstr "J'entends des Voix"
 #. @subsection in ../../../Documentation/user/fundamental.itely
 #. @node in ../../../Documentation/fr/user/fundamental.itely
 #. @subsection in ../../../Documentation/fr/user/fundamental.itely
+#. @node in ../../../Documentation/es/user/fundamental.itely
+#. @subsection in ../../../Documentation/es/user/fundamental.itely
 #. @node in ../../../Documentation/es/user/simultaneous.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/simultaneous.itely
+#. @subsubsection in ../../../Documentation/es/user/simultaneous.itely
 #. @node in ../../../Documentation/de/user/fundamental.itely
 #. @subsection in ../../../Documentation/de/user/fundamental.itely
 #. @node in ../../../Documentation/de/user/simultaneous.itely
@@ -1232,6 +1279,8 @@ msgstr "Instantiation explicite des voix"
 #. @subsection in ../../../Documentation/user/fundamental.itely
 #. @node in ../../../Documentation/fr/user/fundamental.itely
 #. @subsection in ../../../Documentation/fr/user/fundamental.itely
+#. @node in ../../../Documentation/es/user/fundamental.itely
+#. @subsection in ../../../Documentation/es/user/fundamental.itely
 #. @node in ../../../Documentation/de/user/fundamental.itely
 #. @subsection in ../../../Documentation/de/user/fundamental.itely
 msgid "Voices and vocals"
@@ -1241,6 +1290,8 @@ msgstr "Voix et paroles"
 #. @section in ../../../Documentation/user/fundamental.itely
 #. @node in ../../../Documentation/fr/user/fundamental.itely
 #. @section in ../../../Documentation/fr/user/fundamental.itely
+#. @node in ../../../Documentation/es/user/fundamental.itely
+#. @section in ../../../Documentation/es/user/fundamental.itely
 #. @node in ../../../Documentation/de/user/fundamental.itely
 #. @section in ../../../Documentation/de/user/fundamental.itely
 msgid "Contexts and engravers"
@@ -1252,6 +1303,8 @@ msgstr "Contextes et graveurs"
 #. @subsection in ../../../Documentation/user/changing-defaults.itely
 #. @node in ../../../Documentation/fr/user/fundamental.itely
 #. @subsection in ../../../Documentation/fr/user/fundamental.itely
+#. @node in ../../../Documentation/es/user/fundamental.itely
+#. @subsection in ../../../Documentation/es/user/fundamental.itely
 #. @node in ../../../Documentation/es/user/changing-defaults.itely
 #. @subsection in ../../../Documentation/es/user/changing-defaults.itely
 #. @node in ../../../Documentation/de/user/fundamental.itely
@@ -1267,6 +1320,8 @@ msgstr "Tout savoir sur les contextes"
 #. @subsection in ../../../Documentation/user/changing-defaults.itely
 #. @node in ../../../Documentation/fr/user/fundamental.itely
 #. @subsection in ../../../Documentation/fr/user/fundamental.itely
+#. @node in ../../../Documentation/es/user/fundamental.itely
+#. @subsection in ../../../Documentation/es/user/fundamental.itely
 #. @node in ../../../Documentation/es/user/changing-defaults.itely
 #. @subsection in ../../../Documentation/es/user/changing-defaults.itely
 #. @node in ../../../Documentation/de/user/fundamental.itely
@@ -1280,6 +1335,8 @@ msgstr "Création d'un contexte"
 #. @subsection in ../../../Documentation/user/fundamental.itely
 #. @node in ../../../Documentation/fr/user/fundamental.itely
 #. @subsection in ../../../Documentation/fr/user/fundamental.itely
+#. @node in ../../../Documentation/es/user/fundamental.itely
+#. @subsection in ../../../Documentation/es/user/fundamental.itely
 #. @node in ../../../Documentation/de/user/fundamental.itely
 #. @subsection in ../../../Documentation/de/user/fundamental.itely
 msgid "Engravers explained"
@@ -1289,6 +1346,8 @@ msgstr "Tout savoir sur les graveurs"
 #. @subsection in ../../../Documentation/user/fundamental.itely
 #. @node in ../../../Documentation/fr/user/fundamental.itely
 #. @subsection in ../../../Documentation/fr/user/fundamental.itely
+#. @node in ../../../Documentation/es/user/fundamental.itely
+#. @subsection in ../../../Documentation/es/user/fundamental.itely
 #. @node in ../../../Documentation/de/user/fundamental.itely
 #. @subsection in ../../../Documentation/de/user/fundamental.itely
 msgid "Modifying context properties"
@@ -1298,12 +1357,15 @@ msgstr "Modification des propriétés de contexte"
 #. @subsection in ../../../Documentation/user/fundamental.itely
 #. @node in ../../../Documentation/fr/user/fundamental.itely
 #. @subsection in ../../../Documentation/fr/user/fundamental.itely
+#. @node in ../../../Documentation/es/user/fundamental.itely
+#. @subsection in ../../../Documentation/es/user/fundamental.itely
 #. @node in ../../../Documentation/de/user/fundamental.itely
 #. @subsection in ../../../Documentation/de/user/fundamental.itely
 msgid "Adding and removing engravers"
 msgstr "Ajout et suppression de graveurs"
 
-#. @subsubsection in ../../../Documentation/user/fundamental.itely
+#. @subsubheading in ../../../Documentation/user/fundamental.itely
+#. @subsubheading in ../../../Documentation/es/user/fundamental.itely
 #. @subsubsection in ../../../Documentation/de/user/fundamental.itely
 #, fuzzy
 msgid "Changing a single context"
@@ -1311,10 +1373,12 @@ msgstr "Définition de nouveaux contextes"
 
 #. @rglos in ../../../Documentation/user/fundamental.itely
 #. @rglos in ../../../Documentation/user/pitches.itely
+#. @rglos in ../../../Documentation/es/user/fundamental.itely
 msgid "ambitus"
 msgstr "ambitus"
 
-#. @subsubsection in ../../../Documentation/user/fundamental.itely
+#. @subsubheading in ../../../Documentation/user/fundamental.itely
+#. @subsubheading in ../../../Documentation/es/user/fundamental.itely
 #. @subsubsection in ../../../Documentation/de/user/fundamental.itely
 #, fuzzy
 msgid "Changing all contexts of the same type"
@@ -1324,8 +1388,8 @@ msgstr "Changer à la volée les propriétés de contexte"
 #. @section in ../../../Documentation/user/fundamental.itely
 #. @node in ../../../Documentation/fr/user/fundamental.itely
 #. @section in ../../../Documentation/fr/user/fundamental.itely
-#. @node in ../../../Documentation/es/user/putting.itely
-#. @section in ../../../Documentation/es/user/putting.itely
+#. @node in ../../../Documentation/es/user/fundamental.itely
+#. @section in ../../../Documentation/es/user/fundamental.itely
 #. @node in ../../../Documentation/de/user/putting.itely
 #. @section in ../../../Documentation/de/user/putting.itely
 #. @node in ../../../Documentation/de/user/fundamental.itely
@@ -1337,6 +1401,8 @@ msgstr "Extension des modèles"
 #. @subsection in ../../../Documentation/user/fundamental.itely
 #. @node in ../../../Documentation/fr/user/fundamental.itely
 #. @subsection in ../../../Documentation/fr/user/fundamental.itely
+#. @node in ../../../Documentation/es/user/fundamental.itely
+#. @subsection in ../../../Documentation/es/user/fundamental.itely
 #. @node in ../../../Documentation/de/user/fundamental.itely
 #. @subsection in ../../../Documentation/de/user/fundamental.itely
 msgid "Soprano and cello"
@@ -1346,6 +1412,8 @@ msgstr "Soprano et violoncelle"
 #. @subsection in ../../../Documentation/user/fundamental.itely
 #. @node in ../../../Documentation/fr/user/fundamental.itely
 #. @subsection in ../../../Documentation/fr/user/fundamental.itely
+#. @node in ../../../Documentation/es/user/fundamental.itely
+#. @subsection in ../../../Documentation/es/user/fundamental.itely
 #. @node in ../../../Documentation/de/user/fundamental.itely
 #. @subsection in ../../../Documentation/de/user/fundamental.itely
 msgid "Four-part SATB vocal score"
@@ -1355,6 +1423,8 @@ msgstr "Partition pour chœur à quatre voix mixtes"
 #. @subsection in ../../../Documentation/user/fundamental.itely
 #. @node in ../../../Documentation/fr/user/fundamental.itely
 #. @subsection in ../../../Documentation/fr/user/fundamental.itely
+#. @node in ../../../Documentation/es/user/fundamental.itely
+#. @subsection in ../../../Documentation/es/user/fundamental.itely
 #. @node in ../../../Documentation/de/user/fundamental.itely
 #. @subsection in ../../../Documentation/de/user/fundamental.itely
 msgid "Building a score from scratch"
@@ -1426,7 +1496,7 @@ msgstr "Propriétés listées par interface"
 
 #. @subheading in ../../../Documentation/user/tweaks.itely
 #, fuzzy
-msgid "Specifying context in lyric mode"
+msgid "Specifying the context in lyric mode"
 msgstr "Modification des propriétés de contexte"
 
 #. @node in ../../../Documentation/user/tweaks.itely
@@ -1462,6 +1532,8 @@ msgstr "couleur"
 
 #. @node in ../../../Documentation/user/tweaks.itely
 #. @subsection in ../../../Documentation/user/tweaks.itely
+#. @node in ../../../Documentation/es/user/tweaks.itely
+#. @subsection in ../../../Documentation/es/user/tweaks.itely
 msgid "Size of objects"
 msgstr "Taille des objets"
 
@@ -1613,8 +1685,8 @@ msgstr "Autres sources de documentation"
 #. @section in ../../../Documentation/es/user/tweaks.itely
 #. @node in ../../../Documentation/de/user/tweaks.itely
 #. @section in ../../../Documentation/de/user/tweaks.itely
-msgid "Advanced tweaks with Scheme"
-msgstr "Retouches avancées avec Scheme"
+msgid "Avoiding tweaks with slower processing"
+msgstr "Options ralentissant le traitement"
 
 #. @node in ../../../Documentation/user/tweaks.itely
 #. @subsection in ../../../Documentation/user/tweaks.itely
@@ -1624,8 +1696,8 @@ msgstr "Retouches avancées avec Scheme"
 #. @section in ../../../Documentation/es/user/tweaks.itely
 #. @node in ../../../Documentation/de/user/tweaks.itely
 #. @section in ../../../Documentation/de/user/tweaks.itely
-msgid "Avoiding tweaks with slower processing"
-msgstr "Options ralentissant le traitement"
+msgid "Advanced tweaks with Scheme"
+msgstr "Retouches avancées avec Scheme"
 
 #. @node in ../../../Documentation/user/working.itely
 #. @chapter in ../../../Documentation/user/working.itely
@@ -1684,6 +1756,8 @@ msgstr "Projets d'envergure"
 
 #. @node in ../../../Documentation/user/working.itely
 #. @subsection in ../../../Documentation/user/working.itely
+#. @node in ../../../Documentation/es/user/working.itely
+#. @section in ../../../Documentation/es/user/working.itely
 msgid "Saving typing with variables and functions"
 msgstr "Économies de saisie grâce aux identificateurs et fonctions"
 
@@ -1935,8 +2009,8 @@ msgstr "Squelettes pour lilypond-book"
 #. @node in ../../../Documentation/user/lilypond-book.itely
 #. @appendixsubsec in ../../../Documentation/fr/user/templates.itely
 #. @node in ../../../Documentation/fr/user/lilypond-book.itely
-#. @node in ../../../Documentation/es/user/lilypond-book.itely
 #. @appendixsubsec in ../../../Documentation/es/user/templates.itely
+#. @node in ../../../Documentation/es/user/lilypond-book.itely
 #. @appendixsubsec in ../../../Documentation/de/user/templates.itely
 #. @node in ../../../Documentation/de/user/lilypond-book.itely
 msgid "LaTeX"
@@ -1950,10 +2024,10 @@ msgstr "LaTeX"
 #. @node in ../../../Documentation/fr/user/lilypond-book.itely
 #. @subsection in ../../../Documentation/fr/user/lilypond-book.itely
 #. @subsubheading in ../../../Documentation/fr/user/lilypond-book.itely
+#. @appendixsubsec in ../../../Documentation/es/user/templates.itely
 #. @node in ../../../Documentation/es/user/lilypond-book.itely
 #. @subsection in ../../../Documentation/es/user/lilypond-book.itely
 #. @subsubheading in ../../../Documentation/es/user/lilypond-book.itely
-#. @appendixsubsec in ../../../Documentation/es/user/templates.itely
 #. @appendixsubsec in ../../../Documentation/de/user/templates.itely
 #. @node in ../../../Documentation/de/user/lilypond-book.itely
 #. @subsection in ../../../Documentation/de/user/lilypond-book.itely
@@ -1961,6 +2035,11 @@ msgstr "LaTeX"
 msgid "Texinfo"
 msgstr "Texinfo"
 
+#. @appendixsubsec in ../../../Documentation/user/templates.itely
+#, fuzzy
+msgid "xelatex"
+msgstr "Modèles"
+
 #. @node in ../../../Documentation/user/scheme-tutorial.itely
 #. @appendix in ../../../Documentation/user/scheme-tutorial.itely
 #. @node in ../../../Documentation/fr/user/scheme-tutorial.itely
@@ -1972,6 +2051,12 @@ msgstr "Texinfo"
 msgid "Scheme tutorial"
 msgstr "Tutoriel Scheme"
 
+#. @node in ../../../Documentation/user/scheme-tutorial.itely
+#. @appendixsec in ../../../Documentation/user/scheme-tutorial.itely
+#, fuzzy
+msgid "Tweaking with Scheme"
+msgstr "Retouches avancées avec Scheme"
+
 #. @node in ../../../Documentation/user/fdl.itexi
 #. @appendix in ../../../Documentation/user/fdl.itexi
 #. @node in ../../../Documentation/user/fdl.itexi
@@ -2681,12 +2766,16 @@ msgid "Writing pitches"
 msgstr "Écriture des hauteurs de note"
 
 #. @node in ../../../Documentation/user/pitches.itely
-#. @subsubsection in ../../../Documentation/user/pitches.itely
+#. @unnumberedsubsubsec in ../../../Documentation/user/pitches.itely
+#. @node in ../../../Documentation/es/user/pitches.itely
+#. @subsubsection in ../../../Documentation/es/user/pitches.itely
 msgid "Absolute octave entry"
 msgstr "Hauteurs avec octave absolue"
 
 #. @node in ../../../Documentation/user/pitches.itely
-#. @subsubsection in ../../../Documentation/user/pitches.itely
+#. @unnumberedsubsubsec in ../../../Documentation/user/pitches.itely
+#. @node in ../../../Documentation/es/user/pitches.itely
+#. @subsubsection in ../../../Documentation/es/user/pitches.itely
 msgid "Relative octave entry"
 msgstr "Octaves relatives"
 
@@ -2701,11 +2790,11 @@ msgid "quarter-tone"
 msgstr "noire"
 
 #. @node in ../../../Documentation/user/pitches.itely
-#. @subsubsection in ../../../Documentation/user/pitches.itely
+#. @unnumberedsubsubsec in ../../../Documentation/user/pitches.itely
 #. @node in ../../../Documentation/fr/user/pitches.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/pitches.itely
 #. @node in ../../../Documentation/es/user/pitches.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/pitches.itely
+#. @subsubsection in ../../../Documentation/es/user/pitches.itely
 #. @node in ../../../Documentation/de/user/pitches.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/pitches.itely
 msgid "Note names in other languages"
@@ -2723,17 +2812,19 @@ msgid "Changing multiple pitches"
 msgstr "Modification de plusieurs hauteurs"
 
 #. @node in ../../../Documentation/user/pitches.itely
-#. @subsubsection in ../../../Documentation/user/pitches.itely
+#. @unnumberedsubsubsec in ../../../Documentation/user/pitches.itely
+#. @node in ../../../Documentation/es/user/pitches.itely
+#. @subsubsection in ../../../Documentation/es/user/pitches.itely
 #, fuzzy
 msgid "Octave checks"
 msgstr "Vérification d'octave"
 
 #. @node in ../../../Documentation/user/pitches.itely
-#. @subsubsection in ../../../Documentation/user/pitches.itely
+#. @unnumberedsubsubsec in ../../../Documentation/user/pitches.itely
 #. @node in ../../../Documentation/fr/user/pitches.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/pitches.itely
 #. @node in ../../../Documentation/es/user/pitches.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/pitches.itely
+#. @subsubsection in ../../../Documentation/es/user/pitches.itely
 #. @node in ../../../Documentation/de/user/pitches.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/pitches.itely
 msgid "Transpose"
@@ -2751,11 +2842,11 @@ msgid "Displaying pitches"
 msgstr "Gravure des hauteurs"
 
 #. @node in ../../../Documentation/user/pitches.itely
-#. @subsubsection in ../../../Documentation/user/pitches.itely
+#. @unnumberedsubsubsec in ../../../Documentation/user/pitches.itely
 #. @node in ../../../Documentation/fr/user/pitches.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/pitches.itely
 #. @node in ../../../Documentation/es/user/pitches.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/pitches.itely
+#. @subsubsection in ../../../Documentation/es/user/pitches.itely
 #. @node in ../../../Documentation/de/user/pitches.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/pitches.itely
 msgid "Key signature"
@@ -2770,11 +2861,11 @@ msgid "scordatura"
 msgstr ""
 
 #. @node in ../../../Documentation/user/pitches.itely
-#. @subsubsection in ../../../Documentation/user/pitches.itely
+#. @unnumberedsubsubsec in ../../../Documentation/user/pitches.itely
 #. @node in ../../../Documentation/fr/user/pitches.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/pitches.itely
 #. @node in ../../../Documentation/es/user/pitches.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/pitches.itely
+#. @subsubsection in ../../../Documentation/es/user/pitches.itely
 #. @node in ../../../Documentation/de/user/pitches.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/pitches.itely
 msgid "Ottava brackets"
@@ -2786,11 +2877,11 @@ msgid "octavation"
 msgstr "octave"
 
 #. @node in ../../../Documentation/user/pitches.itely
-#. @subsubsection in ../../../Documentation/user/pitches.itely
+#. @unnumberedsubsubsec in ../../../Documentation/user/pitches.itely
 #. @node in ../../../Documentation/fr/user/pitches.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/pitches.itely
 #. @node in ../../../Documentation/es/user/pitches.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/pitches.itely
+#. @subsubsection in ../../../Documentation/es/user/pitches.itely
 #. @node in ../../../Documentation/de/user/pitches.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/pitches.itely
 msgid "Instrument transpositions"
@@ -2806,66 +2897,74 @@ msgid "transposing instrument"
 msgstr "transposition"
 
 #. @node in ../../../Documentation/user/pitches.itely
-#. @subsubsection in ../../../Documentation/user/pitches.itely
+#. @unnumberedsubsubsec in ../../../Documentation/user/pitches.itely
 #. @node in ../../../Documentation/fr/user/changing-defaults.itely
 #. @subsection in ../../../Documentation/fr/user/changing-defaults.itely
-#. @node in ../../../Documentation/es/user/changing-defaults.itely
-#. @subsection in ../../../Documentation/es/user/changing-defaults.itely
+#. @node in ../../../Documentation/es/user/pitches.itely
+#. @subsubsection in ../../../Documentation/es/user/pitches.itely
 msgid "Automatic accidentals"
 msgstr "Altérations accidentelles automatiques"
 
 #. @node in ../../../Documentation/user/pitches.itely
-#. @subsubsection in ../../../Documentation/user/pitches.itely
+#. @unnumberedsubsubsec in ../../../Documentation/user/pitches.itely
 #. @node in ../../../Documentation/fr/user/editorial.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/editorial.itely
-#. @node in ../../../Documentation/es/user/educational.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/educational.itely
-#. @node in ../../../Documentation/de/user/educational.itely
-#. @unnumberedsubsubsec in ../../../Documentation/de/user/educational.itely
+#. @node in ../../../Documentation/es/user/pitches.itely
+#. @subsubsection in ../../../Documentation/es/user/pitches.itely
+#. @node in ../../../Documentation/de/user/editorial.itely
+#. @unnumberedsubsubsec in ../../../Documentation/de/user/editorial.itely
 msgid "Ambitus"
 msgstr "Ambitus"
 
 #. @node in ../../../Documentation/user/pitches.itely
 #. @subsection in ../../../Documentation/user/pitches.itely
-#. @node in ../../../Documentation/fr/user/editorial.itely
-#. @subsection in ../../../Documentation/fr/user/editorial.itely
-#. @node in ../../../Documentation/es/user/educational.itely
-#. @subsection in ../../../Documentation/es/user/educational.itely
-#. @node in ../../../Documentation/de/user/educational.itely
-#. @subsection in ../../../Documentation/de/user/educational.itely
+#. @node in ../../../Documentation/fr/user/pitches.itely
+#. @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/editorial.itely
+#. @subsection in ../../../Documentation/de/user/editorial.itely
 msgid "Note heads"
 msgstr "Têtes de note"
 
 #. @node in ../../../Documentation/user/pitches.itely
-#. @subsubsection in ../../../Documentation/user/pitches.itely
+#. @unnumberedsubsubsec in ../../../Documentation/user/pitches.itely
+#. @node in ../../../Documentation/fr/user/pitches.itely
+#. @unnumberedsubsubsec in ../../../Documentation/fr/user/pitches.itely
+#. @node in ../../../Documentation/es/user/pitches.itely
+#. @subsubsection in ../../../Documentation/es/user/pitches.itely
 #, fuzzy
 msgid "Special note heads"
 msgstr "Têtes de note spécifiques"
 
 #. @node in ../../../Documentation/user/pitches.itely
-#. @subsubsection in ../../../Documentation/user/pitches.itely
+#. @unnumberedsubsubsec in ../../../Documentation/user/pitches.itely
+#. @node in ../../../Documentation/fr/user/pitches.itely
+#. @unnumberedsubsubsec in ../../../Documentation/fr/user/pitches.itely
+#. @node in ../../../Documentation/es/user/pitches.itely
+#. @subsubsection in ../../../Documentation/es/user/pitches.itely
 msgid "Easy notation note heads"
 msgstr "Têtes de note avec nom de note"
 
 #. @node in ../../../Documentation/user/pitches.itely
-#. @subsubsection in ../../../Documentation/user/pitches.itely
-#. @node in ../../../Documentation/fr/user/editorial.itely
-#. @unnumberedsubsubsec in ../../../Documentation/fr/user/editorial.itely
-#. @node in ../../../Documentation/es/user/educational.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/educational.itely
-#. @node in ../../../Documentation/de/user/educational.itely
-#. @unnumberedsubsubsec in ../../../Documentation/de/user/educational.itely
+#. @unnumberedsubsubsec in ../../../Documentation/user/pitches.itely
+#. @node in ../../../Documentation/fr/user/pitches.itely
+#. @unnumberedsubsubsec in ../../../Documentation/fr/user/pitches.itely
+#. @node in ../../../Documentation/es/user/pitches.itely
+#. @subsubsection in ../../../Documentation/es/user/pitches.itely
+#. @node in ../../../Documentation/de/user/editorial.itely
+#. @unnumberedsubsubsec in ../../../Documentation/de/user/editorial.itely
 msgid "Shape note heads"
 msgstr "Têtes de note à forme variable"
 
 #. @node in ../../../Documentation/user/pitches.itely
-#. @subsubsection in ../../../Documentation/user/pitches.itely
-#. @node in ../../../Documentation/fr/user/editorial.itely
-#. @unnumberedsubsubsec in ../../../Documentation/fr/user/editorial.itely
-#. @node in ../../../Documentation/es/user/educational.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/educational.itely
-#. @node in ../../../Documentation/de/user/educational.itely
-#. @unnumberedsubsubsec in ../../../Documentation/de/user/educational.itely
+#. @unnumberedsubsubsec in ../../../Documentation/user/pitches.itely
+#. @node in ../../../Documentation/fr/user/pitches.itely
+#. @unnumberedsubsubsec in ../../../Documentation/fr/user/pitches.itely
+#. @node in ../../../Documentation/es/user/pitches.itely
+#. @subsubsection in ../../../Documentation/es/user/pitches.itely
+#. @node in ../../../Documentation/de/user/editorial.itely
+#. @unnumberedsubsubsec in ../../../Documentation/de/user/editorial.itely
 msgid "Improvisation"
 msgstr "Improvisation"
 
@@ -2896,45 +2995,35 @@ msgstr "Écriture du rythme"
 #. @node in ../../../Documentation/fr/user/rhythms.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/rhythms.itely
 #. @node in ../../../Documentation/es/user/rhythms.itely
-#. @unnumberedsubsubsec 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 "Durations"
 msgstr "Durées"
 
 #. @rglos in ../../../Documentation/user/rhythms.itely
+#. @rglos in ../../../Documentation/es/user/rhythms.itely
 msgid "breve"
 msgstr "brève"
 
 #. @rglos in ../../../Documentation/user/rhythms.itely
+#. @rglos in ../../../Documentation/es/user/rhythms.itely
 msgid "longa"
 msgstr "longue"
 
 #. @rglos in ../../../Documentation/user/rhythms.itely
+#. @rglos in ../../../Documentation/es/user/rhythms.itely
 msgid "Duration names notes and rests"
 msgstr ""
 
-#. @subheading in ../../../Documentation/user/rhythms.itely
-#, fuzzy
-msgid "Modifying nested tuplets"
-msgstr "Modification des propriétés de contexte"
-
-#. @subheading in ../../../Documentation/user/rhythms.itely
-#, fuzzy
-msgid "Modifying tuplet bracket length"
-msgstr "Modification des propriétés de contexte"
-
-#. @subheading in ../../../Documentation/user/rhythms.itely
-#, fuzzy
-msgid "Compressing music"
-msgstr "Gravure de musique existante"
-
 #. @rglos in ../../../Documentation/user/rhythms.itely
+#. @rglos in ../../../Documentation/es/user/rhythms.itely
 #, fuzzy
 msgid "tuplet"
 msgstr "Nolets"
 
 #. @rglos in ../../../Documentation/user/rhythms.itely
+#. @rglos in ../../../Documentation/es/user/rhythms.itely
 #, fuzzy
 msgid "polymetric"
 msgstr "paroles"
@@ -2944,13 +3033,14 @@ msgstr "paroles"
 #. @node in ../../../Documentation/fr/user/rhythms.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/rhythms.itely
 #. @node in ../../../Documentation/es/user/rhythms.itely
-#. @unnumberedsubsubsec 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 "Scaling durations"
 msgstr "Changement d'échelle des durées"
 
 #. @rglos in ../../../Documentation/user/rhythms.itely
+#. @rglos in ../../../Documentation/es/user/rhythms.itely
 msgid "laissez vibrer"
 msgstr "laissez vibrer"
 
@@ -2970,7 +3060,7 @@ msgstr "Écriture des silences"
 #. @node in ../../../Documentation/fr/user/rhythms.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/rhythms.itely
 #. @node in ../../../Documentation/es/user/rhythms.itely
-#. @unnumberedsubsubsec 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 "Skips"
@@ -2978,6 +3068,8 @@ msgstr "Silences invisibles"
 
 #. @node in ../../../Documentation/user/rhythms.itely
 #. @subsubsection in ../../../Documentation/user/rhythms.itely
+#. @node in ../../../Documentation/es/user/rhythms.itely
+#. @subsubsection in ../../../Documentation/es/user/rhythms.itely
 #, fuzzy
 msgid "Full measure rests"
 msgstr "Silences multi-mesures"
@@ -2987,6 +3079,10 @@ msgstr "Silences multi-mesures"
 msgid "multi-measure rest"
 msgstr "Silences multi-mesures"
 
+#. @rglos in ../../../Documentation/user/rhythms.itely
+msgid "church rests"
+msgstr "longues figures de silence"
+
 #. @node in ../../../Documentation/user/rhythms.itely
 #. @subsection in ../../../Documentation/user/rhythms.itely
 #. @node in ../../../Documentation/fr/user/rhythms.itely
@@ -3003,7 +3099,7 @@ msgstr "Gravure du rythme"
 #. @node in ../../../Documentation/fr/user/rhythms.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/rhythms.itely
 #. @node in ../../../Documentation/es/user/rhythms.itely
-#. @unnumberedsubsubsec 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 "Upbeats"
@@ -3014,7 +3110,7 @@ msgstr "Levées"
 #. @node in ../../../Documentation/fr/user/rhythms.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/rhythms.itely
 #. @node in ../../../Documentation/es/user/rhythms.itely
-#. @unnumberedsubsubsec 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 "Unmetered music"
@@ -3025,7 +3121,7 @@ msgstr "Musique sans métrique"
 #. @node in ../../../Documentation/fr/user/rhythms.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/rhythms.itely
 #. @node in ../../../Documentation/es/user/rhythms.itely
-#. @unnumberedsubsubsec 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 "Polymetric notation"
@@ -3045,7 +3141,7 @@ msgstr ""
 #. @node in ../../../Documentation/fr/user/rhythms.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/rhythms.itely
 #. @node in ../../../Documentation/es/user/rhythms.itely
-#. @unnumberedsubsubsec 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 "Automatic note splitting"
@@ -3067,7 +3163,7 @@ msgstr "Barres de ligature"
 #. @node in ../../../Documentation/fr/user/rhythms.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/rhythms.itely
 #. @node in ../../../Documentation/es/user/rhythms.itely
-#. @unnumberedsubsubsec 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 "Automatic beams"
@@ -3077,8 +3173,8 @@ msgstr "Barres de ligature automatiques"
 #. @subsubsection in ../../../Documentation/user/rhythms.itely
 #. @node in ../../../Documentation/fr/user/changing-defaults.itely
 #. @subsection in ../../../Documentation/fr/user/changing-defaults.itely
-#. @node in ../../../Documentation/es/user/changing-defaults.itely
-#. @subsection in ../../../Documentation/es/user/changing-defaults.itely
+#. @node in ../../../Documentation/es/user/rhythms.itely
+#. @subsubsection in ../../../Documentation/es/user/rhythms.itely
 msgid "Setting automatic beam behavior"
 msgstr "Définition les règles de ligatures automatiques"
 
@@ -3087,7 +3183,7 @@ msgstr "Définition les règles de ligatures automatiques"
 #. @node in ../../../Documentation/fr/user/rhythms.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/rhythms.itely
 #. @node in ../../../Documentation/es/user/rhythms.itely
-#. @unnumberedsubsubsec 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 "Manual beams"
@@ -3098,7 +3194,7 @@ msgstr "Barres de ligature manuelles"
 #. @node in ../../../Documentation/fr/user/rhythms.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/rhythms.itely
 #. @node in ../../../Documentation/es/user/rhythms.itely
-#. @unnumberedsubsubsec 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 "Feathered beams"
@@ -3120,7 +3216,7 @@ msgstr "Barres de mesures"
 #. @node in ../../../Documentation/fr/user/rhythms.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/rhythms.itely
 #. @node in ../../../Documentation/es/user/rhythms.itely
-#. @unnumberedsubsubsec 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 "Bar lines"
@@ -3131,7 +3227,7 @@ msgstr "Barres de mesures"
 #. @node in ../../../Documentation/fr/user/rhythms.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/rhythms.itely
 #. @node in ../../../Documentation/es/user/rhythms.itely
-#. @unnumberedsubsubsec 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 "Bar numbers"
@@ -3147,7 +3243,7 @@ msgstr "Vérification des limites et numéros de mesure"
 #. @node in ../../../Documentation/fr/user/rhythms.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/rhythms.itely
 #. @node in ../../../Documentation/es/user/rhythms.itely
-#. @unnumberedsubsubsec 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 "Rehearsal marks"
@@ -3169,7 +3265,7 @@ msgstr "Fonctionnalités rythmiques particulières"
 #. @node in ../../../Documentation/fr/user/rhythms.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/rhythms.itely
 #. @node in ../../../Documentation/es/user/rhythms.itely
-#. @unnumberedsubsubsec 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 "Aligning to cadenzas"
@@ -3180,7 +3276,7 @@ msgstr "Alignement et cadences"
 #. @node in ../../../Documentation/fr/user/rhythms.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/rhythms.itely
 #. @node in ../../../Documentation/es/user/rhythms.itely
-#. @unnumberedsubsubsec 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 "Time administration"
@@ -3210,13 +3306,31 @@ msgstr "Indications attachées à des notes"
 
 #. @node in ../../../Documentation/user/expressive.itely
 #. @subsubsection in ../../../Documentation/user/expressive.itely
+#. @node in ../../../Documentation/es/user/expressive.itely
+#. @subsubsection in ../../../Documentation/es/user/expressive.itely
 msgid "Articulations and ornamentations"
 msgstr "Articulations et ornements"
 
 #. @rglos in ../../../Documentation/user/expressive.itely
+#. @rglos in ../../../Documentation/es/user/expressive.itely
+msgid "tenuto"
+msgstr ""
+
+#. @rglos in ../../../Documentation/user/expressive.itely
+#. @rglos in ../../../Documentation/es/user/expressive.itely
 #, fuzzy
-msgid "hairpin"
-msgstr "Soufflet de crescendo"
+msgid "accent"
+msgstr "altération accidentelle"
+
+#. @rglos in ../../../Documentation/user/expressive.itely
+#. @rglos in ../../../Documentation/es/user/expressive.itely
+msgid "staccato"
+msgstr ""
+
+#. @rglos in ../../../Documentation/user/expressive.itely
+#. @rglos in ../../../Documentation/es/user/expressive.itely
+msgid "portato"
+msgstr ""
 
 #. @node in ../../../Documentation/user/expressive.itely
 #. @subsection in ../../../Documentation/user/expressive.itely
@@ -3234,7 +3348,7 @@ msgstr "Courbes"
 #. @node in ../../../Documentation/fr/user/expressive.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/expressive.itely
 #. @node in ../../../Documentation/es/user/expressive.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/expressive.itely
+#. @subsubsection in ../../../Documentation/es/user/expressive.itely
 #. @node in ../../../Documentation/de/user/expressive.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/expressive.itely
 msgid "Breath marks"
@@ -3245,12 +3359,20 @@ msgstr "Signes de respiration"
 #. @node in ../../../Documentation/fr/user/expressive.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/expressive.itely
 #. @node in ../../../Documentation/es/user/expressive.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/expressive.itely
+#. @subsubsection in ../../../Documentation/es/user/expressive.itely
 #. @node in ../../../Documentation/de/user/expressive.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/expressive.itely
 msgid "Falls and doits"
 msgstr "Chutes et sauts"
 
+#. @rglos in ../../../Documentation/user/expressive.itely
+msgid "falls"
+msgstr "chutes"
+
+#. @rglos in ../../../Documentation/user/expressive.itely
+msgid "doits"
+msgstr "sauts"
+
 #. @node in ../../../Documentation/user/expressive.itely
 #. @subsection in ../../../Documentation/user/expressive.itely
 #. @node in ../../../Documentation/fr/user/expressive.itely
@@ -3267,42 +3389,51 @@ msgstr "Lignes"
 #. @node in ../../../Documentation/fr/user/expressive.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/expressive.itely
 #. @node in ../../../Documentation/es/user/expressive.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/expressive.itely
+#. @subsubsection in ../../../Documentation/es/user/expressive.itely
 #. @node in ../../../Documentation/de/user/expressive.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/expressive.itely
 msgid "Glissando"
 msgstr "Glissando"
 
 #. @rglos in ../../../Documentation/user/expressive.itely
-msgid "falls"
-msgstr "chutes"
-
-#. @rglos in ../../../Documentation/user/expressive.itely
-msgid "doits"
-msgstr "sauts"
+#, fuzzy
+msgid "glissando"
+msgstr "Glissando"
 
 #. @node in ../../../Documentation/user/expressive.itely
 #. @subsubsection in ../../../Documentation/user/expressive.itely
 #. @node in ../../../Documentation/fr/user/expressive.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/expressive.itely
 #. @node in ../../../Documentation/es/user/expressive.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/expressive.itely
+#. @subsubsection in ../../../Documentation/es/user/expressive.itely
 #. @node in ../../../Documentation/de/user/expressive.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/expressive.itely
 msgid "Arpeggio"
 msgstr "Arpèges"
 
+#. @rglos in ../../../Documentation/user/expressive.itely
+#. @rglos in ../../../Documentation/es/user/expressive.itely
+#, fuzzy
+msgid "arpeggio"
+msgstr "Arpèges"
+
 #. @node in ../../../Documentation/user/expressive.itely
 #. @subsubsection in ../../../Documentation/user/expressive.itely
 #. @node in ../../../Documentation/fr/user/expressive.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/expressive.itely
 #. @node in ../../../Documentation/es/user/expressive.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/expressive.itely
+#. @subsubsection in ../../../Documentation/es/user/expressive.itely
 #. @node in ../../../Documentation/de/user/expressive.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/expressive.itely
 msgid "Trills"
 msgstr "Trilles"
 
+#. @rglos in ../../../Documentation/user/expressive.itely
+#. @rglos in ../../../Documentation/es/user/expressive.itely
+#, fuzzy
+msgid "trill"
+msgstr "Trilles"
+
 #. @node in ../../../Documentation/user/repeats.itely
 #. @section in ../../../Documentation/user/repeats.itely
 #. @node in ../../../Documentation/fr/user/repeats.itely
@@ -3316,74 +3447,72 @@ msgstr "Répétitions"
 
 #. @node in ../../../Documentation/user/repeats.itely
 #. @subsection in ../../../Documentation/user/repeats.itely
-#. @node in ../../../Documentation/fr/user/repeats.itely
-#. @subsection in ../../../Documentation/fr/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 repeats"
+#, fuzzy
+msgid "Writing long repeats"
 msgstr "Écriture de répétitions"
 
 #. @node in ../../../Documentation/user/repeats.itely
 #. @subsubsection in ../../../Documentation/user/repeats.itely
-#. @node in ../../../Documentation/fr/user/repeats.itely
-#. @unnumberedsubsubsec in ../../../Documentation/fr/user/repeats.itely
 #. @node in ../../../Documentation/es/user/repeats.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/repeats.itely
-#. @node in ../../../Documentation/de/user/repeats.itely
-#. @unnumberedsubsubsec in ../../../Documentation/de/user/repeats.itely
-msgid "Repeat syntax"
-msgstr "Syntaxe des répétitions"
-
-#. @node in ../../../Documentation/user/repeats.itely
-#. @subsubsection in ../../../Documentation/user/repeats.itely
+#. @subsubsection in ../../../Documentation/es/user/repeats.itely
 msgid "Normal repeats"
 msgstr "Répétitions courantes"
 
+#. @rglos in ../../../Documentation/user/repeats.itely
+#. @rglos in ../../../Documentation/es/user/repeats.itely
+#, fuzzy
+msgid "repeat"
+msgstr "Répétitions"
+
+#. @rglos in ../../../Documentation/user/repeats.itely
+#. @rglos in ../../../Documentation/es/user/repeats.itely
+msgid "volta"
+msgstr ""
+
 #. @node in ../../../Documentation/user/repeats.itely
 #. @subsubsection in ../../../Documentation/user/repeats.itely
-#. @node in ../../../Documentation/fr/user/repeats.itely
-#. @unnumberedsubsubsec in ../../../Documentation/fr/user/repeats.itely
 #. @node in ../../../Documentation/es/user/repeats.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/repeats.itely
-#. @node in ../../../Documentation/de/user/repeats.itely
-#. @unnumberedsubsubsec in ../../../Documentation/de/user/repeats.itely
-msgid "Manual repeat commands"
+#. @subsubsection in ../../../Documentation/es/user/repeats.itely
+#, fuzzy
+msgid "Manual repeat marks"
 msgstr "Commandes de reprise manuelles"
 
+#. @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
+#, fuzzy
+msgid "Written-out repeats"
+msgstr "Écriture de répétitions"
+
 #. @node in ../../../Documentation/user/repeats.itely
 #. @subsection in ../../../Documentation/user/repeats.itely
-#. @node in ../../../Documentation/fr/user/repeats.itely
-#. @subsection in ../../../Documentation/fr/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 "Other repeats"
+#, fuzzy
+msgid "Short repeats"
 msgstr "Autres types de répétition"
 
 #. @node in ../../../Documentation/user/repeats.itely
 #. @subsubsection in ../../../Documentation/user/repeats.itely
-#. @node in ../../../Documentation/fr/user/repeats.itely
-#. @unnumberedsubsubsec in ../../../Documentation/fr/user/repeats.itely
 #. @node in ../../../Documentation/es/user/repeats.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/repeats.itely
-#. @node in ../../../Documentation/de/user/repeats.itely
-#. @unnumberedsubsubsec in ../../../Documentation/de/user/repeats.itely
-msgid "Tremolo repeats"
-msgstr "Répétitions en trémolo"
+#. @subsubsection in ../../../Documentation/es/user/repeats.itely
+#, fuzzy
+msgid "Percent repeats"
+msgstr "Répétitions de mesure"
 
 #. @node in ../../../Documentation/user/repeats.itely
 #. @subsubsection in ../../../Documentation/user/repeats.itely
 #. @node in ../../../Documentation/fr/user/repeats.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/repeats.itely
 #. @node in ../../../Documentation/es/user/repeats.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/repeats.itely
+#. @subsubsection in ../../../Documentation/es/user/repeats.itely
 #. @node in ../../../Documentation/de/user/repeats.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/repeats.itely
-msgid "Measure repeats"
-msgstr "Répétitions de mesure"
+msgid "Tremolo repeats"
+msgstr "Répétitions en trémolo"
 
 #. @node in ../../../Documentation/user/simultaneous.itely
 #. @section in ../../../Documentation/user/simultaneous.itely
@@ -3409,6 +3538,10 @@ msgstr "Monophonie"
 
 #. @node in ../../../Documentation/user/simultaneous.itely
 #. @subsubsection in ../../../Documentation/user/simultaneous.itely
+#. @node in ../../../Documentation/fr/user/simultaneous.itely
+#. @unnumberedsubsubsec in ../../../Documentation/fr/user/simultaneous.itely
+#. @node in ../../../Documentation/es/user/simultaneous.itely
+#. @subsubsection in ../../../Documentation/es/user/simultaneous.itely
 msgid "Chorded notes"
 msgstr "Notes en accords"
 
@@ -3417,7 +3550,7 @@ msgstr "Notes en accords"
 #. @node in ../../../Documentation/fr/user/simultaneous.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/simultaneous.itely
 #. @node in ../../../Documentation/es/user/simultaneous.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/simultaneous.itely
+#. @subsubsection in ../../../Documentation/es/user/simultaneous.itely
 #. @node in ../../../Documentation/de/user/simultaneous.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/simultaneous.itely
 msgid "Clusters"
@@ -3444,7 +3577,7 @@ msgstr "Résolution des collisions"
 #. @node in ../../../Documentation/fr/user/simultaneous.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/simultaneous.itely
 #. @node in ../../../Documentation/es/user/simultaneous.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/simultaneous.itely
+#. @subsubsection in ../../../Documentation/es/user/simultaneous.itely
 #. @node in ../../../Documentation/de/user/simultaneous.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/simultaneous.itely
 msgid "Automatic part combining"
@@ -3459,7 +3592,7 @@ msgstr ""
 #. @node in ../../../Documentation/fr/user/simultaneous.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/simultaneous.itely
 #. @node in ../../../Documentation/es/user/simultaneous.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/simultaneous.itely
+#. @subsubsection in ../../../Documentation/es/user/simultaneous.itely
 #. @node in ../../../Documentation/de/user/simultaneous.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/simultaneous.itely
 msgid "Writing music in parallel"
@@ -3489,14 +3622,9 @@ msgstr "Gravure des portées"
 
 #. @node in ../../../Documentation/user/staff.itely
 #. @subsubsection in ../../../Documentation/user/staff.itely
-#. @node in ../../../Documentation/fr/user/staff.itely
-#. @unnumberedsubsubsec in ../../../Documentation/fr/user/staff.itely
-#. @node in ../../../Documentation/es/user/staff.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/staff.itely
-#. @node in ../../../Documentation/de/user/staff.itely
-#. @unnumberedsubsubsec in ../../../Documentation/de/user/staff.itely
-msgid "System start delimiters"
-msgstr "Groupements de systèmes"
+#, fuzzy
+msgid "Initiating new staves"
+msgstr "Masquage de portées"
 
 #. @rglos in ../../../Documentation/user/staff.itely
 msgid "staff"
@@ -3507,22 +3635,40 @@ msgstr ""
 msgid "staves"
 msgstr "octave"
 
+#. @node in ../../../Documentation/user/staff.itely
+#. @subsubsection in ../../../Documentation/user/staff.itely
+#, fuzzy
+msgid "Grouping staves"
+msgstr "Masquage de portées"
+
 #. @rglos in ../../../Documentation/user/staff.itely
 #, fuzzy
 msgid "bracket"
 msgstr "accolade"
 
+#. @node in ../../../Documentation/user/staff.itely
+#. @subsection in ../../../Documentation/user/staff.itely
+#, fuzzy
+msgid "Modifying single staves"
+msgstr "Modification des propriétés de contexte"
+
 #. @node in ../../../Documentation/user/staff.itely
 #. @subsubsection in ../../../Documentation/user/staff.itely
 #. @node in ../../../Documentation/fr/user/staff.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/staff.itely
 #. @node in ../../../Documentation/es/user/staff.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/staff.itely
+#. @subsubsection in ../../../Documentation/es/user/staff.itely
 #. @node in ../../../Documentation/de/user/staff.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/staff.itely
 msgid "Staff symbol"
 msgstr "Symbole de la portée"
 
+#. @node in ../../../Documentation/user/staff.itely
+#. @subsubsection in ../../../Documentation/user/staff.itely
+#, fuzzy
+msgid "Ossia staves"
+msgstr "Double portée"
+
 #. @rglos in ../../../Documentation/user/staff.itely
 #, fuzzy
 msgid "Frenched staff"
@@ -3533,7 +3679,7 @@ msgstr "Portée unique"
 #. @node in ../../../Documentation/fr/user/staff.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/staff.itely
 #. @node in ../../../Documentation/es/user/staff.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/staff.itely
+#. @subsubsection in ../../../Documentation/es/user/staff.itely
 #. @node in ../../../Documentation/de/user/staff.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/staff.itely
 msgid "Hiding staves"
@@ -3555,7 +3701,7 @@ msgstr "Écriture de partie séparées"
 #. @node in ../../../Documentation/fr/user/staff.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/staff.itely
 #. @node in ../../../Documentation/es/user/staff.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/staff.itely
+#. @subsubsection in ../../../Documentation/es/user/staff.itely
 #. @node in ../../../Documentation/de/user/staff.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/staff.itely
 msgid "Metronome marks"
@@ -3586,7 +3732,7 @@ msgstr "Indications métronomiques"
 #. @node in ../../../Documentation/fr/user/staff.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/staff.itely
 #. @node in ../../../Documentation/es/user/staff.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/staff.itely
+#. @subsubsection in ../../../Documentation/es/user/staff.itely
 #. @node in ../../../Documentation/de/user/staff.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/staff.itely
 msgid "Instrument names"
@@ -3597,7 +3743,7 @@ msgstr "Noms d'instrument"
 #. @node in ../../../Documentation/fr/user/staff.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/staff.itely
 #. @node in ../../../Documentation/es/user/staff.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/staff.itely
+#. @subsubsection in ../../../Documentation/es/user/staff.itely
 #. @node in ../../../Documentation/de/user/staff.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/staff.itely
 msgid "Quoting other voices"
@@ -3608,7 +3754,7 @@ msgstr "Citation d'autres voix"
 #. @node in ../../../Documentation/fr/user/staff.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/staff.itely
 #. @node in ../../../Documentation/es/user/staff.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/staff.itely
+#. @subsubsection in ../../../Documentation/es/user/staff.itely
 #. @node in ../../../Documentation/de/user/staff.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/staff.itely
 msgid "Formatting cue notes"
@@ -3616,6 +3762,12 @@ msgstr "Mise en forme d'une citation"
 
 #. @node in ../../../Documentation/user/editorial.itely
 #. @section in ../../../Documentation/user/editorial.itely
+#. @node in ../../../Documentation/fr/user/editorial.itely
+#. @section in ../../../Documentation/fr/user/editorial.itely
+#. @node in ../../../Documentation/es/user/editorial.itely
+#. @section in ../../../Documentation/es/user/editorial.itely
+#. @node in ../../../Documentation/de/user/editorial.itely
+#. @section in ../../../Documentation/de/user/editorial.itely
 msgid "Editorial annotations"
 msgstr "Notation éditoriale"
 
@@ -3623,10 +3775,10 @@ msgstr "Notation éditoriale"
 #. @subsection in ../../../Documentation/user/editorial.itely
 #. @node in ../../../Documentation/fr/user/editorial.itely
 #. @subsection in ../../../Documentation/fr/user/editorial.itely
-#. @node in ../../../Documentation/es/user/educational.itely
-#. @subsection in ../../../Documentation/es/user/educational.itely
-#. @node in ../../../Documentation/de/user/educational.itely
-#. @subsection in ../../../Documentation/de/user/educational.itely
+#. @node in ../../../Documentation/es/user/editorial.itely
+#. @subsection in ../../../Documentation/es/user/editorial.itely
+#. @node in ../../../Documentation/de/user/editorial.itely
+#. @subsection in ../../../Documentation/de/user/editorial.itely
 msgid "Inside the staff"
 msgstr "Dans la portée"
 
@@ -3634,10 +3786,10 @@ msgstr "Dans la portée"
 #. @subsubsection in ../../../Documentation/user/editorial.itely
 #. @node in ../../../Documentation/fr/user/editorial.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/editorial.itely
-#. @node in ../../../Documentation/es/user/educational.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/educational.itely
-#. @node in ../../../Documentation/de/user/educational.itely
-#. @unnumberedsubsubsec in ../../../Documentation/de/user/educational.itely
+#. @node in ../../../Documentation/es/user/editorial.itely
+#. @subsubsection in ../../../Documentation/es/user/editorial.itely
+#. @node in ../../../Documentation/de/user/editorial.itely
+#. @unnumberedsubsubsec in ../../../Documentation/de/user/editorial.itely
 msgid "Selecting notation font size"
 msgstr "Indication de la taille de fonte musicale"
 
@@ -3645,10 +3797,10 @@ msgstr "Indication de la taille de fonte musicale"
 #. @subsubsection in ../../../Documentation/user/editorial.itely
 #. @node in ../../../Documentation/fr/user/editorial.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/editorial.itely
-#. @node in ../../../Documentation/es/user/educational.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/educational.itely
-#. @node in ../../../Documentation/de/user/educational.itely
-#. @unnumberedsubsubsec in ../../../Documentation/de/user/educational.itely
+#. @node in ../../../Documentation/es/user/editorial.itely
+#. @subsubsection in ../../../Documentation/es/user/editorial.itely
+#. @node in ../../../Documentation/de/user/editorial.itely
+#. @unnumberedsubsubsec in ../../../Documentation/de/user/editorial.itely
 msgid "Fingering instructions"
 msgstr "Doigtés"
 
@@ -3656,10 +3808,10 @@ msgstr "Doigtés"
 #. @subsubsection in ../../../Documentation/user/editorial.itely
 #. @node in ../../../Documentation/fr/user/editorial.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/editorial.itely
-#. @node in ../../../Documentation/es/user/educational.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/educational.itely
-#. @node in ../../../Documentation/de/user/educational.itely
-#. @unnumberedsubsubsec in ../../../Documentation/de/user/educational.itely
+#. @node in ../../../Documentation/es/user/editorial.itely
+#. @subsubsection in ../../../Documentation/es/user/editorial.itely
+#. @node in ../../../Documentation/de/user/editorial.itely
+#. @unnumberedsubsubsec in ../../../Documentation/de/user/editorial.itely
 msgid "Hidden notes"
 msgstr "Dictée à trous"
 
@@ -3667,10 +3819,10 @@ msgstr "Dictée à trous"
 #. @subsubsection in ../../../Documentation/user/editorial.itely
 #. @node in ../../../Documentation/fr/user/editorial.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/editorial.itely
-#. @node in ../../../Documentation/es/user/educational.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/educational.itely
-#. @node in ../../../Documentation/de/user/educational.itely
-#. @unnumberedsubsubsec in ../../../Documentation/de/user/educational.itely
+#. @node in ../../../Documentation/es/user/editorial.itely
+#. @subsubsection in ../../../Documentation/es/user/editorial.itely
+#. @node in ../../../Documentation/de/user/editorial.itely
+#. @unnumberedsubsubsec in ../../../Documentation/de/user/editorial.itely
 msgid "Coloring objects"
 msgstr "Coloration d'objets"
 
@@ -3678,10 +3830,10 @@ msgstr "Coloration d'objets"
 #. @subsubsection in ../../../Documentation/user/editorial.itely
 #. @node in ../../../Documentation/fr/user/editorial.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/editorial.itely
-#. @node in ../../../Documentation/es/user/educational.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/educational.itely
-#. @node in ../../../Documentation/de/user/educational.itely
-#. @unnumberedsubsubsec in ../../../Documentation/de/user/educational.itely
+#. @node in ../../../Documentation/es/user/editorial.itely
+#. @subsubsection in ../../../Documentation/es/user/editorial.itely
+#. @node in ../../../Documentation/de/user/editorial.itely
+#. @unnumberedsubsubsec in ../../../Documentation/de/user/editorial.itely
 msgid "Parentheses"
 msgstr "Parenthèses"
 
@@ -3689,10 +3841,10 @@ msgstr "Parenthèses"
 #. @subsubsection in ../../../Documentation/user/editorial.itely
 #. @node in ../../../Documentation/fr/user/editorial.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/editorial.itely
-#. @node in ../../../Documentation/es/user/educational.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/educational.itely
-#. @node in ../../../Documentation/de/user/educational.itely
-#. @unnumberedsubsubsec in ../../../Documentation/de/user/educational.itely
+#. @node in ../../../Documentation/es/user/editorial.itely
+#. @subsubsection in ../../../Documentation/es/user/editorial.itely
+#. @node in ../../../Documentation/de/user/editorial.itely
+#. @unnumberedsubsubsec in ../../../Documentation/de/user/editorial.itely
 msgid "Stems"
 msgstr "Hampes"
 
@@ -3700,32 +3852,32 @@ msgstr "Hampes"
 #. @subsection in ../../../Documentation/user/editorial.itely
 #. @node in ../../../Documentation/fr/user/editorial.itely
 #. @subsection in ../../../Documentation/fr/user/editorial.itely
-#. @node in ../../../Documentation/es/user/educational.itely
-#. @subsection in ../../../Documentation/es/user/educational.itely
-#. @node in ../../../Documentation/de/user/educational.itely
-#. @subsection in ../../../Documentation/de/user/educational.itely
+#. @node in ../../../Documentation/es/user/editorial.itely
+#. @subsection in ../../../Documentation/es/user/editorial.itely
+#. @node in ../../../Documentation/de/user/editorial.itely
+#. @subsection in ../../../Documentation/de/user/editorial.itely
 msgid "Outside the staff"
 msgstr "Hors de la portée"
 
 #. @node in ../../../Documentation/user/editorial.itely
 #. @subsubsection in ../../../Documentation/user/editorial.itely
 #. @node in ../../../Documentation/fr/user/editorial.itely
-#. @subsection in ../../../Documentation/fr/user/editorial.itely
-#. @node in ../../../Documentation/es/user/educational.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/educational.itely
-#. @node in ../../../Documentation/de/user/educational.itely
-#. @subsection in ../../../Documentation/de/user/educational.itely
+#. @subsubsection in ../../../Documentation/fr/user/editorial.itely
+#. @node in ../../../Documentation/es/user/editorial.itely
+#. @subsubsection in ../../../Documentation/es/user/editorial.itely
+#. @node in ../../../Documentation/de/user/editorial.itely
+#. @subsection in ../../../Documentation/de/user/editorial.itely
 msgid "Balloon help"
 msgstr "Info-bulle"
 
 #. @node in ../../../Documentation/user/editorial.itely
 #. @subsubsection in ../../../Documentation/user/editorial.itely
 #. @node in ../../../Documentation/fr/user/editorial.itely
-#. @subsection in ../../../Documentation/fr/user/editorial.itely
-#. @node in ../../../Documentation/es/user/educational.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/educational.itely
-#. @node in ../../../Documentation/de/user/educational.itely
-#. @subsection in ../../../Documentation/de/user/educational.itely
+#. @subsubsection in ../../../Documentation/fr/user/editorial.itely
+#. @node in ../../../Documentation/es/user/editorial.itely
+#. @subsubsection in ../../../Documentation/es/user/editorial.itely
+#. @node in ../../../Documentation/de/user/editorial.itely
+#. @subsection in ../../../Documentation/de/user/editorial.itely
 msgid "Grid lines"
 msgstr "Quadrillage temporel"
 
@@ -3733,8 +3885,8 @@ msgstr "Quadrillage temporel"
 #. @subsubsection in ../../../Documentation/user/editorial.itely
 #. @node in ../../../Documentation/fr/user/expressive.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/expressive.itely
-#. @node in ../../../Documentation/es/user/expressive.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/expressive.itely
+#. @node in ../../../Documentation/es/user/editorial.itely
+#. @subsubsection in ../../../Documentation/es/user/editorial.itely
 #. @node in ../../../Documentation/de/user/expressive.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/expressive.itely
 msgid "Analysis brackets"
@@ -3774,7 +3926,7 @@ msgstr "Introduction à l'entrée de texte"
 #. @node in ../../../Documentation/fr/user/text.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/text.itely
 #. @node in ../../../Documentation/es/user/text.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/text.itely
+#. @subsubsection in ../../../Documentation/es/user/text.itely
 #. @node in ../../../Documentation/de/user/text.itely
 #. @subsubsection in ../../../Documentation/de/user/text.itely
 msgid "Text scripts"
@@ -3785,7 +3937,7 @@ msgstr "Commentaires textuels"
 #. @node in ../../../Documentation/fr/user/text.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/text.itely
 #. @node in ../../../Documentation/es/user/text.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/text.itely
+#. @subsubsection in ../../../Documentation/es/user/text.itely
 #. @node in ../../../Documentation/de/user/text.itely
 #. @subsubsection in ../../../Documentation/de/user/text.itely
 msgid "Text spanners"
@@ -3796,7 +3948,7 @@ msgstr "Extensions de texte"
 #. @node in ../../../Documentation/fr/user/text.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/text.itely
 #. @node in ../../../Documentation/es/user/text.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/text.itely
+#. @subsubsection in ../../../Documentation/es/user/text.itely
 #. @node in ../../../Documentation/de/user/text.itely
 #. @subsubsection in ../../../Documentation/de/user/text.itely
 msgid "Text marks"
@@ -3818,7 +3970,7 @@ msgstr "Étiquettes de texte"
 #. @node in ../../../Documentation/fr/user/text.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/text.itely
 #. @node in ../../../Documentation/es/user/text.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/text.itely
+#. @subsubsection in ../../../Documentation/es/user/text.itely
 #. @node in ../../../Documentation/de/user/text.itely
 #. @subsubsection in ../../../Documentation/de/user/text.itely
 msgid "Text markup introduction"
@@ -3829,7 +3981,7 @@ msgstr "Introduction aux étiquettes de texte"
 #. @node in ../../../Documentation/fr/user/text.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/text.itely
 #. @node in ../../../Documentation/es/user/text.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/text.itely
+#. @subsubsection in ../../../Documentation/es/user/text.itely
 #. @node in ../../../Documentation/de/user/text.itely
 #. @subsubsection in ../../../Documentation/de/user/text.itely
 msgid "Nested scores"
@@ -3840,7 +3992,7 @@ msgstr "Partitions emboîtées"
 #. @node in ../../../Documentation/fr/user/text.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/text.itely
 #. @node in ../../../Documentation/es/user/text.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/text.itely
+#. @subsubsection in ../../../Documentation/es/user/text.itely
 #. @node in ../../../Documentation/de/user/text.itely
 #. @subsubsection in ../../../Documentation/de/user/text.itely
 msgid "Page wrapping text"
@@ -3851,7 +4003,7 @@ msgstr "Texte avec sauts de page"
 #. @node in ../../../Documentation/fr/user/text.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/text.itely
 #. @node in ../../../Documentation/es/user/text.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/text.itely
+#. @subsubsection in ../../../Documentation/es/user/text.itely
 #. @node in ../../../Documentation/de/user/text.itely
 #. @subsubsection in ../../../Documentation/de/user/text.itely
 msgid "Font selection"
@@ -3869,7 +4021,7 @@ msgstr "Particularités liées au texte"
 #. @node in ../../../Documentation/fr/user/text.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/text.itely
 #. @node in ../../../Documentation/es/user/text.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/text.itely
+#. @subsubsection in ../../../Documentation/es/user/text.itely
 #. @node in ../../../Documentation/de/user/text.itely
 #. @subsubsection in ../../../Documentation/de/user/text.itely
 msgid "New dynamic marks"
@@ -3880,7 +4032,7 @@ msgstr "Personnalisation des indications de nuance"
 #. @node in ../../../Documentation/fr/user/text.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/text.itely
 #. @node in ../../../Documentation/es/user/text.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/text.itely
+#. @subsubsection in ../../../Documentation/es/user/text.itely
 #. @node in ../../../Documentation/de/user/text.itely
 #. @subsubsection in ../../../Documentation/de/user/text.itely
 msgid "Text and line spanners"
@@ -3910,6 +4062,8 @@ msgstr "Musique vocale"
 
 #. @node in ../../../Documentation/user/vocal.itely
 #. @subsection in ../../../Documentation/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 "Simple lyrics"
@@ -3920,7 +4074,7 @@ msgstr "Paroles simples"
 #. @node in ../../../Documentation/fr/user/vocal.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/vocal.itely
 #. @node in ../../../Documentation/es/user/vocal.itely
-#. @unnumberedsubsubsec 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 "Entering lyrics"
@@ -3931,7 +4085,7 @@ msgstr "Saisie de paroles"
 #. @node in ../../../Documentation/fr/user/vocal.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/vocal.itely
 #. @node in ../../../Documentation/es/user/vocal.itely
-#. @unnumberedsubsubsec 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 "Automatic syllable durations"
@@ -3942,7 +4096,7 @@ msgstr "Durée automatique des syllabes"
 #. @node in ../../../Documentation/fr/user/vocal.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/vocal.itely
 #. @node in ../../../Documentation/es/user/vocal.itely
-#. @unnumberedsubsubsec 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"
@@ -3953,7 +4107,7 @@ msgstr "Une autre manière de saisir des paroles"
 #. @node in ../../../Documentation/fr/user/vocal.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/vocal.itely
 #. @node in ../../../Documentation/es/user/vocal.itely
-#. @unnumberedsubsubsec 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"
@@ -3964,7 +4118,7 @@ msgstr "Plusieurs syllabes sur une même note"
 #. @node in ../../../Documentation/fr/user/vocal.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/vocal.itely
 #. @node in ../../../Documentation/es/user/vocal.itely
-#. @unnumberedsubsubsec 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"
@@ -3975,7 +4129,7 @@ msgstr "Plusieurs notes pour une même syllabe"
 #. @node in ../../../Documentation/fr/user/vocal.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/vocal.itely
 #. @node in ../../../Documentation/es/user/vocal.itely
-#. @unnumberedsubsubsec 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 "Extenders and hyphens"
@@ -3983,6 +4137,8 @@ msgstr "Traits d'union et de prolongation"
 
 #. @node in ../../../Documentation/user/vocal.itely
 #. @subsection in ../../../Documentation/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 "Vocals and variables"
@@ -3990,6 +4146,8 @@ msgstr "Paroles et variables"
 
 #. @node in ../../../Documentation/user/vocal.itely
 #. @subsubsection in ../../../Documentation/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 "Working with lyrics and variables"
@@ -4000,7 +4158,7 @@ msgstr "Travail avec des paroles et variables"
 #. @node in ../../../Documentation/fr/user/vocal.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/vocal.itely
 #. @node in ../../../Documentation/es/user/vocal.itely
-#. @unnumberedsubsubsec 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"
@@ -4011,7 +4169,7 @@ msgstr "Flexibilité dans le placement"
 #. @node in ../../../Documentation/fr/user/vocal.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/vocal.itely
 #. @node in ../../../Documentation/es/user/vocal.itely
-#. @unnumberedsubsubsec 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"
@@ -4022,7 +4180,7 @@ msgstr "Paroles sur plusieurs notes d'un mélisme"
 #. @node in ../../../Documentation/fr/user/vocal.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/vocal.itely
 #. @node in ../../../Documentation/es/user/vocal.itely
-#. @unnumberedsubsubsec 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 "Divisi lyrics"
@@ -4033,7 +4191,7 @@ msgstr "Paroles alternatives"
 #. @node in ../../../Documentation/fr/user/vocal.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/vocal.itely
 #. @node in ../../../Documentation/es/user/vocal.itely
-#. @unnumberedsubsubsec 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"
@@ -4044,7 +4202,7 @@ msgstr "Changement de la voix associée à une ligne de paroles"
 #. @node in ../../../Documentation/fr/user/vocal.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/vocal.itely
 #. @node in ../../../Documentation/es/user/vocal.itely
-#. @unnumberedsubsubsec 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 independent of notes"
@@ -4052,6 +4210,8 @@ msgstr "Paroles indépendantes des notes"
 
 #. @node in ../../../Documentation/user/vocal.itely
 #. @subsection in ../../../Documentation/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 "Spacing vocals"
@@ -4062,7 +4222,7 @@ msgstr "Espacement des paroles"
 #. @node in ../../../Documentation/fr/user/vocal.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/vocal.itely
 #. @node in ../../../Documentation/es/user/vocal.itely
-#. @unnumberedsubsubsec 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"
@@ -4073,7 +4233,7 @@ msgstr "Espacement des paroles"
 #. @node in ../../../Documentation/fr/user/vocal.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/vocal.itely
 #. @node in ../../../Documentation/es/user/vocal.itely
-#. @unnumberedsubsubsec 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"
@@ -4082,7 +4242,8 @@ msgstr "Traitement avancé des couplets"
 #. @node in ../../../Documentation/user/vocal.itely
 #. @subsubsection in ../../../Documentation/user/vocal.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/vocal.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/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 stanza numbers"
@@ -4091,7 +4252,8 @@ msgstr "Numérotation des couplets"
 #. @node in ../../../Documentation/user/vocal.itely
 #. @subsubsection in ../../../Documentation/user/vocal.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/vocal.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/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"
@@ -4100,7 +4262,8 @@ msgstr "Ajout de nuances"
 #. @node in ../../../Documentation/user/vocal.itely
 #. @subsubsection in ../../../Documentation/user/vocal.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/vocal.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/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"
@@ -4109,7 +4272,8 @@ msgstr "Nom des chanteurs"
 #. @node in ../../../Documentation/user/vocal.itely
 #. @subsubsection in ../../../Documentation/user/vocal.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/vocal.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/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 "Printing stanzas at the end"
@@ -4118,7 +4282,8 @@ msgstr "Paroles en fin de partition"
 #. @node in ../../../Documentation/user/vocal.itely
 #. @subsubsection in ../../../Documentation/user/vocal.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/vocal.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/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 "Printing stanzas at the end in multiple columns"
@@ -4126,12 +4291,8 @@ msgstr "Paroles sur plusieurs colonnes en fin de partition"
 
 #. @node in ../../../Documentation/user/chords.itely
 #. @section in ../../../Documentation/user/chords.itely
-#. @node in ../../../Documentation/fr/user/simultaneous.itely
-#. @unnumberedsubsubsec in ../../../Documentation/fr/user/simultaneous.itely
 #. @node in ../../../Documentation/fr/user/chords.itely
 #. @section in ../../../Documentation/fr/user/chords.itely
-#. @node in ../../../Documentation/es/user/simultaneous.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/simultaneous.itely
 #. @node in ../../../Documentation/de/user/simultaneous.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/simultaneous.itely
 msgid "Chords"
@@ -4148,8 +4309,6 @@ msgstr "Sections d'accords"
 #. @subsubsection in ../../../Documentation/user/chords.itely
 #. @node in ../../../Documentation/fr/user/tutorial.itely
 #. @subsection in ../../../Documentation/fr/user/tutorial.itely
-#. @node in ../../../Documentation/es/user/tutorial.itely
-#. @subsection in ../../../Documentation/es/user/tutorial.itely
 msgid "A lead sheet"
 msgstr "Partition d'une chanson"
 
@@ -4158,7 +4317,7 @@ msgstr "Partition d'une chanson"
 #. @node in ../../../Documentation/fr/user/chords.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/chords.itely
 #. @node in ../../../Documentation/es/user/chords.itely
-#. @unnumberedsubsubsec 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 "Introducing chord names"
@@ -4169,7 +4328,7 @@ msgstr "Introduction aux noms d'accords"
 #. @node in ../../../Documentation/fr/user/chords.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/chords.itely
 #. @node in ../../../Documentation/es/user/chords.itely
-#. @unnumberedsubsubsec 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"
@@ -4180,7 +4339,7 @@ msgstr "Mode accords"
 #. @node in ../../../Documentation/fr/user/chords.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/chords.itely
 #. @node in ../../../Documentation/es/user/chords.itely
-#. @unnumberedsubsubsec 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 "Printing chord names"
@@ -4201,6 +4360,8 @@ msgstr "Musique pour piano"
 #. @subsection in ../../../Documentation/user/piano.itely
 #. @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 "Sections de piano"
 
@@ -4209,7 +4370,7 @@ msgstr "Sections de piano"
 #. @node in ../../../Documentation/fr/user/piano.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/piano.itely
 #. @node in ../../../Documentation/es/user/piano.itely
-#. @unnumberedsubsubsec 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"
@@ -4220,7 +4381,7 @@ msgstr "Changements de portée automatiques"
 #. @node in ../../../Documentation/fr/user/piano.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/piano.itely
 #. @node in ../../../Documentation/es/user/piano.itely
-#. @unnumberedsubsubsec 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"
@@ -4231,7 +4392,7 @@ msgstr "Changements de portée manuels"
 #. @node in ../../../Documentation/fr/user/piano.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/piano.itely
 #. @node in ../../../Documentation/es/user/piano.itely
-#. @unnumberedsubsubsec 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"
@@ -4242,7 +4403,7 @@ msgstr "Pédales"
 #. @node in ../../../Documentation/fr/user/piano.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/piano.itely
 #. @node in ../../../Documentation/es/user/piano.itely
-#. @unnumberedsubsubsec 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"
@@ -4253,7 +4414,7 @@ msgstr "Lignes de changement de portée"
 #. @node in ../../../Documentation/fr/user/piano.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/piano.itely
 #. @node in ../../../Documentation/es/user/piano.itely
-#. @unnumberedsubsubsec 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"
@@ -4282,7 +4443,7 @@ msgstr "Sections de percussions"
 #. @node in ../../../Documentation/fr/user/percussion.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/percussion.itely
 #. @node in ../../../Documentation/es/user/percussion.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/percussion.itely
+#. @subsubsection in ../../../Documentation/es/user/percussion.itely
 #. @node in ../../../Documentation/de/user/percussion.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/percussion.itely
 msgid "Showing melody rhythms"
@@ -4293,7 +4454,7 @@ msgstr "Gravure de lignes rythmiques"
 #. @node in ../../../Documentation/fr/user/percussion.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/percussion.itely
 #. @node in ../../../Documentation/es/user/percussion.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/percussion.itely
+#. @subsubsection in ../../../Documentation/es/user/percussion.itely
 #. @node in ../../../Documentation/de/user/percussion.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/percussion.itely
 msgid "Entering percussion"
@@ -4304,7 +4465,7 @@ msgstr "Notation des percussions"
 #. @node in ../../../Documentation/fr/user/percussion.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/percussion.itely
 #. @node in ../../../Documentation/es/user/percussion.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/percussion.itely
+#. @subsubsection in ../../../Documentation/es/user/percussion.itely
 #. @node in ../../../Documentation/de/user/percussion.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/percussion.itely
 msgid "Percussion staves"
@@ -4315,7 +4476,7 @@ msgstr "Portée de percussions"
 #. @node in ../../../Documentation/fr/user/percussion.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/percussion.itely
 #. @node in ../../../Documentation/es/user/percussion.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/percussion.itely
+#. @subsubsection in ../../../Documentation/es/user/percussion.itely
 #. @node in ../../../Documentation/de/user/percussion.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/percussion.itely
 msgid "Ghost notes"
@@ -4344,7 +4505,7 @@ msgstr "Sections de guitare"
 #. @node in ../../../Documentation/fr/user/guitar.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/guitar.itely
 #. @node in ../../../Documentation/es/user/guitar.itely
-#. @unnumberedsubsubsec 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 "String number indications"
@@ -4355,7 +4516,7 @@ msgstr "Indications de numéro de corde"
 #. @node in ../../../Documentation/fr/user/guitar.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/guitar.itely
 #. @node in ../../../Documentation/es/user/guitar.itely
-#. @unnumberedsubsubsec 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"
@@ -4366,7 +4527,7 @@ msgstr "Introduction aux tablatures"
 #. @node in ../../../Documentation/fr/user/guitar.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/guitar.itely
 #. @node in ../../../Documentation/es/user/guitar.itely
-#. @unnumberedsubsubsec 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"
@@ -4377,7 +4538,7 @@ msgstr "Tablatures autres que pour la guitare"
 #. @node in ../../../Documentation/fr/user/guitar.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/guitar.itely
 #. @node in ../../../Documentation/es/user/guitar.itely
-#. @unnumberedsubsubsec 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 "Banjo tablatures"
@@ -4388,7 +4549,7 @@ msgstr "Tablatures pour banjo"
 #. @node in ../../../Documentation/fr/user/guitar.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/guitar.itely
 #. @node in ../../../Documentation/es/user/guitar.itely
-#. @unnumberedsubsubsec 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 "Fret diagrams"
@@ -4399,7 +4560,7 @@ msgstr "Tablatures"
 #. @node in ../../../Documentation/fr/user/guitar.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/guitar.itely
 #. @node in ../../../Documentation/es/user/guitar.itely
-#. @unnumberedsubsubsec 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 "Right hand fingerings"
@@ -4410,7 +4571,7 @@ msgstr "Doigtés pour la main droite"
 #. @node in ../../../Documentation/fr/user/guitar.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/guitar.itely
 #. @node in ../../../Documentation/es/user/guitar.itely
-#. @unnumberedsubsubsec 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"
@@ -4438,10 +4599,8 @@ msgstr "Musique orchestrale"
 #. @subsubsection in ../../../Documentation/user/strings.itely
 #. @node in ../../../Documentation/fr/user/strings.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/strings.itely
-#. @node in ../../../Documentation/fr/user/strings.itely
-#. @unnumberedsubsubsec in ../../../Documentation/fr/user/strings.itely
 #. @node in ../../../Documentation/es/user/strings.itely
-#. @unnumberedsubsubsec 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
 msgid "Artificial harmonics (strings)"
@@ -4468,7 +4627,7 @@ msgstr "Sections pour la cornemuse"
 #. @node in ../../../Documentation/fr/user/bagpipes.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/bagpipes.itely
 #. @node in ../../../Documentation/es/user/bagpipes.itely
-#. @unnumberedsubsubsec 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
 msgid "Bagpipe definitions"
@@ -4479,7 +4638,7 @@ msgstr "Définitions pour la cornemuse"
 #. @node in ../../../Documentation/fr/user/bagpipes.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/bagpipes.itely
 #. @node in ../../../Documentation/es/user/bagpipes.itely
-#. @unnumberedsubsubsec 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
 msgid "Bagpipe example"
@@ -4506,7 +4665,7 @@ msgstr "Signes de note alternatifs pour la musique ancienne"
 #. @node in ../../../Documentation/fr/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/ancient.itely
 #. @node in ../../../Documentation/es/user/ancient.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/ancient.itely
+#. @subsubsection in ../../../Documentation/es/user/ancient.itely
 #. @node in ../../../Documentation/de/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/ancient.itely
 msgid "Ancient note heads"
@@ -4517,7 +4676,7 @@ msgstr "Têtes de note anciennes"
 #. @node in ../../../Documentation/fr/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/ancient.itely
 #. @node in ../../../Documentation/es/user/ancient.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/ancient.itely
+#. @subsubsection in ../../../Documentation/es/user/ancient.itely
 #. @node in ../../../Documentation/de/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/ancient.itely
 msgid "Ancient accidentals"
@@ -4528,7 +4687,7 @@ msgstr "Altérations anciennes"
 #. @node in ../../../Documentation/fr/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/ancient.itely
 #. @node in ../../../Documentation/es/user/ancient.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/ancient.itely
+#. @subsubsection in ../../../Documentation/es/user/ancient.itely
 #. @node in ../../../Documentation/de/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/ancient.itely
 msgid "Ancient rests"
@@ -4539,7 +4698,7 @@ msgstr "Silences anciens"
 #. @node in ../../../Documentation/fr/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/ancient.itely
 #. @node in ../../../Documentation/es/user/ancient.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/ancient.itely
+#. @subsubsection in ../../../Documentation/es/user/ancient.itely
 #. @node in ../../../Documentation/de/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/ancient.itely
 msgid "Ancient clefs"
@@ -4550,7 +4709,7 @@ msgstr "Clefs anciennes"
 #. @node in ../../../Documentation/fr/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/ancient.itely
 #. @node in ../../../Documentation/es/user/ancient.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/ancient.itely
+#. @subsubsection in ../../../Documentation/es/user/ancient.itely
 #. @node in ../../../Documentation/de/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/ancient.itely
 msgid "Ancient flags"
@@ -4561,7 +4720,7 @@ msgstr "Crochets anciens"
 #. @node in ../../../Documentation/fr/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/ancient.itely
 #. @node in ../../../Documentation/es/user/ancient.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/ancient.itely
+#. @subsubsection in ../../../Documentation/es/user/ancient.itely
 #. @node in ../../../Documentation/de/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/ancient.itely
 msgid "Ancient time signatures"
@@ -4577,7 +4736,7 @@ msgstr "Signes de note supplémentaires pour la musique ancienne"
 #. @node in ../../../Documentation/fr/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/ancient.itely
 #. @node in ../../../Documentation/es/user/ancient.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/ancient.itely
+#. @subsubsection in ../../../Documentation/es/user/ancient.itely
 #. @node in ../../../Documentation/de/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/ancient.itely
 msgid "Ancient articulations"
@@ -4588,7 +4747,7 @@ msgstr "Articulations anciennes"
 #. @node in ../../../Documentation/fr/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/ancient.itely
 #. @node in ../../../Documentation/es/user/ancient.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/ancient.itely
+#. @subsubsection in ../../../Documentation/es/user/ancient.itely
 #. @node in ../../../Documentation/de/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/ancient.itely
 msgid "Custodes"
@@ -4599,7 +4758,7 @@ msgstr "Guidons"
 #. @node in ../../../Documentation/fr/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/ancient.itely
 #. @node in ../../../Documentation/es/user/ancient.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/ancient.itely
+#. @subsubsection in ../../../Documentation/es/user/ancient.itely
 #. @node in ../../../Documentation/de/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/ancient.itely
 msgid "Divisiones"
@@ -4610,7 +4769,7 @@ msgstr "Divisions"
 #. @node in ../../../Documentation/fr/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/ancient.itely
 #. @node in ../../../Documentation/es/user/ancient.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/ancient.itely
+#. @subsubsection in ../../../Documentation/es/user/ancient.itely
 #. @node in ../../../Documentation/de/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/ancient.itely
 msgid "Ligatures"
@@ -4621,7 +4780,7 @@ msgstr "Ligatures"
 #. @node in ../../../Documentation/fr/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/ancient.itely
 #. @node in ../../../Documentation/es/user/ancient.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/ancient.itely
+#. @subsubsection in ../../../Documentation/es/user/ancient.itely
 #. @node in ../../../Documentation/de/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/ancient.itely
 msgid "White mensural ligatures"
@@ -4632,7 +4791,7 @@ msgstr "Ligatures mensurales"
 #. @node in ../../../Documentation/fr/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/ancient.itely
 #. @node in ../../../Documentation/es/user/ancient.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/ancient.itely
+#. @subsubsection in ../../../Documentation/es/user/ancient.itely
 #. @node in ../../../Documentation/de/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/ancient.itely
 msgid "Gregorian square neumes ligatures"
@@ -4648,7 +4807,7 @@ msgstr "Contextes prédéfinis"
 #. @node in ../../../Documentation/fr/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/ancient.itely
 #. @node in ../../../Documentation/es/user/ancient.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/ancient.itely
+#. @subsubsection in ../../../Documentation/es/user/ancient.itely
 #. @node in ../../../Documentation/de/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/ancient.itely
 msgid "Gregorian Chant contexts"
@@ -4659,7 +4818,7 @@ msgstr "Contextes du chant grégorien"
 #. @node in ../../../Documentation/fr/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/ancient.itely
 #. @node in ../../../Documentation/es/user/ancient.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/ancient.itely
+#. @subsubsection in ../../../Documentation/es/user/ancient.itely
 #. @node in ../../../Documentation/de/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/ancient.itely
 msgid "Mensural contexts"
@@ -4670,7 +4829,7 @@ msgstr "Le contexte mensural"
 #. @node in ../../../Documentation/fr/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/ancient.itely
 #. @node in ../../../Documentation/es/user/ancient.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/ancient.itely
+#. @subsubsection in ../../../Documentation/es/user/ancient.itely
 #. @node in ../../../Documentation/de/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/ancient.itely
 msgid "Musica ficta accidentals"
@@ -4681,7 +4840,7 @@ msgstr "Altérations et musica ficta"
 #. @node in ../../../Documentation/fr/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/ancient.itely
 #. @node in ../../../Documentation/es/user/ancient.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/ancient.itely
+#. @subsubsection in ../../../Documentation/es/user/ancient.itely
 #. @node in ../../../Documentation/de/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/ancient.itely
 msgid "Figured bass"
@@ -4691,6 +4850,8 @@ msgstr "Basse chiffrée"
 #. @chapter in ../../../Documentation/user/input.itely
 #. @node in ../../../Documentation/fr/user/input.itely
 #. @chapter in ../../../Documentation/fr/user/input.itely
+#. @node in ../../../Documentation/es/user/input.itely
+#. @chapter in ../../../Documentation/es/user/input.itely
 #. @node in ../../../Documentation/de/user/input.itely
 #. @chapter in ../../../Documentation/de/user/input.itely
 msgid "Input syntax"
@@ -4700,10 +4861,8 @@ msgstr "Syntaxe d'entrée"
 #. @section in ../../../Documentation/user/input.itely
 #. @node in ../../../Documentation/fr/user/input.itely
 #. @section in ../../../Documentation/fr/user/input.itely
-#. @node in ../../../Documentation/fr/user/non-music.itely
-#. @section in ../../../Documentation/fr/user/non-music.itely
-#. @node in ../../../Documentation/es/user/non-music.itely
-#. @section in ../../../Documentation/es/user/non-music.itely
+#. @node in ../../../Documentation/es/user/input.itely
+#. @section in ../../../Documentation/es/user/input.itely
 #. @node in ../../../Documentation/de/user/input.itely
 #. @section in ../../../Documentation/de/user/input.itely
 msgid "Input files"
@@ -4713,10 +4872,8 @@ msgstr "Fichiers d'entrée"
 #. @subsection in ../../../Documentation/user/input.itely
 #. @node in ../../../Documentation/fr/user/input.itely
 #. @subsection in ../../../Documentation/fr/user/input.itely
-#. @node in ../../../Documentation/fr/user/non-music.itely
-#. @subsection in ../../../Documentation/fr/user/non-music.itely
-#. @node in ../../../Documentation/es/user/non-music.itely
-#. @subsection in ../../../Documentation/es/user/non-music.itely
+#. @node in ../../../Documentation/es/user/input.itely
+#. @subsection in ../../../Documentation/es/user/input.itely
 #. @node in ../../../Documentation/de/user/input.itely
 #. @subsection in ../../../Documentation/de/user/input.itely
 msgid "File structure"
@@ -4726,10 +4883,8 @@ msgstr "Structure de fichier"
 #. @subsection in ../../../Documentation/user/input.itely
 #. @node in ../../../Documentation/fr/user/input.itely
 #. @subsection in ../../../Documentation/fr/user/input.itely
-#. @node in ../../../Documentation/fr/user/non-music.itely
-#. @subsection in ../../../Documentation/fr/user/non-music.itely
-#. @node in ../../../Documentation/es/user/non-music.itely
-#. @subsection in ../../../Documentation/es/user/non-music.itely
+#. @node in ../../../Documentation/es/user/input.itely
+#. @subsection in ../../../Documentation/es/user/input.itely
 #. @node in ../../../Documentation/de/user/input.itely
 #. @subsection in ../../../Documentation/de/user/input.itely
 msgid "A single music expression"
@@ -4739,10 +4894,8 @@ msgstr "Une expression musicale unique"
 #. @subsection in ../../../Documentation/user/input.itely
 #. @node in ../../../Documentation/fr/user/input.itely
 #. @subsection in ../../../Documentation/fr/user/input.itely
-#. @node in ../../../Documentation/fr/user/non-music.itely
-#. @subsection in ../../../Documentation/fr/user/non-music.itely
-#. @node in ../../../Documentation/es/user/non-music.itely
-#. @subsection in ../../../Documentation/es/user/non-music.itely
+#. @node in ../../../Documentation/es/user/input.itely
+#. @subsection in ../../../Documentation/es/user/input.itely
 #. @node in ../../../Documentation/de/user/input.itely
 #. @subsection in ../../../Documentation/de/user/input.itely
 msgid "Multiple scores in a book"
@@ -4752,10 +4905,8 @@ msgstr "Plusieurs partitions dans un même ouvrage"
 #. @subsection in ../../../Documentation/user/input.itely
 #. @node in ../../../Documentation/fr/user/input.itely
 #. @subsection in ../../../Documentation/fr/user/input.itely
-#. @node in ../../../Documentation/fr/user/non-music.itely
-#. @subsection in ../../../Documentation/fr/user/non-music.itely
-#. @node in ../../../Documentation/es/user/non-music.itely
-#. @subsection in ../../../Documentation/es/user/non-music.itely
+#. @node in ../../../Documentation/es/user/input.itely
+#. @subsection in ../../../Documentation/es/user/input.itely
 #. @node in ../../../Documentation/de/user/input.itely
 #. @subsection in ../../../Documentation/de/user/input.itely
 msgid "Extracting fragments of notation"
@@ -4765,10 +4916,8 @@ msgstr "Extraction de fragments musicaux"
 #. @subsection in ../../../Documentation/user/input.itely
 #. @node in ../../../Documentation/fr/user/input.itely
 #. @subsection in ../../../Documentation/fr/user/input.itely
-#. @node in ../../../Documentation/fr/user/non-music.itely
-#. @subsection in ../../../Documentation/fr/user/non-music.itely
-#. @node in ../../../Documentation/es/user/non-music.itely
-#. @subsection in ../../../Documentation/es/user/non-music.itely
+#. @node in ../../../Documentation/es/user/input.itely
+#. @subsection in ../../../Documentation/es/user/input.itely
 #. @node in ../../../Documentation/de/user/input.itely
 #. @subsection in ../../../Documentation/de/user/input.itely
 msgid "Including LilyPond files"
@@ -4778,10 +4927,8 @@ msgstr "Insertion de fichiers LilyPond"
 #. @subsection in ../../../Documentation/user/input.itely
 #. @node in ../../../Documentation/fr/user/input.itely
 #. @subsection in ../../../Documentation/fr/user/input.itely
-#. @node in ../../../Documentation/fr/user/non-music.itely
-#. @subsection in ../../../Documentation/fr/user/non-music.itely
-#. @node in ../../../Documentation/es/user/non-music.itely
-#. @subsection in ../../../Documentation/es/user/non-music.itely
+#. @node in ../../../Documentation/es/user/input.itely
+#. @subsection in ../../../Documentation/es/user/input.itely
 #. @node in ../../../Documentation/de/user/input.itely
 #. @subsection in ../../../Documentation/de/user/input.itely
 msgid "Text encoding"
@@ -4791,10 +4938,8 @@ msgstr "Codage du texte"
 #. @subsection in ../../../Documentation/user/input.itely
 #. @node in ../../../Documentation/fr/user/input.itely
 #. @subsection in ../../../Documentation/fr/user/input.itely
-#. @node in ../../../Documentation/fr/user/non-music.itely
-#. @subsection in ../../../Documentation/fr/user/non-music.itely
-#. @node in ../../../Documentation/es/user/non-music.itely
-#. @subsection in ../../../Documentation/es/user/non-music.itely
+#. @node in ../../../Documentation/es/user/input.itely
+#. @subsection in ../../../Documentation/es/user/input.itely
 #. @node in ../../../Documentation/de/user/input.itely
 #. @subsection in ../../../Documentation/de/user/input.itely
 msgid "Different editions from one source"
@@ -4804,6 +4949,8 @@ msgstr "Différentes éditions à partir d'une même source"
 #. @section in ../../../Documentation/user/input.itely
 #. @node in ../../../Documentation/fr/user/input.itely
 #. @section in ../../../Documentation/fr/user/input.itely
+#. @node in ../../../Documentation/es/user/input.itely
+#. @section in ../../../Documentation/es/user/input.itely
 #. @node in ../../../Documentation/de/user/input.itely
 #. @section in ../../../Documentation/de/user/input.itely
 msgid "Common syntax issues TODO name?"
@@ -4811,27 +4958,36 @@ msgstr "Problèmes de syntaxe courants"
 
 #. @node in ../../../Documentation/user/input.itely
 #. @subsection in ../../../Documentation/user/input.itely
-#. @node in ../../../Documentation/fr/user/input.itely
-#. @subsection in ../../../Documentation/fr/user/input.itely
-#. @node in ../../../Documentation/de/user/input.itely
-#. @subsection in ../../../Documentation/de/user/input.itely
+#. @node in ../../../Documentation/es/user/input.itely
+#. @subsection in ../../../Documentation/es/user/input.itely
 #, fuzzy
-msgid "Controlling direction"
+msgid "Controlling direction and placement"
 msgstr "Résolution des collisions"
 
 #. @node in ../../../Documentation/user/input.itely
 #. @subsection in ../../../Documentation/user/input.itely
 #. @node in ../../../Documentation/fr/user/input.itely
 #. @subsection in ../../../Documentation/fr/user/input.itely
+#. @node in ../../../Documentation/es/user/input.itely
+#. @subsection in ../../../Documentation/es/user/input.itely
 #. @node in ../../../Documentation/de/user/input.itely
 #. @subsection in ../../../Documentation/de/user/input.itely
 msgid "Distances and measurements MAYBE MOVE"
 msgstr "Distances et unités de mesure"
 
+#. @node in ../../../Documentation/user/input.itely
+#. @subsection in ../../../Documentation/user/input.itely
+#. @node in ../../../Documentation/es/user/input.itely
+#. @subsection in ../../../Documentation/es/user/input.itely
+msgid "When to add a -"
+msgstr ""
+
 #. @node in ../../../Documentation/user/input.itely
 #. @section in ../../../Documentation/user/input.itely
 #. @node in ../../../Documentation/fr/user/input.itely
 #. @section in ../../../Documentation/fr/user/input.itely
+#. @node in ../../../Documentation/es/user/input.itely
+#. @section in ../../../Documentation/es/user/input.itely
 #. @node in ../../../Documentation/de/user/input.itely
 #. @section in ../../../Documentation/de/user/input.itely
 msgid "Other stuffs TODO move?"
@@ -4841,10 +4997,8 @@ msgstr ""
 #. @subsection in ../../../Documentation/user/input.itely
 #. @node in ../../../Documentation/fr/user/input.itely
 #. @subsection in ../../../Documentation/fr/user/input.itely
-#. @node in ../../../Documentation/fr/user/non-music.itely
-#. @section in ../../../Documentation/fr/user/non-music.itely
-#. @node in ../../../Documentation/es/user/non-music.itely
-#. @section in ../../../Documentation/es/user/non-music.itely
+#. @node in ../../../Documentation/es/user/input.itely
+#. @subsection in ../../../Documentation/es/user/input.itely
 #. @node in ../../../Documentation/de/user/input.itely
 #. @subsection in ../../../Documentation/de/user/input.itely
 msgid "Displaying LilyPond notation"
@@ -4854,10 +5008,8 @@ msgstr "Affichage de notation au format LilyPond"
 #. @subsection in ../../../Documentation/user/input.itely
 #. @node in ../../../Documentation/fr/user/input.itely
 #. @subsection in ../../../Documentation/fr/user/input.itely
-#. @node in ../../../Documentation/fr/user/non-music.itely
-#. @section in ../../../Documentation/fr/user/non-music.itely
-#. @node in ../../../Documentation/es/user/non-music.itely
-#. @section in ../../../Documentation/es/user/non-music.itely
+#. @node in ../../../Documentation/es/user/input.itely
+#. @subsection in ../../../Documentation/es/user/input.itely
 #. @node in ../../../Documentation/de/user/input.itely
 #. @subsection in ../../../Documentation/de/user/input.itely
 msgid "Skipping corrected music"
@@ -4867,6 +5019,8 @@ msgstr "Ignorer des passages de la partition"
 #. @subsection in ../../../Documentation/user/input.itely
 #. @node in ../../../Documentation/fr/user/input.itely
 #. @subsection in ../../../Documentation/fr/user/input.itely
+#. @node in ../../../Documentation/es/user/input.itely
+#. @subsection in ../../../Documentation/es/user/input.itely
 #. @node in ../../../Documentation/de/user/input.itely
 #. @subsection in ../../../Documentation/de/user/input.itely
 msgid "context list FIXME"
@@ -4876,6 +5030,8 @@ msgstr ""
 #. @subsection in ../../../Documentation/user/input.itely
 #. @node in ../../../Documentation/fr/user/input.itely
 #. @subsection in ../../../Documentation/fr/user/input.itely
+#. @node in ../../../Documentation/es/user/input.itely
+#. @subsection in ../../../Documentation/es/user/input.itely
 #. @node in ../../../Documentation/de/user/input.itely
 #. @subsection in ../../../Documentation/de/user/input.itely
 msgid "another thing FIXME"
@@ -4885,6 +5041,8 @@ msgstr ""
 #. @subsection in ../../../Documentation/user/input.itely
 #. @node in ../../../Documentation/fr/user/input.itely
 #. @subsection in ../../../Documentation/fr/user/input.itely
+#. @node in ../../../Documentation/es/user/input.itely
+#. @subsection in ../../../Documentation/es/user/input.itely
 #. @node in ../../../Documentation/de/user/input.itely
 #. @subsection in ../../../Documentation/de/user/input.itely
 msgid "Input modes FIXME"
@@ -5002,6 +5160,10 @@ msgstr "Noms d'instruments MIDI"
 
 #. @node in ../../../Documentation/user/non-music.itely
 #. @subsection in ../../../Documentation/user/non-music.itely
+#. @node in ../../../Documentation/fr/user/non-music.itely
+#. @subsection in ../../../Documentation/fr/user/non-music.itely
+#. @node in ../../../Documentation/es/user/non-music.itely
+#. @subsection in ../../../Documentation/es/user/non-music.itely
 #. @node in ../../../Documentation/de/user/non-music.itely
 #. @subsection in ../../../Documentation/de/user/non-music.itely
 msgid "What goes into the MIDI?  FIXME"
@@ -5009,10 +5171,10 @@ msgstr ""
 
 #. @node in ../../../Documentation/user/non-music.itely
 #. @subsubsection in ../../../Documentation/user/non-music.itely
-#. @node in ../../../Documentation/fr/user/repeats.itely
-#. @unnumberedsubsubsec in ../../../Documentation/fr/user/repeats.itely
-#. @node in ../../../Documentation/es/user/repeats.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/repeats.itely
+#. @node in ../../../Documentation/fr/user/non-music.itely
+#. @unnumberedsubsubsec in ../../../Documentation/fr/user/non-music.itely
+#. @node in ../../../Documentation/es/user/non-music.itely
+#. @subsubsection in ../../../Documentation/es/user/non-music.itely
 #. @node in ../../../Documentation/de/user/repeats.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/repeats.itely
 #. @node in ../../../Documentation/de/user/non-music.itely
@@ -5022,6 +5184,10 @@ msgstr "Répétitions et MIDI"
 
 #. @node in ../../../Documentation/user/non-music.itely
 #. @section in ../../../Documentation/user/non-music.itely
+#. @node in ../../../Documentation/fr/user/non-music.itely
+#. @section in ../../../Documentation/fr/user/non-music.itely
+#. @node in ../../../Documentation/es/user/non-music.itely
+#. @section in ../../../Documentation/es/user/non-music.itely
 #. @node in ../../../Documentation/de/user/non-music.itely
 #. @section in ../../../Documentation/de/user/non-music.itely
 msgid "other midi"
@@ -5620,6 +5786,23 @@ msgstr "@code{\\set} ou @code{\\override}"
 msgid "Difficult tweaks"
 msgstr "Retouches complexes"
 
+#. @node in ../../../Documentation/user/changing-defaults.itely
+#. @section in ../../../Documentation/user/changing-defaults.itely
+msgid "Discussion of specific tweaks"
+msgstr ""
+
+#. @node in ../../../Documentation/user/changing-defaults.itely
+#. @subsection in ../../../Documentation/user/changing-defaults.itely
+#, fuzzy
+msgid "Line styles"
+msgstr "Longueur de ligne"
+
+#. @node in ../../../Documentation/user/changing-defaults.itely
+#. @subsection in ../../../Documentation/user/changing-defaults.itely
+#, fuzzy
+msgid "Controlling visibility of objects"
+msgstr "Coloration d'objets"
+
 #. @node in ../../../Documentation/user/programming-interface.itely
 #. @chapter in ../../../Documentation/user/programming-interface.itely
 #. @node in ../../../Documentation/fr/user/programming-interface.itely
@@ -6047,24 +6230,32 @@ msgstr "Liste des signes d'articulation"
 
 #. @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
 #, fuzzy
 msgid "All context properties"
 msgstr "Modification des propriétés de contexte"
 
 #. @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
 #, fuzzy
 msgid "Layout properties"
 msgstr "Propriétés de la musique"
 
 #. @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
 #, fuzzy
 msgid "Identifiers"
 msgstr "Fichiers d'entrée"
 
 #. @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
 #, fuzzy
 msgid "Scheme functions"
 msgstr "Fonctions musicales"
@@ -6085,17 +6276,10 @@ msgid "GNU LilyPond --- manuel d'initiation"
 msgstr "GNU LilyPond --- manuel d'initiation"
 
 #. @subsubheading in ../../../Documentation/fr/user/macros.itexi
-#. @subsubheading in ../../../Documentation/es/user/macros.itexi
 #. @subsubheading in ../../../Documentation/de/user/macros.itexi
 msgid "Commonly tweaked properties"
 msgstr "Propriétés couramment modifiées"
 
-#. @subsubheading in ../../../Documentation/fr/user/macros.itexi
-#. @subsubheading in ../../../Documentation/es/user/macros.itexi
-#. @subsubheading in ../../../Documentation/de/user/macros.itexi
-msgid "Bugs"
-msgstr "Bogues"
-
 #. @subheading in ../../../Documentation/fr/user/introduction.itely
 msgid "Manuel de l'utilisateur"
 msgstr ""
@@ -6121,42 +6305,31 @@ msgid "Autre documentation"
 msgstr ""
 
 #. @rglos in ../../../Documentation/fr/user/tutorial.itely
-#. @rglos in ../../../Documentation/es/user/tutorial.itely
 msgid "fourth"
 msgstr "quarte"
 
 #. @node in ../../../Documentation/fr/user/tutorial.itely
 #. @subsection in ../../../Documentation/fr/user/tutorial.itely
-#. @node in ../../../Documentation/es/user/tutorial.itely
-#. @subsection in ../../../Documentation/es/user/tutorial.itely
 msgid "How to read the tutorial"
 msgstr "Bien lire le tutoriel"
 
 #. @node in ../../../Documentation/fr/user/tutorial.itely
 #. @subsection in ../../../Documentation/fr/user/tutorial.itely
-#. @node in ../../../Documentation/es/user/tutorial.itely
-#. @subsection in ../../../Documentation/es/user/tutorial.itely
 msgid "Relative note names"
 msgstr ""
 
 #. @node in ../../../Documentation/fr/user/tutorial.itely
 #. @subsection in ../../../Documentation/fr/user/tutorial.itely
-#. @node in ../../../Documentation/es/user/tutorial.itely
-#. @subsection in ../../../Documentation/es/user/tutorial.itely
 msgid "Piano staves"
 msgstr "Double portée"
 
 #. @node in ../../../Documentation/fr/user/tutorial.itely
 #. @subsection in ../../../Documentation/fr/user/tutorial.itely
-#. @node in ../../../Documentation/es/user/tutorial.itely
-#. @subsection in ../../../Documentation/es/user/tutorial.itely
 msgid "Printing lyrics"
 msgstr "Gravure de paroles"
 
 #. @node in ../../../Documentation/fr/user/tutorial.itely
 #. @subsection in ../../../Documentation/fr/user/tutorial.itely
-#. @node in ../../../Documentation/es/user/tutorial.itely
-#. @subsection in ../../../Documentation/es/user/tutorial.itely
 msgid "Organizing pieces with identifiers"
 msgstr "Organisation du code source avec des variables"
 
@@ -6180,16 +6353,15 @@ msgstr "Fichiers fournis avec le logiciel"
 
 #. @node in ../../../Documentation/fr/user/working.itely
 #. @section in ../../../Documentation/fr/user/working.itely
-#. @node in ../../../Documentation/es/user/working.itely
-#. @section in ../../../Documentation/es/user/working.itely
 #. @node in ../../../Documentation/de/user/working.itely
 #. @section in ../../../Documentation/de/user/working.itely
 msgid "Saving typing with identifiers and functions"
 msgstr "Économies de saisie grâce aux identificateurs et fonctions"
 
 #. @top in ../../../Documentation/fr/user/lilypond-program.tely
-msgid "GNU LilyPond --- utilisation du programme"
-msgstr ""
+#, fuzzy
+msgid "GNU LilyPond --- utilisation des programmes"
+msgstr "GNU LilyPond --- utilisation du programme"
 
 #. @top in ../../../Documentation/fr/user/lilypond.tely
 msgid "GNU LilyPond --- le système de gravure musicale"
@@ -6197,8 +6369,6 @@ msgstr ""
 
 #. @node in ../../../Documentation/fr/user/pitches.itely
 #. @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 "Normal pitches"
@@ -6206,8 +6376,6 @@ msgstr "Hauteurs courantes"
 
 #. @node in ../../../Documentation/fr/user/pitches.itely
 #. @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 "Cautionary accidentals"
@@ -6215,8 +6383,6 @@ msgstr "Altérations accidentelles"
 
 #. @node in ../../../Documentation/fr/user/pitches.itely
 #. @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 "Micro tones"
@@ -6224,8 +6390,6 @@ msgstr "Altérations microtonales"
 
 #. @node in ../../../Documentation/fr/user/pitches.itely
 #. @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 "Relative octaves"
@@ -6233,8 +6397,6 @@ msgstr "Octaves relatives"
 
 #. @node in ../../../Documentation/fr/user/pitches.itely
 #. @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 "Octave check"
@@ -6242,8 +6404,6 @@ msgstr "Vérification d'octave"
 
 #. @node in ../../../Documentation/fr/user/rhythms.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/rhythms.itely
-#. @node in ../../../Documentation/es/user/rhythms.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/rhythms.itely
 #. @node in ../../../Documentation/de/user/rhythms.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/rhythms.itely
 msgid "Augmentation dots"
@@ -6251,8 +6411,6 @@ msgstr "Points d'augmentation"
 
 #. @node in ../../../Documentation/fr/user/rhythms.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/rhythms.itely
-#. @node in ../../../Documentation/es/user/rhythms.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/rhythms.itely
 #. @node in ../../../Documentation/de/user/rhythms.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/rhythms.itely
 msgid "Multi measure rests"
@@ -6261,7 +6419,7 @@ msgstr "Silences multi-mesures"
 #. @node in ../../../Documentation/fr/user/rhythms.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/rhythms.itely
 #. @node in ../../../Documentation/es/user/rhythms.itely
-#. @unnumberedsubsubsec 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 "Bar check"
@@ -6270,7 +6428,7 @@ msgstr "Vérification des limites de mesure"
 #. @node in ../../../Documentation/fr/user/rhythms.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/rhythms.itely
 #. @node in ../../../Documentation/es/user/rhythms.itely
-#. @unnumberedsubsubsec 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 "Barnumber check"
@@ -6279,7 +6437,7 @@ msgstr "Vérification des numéros de mesure"
 #. @node in ../../../Documentation/fr/user/rhythms.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/rhythms.itely
 #. @node in ../../../Documentation/es/user/rhythms.itely
-#. @unnumberedsubsubsec 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 "Proportional notation (introduction)"
@@ -6287,17 +6445,20 @@ msgstr "Introduction à la notation proportionnelle"
 
 #. @node in ../../../Documentation/fr/user/expressive.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/expressive.itely
-#. @node in ../../../Documentation/es/user/expressive.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/expressive.itely
 #. @node in ../../../Documentation/de/user/expressive.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/expressive.itely
 msgid "Laissez vibrer ties"
 msgstr "Liaisons ``laissez vibrer''"
 
+#. @node in ../../../Documentation/fr/user/repeats.itely
+#. @subsection in ../../../Documentation/fr/user/repeats.itely
+#. @node in ../../../Documentation/de/user/repeats.itely
+#. @subsection in ../../../Documentation/de/user/repeats.itely
+msgid "Writing repeats"
+msgstr "Écriture de répétitions"
+
 #. @node in ../../../Documentation/fr/user/repeats.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/repeats.itely
-#. @node in ../../../Documentation/es/user/repeats.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/repeats.itely
 #. @node in ../../../Documentation/de/user/repeats.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/repeats.itely
 msgid "Repeat types"
@@ -6305,17 +6466,43 @@ msgstr "Types de répétitions"
 
 #. @node in ../../../Documentation/fr/user/repeats.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/repeats.itely
-#. @node in ../../../Documentation/es/user/repeats.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/repeats.itely
+#. @node in ../../../Documentation/de/user/repeats.itely
+#. @unnumberedsubsubsec in ../../../Documentation/de/user/repeats.itely
+msgid "Repeat syntax"
+msgstr "Syntaxe des répétitions"
+
+#. @node in ../../../Documentation/fr/user/repeats.itely
+#. @unnumberedsubsubsec in ../../../Documentation/fr/user/repeats.itely
+#. @node in ../../../Documentation/de/user/repeats.itely
+#. @unnumberedsubsubsec in ../../../Documentation/de/user/repeats.itely
+msgid "Manual repeat commands"
+msgstr "Commandes de reprise manuelles"
+
+#. @node in ../../../Documentation/fr/user/repeats.itely
+#. @subsection in ../../../Documentation/fr/user/repeats.itely
+#. @node in ../../../Documentation/de/user/repeats.itely
+#. @subsection in ../../../Documentation/de/user/repeats.itely
+msgid "Other repeats"
+msgstr "Autres types de répétition"
+
+#. @node in ../../../Documentation/fr/user/repeats.itely
+#. @unnumberedsubsubsec in ../../../Documentation/fr/user/repeats.itely
 #. @node in ../../../Documentation/de/user/repeats.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/repeats.itely
 msgid "Tremolo subdivisions"
 msgstr "Trémolos de subdivision"
 
+#. @node in ../../../Documentation/fr/user/repeats.itely
+#. @unnumberedsubsubsec in ../../../Documentation/fr/user/repeats.itely
+#. @node in ../../../Documentation/de/user/repeats.itely
+#. @unnumberedsubsubsec in ../../../Documentation/de/user/repeats.itely
+msgid "Measure repeats"
+msgstr "Répétitions de mesure"
+
 #. @node in ../../../Documentation/fr/user/simultaneous.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/simultaneous.itely
 #. @node in ../../../Documentation/es/user/simultaneous.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/simultaneous.itely
+#. @subsubsection in ../../../Documentation/es/user/simultaneous.itely
 #. @node in ../../../Documentation/de/user/simultaneous.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/simultaneous.itely
 msgid "Basic polyphony"
@@ -6324,66 +6511,40 @@ msgstr "Polyphonie basique"
 #. @node in ../../../Documentation/fr/user/simultaneous.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/simultaneous.itely
 #. @node in ../../../Documentation/es/user/simultaneous.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/simultaneous.itely
+#. @subsubsection in ../../../Documentation/es/user/simultaneous.itely
 #. @node in ../../../Documentation/de/user/simultaneous.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/simultaneous.itely
 msgid "Collision Resolution"
 msgstr "Résolution des collisions"
 
-#. @node in ../../../Documentation/fr/user/editorial.itely
-#. @section in ../../../Documentation/fr/user/editorial.itely
-#. @node in ../../../Documentation/es/user/educational.itely
-#. @section in ../../../Documentation/es/user/educational.itely
-#. @node in ../../../Documentation/de/user/educational.itely
-#. @section in ../../../Documentation/de/user/educational.itely
-msgid "Educational use"
-msgstr "Utilisation en milieu éducatif"
-
-#. @node in ../../../Documentation/fr/user/editorial.itely
-#. @unnumberedsubsubsec in ../../../Documentation/fr/user/editorial.itely
-#. @node in ../../../Documentation/es/user/educational.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/educational.itely
-#. @node in ../../../Documentation/de/user/educational.itely
-#. @unnumberedsubsubsec in ../../../Documentation/de/user/educational.itely
-msgid "Easy Notation note heads"
-msgstr "Têtes de note avec nom de note"
-
-#. @node in ../../../Documentation/fr/user/editorial.itely
-#. @unnumberedsubsubsec in ../../../Documentation/fr/user/editorial.itely
-#. @node in ../../../Documentation/es/user/educational.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/educational.itely
-#. @node in ../../../Documentation/de/user/educational.itely
-#. @unnumberedsubsubsec in ../../../Documentation/de/user/educational.itely
-msgid "Special noteheads"
-msgstr "Têtes de note spécifiques"
+#. @node in ../../../Documentation/fr/user/staff.itely
+#. @unnumberedsubsubsec in ../../../Documentation/fr/user/staff.itely
+#. @node in ../../../Documentation/es/user/staff.itely
+#. @subsubsection in ../../../Documentation/es/user/staff.itely
+#. @node in ../../../Documentation/de/user/staff.itely
+#. @unnumberedsubsubsec in ../../../Documentation/de/user/staff.itely
+msgid "System start delimiters"
+msgstr "Groupements de systèmes"
 
 #. @node in ../../../Documentation/fr/user/editorial.itely
-#. @subsection in ../../../Documentation/fr/user/editorial.itely
-#. @node in ../../../Documentation/es/user/educational.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/educational.itely
-#. @node in ../../../Documentation/de/user/educational.itely
-#. @subsection in ../../../Documentation/de/user/educational.itely
+#. @subsubsection in ../../../Documentation/fr/user/editorial.itely
+#. @node in ../../../Documentation/de/user/editorial.itely
+#. @subsection in ../../../Documentation/de/user/editorial.itely
 msgid "Blank music sheet"
 msgstr "Papier à musique"
 
 #. @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 "TODO subsection vocal music"
 msgstr ""
 
 #. @node in ../../../Documentation/fr/user/vocal.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/vocal.itely
-#. @node in ../../../Documentation/es/user/vocal.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/vocal.itely
 msgid "Working with lyrics and identifiers"
 msgstr "Travail avec des paroles et variables"
 
 #. @node in ../../../Documentation/fr/user/vocal.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/vocal.itely
-#. @node in ../../../Documentation/es/user/vocal.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/vocal.itely
 msgid "Other vocal issues"
 msgstr "Autres éléments relatifs à la voix"
 
@@ -6405,54 +6566,79 @@ msgstr "Cornemuse"
 msgid "Ancient TODO"
 msgstr "Musique ancienne"
 
+#. @node in ../../../Documentation/fr/user/input.itely
+#. @subsection in ../../../Documentation/fr/user/input.itely
+#. @node in ../../../Documentation/de/user/input.itely
+#. @subsection in ../../../Documentation/de/user/input.itely
+#, fuzzy
+msgid "Controlling direction"
+msgstr "Résolution des collisions"
+
 #. @node in ../../../Documentation/fr/user/changing-defaults.itely
 #. @section in ../../../Documentation/fr/user/changing-defaults.itely
-#. @node in ../../../Documentation/es/user/changing-defaults.itely
-#. @section in ../../../Documentation/es/user/changing-defaults.itely
 msgid "Automatic notation"
 msgstr "Notation automatique"
 
-#. @subheading in ../../../Documentation/es/user/introduction.itely
-#. @subheading in ../../../Documentation/de/user/introduction.itely
-msgid "User manual"
+#. @subsubheading in ../../../Documentation/es/user/macros.itexi
+msgid "Instrucciones predefinidas"
 msgstr ""
 
-#. @subsubheading in ../../../Documentation/es/user/introduction.itely
-#. @subsubheading in ../../../Documentation/de/user/introduction.itely
-msgid "Learning manual"
+#. @subsubheading in ../../../Documentation/es/user/macros.itexi
+msgid "Fragmentos de código seleccionados"
 msgstr ""
 
-#. @subsubheading in ../../../Documentation/es/user/introduction.itely
-#. @subsubheading in ../../../Documentation/de/user/introduction.itely
-msgid "Notation reference"
+#. @subsubheading in ../../../Documentation/es/user/macros.itexi
+msgid "Propiedades trucadas frecuentemente"
 msgstr ""
 
-# bof
-#. @node in ../../../Documentation/es/user/putting.itely
-#. @chapter in ../../../Documentation/es/user/putting.itely
-#. @node in ../../../Documentation/de/user/putting.itely
-#. @chapter in ../../../Documentation/de/user/putting.itely
-msgid "Putting it all together"
-msgstr "Assemblage"
+#. @subsubheading in ../../../Documentation/es/user/macros.itexi
+msgid "Véase también"
+msgstr ""
 
-#. @node in ../../../Documentation/es/user/putting.itely
-#. @section in ../../../Documentation/es/user/putting.itely
-#. @node in ../../../Documentation/de/user/putting.itely
-#. @section in ../../../Documentation/de/user/putting.itely
-msgid "Score is a single musical expression"
-msgstr "La partition est une unique expression musicale composée"
+#. @subsubheading in ../../../Documentation/es/user/macros.itexi
+msgid "Advertencias y problemas conocidos"
+msgstr ""
 
-#. @node in ../../../Documentation/es/user/putting.itely
-#. @section in ../../../Documentation/es/user/putting.itely
-#. @node in ../../../Documentation/de/user/putting.itely
-#. @section in ../../../Documentation/de/user/putting.itely
-msgid "An orchestral part"
-msgstr "Partie d'orchestre"
+#. @rglos in ../../../Documentation/es/user/tutorial.itely
+msgid "redonda"
+msgstr ""
+
+#. @rglos in ../../../Documentation/es/user/tutorial.itely
+msgid "blanca"
+msgstr ""
+
+#. @rglos in ../../../Documentation/es/user/tutorial.itely
+#, fuzzy
+msgid "negra"
+msgstr "intervalle"
 
 #. @top in ../../../Documentation/es/user/lilypond.tely
 msgid "GNU LilyPond --- El tipografiador de música"
 msgstr ""
 
+#. @rglos in ../../../Documentation/es/user/expressive.itely
+#, fuzzy
+msgid "marcato"
+msgstr "articulation"
+
+#. @rglos in ../../../Documentation/es/user/expressive.itely
+msgid "stopped"
+msgstr ""
+
+#. @rglos in ../../../Documentation/es/user/expressive.itely
+msgid "staccatissimo"
+msgstr ""
+
+#. @rglos in ../../../Documentation/es/user/expressive.itely
+#, fuzzy
+msgid "hairpin"
+msgstr "Soufflet de crescendo"
+
+#. @rglos in ../../../Documentation/es/user/expressive.itely
+#, fuzzy
+msgid "broken chord"
+msgstr "Notes et accords"
+
 #. @node in ../../../Documentation/es/user/chords.itely
 #. @section in ../../../Documentation/es/user/chords.itely
 #. @node in ../../../Documentation/de/user/chords.itely
@@ -6467,13 +6653,6 @@ msgstr "Accords"
 msgid "TODO chords fix"
 msgstr ""
 
-#. @node in ../../../Documentation/es/user/piano.itely
-#. @subsection in ../../../Documentation/es/user/piano.itely
-#. @node in ../../../Documentation/de/user/piano.itely
-#. @subsection in ../../../Documentation/de/user/piano.itely
-msgid "TODO piano node fix"
-msgstr ""
-
 #. @node in ../../../Documentation/es/user/percussion.itely
 #. @subsection in ../../../Documentation/es/user/percussion.itely
 #. @node in ../../../Documentation/de/user/percussion.itely
@@ -6500,6 +6679,18 @@ msgstr "Cordes frottées"
 msgid "GNU LilyPond -- Handbuch zum Lernen"
 msgstr "GNU LilyPond --- manuel d'initiation"
 
+#. @subheading in ../../../Documentation/de/user/introduction.itely
+msgid "User manual"
+msgstr ""
+
+#. @subsubheading in ../../../Documentation/de/user/introduction.itely
+msgid "Learning manual"
+msgstr ""
+
+#. @subsubheading in ../../../Documentation/de/user/introduction.itely
+msgid "Notation reference"
+msgstr ""
+
 #. @rglos in ../../../Documentation/de/user/tutorial.itely
 msgid "legato"
 msgstr "legato"
@@ -6509,6 +6700,22 @@ msgstr "legato"
 msgid "acciacccatura"
 msgstr "acciacature"
 
+# bof
+#. @node in ../../../Documentation/de/user/putting.itely
+#. @chapter in ../../../Documentation/de/user/putting.itely
+msgid "Putting it all together"
+msgstr "Assemblage"
+
+#. @node in ../../../Documentation/de/user/putting.itely
+#. @section in ../../../Documentation/de/user/putting.itely
+msgid "Score is a single musical expression"
+msgstr "La partition est une unique expression musicale composée"
+
+#. @node in ../../../Documentation/de/user/putting.itely
+#. @section in ../../../Documentation/de/user/putting.itely
+msgid "An orchestral part"
+msgstr "Partie d'orchestre"
+
 #. @top in ../../../Documentation/de/user/lilypond-program.tely
 #, fuzzy
 msgid "GNU LilyPond -- Programmbenutzung"
@@ -6518,6 +6725,21 @@ msgstr "GNU LilyPond --- utilisation du programme"
 msgid "GNU LilyPond -- Das Notationsprogramm"
 msgstr ""
 
+#. @node in ../../../Documentation/de/user/editorial.itely
+#. @unnumberedsubsubsec in ../../../Documentation/de/user/editorial.itely
+msgid "Easy Notation note heads"
+msgstr "Têtes de note avec nom de note"
+
+#. @node in ../../../Documentation/de/user/editorial.itely
+#. @unnumberedsubsubsec in ../../../Documentation/de/user/editorial.itely
+msgid "Special noteheads"
+msgstr "Têtes de note spécifiques"
+
+#. @node in ../../../Documentation/de/user/piano.itely
+#. @subsection in ../../../Documentation/de/user/piano.itely
+msgid "TODO piano node fix"
+msgstr ""
+
 msgid "Up:"
 msgstr "Haut&nbsp;:"
 
@@ -6536,14 +6758,25 @@ msgstr "Notes de bas de page"
 msgid "Table of Contents"
 msgstr "Table des matières"
 
+#, fuzzy
+#~ msgid "Modifying tuplet bracket length"
+#~ msgstr "Modification des propriétés de contexte"
+
+#, fuzzy
+#~ msgid "Compressing music"
+#~ msgstr "Gravure de musique existante"
+
+#~ msgid "Bugs"
+#~ msgstr "Bogues"
+
+#~ msgid "Educational use"
+#~ msgstr "Utilisation en milieu éducatif"
+
 #~ msgid "Predefined tweaks"
 #~ msgstr "Retouches prédéfinies"
 
 #~ msgid "The three methods of tweaking"
 #~ msgstr "Les trois méthodes de retouche"
 
-#~ msgid "church rests"
-#~ msgstr "longues figures de silence"
-
 #~ msgid "Up and down"
 #~ msgstr "Vers le haut ou vers le bas"
index 7af92e9aace0cf3a1df73ef6cc4954d729ed7586..67c3c67fa5209a8517fc71ff36a10ab90164ac51 100644 (file)
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2008-02-18 21:13+0100\n"
+"POT-Creation-Date: 2008-03-23 16:29+0100\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -43,11 +43,11 @@ msgstr ""
 msgid "About <A HREF=\"%s\">automatic language selection</A>."
 msgstr ""
 
-#: add_html_footer.py:253
+#: add_html_footer.py:259
 msgid "stable-branch"
 msgstr ""
 
-#: add_html_footer.py:255
+#: add_html_footer.py:261
 msgid "development-branch"
 msgstr ""
 
@@ -107,23 +107,25 @@ msgstr ""
 
 #. @subsubheading in ../../../Documentation/user/macros.itexi
 #. @subsubheading in ../../../Documentation/fr/user/macros.itexi
-#. @subsubheading in ../../../Documentation/es/user/macros.itexi
 #. @subsubheading in ../../../Documentation/de/user/macros.itexi
 msgid "Predefined commands"
 msgstr ""
 
 #. @subsubheading in ../../../Documentation/user/macros.itexi
+#. @subsubheading in ../../../Documentation/fr/user/macros.itexi
+#. @subsubheading in ../../../Documentation/de/user/macros.itexi
 msgid "Selected Snippets"
 msgstr ""
 
 #. @subsubheading in ../../../Documentation/user/macros.itexi
 #. @subsubheading in ../../../Documentation/fr/user/macros.itexi
-#. @subsubheading in ../../../Documentation/es/user/macros.itexi
 #. @subsubheading in ../../../Documentation/de/user/macros.itexi
 msgid "See also"
 msgstr ""
 
 #. @subsubheading in ../../../Documentation/user/macros.itexi
+#. @subsubheading in ../../../Documentation/fr/user/macros.itexi
+#. @subsubheading in ../../../Documentation/de/user/macros.itexi
 msgid "Known issues and warnings"
 msgstr ""
 
@@ -216,10 +218,12 @@ msgid "About this manual"
 msgstr ""
 
 #. @subheading in ../../../Documentation/user/introduction.itely
+#. @subheading in ../../../Documentation/es/user/introduction.itely
 msgid "Learning Manual (LM)"
 msgstr ""
 
 #. @subheading in ../../../Documentation/user/introduction.itely
+#. @subheading in ../../../Documentation/es/user/introduction.itely
 msgid "Notation Reference (NR)"
 msgstr ""
 
@@ -230,7 +234,7 @@ msgid "Appendices"
 msgstr ""
 
 #. @subheading in ../../../Documentation/user/introduction.itely
-#. @subsubheading in ../../../Documentation/es/user/introduction.itely
+#. @subheading in ../../../Documentation/es/user/introduction.itely
 #. @subheading in ../../../Documentation/de/user/introduction.itely
 msgid "Program usage"
 msgstr ""
@@ -242,6 +246,7 @@ msgid "Other information"
 msgstr ""
 
 #. @rglos in ../../../Documentation/user/tutorial.itely
+#. @rglos in ../../../Documentation/es/user/tutorial.itely
 msgid "foo"
 msgstr ""
 
@@ -333,6 +338,7 @@ msgid "Pitches"
 msgstr ""
 
 #. @rglos in ../../../Documentation/user/tutorial.itely
+#. @rglos in ../../../Documentation/es/user/tutorial.itely
 #. @rglos in ../../../Documentation/de/user/tutorial.itely
 msgid "pitch"
 msgstr ""
@@ -360,11 +366,13 @@ msgid "middle C"
 msgstr ""
 
 #. @rglos in ../../../Documentation/user/tutorial.itely
+#. @rglos in ../../../Documentation/es/user/tutorial.itely
 #. @rglos in ../../../Documentation/de/user/tutorial.itely
 msgid "octave"
 msgstr ""
 
 #. @rglos in ../../../Documentation/user/tutorial.itely
+#. @rglos in ../../../Documentation/es/user/tutorial.itely
 #. @rglos in ../../../Documentation/de/user/tutorial.itely
 msgid "accidental"
 msgstr ""
@@ -425,7 +433,7 @@ msgstr ""
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/rhythms.itely
 #. @subheading in ../../../Documentation/es/user/tutorial.itely
 #. @node in ../../../Documentation/es/user/rhythms.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/rhythms.itely
+#. @subsubsection in ../../../Documentation/es/user/rhythms.itely
 #. @subheading in ../../../Documentation/de/user/tutorial.itely
 #. @node in ../../../Documentation/de/user/rhythms.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/rhythms.itely
@@ -446,7 +454,7 @@ msgstr ""
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/rhythms.itely
 #. @subheading in ../../../Documentation/es/user/tutorial.itely
 #. @node in ../../../Documentation/es/user/rhythms.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/rhythms.itely
+#. @subsubsection in ../../../Documentation/es/user/rhythms.itely
 #. @subheading in ../../../Documentation/de/user/tutorial.itely
 #. @node in ../../../Documentation/de/user/rhythms.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/rhythms.itely
@@ -462,13 +470,13 @@ msgstr ""
 
 #. @subheading in ../../../Documentation/user/tutorial.itely
 #. @node in ../../../Documentation/user/pitches.itely
-#. @subsubsection in ../../../Documentation/user/pitches.itely
+#. @unnumberedsubsubsec in ../../../Documentation/user/pitches.itely
 #. @subheading in ../../../Documentation/fr/user/tutorial.itely
 #. @node in ../../../Documentation/fr/user/pitches.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/pitches.itely
 #. @subheading in ../../../Documentation/es/user/tutorial.itely
 #. @node in ../../../Documentation/es/user/pitches.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/pitches.itely
+#. @subsubsection in ../../../Documentation/es/user/pitches.itely
 #. @subheading in ../../../Documentation/de/user/tutorial.itely
 #. @node in ../../../Documentation/de/user/pitches.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/pitches.itely
@@ -511,6 +519,7 @@ msgid "How to read the manual"
 msgstr ""
 
 #. @subheading in ../../../Documentation/user/tutorial.itely
+#. @subheading in ../../../Documentation/es/user/tutorial.itely
 #. @subheading in ../../../Documentation/de/user/tutorial.itely
 msgid "Clickable examples"
 msgstr ""
@@ -539,13 +548,13 @@ msgstr ""
 
 #. @subheading in ../../../Documentation/user/tutorial.itely
 #. @node in ../../../Documentation/user/pitches.itely
-#. @subsubsection in ../../../Documentation/user/pitches.itely
+#. @unnumberedsubsubsec in ../../../Documentation/user/pitches.itely
 #. @subheading in ../../../Documentation/fr/user/tutorial.itely
 #. @node in ../../../Documentation/fr/user/pitches.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/pitches.itely
 #. @subheading in ../../../Documentation/es/user/tutorial.itely
 #. @node in ../../../Documentation/es/user/pitches.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/pitches.itely
+#. @subsubsection in ../../../Documentation/es/user/pitches.itely
 #. @subheading in ../../../Documentation/de/user/tutorial.itely
 #. @node in ../../../Documentation/de/user/pitches.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/pitches.itely
@@ -623,6 +632,7 @@ msgstr ""
 
 #. @rglos in ../../../Documentation/user/tutorial.itely
 #. @rglos in ../../../Documentation/user/pitches.itely
+#. @rglos in ../../../Documentation/es/user/pitches.itely
 #. @rglos in ../../../Documentation/de/user/tutorial.itely
 msgid "Pitch names"
 msgstr ""
@@ -645,8 +655,8 @@ msgstr ""
 #. @node in ../../../Documentation/fr/user/expressive.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/expressive.itely
 #. @subheading in ../../../Documentation/es/user/tutorial.itely
-#. @node in ../../../Documentation/es/user/expressive.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/expressive.itely
+#. @node in ../../../Documentation/es/user/rhythms.itely
+#. @subsubsection in ../../../Documentation/es/user/rhythms.itely
 #. @subheading in ../../../Documentation/de/user/tutorial.itely
 #. @node in ../../../Documentation/de/user/expressive.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/expressive.itely
@@ -657,6 +667,7 @@ msgstr ""
 #. @rglos in ../../../Documentation/user/rhythms.itely
 #. @rglos in ../../../Documentation/fr/user/tutorial.itely
 #. @rglos in ../../../Documentation/es/user/tutorial.itely
+#. @rglos in ../../../Documentation/es/user/rhythms.itely
 #. @rglos in ../../../Documentation/de/user/tutorial.itely
 msgid "tie"
 msgstr ""
@@ -669,7 +680,7 @@ msgstr ""
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/expressive.itely
 #. @subheading in ../../../Documentation/es/user/tutorial.itely
 #. @node in ../../../Documentation/es/user/expressive.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/expressive.itely
+#. @subsubsection in ../../../Documentation/es/user/expressive.itely
 #. @subheading in ../../../Documentation/de/user/tutorial.itely
 #. @node in ../../../Documentation/de/user/expressive.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/expressive.itely
@@ -677,6 +688,7 @@ msgid "Slurs"
 msgstr ""
 
 #. @rglos in ../../../Documentation/user/tutorial.itely
+#. @rglos in ../../../Documentation/user/expressive.itely
 #. @rglos in ../../../Documentation/fr/user/tutorial.itely
 #. @rglos in ../../../Documentation/es/user/tutorial.itely
 #. @rglos in ../../../Documentation/de/user/tutorial.itely
@@ -691,7 +703,7 @@ msgstr ""
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/expressive.itely
 #. @subheading in ../../../Documentation/es/user/tutorial.itely
 #. @node in ../../../Documentation/es/user/expressive.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/expressive.itely
+#. @subsubsection in ../../../Documentation/es/user/expressive.itely
 #. @subheading in ../../../Documentation/de/user/tutorial.itely
 #. @node in ../../../Documentation/de/user/expressive.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/expressive.itely
@@ -737,8 +749,6 @@ msgstr ""
 #. @node in ../../../Documentation/fr/user/expressive.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/expressive.itely
 #. @subheading in ../../../Documentation/es/user/tutorial.itely
-#. @node in ../../../Documentation/es/user/expressive.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/expressive.itely
 #. @subheading in ../../../Documentation/de/user/tutorial.itely
 #. @node in ../../../Documentation/de/user/expressive.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/expressive.itely
@@ -766,7 +776,7 @@ msgstr ""
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/expressive.itely
 #. @subheading in ../../../Documentation/es/user/tutorial.itely
 #. @node in ../../../Documentation/es/user/expressive.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/expressive.itely
+#. @subsubsection in ../../../Documentation/es/user/expressive.itely
 #. @subheading in ../../../Documentation/de/user/tutorial.itely
 #. @node in ../../../Documentation/de/user/expressive.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/expressive.itely
@@ -780,18 +790,22 @@ msgstr ""
 
 #. @rglos in ../../../Documentation/user/tutorial.itely
 #. @rglos in ../../../Documentation/user/expressive.itely
+#. @rglos in ../../../Documentation/es/user/expressive.itely
 #. @rglos in ../../../Documentation/de/user/tutorial.itely
 msgid "crescendo"
 msgstr ""
 
 #. @rglos in ../../../Documentation/user/tutorial.itely
 #. @rglos in ../../../Documentation/user/expressive.itely
+#. @rglos in ../../../Documentation/es/user/expressive.itely
 #. @rglos in ../../../Documentation/de/user/tutorial.itely
 msgid "decrescendo"
 msgstr ""
 
 #. @node in ../../../Documentation/user/tutorial.itely
 #. @subsection in ../../../Documentation/user/tutorial.itely
+#. @node in ../../../Documentation/es/user/tutorial.itely
+#. @subsection in ../../../Documentation/es/user/tutorial.itely
 #. @node in ../../../Documentation/de/user/tutorial.itely
 #. @subsection in ../../../Documentation/de/user/tutorial.itely
 msgid "Adding text"
@@ -840,7 +854,7 @@ msgstr ""
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/rhythms.itely
 #. @subheading in ../../../Documentation/es/user/tutorial.itely
 #. @node in ../../../Documentation/es/user/rhythms.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/rhythms.itely
+#. @subsubsection in ../../../Documentation/es/user/rhythms.itely
 #. @subheading in ../../../Documentation/de/user/tutorial.itely
 #. @node in ../../../Documentation/de/user/rhythms.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/rhythms.itely
@@ -849,12 +863,14 @@ msgstr ""
 
 #. @rglos in ../../../Documentation/user/tutorial.itely
 #. @rglos in ../../../Documentation/user/rhythms.itely
+#. @rglos in ../../../Documentation/es/user/rhythms.itely
 #. @rglos in ../../../Documentation/de/user/tutorial.itely
 msgid "note value"
 msgstr ""
 
 #. @rglos in ../../../Documentation/user/tutorial.itely
 #. @rglos in ../../../Documentation/user/rhythms.itely
+#. @rglos in ../../../Documentation/es/user/rhythms.itely
 #. @rglos in ../../../Documentation/de/user/tutorial.itely
 msgid "triplet"
 msgstr ""
@@ -867,7 +883,7 @@ msgstr ""
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/rhythms.itely
 #. @subheading in ../../../Documentation/es/user/tutorial.itely
 #. @node in ../../../Documentation/es/user/rhythms.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/rhythms.itely
+#. @subsubsection in ../../../Documentation/es/user/rhythms.itely
 #. @subheading in ../../../Documentation/de/user/tutorial.itely
 #. @node in ../../../Documentation/de/user/rhythms.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/rhythms.itely
@@ -952,6 +968,8 @@ msgstr ""
 
 #. @node in ../../../Documentation/user/tutorial.itely
 #. @subsection in ../../../Documentation/user/tutorial.itely
+#. @node in ../../../Documentation/es/user/tutorial.itely
+#. @subsection in ../../../Documentation/es/user/tutorial.itely
 #. @node in ../../../Documentation/de/user/tutorial.itely
 #. @subsection in ../../../Documentation/de/user/tutorial.itely
 msgid "Staff groups"
@@ -959,6 +977,7 @@ msgstr ""
 
 #. @rglos in ../../../Documentation/user/tutorial.itely
 #. @rglos in ../../../Documentation/user/staff.itely
+#. @rglos in ../../../Documentation/es/user/tutorial.itely
 #. @rglos in ../../../Documentation/de/user/tutorial.itely
 msgid "brace"
 msgstr ""
@@ -976,6 +995,7 @@ msgstr ""
 
 #. @rglos in ../../../Documentation/user/tutorial.itely
 #. @rglos in ../../../Documentation/user/simultaneous.itely
+#. @rglos in ../../../Documentation/es/user/simultaneous.itely
 #. @rglos in ../../../Documentation/de/user/tutorial.itely
 msgid "chord"
 msgstr ""
@@ -1008,8 +1028,10 @@ msgstr ""
 #. @subsubsection in ../../../Documentation/user/vocal.itely
 #. @node in ../../../Documentation/fr/user/vocal.itely
 #. @unnumberedsubsubsec 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
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/vocal.itely
+#. @subsubsection in ../../../Documentation/es/user/vocal.itely
 #. @node in ../../../Documentation/de/user/tutorial.itely
 #. @subsection in ../../../Documentation/de/user/tutorial.itely
 #. @node in ../../../Documentation/de/user/vocal.itely
@@ -1018,6 +1040,7 @@ msgid "Setting simple songs"
 msgstr ""
 
 #. @rglos in ../../../Documentation/user/tutorial.itely
+#. @rglos in ../../../Documentation/es/user/tutorial.itely
 #. @rglos in ../../../Documentation/de/user/tutorial.itely
 msgid "lyrics"
 msgstr ""
@@ -1028,8 +1051,10 @@ msgstr ""
 #. @subsection in ../../../Documentation/user/vocal.itely
 #. @node in ../../../Documentation/fr/user/vocal.itely
 #. @unnumberedsubsubsec 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
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/vocal.itely
+#. @subsection in ../../../Documentation/es/user/vocal.itely
 #. @node in ../../../Documentation/de/user/tutorial.itely
 #. @subsection in ../../../Documentation/de/user/tutorial.itely
 #. @node in ../../../Documentation/de/user/vocal.itely
@@ -1045,12 +1070,15 @@ msgid "melisma"
 msgstr ""
 
 #. @rglos in ../../../Documentation/user/tutorial.itely
+#. @rglos in ../../../Documentation/es/user/tutorial.itely
 #. @rglos in ../../../Documentation/de/user/tutorial.itely
 msgid "extender line"
 msgstr ""
 
 #. @node in ../../../Documentation/user/tutorial.itely
 #. @subsection in ../../../Documentation/user/tutorial.itely
+#. @node in ../../../Documentation/es/user/tutorial.itely
+#. @subsection in ../../../Documentation/es/user/tutorial.itely
 #. @node in ../../../Documentation/de/user/tutorial.itely
 #. @subsection in ../../../Documentation/de/user/tutorial.itely
 msgid "Lyrics to multiple staves"
@@ -1069,6 +1097,8 @@ msgstr ""
 
 #. @node in ../../../Documentation/user/tutorial.itely
 #. @subsection in ../../../Documentation/user/tutorial.itely
+#. @node in ../../../Documentation/es/user/tutorial.itely
+#. @subsection in ../../../Documentation/es/user/tutorial.itely
 #. @node in ../../../Documentation/de/user/tutorial.itely
 #. @subsection in ../../../Documentation/de/user/tutorial.itely
 msgid "Organizing pieces with variables"
@@ -1122,6 +1152,8 @@ msgstr ""
 #. @chapter in ../../../Documentation/user/fundamental.itely
 #. @node in ../../../Documentation/fr/user/fundamental.itely
 #. @chapter in ../../../Documentation/fr/user/fundamental.itely
+#. @node in ../../../Documentation/es/user/fundamental.itely
+#. @chapter in ../../../Documentation/es/user/fundamental.itely
 #. @node in ../../../Documentation/de/user/fundamental.itely
 #. @chapter in ../../../Documentation/de/user/fundamental.itely
 msgid "Fundamental concepts"
@@ -1131,8 +1163,8 @@ msgstr ""
 #. @section in ../../../Documentation/user/fundamental.itely
 #. @node in ../../../Documentation/fr/user/fundamental.itely
 #. @section in ../../../Documentation/fr/user/fundamental.itely
-#. @node in ../../../Documentation/es/user/putting.itely
-#. @section in ../../../Documentation/es/user/putting.itely
+#. @node in ../../../Documentation/es/user/fundamental.itely
+#. @section in ../../../Documentation/es/user/fundamental.itely
 #. @node in ../../../Documentation/de/user/putting.itely
 #. @section in ../../../Documentation/de/user/putting.itely
 #. @node in ../../../Documentation/de/user/fundamental.itely
@@ -1144,6 +1176,8 @@ msgstr ""
 #. @subsection in ../../../Documentation/user/fundamental.itely
 #. @node in ../../../Documentation/fr/user/fundamental.itely
 #. @subsection in ../../../Documentation/fr/user/fundamental.itely
+#. @node in ../../../Documentation/es/user/fundamental.itely
+#. @subsection in ../../../Documentation/es/user/fundamental.itely
 #. @node in ../../../Documentation/de/user/fundamental.itely
 #. @subsection in ../../../Documentation/de/user/fundamental.itely
 msgid "Introduction to the LilyPond file structure"
@@ -1153,6 +1187,8 @@ msgstr ""
 #. @subsection in ../../../Documentation/user/fundamental.itely
 #. @node in ../../../Documentation/fr/user/fundamental.itely
 #. @subsection in ../../../Documentation/fr/user/fundamental.itely
+#. @node in ../../../Documentation/es/user/fundamental.itely
+#. @subsection in ../../../Documentation/es/user/fundamental.itely
 #. @node in ../../../Documentation/de/user/fundamental.itely
 #. @subsection in ../../../Documentation/de/user/fundamental.itely
 msgid "Score is a (single) compound musical expression"
@@ -1162,6 +1198,8 @@ msgstr ""
 #. @subsection in ../../../Documentation/user/fundamental.itely
 #. @node in ../../../Documentation/fr/user/fundamental.itely
 #. @subsection in ../../../Documentation/fr/user/fundamental.itely
+#. @node in ../../../Documentation/es/user/fundamental.itely
+#. @subsection in ../../../Documentation/es/user/fundamental.itely
 #. @node in ../../../Documentation/de/user/fundamental.itely
 #. @subsection in ../../../Documentation/de/user/fundamental.itely
 msgid "Nesting music expressions"
@@ -1170,6 +1208,7 @@ msgstr ""
 #. @rglos in ../../../Documentation/user/fundamental.itely
 #. @rglos in ../../../Documentation/user/tweaks.itely
 #. @rglos in ../../../Documentation/user/staff.itely
+#. @rglos in ../../../Documentation/es/user/fundamental.itely
 msgid "ossia"
 msgstr ""
 
@@ -1177,6 +1216,8 @@ msgstr ""
 #. @subsection in ../../../Documentation/user/fundamental.itely
 #. @node in ../../../Documentation/fr/user/fundamental.itely
 #. @subsection in ../../../Documentation/fr/user/fundamental.itely
+#. @node in ../../../Documentation/es/user/fundamental.itely
+#. @subsection in ../../../Documentation/es/user/fundamental.itely
 #. @node in ../../../Documentation/de/user/fundamental.itely
 #. @subsection in ../../../Documentation/de/user/fundamental.itely
 msgid "On the un-nestedness of brackets and ties"
@@ -1186,6 +1227,8 @@ msgstr ""
 #. @section in ../../../Documentation/user/fundamental.itely
 #. @node in ../../../Documentation/fr/user/fundamental.itely
 #. @section in ../../../Documentation/fr/user/fundamental.itely
+#. @node in ../../../Documentation/es/user/fundamental.itely
+#. @section in ../../../Documentation/es/user/fundamental.itely
 #. @node in ../../../Documentation/de/user/fundamental.itely
 #. @section in ../../../Documentation/de/user/fundamental.itely
 msgid "Voices contain music"
@@ -1195,6 +1238,8 @@ msgstr ""
 #. @subsection in ../../../Documentation/user/fundamental.itely
 #. @node in ../../../Documentation/fr/user/fundamental.itely
 #. @subsection in ../../../Documentation/fr/user/fundamental.itely
+#. @node in ../../../Documentation/es/user/fundamental.itely
+#. @subsection in ../../../Documentation/es/user/fundamental.itely
 #. @node in ../../../Documentation/de/user/fundamental.itely
 #. @subsection in ../../../Documentation/de/user/fundamental.itely
 msgid "I'm hearing Voices"
@@ -1204,8 +1249,10 @@ msgstr ""
 #. @subsection in ../../../Documentation/user/fundamental.itely
 #. @node in ../../../Documentation/fr/user/fundamental.itely
 #. @subsection in ../../../Documentation/fr/user/fundamental.itely
+#. @node in ../../../Documentation/es/user/fundamental.itely
+#. @subsection in ../../../Documentation/es/user/fundamental.itely
 #. @node in ../../../Documentation/es/user/simultaneous.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/simultaneous.itely
+#. @subsubsection in ../../../Documentation/es/user/simultaneous.itely
 #. @node in ../../../Documentation/de/user/fundamental.itely
 #. @subsection in ../../../Documentation/de/user/fundamental.itely
 #. @node in ../../../Documentation/de/user/simultaneous.itely
@@ -1217,6 +1264,8 @@ msgstr ""
 #. @subsection in ../../../Documentation/user/fundamental.itely
 #. @node in ../../../Documentation/fr/user/fundamental.itely
 #. @subsection in ../../../Documentation/fr/user/fundamental.itely
+#. @node in ../../../Documentation/es/user/fundamental.itely
+#. @subsection in ../../../Documentation/es/user/fundamental.itely
 #. @node in ../../../Documentation/de/user/fundamental.itely
 #. @subsection in ../../../Documentation/de/user/fundamental.itely
 msgid "Voices and vocals"
@@ -1226,6 +1275,8 @@ msgstr ""
 #. @section in ../../../Documentation/user/fundamental.itely
 #. @node in ../../../Documentation/fr/user/fundamental.itely
 #. @section in ../../../Documentation/fr/user/fundamental.itely
+#. @node in ../../../Documentation/es/user/fundamental.itely
+#. @section in ../../../Documentation/es/user/fundamental.itely
 #. @node in ../../../Documentation/de/user/fundamental.itely
 #. @section in ../../../Documentation/de/user/fundamental.itely
 msgid "Contexts and engravers"
@@ -1237,6 +1288,8 @@ msgstr ""
 #. @subsection in ../../../Documentation/user/changing-defaults.itely
 #. @node in ../../../Documentation/fr/user/fundamental.itely
 #. @subsection in ../../../Documentation/fr/user/fundamental.itely
+#. @node in ../../../Documentation/es/user/fundamental.itely
+#. @subsection in ../../../Documentation/es/user/fundamental.itely
 #. @node in ../../../Documentation/es/user/changing-defaults.itely
 #. @subsection in ../../../Documentation/es/user/changing-defaults.itely
 #. @node in ../../../Documentation/de/user/fundamental.itely
@@ -1252,6 +1305,8 @@ msgstr ""
 #. @subsection in ../../../Documentation/user/changing-defaults.itely
 #. @node in ../../../Documentation/fr/user/fundamental.itely
 #. @subsection in ../../../Documentation/fr/user/fundamental.itely
+#. @node in ../../../Documentation/es/user/fundamental.itely
+#. @subsection in ../../../Documentation/es/user/fundamental.itely
 #. @node in ../../../Documentation/es/user/changing-defaults.itely
 #. @subsection in ../../../Documentation/es/user/changing-defaults.itely
 #. @node in ../../../Documentation/de/user/fundamental.itely
@@ -1265,6 +1320,8 @@ msgstr ""
 #. @subsection in ../../../Documentation/user/fundamental.itely
 #. @node in ../../../Documentation/fr/user/fundamental.itely
 #. @subsection in ../../../Documentation/fr/user/fundamental.itely
+#. @node in ../../../Documentation/es/user/fundamental.itely
+#. @subsection in ../../../Documentation/es/user/fundamental.itely
 #. @node in ../../../Documentation/de/user/fundamental.itely
 #. @subsection in ../../../Documentation/de/user/fundamental.itely
 msgid "Engravers explained"
@@ -1274,6 +1331,8 @@ msgstr ""
 #. @subsection in ../../../Documentation/user/fundamental.itely
 #. @node in ../../../Documentation/fr/user/fundamental.itely
 #. @subsection in ../../../Documentation/fr/user/fundamental.itely
+#. @node in ../../../Documentation/es/user/fundamental.itely
+#. @subsection in ../../../Documentation/es/user/fundamental.itely
 #. @node in ../../../Documentation/de/user/fundamental.itely
 #. @subsection in ../../../Documentation/de/user/fundamental.itely
 msgid "Modifying context properties"
@@ -1283,22 +1342,27 @@ msgstr ""
 #. @subsection in ../../../Documentation/user/fundamental.itely
 #. @node in ../../../Documentation/fr/user/fundamental.itely
 #. @subsection in ../../../Documentation/fr/user/fundamental.itely
+#. @node in ../../../Documentation/es/user/fundamental.itely
+#. @subsection in ../../../Documentation/es/user/fundamental.itely
 #. @node in ../../../Documentation/de/user/fundamental.itely
 #. @subsection in ../../../Documentation/de/user/fundamental.itely
 msgid "Adding and removing engravers"
 msgstr ""
 
-#. @subsubsection in ../../../Documentation/user/fundamental.itely
+#. @subsubheading in ../../../Documentation/user/fundamental.itely
+#. @subsubheading in ../../../Documentation/es/user/fundamental.itely
 #. @subsubsection in ../../../Documentation/de/user/fundamental.itely
 msgid "Changing a single context"
 msgstr ""
 
 #. @rglos in ../../../Documentation/user/fundamental.itely
 #. @rglos in ../../../Documentation/user/pitches.itely
+#. @rglos in ../../../Documentation/es/user/fundamental.itely
 msgid "ambitus"
 msgstr ""
 
-#. @subsubsection in ../../../Documentation/user/fundamental.itely
+#. @subsubheading in ../../../Documentation/user/fundamental.itely
+#. @subsubheading in ../../../Documentation/es/user/fundamental.itely
 #. @subsubsection in ../../../Documentation/de/user/fundamental.itely
 msgid "Changing all contexts of the same type"
 msgstr ""
@@ -1307,8 +1371,8 @@ msgstr ""
 #. @section in ../../../Documentation/user/fundamental.itely
 #. @node in ../../../Documentation/fr/user/fundamental.itely
 #. @section in ../../../Documentation/fr/user/fundamental.itely
-#. @node in ../../../Documentation/es/user/putting.itely
-#. @section in ../../../Documentation/es/user/putting.itely
+#. @node in ../../../Documentation/es/user/fundamental.itely
+#. @section in ../../../Documentation/es/user/fundamental.itely
 #. @node in ../../../Documentation/de/user/putting.itely
 #. @section in ../../../Documentation/de/user/putting.itely
 #. @node in ../../../Documentation/de/user/fundamental.itely
@@ -1320,6 +1384,8 @@ msgstr ""
 #. @subsection in ../../../Documentation/user/fundamental.itely
 #. @node in ../../../Documentation/fr/user/fundamental.itely
 #. @subsection in ../../../Documentation/fr/user/fundamental.itely
+#. @node in ../../../Documentation/es/user/fundamental.itely
+#. @subsection in ../../../Documentation/es/user/fundamental.itely
 #. @node in ../../../Documentation/de/user/fundamental.itely
 #. @subsection in ../../../Documentation/de/user/fundamental.itely
 msgid "Soprano and cello"
@@ -1329,6 +1395,8 @@ msgstr ""
 #. @subsection in ../../../Documentation/user/fundamental.itely
 #. @node in ../../../Documentation/fr/user/fundamental.itely
 #. @subsection in ../../../Documentation/fr/user/fundamental.itely
+#. @node in ../../../Documentation/es/user/fundamental.itely
+#. @subsection in ../../../Documentation/es/user/fundamental.itely
 #. @node in ../../../Documentation/de/user/fundamental.itely
 #. @subsection in ../../../Documentation/de/user/fundamental.itely
 msgid "Four-part SATB vocal score"
@@ -1338,6 +1406,8 @@ msgstr ""
 #. @subsection in ../../../Documentation/user/fundamental.itely
 #. @node in ../../../Documentation/fr/user/fundamental.itely
 #. @subsection in ../../../Documentation/fr/user/fundamental.itely
+#. @node in ../../../Documentation/es/user/fundamental.itely
+#. @subsection in ../../../Documentation/es/user/fundamental.itely
 #. @node in ../../../Documentation/de/user/fundamental.itely
 #. @subsection in ../../../Documentation/de/user/fundamental.itely
 msgid "Building a score from scratch"
@@ -1407,7 +1477,7 @@ msgid "Properties found in interfaces"
 msgstr ""
 
 #. @subheading in ../../../Documentation/user/tweaks.itely
-msgid "Specifying context in lyric mode"
+msgid "Specifying the context in lyric mode"
 msgstr ""
 
 #. @node in ../../../Documentation/user/tweaks.itely
@@ -1443,6 +1513,8 @@ msgstr ""
 
 #. @node in ../../../Documentation/user/tweaks.itely
 #. @subsection in ../../../Documentation/user/tweaks.itely
+#. @node in ../../../Documentation/es/user/tweaks.itely
+#. @subsection in ../../../Documentation/es/user/tweaks.itely
 msgid "Size of objects"
 msgstr ""
 
@@ -1583,7 +1655,7 @@ msgstr ""
 #. @section in ../../../Documentation/es/user/tweaks.itely
 #. @node in ../../../Documentation/de/user/tweaks.itely
 #. @section in ../../../Documentation/de/user/tweaks.itely
-msgid "Advanced tweaks with Scheme"
+msgid "Avoiding tweaks with slower processing"
 msgstr ""
 
 #. @node in ../../../Documentation/user/tweaks.itely
@@ -1594,7 +1666,7 @@ msgstr ""
 #. @section in ../../../Documentation/es/user/tweaks.itely
 #. @node in ../../../Documentation/de/user/tweaks.itely
 #. @section in ../../../Documentation/de/user/tweaks.itely
-msgid "Avoiding tweaks with slower processing"
+msgid "Advanced tweaks with Scheme"
 msgstr ""
 
 #. @node in ../../../Documentation/user/working.itely
@@ -1654,6 +1726,8 @@ msgstr ""
 
 #. @node in ../../../Documentation/user/working.itely
 #. @subsection in ../../../Documentation/user/working.itely
+#. @node in ../../../Documentation/es/user/working.itely
+#. @section in ../../../Documentation/es/user/working.itely
 msgid "Saving typing with variables and functions"
 msgstr ""
 
@@ -1905,8 +1979,8 @@ msgstr ""
 #. @node in ../../../Documentation/user/lilypond-book.itely
 #. @appendixsubsec in ../../../Documentation/fr/user/templates.itely
 #. @node in ../../../Documentation/fr/user/lilypond-book.itely
-#. @node in ../../../Documentation/es/user/lilypond-book.itely
 #. @appendixsubsec in ../../../Documentation/es/user/templates.itely
+#. @node in ../../../Documentation/es/user/lilypond-book.itely
 #. @appendixsubsec in ../../../Documentation/de/user/templates.itely
 #. @node in ../../../Documentation/de/user/lilypond-book.itely
 msgid "LaTeX"
@@ -1920,10 +1994,10 @@ msgstr ""
 #. @node in ../../../Documentation/fr/user/lilypond-book.itely
 #. @subsection in ../../../Documentation/fr/user/lilypond-book.itely
 #. @subsubheading in ../../../Documentation/fr/user/lilypond-book.itely
+#. @appendixsubsec in ../../../Documentation/es/user/templates.itely
 #. @node in ../../../Documentation/es/user/lilypond-book.itely
 #. @subsection in ../../../Documentation/es/user/lilypond-book.itely
 #. @subsubheading in ../../../Documentation/es/user/lilypond-book.itely
-#. @appendixsubsec in ../../../Documentation/es/user/templates.itely
 #. @appendixsubsec in ../../../Documentation/de/user/templates.itely
 #. @node in ../../../Documentation/de/user/lilypond-book.itely
 #. @subsection in ../../../Documentation/de/user/lilypond-book.itely
@@ -1931,6 +2005,10 @@ msgstr ""
 msgid "Texinfo"
 msgstr ""
 
+#. @appendixsubsec in ../../../Documentation/user/templates.itely
+msgid "xelatex"
+msgstr ""
+
 #. @node in ../../../Documentation/user/scheme-tutorial.itely
 #. @appendix in ../../../Documentation/user/scheme-tutorial.itely
 #. @node in ../../../Documentation/fr/user/scheme-tutorial.itely
@@ -1942,6 +2020,11 @@ msgstr ""
 msgid "Scheme tutorial"
 msgstr ""
 
+#. @node in ../../../Documentation/user/scheme-tutorial.itely
+#. @appendixsec in ../../../Documentation/user/scheme-tutorial.itely
+msgid "Tweaking with Scheme"
+msgstr ""
+
 #. @node in ../../../Documentation/user/fdl.itexi
 #. @appendix in ../../../Documentation/user/fdl.itexi
 #. @node in ../../../Documentation/user/fdl.itexi
@@ -2650,12 +2733,16 @@ msgid "Writing pitches"
 msgstr ""
 
 #. @node in ../../../Documentation/user/pitches.itely
-#. @subsubsection in ../../../Documentation/user/pitches.itely
+#. @unnumberedsubsubsec in ../../../Documentation/user/pitches.itely
+#. @node in ../../../Documentation/es/user/pitches.itely
+#. @subsubsection in ../../../Documentation/es/user/pitches.itely
 msgid "Absolute octave entry"
 msgstr ""
 
 #. @node in ../../../Documentation/user/pitches.itely
-#. @subsubsection in ../../../Documentation/user/pitches.itely
+#. @unnumberedsubsubsec in ../../../Documentation/user/pitches.itely
+#. @node in ../../../Documentation/es/user/pitches.itely
+#. @subsubsection in ../../../Documentation/es/user/pitches.itely
 msgid "Relative octave entry"
 msgstr ""
 
@@ -2668,11 +2755,11 @@ msgid "quarter-tone"
 msgstr ""
 
 #. @node in ../../../Documentation/user/pitches.itely
-#. @subsubsection in ../../../Documentation/user/pitches.itely
+#. @unnumberedsubsubsec in ../../../Documentation/user/pitches.itely
 #. @node in ../../../Documentation/fr/user/pitches.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/pitches.itely
 #. @node in ../../../Documentation/es/user/pitches.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/pitches.itely
+#. @subsubsection in ../../../Documentation/es/user/pitches.itely
 #. @node in ../../../Documentation/de/user/pitches.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/pitches.itely
 msgid "Note names in other languages"
@@ -2690,16 +2777,18 @@ msgid "Changing multiple pitches"
 msgstr ""
 
 #. @node in ../../../Documentation/user/pitches.itely
-#. @subsubsection in ../../../Documentation/user/pitches.itely
+#. @unnumberedsubsubsec in ../../../Documentation/user/pitches.itely
+#. @node in ../../../Documentation/es/user/pitches.itely
+#. @subsubsection in ../../../Documentation/es/user/pitches.itely
 msgid "Octave checks"
 msgstr ""
 
 #. @node in ../../../Documentation/user/pitches.itely
-#. @subsubsection in ../../../Documentation/user/pitches.itely
+#. @unnumberedsubsubsec in ../../../Documentation/user/pitches.itely
 #. @node in ../../../Documentation/fr/user/pitches.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/pitches.itely
 #. @node in ../../../Documentation/es/user/pitches.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/pitches.itely
+#. @subsubsection in ../../../Documentation/es/user/pitches.itely
 #. @node in ../../../Documentation/de/user/pitches.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/pitches.itely
 msgid "Transpose"
@@ -2717,11 +2806,11 @@ msgid "Displaying pitches"
 msgstr ""
 
 #. @node in ../../../Documentation/user/pitches.itely
-#. @subsubsection in ../../../Documentation/user/pitches.itely
+#. @unnumberedsubsubsec in ../../../Documentation/user/pitches.itely
 #. @node in ../../../Documentation/fr/user/pitches.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/pitches.itely
 #. @node in ../../../Documentation/es/user/pitches.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/pitches.itely
+#. @subsubsection in ../../../Documentation/es/user/pitches.itely
 #. @node in ../../../Documentation/de/user/pitches.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/pitches.itely
 msgid "Key signature"
@@ -2736,11 +2825,11 @@ msgid "scordatura"
 msgstr ""
 
 #. @node in ../../../Documentation/user/pitches.itely
-#. @subsubsection in ../../../Documentation/user/pitches.itely
+#. @unnumberedsubsubsec in ../../../Documentation/user/pitches.itely
 #. @node in ../../../Documentation/fr/user/pitches.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/pitches.itely
 #. @node in ../../../Documentation/es/user/pitches.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/pitches.itely
+#. @subsubsection in ../../../Documentation/es/user/pitches.itely
 #. @node in ../../../Documentation/de/user/pitches.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/pitches.itely
 msgid "Ottava brackets"
@@ -2751,11 +2840,11 @@ msgid "octavation"
 msgstr ""
 
 #. @node in ../../../Documentation/user/pitches.itely
-#. @subsubsection in ../../../Documentation/user/pitches.itely
+#. @unnumberedsubsubsec in ../../../Documentation/user/pitches.itely
 #. @node in ../../../Documentation/fr/user/pitches.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/pitches.itely
 #. @node in ../../../Documentation/es/user/pitches.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/pitches.itely
+#. @subsubsection in ../../../Documentation/es/user/pitches.itely
 #. @node in ../../../Documentation/de/user/pitches.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/pitches.itely
 msgid "Instrument transpositions"
@@ -2770,65 +2859,73 @@ msgid "transposing instrument"
 msgstr ""
 
 #. @node in ../../../Documentation/user/pitches.itely
-#. @subsubsection in ../../../Documentation/user/pitches.itely
+#. @unnumberedsubsubsec in ../../../Documentation/user/pitches.itely
 #. @node in ../../../Documentation/fr/user/changing-defaults.itely
 #. @subsection in ../../../Documentation/fr/user/changing-defaults.itely
-#. @node in ../../../Documentation/es/user/changing-defaults.itely
-#. @subsection in ../../../Documentation/es/user/changing-defaults.itely
+#. @node in ../../../Documentation/es/user/pitches.itely
+#. @subsubsection in ../../../Documentation/es/user/pitches.itely
 msgid "Automatic accidentals"
 msgstr ""
 
 #. @node in ../../../Documentation/user/pitches.itely
-#. @subsubsection in ../../../Documentation/user/pitches.itely
+#. @unnumberedsubsubsec in ../../../Documentation/user/pitches.itely
 #. @node in ../../../Documentation/fr/user/editorial.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/editorial.itely
-#. @node in ../../../Documentation/es/user/educational.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/educational.itely
-#. @node in ../../../Documentation/de/user/educational.itely
-#. @unnumberedsubsubsec in ../../../Documentation/de/user/educational.itely
+#. @node in ../../../Documentation/es/user/pitches.itely
+#. @subsubsection in ../../../Documentation/es/user/pitches.itely
+#. @node in ../../../Documentation/de/user/editorial.itely
+#. @unnumberedsubsubsec in ../../../Documentation/de/user/editorial.itely
 msgid "Ambitus"
 msgstr ""
 
 #. @node in ../../../Documentation/user/pitches.itely
 #. @subsection in ../../../Documentation/user/pitches.itely
-#. @node in ../../../Documentation/fr/user/editorial.itely
-#. @subsection in ../../../Documentation/fr/user/editorial.itely
-#. @node in ../../../Documentation/es/user/educational.itely
-#. @subsection in ../../../Documentation/es/user/educational.itely
-#. @node in ../../../Documentation/de/user/educational.itely
-#. @subsection in ../../../Documentation/de/user/educational.itely
+#. @node in ../../../Documentation/fr/user/pitches.itely
+#. @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/editorial.itely
+#. @subsection in ../../../Documentation/de/user/editorial.itely
 msgid "Note heads"
 msgstr ""
 
 #. @node in ../../../Documentation/user/pitches.itely
-#. @subsubsection in ../../../Documentation/user/pitches.itely
+#. @unnumberedsubsubsec in ../../../Documentation/user/pitches.itely
+#. @node in ../../../Documentation/fr/user/pitches.itely
+#. @unnumberedsubsubsec in ../../../Documentation/fr/user/pitches.itely
+#. @node in ../../../Documentation/es/user/pitches.itely
+#. @subsubsection in ../../../Documentation/es/user/pitches.itely
 msgid "Special note heads"
 msgstr ""
 
 #. @node in ../../../Documentation/user/pitches.itely
-#. @subsubsection in ../../../Documentation/user/pitches.itely
+#. @unnumberedsubsubsec in ../../../Documentation/user/pitches.itely
+#. @node in ../../../Documentation/fr/user/pitches.itely
+#. @unnumberedsubsubsec in ../../../Documentation/fr/user/pitches.itely
+#. @node in ../../../Documentation/es/user/pitches.itely
+#. @subsubsection in ../../../Documentation/es/user/pitches.itely
 msgid "Easy notation note heads"
 msgstr ""
 
 #. @node in ../../../Documentation/user/pitches.itely
-#. @subsubsection in ../../../Documentation/user/pitches.itely
-#. @node in ../../../Documentation/fr/user/editorial.itely
-#. @unnumberedsubsubsec in ../../../Documentation/fr/user/editorial.itely
-#. @node in ../../../Documentation/es/user/educational.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/educational.itely
-#. @node in ../../../Documentation/de/user/educational.itely
-#. @unnumberedsubsubsec in ../../../Documentation/de/user/educational.itely
+#. @unnumberedsubsubsec in ../../../Documentation/user/pitches.itely
+#. @node in ../../../Documentation/fr/user/pitches.itely
+#. @unnumberedsubsubsec in ../../../Documentation/fr/user/pitches.itely
+#. @node in ../../../Documentation/es/user/pitches.itely
+#. @subsubsection in ../../../Documentation/es/user/pitches.itely
+#. @node in ../../../Documentation/de/user/editorial.itely
+#. @unnumberedsubsubsec in ../../../Documentation/de/user/editorial.itely
 msgid "Shape note heads"
 msgstr ""
 
 #. @node in ../../../Documentation/user/pitches.itely
-#. @subsubsection in ../../../Documentation/user/pitches.itely
-#. @node in ../../../Documentation/fr/user/editorial.itely
-#. @unnumberedsubsubsec in ../../../Documentation/fr/user/editorial.itely
-#. @node in ../../../Documentation/es/user/educational.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/educational.itely
-#. @node in ../../../Documentation/de/user/educational.itely
-#. @unnumberedsubsubsec in ../../../Documentation/de/user/educational.itely
+#. @unnumberedsubsubsec in ../../../Documentation/user/pitches.itely
+#. @node in ../../../Documentation/fr/user/pitches.itely
+#. @unnumberedsubsubsec in ../../../Documentation/fr/user/pitches.itely
+#. @node in ../../../Documentation/es/user/pitches.itely
+#. @subsubsection in ../../../Documentation/es/user/pitches.itely
+#. @node in ../../../Documentation/de/user/editorial.itely
+#. @unnumberedsubsubsec in ../../../Documentation/de/user/editorial.itely
 msgid "Improvisation"
 msgstr ""
 
@@ -2859,41 +2956,34 @@ msgstr ""
 #. @node in ../../../Documentation/fr/user/rhythms.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/rhythms.itely
 #. @node in ../../../Documentation/es/user/rhythms.itely
-#. @unnumberedsubsubsec 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 "Durations"
 msgstr ""
 
 #. @rglos in ../../../Documentation/user/rhythms.itely
+#. @rglos in ../../../Documentation/es/user/rhythms.itely
 msgid "breve"
 msgstr ""
 
 #. @rglos in ../../../Documentation/user/rhythms.itely
+#. @rglos in ../../../Documentation/es/user/rhythms.itely
 msgid "longa"
 msgstr ""
 
 #. @rglos in ../../../Documentation/user/rhythms.itely
+#. @rglos in ../../../Documentation/es/user/rhythms.itely
 msgid "Duration names notes and rests"
 msgstr ""
 
-#. @subheading in ../../../Documentation/user/rhythms.itely
-msgid "Modifying nested tuplets"
-msgstr ""
-
-#. @subheading in ../../../Documentation/user/rhythms.itely
-msgid "Modifying tuplet bracket length"
-msgstr ""
-
-#. @subheading in ../../../Documentation/user/rhythms.itely
-msgid "Compressing music"
-msgstr ""
-
 #. @rglos in ../../../Documentation/user/rhythms.itely
+#. @rglos in ../../../Documentation/es/user/rhythms.itely
 msgid "tuplet"
 msgstr ""
 
 #. @rglos in ../../../Documentation/user/rhythms.itely
+#. @rglos in ../../../Documentation/es/user/rhythms.itely
 msgid "polymetric"
 msgstr ""
 
@@ -2902,13 +2992,14 @@ msgstr ""
 #. @node in ../../../Documentation/fr/user/rhythms.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/rhythms.itely
 #. @node in ../../../Documentation/es/user/rhythms.itely
-#. @unnumberedsubsubsec 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 "Scaling durations"
 msgstr ""
 
 #. @rglos in ../../../Documentation/user/rhythms.itely
+#. @rglos in ../../../Documentation/es/user/rhythms.itely
 msgid "laissez vibrer"
 msgstr ""
 
@@ -2928,7 +3019,7 @@ msgstr ""
 #. @node in ../../../Documentation/fr/user/rhythms.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/rhythms.itely
 #. @node in ../../../Documentation/es/user/rhythms.itely
-#. @unnumberedsubsubsec 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 "Skips"
@@ -2936,6 +3027,8 @@ msgstr ""
 
 #. @node in ../../../Documentation/user/rhythms.itely
 #. @subsubsection in ../../../Documentation/user/rhythms.itely
+#. @node in ../../../Documentation/es/user/rhythms.itely
+#. @subsubsection in ../../../Documentation/es/user/rhythms.itely
 msgid "Full measure rests"
 msgstr ""
 
@@ -2943,6 +3036,10 @@ msgstr ""
 msgid "multi-measure rest"
 msgstr ""
 
+#. @rglos in ../../../Documentation/user/rhythms.itely
+msgid "church rests"
+msgstr ""
+
 #. @node in ../../../Documentation/user/rhythms.itely
 #. @subsection in ../../../Documentation/user/rhythms.itely
 #. @node in ../../../Documentation/fr/user/rhythms.itely
@@ -2959,7 +3056,7 @@ msgstr ""
 #. @node in ../../../Documentation/fr/user/rhythms.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/rhythms.itely
 #. @node in ../../../Documentation/es/user/rhythms.itely
-#. @unnumberedsubsubsec 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 "Upbeats"
@@ -2970,7 +3067,7 @@ msgstr ""
 #. @node in ../../../Documentation/fr/user/rhythms.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/rhythms.itely
 #. @node in ../../../Documentation/es/user/rhythms.itely
-#. @unnumberedsubsubsec 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 "Unmetered music"
@@ -2981,7 +3078,7 @@ msgstr ""
 #. @node in ../../../Documentation/fr/user/rhythms.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/rhythms.itely
 #. @node in ../../../Documentation/es/user/rhythms.itely
-#. @unnumberedsubsubsec 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 "Polymetric notation"
@@ -3000,7 +3097,7 @@ msgstr ""
 #. @node in ../../../Documentation/fr/user/rhythms.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/rhythms.itely
 #. @node in ../../../Documentation/es/user/rhythms.itely
-#. @unnumberedsubsubsec 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 "Automatic note splitting"
@@ -3022,7 +3119,7 @@ msgstr ""
 #. @node in ../../../Documentation/fr/user/rhythms.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/rhythms.itely
 #. @node in ../../../Documentation/es/user/rhythms.itely
-#. @unnumberedsubsubsec 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 "Automatic beams"
@@ -3032,8 +3129,8 @@ msgstr ""
 #. @subsubsection in ../../../Documentation/user/rhythms.itely
 #. @node in ../../../Documentation/fr/user/changing-defaults.itely
 #. @subsection in ../../../Documentation/fr/user/changing-defaults.itely
-#. @node in ../../../Documentation/es/user/changing-defaults.itely
-#. @subsection in ../../../Documentation/es/user/changing-defaults.itely
+#. @node in ../../../Documentation/es/user/rhythms.itely
+#. @subsubsection in ../../../Documentation/es/user/rhythms.itely
 msgid "Setting automatic beam behavior"
 msgstr ""
 
@@ -3042,7 +3139,7 @@ msgstr ""
 #. @node in ../../../Documentation/fr/user/rhythms.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/rhythms.itely
 #. @node in ../../../Documentation/es/user/rhythms.itely
-#. @unnumberedsubsubsec 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 "Manual beams"
@@ -3053,7 +3150,7 @@ msgstr ""
 #. @node in ../../../Documentation/fr/user/rhythms.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/rhythms.itely
 #. @node in ../../../Documentation/es/user/rhythms.itely
-#. @unnumberedsubsubsec 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 "Feathered beams"
@@ -3075,7 +3172,7 @@ msgstr ""
 #. @node in ../../../Documentation/fr/user/rhythms.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/rhythms.itely
 #. @node in ../../../Documentation/es/user/rhythms.itely
-#. @unnumberedsubsubsec 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 "Bar lines"
@@ -3086,7 +3183,7 @@ msgstr ""
 #. @node in ../../../Documentation/fr/user/rhythms.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/rhythms.itely
 #. @node in ../../../Documentation/es/user/rhythms.itely
-#. @unnumberedsubsubsec 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 "Bar numbers"
@@ -3102,7 +3199,7 @@ msgstr ""
 #. @node in ../../../Documentation/fr/user/rhythms.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/rhythms.itely
 #. @node in ../../../Documentation/es/user/rhythms.itely
-#. @unnumberedsubsubsec 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 "Rehearsal marks"
@@ -3124,7 +3221,7 @@ msgstr ""
 #. @node in ../../../Documentation/fr/user/rhythms.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/rhythms.itely
 #. @node in ../../../Documentation/es/user/rhythms.itely
-#. @unnumberedsubsubsec 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 "Aligning to cadenzas"
@@ -3135,7 +3232,7 @@ msgstr ""
 #. @node in ../../../Documentation/fr/user/rhythms.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/rhythms.itely
 #. @node in ../../../Documentation/es/user/rhythms.itely
-#. @unnumberedsubsubsec 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 "Time administration"
@@ -3165,11 +3262,29 @@ msgstr ""
 
 #. @node in ../../../Documentation/user/expressive.itely
 #. @subsubsection in ../../../Documentation/user/expressive.itely
+#. @node in ../../../Documentation/es/user/expressive.itely
+#. @subsubsection in ../../../Documentation/es/user/expressive.itely
 msgid "Articulations and ornamentations"
 msgstr ""
 
 #. @rglos in ../../../Documentation/user/expressive.itely
-msgid "hairpin"
+#. @rglos in ../../../Documentation/es/user/expressive.itely
+msgid "tenuto"
+msgstr ""
+
+#. @rglos in ../../../Documentation/user/expressive.itely
+#. @rglos in ../../../Documentation/es/user/expressive.itely
+msgid "accent"
+msgstr ""
+
+#. @rglos in ../../../Documentation/user/expressive.itely
+#. @rglos in ../../../Documentation/es/user/expressive.itely
+msgid "staccato"
+msgstr ""
+
+#. @rglos in ../../../Documentation/user/expressive.itely
+#. @rglos in ../../../Documentation/es/user/expressive.itely
+msgid "portato"
 msgstr ""
 
 #. @node in ../../../Documentation/user/expressive.itely
@@ -3188,7 +3303,7 @@ msgstr ""
 #. @node in ../../../Documentation/fr/user/expressive.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/expressive.itely
 #. @node in ../../../Documentation/es/user/expressive.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/expressive.itely
+#. @subsubsection in ../../../Documentation/es/user/expressive.itely
 #. @node in ../../../Documentation/de/user/expressive.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/expressive.itely
 msgid "Breath marks"
@@ -3199,12 +3314,20 @@ msgstr ""
 #. @node in ../../../Documentation/fr/user/expressive.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/expressive.itely
 #. @node in ../../../Documentation/es/user/expressive.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/expressive.itely
+#. @subsubsection in ../../../Documentation/es/user/expressive.itely
 #. @node in ../../../Documentation/de/user/expressive.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/expressive.itely
 msgid "Falls and doits"
 msgstr ""
 
+#. @rglos in ../../../Documentation/user/expressive.itely
+msgid "falls"
+msgstr ""
+
+#. @rglos in ../../../Documentation/user/expressive.itely
+msgid "doits"
+msgstr ""
+
 #. @node in ../../../Documentation/user/expressive.itely
 #. @subsection in ../../../Documentation/user/expressive.itely
 #. @node in ../../../Documentation/fr/user/expressive.itely
@@ -3221,18 +3344,14 @@ msgstr ""
 #. @node in ../../../Documentation/fr/user/expressive.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/expressive.itely
 #. @node in ../../../Documentation/es/user/expressive.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/expressive.itely
+#. @subsubsection in ../../../Documentation/es/user/expressive.itely
 #. @node in ../../../Documentation/de/user/expressive.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/expressive.itely
 msgid "Glissando"
 msgstr ""
 
 #. @rglos in ../../../Documentation/user/expressive.itely
-msgid "falls"
-msgstr ""
-
-#. @rglos in ../../../Documentation/user/expressive.itely
-msgid "doits"
+msgid "glissando"
 msgstr ""
 
 #. @node in ../../../Documentation/user/expressive.itely
@@ -3240,23 +3359,33 @@ msgstr ""
 #. @node in ../../../Documentation/fr/user/expressive.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/expressive.itely
 #. @node in ../../../Documentation/es/user/expressive.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/expressive.itely
+#. @subsubsection in ../../../Documentation/es/user/expressive.itely
 #. @node in ../../../Documentation/de/user/expressive.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/expressive.itely
 msgid "Arpeggio"
 msgstr ""
 
+#. @rglos in ../../../Documentation/user/expressive.itely
+#. @rglos in ../../../Documentation/es/user/expressive.itely
+msgid "arpeggio"
+msgstr ""
+
 #. @node in ../../../Documentation/user/expressive.itely
 #. @subsubsection in ../../../Documentation/user/expressive.itely
 #. @node in ../../../Documentation/fr/user/expressive.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/expressive.itely
 #. @node in ../../../Documentation/es/user/expressive.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/expressive.itely
+#. @subsubsection in ../../../Documentation/es/user/expressive.itely
 #. @node in ../../../Documentation/de/user/expressive.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/expressive.itely
 msgid "Trills"
 msgstr ""
 
+#. @rglos in ../../../Documentation/user/expressive.itely
+#. @rglos in ../../../Documentation/es/user/expressive.itely
+msgid "trill"
+msgstr ""
+
 #. @node in ../../../Documentation/user/repeats.itely
 #. @section in ../../../Documentation/user/repeats.itely
 #. @node in ../../../Documentation/fr/user/repeats.itely
@@ -3270,62 +3399,54 @@ msgstr ""
 
 #. @node in ../../../Documentation/user/repeats.itely
 #. @subsection in ../../../Documentation/user/repeats.itely
-#. @node in ../../../Documentation/fr/user/repeats.itely
-#. @subsection in ../../../Documentation/fr/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 repeats"
+msgid "Writing long repeats"
 msgstr ""
 
 #. @node in ../../../Documentation/user/repeats.itely
 #. @subsubsection in ../../../Documentation/user/repeats.itely
-#. @node in ../../../Documentation/fr/user/repeats.itely
-#. @unnumberedsubsubsec in ../../../Documentation/fr/user/repeats.itely
 #. @node in ../../../Documentation/es/user/repeats.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/repeats.itely
-#. @node in ../../../Documentation/de/user/repeats.itely
-#. @unnumberedsubsubsec in ../../../Documentation/de/user/repeats.itely
-msgid "Repeat syntax"
+#. @subsubsection in ../../../Documentation/es/user/repeats.itely
+msgid "Normal repeats"
+msgstr ""
+
+#. @rglos in ../../../Documentation/user/repeats.itely
+#. @rglos in ../../../Documentation/es/user/repeats.itely
+msgid "repeat"
+msgstr ""
+
+#. @rglos in ../../../Documentation/user/repeats.itely
+#. @rglos in ../../../Documentation/es/user/repeats.itely
+msgid "volta"
 msgstr ""
 
 #. @node in ../../../Documentation/user/repeats.itely
 #. @subsubsection in ../../../Documentation/user/repeats.itely
-msgid "Normal repeats"
+#. @node in ../../../Documentation/es/user/repeats.itely
+#. @subsubsection in ../../../Documentation/es/user/repeats.itely
+msgid "Manual repeat marks"
 msgstr ""
 
 #. @node in ../../../Documentation/user/repeats.itely
 #. @subsubsection in ../../../Documentation/user/repeats.itely
-#. @node in ../../../Documentation/fr/user/repeats.itely
-#. @unnumberedsubsubsec in ../../../Documentation/fr/user/repeats.itely
 #. @node in ../../../Documentation/es/user/repeats.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/repeats.itely
-#. @node in ../../../Documentation/de/user/repeats.itely
-#. @unnumberedsubsubsec in ../../../Documentation/de/user/repeats.itely
-msgid "Manual repeat commands"
+#. @subsubsection in ../../../Documentation/es/user/repeats.itely
+msgid "Written-out repeats"
 msgstr ""
 
 #. @node in ../../../Documentation/user/repeats.itely
 #. @subsection in ../../../Documentation/user/repeats.itely
-#. @node in ../../../Documentation/fr/user/repeats.itely
-#. @subsection in ../../../Documentation/fr/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 "Other repeats"
+msgid "Short repeats"
 msgstr ""
 
 #. @node in ../../../Documentation/user/repeats.itely
 #. @subsubsection in ../../../Documentation/user/repeats.itely
-#. @node in ../../../Documentation/fr/user/repeats.itely
-#. @unnumberedsubsubsec in ../../../Documentation/fr/user/repeats.itely
 #. @node in ../../../Documentation/es/user/repeats.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/repeats.itely
-#. @node in ../../../Documentation/de/user/repeats.itely
-#. @unnumberedsubsubsec in ../../../Documentation/de/user/repeats.itely
-msgid "Tremolo repeats"
+#. @subsubsection in ../../../Documentation/es/user/repeats.itely
+msgid "Percent repeats"
 msgstr ""
 
 #. @node in ../../../Documentation/user/repeats.itely
@@ -3333,10 +3454,10 @@ msgstr ""
 #. @node in ../../../Documentation/fr/user/repeats.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/repeats.itely
 #. @node in ../../../Documentation/es/user/repeats.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/repeats.itely
+#. @subsubsection in ../../../Documentation/es/user/repeats.itely
 #. @node in ../../../Documentation/de/user/repeats.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/repeats.itely
-msgid "Measure repeats"
+msgid "Tremolo repeats"
 msgstr ""
 
 #. @node in ../../../Documentation/user/simultaneous.itely
@@ -3363,6 +3484,10 @@ msgstr ""
 
 #. @node in ../../../Documentation/user/simultaneous.itely
 #. @subsubsection in ../../../Documentation/user/simultaneous.itely
+#. @node in ../../../Documentation/fr/user/simultaneous.itely
+#. @unnumberedsubsubsec in ../../../Documentation/fr/user/simultaneous.itely
+#. @node in ../../../Documentation/es/user/simultaneous.itely
+#. @subsubsection in ../../../Documentation/es/user/simultaneous.itely
 msgid "Chorded notes"
 msgstr ""
 
@@ -3371,7 +3496,7 @@ msgstr ""
 #. @node in ../../../Documentation/fr/user/simultaneous.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/simultaneous.itely
 #. @node in ../../../Documentation/es/user/simultaneous.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/simultaneous.itely
+#. @subsubsection in ../../../Documentation/es/user/simultaneous.itely
 #. @node in ../../../Documentation/de/user/simultaneous.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/simultaneous.itely
 msgid "Clusters"
@@ -3398,7 +3523,7 @@ msgstr ""
 #. @node in ../../../Documentation/fr/user/simultaneous.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/simultaneous.itely
 #. @node in ../../../Documentation/es/user/simultaneous.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/simultaneous.itely
+#. @subsubsection in ../../../Documentation/es/user/simultaneous.itely
 #. @node in ../../../Documentation/de/user/simultaneous.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/simultaneous.itely
 msgid "Automatic part combining"
@@ -3413,7 +3538,7 @@ msgstr ""
 #. @node in ../../../Documentation/fr/user/simultaneous.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/simultaneous.itely
 #. @node in ../../../Documentation/es/user/simultaneous.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/simultaneous.itely
+#. @subsubsection in ../../../Documentation/es/user/simultaneous.itely
 #. @node in ../../../Documentation/de/user/simultaneous.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/simultaneous.itely
 msgid "Writing music in parallel"
@@ -3443,13 +3568,7 @@ msgstr ""
 
 #. @node in ../../../Documentation/user/staff.itely
 #. @subsubsection in ../../../Documentation/user/staff.itely
-#. @node in ../../../Documentation/fr/user/staff.itely
-#. @unnumberedsubsubsec in ../../../Documentation/fr/user/staff.itely
-#. @node in ../../../Documentation/es/user/staff.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/staff.itely
-#. @node in ../../../Documentation/de/user/staff.itely
-#. @unnumberedsubsubsec in ../../../Documentation/de/user/staff.itely
-msgid "System start delimiters"
+msgid "Initiating new staves"
 msgstr ""
 
 #. @rglos in ../../../Documentation/user/staff.itely
@@ -3460,21 +3579,36 @@ msgstr ""
 msgid "staves"
 msgstr ""
 
+#. @node in ../../../Documentation/user/staff.itely
+#. @subsubsection in ../../../Documentation/user/staff.itely
+msgid "Grouping staves"
+msgstr ""
+
 #. @rglos in ../../../Documentation/user/staff.itely
 msgid "bracket"
 msgstr ""
 
+#. @node in ../../../Documentation/user/staff.itely
+#. @subsection in ../../../Documentation/user/staff.itely
+msgid "Modifying single staves"
+msgstr ""
+
 #. @node in ../../../Documentation/user/staff.itely
 #. @subsubsection in ../../../Documentation/user/staff.itely
 #. @node in ../../../Documentation/fr/user/staff.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/staff.itely
 #. @node in ../../../Documentation/es/user/staff.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/staff.itely
+#. @subsubsection in ../../../Documentation/es/user/staff.itely
 #. @node in ../../../Documentation/de/user/staff.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/staff.itely
 msgid "Staff symbol"
 msgstr ""
 
+#. @node in ../../../Documentation/user/staff.itely
+#. @subsubsection in ../../../Documentation/user/staff.itely
+msgid "Ossia staves"
+msgstr ""
+
 #. @rglos in ../../../Documentation/user/staff.itely
 msgid "Frenched staff"
 msgstr ""
@@ -3484,7 +3618,7 @@ msgstr ""
 #. @node in ../../../Documentation/fr/user/staff.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/staff.itely
 #. @node in ../../../Documentation/es/user/staff.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/staff.itely
+#. @subsubsection in ../../../Documentation/es/user/staff.itely
 #. @node in ../../../Documentation/de/user/staff.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/staff.itely
 msgid "Hiding staves"
@@ -3506,7 +3640,7 @@ msgstr ""
 #. @node in ../../../Documentation/fr/user/staff.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/staff.itely
 #. @node in ../../../Documentation/es/user/staff.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/staff.itely
+#. @subsubsection in ../../../Documentation/es/user/staff.itely
 #. @node in ../../../Documentation/de/user/staff.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/staff.itely
 msgid "Metronome marks"
@@ -3533,7 +3667,7 @@ msgstr ""
 #. @node in ../../../Documentation/fr/user/staff.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/staff.itely
 #. @node in ../../../Documentation/es/user/staff.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/staff.itely
+#. @subsubsection in ../../../Documentation/es/user/staff.itely
 #. @node in ../../../Documentation/de/user/staff.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/staff.itely
 msgid "Instrument names"
@@ -3544,7 +3678,7 @@ msgstr ""
 #. @node in ../../../Documentation/fr/user/staff.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/staff.itely
 #. @node in ../../../Documentation/es/user/staff.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/staff.itely
+#. @subsubsection in ../../../Documentation/es/user/staff.itely
 #. @node in ../../../Documentation/de/user/staff.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/staff.itely
 msgid "Quoting other voices"
@@ -3555,7 +3689,7 @@ msgstr ""
 #. @node in ../../../Documentation/fr/user/staff.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/staff.itely
 #. @node in ../../../Documentation/es/user/staff.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/staff.itely
+#. @subsubsection in ../../../Documentation/es/user/staff.itely
 #. @node in ../../../Documentation/de/user/staff.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/staff.itely
 msgid "Formatting cue notes"
@@ -3563,6 +3697,12 @@ msgstr ""
 
 #. @node in ../../../Documentation/user/editorial.itely
 #. @section in ../../../Documentation/user/editorial.itely
+#. @node in ../../../Documentation/fr/user/editorial.itely
+#. @section in ../../../Documentation/fr/user/editorial.itely
+#. @node in ../../../Documentation/es/user/editorial.itely
+#. @section in ../../../Documentation/es/user/editorial.itely
+#. @node in ../../../Documentation/de/user/editorial.itely
+#. @section in ../../../Documentation/de/user/editorial.itely
 msgid "Editorial annotations"
 msgstr ""
 
@@ -3570,10 +3710,10 @@ msgstr ""
 #. @subsection in ../../../Documentation/user/editorial.itely
 #. @node in ../../../Documentation/fr/user/editorial.itely
 #. @subsection in ../../../Documentation/fr/user/editorial.itely
-#. @node in ../../../Documentation/es/user/educational.itely
-#. @subsection in ../../../Documentation/es/user/educational.itely
-#. @node in ../../../Documentation/de/user/educational.itely
-#. @subsection in ../../../Documentation/de/user/educational.itely
+#. @node in ../../../Documentation/es/user/editorial.itely
+#. @subsection in ../../../Documentation/es/user/editorial.itely
+#. @node in ../../../Documentation/de/user/editorial.itely
+#. @subsection in ../../../Documentation/de/user/editorial.itely
 msgid "Inside the staff"
 msgstr ""
 
@@ -3581,10 +3721,10 @@ msgstr ""
 #. @subsubsection in ../../../Documentation/user/editorial.itely
 #. @node in ../../../Documentation/fr/user/editorial.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/editorial.itely
-#. @node in ../../../Documentation/es/user/educational.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/educational.itely
-#. @node in ../../../Documentation/de/user/educational.itely
-#. @unnumberedsubsubsec in ../../../Documentation/de/user/educational.itely
+#. @node in ../../../Documentation/es/user/editorial.itely
+#. @subsubsection in ../../../Documentation/es/user/editorial.itely
+#. @node in ../../../Documentation/de/user/editorial.itely
+#. @unnumberedsubsubsec in ../../../Documentation/de/user/editorial.itely
 msgid "Selecting notation font size"
 msgstr ""
 
@@ -3592,10 +3732,10 @@ msgstr ""
 #. @subsubsection in ../../../Documentation/user/editorial.itely
 #. @node in ../../../Documentation/fr/user/editorial.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/editorial.itely
-#. @node in ../../../Documentation/es/user/educational.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/educational.itely
-#. @node in ../../../Documentation/de/user/educational.itely
-#. @unnumberedsubsubsec in ../../../Documentation/de/user/educational.itely
+#. @node in ../../../Documentation/es/user/editorial.itely
+#. @subsubsection in ../../../Documentation/es/user/editorial.itely
+#. @node in ../../../Documentation/de/user/editorial.itely
+#. @unnumberedsubsubsec in ../../../Documentation/de/user/editorial.itely
 msgid "Fingering instructions"
 msgstr ""
 
@@ -3603,10 +3743,10 @@ msgstr ""
 #. @subsubsection in ../../../Documentation/user/editorial.itely
 #. @node in ../../../Documentation/fr/user/editorial.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/editorial.itely
-#. @node in ../../../Documentation/es/user/educational.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/educational.itely
-#. @node in ../../../Documentation/de/user/educational.itely
-#. @unnumberedsubsubsec in ../../../Documentation/de/user/educational.itely
+#. @node in ../../../Documentation/es/user/editorial.itely
+#. @subsubsection in ../../../Documentation/es/user/editorial.itely
+#. @node in ../../../Documentation/de/user/editorial.itely
+#. @unnumberedsubsubsec in ../../../Documentation/de/user/editorial.itely
 msgid "Hidden notes"
 msgstr ""
 
@@ -3614,10 +3754,10 @@ msgstr ""
 #. @subsubsection in ../../../Documentation/user/editorial.itely
 #. @node in ../../../Documentation/fr/user/editorial.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/editorial.itely
-#. @node in ../../../Documentation/es/user/educational.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/educational.itely
-#. @node in ../../../Documentation/de/user/educational.itely
-#. @unnumberedsubsubsec in ../../../Documentation/de/user/educational.itely
+#. @node in ../../../Documentation/es/user/editorial.itely
+#. @subsubsection in ../../../Documentation/es/user/editorial.itely
+#. @node in ../../../Documentation/de/user/editorial.itely
+#. @unnumberedsubsubsec in ../../../Documentation/de/user/editorial.itely
 msgid "Coloring objects"
 msgstr ""
 
@@ -3625,10 +3765,10 @@ msgstr ""
 #. @subsubsection in ../../../Documentation/user/editorial.itely
 #. @node in ../../../Documentation/fr/user/editorial.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/editorial.itely
-#. @node in ../../../Documentation/es/user/educational.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/educational.itely
-#. @node in ../../../Documentation/de/user/educational.itely
-#. @unnumberedsubsubsec in ../../../Documentation/de/user/educational.itely
+#. @node in ../../../Documentation/es/user/editorial.itely
+#. @subsubsection in ../../../Documentation/es/user/editorial.itely
+#. @node in ../../../Documentation/de/user/editorial.itely
+#. @unnumberedsubsubsec in ../../../Documentation/de/user/editorial.itely
 msgid "Parentheses"
 msgstr ""
 
@@ -3636,10 +3776,10 @@ msgstr ""
 #. @subsubsection in ../../../Documentation/user/editorial.itely
 #. @node in ../../../Documentation/fr/user/editorial.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/editorial.itely
-#. @node in ../../../Documentation/es/user/educational.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/educational.itely
-#. @node in ../../../Documentation/de/user/educational.itely
-#. @unnumberedsubsubsec in ../../../Documentation/de/user/educational.itely
+#. @node in ../../../Documentation/es/user/editorial.itely
+#. @subsubsection in ../../../Documentation/es/user/editorial.itely
+#. @node in ../../../Documentation/de/user/editorial.itely
+#. @unnumberedsubsubsec in ../../../Documentation/de/user/editorial.itely
 msgid "Stems"
 msgstr ""
 
@@ -3647,32 +3787,32 @@ msgstr ""
 #. @subsection in ../../../Documentation/user/editorial.itely
 #. @node in ../../../Documentation/fr/user/editorial.itely
 #. @subsection in ../../../Documentation/fr/user/editorial.itely
-#. @node in ../../../Documentation/es/user/educational.itely
-#. @subsection in ../../../Documentation/es/user/educational.itely
-#. @node in ../../../Documentation/de/user/educational.itely
-#. @subsection in ../../../Documentation/de/user/educational.itely
+#. @node in ../../../Documentation/es/user/editorial.itely
+#. @subsection in ../../../Documentation/es/user/editorial.itely
+#. @node in ../../../Documentation/de/user/editorial.itely
+#. @subsection in ../../../Documentation/de/user/editorial.itely
 msgid "Outside the staff"
 msgstr ""
 
 #. @node in ../../../Documentation/user/editorial.itely
 #. @subsubsection in ../../../Documentation/user/editorial.itely
 #. @node in ../../../Documentation/fr/user/editorial.itely
-#. @subsection in ../../../Documentation/fr/user/editorial.itely
-#. @node in ../../../Documentation/es/user/educational.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/educational.itely
-#. @node in ../../../Documentation/de/user/educational.itely
-#. @subsection in ../../../Documentation/de/user/educational.itely
+#. @subsubsection in ../../../Documentation/fr/user/editorial.itely
+#. @node in ../../../Documentation/es/user/editorial.itely
+#. @subsubsection in ../../../Documentation/es/user/editorial.itely
+#. @node in ../../../Documentation/de/user/editorial.itely
+#. @subsection in ../../../Documentation/de/user/editorial.itely
 msgid "Balloon help"
 msgstr ""
 
 #. @node in ../../../Documentation/user/editorial.itely
 #. @subsubsection in ../../../Documentation/user/editorial.itely
 #. @node in ../../../Documentation/fr/user/editorial.itely
-#. @subsection in ../../../Documentation/fr/user/editorial.itely
-#. @node in ../../../Documentation/es/user/educational.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/educational.itely
-#. @node in ../../../Documentation/de/user/educational.itely
-#. @subsection in ../../../Documentation/de/user/educational.itely
+#. @subsubsection in ../../../Documentation/fr/user/editorial.itely
+#. @node in ../../../Documentation/es/user/editorial.itely
+#. @subsubsection in ../../../Documentation/es/user/editorial.itely
+#. @node in ../../../Documentation/de/user/editorial.itely
+#. @subsection in ../../../Documentation/de/user/editorial.itely
 msgid "Grid lines"
 msgstr ""
 
@@ -3680,8 +3820,8 @@ msgstr ""
 #. @subsubsection in ../../../Documentation/user/editorial.itely
 #. @node in ../../../Documentation/fr/user/expressive.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/expressive.itely
-#. @node in ../../../Documentation/es/user/expressive.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/expressive.itely
+#. @node in ../../../Documentation/es/user/editorial.itely
+#. @subsubsection in ../../../Documentation/es/user/editorial.itely
 #. @node in ../../../Documentation/de/user/expressive.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/expressive.itely
 msgid "Analysis brackets"
@@ -3721,7 +3861,7 @@ msgstr ""
 #. @node in ../../../Documentation/fr/user/text.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/text.itely
 #. @node in ../../../Documentation/es/user/text.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/text.itely
+#. @subsubsection in ../../../Documentation/es/user/text.itely
 #. @node in ../../../Documentation/de/user/text.itely
 #. @subsubsection in ../../../Documentation/de/user/text.itely
 msgid "Text scripts"
@@ -3732,7 +3872,7 @@ msgstr ""
 #. @node in ../../../Documentation/fr/user/text.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/text.itely
 #. @node in ../../../Documentation/es/user/text.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/text.itely
+#. @subsubsection in ../../../Documentation/es/user/text.itely
 #. @node in ../../../Documentation/de/user/text.itely
 #. @subsubsection in ../../../Documentation/de/user/text.itely
 msgid "Text spanners"
@@ -3743,7 +3883,7 @@ msgstr ""
 #. @node in ../../../Documentation/fr/user/text.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/text.itely
 #. @node in ../../../Documentation/es/user/text.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/text.itely
+#. @subsubsection in ../../../Documentation/es/user/text.itely
 #. @node in ../../../Documentation/de/user/text.itely
 #. @subsubsection in ../../../Documentation/de/user/text.itely
 msgid "Text marks"
@@ -3765,7 +3905,7 @@ msgstr ""
 #. @node in ../../../Documentation/fr/user/text.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/text.itely
 #. @node in ../../../Documentation/es/user/text.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/text.itely
+#. @subsubsection in ../../../Documentation/es/user/text.itely
 #. @node in ../../../Documentation/de/user/text.itely
 #. @subsubsection in ../../../Documentation/de/user/text.itely
 msgid "Text markup introduction"
@@ -3776,7 +3916,7 @@ msgstr ""
 #. @node in ../../../Documentation/fr/user/text.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/text.itely
 #. @node in ../../../Documentation/es/user/text.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/text.itely
+#. @subsubsection in ../../../Documentation/es/user/text.itely
 #. @node in ../../../Documentation/de/user/text.itely
 #. @subsubsection in ../../../Documentation/de/user/text.itely
 msgid "Nested scores"
@@ -3787,7 +3927,7 @@ msgstr ""
 #. @node in ../../../Documentation/fr/user/text.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/text.itely
 #. @node in ../../../Documentation/es/user/text.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/text.itely
+#. @subsubsection in ../../../Documentation/es/user/text.itely
 #. @node in ../../../Documentation/de/user/text.itely
 #. @subsubsection in ../../../Documentation/de/user/text.itely
 msgid "Page wrapping text"
@@ -3798,7 +3938,7 @@ msgstr ""
 #. @node in ../../../Documentation/fr/user/text.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/text.itely
 #. @node in ../../../Documentation/es/user/text.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/text.itely
+#. @subsubsection in ../../../Documentation/es/user/text.itely
 #. @node in ../../../Documentation/de/user/text.itely
 #. @subsubsection in ../../../Documentation/de/user/text.itely
 msgid "Font selection"
@@ -3816,7 +3956,7 @@ msgstr ""
 #. @node in ../../../Documentation/fr/user/text.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/text.itely
 #. @node in ../../../Documentation/es/user/text.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/text.itely
+#. @subsubsection in ../../../Documentation/es/user/text.itely
 #. @node in ../../../Documentation/de/user/text.itely
 #. @subsubsection in ../../../Documentation/de/user/text.itely
 msgid "New dynamic marks"
@@ -3827,7 +3967,7 @@ msgstr ""
 #. @node in ../../../Documentation/fr/user/text.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/text.itely
 #. @node in ../../../Documentation/es/user/text.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/text.itely
+#. @subsubsection in ../../../Documentation/es/user/text.itely
 #. @node in ../../../Documentation/de/user/text.itely
 #. @subsubsection in ../../../Documentation/de/user/text.itely
 msgid "Text and line spanners"
@@ -3857,6 +3997,8 @@ msgstr ""
 
 #. @node in ../../../Documentation/user/vocal.itely
 #. @subsection in ../../../Documentation/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 "Simple lyrics"
@@ -3867,7 +4009,7 @@ msgstr ""
 #. @node in ../../../Documentation/fr/user/vocal.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/vocal.itely
 #. @node in ../../../Documentation/es/user/vocal.itely
-#. @unnumberedsubsubsec 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 "Entering lyrics"
@@ -3878,7 +4020,7 @@ msgstr ""
 #. @node in ../../../Documentation/fr/user/vocal.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/vocal.itely
 #. @node in ../../../Documentation/es/user/vocal.itely
-#. @unnumberedsubsubsec 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 "Automatic syllable durations"
@@ -3889,7 +4031,7 @@ msgstr ""
 #. @node in ../../../Documentation/fr/user/vocal.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/vocal.itely
 #. @node in ../../../Documentation/es/user/vocal.itely
-#. @unnumberedsubsubsec 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"
@@ -3900,7 +4042,7 @@ msgstr ""
 #. @node in ../../../Documentation/fr/user/vocal.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/vocal.itely
 #. @node in ../../../Documentation/es/user/vocal.itely
-#. @unnumberedsubsubsec 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"
@@ -3911,7 +4053,7 @@ msgstr ""
 #. @node in ../../../Documentation/fr/user/vocal.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/vocal.itely
 #. @node in ../../../Documentation/es/user/vocal.itely
-#. @unnumberedsubsubsec 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"
@@ -3922,7 +4064,7 @@ msgstr ""
 #. @node in ../../../Documentation/fr/user/vocal.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/vocal.itely
 #. @node in ../../../Documentation/es/user/vocal.itely
-#. @unnumberedsubsubsec 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 "Extenders and hyphens"
@@ -3930,6 +4072,8 @@ msgstr ""
 
 #. @node in ../../../Documentation/user/vocal.itely
 #. @subsection in ../../../Documentation/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 "Vocals and variables"
@@ -3937,6 +4081,8 @@ msgstr ""
 
 #. @node in ../../../Documentation/user/vocal.itely
 #. @subsubsection in ../../../Documentation/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 "Working with lyrics and variables"
@@ -3947,7 +4093,7 @@ msgstr ""
 #. @node in ../../../Documentation/fr/user/vocal.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/vocal.itely
 #. @node in ../../../Documentation/es/user/vocal.itely
-#. @unnumberedsubsubsec 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"
@@ -3958,7 +4104,7 @@ msgstr ""
 #. @node in ../../../Documentation/fr/user/vocal.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/vocal.itely
 #. @node in ../../../Documentation/es/user/vocal.itely
-#. @unnumberedsubsubsec 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"
@@ -3969,7 +4115,7 @@ msgstr ""
 #. @node in ../../../Documentation/fr/user/vocal.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/vocal.itely
 #. @node in ../../../Documentation/es/user/vocal.itely
-#. @unnumberedsubsubsec 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 "Divisi lyrics"
@@ -3980,7 +4126,7 @@ msgstr ""
 #. @node in ../../../Documentation/fr/user/vocal.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/vocal.itely
 #. @node in ../../../Documentation/es/user/vocal.itely
-#. @unnumberedsubsubsec 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"
@@ -3991,7 +4137,7 @@ msgstr ""
 #. @node in ../../../Documentation/fr/user/vocal.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/vocal.itely
 #. @node in ../../../Documentation/es/user/vocal.itely
-#. @unnumberedsubsubsec 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 independent of notes"
@@ -3999,6 +4145,8 @@ msgstr ""
 
 #. @node in ../../../Documentation/user/vocal.itely
 #. @subsection in ../../../Documentation/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 "Spacing vocals"
@@ -4009,7 +4157,7 @@ msgstr ""
 #. @node in ../../../Documentation/fr/user/vocal.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/vocal.itely
 #. @node in ../../../Documentation/es/user/vocal.itely
-#. @unnumberedsubsubsec 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"
@@ -4020,7 +4168,7 @@ msgstr ""
 #. @node in ../../../Documentation/fr/user/vocal.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/vocal.itely
 #. @node in ../../../Documentation/es/user/vocal.itely
-#. @unnumberedsubsubsec 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"
@@ -4029,7 +4177,8 @@ msgstr ""
 #. @node in ../../../Documentation/user/vocal.itely
 #. @subsubsection in ../../../Documentation/user/vocal.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/vocal.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/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 stanza numbers"
@@ -4038,7 +4187,8 @@ msgstr ""
 #. @node in ../../../Documentation/user/vocal.itely
 #. @subsubsection in ../../../Documentation/user/vocal.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/vocal.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/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"
@@ -4047,7 +4197,8 @@ msgstr ""
 #. @node in ../../../Documentation/user/vocal.itely
 #. @subsubsection in ../../../Documentation/user/vocal.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/vocal.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/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"
@@ -4056,7 +4207,8 @@ msgstr ""
 #. @node in ../../../Documentation/user/vocal.itely
 #. @subsubsection in ../../../Documentation/user/vocal.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/vocal.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/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 "Printing stanzas at the end"
@@ -4065,7 +4217,8 @@ msgstr ""
 #. @node in ../../../Documentation/user/vocal.itely
 #. @subsubsection in ../../../Documentation/user/vocal.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/vocal.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/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 "Printing stanzas at the end in multiple columns"
@@ -4073,12 +4226,8 @@ msgstr ""
 
 #. @node in ../../../Documentation/user/chords.itely
 #. @section in ../../../Documentation/user/chords.itely
-#. @node in ../../../Documentation/fr/user/simultaneous.itely
-#. @unnumberedsubsubsec in ../../../Documentation/fr/user/simultaneous.itely
 #. @node in ../../../Documentation/fr/user/chords.itely
 #. @section in ../../../Documentation/fr/user/chords.itely
-#. @node in ../../../Documentation/es/user/simultaneous.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/simultaneous.itely
 #. @node in ../../../Documentation/de/user/simultaneous.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/simultaneous.itely
 msgid "Chords"
@@ -4095,8 +4244,6 @@ msgstr ""
 #. @subsubsection in ../../../Documentation/user/chords.itely
 #. @node in ../../../Documentation/fr/user/tutorial.itely
 #. @subsection in ../../../Documentation/fr/user/tutorial.itely
-#. @node in ../../../Documentation/es/user/tutorial.itely
-#. @subsection in ../../../Documentation/es/user/tutorial.itely
 msgid "A lead sheet"
 msgstr ""
 
@@ -4105,7 +4252,7 @@ msgstr ""
 #. @node in ../../../Documentation/fr/user/chords.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/chords.itely
 #. @node in ../../../Documentation/es/user/chords.itely
-#. @unnumberedsubsubsec 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 "Introducing chord names"
@@ -4116,7 +4263,7 @@ msgstr ""
 #. @node in ../../../Documentation/fr/user/chords.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/chords.itely
 #. @node in ../../../Documentation/es/user/chords.itely
-#. @unnumberedsubsubsec 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"
@@ -4127,7 +4274,7 @@ msgstr ""
 #. @node in ../../../Documentation/fr/user/chords.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/chords.itely
 #. @node in ../../../Documentation/es/user/chords.itely
-#. @unnumberedsubsubsec 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 "Printing chord names"
@@ -4148,6 +4295,8 @@ msgstr ""
 #. @subsection in ../../../Documentation/user/piano.itely
 #. @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 ""
 
@@ -4156,7 +4305,7 @@ msgstr ""
 #. @node in ../../../Documentation/fr/user/piano.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/piano.itely
 #. @node in ../../../Documentation/es/user/piano.itely
-#. @unnumberedsubsubsec 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"
@@ -4167,7 +4316,7 @@ msgstr ""
 #. @node in ../../../Documentation/fr/user/piano.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/piano.itely
 #. @node in ../../../Documentation/es/user/piano.itely
-#. @unnumberedsubsubsec 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"
@@ -4178,7 +4327,7 @@ msgstr ""
 #. @node in ../../../Documentation/fr/user/piano.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/piano.itely
 #. @node in ../../../Documentation/es/user/piano.itely
-#. @unnumberedsubsubsec 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"
@@ -4189,7 +4338,7 @@ msgstr ""
 #. @node in ../../../Documentation/fr/user/piano.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/piano.itely
 #. @node in ../../../Documentation/es/user/piano.itely
-#. @unnumberedsubsubsec 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"
@@ -4200,7 +4349,7 @@ msgstr ""
 #. @node in ../../../Documentation/fr/user/piano.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/piano.itely
 #. @node in ../../../Documentation/es/user/piano.itely
-#. @unnumberedsubsubsec 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"
@@ -4229,7 +4378,7 @@ msgstr ""
 #. @node in ../../../Documentation/fr/user/percussion.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/percussion.itely
 #. @node in ../../../Documentation/es/user/percussion.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/percussion.itely
+#. @subsubsection in ../../../Documentation/es/user/percussion.itely
 #. @node in ../../../Documentation/de/user/percussion.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/percussion.itely
 msgid "Showing melody rhythms"
@@ -4240,7 +4389,7 @@ msgstr ""
 #. @node in ../../../Documentation/fr/user/percussion.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/percussion.itely
 #. @node in ../../../Documentation/es/user/percussion.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/percussion.itely
+#. @subsubsection in ../../../Documentation/es/user/percussion.itely
 #. @node in ../../../Documentation/de/user/percussion.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/percussion.itely
 msgid "Entering percussion"
@@ -4251,7 +4400,7 @@ msgstr ""
 #. @node in ../../../Documentation/fr/user/percussion.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/percussion.itely
 #. @node in ../../../Documentation/es/user/percussion.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/percussion.itely
+#. @subsubsection in ../../../Documentation/es/user/percussion.itely
 #. @node in ../../../Documentation/de/user/percussion.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/percussion.itely
 msgid "Percussion staves"
@@ -4262,7 +4411,7 @@ msgstr ""
 #. @node in ../../../Documentation/fr/user/percussion.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/percussion.itely
 #. @node in ../../../Documentation/es/user/percussion.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/percussion.itely
+#. @subsubsection in ../../../Documentation/es/user/percussion.itely
 #. @node in ../../../Documentation/de/user/percussion.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/percussion.itely
 msgid "Ghost notes"
@@ -4291,7 +4440,7 @@ msgstr ""
 #. @node in ../../../Documentation/fr/user/guitar.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/guitar.itely
 #. @node in ../../../Documentation/es/user/guitar.itely
-#. @unnumberedsubsubsec 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 "String number indications"
@@ -4302,7 +4451,7 @@ msgstr ""
 #. @node in ../../../Documentation/fr/user/guitar.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/guitar.itely
 #. @node in ../../../Documentation/es/user/guitar.itely
-#. @unnumberedsubsubsec 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"
@@ -4313,7 +4462,7 @@ msgstr ""
 #. @node in ../../../Documentation/fr/user/guitar.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/guitar.itely
 #. @node in ../../../Documentation/es/user/guitar.itely
-#. @unnumberedsubsubsec 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"
@@ -4324,7 +4473,7 @@ msgstr ""
 #. @node in ../../../Documentation/fr/user/guitar.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/guitar.itely
 #. @node in ../../../Documentation/es/user/guitar.itely
-#. @unnumberedsubsubsec 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 "Banjo tablatures"
@@ -4335,7 +4484,7 @@ msgstr ""
 #. @node in ../../../Documentation/fr/user/guitar.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/guitar.itely
 #. @node in ../../../Documentation/es/user/guitar.itely
-#. @unnumberedsubsubsec 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 "Fret diagrams"
@@ -4346,7 +4495,7 @@ msgstr ""
 #. @node in ../../../Documentation/fr/user/guitar.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/guitar.itely
 #. @node in ../../../Documentation/es/user/guitar.itely
-#. @unnumberedsubsubsec 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 "Right hand fingerings"
@@ -4357,7 +4506,7 @@ msgstr ""
 #. @node in ../../../Documentation/fr/user/guitar.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/guitar.itely
 #. @node in ../../../Documentation/es/user/guitar.itely
-#. @unnumberedsubsubsec 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"
@@ -4385,10 +4534,8 @@ msgstr ""
 #. @subsubsection in ../../../Documentation/user/strings.itely
 #. @node in ../../../Documentation/fr/user/strings.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/strings.itely
-#. @node in ../../../Documentation/fr/user/strings.itely
-#. @unnumberedsubsubsec in ../../../Documentation/fr/user/strings.itely
 #. @node in ../../../Documentation/es/user/strings.itely
-#. @unnumberedsubsubsec 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
 msgid "Artificial harmonics (strings)"
@@ -4415,7 +4562,7 @@ msgstr ""
 #. @node in ../../../Documentation/fr/user/bagpipes.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/bagpipes.itely
 #. @node in ../../../Documentation/es/user/bagpipes.itely
-#. @unnumberedsubsubsec 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
 msgid "Bagpipe definitions"
@@ -4426,7 +4573,7 @@ msgstr ""
 #. @node in ../../../Documentation/fr/user/bagpipes.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/bagpipes.itely
 #. @node in ../../../Documentation/es/user/bagpipes.itely
-#. @unnumberedsubsubsec 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
 msgid "Bagpipe example"
@@ -4453,7 +4600,7 @@ msgstr ""
 #. @node in ../../../Documentation/fr/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/ancient.itely
 #. @node in ../../../Documentation/es/user/ancient.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/ancient.itely
+#. @subsubsection in ../../../Documentation/es/user/ancient.itely
 #. @node in ../../../Documentation/de/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/ancient.itely
 msgid "Ancient note heads"
@@ -4464,7 +4611,7 @@ msgstr ""
 #. @node in ../../../Documentation/fr/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/ancient.itely
 #. @node in ../../../Documentation/es/user/ancient.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/ancient.itely
+#. @subsubsection in ../../../Documentation/es/user/ancient.itely
 #. @node in ../../../Documentation/de/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/ancient.itely
 msgid "Ancient accidentals"
@@ -4475,7 +4622,7 @@ msgstr ""
 #. @node in ../../../Documentation/fr/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/ancient.itely
 #. @node in ../../../Documentation/es/user/ancient.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/ancient.itely
+#. @subsubsection in ../../../Documentation/es/user/ancient.itely
 #. @node in ../../../Documentation/de/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/ancient.itely
 msgid "Ancient rests"
@@ -4486,7 +4633,7 @@ msgstr ""
 #. @node in ../../../Documentation/fr/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/ancient.itely
 #. @node in ../../../Documentation/es/user/ancient.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/ancient.itely
+#. @subsubsection in ../../../Documentation/es/user/ancient.itely
 #. @node in ../../../Documentation/de/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/ancient.itely
 msgid "Ancient clefs"
@@ -4497,7 +4644,7 @@ msgstr ""
 #. @node in ../../../Documentation/fr/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/ancient.itely
 #. @node in ../../../Documentation/es/user/ancient.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/ancient.itely
+#. @subsubsection in ../../../Documentation/es/user/ancient.itely
 #. @node in ../../../Documentation/de/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/ancient.itely
 msgid "Ancient flags"
@@ -4508,7 +4655,7 @@ msgstr ""
 #. @node in ../../../Documentation/fr/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/ancient.itely
 #. @node in ../../../Documentation/es/user/ancient.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/ancient.itely
+#. @subsubsection in ../../../Documentation/es/user/ancient.itely
 #. @node in ../../../Documentation/de/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/ancient.itely
 msgid "Ancient time signatures"
@@ -4524,7 +4671,7 @@ msgstr ""
 #. @node in ../../../Documentation/fr/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/ancient.itely
 #. @node in ../../../Documentation/es/user/ancient.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/ancient.itely
+#. @subsubsection in ../../../Documentation/es/user/ancient.itely
 #. @node in ../../../Documentation/de/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/ancient.itely
 msgid "Ancient articulations"
@@ -4535,7 +4682,7 @@ msgstr ""
 #. @node in ../../../Documentation/fr/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/ancient.itely
 #. @node in ../../../Documentation/es/user/ancient.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/ancient.itely
+#. @subsubsection in ../../../Documentation/es/user/ancient.itely
 #. @node in ../../../Documentation/de/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/ancient.itely
 msgid "Custodes"
@@ -4546,7 +4693,7 @@ msgstr ""
 #. @node in ../../../Documentation/fr/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/ancient.itely
 #. @node in ../../../Documentation/es/user/ancient.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/ancient.itely
+#. @subsubsection in ../../../Documentation/es/user/ancient.itely
 #. @node in ../../../Documentation/de/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/ancient.itely
 msgid "Divisiones"
@@ -4557,7 +4704,7 @@ msgstr ""
 #. @node in ../../../Documentation/fr/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/ancient.itely
 #. @node in ../../../Documentation/es/user/ancient.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/ancient.itely
+#. @subsubsection in ../../../Documentation/es/user/ancient.itely
 #. @node in ../../../Documentation/de/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/ancient.itely
 msgid "Ligatures"
@@ -4568,7 +4715,7 @@ msgstr ""
 #. @node in ../../../Documentation/fr/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/ancient.itely
 #. @node in ../../../Documentation/es/user/ancient.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/ancient.itely
+#. @subsubsection in ../../../Documentation/es/user/ancient.itely
 #. @node in ../../../Documentation/de/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/ancient.itely
 msgid "White mensural ligatures"
@@ -4579,7 +4726,7 @@ msgstr ""
 #. @node in ../../../Documentation/fr/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/ancient.itely
 #. @node in ../../../Documentation/es/user/ancient.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/ancient.itely
+#. @subsubsection in ../../../Documentation/es/user/ancient.itely
 #. @node in ../../../Documentation/de/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/ancient.itely
 msgid "Gregorian square neumes ligatures"
@@ -4595,7 +4742,7 @@ msgstr ""
 #. @node in ../../../Documentation/fr/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/ancient.itely
 #. @node in ../../../Documentation/es/user/ancient.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/ancient.itely
+#. @subsubsection in ../../../Documentation/es/user/ancient.itely
 #. @node in ../../../Documentation/de/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/ancient.itely
 msgid "Gregorian Chant contexts"
@@ -4606,7 +4753,7 @@ msgstr ""
 #. @node in ../../../Documentation/fr/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/ancient.itely
 #. @node in ../../../Documentation/es/user/ancient.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/ancient.itely
+#. @subsubsection in ../../../Documentation/es/user/ancient.itely
 #. @node in ../../../Documentation/de/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/ancient.itely
 msgid "Mensural contexts"
@@ -4617,7 +4764,7 @@ msgstr ""
 #. @node in ../../../Documentation/fr/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/ancient.itely
 #. @node in ../../../Documentation/es/user/ancient.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/ancient.itely
+#. @subsubsection in ../../../Documentation/es/user/ancient.itely
 #. @node in ../../../Documentation/de/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/ancient.itely
 msgid "Musica ficta accidentals"
@@ -4628,7 +4775,7 @@ msgstr ""
 #. @node in ../../../Documentation/fr/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/ancient.itely
 #. @node in ../../../Documentation/es/user/ancient.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/ancient.itely
+#. @subsubsection in ../../../Documentation/es/user/ancient.itely
 #. @node in ../../../Documentation/de/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/ancient.itely
 msgid "Figured bass"
@@ -4638,6 +4785,8 @@ msgstr ""
 #. @chapter in ../../../Documentation/user/input.itely
 #. @node in ../../../Documentation/fr/user/input.itely
 #. @chapter in ../../../Documentation/fr/user/input.itely
+#. @node in ../../../Documentation/es/user/input.itely
+#. @chapter in ../../../Documentation/es/user/input.itely
 #. @node in ../../../Documentation/de/user/input.itely
 #. @chapter in ../../../Documentation/de/user/input.itely
 msgid "Input syntax"
@@ -4647,10 +4796,8 @@ msgstr ""
 #. @section in ../../../Documentation/user/input.itely
 #. @node in ../../../Documentation/fr/user/input.itely
 #. @section in ../../../Documentation/fr/user/input.itely
-#. @node in ../../../Documentation/fr/user/non-music.itely
-#. @section in ../../../Documentation/fr/user/non-music.itely
-#. @node in ../../../Documentation/es/user/non-music.itely
-#. @section in ../../../Documentation/es/user/non-music.itely
+#. @node in ../../../Documentation/es/user/input.itely
+#. @section in ../../../Documentation/es/user/input.itely
 #. @node in ../../../Documentation/de/user/input.itely
 #. @section in ../../../Documentation/de/user/input.itely
 msgid "Input files"
@@ -4660,10 +4807,8 @@ msgstr ""
 #. @subsection in ../../../Documentation/user/input.itely
 #. @node in ../../../Documentation/fr/user/input.itely
 #. @subsection in ../../../Documentation/fr/user/input.itely
-#. @node in ../../../Documentation/fr/user/non-music.itely
-#. @subsection in ../../../Documentation/fr/user/non-music.itely
-#. @node in ../../../Documentation/es/user/non-music.itely
-#. @subsection in ../../../Documentation/es/user/non-music.itely
+#. @node in ../../../Documentation/es/user/input.itely
+#. @subsection in ../../../Documentation/es/user/input.itely
 #. @node in ../../../Documentation/de/user/input.itely
 #. @subsection in ../../../Documentation/de/user/input.itely
 msgid "File structure"
@@ -4673,10 +4818,8 @@ msgstr ""
 #. @subsection in ../../../Documentation/user/input.itely
 #. @node in ../../../Documentation/fr/user/input.itely
 #. @subsection in ../../../Documentation/fr/user/input.itely
-#. @node in ../../../Documentation/fr/user/non-music.itely
-#. @subsection in ../../../Documentation/fr/user/non-music.itely
-#. @node in ../../../Documentation/es/user/non-music.itely
-#. @subsection in ../../../Documentation/es/user/non-music.itely
+#. @node in ../../../Documentation/es/user/input.itely
+#. @subsection in ../../../Documentation/es/user/input.itely
 #. @node in ../../../Documentation/de/user/input.itely
 #. @subsection in ../../../Documentation/de/user/input.itely
 msgid "A single music expression"
@@ -4686,10 +4829,8 @@ msgstr ""
 #. @subsection in ../../../Documentation/user/input.itely
 #. @node in ../../../Documentation/fr/user/input.itely
 #. @subsection in ../../../Documentation/fr/user/input.itely
-#. @node in ../../../Documentation/fr/user/non-music.itely
-#. @subsection in ../../../Documentation/fr/user/non-music.itely
-#. @node in ../../../Documentation/es/user/non-music.itely
-#. @subsection in ../../../Documentation/es/user/non-music.itely
+#. @node in ../../../Documentation/es/user/input.itely
+#. @subsection in ../../../Documentation/es/user/input.itely
 #. @node in ../../../Documentation/de/user/input.itely
 #. @subsection in ../../../Documentation/de/user/input.itely
 msgid "Multiple scores in a book"
@@ -4699,10 +4840,8 @@ msgstr ""
 #. @subsection in ../../../Documentation/user/input.itely
 #. @node in ../../../Documentation/fr/user/input.itely
 #. @subsection in ../../../Documentation/fr/user/input.itely
-#. @node in ../../../Documentation/fr/user/non-music.itely
-#. @subsection in ../../../Documentation/fr/user/non-music.itely
-#. @node in ../../../Documentation/es/user/non-music.itely
-#. @subsection in ../../../Documentation/es/user/non-music.itely
+#. @node in ../../../Documentation/es/user/input.itely
+#. @subsection in ../../../Documentation/es/user/input.itely
 #. @node in ../../../Documentation/de/user/input.itely
 #. @subsection in ../../../Documentation/de/user/input.itely
 msgid "Extracting fragments of notation"
@@ -4712,10 +4851,8 @@ msgstr ""
 #. @subsection in ../../../Documentation/user/input.itely
 #. @node in ../../../Documentation/fr/user/input.itely
 #. @subsection in ../../../Documentation/fr/user/input.itely
-#. @node in ../../../Documentation/fr/user/non-music.itely
-#. @subsection in ../../../Documentation/fr/user/non-music.itely
-#. @node in ../../../Documentation/es/user/non-music.itely
-#. @subsection in ../../../Documentation/es/user/non-music.itely
+#. @node in ../../../Documentation/es/user/input.itely
+#. @subsection in ../../../Documentation/es/user/input.itely
 #. @node in ../../../Documentation/de/user/input.itely
 #. @subsection in ../../../Documentation/de/user/input.itely
 msgid "Including LilyPond files"
@@ -4725,10 +4862,8 @@ msgstr ""
 #. @subsection in ../../../Documentation/user/input.itely
 #. @node in ../../../Documentation/fr/user/input.itely
 #. @subsection in ../../../Documentation/fr/user/input.itely
-#. @node in ../../../Documentation/fr/user/non-music.itely
-#. @subsection in ../../../Documentation/fr/user/non-music.itely
-#. @node in ../../../Documentation/es/user/non-music.itely
-#. @subsection in ../../../Documentation/es/user/non-music.itely
+#. @node in ../../../Documentation/es/user/input.itely
+#. @subsection in ../../../Documentation/es/user/input.itely
 #. @node in ../../../Documentation/de/user/input.itely
 #. @subsection in ../../../Documentation/de/user/input.itely
 msgid "Text encoding"
@@ -4738,10 +4873,8 @@ msgstr ""
 #. @subsection in ../../../Documentation/user/input.itely
 #. @node in ../../../Documentation/fr/user/input.itely
 #. @subsection in ../../../Documentation/fr/user/input.itely
-#. @node in ../../../Documentation/fr/user/non-music.itely
-#. @subsection in ../../../Documentation/fr/user/non-music.itely
-#. @node in ../../../Documentation/es/user/non-music.itely
-#. @subsection in ../../../Documentation/es/user/non-music.itely
+#. @node in ../../../Documentation/es/user/input.itely
+#. @subsection in ../../../Documentation/es/user/input.itely
 #. @node in ../../../Documentation/de/user/input.itely
 #. @subsection in ../../../Documentation/de/user/input.itely
 msgid "Different editions from one source"
@@ -4751,6 +4884,8 @@ msgstr ""
 #. @section in ../../../Documentation/user/input.itely
 #. @node in ../../../Documentation/fr/user/input.itely
 #. @section in ../../../Documentation/fr/user/input.itely
+#. @node in ../../../Documentation/es/user/input.itely
+#. @section in ../../../Documentation/es/user/input.itely
 #. @node in ../../../Documentation/de/user/input.itely
 #. @section in ../../../Documentation/de/user/input.itely
 msgid "Common syntax issues TODO name?"
@@ -4758,26 +4893,35 @@ msgstr ""
 
 #. @node in ../../../Documentation/user/input.itely
 #. @subsection in ../../../Documentation/user/input.itely
-#. @node in ../../../Documentation/fr/user/input.itely
-#. @subsection in ../../../Documentation/fr/user/input.itely
-#. @node in ../../../Documentation/de/user/input.itely
-#. @subsection in ../../../Documentation/de/user/input.itely
-msgid "Controlling direction"
+#. @node in ../../../Documentation/es/user/input.itely
+#. @subsection in ../../../Documentation/es/user/input.itely
+msgid "Controlling direction and placement"
 msgstr ""
 
 #. @node in ../../../Documentation/user/input.itely
 #. @subsection in ../../../Documentation/user/input.itely
 #. @node in ../../../Documentation/fr/user/input.itely
 #. @subsection in ../../../Documentation/fr/user/input.itely
+#. @node in ../../../Documentation/es/user/input.itely
+#. @subsection in ../../../Documentation/es/user/input.itely
 #. @node in ../../../Documentation/de/user/input.itely
 #. @subsection in ../../../Documentation/de/user/input.itely
 msgid "Distances and measurements MAYBE MOVE"
 msgstr ""
 
+#. @node in ../../../Documentation/user/input.itely
+#. @subsection in ../../../Documentation/user/input.itely
+#. @node in ../../../Documentation/es/user/input.itely
+#. @subsection in ../../../Documentation/es/user/input.itely
+msgid "When to add a -"
+msgstr ""
+
 #. @node in ../../../Documentation/user/input.itely
 #. @section in ../../../Documentation/user/input.itely
 #. @node in ../../../Documentation/fr/user/input.itely
 #. @section in ../../../Documentation/fr/user/input.itely
+#. @node in ../../../Documentation/es/user/input.itely
+#. @section in ../../../Documentation/es/user/input.itely
 #. @node in ../../../Documentation/de/user/input.itely
 #. @section in ../../../Documentation/de/user/input.itely
 msgid "Other stuffs TODO move?"
@@ -4787,10 +4931,8 @@ msgstr ""
 #. @subsection in ../../../Documentation/user/input.itely
 #. @node in ../../../Documentation/fr/user/input.itely
 #. @subsection in ../../../Documentation/fr/user/input.itely
-#. @node in ../../../Documentation/fr/user/non-music.itely
-#. @section in ../../../Documentation/fr/user/non-music.itely
-#. @node in ../../../Documentation/es/user/non-music.itely
-#. @section in ../../../Documentation/es/user/non-music.itely
+#. @node in ../../../Documentation/es/user/input.itely
+#. @subsection in ../../../Documentation/es/user/input.itely
 #. @node in ../../../Documentation/de/user/input.itely
 #. @subsection in ../../../Documentation/de/user/input.itely
 msgid "Displaying LilyPond notation"
@@ -4800,10 +4942,8 @@ msgstr ""
 #. @subsection in ../../../Documentation/user/input.itely
 #. @node in ../../../Documentation/fr/user/input.itely
 #. @subsection in ../../../Documentation/fr/user/input.itely
-#. @node in ../../../Documentation/fr/user/non-music.itely
-#. @section in ../../../Documentation/fr/user/non-music.itely
-#. @node in ../../../Documentation/es/user/non-music.itely
-#. @section in ../../../Documentation/es/user/non-music.itely
+#. @node in ../../../Documentation/es/user/input.itely
+#. @subsection in ../../../Documentation/es/user/input.itely
 #. @node in ../../../Documentation/de/user/input.itely
 #. @subsection in ../../../Documentation/de/user/input.itely
 msgid "Skipping corrected music"
@@ -4813,6 +4953,8 @@ msgstr ""
 #. @subsection in ../../../Documentation/user/input.itely
 #. @node in ../../../Documentation/fr/user/input.itely
 #. @subsection in ../../../Documentation/fr/user/input.itely
+#. @node in ../../../Documentation/es/user/input.itely
+#. @subsection in ../../../Documentation/es/user/input.itely
 #. @node in ../../../Documentation/de/user/input.itely
 #. @subsection in ../../../Documentation/de/user/input.itely
 msgid "context list FIXME"
@@ -4822,6 +4964,8 @@ msgstr ""
 #. @subsection in ../../../Documentation/user/input.itely
 #. @node in ../../../Documentation/fr/user/input.itely
 #. @subsection in ../../../Documentation/fr/user/input.itely
+#. @node in ../../../Documentation/es/user/input.itely
+#. @subsection in ../../../Documentation/es/user/input.itely
 #. @node in ../../../Documentation/de/user/input.itely
 #. @subsection in ../../../Documentation/de/user/input.itely
 msgid "another thing FIXME"
@@ -4831,6 +4975,8 @@ msgstr ""
 #. @subsection in ../../../Documentation/user/input.itely
 #. @node in ../../../Documentation/fr/user/input.itely
 #. @subsection in ../../../Documentation/fr/user/input.itely
+#. @node in ../../../Documentation/es/user/input.itely
+#. @subsection in ../../../Documentation/es/user/input.itely
 #. @node in ../../../Documentation/de/user/input.itely
 #. @subsection in ../../../Documentation/de/user/input.itely
 msgid "Input modes FIXME"
@@ -4948,6 +5094,10 @@ msgstr ""
 
 #. @node in ../../../Documentation/user/non-music.itely
 #. @subsection in ../../../Documentation/user/non-music.itely
+#. @node in ../../../Documentation/fr/user/non-music.itely
+#. @subsection in ../../../Documentation/fr/user/non-music.itely
+#. @node in ../../../Documentation/es/user/non-music.itely
+#. @subsection in ../../../Documentation/es/user/non-music.itely
 #. @node in ../../../Documentation/de/user/non-music.itely
 #. @subsection in ../../../Documentation/de/user/non-music.itely
 msgid "What goes into the MIDI?  FIXME"
@@ -4955,10 +5105,10 @@ msgstr ""
 
 #. @node in ../../../Documentation/user/non-music.itely
 #. @subsubsection in ../../../Documentation/user/non-music.itely
-#. @node in ../../../Documentation/fr/user/repeats.itely
-#. @unnumberedsubsubsec in ../../../Documentation/fr/user/repeats.itely
-#. @node in ../../../Documentation/es/user/repeats.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/repeats.itely
+#. @node in ../../../Documentation/fr/user/non-music.itely
+#. @unnumberedsubsubsec in ../../../Documentation/fr/user/non-music.itely
+#. @node in ../../../Documentation/es/user/non-music.itely
+#. @subsubsection in ../../../Documentation/es/user/non-music.itely
 #. @node in ../../../Documentation/de/user/repeats.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/repeats.itely
 #. @node in ../../../Documentation/de/user/non-music.itely
@@ -4968,6 +5118,10 @@ msgstr ""
 
 #. @node in ../../../Documentation/user/non-music.itely
 #. @section in ../../../Documentation/user/non-music.itely
+#. @node in ../../../Documentation/fr/user/non-music.itely
+#. @section in ../../../Documentation/fr/user/non-music.itely
+#. @node in ../../../Documentation/es/user/non-music.itely
+#. @section in ../../../Documentation/es/user/non-music.itely
 #. @node in ../../../Documentation/de/user/non-music.itely
 #. @section in ../../../Documentation/de/user/non-music.itely
 msgid "other midi"
@@ -5563,6 +5717,21 @@ msgstr ""
 msgid "Difficult tweaks"
 msgstr ""
 
+#. @node in ../../../Documentation/user/changing-defaults.itely
+#. @section in ../../../Documentation/user/changing-defaults.itely
+msgid "Discussion of specific tweaks"
+msgstr ""
+
+#. @node in ../../../Documentation/user/changing-defaults.itely
+#. @subsection in ../../../Documentation/user/changing-defaults.itely
+msgid "Line styles"
+msgstr ""
+
+#. @node in ../../../Documentation/user/changing-defaults.itely
+#. @subsection in ../../../Documentation/user/changing-defaults.itely
+msgid "Controlling visibility of objects"
+msgstr ""
+
 #. @node in ../../../Documentation/user/programming-interface.itely
 #. @chapter in ../../../Documentation/user/programming-interface.itely
 #. @node in ../../../Documentation/fr/user/programming-interface.itely
@@ -5990,21 +6159,29 @@ msgstr ""
 
 #. @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
 msgid "All context properties"
 msgstr ""
 
 #. @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
 msgid "Layout properties"
 msgstr ""
 
 #. @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
 msgid "Identifiers"
 msgstr ""
 
 #. @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
 msgid "Scheme functions"
 msgstr ""
 
@@ -6024,17 +6201,10 @@ msgid "GNU LilyPond --- manuel d'initiation"
 msgstr ""
 
 #. @subsubheading in ../../../Documentation/fr/user/macros.itexi
-#. @subsubheading in ../../../Documentation/es/user/macros.itexi
 #. @subsubheading in ../../../Documentation/de/user/macros.itexi
 msgid "Commonly tweaked properties"
 msgstr ""
 
-#. @subsubheading in ../../../Documentation/fr/user/macros.itexi
-#. @subsubheading in ../../../Documentation/es/user/macros.itexi
-#. @subsubheading in ../../../Documentation/de/user/macros.itexi
-msgid "Bugs"
-msgstr ""
-
 #. @subheading in ../../../Documentation/fr/user/introduction.itely
 msgid "Manuel de l'utilisateur"
 msgstr ""
@@ -6060,42 +6230,31 @@ msgid "Autre documentation"
 msgstr ""
 
 #. @rglos in ../../../Documentation/fr/user/tutorial.itely
-#. @rglos in ../../../Documentation/es/user/tutorial.itely
 msgid "fourth"
 msgstr ""
 
 #. @node in ../../../Documentation/fr/user/tutorial.itely
 #. @subsection in ../../../Documentation/fr/user/tutorial.itely
-#. @node in ../../../Documentation/es/user/tutorial.itely
-#. @subsection in ../../../Documentation/es/user/tutorial.itely
 msgid "How to read the tutorial"
 msgstr ""
 
 #. @node in ../../../Documentation/fr/user/tutorial.itely
 #. @subsection in ../../../Documentation/fr/user/tutorial.itely
-#. @node in ../../../Documentation/es/user/tutorial.itely
-#. @subsection in ../../../Documentation/es/user/tutorial.itely
 msgid "Relative note names"
 msgstr ""
 
 #. @node in ../../../Documentation/fr/user/tutorial.itely
 #. @subsection in ../../../Documentation/fr/user/tutorial.itely
-#. @node in ../../../Documentation/es/user/tutorial.itely
-#. @subsection in ../../../Documentation/es/user/tutorial.itely
 msgid "Piano staves"
 msgstr ""
 
 #. @node in ../../../Documentation/fr/user/tutorial.itely
 #. @subsection in ../../../Documentation/fr/user/tutorial.itely
-#. @node in ../../../Documentation/es/user/tutorial.itely
-#. @subsection in ../../../Documentation/es/user/tutorial.itely
 msgid "Printing lyrics"
 msgstr ""
 
 #. @node in ../../../Documentation/fr/user/tutorial.itely
 #. @subsection in ../../../Documentation/fr/user/tutorial.itely
-#. @node in ../../../Documentation/es/user/tutorial.itely
-#. @subsection in ../../../Documentation/es/user/tutorial.itely
 msgid "Organizing pieces with identifiers"
 msgstr ""
 
@@ -6119,15 +6278,13 @@ msgstr ""
 
 #. @node in ../../../Documentation/fr/user/working.itely
 #. @section in ../../../Documentation/fr/user/working.itely
-#. @node in ../../../Documentation/es/user/working.itely
-#. @section in ../../../Documentation/es/user/working.itely
 #. @node in ../../../Documentation/de/user/working.itely
 #. @section in ../../../Documentation/de/user/working.itely
 msgid "Saving typing with identifiers and functions"
 msgstr ""
 
 #. @top in ../../../Documentation/fr/user/lilypond-program.tely
-msgid "GNU LilyPond --- utilisation du programme"
+msgid "GNU LilyPond --- utilisation des programmes"
 msgstr ""
 
 #. @top in ../../../Documentation/fr/user/lilypond.tely
@@ -6136,8 +6293,6 @@ msgstr ""
 
 #. @node in ../../../Documentation/fr/user/pitches.itely
 #. @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 "Normal pitches"
@@ -6145,8 +6300,6 @@ msgstr ""
 
 #. @node in ../../../Documentation/fr/user/pitches.itely
 #. @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 "Cautionary accidentals"
@@ -6154,8 +6307,6 @@ msgstr ""
 
 #. @node in ../../../Documentation/fr/user/pitches.itely
 #. @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 "Micro tones"
@@ -6163,8 +6314,6 @@ msgstr ""
 
 #. @node in ../../../Documentation/fr/user/pitches.itely
 #. @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 "Relative octaves"
@@ -6172,8 +6321,6 @@ msgstr ""
 
 #. @node in ../../../Documentation/fr/user/pitches.itely
 #. @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 "Octave check"
@@ -6181,8 +6328,6 @@ msgstr ""
 
 #. @node in ../../../Documentation/fr/user/rhythms.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/rhythms.itely
-#. @node in ../../../Documentation/es/user/rhythms.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/rhythms.itely
 #. @node in ../../../Documentation/de/user/rhythms.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/rhythms.itely
 msgid "Augmentation dots"
@@ -6190,8 +6335,6 @@ msgstr ""
 
 #. @node in ../../../Documentation/fr/user/rhythms.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/rhythms.itely
-#. @node in ../../../Documentation/es/user/rhythms.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/rhythms.itely
 #. @node in ../../../Documentation/de/user/rhythms.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/rhythms.itely
 msgid "Multi measure rests"
@@ -6200,7 +6343,7 @@ msgstr ""
 #. @node in ../../../Documentation/fr/user/rhythms.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/rhythms.itely
 #. @node in ../../../Documentation/es/user/rhythms.itely
-#. @unnumberedsubsubsec 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 "Bar check"
@@ -6209,7 +6352,7 @@ msgstr ""
 #. @node in ../../../Documentation/fr/user/rhythms.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/rhythms.itely
 #. @node in ../../../Documentation/es/user/rhythms.itely
-#. @unnumberedsubsubsec 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 "Barnumber check"
@@ -6218,7 +6361,7 @@ msgstr ""
 #. @node in ../../../Documentation/fr/user/rhythms.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/rhythms.itely
 #. @node in ../../../Documentation/es/user/rhythms.itely
-#. @unnumberedsubsubsec 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 "Proportional notation (introduction)"
@@ -6226,17 +6369,20 @@ msgstr ""
 
 #. @node in ../../../Documentation/fr/user/expressive.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/expressive.itely
-#. @node in ../../../Documentation/es/user/expressive.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/expressive.itely
 #. @node in ../../../Documentation/de/user/expressive.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/expressive.itely
 msgid "Laissez vibrer ties"
 msgstr ""
 
+#. @node in ../../../Documentation/fr/user/repeats.itely
+#. @subsection in ../../../Documentation/fr/user/repeats.itely
+#. @node in ../../../Documentation/de/user/repeats.itely
+#. @subsection in ../../../Documentation/de/user/repeats.itely
+msgid "Writing repeats"
+msgstr ""
+
 #. @node in ../../../Documentation/fr/user/repeats.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/repeats.itely
-#. @node in ../../../Documentation/es/user/repeats.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/repeats.itely
 #. @node in ../../../Documentation/de/user/repeats.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/repeats.itely
 msgid "Repeat types"
@@ -6244,17 +6390,43 @@ msgstr ""
 
 #. @node in ../../../Documentation/fr/user/repeats.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/repeats.itely
-#. @node in ../../../Documentation/es/user/repeats.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/repeats.itely
+#. @node in ../../../Documentation/de/user/repeats.itely
+#. @unnumberedsubsubsec in ../../../Documentation/de/user/repeats.itely
+msgid "Repeat syntax"
+msgstr ""
+
+#. @node in ../../../Documentation/fr/user/repeats.itely
+#. @unnumberedsubsubsec in ../../../Documentation/fr/user/repeats.itely
+#. @node in ../../../Documentation/de/user/repeats.itely
+#. @unnumberedsubsubsec in ../../../Documentation/de/user/repeats.itely
+msgid "Manual repeat commands"
+msgstr ""
+
+#. @node in ../../../Documentation/fr/user/repeats.itely
+#. @subsection in ../../../Documentation/fr/user/repeats.itely
+#. @node in ../../../Documentation/de/user/repeats.itely
+#. @subsection in ../../../Documentation/de/user/repeats.itely
+msgid "Other repeats"
+msgstr ""
+
+#. @node in ../../../Documentation/fr/user/repeats.itely
+#. @unnumberedsubsubsec in ../../../Documentation/fr/user/repeats.itely
 #. @node in ../../../Documentation/de/user/repeats.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/repeats.itely
 msgid "Tremolo subdivisions"
 msgstr ""
 
+#. @node in ../../../Documentation/fr/user/repeats.itely
+#. @unnumberedsubsubsec in ../../../Documentation/fr/user/repeats.itely
+#. @node in ../../../Documentation/de/user/repeats.itely
+#. @unnumberedsubsubsec in ../../../Documentation/de/user/repeats.itely
+msgid "Measure repeats"
+msgstr ""
+
 #. @node in ../../../Documentation/fr/user/simultaneous.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/simultaneous.itely
 #. @node in ../../../Documentation/es/user/simultaneous.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/simultaneous.itely
+#. @subsubsection in ../../../Documentation/es/user/simultaneous.itely
 #. @node in ../../../Documentation/de/user/simultaneous.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/simultaneous.itely
 msgid "Basic polyphony"
@@ -6263,66 +6435,40 @@ msgstr ""
 #. @node in ../../../Documentation/fr/user/simultaneous.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/simultaneous.itely
 #. @node in ../../../Documentation/es/user/simultaneous.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/simultaneous.itely
+#. @subsubsection in ../../../Documentation/es/user/simultaneous.itely
 #. @node in ../../../Documentation/de/user/simultaneous.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/simultaneous.itely
 msgid "Collision Resolution"
 msgstr ""
 
-#. @node in ../../../Documentation/fr/user/editorial.itely
-#. @section in ../../../Documentation/fr/user/editorial.itely
-#. @node in ../../../Documentation/es/user/educational.itely
-#. @section in ../../../Documentation/es/user/educational.itely
-#. @node in ../../../Documentation/de/user/educational.itely
-#. @section in ../../../Documentation/de/user/educational.itely
-msgid "Educational use"
-msgstr ""
-
-#. @node in ../../../Documentation/fr/user/editorial.itely
-#. @unnumberedsubsubsec in ../../../Documentation/fr/user/editorial.itely
-#. @node in ../../../Documentation/es/user/educational.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/educational.itely
-#. @node in ../../../Documentation/de/user/educational.itely
-#. @unnumberedsubsubsec in ../../../Documentation/de/user/educational.itely
-msgid "Easy Notation note heads"
-msgstr ""
-
-#. @node in ../../../Documentation/fr/user/editorial.itely
-#. @unnumberedsubsubsec in ../../../Documentation/fr/user/editorial.itely
-#. @node in ../../../Documentation/es/user/educational.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/educational.itely
-#. @node in ../../../Documentation/de/user/educational.itely
-#. @unnumberedsubsubsec in ../../../Documentation/de/user/educational.itely
-msgid "Special noteheads"
+#. @node in ../../../Documentation/fr/user/staff.itely
+#. @unnumberedsubsubsec in ../../../Documentation/fr/user/staff.itely
+#. @node in ../../../Documentation/es/user/staff.itely
+#. @subsubsection in ../../../Documentation/es/user/staff.itely
+#. @node in ../../../Documentation/de/user/staff.itely
+#. @unnumberedsubsubsec in ../../../Documentation/de/user/staff.itely
+msgid "System start delimiters"
 msgstr ""
 
 #. @node in ../../../Documentation/fr/user/editorial.itely
-#. @subsection in ../../../Documentation/fr/user/editorial.itely
-#. @node in ../../../Documentation/es/user/educational.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/educational.itely
-#. @node in ../../../Documentation/de/user/educational.itely
-#. @subsection in ../../../Documentation/de/user/educational.itely
+#. @subsubsection in ../../../Documentation/fr/user/editorial.itely
+#. @node in ../../../Documentation/de/user/editorial.itely
+#. @subsection in ../../../Documentation/de/user/editorial.itely
 msgid "Blank music sheet"
 msgstr ""
 
 #. @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 "TODO subsection vocal music"
 msgstr ""
 
 #. @node in ../../../Documentation/fr/user/vocal.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/vocal.itely
-#. @node in ../../../Documentation/es/user/vocal.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/vocal.itely
 msgid "Working with lyrics and identifiers"
 msgstr ""
 
 #. @node in ../../../Documentation/fr/user/vocal.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/vocal.itely
-#. @node in ../../../Documentation/es/user/vocal.itely
-#. @unnumberedsubsubsec in ../../../Documentation/es/user/vocal.itely
 msgid "Other vocal issues"
 msgstr ""
 
@@ -6344,53 +6490,74 @@ msgstr ""
 msgid "Ancient TODO"
 msgstr ""
 
+#. @node in ../../../Documentation/fr/user/input.itely
+#. @subsection in ../../../Documentation/fr/user/input.itely
+#. @node in ../../../Documentation/de/user/input.itely
+#. @subsection in ../../../Documentation/de/user/input.itely
+msgid "Controlling direction"
+msgstr ""
+
 #. @node in ../../../Documentation/fr/user/changing-defaults.itely
 #. @section in ../../../Documentation/fr/user/changing-defaults.itely
-#. @node in ../../../Documentation/es/user/changing-defaults.itely
-#. @section in ../../../Documentation/es/user/changing-defaults.itely
 msgid "Automatic notation"
 msgstr ""
 
-#. @subheading in ../../../Documentation/es/user/introduction.itely
-#. @subheading in ../../../Documentation/de/user/introduction.itely
-msgid "User manual"
+#. @subsubheading in ../../../Documentation/es/user/macros.itexi
+msgid "Instrucciones predefinidas"
 msgstr ""
 
-#. @subsubheading in ../../../Documentation/es/user/introduction.itely
-#. @subsubheading in ../../../Documentation/de/user/introduction.itely
-msgid "Learning manual"
+#. @subsubheading in ../../../Documentation/es/user/macros.itexi
+msgid "Fragmentos de código seleccionados"
 msgstr ""
 
-#. @subsubheading in ../../../Documentation/es/user/introduction.itely
-#. @subsubheading in ../../../Documentation/de/user/introduction.itely
-msgid "Notation reference"
+#. @subsubheading in ../../../Documentation/es/user/macros.itexi
+msgid "Propiedades trucadas frecuentemente"
 msgstr ""
 
-#. @node in ../../../Documentation/es/user/putting.itely
-#. @chapter in ../../../Documentation/es/user/putting.itely
-#. @node in ../../../Documentation/de/user/putting.itely
-#. @chapter in ../../../Documentation/de/user/putting.itely
-msgid "Putting it all together"
+#. @subsubheading in ../../../Documentation/es/user/macros.itexi
+msgid "Véase también"
 msgstr ""
 
-#. @node in ../../../Documentation/es/user/putting.itely
-#. @section in ../../../Documentation/es/user/putting.itely
-#. @node in ../../../Documentation/de/user/putting.itely
-#. @section in ../../../Documentation/de/user/putting.itely
-msgid "Score is a single musical expression"
+#. @subsubheading in ../../../Documentation/es/user/macros.itexi
+msgid "Advertencias y problemas conocidos"
 msgstr ""
 
-#. @node in ../../../Documentation/es/user/putting.itely
-#. @section in ../../../Documentation/es/user/putting.itely
-#. @node in ../../../Documentation/de/user/putting.itely
-#. @section in ../../../Documentation/de/user/putting.itely
-msgid "An orchestral part"
+#. @rglos in ../../../Documentation/es/user/tutorial.itely
+msgid "redonda"
+msgstr ""
+
+#. @rglos in ../../../Documentation/es/user/tutorial.itely
+msgid "blanca"
+msgstr ""
+
+#. @rglos in ../../../Documentation/es/user/tutorial.itely
+msgid "negra"
 msgstr ""
 
 #. @top in ../../../Documentation/es/user/lilypond.tely
 msgid "GNU LilyPond --- El tipografiador de música"
 msgstr ""
 
+#. @rglos in ../../../Documentation/es/user/expressive.itely
+msgid "marcato"
+msgstr ""
+
+#. @rglos in ../../../Documentation/es/user/expressive.itely
+msgid "stopped"
+msgstr ""
+
+#. @rglos in ../../../Documentation/es/user/expressive.itely
+msgid "staccatissimo"
+msgstr ""
+
+#. @rglos in ../../../Documentation/es/user/expressive.itely
+msgid "hairpin"
+msgstr ""
+
+#. @rglos in ../../../Documentation/es/user/expressive.itely
+msgid "broken chord"
+msgstr ""
+
 #. @node in ../../../Documentation/es/user/chords.itely
 #. @section in ../../../Documentation/es/user/chords.itely
 #. @node in ../../../Documentation/de/user/chords.itely
@@ -6405,13 +6572,6 @@ msgstr ""
 msgid "TODO chords fix"
 msgstr ""
 
-#. @node in ../../../Documentation/es/user/piano.itely
-#. @subsection in ../../../Documentation/es/user/piano.itely
-#. @node in ../../../Documentation/de/user/piano.itely
-#. @subsection in ../../../Documentation/de/user/piano.itely
-msgid "TODO piano node fix"
-msgstr ""
-
 #. @node in ../../../Documentation/es/user/percussion.itely
 #. @subsection in ../../../Documentation/es/user/percussion.itely
 #. @node in ../../../Documentation/de/user/percussion.itely
@@ -6437,6 +6597,18 @@ msgstr ""
 msgid "GNU LilyPond -- Handbuch zum Lernen"
 msgstr ""
 
+#. @subheading in ../../../Documentation/de/user/introduction.itely
+msgid "User manual"
+msgstr ""
+
+#. @subsubheading in ../../../Documentation/de/user/introduction.itely
+msgid "Learning manual"
+msgstr ""
+
+#. @subsubheading in ../../../Documentation/de/user/introduction.itely
+msgid "Notation reference"
+msgstr ""
+
 #. @rglos in ../../../Documentation/de/user/tutorial.itely
 msgid "legato"
 msgstr ""
@@ -6445,6 +6617,21 @@ msgstr ""
 msgid "acciacccatura"
 msgstr ""
 
+#. @node in ../../../Documentation/de/user/putting.itely
+#. @chapter in ../../../Documentation/de/user/putting.itely
+msgid "Putting it all together"
+msgstr ""
+
+#. @node in ../../../Documentation/de/user/putting.itely
+#. @section in ../../../Documentation/de/user/putting.itely
+msgid "Score is a single musical expression"
+msgstr ""
+
+#. @node in ../../../Documentation/de/user/putting.itely
+#. @section in ../../../Documentation/de/user/putting.itely
+msgid "An orchestral part"
+msgstr ""
+
 #. @top in ../../../Documentation/de/user/lilypond-program.tely
 msgid "GNU LilyPond -- Programmbenutzung"
 msgstr ""
@@ -6453,6 +6640,21 @@ msgstr ""
 msgid "GNU LilyPond -- Das Notationsprogramm"
 msgstr ""
 
+#. @node in ../../../Documentation/de/user/editorial.itely
+#. @unnumberedsubsubsec in ../../../Documentation/de/user/editorial.itely
+msgid "Easy Notation note heads"
+msgstr ""
+
+#. @node in ../../../Documentation/de/user/editorial.itely
+#. @unnumberedsubsubsec in ../../../Documentation/de/user/editorial.itely
+msgid "Special noteheads"
+msgstr ""
+
+#. @node in ../../../Documentation/de/user/piano.itely
+#. @subsection in ../../../Documentation/de/user/piano.itely
+msgid "TODO piano node fix"
+msgstr ""
+
 msgid "Up:"
 msgstr ""
 
index f85c4e553cafc055fad93f432c22ed1f490ec75f..9d4e3e3c2ea615af5ddbac7d239098189d65ad0c 100644 (file)
@@ -1,6 +1,6 @@
 <html>
 <!-- This page is automatically generated by translation-status.py from
-translations.template.html; DO NOT EDIT !-->
+translations.template.html.in; DO NOT EDIT !-->
 <!--
     Translation of GIT committish: FILL-IN-HEAD-COMMITTISH
 
@@ -38,169 +38,16 @@ translations.template.html; DO NOT EDIT !-->
   is finished.
 </p>
 
- <p><i>Last updated Tue Feb 26 15:43:29 UTC 2008
+ <p><i>Last updated Sun Mar 23 17:17:04 UTC 2008
 </i></p>
 <table align="center" border="2">
  <tr align="center">
-  <th>GNU LilyPond --- learning manual</th>  <th>fr</th>
-  <th>de</th>
-  <th>es</th>
- </tr>
- <tr align="left">
-  <td>Section titles<br>(406)</td>
-  <td>John Mandereau<br>
-   Jean-Charles Malahieude<br>
-   <span style="background-color: #1fff1f">translated</span><br>
-   <span style="background-color: #1fff1f">up to date</span><br>
-  </td>
-  <td>Till Rettig<br>
-   <span style="background-color: #1fff1f">translated</span><br>
-   <span style="background-color: #1fff1f">up to date</span><br>
-  </td>
-  <td>Francisco Vila<br>
-   <span style="background-color: #1fff1f">translated</span><br>
-   <span style="background-color: #4efe25">partially up-to-date (93 %)</span><br>
-  </td>
- </tr>
- <tr align="left">
-  <td>Preface<br>(411)</td>
-  <td>Valentin Villenave<br>
-   <small>Ludovic Sardain</small><br>
-   <span style="background-color: #1fff1f">translated</span><br>
-   <span style="background-color: #1fff1f">up to date</span><br>
-  </td>
-  <td>Till Rettig<br>
-   <span style="background-color: #1fff1f">translated</span><br>
-   <span style="background-color: #1fff1f">up to date</span><br>
-  </td>
-  <td>Francisco Vila<br>
-   <span style="background-color: #1fff1f">translated</span><br>
-   <span style="background-color: #1fff1f">up to date</span><br>
-  </td>
- </tr>
- <tr align="left">
-  <td>1 Introduction<br>(3198)</td>
-  <td>Ludovic Sardain<br>
-   John Mandereau<br>
-   <small>Jean-Charles Malahieude<br>
-   Jean-Yves Baudais</small><br>
-   <span style="background-color: #1fff1f">translated</span><br>
-   <span style="background-color: #39ff22">partially up-to-date (96 %)</span><br>
-  </td>
-  <td>Till Rettig<br>
-   <span style="background-color: #1fff1f">translated</span><br>
-   <span style="background-color: #39ff22">partially up-to-date (96 %)</span><br>
-  </td>
-  <td>Francisco Vila<br>
-   <span style="background-color: #1fff1f">translated</span><br>
-   <span style="background-color: #d587ff"></span><br>
-  </td>
- </tr>
- <tr align="left">
-  <td>2 Tutorial<br>(5593)</td>
-  <td>Nicolas Grandclaude<br>
-   Ludovic Sardain<br>
-   Gauvain Pocentek<br>
-   <small>Jean-Charles Malahieude<br>
-   Valentin Villenave<br>
-   John Mandereau</small><br>
-   <span style="background-color: #1fff1f">translated</span><br>
-   <span style="background-color: #ff8f50">partially up-to-date (23 %)</span><br>
-  </td>
-  <td>Till Rettig<br>
-   <span style="background-color: #1fff1f">translated</span><br>
-   <span style="background-color: #40fe23">partially up-to-date (95 %)</span><br>
-  </td>
-  <td>Francisco Vila<br>
-   <span style="background-color: #1fff1f">translated</span><br>
-   <span style="background-color: #1fff1f">up to date</span><br>
-  </td>
- </tr>
- <tr align="left">
-  <td>3 Fundamental concepts<br>(8626)</td>
-  <td>Valentin Villenave<br>
-   <small>Jean-Charles Malahieude<br>
-   John Mandereau</small><br>
-   <span style="background-color: #dfef77">partially translated (39 %)</span><br>
-   <span style="background-color: #a5ff31">partially up-to-date (80 %)</span><br>
-  </td>
-  <td>   <span style="background-color: #d0f0f8">not translated</span><br>
-  </td>
-  <td>   <span style="background-color: #d0f0f8">not translated</span><br>
-  </td>
- </tr>
- <tr align="left">
-  <td>4 Tweaking output<br>(11862)</td>
-  <td>Valentin Villenave<br>
-   Nicolas Klutchnikoff<br>
-   <small>Jean-Charles Malahieude<br>
-   John Mandereau</small><br>
-   <span style="background-color: #dfef77">partially translated (16 %)</span><br>
-   <span style="background-color: #ff6f57">partially up-to-date (9 %)</span><br>
-  </td>
-  <td>Till Rettig<br>
-   <span style="background-color: #dfef77">partially translated (16 %)</span><br>
-   <span style="background-color: #ff6f57">partially up-to-date (9 %)</span><br>
-  </td>
-  <td>Francisco Vila<br>
-   <span style="background-color: #dfef77">partially translated (16 %)</span><br>
-   <span style="background-color: #d587ff"></span><br>
-  </td>
- </tr>
- <tr align="left">
-  <td>5 Working on LilyPond projects<br>(2985)</td>
-  <td>Ludovic Sardain<br>
-   <small>Jean-Yves Baudais<br>
-   Valentin Villenave<br>
-   John Mandereau<br>
-   Jean-Charles Malahieude</small><br>
-   <span style="background-color: #dfef77">partially translated (79 %)</span><br>
-   <span style="background-color: #7dff2b">partially up-to-date (86 %)</span><br>
-  </td>
-  <td>Till Rettig<br>
-   <span style="background-color: #dfef77">partially translated (79 %)</span><br>
-   <span style="background-color: #7dff2b">partially up-to-date (86 %)</span><br>
-  </td>
-  <td>Francisco Vila<br>
-   <span style="background-color: #dfef77">partially translated (79 %)</span><br>
-   <span style="background-color: #1fff1f">up to date</span><br>
-  </td>
- </tr>
- <tr align="left">
-  <td>A Templates<br>(297)</td>
-  <td>   <span style="background-color: #d0f0f8">not translated</span><br>
-  </td>
-  <td>Till Rettig<br>
-   <span style="background-color: #1fff1f">translated</span><br>
-   <span style="background-color: #ff9150">partially up-to-date (24 %)</span><br>
-  </td>
-  <td>Francisco Vila<br>
-   <span style="background-color: #1fff1f">translated</span><br>
-   <span style="background-color: #d587ff"></span><br>
-  </td>
- </tr>
- <tr align="left">
-  <td>B Scheme tutorial<br>(960)</td>
-  <td>   <span style="background-color: #d0f0f8">not translated</span><br>
-  </td>
-  <td>Till Rettig<br>
-   <span style="background-color: #dfef77">partially translated (91 %)</span><br>
-   <span style="background-color: #83fe2c">partially up-to-date (85 %)</span><br>
-  </td>
-  <td>   <span style="background-color: #d0f0f8">not translated</span><br>
-  </td>
- </tr>
-</table>
-<p></p>
-
-<table align="center" border="2">
- <tr align="center">
-  <th>GNU LilyPond --- program usage</th>  <th>fr</th>
+  <th>GNU LilyPond --- The music typesetter</th>  <th>fr</th>
   <th>de</th>
   <th>es</th>
  </tr>
  <tr align="left">
-  <td>Section titles<br>(384)</td>
+  <td>Section titles<br>(539)</td>
   <td>John Mandereau<br>
    Jean-Charles Malahieude<br>
    <span style="background-color: #1fff1f">translated</span><br>
@@ -212,88 +59,7 @@ translations.template.html; DO NOT EDIT !-->
   </td>
   <td>Francisco Vila<br>
    <span style="background-color: #1fff1f">translated</span><br>
-   <span style="background-color: #4efe25">partially up-to-date (93 %)</span><br>
-  </td>
- </tr>
- <tr align="left">
-  <td>1 Install<br>(1477)</td>
-  <td>John Mandereau<br>
-   Jean-Charles Malahieude<br>
-   <span style="background-color: #dfef77">partially translated (11 %)</span><br>
-   <span style="background-color: #39ff22">partially up-to-date (96 %)</span><br>
-  </td>
-  <td>   <span style="background-color: #d0f0f8">not translated</span><br>
-  </td>
-  <td>Francisco Vila<br>
-   <span style="background-color: #dfef77">partially translated (11 %)</span><br>
-   <span style="background-color: #6fff29">partially up-to-date (88 %)</span><br>
-  </td>
- </tr>
- <tr align="left">
-  <td>2 Setup<br>(947)</td>
-  <td>   <span style="background-color: #d0f0f8">not translated</span><br>
-  </td>
-  <td>Till Rettig<br>
-   <span style="background-color: #1fff1f">translated</span><br>
-   <span style="background-color: #39ff22">partially up-to-date (96 %)</span><br>
-  </td>
-  <td>Francisco Vila<br>
-   <span style="background-color: #1fff1f">translated</span><br>
-   <span style="background-color: #d587ff"></span><br>
-  </td>
- </tr>
- <tr align="left">
-  <td>3 Running LilyPond<br>(2860)</td>
-  <td>   <span style="background-color: #d0f0f8">not translated</span><br>
-  </td>
-  <td>   <span style="background-color: #d0f0f8">not translated</span><br>
-  </td>
-  <td>   <span style="background-color: #d0f0f8">not translated</span><br>
-  </td>
- </tr>
- <tr align="left">
-  <td>4 @command{lilypond-book}: Integrating text and music<br>(2840)</td>
-  <td>   <span style="background-color: #d0f0f8">not translated</span><br>
-  </td>
-  <td>   <span style="background-color: #d0f0f8">not translated</span><br>
-  </td>
-  <td>   <span style="background-color: #d0f0f8">not translated</span><br>
-  </td>
- </tr>
- <tr align="left">
-  <td>5 Converting from other formats<br>(975)</td>
-  <td>Jean-Charles Malahieude<br>
-   <span style="background-color: #1fff1f">translated</span><br>
-   <span style="background-color: #1fff1f">up to date</span><br>
-  </td>
-  <td>   <span style="background-color: #d0f0f8">not translated</span><br>
-  </td>
-  <td>   <span style="background-color: #d0f0f8">not translated</span><br>
-  </td>
- </tr>
-</table>
-<p></p>
-
-<table align="center" border="2">
- <tr align="center">
-  <th>GNU LilyPond --- The music typesetter</th>  <th>fr</th>
-  <th>de</th>
-  <th>es</th>
- </tr>
- <tr align="left">
-  <td>Section titles<br>(549)</td>
-  <td>John Mandereau<br>
-   Jean-Charles Malahieude<br>
-   <span style="background-color: #1fff1f">translated</span><br>
-   <span style="background-color: #7dff2b">partially up-to-date (86 %)</span><br>
-  </td>
-  <td>Till Rettig<br>
-   <span style="background-color: #1fff1f">translated</span><br>
-   <span style="background-color: #7dff2b">partially up-to-date (86 %)</span><br>
-  </td>
-  <td>Francisco Vila<br>
-   <span style="background-color: #1fff1f">translated</span><br>
-   <span style="background-color: #39ff22">partially up-to-date (96 %)</span><br>
+   <span style="background-color: #33ff21">partially up to date</span><br>
   </td>
  </tr>
  <tr align="left">
@@ -305,11 +71,11 @@ translations.template.html; DO NOT EDIT !-->
   </td>
   <td>Till Rettig<br>
    <span style="background-color: #1fff1f">translated</span><br>
-   <span style="background-color: #acff31">partially up-to-date (79 %)</span><br>
+   <span style="background-color: #d587ff"></span><br>
   </td>
   <td>Francisco Vila<br>
    <span style="background-color: #1fff1f">translated</span><br>
-   <span style="background-color: #acff31">partially up-to-date (79 %)</span><br>
+   <span style="background-color: #d587ff"></span><br>
   </td>
  </tr>
  <tr align="left">
@@ -318,62 +84,62 @@ translations.template.html; DO NOT EDIT !-->
    <small>Valentin Villenave<br>
    Jean-Charles Malahieude</small><br>
    <span style="background-color: #1fff1f">translated</span><br>
-   <span style="background-color: #ff7855">partially up-to-date (13 %)</span><br>
+   <span style="background-color: #d587ff"></span><br>
   </td>
   <td>Till Rettig<br>
    <span style="background-color: #1fff1f">translated</span><br>
-   <span style="background-color: #ff7855">partially up-to-date (13 %)</span><br>
+   <span style="background-color: #d587ff"></span><br>
   </td>
   <td>Francisco Vila<br>
    <span style="background-color: #1fff1f">translated</span><br>
-   <span style="background-color: #1fff1f">up to date</span><br>
+   <span style="background-color: #25fe1f">partially up to date</span><br>
   </td>
  </tr>
  <tr align="left">
-  <td>1.2 Rhythms<br>(7056)</td>
+  <td>1.2 Rhythms<br>(7336)</td>
   <td>Frédéric Chiasson<br>
    <small>Valentin Villenave<br>
    Jean-Charles Malahieude</small><br>
    <span style="background-color: #1fff1f">translated</span><br>
-   <span style="background-color: #ff9c4e">partially up-to-date (29 %)</span><br>
+   <span style="background-color: #d587ff"></span><br>
   </td>
   <td>Till Rettig<br>
-   <span style="background-color: #dfef77">partially translated (82 %)</span><br>
-   <span style="background-color: #ff9c4e">partially up-to-date (29 %)</span><br>
+   <span style="background-color: #dfef77">partially translated (83 %)</span><br>
+   <span style="background-color: #d587ff"></span><br>
   </td>
   <td>Francisco Vila<br>
-   <span style="background-color: #dfef77">partially translated (87 %)</span><br>
+   <span style="background-color: #dfef77">partially translated (89 %)</span><br>
    <span style="background-color: #1fff1f">up to date</span><br>
   </td>
  </tr>
  <tr align="left">
-  <td>1.3 Expressive marks<br>(1602)</td>
+  <td>1.3 Expressive marks<br>(1681)</td>
   <td>Valentin Villenave<br>
    <small>Jean-Charles Malahieude<br>
    John Mandereau</small><br>
    <span style="background-color: #1fff1f">translated</span><br>
-   <span style="background-color: #ff9c4e">partially up-to-date (29 %)</span><br>
+   <span style="background-color: #d587ff"></span><br>
   </td>
   <td>Till Rettig<br>
    <span style="background-color: #1fff1f">translated</span><br>
-   <span style="background-color: #ff9c4e">partially up-to-date (29 %)</span><br>
+   <span style="background-color: #d587ff"></span><br>
   </td>
   <td>Francisco Vila<br>
    <span style="background-color: #1fff1f">translated</span><br>
-   <span style="background-color: #91ff2e">partially up-to-date (83 %)</span><br>
+   <span style="background-color: #7dff2b">partially up to date</span><br>
   </td>
  </tr>
  <tr align="left">
-  <td>1.4 Repeats<br>(717)</td>
+  <td>1.4 Repeats<br>(725)</td>
   <td>Valentin Villenave<br>
    <small>Jean-Charles Malahieude<br>
    John Mandereau</small><br>
    <span style="background-color: #1fff1f">translated</span><br>
-   <span style="background-color: #ffb549">partially up-to-date (39 %)</span><br>
+   <span style="background-color: #d587ff"></span><br>
   </td>
   <td>Till Rettig<br>
    <span style="background-color: #1fff1f">translated</span><br>
-   <span style="background-color: #ffb549">partially up-to-date (39 %)</span><br>
+   <span style="background-color: #d587ff"></span><br>
   </td>
   <td>Francisco Vila<br>
    <span style="background-color: #1fff1f">translated</span><br>
@@ -387,11 +153,11 @@ translations.template.html; DO NOT EDIT !-->
    <small>Jean-Charles Malahieude<br>
    John Mandereau</small><br>
    <span style="background-color: #1fff1f">translated</span><br>
-   <span style="background-color: #ffb549">partially up-to-date (39 %)</span><br>
+   <span style="background-color: #d587ff"></span><br>
   </td>
   <td>Till Rettig<br>
    <span style="background-color: #dfef77">partially translated (58 %)</span><br>
-   <span style="background-color: #ffb549">partially up-to-date (39 %)</span><br>
+   <span style="background-color: #d587ff"></span><br>
   </td>
   <td>Francisco Vila<br>
    <span style="background-color: #dfef77">partially translated (58 %)</span><br>
@@ -399,16 +165,16 @@ translations.template.html; DO NOT EDIT !-->
   </td>
  </tr>
  <tr align="left">
-  <td>1.6 Staff notation<br>(1637)</td>
+  <td>1.6 Staff notation<br>(1861)</td>
   <td>Valentin Villenave<br>
    Jean-Charles Malahieude<br>
    <small>John Mandereau</small><br>
    <span style="background-color: #1fff1f">translated</span><br>
-   <span style="background-color: #ffba48">partially up-to-date (41 %)</span><br>
+   <span style="background-color: #d587ff"></span><br>
   </td>
   <td>Till Rettig<br>
-   <span style="background-color: #dfef77">partially translated (49 %)</span><br>
-   <span style="background-color: #ffba48">partially up-to-date (41 %)</span><br>
+   <span style="background-color: #dfef77">partially translated (32 %)</span><br>
+   <span style="background-color: #d587ff"></span><br>
   </td>
   <td>Francisco Vila<br>
    <span style="background-color: #1fff1f">translated</span><br>
@@ -416,33 +182,33 @@ translations.template.html; DO NOT EDIT !-->
   </td>
  </tr>
  <tr align="left">
-  <td>1.7 Editorial annotations<br>(866)</td>
+  <td>1.7 Editorial annotations<br>(879)</td>
   <td>Jean-Charles Malahieude<br>
    <span style="background-color: #1fff1f">translated</span><br>
-   <span style="background-color: #ff6f57">partially up-to-date (9 %)</span><br>
+   <span style="background-color: #d587ff"></span><br>
   </td>
   <td>Till Rettig<br>
-   <span style="background-color: #dfef77">partially translated (38 %)</span><br>
-   <span style="background-color: #ff6f57">partially up-to-date (9 %)</span><br>
+   <span style="background-color: #dfef77">partially translated (41 %)</span><br>
+   <span style="background-color: #d587ff"></span><br>
   </td>
   <td>Francisco Vila<br>
-   <span style="background-color: #dfef77">partially translated (95 %)</span><br>
-   <span style="background-color: #1fff1f">up to date</span><br>
+   <span style="background-color: #1fff1f">translated</span><br>
+   <span style="background-color: #c7ff35">partially up to date</span><br>
   </td>
  </tr>
  <tr align="left">
-  <td>1.8 Text<br>(2329)</td>
+  <td>1.8 Text<br>(2336)</td>
   <td>Jean-Charles Malahieude<br>
    <small>Valentin Villenave<br>
    John Mandereau</small><br>
    <span style="background-color: #1fff1f">translated</span><br>
-   <span style="background-color: #ffb549">partially up-to-date (39 %)</span><br>
+   <span style="background-color: #d587ff"></span><br>
   </td>
   <td>   <span style="background-color: #d0f0f8">not translated</span><br>
   </td>
   <td>Francisco Vila<br>
    <span style="background-color: #1fff1f">translated</span><br>
-   <span style="background-color: #1fff1f">up to date</span><br>
+   <span style="background-color: #62ff28">partially up to date</span><br>
   </td>
  </tr>
  <tr align="left">
@@ -454,11 +220,11 @@ translations.template.html; DO NOT EDIT !-->
   </td>
   <td>Till Rettig<br>
    <span style="background-color: #1fff1f">translated</span><br>
-   <span style="background-color: #f6fe3b">partially up-to-date (68 %)</span><br>
+   <span style="background-color: #d587ff"></span><br>
   </td>
   <td>Francisco Vila<br>
    <span style="background-color: #1fff1f">translated</span><br>
-   <span style="background-color: #f6fe3b">partially up-to-date (68 %)</span><br>
+   <span style="background-color: #d587ff"></span><br>
   </td>
  </tr>
  <tr align="left">
@@ -466,12 +232,12 @@ translations.template.html; DO NOT EDIT !-->
   <td>Valentin Villenave<br>
    <small>Jean-Charles Malahieude</small><br>
    <span style="background-color: #dfef77">partially translated (89 %)</span><br>
-   <span style="background-color: #68ff28">partially up-to-date (89 %)</span><br>
+   <span style="background-color: #d587ff"></span><br>
   </td>
   <td>   <span style="background-color: #d0f0f8">not translated</span><br>
   </td>
   <td>Francisco Vila<br>
-   <span style="background-color: #dfef77">partially translated (89 %)</span><br>
+   <span style="background-color: #1fff1f">translated</span><br>
    <span style="background-color: #1fff1f">up to date</span><br>
   </td>
  </tr>
@@ -481,11 +247,11 @@ translations.template.html; DO NOT EDIT !-->
    <small>Jean-Charles Malahieude<br>
    John Mandereau</small><br>
    <span style="background-color: #dfef77">partially translated (56 %)</span><br>
-   <span style="background-color: #76fe2a">partially up-to-date (87 %)</span><br>
+   <span style="background-color: #d587ff"></span><br>
   </td>
   <td>Till Rettig<br>
    <span style="background-color: #dfef77">partially translated (56 %)</span><br>
-   <span style="background-color: #76fe2a">partially up-to-date (87 %)</span><br>
+   <span style="background-color: #d587ff"></span><br>
   </td>
   <td>Francisco Vila<br>
    <span style="background-color: #dfef77">partially translated (56 %)</span><br>
@@ -498,11 +264,11 @@ translations.template.html; DO NOT EDIT !-->
    <small>Jean-Charles Malahieude<br>
    John Mandereau</small><br>
    <span style="background-color: #1fff1f">translated</span><br>
-   <span style="background-color: #68ff28">partially up-to-date (89 %)</span><br>
+   <span style="background-color: #d587ff"></span><br>
   </td>
   <td>Till Rettig<br>
    <span style="background-color: #1fff1f">translated</span><br>
-   <span style="background-color: #68ff28">partially up-to-date (89 %)</span><br>
+   <span style="background-color: #d587ff"></span><br>
   </td>
   <td>Francisco Vila<br>
    <span style="background-color: #1fff1f">translated</span><br>
@@ -515,11 +281,11 @@ translations.template.html; DO NOT EDIT !-->
    <small>Jean-Charles Malahieude<br>
    John Mandereau</small><br>
    <span style="background-color: #1fff1f">translated</span><br>
-   <span style="background-color: #54ff26">partially up-to-date (92 %)</span><br>
+   <span style="background-color: #d587ff"></span><br>
   </td>
   <td>Till Rettig<br>
    <span style="background-color: #1fff1f">translated</span><br>
-   <span style="background-color: #54ff26">partially up-to-date (92 %)</span><br>
+   <span style="background-color: #d587ff"></span><br>
   </td>
   <td>Francisco Vila<br>
    <span style="background-color: #1fff1f">translated</span><br>
@@ -532,11 +298,11 @@ translations.template.html; DO NOT EDIT !-->
    <small>Jean-Charles Malahieude<br>
    John Mandereau</small><br>
    <span style="background-color: #1fff1f">translated</span><br>
-   <span style="background-color: #5bff27">partially up-to-date (91 %)</span><br>
+   <span style="background-color: #d587ff"></span><br>
   </td>
   <td>Till Rettig<br>
    <span style="background-color: #1fff1f">translated</span><br>
-   <span style="background-color: #5bff27">partially up-to-date (91 %)</span><br>
+   <span style="background-color: #d587ff"></span><br>
   </td>
   <td>Francisco Vila<br>
    <span style="background-color: #1fff1f">translated</span><br>
@@ -549,15 +315,15 @@ translations.template.html; DO NOT EDIT !-->
    <small>Jean-Charles Malahieude<br>
    John Mandereau</small><br>
    <span style="background-color: #1fff1f">translated</span><br>
-   <span style="background-color: #ffef3f">partially up-to-date (61 %)</span><br>
+   <span style="background-color: #d587ff"></span><br>
   </td>
   <td>Till Rettig<br>
    <span style="background-color: #1fff1f">translated</span><br>
-   <span style="background-color: #ffef3f">partially up-to-date (61 %)</span><br>
+   <span style="background-color: #d587ff"></span><br>
   </td>
   <td>Francisco Vila<br>
    <span style="background-color: #1fff1f">translated</span><br>
-   <span style="background-color: #ffef3f">partially up-to-date (61 %)</span><br>
+   <span style="background-color: #1fff1f">up to date</span><br>
   </td>
  </tr>
  <tr align="left">
@@ -566,15 +332,15 @@ translations.template.html; DO NOT EDIT !-->
    <small>Jean-Charles Malahieude<br>
    John Mandereau</small><br>
    <span style="background-color: #1fff1f">translated</span><br>
-   <span style="background-color: #a5ff31">partially up-to-date (80 %)</span><br>
+   <span style="background-color: #d587ff"></span><br>
   </td>
   <td>Till Rettig<br>
    <span style="background-color: #dfef77">partially translated (94 %)</span><br>
-   <span style="background-color: #a5ff31">partially up-to-date (80 %)</span><br>
+   <span style="background-color: #d587ff"></span><br>
   </td>
   <td>Francisco Vila<br>
    <span style="background-color: #1fff1f">translated</span><br>
-   <span style="background-color: #a5ff31">partially up-to-date (80 %)</span><br>
+   <span style="background-color: #1fff1f">up to date</span><br>
   </td>
  </tr>
  <tr align="left">
@@ -583,11 +349,11 @@ translations.template.html; DO NOT EDIT !-->
    <small>Jean-Charles Malahieude<br>
    John Mandereau</small><br>
    <span style="background-color: #dfef77">partially translated (88 %)</span><br>
-   <span style="background-color: #47ff24">partially up-to-date (94 %)</span><br>
+   <span style="background-color: #d587ff"></span><br>
   </td>
   <td>Till Rettig<br>
    <span style="background-color: #dfef77">partially translated (88 %)</span><br>
-   <span style="background-color: #47ff24">partially up-to-date (94 %)</span><br>
+   <span style="background-color: #d587ff"></span><br>
   </td>
   <td>Francisco Vila<br>
    <span style="background-color: #dfef77">partially translated (88 %)</span><br>
@@ -595,10 +361,10 @@ translations.template.html; DO NOT EDIT !-->
   </td>
  </tr>
  <tr align="left">
-  <td>3 Input syntax<br>(2448)</td>
+  <td>3 Input syntax<br>(2458)</td>
   <td>Jean-Charles Malahieude<br>
    <span style="background-color: #dfef77">partially translated (7 %)</span><br>
-   <span style="background-color: #25fe1f">partially up-to-date (99 %)</span><br>
+   <span style="background-color: #25fe1f">partially up to date</span><br>
   </td>
   <td>   <span style="background-color: #d0f0f8">not translated</span><br>
   </td>
@@ -615,7 +381,7 @@ translations.template.html; DO NOT EDIT !-->
   <td>   <span style="background-color: #d0f0f8">not translated</span><br>
   </td>
   <td>Francisco Vila<br>
-   <span style="background-color: #dfef77">partially translated (3 %)</span><br>
+   <span style="background-color: #1fff1f">translated</span><br>
    <span style="background-color: #1fff1f">up to date</span><br>
   </td>
  </tr>
@@ -629,16 +395,16 @@ translations.template.html; DO NOT EDIT !-->
   </td>
  </tr>
  <tr align="left">
-  <td>6 Changing defaults<br>(5105)</td>
+  <td>6 Changing defaults<br>(5149)</td>
   <td>Valentin Villenave<br>
    <small>Gilles Thibault</small><br>
-   <span style="background-color: #1fff1f">translated</span><br>
-   <span style="background-color: #b9ff33">partially up-to-date (77 %)</span><br>
+   <span style="background-color: #dfef77">partially translated (99 %)</span><br>
+   <span style="background-color: #b9ff33">partially up to date</span><br>
   </td>
   <td>   <span style="background-color: #d0f0f8">not translated</span><br>
   </td>
   <td>Francisco Vila<br>
-   <span style="background-color: #1fff1f">translated</span><br>
+   <span style="background-color: #dfef77">partially translated (99 %)</span><br>
    <span style="background-color: #1fff1f">up to date</span><br>
   </td>
  </tr>
@@ -669,11 +435,11 @@ translations.template.html; DO NOT EDIT !-->
   <td>Frédéric Chiasson<br>
    Jean-Charles Malahieude<br>
    <span style="background-color: #dfef77">partially translated (13 %)</span><br>
-   <span style="background-color: #4efe25">partially up-to-date (93 %)</span><br>
+   <span style="background-color: #d587ff"></span><br>
   </td>
   <td>Till Rettig<br>
    <span style="background-color: #dfef77">partially translated (84 %)</span><br>
-   <span style="background-color: #62ff28">partially up-to-date (90 %)</span><br>
+   <span style="background-color: #62ff28">partially up to date</span><br>
   </td>
   <td>Francisco Vila<br>
    <span style="background-color: #dfef77">partially translated (97 %)</span><br>
@@ -698,5 +464,239 @@ translations.template.html; DO NOT EDIT !-->
 </table>
 <p></p>
 
+<table align="center" border="2">
+ <tr align="center">
+  <th>GNU LilyPond --- program usage</th>  <th>fr</th>
+  <th>de</th>
+  <th>es</th>
+ </tr>
+ <tr align="left">
+  <td>Section titles<br>(374)</td>
+  <td>John Mandereau<br>
+   Jean-Charles Malahieude<br>
+   <span style="background-color: #1fff1f">translated</span><br>
+   <span style="background-color: #1fff1f">up to date</span><br>
+  </td>
+  <td>Till Rettig<br>
+   <span style="background-color: #1fff1f">translated</span><br>
+   <span style="background-color: #5bff27">partially up to date</span><br>
+  </td>
+  <td>Francisco Vila<br>
+   <span style="background-color: #1fff1f">translated</span><br>
+   <span style="background-color: #25fe1f">partially up to date</span><br>
+  </td>
+ </tr>
+ <tr align="left">
+  <td>1 Install<br>(1477)</td>
+  <td>John Mandereau<br>
+   Jean-Charles Malahieude<br>
+   <span style="background-color: #dfef77">partially translated (11 %)</span><br>
+   <span style="background-color: #39ff22">partially up to date</span><br>
+  </td>
+  <td>   <span style="background-color: #d0f0f8">not translated</span><br>
+  </td>
+  <td>Francisco Vila<br>
+   <span style="background-color: #dfef77">partially translated (11 %)</span><br>
+   <span style="background-color: #6fff29">partially up to date</span><br>
+  </td>
+ </tr>
+ <tr align="left">
+  <td>2 Setup<br>(947)</td>
+  <td>   <span style="background-color: #d0f0f8">not translated</span><br>
+  </td>
+  <td>Till Rettig<br>
+   <span style="background-color: #1fff1f">translated</span><br>
+   <span style="background-color: #39ff22">partially up to date</span><br>
+  </td>
+  <td>Francisco Vila<br>
+   <span style="background-color: #1fff1f">translated</span><br>
+   <span style="background-color: #d587ff"></span><br>
+  </td>
+ </tr>
+ <tr align="left">
+  <td>3 Running LilyPond<br>(2860)</td>
+  <td>   <span style="background-color: #d0f0f8">not translated</span><br>
+  </td>
+  <td>   <span style="background-color: #d0f0f8">not translated</span><br>
+  </td>
+  <td>   <span style="background-color: #d0f0f8">not translated</span><br>
+  </td>
+ </tr>
+ <tr align="left">
+  <td>4 @command{lilypond-book}: Integrating text and music<br>(2917)</td>
+  <td>   <span style="background-color: #d0f0f8">not translated</span><br>
+  </td>
+  <td>   <span style="background-color: #d0f0f8">not translated</span><br>
+  </td>
+  <td>   <span style="background-color: #d0f0f8">not translated</span><br>
+  </td>
+ </tr>
+ <tr align="left">
+  <td>5 Converting from other formats<br>(975)</td>
+  <td>Jean-Charles Malahieude<br>
+   <span style="background-color: #1fff1f">translated</span><br>
+   <span style="background-color: #1fff1f">up to date</span><br>
+  </td>
+  <td>   <span style="background-color: #d0f0f8">not translated</span><br>
+  </td>
+  <td>   <span style="background-color: #d0f0f8">not translated</span><br>
+  </td>
+ </tr>
+</table>
+<p></p>
+
+<table align="center" border="2">
+ <tr align="center">
+  <th>GNU LilyPond --- learning manual</th>  <th>fr</th>
+  <th>de</th>
+  <th>es</th>
+ </tr>
+ <tr align="left">
+  <td>Section titles<br>(396)</td>
+  <td>John Mandereau<br>
+   Jean-Charles Malahieude<br>
+   <span style="background-color: #1fff1f">translated</span><br>
+   <span style="background-color: #1fff1f">up to date</span><br>
+  </td>
+  <td>Till Rettig<br>
+   <span style="background-color: #1fff1f">translated</span><br>
+   <span style="background-color: #6fff29">partially up to date</span><br>
+  </td>
+  <td>Francisco Vila<br>
+   <span style="background-color: #1fff1f">translated</span><br>
+   <span style="background-color: #2cff20">partially up to date</span><br>
+  </td>
+ </tr>
+ <tr align="left">
+  <td>Preface<br>(411)</td>
+  <td>Valentin Villenave<br>
+   <small>Ludovic Sardain</small><br>
+   <span style="background-color: #1fff1f">translated</span><br>
+   <span style="background-color: #1fff1f">up to date</span><br>
+  </td>
+  <td>Till Rettig<br>
+   <span style="background-color: #1fff1f">translated</span><br>
+   <span style="background-color: #1fff1f">up to date</span><br>
+  </td>
+  <td>Francisco Vila<br>
+   <span style="background-color: #1fff1f">translated</span><br>
+   <span style="background-color: #1fff1f">up to date</span><br>
+  </td>
+ </tr>
+ <tr align="left">
+  <td>1 Introduction<br>(3198)</td>
+  <td>Ludovic Sardain<br>
+   John Mandereau<br>
+   <small>Jean-Charles Malahieude<br>
+   Jean-Yves Baudais</small><br>
+   <span style="background-color: #1fff1f">translated</span><br>
+   <span style="background-color: #39ff22">partially up to date</span><br>
+  </td>
+  <td>Till Rettig<br>
+   <span style="background-color: #1fff1f">translated</span><br>
+   <span style="background-color: #39ff22">partially up to date</span><br>
+  </td>
+  <td>Francisco Vila<br>
+   <span style="background-color: #1fff1f">translated</span><br>
+   <span style="background-color: #1fff1f">up to date</span><br>
+  </td>
+ </tr>
+ <tr align="left">
+  <td>2 Tutorial<br>(5593)</td>
+  <td>Nicolas Grandclaude<br>
+   Ludovic Sardain<br>
+   Gauvain Pocentek<br>
+   <small>Jean-Charles Malahieude<br>
+   Valentin Villenave<br>
+   John Mandereau</small><br>
+   <span style="background-color: #1fff1f">translated</span><br>
+   <span style="background-color: #ff8f50">partially up to date</span><br>
+  </td>
+  <td>Till Rettig<br>
+   <span style="background-color: #1fff1f">translated</span><br>
+   <span style="background-color: #40fe23">partially up to date</span><br>
+  </td>
+  <td>Francisco Vila<br>
+   <span style="background-color: #1fff1f">translated</span><br>
+   <span style="background-color: #1fff1f">up to date</span><br>
+  </td>
+ </tr>
+ <tr align="left">
+  <td>3 Fundamental concepts<br>(8626)</td>
+  <td>Valentin Villenave<br>
+   <small>Jean-Charles Malahieude<br>
+   John Mandereau</small><br>
+   <span style="background-color: #dfef77">partially translated (39 %)</span><br>
+   <span style="background-color: #a5ff31">partially up to date</span><br>
+  </td>
+  <td>   <span style="background-color: #d0f0f8">not translated</span><br>
+  </td>
+  <td>   <span style="background-color: #dfef77">partially translated (50 %)</span><br>
+  </td>
+ </tr>
+ <tr align="left">
+  <td>4 Tweaking output<br>(12134)</td>
+  <td>Valentin Villenave<br>
+   Nicolas Klutchnikoff<br>
+   <small>Jean-Charles Malahieude<br>
+   John Mandereau</small><br>
+   <span style="background-color: #dfef77">partially translated (18 %)</span><br>
+   <span style="background-color: #ff6f57">partially up to date</span><br>
+  </td>
+  <td>Till Rettig<br>
+   <span style="background-color: #dfef77">partially translated (18 %)</span><br>
+   <span style="background-color: #ff6f57">partially up to date</span><br>
+  </td>
+  <td>Francisco Vila<br>
+   <span style="background-color: #dfef77">partially translated (22 %)</span><br>
+   <span style="background-color: #1fff1f">up to date</span><br>
+  </td>
+ </tr>
+ <tr align="left">
+  <td>5 Working on LilyPond projects<br>(2985)</td>
+  <td>Ludovic Sardain<br>
+   <small>Jean-Yves Baudais<br>
+   Valentin Villenave<br>
+   John Mandereau<br>
+   Jean-Charles Malahieude</small><br>
+   <span style="background-color: #dfef77">partially translated (79 %)</span><br>
+   <span style="background-color: #7dff2b">partially up to date</span><br>
+  </td>
+  <td>Till Rettig<br>
+   <span style="background-color: #dfef77">partially translated (79 %)</span><br>
+   <span style="background-color: #7dff2b">partially up to date</span><br>
+  </td>
+  <td>Francisco Vila<br>
+   <span style="background-color: #dfef77">partially translated (79 %)</span><br>
+   <span style="background-color: #1fff1f">up to date</span><br>
+  </td>
+ </tr>
+ <tr align="left">
+  <td>A Templates<br>(483)</td>
+  <td>   <span style="background-color: #d0f0f8">not translated</span><br>
+  </td>
+  <td>Till Rettig<br>
+   <span style="background-color: #1fff1f">translated</span><br>
+   <span style="background-color: #ff9150">partially up to date</span><br>
+  </td>
+  <td>Francisco Vila<br>
+   <span style="background-color: #1fff1f">translated</span><br>
+   <span style="background-color: #d587ff"></span><br>
+  </td>
+ </tr>
+ <tr align="left">
+  <td>B Scheme tutorial<br>(960)</td>
+  <td>   <span style="background-color: #d0f0f8">not translated</span><br>
+  </td>
+  <td>Till Rettig<br>
+   <span style="background-color: #dfef77">partially translated (91 %)</span><br>
+   <span style="background-color: #83fe2c">partially up to date</span><br>
+  </td>
+  <td>   <span style="background-color: #d0f0f8">not translated</span><br>
+  </td>
+ </tr>
+</table>
+<p></p>
+
 </body>
 </html>
index 33254b0cf508ba599cc823a0c656654bdbcdf954..d0a0667ff32d193f9b7664436d5354952fd5924d 100644 (file)
@@ -123,7 +123,7 @@ Stems are centered on the note heads.  This style is particularly
 useful when transcribing mensural music, e.g., for the incipit.  The
 @code{mensural} style produces note heads that mimic the look of note
 heads in historic printings of the 16th century.  Finally, the
-@code{petrucci} style also mimicks historic printings, but uses bigger
+@code{petrucci} style also mimics historic printings, but uses bigger
 note heads.
 
 The following example demonstrates the @code{neomensural} style
@@ -2085,7 +2085,7 @@ diminished fifths and sevenths can be obtained with @code{5/} and @code{7/}.
 
 Spaces may be inserted by using @code{_}.  Brackets are
 introduced with @code{[} and @code{]}.  You can also include text
-strings and text markups, see @ref{Overview of text markup commands}.
+strings and text markups, see @ref{Text markup commands}.
 
 @example
 < [4 6] 8 [_! 12] > < 5 \markup @{ \number 6 \super (1) @} >
index 6239ab9fc174f19da197265b582ac074c7e35459..aff28a7de46ed9dc48a5d59bf01f5b298a17872b 100644 (file)
@@ -35,7 +35,7 @@ highland bagpipe; to use them, add
 @end example
 
 @noindent
-at the top of your input file.  This lets you add the special gracenotes
+at the top of your input file.  This lets you add the special grace notes
 common to bagpipe music with short commands.  For example, you could
 write @code{\taor} instead of
 
index ef4e30d80fe120415a770d56866e35e41af9b430..0ba3a3607a2f303bd9a1d85965426e795e17a2ff 100644 (file)
@@ -70,6 +70,7 @@ on entering numbers, lists, strings, and symbols in Scheme.}
 @menu
 * Interpretation contexts::     
 * The \override command::       
+* Discussion of specific tweaks::  
 @end menu
 
 
@@ -429,7 +430,7 @@ elements.  For example, the @code{Voice} context contains a
 
 For a full a description of each plug-in, see
 @ifhtml
-@internalsref{Engravers}.
+@internalsref{Engravers and Performers}.
 @end ifhtml
 @ifnothtml
 Internals Reference @expansion{} Translation @expansion{} Engravers.
@@ -492,7 +493,7 @@ The next example shows a practical application.  Bar lines and time
 signatures are normally synchronized across the score.  This is done
 by the @code{Timing_translator} and @code{Default_bar_line_engraver}.
 This plug-in keeps an administration of time signature, location
-within the measure, etc.  By moving thes engraver from @code{Score} to
+within the measure, etc.  By moving these engraver from @code{Score} to
 @code{Staff} context, we can have a score where each staff has its own
 time signature.
 
@@ -869,11 +870,11 @@ Then the output at the start of this subsection can be entered as
 @node Aligning contexts
 @subsection Aligning contexts
 
-New contexts may be aligned above or below exisiting contexts.  This
+New contexts may be aligned above or below existing contexts.  This
 could be useful in setting up a vocal staff (@rlearning{Vocal ensembles}) and
 in ossia,
 
-FIXME: this section doens't work in pdf.  (?)
+FIXME: this section doesn't work in pdf.  (?)
 
 @cindex ossia
 @findex alignAboveContext
@@ -967,7 +968,7 @@ properties.  To tweak those, use commands in the form
 
 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
+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
@@ -1359,7 +1360,7 @@ properties.
 
 Contexts can have properties, which are usually named in
 @code{studlyCaps}.  They mostly control the translation from
-music to notatino, eg. @code{localKeySignature} (for determining
+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;
@@ -1388,7 +1389,7 @@ is more or less equivalent to
 \set @var{context}.@var{name} #'@var{property} = #(cons (cons '@var{property} @var{value}) <previous value of @var{context})
 @end example
 
-The value of @code{context} (the alist) is used to initalize
+The value of @code{context} (the alist) is used to initialize
 the properties of individual grobs.  Grobs also have
 properties, named in Scheme style, with
 @code{dashed-words}.  The values of grob properties change
@@ -1489,3 +1490,181 @@ Note, however, that @code{\override}, applied to
 expected within @code{\context} blocks.
 
 @end itemize
+
+
+
+
+
+
+@node Discussion of specific tweaks
+@section Discussion of specific tweaks
+
+@menu
+* Line styles::                 
+* Controlling visibility of objects::  
+@end menu
+
+@node Line styles
+@subsection Line styles
+
+@c TODO: split the following explanations between expressive marks and
+@c text-related stuff. Perhaps create a new subsection named
+@c "Spanner limits", "Spanner boundaries"? -vv
+
+Some performance indications, e.g., @i{rallentando} and
+@i{accelerando} and @i{trills} are written as text and are
+extended over many measures with lines, sometimes dotted or wavy.
+
+These all use the same routines as the glissando for drawing the
+texts and the lines, and tuning their behavior is therefore also
+done in the same way.  It is done with a spanner, and the routine
+responsible for drawing the spanners is
+@code{ly:line-interface::print}.  This routine determines the
+exact location of the two @i{span points} and draws a line in
+between, in the style requested.
+
+Here is an example of the different line styles available, and how
+to tune them.
+
+@lilypond[relative=2,ragged-right,verbatim,fragment]
+d2 \glissando d'2
+\once \override Glissando #'style = #'dashed-line
+d,2 \glissando d'2
+\override Glissando #'style = #'dotted-line
+d,2 \glissando d'2
+\override Glissando #'style = #'zigzag
+d,2 \glissando d'2
+\override Glissando #'style = #'trill
+d,2 \glissando d'2
+@end lilypond
+
+The information that determines the end-points is computed
+on-the-fly for every graphic object, but it is possible to
+override these. 
+
+@lilypond[relative=2,ragged-right,verbatim,fragment]
+e2 \glissando f
+\once \override Glissando #'bound-details #'right #'Y = #-2
+e2 \glissando f
+@end lilypond
+
+The @code{Glissando} object, like any other using the
+@code{ly:line-interface::print} routine, carries a nested
+association list.  In the above statement, the value for @code{Y}
+is set to @code{-2} for the association list corresponding to the
+right end point.  Of course, it is also possible to adjust the
+left side with @code{left} instead of @code{right}.
+
+If @code{Y} is not set, the value is computed from the vertical
+position of right attachment point of the spanner. 
+
+In case of a line break, the values for the span-points are
+extended with contents of the @code{left-broken} and
+@code{right-broken} sublists, for example
+
+@lilypond[relative=2,ragged-right,verbatim,fragment]
+\override Glissando #'breakable = ##T 
+\override Glissando #'bound-details #'right-broken #'Y = #-3
+c1 \glissando \break
+f1
+@end lilypond
+
+The following properties can be used for the
+
+@table @code
+@item Y
+This sets the Y-coordinate of the end point, in staff space.  By
+default, it is the center of the bound object, so for a glissando
+it points to the vertical center of the note head.
+
+For horizontal spanners, such as text spanner and trill spanners,
+it is hardcoded to 0.
+
+@item attach-dir
+This determines where the line starts and ends in X-direction,
+relative to the bound object.  So, a value of @code{-1} (or
+@code{LEFT}) makes the line start/end at the left side of the note
+head it is attached to.
+
+@item X
+This is the absolute coordinate of the end point.  It is usually
+computed on the fly, and there is little use in overriding it. 
+
+@item stencil
+Line spanners may have symbols at the beginning or end, which is
+contained in this sub-property.  This is for internal use, it is
+recommended to use @code{text}.
+
+@item text
+This is a markup that is evaluated to yield stencil.  It is used
+to put @i{cresc.} and @i{tr} on horizontal spanners.
+
+@lilypond[quote,ragged-right,fragment,relative=2,verbatim]
+\override TextSpanner #'bound-details #'left #'text
+   = \markup { \small \bold Slower }
+c2\startTextSpan b c a\stopTextSpan
+@end lilypond
+
+@item stencil-align-dir-y
+@item stencil-offset
+Without setting this, the stencil is simply put there at the
+end-point, as defined by the @code{X} and @code{Y} sub properties.
+Setting either @code{stencil-align-dir-y} or @code{stencil-offset}
+will move the symbol at the edge relative to the end point of the
+line
+
+@lilypond[relative=1,fragment,verbatim]
+\override TextSpanner #'bound-details
+  #'left #'stencil-align-dir-y = #DOWN
+\override TextSpanner #'bound-details
+  #'right #'stencil-align-dir-y = #UP
+
+\override TextSpanner #'bound-details
+  #'left #'text = #"gggg"
+\override TextSpanner #'bound-details
+  #'right #'text = #"hhhh"
+c4^\startTextSpan c c c \stopTextSpan
+@end lilypond
+
+@item arrow
+Setting this sub property to @code{#t} produce an arrowhead at the
+end of the line.
+
+@item padding
+This sub property controls the space between the specified
+end-point of the line and the actual end.  Without padding, a
+glissando would start and end in the center of each note head.
+
+@end table
+
+FIXME: should this be in NR 3?
+
+The music function \endSpanners terminates spanners and hairpins
+after exactly one note.
+
+@lilypond[verbatim,quote,ragged-right,relative=2,fragment]
+\endSpanners
+c2 \startTextSpan c2
+c2 \< c2
+@end lilypond
+
+When using \endSpanners it is not necessary to close
+\startTextSpan with \stopTextSpan, nor is it necessary to close
+hairpins with \!.
+
+
+
+@seealso
+
+Internals Reference: @internalsref{TextSpanner},
+@internalsref{Glissando}, @internalsref{VoiceFollower},
+@internalsref{TrillSpanner},
+@internalsref{line-spanner-interface}.
+
+
+
+@node Controlling visibility of objects
+@subsection Controlling visibility of objects
+
+stuff about #'break-visibility
+
index 24cf67787bb6e5845e6bda5241e7219737df251f..b14afa68b3d64e0cdd9324c4652ac8bbecee7e12 100644 (file)
@@ -330,7 +330,7 @@ The exceptions list should be encoded as
 @end example
 
 To get this information into @code{chordNameExceptions} takes a little
-manoeuvring.  The following code transforms @code{chExceptionMusic}
+maneuvering.  The following code transforms @code{chExceptionMusic}
 (which is a sequential music) into a list of exceptions.
 @example
 (sequential-music-to-chord-exceptions chExceptionMusic #t)
index 9b293bcaa9abd58b16618292f024bcad335504b7..f038aafdd7a675c6e5d34ab2079d3790345961be 100644 (file)
@@ -16,7 +16,7 @@ There are other tools that produce LilyPond input, for example GUI
 sequencers and XML converters.  Refer to the
 @uref{http://@/lilypond@/.org,website} for more details.
 
-These are separate programs from lilypond itself, and are run
+These are separate programs from @command{lilypond} itself, and are run
 on the command-line; see @ref{Command-line usage} for more information.
 
 
@@ -47,7 +47,7 @@ MIDI (Music Instrument Digital Interface) is a standard for digital
 instruments: it specifies cabling, a serial protocol and a file
 format.  The MIDI file format is a de facto standard format for
 exporting music from other programs, so this capability may come in
-useful when importing files from a program that has a convertor for a
+useful when importing files from a program that has a converter for a
 direct format.
 
 @command{midi2ly} converts tracks into @internalsref{Staff} and
index d76764f57888923ba3708453ae4943b93769fc97..96f2786da8551687663125e7fcc70f60254fc5e8 100644 (file)
@@ -36,45 +36,51 @@ inside the staff.
 @end menu
 
 @node Selecting notation font size
-@subsubsection Selecting notation font size
+@unnumberedsubsubsec Selecting notation font size
 
 @cindex font size
 @cindex font size, selecting
 @cindex selecting font size
 
-The easiest method of setting the font size of any context is by
-setting the @code{fontSize} property.
+The font size of notation elements may be altered.  It does not
+change the size of variable symbols, such as beams or slurs.
 
 @lilypond[quote,fragment,relative=2,verbatim,ragged-right]
-c4
-\set fontSize = #-4
-c f
-\set fontSize = #3
-g8 a
+\huge
+c4.-> d8---3
+\large
+c4.-> d8---3
+\normalsize
+c4.-> d8---3
+\small
+c4.-> d8---3
+\tiny
+c4.-> d8---3
+\normalsize
+c2
 @end lilypond
 
-@noindent
-It does not change the size of variable symbols, such as beams or
-slurs.
-
 @cindex font size scaling
 
-Internally, the @code{fontSize} context property will cause the
-@code{font-size} property to be set in all layout objects.  The
-value of @code{font-size} is a number indicating the size relative
-to the standard size for the current staff height.  Each step up
-is an increase of approximately 12% of the font size.  Six steps
-is exactly a factor two.  The Scheme function @code{magstep}
-converts a @code{font-size} number to a scaling factor.  The
-@code{font-size} property can also be set directly, so that only
-certain layout objects are affected.
+Internally, this sets the @code{fontSize} property.  This in turns
+causes the @code{font-size} property to be set in all layout
+objects.  The value of @code{font-size} is a number indicating the
+size relative to the standard size for the current staff height.
+Each step up is an increase of approximately 12% of the font size.
+Six steps is exactly a factor two.  The Scheme function
+@code{magstep} converts a @code{font-size} number to a scaling
+factor.  The @code{font-size} property can also be set directly,
+so that only certain layout objects are affected.
 
 @lilypond[quote,fragment,relative=2,verbatim,ragged-right]
-c4
+\set fontSize = #3
+c4.-> d8---3
 \override NoteHead #'font-size = #-4
-c f
-\override NoteHead #'font-size = #3
-g8 a
+c4.-> d8---3
+\override Script #'font-size = #2
+c4.-> d8---3
+\override Stem #'font-size = #-5
+c4.-> d8---3
 @end lilypond
 
 @cindex standard font size
@@ -85,30 +91,34 @@ closest to the desired size.  The standard font size (for
 @code{font-size} equals 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 that
-use fonts.  These are the ones supporting the @code{font-interface}
-layout interface.
+The @code{font-size} property can only be set on layout objects
+that use fonts.  These are the ones supporting the
+@code{font-interface} layout interface.
 
 @predefined
 
-The following commands set @code{fontSize} for the current voice:
-
 @funindex \tiny
 @code{\tiny},
 @funindex \small
 @code{\small},
 @funindex \normalsize
-@code{\normalsize}.
+@code{\normalsize},
+@funindex \large
+@code{\large},
+@funindex \huge
+@code{\huge}.
 
 @seealso
 
-Snippets: @lsrdir{Editorial,Editorial-annotations}.
+Snippets:
+@lsrdir{Editorial,Editorial-annotations}.
 
-Internals Reference: @internalsref{font-interface}.
+Internals Reference:
+@internalsref{font-interface}.
 
 
 @node Fingering instructions
-@subsubsection Fingering instructions
+@unnumberedsubsubsec Fingering instructions
 
 @cindex fingering
 @cindex finger change
@@ -116,14 +126,11 @@ Internals Reference: @internalsref{font-interface}.
 Fingering instructions can be entered using
 @var{note}-@var{digit}:
 
-Fingering instructions may be manually placed above or below the
-staff, see @ref{Controlling direction and placement}.
-
 @lilypond[quote,verbatim,ragged-right,fragment,relative=2]
 c4-1 d-2 f-4 e-3
 @end lilypond
 
-Use markup texts for finger changes. 
+Markup texts may be used for finger changes. 
 
 @lilypond[quote,verbatim,ragged-right,fragment,relative=2]
 c4-1 d-2 f-4 c^\markup { \finger "2 - 3" }
@@ -148,36 +155,29 @@ chord by adding them after the pitches.
 < c-1 e-2 g-3 b-5 >2 < d-1 f-2 a-3 c-5 >
 @end lilypond
 
+Fingering instructions may be manually placed above or below the
+staff, see @ref{Controlling direction and placement}.
 
 @snippets
 
-@code{fingeringOrientations} are used to control where the fingering
-numbers are placed.
+@lilypondfile[verbatim,lilyquote,ragged-right,texidoc]
+{controlling-the-placement-of-chord-fingerings.ly}
 
-@lilypond[quote,verbatim,ragged-right,fragment,relative=2]
-\set fingeringOrientations = #'(left)
-<c-1 e-3 a-5 > 4
-\set fingeringOrientations = #'(down)
-<c-1 e-3 a-5 > 
-\set fingeringOrientations = #'(right)
-<c-1 e-3 a-5 > 
-\set fingeringOrientations = #'(up)
-<c-1 e-3 a-5 > 
-\set fingeringOrientations = #'(left down)
-<c-1 e-3 a-5 > 2
-\set fingeringOrientations = #'(up right down)
-<c-1 e-3 a-5 >
-@end lilypond
 
 @seealso
 
-Snippets: @lsrdir{Editorial,Editorial-annotations}.
+Notation Reference:
+@ref{Controlling direction and placement}
 
-Internals Reference: @internalsref{Fingering}.
+Snippets:
+@lsrdir{Editorial,Editorial-annotations}.
+
+Internals Reference:
+@internalsref{Fingering}.
 
 
 @node Hidden notes
-@subsubsection Hidden notes
+@unnumberedsubsubsec Hidden notes
 
 @cindex Hidden notes
 @cindex Invisible notes
@@ -206,11 +206,12 @@ c
 
 @seealso
 
-Snippets: @lsrdir{Editorial,Editorial-annotations}.
+Snippets:
+@lsrdir{Editorial,Editorial-annotations}.
 
 
 @node Coloring objects
-@subsubsection Coloring objects
+@unnumberedsubsubsec Coloring objects
 
 @cindex colored objects
 @cindex colors
@@ -282,10 +283,12 @@ gis4 a
 
 @seealso
 
-Notation Reference: @ref{List of colors}, @ref{Objects connected to
+Notation Reference:
+@ref{List of colors}, @ref{Objects connected to
 the input}.
 
-Snippets: @lsrdir{Editorial,Editorial-annotations}.
+Snippets:
+@lsrdir{Editorial,Editorial-annotations}.
 
 @knownissues
 An x11 color is not necessarily exactly the same shade as a
@@ -301,7 +304,7 @@ Notes in a chord cannot be colored with @code{\override}; use
 
 
 @node Parentheses
-@subsubsection Parentheses
+@unnumberedsubsubsec Parentheses
 
 @cindex ghost notes
 @cindex notes, ghost
@@ -313,6 +316,9 @@ the music event.  This only functions inside chords; to
 parenthesize a single note it must be enclosed with @code{<>} as
 if it is a chord.
 
+FIXME: after 2.11.44 is out,
+@c \parenthesize c4-. \parenthesize r4 \parenthesize <c e g>4->
+
 @lilypond[quote,relative=2,fragment,verbatim,ragged-right]
 c2 < \parenthesize d>
 @end lilypond
@@ -325,11 +331,16 @@ Non-note objects may be parenthesized as well.
 
 @seealso
 
-Snippets: @lsrdir{Editorial,Editorial-annotations}.
+Snippets:
+@lsrdir{Editorial,Editorial-annotations}.
+
+@knownissues
+
+Rests cannot be parenthesized.
 
 
 @node Stems
-@subsubsection Stems
+@unnumberedsubsubsec Stems
 
 @cindex stem
 
@@ -354,19 +365,15 @@ made invisible.
 @cindex stem, down
 @cindex stem, neutral
 
-To change the direction of stems on the center line of the staff, use
-
-@lilypond[quote,ragged-right,fragment,relative=2,verbatim]
-a4 b c b
-\override Stem #'neutral-direction = #up
-a4 b c b
-\override Stem #'neutral-direction = #down
-a4 b c b
-@end lilypond
+@lilypondfile[verbatim,lilyquote,ragged-right,texidoc]
+{default-direction-of-stems-on-the-center-line-of-the-staff.ly}
 
 @seealso
+Notation Reference:
+@ref{Controlling direction and placement}.
 
-Snippets: @lsrdir{Editorial,Editorial-annotations}.
+Snippets:
+@lsrdir{Editorial,Editorial-annotations}.
 
 
 @node Outside the staff
@@ -382,27 +389,26 @@ from outside of the staff.
 @end menu
 
 @node Balloon help
-@subsubsection Balloon help
+@unnumberedsubsubsec Balloon help
 
 Elements of notation can be marked and named with the help of a
 square balloon.  The primary purpose of this feature is to explain
 notation.
 
-The following example demonstrates its use.
-
 @lilypond[quote,verbatim,fragment,ragged-right,relative=2]
 \new Voice \with { \consists "Balloon_engraver" }
 {
-  \time 2/4
   \balloonGrobText #'Stem #'(3 . 4) \markup { "I'm a Stem" }
-  a8
-  <c, g'-\balloonText #'(-2 . -2) \markup { "I'm a note head" } c>4. 
+  a8 
+  \balloonGrobText #'Rest #' (-4 . -4) \markup { "I'm a rest" }
+  r
+  <c, g'-\balloonText #'(-2 . -2) \markup { "I'm a note head" } c>2. 
 }
 @end lilypond
 
 There are two music functions, @code{balloonGrobText} and
-@code{balloonText};  The former is used like \once \override to 
-attach text to any grob, and the latter is used like \tweak
+@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.
 
 @cindex balloon
@@ -410,13 +416,15 @@ typically within chords, to attach text to an individual note.
 
 @seealso
 
-Snippets: @lsrdir{Editorial,Editorial-annotations}.
+Snippets:
+@lsrdir{Editorial,Editorial-annotations}.
 
-Internals Reference: @internalsref{text-balloon-interface}.
+Internals Reference:
+@internalsref{text-balloon-interface}.
 
 
 @node Grid lines
-@subsubsection Grid lines
+@unnumberedsubsubsec Grid lines
 
 Vertical lines can be drawn between staves synchronized with the
 notes.
@@ -425,85 +433,53 @@ notes.
 \layout {
   \context {
     \Staff
-    \consists "Grid_point_engraver" 
     % sets up grids
-    gridInterval = #(ly:make-moment 1 4)
+    \consists "Grid_point_engraver" 
     % this sets the grid interval to 1 quarternote (crotchet)
-  }
+    gridInterval = #(ly:make-moment 1 4)
+      }
 }
 
 \new Score \with {
-  \consists "Grid_line_span_engraver"
-  %% by default this centers grid lines horizontally below and to the 
+  % by default this centers grid lines horizontally below and to the 
   % left side of the notehead, the grid lines extend from 
   % the middle lines of each staff
-}
+  \consists "Grid_line_span_engraver"
+  }
 
 \new ChoirStaff <<
   \new Staff {
-    \stemUp
-    \relative {
-      c'4. d8 e8 f g4
+    \relative c'' {
+      \stemUp
+      c4. d8 e8 f g4
     }
   }
   \new Staff {
-    \stemDown
     \clef bass
     \relative c {
+      \stemDown
       c4  g'  f  e
     }
   }
 >>
 @end lilypond
 
-To change the grid lines use \override.
-
-
-@lilypond[quote,verbatim,ragged-right]
-\layout {
-  \context {
-    \Staff
-    \consists "Grid_point_engraver" 
-    % sets up grids
-       gridInterval = #(ly:make-moment 1 4)
-       % this sets the grid interval to 1 quarternote (crotchet)
-  }
-}
+@snippets
 
-\new Score \with {
-  \consists "Grid_line_span_engraver"
-  \override NoteColumn #'X-offset = #-0.5
-  % this moves them to the right half a staff space
-}
+@lilypondfile[verbatim,lilyquote,ragged-right,texidoc]
+{grid-lines-changing-their-appearance.ly}
 
-\new ChoirStaff <<
-  \new Staff {
-    \stemUp
-    \relative {
-      c'4. d8 e8 f g4
-    }
-  }
-  \new Staff {
-    \override Score.GridLine #'extra-offset = #'( 0.0 . 1.0 )
-    % this moves them up one staff space from the default position
-    \stemDown
-    \clef bass
-    \relative c {
-      c4  g'  f  e
-    }
-  }
->>
-@end lilypond
 
 @seealso
 
-Snippets: @lsrdir{Editorial,Editorial-annotations}.
+Snippets:
+@lsrdir{Editorial,Editorial-annotations}.
 
 
 
 
 @node Analysis brackets
-@subsubsection Analysis brackets
+@unnumberedsubsubsec Analysis brackets
 
 @cindex brackets
 @cindex phrasing brackets
@@ -511,10 +487,21 @@ Snippets: @lsrdir{Editorial,Editorial-annotations}.
 @cindex note grouping bracket
 
 Brackets are used in musical analysis to indicate structure in musical
-pieces.  LilyPond supports a simple form of nested horizontal
-brackets.  To use this, add the @code{Horizontal_bracket_engraver} to
-the @code{Staff} context.  A bracket is started with
-@code{\startGroup} and closed with @code{\stopGroup}.
+pieces.  LilyPond supports a simple form of horizontal brackets.
+
+@lilypond[quote,verbatim,ragged-right]
+\layout {
+  \context {
+    \Staff \consists "Horizontal_bracket_engraver"
+  }
+}
+\relative c'' {
+  c2\startGroup
+  d\stopGroup
+}
+@end lilypond
+
+Analysis brackets may be nested.
 
 @lilypond[quote,verbatim,ragged-right]
 \layout {
@@ -524,16 +511,19 @@ the @code{Staff} context.  A bracket is started with
 }
 \relative c'' {
   c4\startGroup\startGroup
-  c4\stopGroup
-  c4\startGroup
-  c4\stopGroup\stopGroup
+  d4\stopGroup
+  e4\startGroup
+  d4\stopGroup\stopGroup
 }
 @end lilypond
 
 @seealso
 
-Snippets: @lsrdir{Editorial,Editorial-annotations}.
+Snippets:
+@lsrdir{Editorial,Editorial-annotations}.
 
-Internals Reference: @internalsref{HorizontalBracket},
-@internalsref{Horizontal_bracket_engraver}, @internalsref{Staff}.
+Internals Reference:
+@internalsref{HorizontalBracket},
+@internalsref{Horizontal_bracket_engraver},
+@internalsref{Staff}.
 
index 44befce2ab97c8aac13809f6052a29f0e3e35347..b6b1d7e7e43f166907a6585d718544abb4fa62bf 100644 (file)
@@ -24,6 +24,7 @@
 @menu
 * Articulations and ornamentations::  
 * Dynamics::                    
+* New dynamic marks::           
 @end menu
 
 @node Articulations and ornamentations
@@ -342,7 +343,7 @@ To change this behavior, use
 
 Text style dynamic changes (such as @notation{cresc.} and
 @notation{dim.}) are printed with a dashed line showing their
-extent.  To surpress printing this line, use
+extent.  To suppress printing this line, use
 
 @example
 \override DynamicTextSpanner #'dash-period = #-1.0
@@ -364,6 +365,47 @@ Internals Reference: @internalsref{DynamicText},
 handled by @internalsref{DynamicLineSpanner}.
 
 
+@node New dynamic marks
+@subsubsection New dynamic marks
+
+It is possible to print new dynamic marks or text that should be
+aligned with dynamics.  Use @code{make-dynamic-script} to create
+these marks.  Note that the dynamic font only contains the
+characters @code{f,m,p,r,s} and @code{z}.
+
+Some situations (such as dynamic marks) have preset font-related
+properties.  If you are creating text in such situations, it is
+advisable to cancel those properties with @code{normal-text}.  See
+@ref{Text markup commands}, for more details.
+
+@cindex make-dynamic-script
+
+@lilypond[quote,verbatim,ragged-right]
+sfzp = #(make-dynamic-script "sfzp")
+\relative c' {
+  c4 c c\sfzp c
+}
+@end lilypond
+
+@cindex Dynamics, editorial
+@cindex Dynamics, parenthesis
+
+It is also possible to print dynamics in round parenthesis or
+square brackets.  These are often used for adding editorial
+dynamics.
+
+@lilypond[quote,verbatim,ragged-right]
+rndf = \markup{ \center-align {\line { \bold{\italic (}
+  \dynamic f \bold{\italic )} }} }
+boxf = \markup{ \bracket { \dynamic f } }
+{ c'1_\rndf c'1_\boxf }
+@end lilypond
+
+@seealso
+
+Snippets: @lsrdir{Expressive,Expressive-marks}
+
+
 @node Curves
 @subsection Curves
 
index f9f9343f5f4e141663235d1ad910b329aca6ac1f..3428b65175e956b69c105bf48a71f06ec90887e8 100644 (file)
@@ -37,7 +37,7 @@ description of the input format, see @ruser{File structure}.
 @node Introduction to the LilyPond file structure
 @subsection Introduction to the LilyPond file structure
 
-A basic example of a lilypond input file is
+A basic example of a LilyPond input file is
 
 @example
 \version @w{"@version{}"}
@@ -346,7 +346,7 @@ three notes:
 @noindent
 Note that the size of the clef is the same as a clef printed
 following a clef change -- slightly smaller than the clef
-at the begining of the line.  This is usual for clefs printed
+at the beginning of the line.  This is usual for clefs printed
 in the middle of a line.
 
 The ossia section may be placed above the staff
@@ -369,7 +369,7 @@ as follows:
 @end lilypond
 
 This example uses @code{\with}, which will be explained more 
-fully later.  It is a means of modifying the default behaviour
+fully later.  It is a means of modifying the default behavior
 of a single Staff.  Here it says that the new staff should be 
 placed above the staff called @qq{main} instead of the default 
 position which is below.
@@ -568,7 +568,7 @@ separately, like this:
 @end lilypond
 
 
-This example has just two voices, but the same contruct may be
+This example has just two voices, but the same construct may be
 used to encode three or more voices by adding more back-slash
 separators.
 
@@ -671,7 +671,7 @@ command at the start of each voice:
 \relative c' @{ noteE ... @}
 @end example
 
-Let us finally analyse the voices in a more complex piece of 
+Let us finally analyze the voices in a more complex piece of 
 music.  Here are
 the notes from the first two bars of the second of Chopin's
 Deux Nocturnes, Op 32.  This example will be used at later
@@ -872,7 +872,7 @@ markup, ties, slurs, and dynamics:
 
 @lilypond[quote,ragged-right,verbatim]
 \relative c'{
-  % Default behaviour or behaviour after \oneVoice
+  % Default behavior or behavior after \oneVoice
   c d8 ~ d e4 ( f g a ) b-> c
 }
 @end lilypond
@@ -992,7 +992,7 @@ as here:
 @funindex \shiftOnn
 @funindex \shiftOnnn
 
-Closely spaced notes in a chord, or notes occuring at the same
+Closely spaced notes in a chord, or notes occurring at the same
 time in different voices, are arranged in two, occasionally more,
 columns to prevent the note heads overlapping.  These are called
 note columns.  There are separate columns for each voice, and 
@@ -1188,7 +1188,7 @@ Within LilyPond, these rules and bits of information are grouped
 in @emph{Contexts}.  We have already met the 
 @code{Voice} context. 
 Others are the @code{Staff} and @code{Score} contexts.  
-Contexts are hierarchical to reflect the heirarchical nature of 
+Contexts are hierarchical to reflect the hierarchical nature of 
 a musical score.  
 For example: a @code{Staff} context can contain many 
 @code{Voice} contexts, and a @code{Score} context can 
@@ -1227,7 +1227,7 @@ are also alternative staff and voice contexts, and contexts for
 lyrics, percussion, fret boards, figured bass, etc.
 
 The names of all context types are formed from one or more
-words, each word being capitalised and joined immediately to the 
+words, each word being capitalized and joined immediately to the 
 preceding word with no hyphen or underscore, e.g., 
 @code{GregorianTranscriptionStaff}.
 
@@ -1312,7 +1312,7 @@ operation of the engraver or the appearance of those elements
 in the printed score.
    
 Engravers all have compound names formed from words which
-describe their function.  Just the first word is capitalised, 
+describe their function.  Just the first word is capitalized, 
 and the remainder are joined to it with underscores.  Thus
 the @code{Staff_symbol_engraver} is responsible for creating the
 lines of the staff, the @code{Clef_engraver} determines and sets
@@ -1344,7 +1344,7 @@ the name, or vice versa.
 @item Staff_symbol_engraver
   @tab Engraves the five (by default) lines of the staff
 @item Stem_engraver
-  @tab Creates stems and single-stem tremulos
+  @tab Creates stems and single-stem tremolos
 @item Time_signature_engraver
   @tab Creates time signatures
 @end multitable
@@ -1676,7 +1676,7 @@ The examples above show how to remove or add engravers to
 individual contexts.  It is also possible to remove or add 
 engravers to every context of a specific type by placing the
 commands in the appropriate context in a @code{\layout}
-block.  For example, If we wanted to show ambiti for every
+block.  For example, if we wanted to show an ambitus for every
 staff in a four-staff score we could write
 
 @lilypond[quote,verbatim,ragged-right]
@@ -2079,7 +2079,7 @@ stacked one above the other:
       \clef "bass"
       \new Voice = "basses" @{ \global \bassMusic @}
     >>
-    \new Lyrics \lyricsto "basses" @{ bassWords @}   
+    \new Lyrics \lyricsto "basses" @{ \bassWords @}
   >>  % end ChoirStaff
 
   \new PianoStaff <<
index b056670d8888b73bc17ef9f8403f5e6a3b29f635..f53b6630d5c934cab6cd08fbc32ef360fdf14110 100644 (file)
@@ -259,7 +259,7 @@ following example
 There are three different fret-diagram markup interfaces: standard, terse,
 and verbose.  The three interfaces produce equivalent markups, but have
 varying amounts of information in the markup string.  Details about the
-markup interfaces are found at @ref{Overview of text markup commands}.
+markup interfaces are found at @ref{Text markup commands}.
 
 You can set a number of graphical properties according to your preference.
 Details about the property interface to fret diagrams are found at
index 9ad929c4af04164d44322f831cdec95a2bcb30fd..6ad8ecee80a2d5e89e725c1a72595476a5b8f990 100644 (file)
@@ -10,7 +10,7 @@
 @node Input syntax
 @chapter Input syntax
 
-This section deals with general lilypond input syntax issues,
+This section deals with general LilyPond input syntax issues,
 rather than specific notation.
 
 FIXME: don't complain about anything in this chapter.  It's still
@@ -305,7 +305,7 @@ 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 definining the measures that need to be cut out
+This is done by defining the measures that need to be cut out
 separately.  For example, including the following definition
 
 
@@ -331,7 +331,7 @@ 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}.
+For more information on output formats, see @rprogram{Invoking LilyPond}.
 
 @seealso
 
@@ -359,7 +359,7 @@ together the individual instrument files.
 
 The initialization of LilyPond is done in a number of files that are
 included by default when you start the program, normally transparent to the
-user.  Run lilypond --verbose to see a list of paths and files that Lily
+user.  Run @code{lilypond --verbose} to see a list of paths and files that Lily
 finds.
 
 Files placed in directory @file{PATH/TO/share/lilypond/VERSION/ly/} (where
@@ -371,7 +371,7 @@ available to \include from directories in the search path specified as an
 option when invoking @code{lilypond --include=DIR} which adds DIR to the
 search path.
 
-The @code{\include} statement can use full path information, but with the Unix
+The @code{\include} statement can use full path information, but with the UNIX
 convention @code{/} rather than the DOS/Windows @code{\}.  For example,
 if @file{stuff.ly} is located one directory higher than the current working
 directory, use
@@ -527,7 +527,7 @@ sections.
 
 TODO: everything
 
-By default, lilypnod does a pretty jazz'n job of picking
+By default, LilyPond does a pretty jazz'n job of picking
 directions.  But in some cases, it may be desirable to force a
 direction.
 
@@ -672,7 +672,7 @@ 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
-behaviour is associated with each of them, but this may be
+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
@@ -852,5 +852,3 @@ http://lists.gnu.org/archive/html/lilypond-user/2006-11/msg00061.html
 \fretmode ?
 
 
-
-
index 16c9a6950c5c28ea995c5cdba1dca95b7058f0fd..151d08b58f79d9a9ec35b29df1c7a9c60f2d4b41 100644 (file)
@@ -110,7 +110,7 @@ For information on packaging, see @uref{http://lilypond.org/devel}.
 
 @unnumberedsubsubsec Compilation
 
-In addition to the packages needed for running Lilypond (see below), you
+In addition to the packages needed for running LilyPond (see below), you
 need the following extra packages for building.
 
 When installing a binary package FOO, you may need to install the
@@ -177,7 +177,7 @@ or lyrics.
 
 You can view the documentation online at
 @uref{http://lilypond.org/doc/}, but you can also build it locally.
-This process requires a successful compile of lilypond, and some
+This process requires a successful compile of LilyPond, and some
 additional tools and packages
 
 @itemize
@@ -209,7 +209,7 @@ make out=www web-install
 
 It is also possible to build a documentation tree in
 @file{out-www/online-root/}, with special processing, so it can be used
-on a website with content negociation for automatic language selection;
+on a website with content negotiation for automatic language selection;
 this can be achieved by issuing
 
 @example
@@ -274,7 +274,7 @@ make conf=prof install
 @node Building documentation without compiling LilyPond
 @subsection Building documentation without compiling LilyPond
 
-The documentation can be built locally without compiling lilypond from
+The documentation can be built locally without compiling LilyPond from
 scratch.
 
 From a fresh git checkout, do
@@ -304,7 +304,7 @@ export LD_LIBRARY_PATH=/usr/lib
 exec /usr/bin/pngtopnm "$@"
 @end verbatim
 
-On OSX, I use this:
+On MacOS@tie{}X, I use this:
 
 @verbatim
 export DYLD_LIBRARY_PATH=/sw/lib
@@ -317,7 +317,7 @@ writing a script like this:
 
 @verbatim
 ### run from Documentation/user/
-#  possibly required on OSX and/or old texinfo
+#  possibly required on OS X and/or old texinfo
 # ulimit -n 4096
 if [ -e out-www/lilypond.texi ]; then rm out-www/lilypond.* ; fi;
 if [ -e out-www/lilypond-program.texi ]; then rm
@@ -437,7 +437,7 @@ for your hierarchy.)
 
 @unnumberedsubsubsec International fonts
 
-On MacOX, all fonts are installed by default.  However, finding all
+On MacOS@tie{}X, all fonts are installed by default.  However, finding all
 system fonts requires a bit of configuration; see
 @uref{http://lists.gnu.org/archive/html/lilypond-user/2007-03/msg00472.html,
 this post} on the @code{lilypond-user} mailing list.
index c6761089033ce9623a1d49e7c83cd751a981aa55..dbb02ffdd7052009b312115c442f4a25aedb0275 100644 (file)
@@ -721,7 +721,7 @@ users should start here.
 
 @item
 @emph{@ref{Fundamental concepts}},
-explains some general concepts about the lilypond file format.  If
+explains some general concepts about the LilyPond file format.  If
 you are not certain where to place a command, read this chapter!
 
 @item
@@ -961,7 +961,7 @@ initialization and example files.  Throughout this manual, we refer to
 input files relative to the top-directory of the source archive.  For
 example, @file{input/@/lsr/@/dirname/@/bla@/.ly} may refer to the file
 @file{lilypond@/2.x.y/@/input/@/lsr/@/dirname/@/bla@/.ly}.  On binary
-packages for the Unix platform, the documentation and examples can
+packages for the UNIX platform, the documentation and examples can
 typically be found somewhere below
 @file{/usr/@/share/@/doc/@/lilypond/}.  Initialization files, for
 example @file{scm/@/lily@/.scm}, or @file{ly/@/engraver@/-init@/.ly},
@@ -973,7 +973,7 @@ are usually found in the directory @file{/usr/@/share/@/lilypond/}.
 @cindex lilypond-internals
 @cindex internal documentation
 @cindex Scheme
-@cindex extending lilypond
+@cindex extending LilyPond
 @cindex index
 
 Finally, this and all other manuals, are available online both as PDF
index cb796ef2af8bef5713f25c3f4cbc2fb5e6653ee4..86f3b2f4bbc077f1aceed8eaafa025b7d5693c58 100644 (file)
@@ -295,7 +295,7 @@ kpsewhich feta20.tex
 
 Sometimes it is useful to display music elements (such as ties and slurs)
 as if they continued after the end of the fragment.  This can be done by
-breaking the staff and suppressing inclusion of the rest of the lilypond
+breaking the staff and suppressing inclusion of the rest of the LilyPond
 output.
 
 In @LaTeX{}, define @code{\betweenLilyPondSystem} in such a way that
@@ -635,8 +635,8 @@ If @code{verbatim} is used in a @code{lilypondfile} command, it is
 possible to enclose verbatim only a part of the source file.  If the
 source file contain a comment containing @samp{begin verbatim} (without
 quotes), quoting the source in the verbatim block will start after the
-last occurence of such a comment; similarly, quoting the source verbatim
-will stop just before the first occurence of a comment containing
+last occurrence of such a comment; similarly, quoting the source verbatim
+will stop just before the first occurrence of a comment containing
 @samp{end verbatim}, it there is any.  In the following source file
 example, the music will be interpreted in relative mode, but the
 verbatim quote will not show the @code{relative} block, i.e.
@@ -843,7 +843,7 @@ cd out
 @end example
 
 @itemx --left-padding=@var{amount}
-Pad EPS boxes by this much. @var{amount} is measured in milimeters,
+Pad EPS boxes by this much. @var{amount} is measured in millimeters,
 and is 3.0 by default.  This option should be used if the lines of
 music stick out of the right margin.
 
@@ -952,10 +952,10 @@ LilyPond notation can be added to OpenOffice.org with
 To insert LilyPond output in other programs, use @code{lilypond}
 instead of @code{lilypond-book}.  Each example must be created
 individually and added to the document; consult the documentation for
-that program.  Most programs will be able to insert lilypond output in
+that program.  Most programs will be able to insert LilyPond output in
 @file{PNG}, @file{EPS}, or @file{PDF} formats.
 
-To reduce the white space around your lilypond score, use
+To reduce the white space around your LilyPond score, use
 the following options
 
 @example
index 4ef3123bfdbed271a2cd015e2b581f5ef4a555c9..2f236b251a954054aa20c23e6478e30230fd9d58 100644 (file)
@@ -6,15 +6,18 @@
     version that you are working on.  See TRANSLATION for details.
 @end ignore
 
+@c @value{version}
 @macro version
-@value{version}
+2.11.43
 @end macro
 
 @c   ***** Displaying text *****
 
 @c we need this since @q{\} doesn't work with makeinfo 4.8 --
-@c say @q{@value{backslash}} instead
-@set backslash \
+@c say @q{@bs{}} instead
+@macro bs
+\\
+@end macro
 
 @c to get decent quotes in `foo' and ``foo''
 @macro q{TEXT}
 @end macro
 
 @macro warning{TEXT}
+@ifhtml
+@cartouche
+@b{Note:} \TEXT\
+@end cartouche
+@end ifhtml
+@ifnothtml
 @quotation
 @quotation
 @cartouche
@@ -33,6 +42,7 @@
 @end cartouche
 @end quotation
 @end quotation
+@end ifnothtml
 @end macro
 
 @ifnotinfo
 @c usage: @lsr{ancient,Ancient-notation,custodes.ly}
 @macro lsr{SECTION,DIR,TEXT}
 @ifhtml
-@uref{source/input/lsr/snippets/\DIR\.html#\TEXT\,@file{\SECTION\/\TEXT\}}
+@uref{source/input/lsr/lilypond-snippets/\DIR\.html#\TEXT\,@file{\SECTION\/\TEXT\}}
 @end ifhtml
 @ifnothtml
 @file{\SECTION\/\TEXT\}
 @c usage: @lsrdir{ancient,Ancient-notation}
 @macro lsrdir{SECTION,DIR}
 @ifhtml
-@uref{source/input/lsr/snippets/\DIR\.html,\SECTION\}
+@uref{source/input/lsr/lilypond-snippets/\DIR\.html,\SECTION\}
 @end ifhtml
 @ifnothtml
 \DIR\
 
 @macro internalsref{TEXT}
 @vindex \TEXT\
-@ref{\TEXT\,,,lilypond-internals-big-page}
+@ref{\TEXT\,,,lilypond-internals-big-page,Internals Reference}
 @end macro
 
 @macro rglos{TEXT}
 @vindex \TEXT\
-@ref{\TEXT\,,,music-glossary-big-page}
+@ref{\TEXT\,,,music-glossary-big-page,Music Glossary}
 @end macro
 
 @macro rprogram{TEXT}
 @vindex \TEXT\
-@ref{\TEXT\,,,lilypond-program-big-page}
+@ref{\TEXT\,,,lilypond-program-big-page,Application Usage}
 @end macro
 
 @macro ruser{TEXT}
 @vindex \TEXT\
-@ref{\TEXT\,,,lilypond-big-page}
+@ref{\TEXT\,,,lilypond-big-page,Notation Reference}
 @end macro
 
 @macro rlearning{TEXT}
 @vindex \TEXT\
-@ref{\TEXT\,,,lilypond-learning-big-page}
+@ref{\TEXT\,,,lilypond-learning-big-page,Learning Manual}
 @end macro
 
 @macro rlsr{TEXT}
-@ref{\TEXT\,,,lilypond-snippets-big-page}
+@ref{\TEXT\,,,lilypond-snippets-big-page,Snippets}
 @end macro
 
 @end ifset
 
 @macro internalsref{TEXT}
 @vindex \TEXT\
-@ref{\TEXT\,,,lilypond-internals}
+@ref{\TEXT\,,,lilypond-internals,Internals Reference}
 @end macro
 
 @macro rglos{TEXT}
 @vindex \TEXT\
-@ref{\TEXT\,,,music-glossary}
+@ref{\TEXT\,,,music-glossary,Music Glossary}
 @end macro
 
 @macro rprogram{TEXT}
 @vindex \TEXT\
-@ref{\TEXT\,,,lilypond-program}
+@ref{\TEXT\,,,lilypond-program,Application Usage}
 @end macro
 
 @macro ruser{TEXT}
 @vindex \TEXT\
-@ref{\TEXT\,,,lilypond}
+@ref{\TEXT\,,,lilypond,Notation Reference}
 @end macro
 
 @macro rlearning{TEXT}
 @vindex \TEXT\
-@ref{\TEXT\,,,lilypond-learning}
+@ref{\TEXT\,,,lilypond-learning,Learning Manual}
 @end macro
 
 @macro rlsr{TEXT}
-@ref{\TEXT\,,,lilypond-snippets}
+@ref{\TEXT\,,,lilypond-snippets,Snippets}
 @end macro
 
 @end ifclear
 
 @macro internalsref{TEXT}
 @vindex \TEXT\
-@ref{\TEXT\,,,lilypond-internals}
+@ref{\TEXT\,,,lilypond-internals,Internals Reference}
 @end macro
 
 @macro rglos{TEXT}
 @vindex \TEXT\
-@ref{\TEXT\,,,music-glossary}
+@ref{\TEXT\,,,music-glossary,Music Glossary}
 @end macro
 
 @macro rprogram{TEXT}
 @vindex \TEXT\
-@ref{\TEXT\,,,lilypond-program}
+@ref{\TEXT\,,,lilypond-program,Application Usage}
 @end macro
 
 @macro ruser{TEXT}
 @vindex \TEXT\
-@ref{\TEXT\,,,lilypond}
+@ref{\TEXT\,,,lilypond,Notation Reference}
 @end macro
 
 @macro rlearning{TEXT}
 @vindex \TEXT\
-@ref{\TEXT\,,,lilypond-learning}
+@ref{\TEXT\,,,lilypond-learning,Learning Manual}
 @end macro
 
 @macro rlsr{TEXT}
-@ref{\TEXT\,,,lilypond-snippets}
+@ref{\TEXT\,,,lilypond-snippets,Snippets}
 @end macro
 
 @end ifdocbook
 
 @macro internalsref{TEXT}
 @vindex \TEXT\
-@inforef{\TEXT\,,lilypond-internals}
+@inforef{\TEXT\,,lilypond-internals,Internals Reference}
 @end macro
 
 @macro rglos{TEXT}
 @vindex \TEXT\
-@inforef{\TEXT\,,music-glossary}
+@inforef{\TEXT\,,music-glossary,Music Glossary}
 @end macro
 
 @macro rprogram{TEXT}
 @vindex \TEXT\
-@ref{\TEXT\,,,lilypond-program}
+@ref{\TEXT\,,,lilypond-program,Application Usage}
 @end macro
 
 @macro ruser{TEXT}
 @vindex \TEXT\
-@ref{\TEXT\,,,lilypond}
+@ref{\TEXT\,,,lilypond,Notation Reference}
 @end macro
 
 @macro rlearning{TEXT}
 @vindex \TEXT\
-@ref{\TEXT\,,,lilypond-learning}
+@ref{\TEXT\,,,lilypond-learning,Learning Manual}
 @end macro
 
 @macro rlsr{TEXT}
-@ref{\TEXT\,,,lilypond-snippets}
+@ref{\TEXT\,,,lilypond-snippets,Snippets}
 @end macro
 
 @end ifinfo
 
 @macro rglos {TEXT}
 @vindex \TEXT\
-@ref{\TEXT\,,,music-glossary}
+@ref{\TEXT\,,,music-glossary,Music Glossary}
 @end macro
 
 @macro rprogram{TEXT}
-program usage manual, @ref{\TEXT\,,,lilypond-program}
+program usage manual, @ref{\TEXT\,,,lilypond-program,Application Usage}
 @end macro
 
 @macro ruser{TEXT}
-notation reference, @ref{\TEXT\,,,lilypond}
+notation reference, @ref{\TEXT\,,,lilypond,Notation Reference}
 @end macro
 
 @macro rlearning{TEXT}
-learning manual, @ref{\TEXT\,,,lilypond-learning}
+learning manual, @ref{\TEXT\,,,lilypond-learning,Learning Manual}
 @end macro
 
 @macro rlsr{TEXT}
-@ref{\TEXT\,,,lilypond-snippets}
+@ref{\TEXT\,,,lilypond-snippets,Snippets}
 @end macro
 
 @end iftex
index dba389167b315280e496e6be1c4633019f566566..aa072e7e7d77d4fbd260bf2f250f94bbecf56a97 100644 (file)
@@ -339,6 +339,7 @@ Languages in this order.
 * note value::                  
 * octavation::                      
 * octave::                      
+* octave mark::                      
 * octave marking::                      
 * octave sign::                 
 * ornament::                    
@@ -442,6 +443,7 @@ Languages in this order.
 * unison::                      
 * upbeat::                      
 * voice::                       
+* volta::                       
 * weak beat::                   
 * whole note::                  
 * whole rest::                  
@@ -882,7 +884,7 @@ I: intervallo ascendente,
 F: intervalle ascendant,
 D: steigendes Intervall,
 NL: stijgend interval,
-DK:@w{ }stigende interval,
+DK: stigende interval,
 S: stigande intervall,
 FI: nouseva intervalli.
 
@@ -941,7 +943,7 @@ FI: käsinkirjoitettu nuotti.
 
 @itemize
 
-@item A manuscript in the composer's own hand.
+@item A manuscript written in the composer's own hand.
 
 @item Music prepared for photoreproduction by freehand drawing, with
 the aid of a straightedge ruler and T-square only, which attempts to
@@ -1399,14 +1401,13 @@ DK: akkord,
 S: ackord,
 FI: sointu.
 
-Three or more tones sounding simultaneously.  In traditional European
-music the base chord is a @emph{triad} consisting of 2@w{ }thirds. 
-@emph{Major} (major + minor @ref{third}) as well as @emph{minor}
-(minor + major third) chords may be extended with more thirds. 
-Four-tone @emph{seventh chords} and five-tone @emph{ninth} major
-chords are most often used as dominants (@ref{functional harmony}).  A
-special case is chords having no third above the lower notes to define
-their quality as major or minor.  Such chords are denoted open chords
+Three or more tones sounding simultaneously.  In traditional European music the
+base chord is a @emph{triad} consisting of 2@w{ }thirds. @emph{Major} (major +
+minor @ref{third}) as well as @emph{minor} (minor + major third) chords may be
+extended with more thirds. Four-tone @emph{seventh chords} and five-tone
+@emph{ninth} major chords are most often used as dominants (@ref{functional
+harmony}).  A special case is chords having no third above the lower notes to
+define their quality as major or minor: such chords are called @q{open chords}.
 
 @lilypond[fragment,notime,line-width=13.0\cm]
 \set Score.automaticBars = ##f
@@ -1915,24 +1916,42 @@ FI: ?.
 
 @enumerate
 
-@item
-A time signature that additively combines two or more unequal meters, e.g.
-"3/8 + 2/8" instead of "5/8". Sometimes called additive time signatures.
-@c  See
-@c @lsr{Rhythms/compound-time-signatures.ly}.
-
 @item
 A meter that includes a triplet subdivision within the beat: see
 @ref{compound meter}.
 
-@end enumerate
+@item
+A time signature that additively combines two or more unequal meters, e.g.
+"3/8 + 2/8" instead of "5/8".  Sometimes called additive time signatures.
+
+@lilypond[fragment,line-width=13.0\cm]
+#(define (compound-time grob one two three num)
+  (interpret-markup
+   (ly:grob-layout grob)
+   '(((baseline-skip . 2)
+      (word-space . 1.5)
+      (font-family . number)))
+   (markup
+    #:line ( #:column (one) "+" #:column (two num) "+" #:column (three)))))
+
+  \relative c' {
+    \key f \major
+    #(set-time-signature 8 8 '(3 2 3))
+    \override Staff.TimeSignature  #'stencil
+      = #(lambda (grob) (compound-time grob "3" "2" "3" "8"))
+    #(override-auto-beam-setting '(end 1 8 8 8) 3 8)
+    #(override-auto-beam-setting '(end 1 8 8 8) 5 8)
+    \set Staff.beatGrouping = #'(3 2 3)
+
+   c8 d e f4 d8 c bes | c4 g'8 e c f4. \bar "||"
+  }
+@end lilypond
 
-@ref{compound meter}
+@end enumerate
 
 @seealso
 
-@ref{meter}.
-@c @lsr{Rhythms/compound-time-signatures.ly}
+@ref{compound meter}, @ref{meter}.
 
 
 @node concert pitch
@@ -3145,36 +3164,33 @@ Dictionary}.
 @item
 In figured (or thorough) bass to indicate that:
 
-       @itemize
-
-       @item The extended note should be held through a change in
-               harmony, when applied to one figure --OR--
-
-       @item The chord thus represented should be held above a moving
-               bass line, when applied to more than one figure.
+@itemize
 
-       @item These uses were not completely standardized, and some
-               composers used a single extender line to indicate the
-               latter case.
+@item The extended note should be held through a change in harmony, when applied
+to one figure --OR--
+@item The chord thus represented should be held above a moving bass line, when
+applied to more than one figure.
+@item These uses were not completely standardized, and some composers used a
+single extender line to indicate the latter case.
 
-       @end itemize
+@end itemize
 
 @item
-In string music to indicate that all notes in the passage thus
-indicated should be played on the same string.  On the violin, for
-example, a series of notes to be played on the G string would be
-indicated @samp{sul G}, another series to be played on the D string
-would be indicated @samp{sul D}, and so on.
+In string music to indicate that all notes in the passage thus indicated should
+be played on the same string.  On the violin, for example, a series of notes to
+be played on the G string would be indicated @samp{sul G}, another series to be
+played on the D string would be indicated @samp{sul D}, and so on.
 
 @item
-With an octave indication (also called @emph{octavation}, q.v.) to indicate that
-a passage is to be played higher or lower by the given number of octaves.
+With an octave mark to indicate that a passage is to be played higher or lower
+by the given number of octaves.
 
 @end itemize
 
 @seealso
 
-@ref{melisma}, @ref{sul G}, @ref{thorough bass}, @ref{octavation}.
+@ref{melisma}, @ref{sul G}, @ref{thorough bass}, @ref{octave mark}, @ref{octave
+marking}.
 
 
 @node F
@@ -4229,11 +4245,11 @@ S: ?,
 FI: ?.
 
 [From Italian, @q{place}].  Instruction to play the following passage at the
-written pitch.  Cancels octavation (q.v.).
+written pitch.  Cancels octave mark (q.v.).
 
 @seealso
 
-@ref{octavation}.
+@ref{octave mark}, @ref{octave marking}.
 
 
 @node long appoggiatura
@@ -4468,11 +4484,33 @@ DK: ?,
 S: ?,
 FI: ?.
 
-The system of music notation that was first developed in the mid-13th
-century, and which forms the basis of modern musical notation.  From its
-creation by Franco of Cologne until the 15th century,
+A system of duration notation whose principles were first established in the
+mid-13th century, and that (with various changes) remained in use until about
+1600.  As such, it forms the basis of the notation of rhythms in Western musical
+notation.
+
+Franco of Cologne (ca. 1250) is credited with the first systematic explanation
+of the notation's principles, so the notation of this earliest period is called
+@q{Franconian}.  Franco's system made use of three note values -- long, breve,
+and semibreve -- each of which was normally equivalent to three of the next
+lower note value. 
 
-@c TODO: add definition (inc. info on proportional notation)
+Then, in the first half of the 14th century, Philippe de Vitry and Jehan de Murs
+added several note values (the minim, semiminim and fusa) and extended Franco's
+principles to govern the relationship between these values.  They also put the
+duple division of note values on an equal footing with the earlier (preferred)
+triple division.
+
+TODO: continue description of French and Italian black notation, and the
+relationship betwixt them.
+
+@b{White or void mensural notation}
+
+In the 15th century, hollow (or void) notes began to substitute for the earlier
+solid black ones, which were then free to assume the function of red (or
+colored) notes in the earlier notation.  ...
+
+TODO: add to definition (including summary info on proportional notation)
 
 @seealso
 
@@ -4492,79 +4530,74 @@ DK: taktart,
 S: taktart,
 FI: aika-arvo.
 
-The basic pattern of @ref{note value}s and @ref{accent}s that remains
-unaltered throughout a composition or a section of it. Meters can be
-@emph{duple} or @emph{triple} depending on how the beat is grouped in
-the composition (or in sections thereof):
+The pattern of note values and accents in a composition or a section thereof.
+There are a couple ways to classify @q{traditional} meter (i.e. not polymeter):
+by grouping beats and by subdividing the primary beat.
+
+@b{By grouping beats}:
 
 @itemize
 
-@item In duple meters, the beat recurs in groups of two.
+  @item @b{duple}: groups of two.
+  @item @b{triple}: groups of three.
+  @item @b{quadruple}: groups of four.  A special case of duple meter.
+  @item @b{quintuple}: groups of five beats.
+  @item @b{sextuple} meter: groups of six.  A special case of:
 
-@item In triple meters, the beat recurs in groups of three.
+    @itemize
 
-@end itemize
+      @item duple meter, subdivided in three; or
+      @item triple meter, subdivided in two.
 
-Other recurrence patterns are possible:
+    @end itemize
 
-@itemize
+  @item @b{septuple} meter: groups of seven.
+  @item and so on.
 
-@item Quadruple meter: groups of four.  A special case of duple meter.
+@end itemize
 
-@item Quintuple meter: groups of five
+Other than triple meter and its subdivided variants (see below), meters that
+feature odd groupings of beats (e.g. quintuple or septuple meter) are not
+frequently used prior to the 20th Century.
 
-@item Sextuple meter: groups of six.  A special case of:
+@b{By subdividing the primary beat}:
 
 @itemize
-@item Duple meter, subdivided in three (less frequent); or
-@item Triple meter, subdivided in two (more frequent).
-@end itemize
-
-@item Septuple meter: groups of seven.
 
-@item etc.
+  @item simple: groups of two.
 
-@end itemize
+    @itemize
 
-Other than quadruple and sextuple meters, these other recurrence
-patterns were not frequently used prior to the 20th Century.
+      @item duple: 2/2, 2/4, 2/8
+      @item triple: 3/2, 3/4, 3/8
+      @item quadruple: 4/2, 4/4 (also called common time), 4/8
 
-In addition to classification by primary beat grouping, meters can be further
-classified by how the primary beat is subdivided: if in two, the meter is
-@emph{simple}; if in three, the meter is @emph{compound}.
+    @end itemize
 
-@itemize
+  @item compound: groups of three.
 
-@item Simple meter
-
-@itemize
-@item duple: 2/2, 2/4, 2/8
-@item triple: 3/2, 3/4, 3/8
-@item quadruple: 4/2, 4/4 (also called common time), 4/8
-@end itemize
+    @itemize
 
-@item Compound meter
+      @item duple: 6/8
+      @item triple: 9/8
+      @item quadruple: 12/8
 
-@itemize
-@item duple: 6/8
-@item triple: 9/8
-@item quadruple: 12/8
-@end itemize
+    @end itemize       
 
 @end itemize
 
-Time signatures are placed at the beginning of a composition (or
-section) to indicate the meter.  For instance, a piece written in
-simple triple meter with a beat on each quarter note has a time
-signature of 3/4.
+Time signatures are placed at the beginning of a composition (or section) to
+indicate the meter.  For instance, a piece written in simple triple meter with a
+beat on each quarter note is conventionally written with a time signature of
+3/4.  Here are some combinations of the two classifications above:
 
-Simple duple meter:
+Simple duple meter (F.J. Haydn, 1732-1809; or a Croatian folk tune):
 
 @lilypond[fragment,line-width=13.0\cm]
 \relative c'' {
   \time 2/4
-  \key c \major
-  c4. d8 | e4 d | f e | d8 b c4 \bar "||"}
+  \key g \major
+  g8. a16 b8 a | c b a16( fis) g8 | e' d c b | a2 \bar "||"}
 @end lilypond
 
 Simple triple meter:
@@ -4628,9 +4661,13 @@ Compound quadruple meter (P. Yon, 1886-1943):
   \bar "||"}
 @end lilypond
 
+@b{@q{Monometer} vs Polymeter}
+
+TODO: add information from discussion on lilypond-user related to polymeter.
+
 @seealso
 
-@ref{hemiola}, @ref{time signature}
+@ref{accent}, @ref{hemiola}, @ref{note value}, @ref{time signature}
 
 
 @node metronome
@@ -5090,33 +5127,63 @@ dotted notes are also frequently used.
 @node octavation
 @section octavation
 
-ES: a la octava,
-I: all'ottava,
-F: octaviation,
-D: Oktavierung,
-NL: octaveren,
-DK: oktavering,
-S: oktavering,
-FI: oktaavamerkintä.
+@seealso
+
+@ref{octave marking}.
+
 
-The use of a phrase or abbreviation with an extender line or bracket to indicate
-that a passage is to be played in a different octave:
+@node octave
+@section octave
+
+ES: octava,
+I: ottava,
+F: octave,
+D: Oktave,
+NL: octaaf,
+DK: oktav,
+S: oktav,
+FI: oktaavi.
+
+The interval of an octave, sometimes abbreviated @samp{8ve}.
+
+For uses like @emph{all'ottava} or @emph{8va} with an extender line or
+bracket, or @samp{loco} see octave marking.
+
+@seealso
+
+@ref{interval}, @ref{octave marking}.
+
+
+@node octave mark
+@section octave mark
+
+ES: ?,
+I: ?,
+F: ?,
+D: ?,
+NL: ?,
+DK: ?,
+S: ?,
+FI: oktaavamerkki.
+
+The phrase, abbreviation, or other mark used (with or without an extender line
+or bracket) to indicate that the music is to be played in a different octave:
 
 @itemize
 
 @item @samp{15ma}: play two octaves higher
 @item @samp{8va}: play one octave higher
 @item @samp{8vb}: play one octave lower
-@item @samp{8va} written below the passage: same as @samp{8vb}
+@item @samp{8va} (written below the passage): same as @samp{8vb}
 @item @samp{15vb}: play two octaves lower
-@item @samp{15va} written below the passage: same as @samp{15vb}
+@item @samp{15va} (written below the passage): same as @samp{15vb}
 
 @end itemize
 
-Another practice, which may be useful for longer passages, is to indicate the
-different octave with a phrase at the beginning (see below).  When the music
-returns to the written pitch, the octavation is cancelled with the word
-@emph{loco} (q.v.).
+For longer passages, it may be more practical to mark the octave change at the
+beginning with a phrase (see the list below for examples), but without a bracket
+or extender line.  Then, when the music returns to the written pitch, the octave
+change is cancelled with the word @emph{loco} (q.v.).
 
 To parallel the list above:
 
@@ -5129,62 +5196,49 @@ To parallel the list above:
 
 @end itemize
 
-@emph{Quindicesima} can be replaced with @emph{quindecima}, which is Latin.
-
-@seealso
-
-@ref{interval}, @ref{loco}, @ref{octave}.
-
-
-@node octave
-@section octave
-
-ES: octava,
-I: ottava,
-F: octave,
-D: Oktave,
-NL: octaaf,
-DK: oktav,
-S: oktav,
-FI: oktaavi.
+In the phrases above, @emph{quindicesima} is sometimes replaced with
+@emph{quindecima}, which is Latin.
 
-The interval of an octave, sometimes abbreviated @samp{8ve}.
-
-For uses like @emph{all'ottava} or @emph{8va} with an extender line or
-bracket, or @samp{loco} see octavation.
+Finally, the music on an entire staff can be marked to be played in a different
+octave by putting an 8 or 15 above or below the clef at the beginning.  This
+octave mark can be applied to any clef, but it is most frequently used with the
+G and F clefs.
 
 @seealso
 
-@ref{interval}, @ref{octavation}.
+@ref{F clef}, @ref{G clef}, @ref{loco}, @ref{octave marking}.
 
 
 @node octave marking
 @section octave marking
 
+ES: a la octava,
+I: all'ottava,
+F: octaviation,
+D: Oktavierung,
+NL: octaveren,
+DK: oktavering,
+S: oktavering,
+FI: oktaavamerkintä.
+
+The practice of marking music -- an entire staff, a passage, etc. -- to indicate
+that it is to be played in a different octave.  If applied to the clef at the
+beginning of the staff, all music on that staff is to played at the indicated
+octave.
+
+For a list of the specific marks used, see @ref{octave mark}.
+
 @seealso
 
-@ref{octavation}.
+@ref{interval}, @ref{loco}, @ref{octave}, @ref{octave mark}.
 
 
 @node octave sign
 @section octave sign
 
-ES: ?,
-I: ?,
-F: ?,
-D: ?,
-NL: ?,
-DK: ?,
-S: ?,
-FI: ?.
-
-Putting 8 or 15 above or below the clef to indicate that the entire part is
-played in the indicated octave: a clef-wide octavation.  An octave sign can be
-applied to any clef, though it is most frequently used with the G and F clefs.
-
 @seealso
 
-@ref{G clef}, @ref{F clef}.
+@ref{octave mark}.
 
 
 @node ornament
@@ -5420,6 +5474,23 @@ DK: tonehøjde,
 S: tonhöjd,
 FI: sävelkorkeus.
 
+@enumerate
+
+@item The perceived quality of a sound that is primarily a function of its
+fundamental frequency.
+
+@item [FR. ton; DE. Ton; ES. tono] Any point on the continuum of musical pitch.
+
+@item [FR. diapason; DE. Kammerton, Stimmung; ES. diapasón] The standardized
+association of a particular frequency with a particular pitch name, e.g., c' =
+256 Hz.
+
+@end enumerate
+
+@seealso
+
+@ref{Pitch names}.
+
 
 @node pizzicato
 @section pizzicato
@@ -5433,8 +5504,8 @@ DK: pizzicato,
 S: pizzicato,
 FI: pizzicato, näppäillen.
 
-Abbr. @emph{pizz}. Play by plucking the strings. (Technique for
-stringed instruments.)
+A technique for stringed instruments, abbr. @emph{pizz}.  To play by plucking
+the strings.
 
 
 @node polymeter
@@ -5474,8 +5545,7 @@ DK: ?,
 S: ?,
 FI: ?.
 
-Using two or more metric frameworks simultaneously or in regular
-alternation
+Using two or more metric frameworks simultaneously or in alternation.
 
 @seealso
 
@@ -5494,7 +5564,7 @@ DK: ?,
 S: ?,
 FI: ?.
 
-Time signature indicating regularly alternating polymetric time.
+A time signature that indicates regularly alternating polymetric time.
 
 @seealso
 
@@ -5555,10 +5625,10 @@ DK: ?,
 S: ?,
 FI: ?.
 
-[From Latin @emph{proportio}]  In mensural notation, a ratio that
-expresses the relationship between the note values that follow with
-those that precede; or between the note values of a passage and an
-assumed @q{normal} relationship of note values to the metrical pulse.
+[From Latin @emph{proportio}]  In mensural notation, a ratio that expresses the
+relationship between the note values that follow with those that precede; or
+between the note values of a passage and the @q{normal} relationship of note
+values to the metrical pulse.
 
 @c TODO: add an example or two.  O => 4/3, and its modern equivalent
 
@@ -7139,14 +7209,46 @@ FI: ääni, lauluääni.
 
 @itemize
 
-@item Human voices: @ref{soprano}, @ref{mezzo-soprano}, @ref{contralto},
-@ref{tenor}, @ref{baritone}, @ref{bass}.
+@item Human voices:
+
+@itemize
+
+@item @ref{soprano}
+
+@item @ref{mezzo-soprano}
+
+@item @ref{contralto}
+
+@item @ref{tenor}
+
+@item @ref{baritone}
+
+@item @ref{bass}
+
+@end itemize
 
 @item A melodic layer or part of a polyphonic composition.
 
 @end itemize
 
 
+@node volta
+@section volta
+
+ES: ?,
+I: volta,
+F: ?,
+D: ?,
+NL: ?,
+DK: ?,
+S: ?,
+FI: ?.
+
+[From Italian, @q{time} (instance, not duration)].  An ending, such as a first
+or second ending.  LilyPond extends this idea to any number, and allows any text
+(not just a number) -- to serve as the @q{volta} text.
+
+
 @node weak beat
 @section weak beat
 
@@ -7248,58 +7350,47 @@ saxophone, and bassoon.
 
 @multitable @columnfractions .12 .22 .22 .22 .22
 
-@headitem lang.
-  @tab note name
+@headitem Lang. @tab note name
   @tab rest name
   @tab note name
   @tab rest name
-@item @strong{US}
-  @tab long
+@item @strong{US} @tab long
   @tab long rest
   @tab breve
   @tab breve rest
-@item @strong{UK}
-  @tab longa
+@item @strong{UK} @tab longa
   @tab longa rest
   @tab breve
   @tab breve rest
-@item @strong{ES}
-  @tab longa
+@item @strong{ES} @tab longa
   @tab silencio de longa
   @tab cuadrada
   @tab silencio de cuadrada
-@item @strong{IT}
-  @tab longa
+@item @strong{IT} @tab longa
   @tab pausa di longa
   @tab breve
   @tab pausa di breve
-@item @strong{FR}
-  @tab longa
+@item @strong{FR} @tab longa
   @tab quadruple-pause
   @tab brève
   @tab double-pause
-@item @strong{DE}
-  @tab Longa
+@item @strong{DE} @tab Longa
   @tab longa Pause
   @tab Brevis
   @tab brevis Pause
-@item @strong{NL}
-  @tab longa
+@item @strong{NL} @tab longa
   @tab longa rust
   @tab brevis
   @tab brevis rust
-@item @strong{DK}
-  @tab longa
+@item @strong{DK} @tab longa
   @tab longanodespause
   @tab brevis
   @tab brevis(nodes)pause
-@item @strong{SE}
-  @tab longa
+@item @strong{SE} @tab longa
   @tab longapaus
   @tab brevis
   @tab brevispaus
-@item @strong{FI}
-  @tab longa-nuotti
+@item @strong{FI} @tab longa-nuotti
   @tab longa-tauko
   @tab brevis-nuotti, kaksoiskokonuotti
   @tab brevis-tauko, kaksoiskokotauko
@@ -7308,58 +7399,47 @@ saxophone, and bassoon.
 
 @multitable @columnfractions .12 .22 .22 .22 .22
 
-@headitem lang.
-  @tab note name
+@headitem Lang. @tab note name
   @tab rest name
   @tab note name
   @tab rest name
-@item @strong{US}
-  @tab whole note
+@item @strong{US} @tab whole note
   @tab whole rest
   @tab half note
   @tab half rest
-@item @strong{UK}
-  @tab semibreve
+@item @strong{UK} @tab semibreve
   @tab semibreve rest
   @tab minim
   @tab minim rest
-@item @strong{ES}
-  @tab redonda
+@item @strong{ES} @tab redonda
   @tab silencio de redonda
   @tab blanca
   @tab silencio de blanca
-@item @strong{IT}
-  @tab semibreve
+@item @strong{IT} @tab semibreve
   @tab pause di semibreve
   @tab minima
   @tab pausa di minima
-@item @strong{FR}
-  @tab ronde
+@item @strong{FR} @tab ronde
   @tab pause
   @tab blanche
   @tab demi-pause
-@item @strong{DE}
-  @tab ganze Note
+@item @strong{DE} @tab ganze Note
   @tab ganze Pause
   @tab halbe Note
   @tab halbe Pause
-@item @strong{NL}
-  @tab hele noot
+@item @strong{NL} @tab hele noot
   @tab hele rust
   @tab halve noot
   @tab halve rust
-@item @strong{DK}
-  @tab helnode
+@item @strong{DK} @tab helnode
   @tab helnodespause
   @tab halvnode
   @tab halvnodespause
-@item @strong{SE}
-  @tab helnot
+@item @strong{SE} @tab helnot
   @tab helpaus
   @tab halvnot
   @tab halvpaus
-@item @strong{FI}
-  @tab kokonuotti
+@item @strong{FI} @tab kokonuotti
   @tab kokotauko
   @tab puolinuotti
   @tab puolitauko
@@ -7368,58 +7448,47 @@ saxophone, and bassoon.
 
 @multitable @columnfractions .12 .22 .22 .22 .22
 
-@headitem lang.
-  @tab note name
+@headitem Lang. @tab note name
   @tab rest name
   @tab note name
   @tab rest name
-@item @strong{US}
-  @tab quarter note
+@item @strong{US} @tab quarter note
   @tab quarter rest
   @tab eighth note
   @tab eighth rest
-@item @strong{UK}
-  @tab crotchet
+@item @strong{UK} @tab crotchet
   @tab crotchet rest
   @tab quaver
   @tab quaver rest
-@item @strong{ES}
-  @tab negra
+@item @strong{ES} @tab negra
   @tab silencio de negra
   @tab corchea
   @tab silencio de corchea
-@item @strong{IT}
-  @tab semiminima, nera
+@item @strong{IT} @tab semiminima, nera
   @tab pausa di semiminima, pausa di nera
   @tab croma
   @tab pausa di croma
-@item @strong{FR}
-  @tab noire
+@item @strong{FR} @tab noire
   @tab soupir*
   @tab croche*
   @tab demi-soupir
-@item @strong{DE}
-  @tab Viertelnote
+@item @strong{DE} @tab Viertelnote
   @tab Viertelpause
   @tab Achtelnote
   @tab Achtelpause
-@item @strong{NL}
-  @tab kwartnoot
+@item @strong{NL} @tab kwartnoot
   @tab kwartrust
   @tab achtste noot
   @tab achtste rust
-@item @strong{DK}
-  @tab fjerdedelsnode
+@item @strong{DK} @tab fjerdedelsnode
   @tab fjerdedelspause
   @tab ottendedelsnode
   @tab ottendedelspause
-@item @strong{SE}
-  @tab fjärdedelsnot
+@item @strong{SE} @tab fjärdedelsnot
   @tab fjärdedelspaus
   @tab åttondelsnot
   @tab åttondelspaus
-@item @strong{FI}
-  @tab neljäsosanuotti
+@item @strong{FI} @tab neljäsosanuotti
   @tab neljäsosatauko
   @tab kahdeksasosanuotti
   @tab kahdeksasosatauko
@@ -7452,48 +7521,37 @@ the lilypond-user discussion list.
 
 @multitable @columnfractions .10 .35 .35 .20
 
-@headitem Lang.
-  @tab Note name
+@headitem Lang. @tab Note name
   @tab Rest name
   @tab Abbr.
-@item @strong{US}
-  @tab sixteenth note
+@item @strong{US} @tab sixteenth note
   @tab sixteenth rest
   @tab 16th note
-@item @strong{UK}
-  @tab semiquaver
+@item @strong{UK} @tab semiquaver
   @tab semiquaver rest
   @tab -
-@item @strong{ES}
-  @tab semicorchea
+@item @strong{ES} @tab semicorchea
   @tab silencio de semicorchea
   @tab -
-@item @strong{IT}
-  @tab semicroma
+@item @strong{IT} @tab semicroma
   @tab pausa di semicroma
   @tab -
-@item @strong{FR}
-  @tab double croche
+@item @strong{FR} @tab double croche
   @tab quart de soupir
   @tab -
-@item @strong{DE}
-  @tab Sechzehntelnote
+@item @strong{DE} @tab Sechzehntelnote
   @tab Sechzehntelpause
   @tab 16tel-Note
-@item @strong{NL}
-  @tab zestiende noot
+@item @strong{NL} @tab zestiende noot
   @tab zestiende rust
   @tab 16e noot
-@item @strong{DK}
-  @tab sekstendedelsnode
+@item @strong{DK} @tab sekstendedelsnode
   @tab sekstendedelspause
   @tab -
-@item @strong{SE}
-  @tab sextondelsnot
+@item @strong{SE} @tab sextondelsnot
   @tab sextondelspaus
   @tab -
-@item @strong{FI}
-  @tab kuudestoistaosanuotti
+@item @strong{FI} @tab kuudestoistaosanuotti
   @tab kuudestoistaosatauko
   @tab 16-osanuotti
 
@@ -7501,48 +7559,37 @@ the lilypond-user discussion list.
 
 @multitable @columnfractions .10 .35 .35 .20
 
-@headitem Lang.
-  @tab Note name
+@headitem Lang. @tab Note name
   @tab Rest name
   @tab Abbr.
-@item @strong{US}
-  @tab thirty-second note
+@item @strong{US} @tab thirty-second note
   @tab thirty-second rest
   @tab 32nd note
-@item @strong{UK}
-  @tab demisemiquaver
+@item @strong{UK} @tab demisemiquaver
   @tab demisemiquaver rest
   @tab -
-@item @strong{ES}
-  @tab fusa
+@item @strong{ES} @tab fusa
   @tab silencio de fusa
   @tab -
-@item @strong{IT}
-  @tab biscroma
+@item @strong{IT} @tab biscroma
   @tab pausa di biscroma
   @tab -
-@item @strong{FR}
-  @tab triple croche
+@item @strong{FR} @tab triple croche
   @tab huitième de soupir
   @tab -
-@item @strong{DE}
-  @tab Zweiunddreißigstelnote
+@item @strong{DE} @tab Zweiunddreißigstelnote
   @tab Zweiunddreißigstelpause
   @tab 32tel-Note
-@item @strong{NL}
-  @tab tweeendertigste noot
+@item @strong{NL} @tab tweeendertigste noot
   @tab tweeendertigste rust
   @tab 32e noot
-@item @strong{DK}
-  @tab toogtredivtedelsnode
+@item @strong{DK} @tab toogtredivtedelsnode
   @tab toogtredivtedelspause
   @tab -
-@item @strong{SE}
-  @tab trettiotvåondelsnot
+@item @strong{SE} @tab trettiotvåondelsnot
   @tab trettiotvåondelspaus
   @tab -
-@item @strong{FI}
-  @tab kolmaskymmeneskahdesosanuotti
+@item @strong{FI} @tab kolmaskymmeneskahdesosanuotti
   @tab kolmaskymmeneskahdesosatauko
   @tab 32-osanuotti
 
@@ -7550,48 +7597,37 @@ the lilypond-user discussion list.
 
 @multitable @columnfractions .10 .35 .35 .20
 
-@headitem Lang.
-  @tab Note name
+@headitem Lang. @tab Note name
   @tab Rest name
   @tab Abbr.
-@item @strong{US}
-  @tab sixty-fourth note
+@item @strong{US} @tab sixty-fourth note
   @tab sixty-fourth rest
   @tab 64th note
-@item @strong{UK}
-  @tab hemidemisemiquaver
+@item @strong{UK} @tab hemidemisemiquaver
   @tab hemidemisemiquaver rest
   @tab -
-@item @strong{ES}
-  @tab semifusa
+@item @strong{ES} @tab semifusa
   @tab silencio de semifusa
   @tab -
-@item @strong{IT}
-  @tab semibiscroma
+@item @strong{IT} @tab semibiscroma
   @tab pausa di semibiscroma
   @tab -
-@item @strong{FR}
-  @tab quadruple croche
+@item @strong{FR} @tab quadruple croche
   @tab seizième de soupir
   @tab -
-@item @strong{DE}
-  @tab Vierundsechzigstelnote
+@item @strong{DE} @tab Vierundsechzigstelnote
   @tab Vierundsechzigstelpause
   @tab 64tel-Note
-@item @strong{NL} 
-  @tab vierenzestigste noot
+@item @strong{NL} @tab vierenzestigste noot
   @tab vierenzestigste rust
   @tab 64e noot
-@item @strong{DK} 
-  @tab fireogtredsindstyvendedelsnode
+@item @strong{DK} @tab fireogtredsindstyvendedelsnode
   @tab fireogtredsindstyvendedelspause
   @tab -
-@item @strong{SE} 
-  @tab sextiofjärdedelsnot
+@item @strong{SE} @tab sextiofjärdedelsnot
   @tab sextiofjärdedelspaus
   @tab -
-@item @strong{FI}
-  @tab kuudeskymmenesneljäsosanuotti
+@item @strong{FI} @tab kuudeskymmenesneljäsosanuotti
   @tab kuudeskymmenesneljäsosatauko
   @tab 64-osanuotti
 
@@ -7599,43 +7635,34 @@ the lilypond-user discussion list.
 
 @multitable @columnfractions .10 .35 .35 .20
 
-@headitem Lang.
-  @tab Note name
+@headitem Lang. @tab Note name
   @tab Rest name
   @tab Abbr.
-@item @strong{US}
-  @tab one-hundred-twenty-eighth note
+@item @strong{US} @tab one-hundred-twenty-eighth note
   @tab one-hundred-twenty-eighth rest
   @tab 128th note
-@item @strong{UK}
-  @tab semihemidemisemiquaver
+@item @strong{UK} @tab semihemidemisemiquaver
   @tab semihemidemisemiquaver rest
   @tab -
-@item @strong{ES}
-  @tab garrapatea  @tab silencio de garrapatea  @tab -
-@item @strong{IT}
-  @tab fusa
+@item @strong{ES} @tab garrapatea
+  @tab silencio de garrapatea
+  @tab -
+@item @strong{IT} @tab fusa
   @tab pausa di fusa
   @tab -
-@item @strong{FR}
-  @tab quintuple croche
+@item @strong{FR} @tab quintuple croche
   @tab trente-deuxième de soupir  @tab -
-@item @strong{DE}
-  @tab Hundertundachtundzwanzigstel  @tab Hundertundachtundzwanzigstel  @tab 128tel-Note
-@item @strong{NL} 
-  @tab honderdachtentwintigste noot
+@item @strong{DE} @tab Hundertundachtundzwanzigstel  @tab Hundertundachtundzwanzigstel  @tab 128tel-Note
+@item @strong{NL} @tab honderdachtentwintigste noot
   @tab honderdachtentwintigste rust
   @tab 128e noot
-@item @strong{DK} 
-  @tab hundredeotteogtyvendedelsnode
+@item @strong{DK} @tab hundredeotteogtyvendedelsnode
   @tab hundredeotteogtyvendedelspause
   @tab -
-@item @strong{SE} 
-  @tab hundratjugoåttondelsnot
+@item @strong{SE} @tab hundratjugoåttondelsnot
   @tab hundratjugoåttondelspaus
   @tab -
-@item @strong{FI}
-  @tab sadaskahdeskymmeneskahdeksasosanuotti
+@item @strong{FI} @tab sadaskahdeskymmeneskahdeksasosanuotti
   @tab sadaskahdeskymmeneskahdeksasosatauko
   @tab 128-osanuotti
 
@@ -7643,41 +7670,30 @@ the lilypond-user discussion list.
 
 @multitable @columnfractions .10 .35 .35 .20
 
-@headitem Lang.
-  @tab Note name
+@headitem Lang. @tab Note name
   @tab Rest name
   @tab Abbr.
-@item @strong{US}
-  @tab two-hundred-fifty-sixth  @tab two-hundred-fifty-sixth  @tab 256th note
-@item @strong{UK}
-  @tab demisemihemidemisemiquaver
+@item @strong{US} @tab two-hundred-fifty-sixth  @tab 256th note
+@item @strong{UK} @tab demisemihemidemisemiquaver
   @tab demisemihemidemisemiquaver rest
   @tab -
-@item @strong{ES} 
-  @tab semigarrapatea  @tab silencio de semigarrapatea  @tab -
-@item @strong{IT}
-  @tab semifusa
+@item @strong{ES} @tab semigarrapatea  @tab silencio de semigarrapatea  @tab -
+@item @strong{IT} @tab semifusa
   @tab pausa di semifusa
   @tab -
-@item @strong{FR} 
-  @tab sextuple croche
+@item @strong{FR} @tab sextuple croche
   @tab soixante-quatrième de soupir  @tab -
-@item @strong{DE} 
-  @tab Zweihundertundsechsundfünfzigstelnote  @tab Zweihundertundsechsundfünfzigstel  @tab 256tel-Note
-@item @strong{NL} 
-  @tab tweehonderdzesenvijftigste noot
+@item @strong{DE} @tab Zweihundertundsechsundfünfzigstelnote  @tab Zweihundertundsechsundfünfzigstel  @tab 256tel-Note
+@item @strong{NL} @tab tweehonderdzesenvijftigste noot
   @tab tweehonderdzesenvijftigste rust
   @tab 256e noot
-@item @strong{DK} 
-  @tab tohundredeseksoghalvtredsendedelsnode
+@item @strong{DK} @tab tohundredeseksoghalvtredsendedelsnode
   @tab tohundredeseksoghalvtredsendedelspause
   @tab -
-@item @strong{SE}
-  @tab tvåhundrafemtiosjättedelsnot
+@item @strong{SE} @tab tvåhundrafemtiosjättedelsnot
   @tab tvåhundrafemtiosjättedelspaus
   @tab -
-@item @strong{FI}
-  @tab kahdessadasviideskymmeneskuudesosanuotti
+@item @strong{FI} @tab kahdessadasviideskymmeneskuudesosanuotti
   @tab kahdessadasviideskymmeneskuudesosatauko
   @tab 256-osanuotti
 
@@ -7700,62 +7716,45 @@ the lilypond-user discussion list.
 @headitem EN
   @tab ES @tab I @tab F @tab D
   @tab NL @tab DK @tab S @tab FI
-@item @strong{c}
-  @tab do @tab do @tab ut @tab C
+@item @strong{c} @tab do @tab do @tab ut @tab C
   @tab c @tab c @tab c @tab c
-@item @strong{c-sharp}
-  @tab do sostenido @tab do diesis @tab ut dièse @tab Cis
+@item @strong{c-sharp} @tab do sostenido @tab do diesis @tab ut dièse @tab Cis
   @tab cis @tab cis @tab ciss @tab cis
-@item @strong{d-flat}
-  @tab re bemol @tab re bemolle @tab ré bémol @tab Des
+@item @strong{d-flat} @tab re bemol @tab re bemolle @tab ré bémol @tab Des
   @tab des @tab des @tab dess @tab des
-@item @strong{d}
-  @tab re @tab re @tab ré @tab D
+@item @strong{d} @tab re @tab re @tab ré @tab D
   @tab d @tab d @tab d @tab d
-@item @strong{d-sharp}
-  @tab re sostenido @tab re diesis @tab re dièse @tab Dis
+@item @strong{d-sharp} @tab re sostenido @tab re diesis @tab re dièse @tab Dis
   @tab dis @tab dis @tab diss @tab dis
-@item @strong{e-flat}
-  @tab mi bemol @tab mi bemolle @tab mi bémol @tab Es
+@item @strong{e-flat} @tab mi bemol @tab mi bemolle @tab mi bémol @tab Es
   @tab es @tab es @tab ess @tab es
-@item @strong{e}
-  @tab mi @tab mi @tab mi @tab E
+@item @strong{e} @tab mi @tab mi @tab mi @tab E
   @tab e @tab e @tab e @tab e
 @item @strong{f-flat} = e
   @tab fa bemol @tab fa bemolle @tab fa bémol @tab Fes
   @tab fes @tab fes @tab fess @tab fes
-@item @strong{f}
-  @tab fa @tab fa @tab fa @tab F
+@item @strong{f} @tab fa @tab fa @tab fa @tab F
   @tab f @tab f @tab f @tab f
 @item @strong{e-sharp} = f
   @tab mi sostenido @tab mi diesis @tab mi dièse @tab Eis
   @tab eis @tab eis @tab eiss @tab eis
-@item @strong{f-sharp}
-  @tab fa sostenido @tab fa diesis @tab fa dièse @tab Fis
+@item @strong{f-sharp} @tab fa sostenido @tab fa diesis @tab fa dièse @tab Fis
   @tab fis @tab fis @tab fiss @tab fis
-@item @strong{g-flat}
-  @tab sol bemol @tab sol bemolle @tab sol bémol @tab Ges
+@item @strong{g-flat} @tab sol bemol @tab sol bemolle @tab sol bémol @tab Ges
   @tab ges @tab ges @tab gess @tab ges
-@item @strong{g}
-  @tab sol @tab sol @tab sol @tab G
+@item @strong{g} @tab sol @tab sol @tab sol @tab G
   @tab g @tab g @tab g @tab g
-@item @strong{g-sharp}
-  @tab sol sostenido @tab sol diesis @tab sol dièse @tab Gis
+@item @strong{g-sharp} @tab sol sostenido @tab sol diesis @tab sol dièse @tab Gis
   @tab gis @tab gis @tab giss @tab gis
-@item @strong{a-flat}
-  @tab la bemol @tab la bemolle @tab la bémol @tab As
+@item @strong{a-flat} @tab la bemol @tab la bemolle @tab la bémol @tab As
   @tab as @tab as @tab ass @tab as
-@item @strong{a}
-  @tab la @tab la @tab la @tab A
+@item @strong{a} @tab la @tab la @tab la @tab A
   @tab a @tab a @tab a @tab a
-@item @strong{a-sharp}
-  @tab la sostenido @tab la diesis @tab la dièse @tab Ais
+@item @strong{a-sharp} @tab la sostenido @tab la diesis @tab la dièse @tab Ais
   @tab ais @tab ais @tab aiss @tab ais
-@item @strong{b-flat}
-  @tab si bemol @tab si bemolle @tab si bémol @tab B
+@item @strong{b-flat} @tab si bemol @tab si bemolle @tab si bémol @tab B
   @tab bes @tab b @tab b @tab b
-@item @strong{b}
-  @tab si @tab si @tab si @tab H
+@item @strong{b} @tab si @tab si @tab si @tab H
   @tab b @tab h @tab h @tab h
 @end multitable
 
index a2c64724c102bada9204032ea686d924b2d69def..db12f12116d2c1cd714410316926b2ba46290f66 100644 (file)
@@ -14,7 +14,7 @@
 @node Non-musical notation
 @chapter Non-musical notation
 
-This section deals with general lilypond issues, rather than
+This section deals with general LilyPond issues, rather than
 specific notation.
 
 @menu
@@ -292,7 +292,7 @@ composer flush right on a single line.
 
 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
-refered to in a markup, to get the number of the page where the marked
+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]
@@ -322,7 +322,7 @@ 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 occured, so the page numbers
+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
@@ -377,14 +377,14 @@ number.  These variables may be changed by the user:
     \fill-line { \null "Table des matières" \null }
     \hspace #1
   }
-  %% use larfer font size
+  %% 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 refered to in
+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
index 3989a3525e764f357bda4a52a7e29635ccfdf8bd..f06babd54b77e218daddcbbe42c94b360a975132 100644 (file)
@@ -16,8 +16,8 @@
 * List of colors::              
 * The Feta font::               
 * Note head styles::            
-* Overview of text markup commands::  
-* Overview of text markup list commands::  
+* Text markup commands::        
+* Text markup list commands::   
 * List of articulations::       
 * All context properties::      
 * Layout properties::           
@@ -110,9 +110,9 @@ darkcyan    darkmagenta    darkyellow
 
 X color names come several variants:
 
-Any name that is spelled as a single word with capitalisation
+Any name that is spelled as a single word with capitalization
 (e.g. @q{LightSlateBlue}) can also be spelled as space separated
-words without capitalisation (e.g. @q{light slate blue}).
+words without capitalization (e.g. @q{light slate blue}).
 
 The word @q{grey} can always be spelled @q{gray} (e.g. @q{DarkSlateGray}).
 
@@ -211,15 +211,15 @@ The following styles may be used for note heads.
 @lilypondfile[noindent]{note-head-style.ly}
 
 
-@node Overview of text markup commands
-@appendixsec Overview of text markup commands
+@node Text markup commands
+@appendixsec Text markup commands
 
 The following commands can all be used inside @code{\markup @{ @}}.
 
 @include markup-commands.tely
 
-@node Overview of text markup list commands
-@appendixsec Overview of text markup list commands
+@node Text markup list commands
+@appendixsec Text markup list commands
 
 The following commands can all be used with @code{\markuplines}.
 
index 9960d83ca746eb22dac2adff68e797cd67a78172..03d19802757048c1627c0b6c12cae94618f69d57 100644 (file)
@@ -50,7 +50,7 @@ A pitch name is specified using lowercase letters@tie{}@code{a}
 through@tie{}@code{g}.  The note names @code{c} to @code{b} are
 engraved in the octave below middle C.
 
-@c NOTE: don't use c' here.
+@c don't use c' here.
 @lilypond[verbatim,quote,ragged-right,fragment]
 \clef bass
 c d e f
@@ -77,9 +77,11 @@ d,, d, d c
 
 @seealso
 
-Music Glossary: @rglos{Pitch names}.
+Music Glossary:
+@rglos{Pitch names}.
 
-Snippets: @lsrdir{Pitches,Pitches}.
+Snippets:
+@lsrdir{Pitches,Pitches}.
 
 
 @node Relative octave entry
@@ -195,11 +197,16 @@ that each interval contains.
 
 @seealso
 
-Music Glossary: @rglos{fifth}, @rglos{interval}, @rglos{Pitch names}.
+Music Glossary:
+@rglos{fifth},
+@rglos{interval},
+@rglos{Pitch names}.
 
-Notation Reference: @ref{Octave checks}.
+Notation Reference:
+@ref{Octave checks}.
 
-Snippets: @lsrdir{Pitches,Pitches}.
+Snippets:
+@lsrdir{Pitches,Pitches}.
 
 
 @funindex \transpose
@@ -213,7 +220,7 @@ The relative conversion will not affect @code{\transpose},
 To use relative mode within transposed music, an additional
 @code{\relative} must be placed inside @code{\transpose}.
 
-@c NOTE: DEPRECATED
+@c DEPRECATED
 If no @var{startpitch} is specified for @code{\relative},
 then@tie{}@code{c'} is assumed.  However, this is a deprecated
 option and may disappear in future versions, so its use is
@@ -228,6 +235,7 @@ discouraged.
 @cindex key signature
 @cindex clef
 
+@c duplicated in Key signature and Accidentals
 @warning{New users are sometimes confused about accidentals and
 key signatures.  In LilyPond, note names are the raw input; key
 signatures and clefs determine how this raw input is displayed.
@@ -315,16 +323,24 @@ cis
 
 @seealso
 
-Music Glossary: @rglos{sharp}, @rglos{flat}, @rglos{double sharp},
-@rglos{double flat}, @rglos{Pitch names}, @rglos{quarter-tone}.
+Music Glossary:
+@rglos{sharp},
+@rglos{flat},
+@rglos{double sharp},
+@rglos{double flat},
+@rglos{Pitch names},
+@rglos{quarter-tone}.
 
-Learning Manual: @rlearning{Accidentals and key signatures}.
+Learning Manual:
+@rlearning{Accidentals and key signatures}.
 
-Notation Reference: @ref{Automatic accidentals},
+Notation Reference:
+@ref{Automatic accidentals},
 @ref{Musica ficta accidentals},
 @ref{Note names in other languages}.
 
-Snippets: @lsrdir{Pitches,Pitches}.
+Snippets:
+@lsrdir{Pitches,Pitches}.
 
 
 @knownissues
@@ -436,9 +452,11 @@ languages, no special names have been defined yet.
 
 @seealso
 
-Music Glossary: @rglos{Pitch names}.
+Music Glossary:
+@rglos{Pitch names}.
 
-Snippets: @lsrdir{Pitches,Pitches}.
+Snippets:
+@lsrdir{Pitches,Pitches}.
 
 
 @node Changing multiple pitches
@@ -513,7 +531,8 @@ check fail, but the second one does not fail.
 
 @seealso
 
-Snippets: @lsrdir{Pitches,Pitches}.
+Snippets:
+@lsrdir{Pitches,Pitches}.
 
 
 @node Transpose
@@ -622,11 +641,14 @@ see @ref{Instrument transpositions}.
 
 @seealso
 
-Notation Reference: @ref{Instrument transpositions}.
+Notation Reference:
+@ref{Instrument transpositions}.
 
-Snippets: @lsrdir{Pitches,Pitches}.
+Snippets:
+@lsrdir{Pitches,Pitches}.
 
-Internals Reference: @internalsref{TransposedMusic}.
+Internals Reference:
+@internalsref{TransposedMusic}.
 
 @funindex \transpose
 @funindex \chordmode
@@ -759,11 +781,14 @@ c2 c
 
 @seealso
 
-Notation Reference: @ref{Ancient clefs}.
+Notation Reference:
+@ref{Ancient clefs}.
 
-Snippets: @lsrdir{Pitches,Pitches}.
+Snippets:
+@lsrdir{Pitches,Pitches}.
 
-Internals Reference: @internalsref{Clef}.
+Internals Reference:
+@internalsref{Clef}.
 
 
 @node Key signature
@@ -772,6 +797,7 @@ Internals Reference: @internalsref{Clef}.
 @cindex key signature
 @funindex \key
 
+@c duplicated in Key signature and Accidentals
 @warning{New users are sometimes confused about accidentals and
 key signatures.  In LilyPond, note names are the raw input; key
 signatures and clefs determine how this raw input is displayed.
@@ -803,7 +829,7 @@ is done with the @code{\key} command:
 Here, @var{mode} should be @code{\major} or @code{\minor} to get a
 key signature of @var{pitch}-major or @var{pitch}-minor,
 respectively.  You may also use the standard mode names, also
-called @q{church modes}: @code{\ionian}, @code{\dorian},
+called @notation{church modes}: @code{\ionian}, @code{\dorian},
 @code{\phrygian}, @code{\lydian}, @code{\mixolydian},
 @code{\aeolian}, and @code{\locrian}.
 
@@ -826,13 +852,18 @@ fis
 
 @seealso
 
-Music Glossary: @rglos{church mode}, @rglos{scordatura}.
+Music Glossary:
+@rglos{church mode},
+@rglos{scordatura}.
 
-Learning Manual: @rlearning{Accidentals and key signatures}.
+Learning Manual:
+@rlearning{Accidentals and key signatures}.
 
-Snippets: @lsrdir{Pitches,Pitches}.
+Snippets:
+@lsrdir{Pitches,Pitches}.
 
-Internals Reference: @internalsref{KeyCancellation},
+Internals Reference:
+@internalsref{KeyCancellation},
 @internalsref{KeySignature}, @internalsref{Key_engraver}.
 
 
@@ -868,11 +899,14 @@ The @code{set-octavation} function also takes -1 (for 8va bassa),
 
 @seealso
 
-Music Glossary: @rglos{octavation}.
+Music Glossary:
+@rglos{octavation}.
 
-Snippets: @lsrdir{Pitches,Pitches}.
+Snippets:
+@lsrdir{Pitches,Pitches}.
 
-Internals Reference: @internalsref{OttavaBracket}.
+Internals Reference:
+@internalsref{OttavaBracket}.
 
 
 
@@ -958,11 +992,15 @@ c2 g
 
 @seealso
 
-Music Glossary: @rglos{concert pitch}, @rglos{transposing instrument}.
+Music Glossary:
+@rglos{concert pitch},
+@rglos{transposing instrument}.
 
-Notation Reference: @ref{Quoting other voices}, @ref{Transpose}.
+Notation Reference:
+@ref{Quoting other voices}, @ref{Transpose}.
 
-Snippets: @lsrdir{Pitches,Pitches}.
+Snippets:
+@lsrdir{Pitches,Pitches}.
 
 
 @node Automatic accidentals
@@ -1068,7 +1106,7 @@ both staves.
 @end example
 
 
-@c NOTE: don't use verbatim in this table.
+@c don't use verbatim in this table.
 @table @code
 @item default
 This is the default typesetting behavior.  It corresponds to
@@ -1668,9 +1706,11 @@ musicB = {
 
 @seealso
 
-Snippets: @lsrdir{Pitches,Pitches}.
+Snippets:
+@lsrdir{Pitches,Pitches}.
 
-Internals Reference: @internalsref{Accidental_engraver},
+Internals Reference:
+@internalsref{Accidental_engraver},
 @internalsref{Accidental}, @internalsref{AccidentalSuggestion},
 @internalsref{AccidentalPlacement}, @internalsref{GrandStaff} and
 @internalsref{PianoStaff}, @internalsref{Staff}.
@@ -1736,11 +1776,14 @@ printed if they are not part of the key signature.
 
 @seealso
 
-Music Glossary: @rglos{ambitus}.
+Music Glossary:
+@rglos{ambitus}.
 
-Snippets: @lsrdir{Pitches,Pitches}.
+Snippets:
+@lsrdir{Pitches,Pitches}.
 
-Internals Reference: @internalsref{Ambitus},
+Internals Reference:
+@internalsref{Ambitus},
 @internalsref{AmbitusLine}, @internalsref{AmbitusNoteHead},
 @internalsref{AmbitusAccidental}, @internalsref{Ambitus_engraver},
 @internalsref{Staff}, @internalsref{Voice}.
@@ -1801,11 +1844,14 @@ To see all note head styles, see @ref{Note head styles}.
 
 @seealso
 
-Snippets: @lsrdir{Pitches,Pitches}.
+Snippets:
+@lsrdir{Pitches,Pitches}.
 
-Notation Reference: @ref{Note head styles}.
+Notation Reference:
+@ref{Note head styles}.
 
-Internals Reference: @internalsref{NoteHead},
+Internals Reference:
+@internalsref{NoteHead},
 @internalsref{LedgerLineSpanner}.
 
 
@@ -1849,11 +1895,14 @@ staff size}.
 
 @seealso
 
-Notation Reference: @ref{Setting the staff size}.
+Notation Reference:
+@ref{Setting the staff size}.
 
-Snippets: @lsrdir{Pitches,Pitches},
+Snippets:
+@lsrdir{Pitches,Pitches},
 
-Internals Reference: @internalsref{NoteHead}.
+Internals Reference:
+@internalsref{NoteHead}.
 
 
 @node Shape note heads
@@ -1887,19 +1936,27 @@ c,8 d4 e8 a2 g1
 Shapes are typeset according to the step in the scale, where
 the base of the scale is determined by the @code{\key} command.
 
+@predefined
+
+@funindex \aikenHeads
+@funindex \sacredHarpHeads
+@code{\aikenHeads}, @code{\sacredHarpHeads}
+
 @snippets
 
 @lilypondfile[verbatim,lilyquote,ragged-right,texidoc]
-{applying-noteheads-styles-depending-on-the-step-of-the-scale.ly}
+{applying-notehead-styles-depending-on-the-step-of-the-scale.ly}
 
 @noindent
 To see all note head styles, see @ref{Note head styles}.
 
 @seealso
 
-Snippets: @lsrdir{Pitches,Pitches}.
+Snippets:
+@lsrdir{Pitches,Pitches}.
 
-Notation Reference: @ref{Note head styles}.
+Notation Reference:
+@ref{Note head styles}.
 
 
 @node Improvisation
@@ -1938,9 +1995,11 @@ rhythm.  Such note heads can be created:
 
 @seealso
 
-Snippets: @lsrdir{Pitches,Pitches}.
+Snippets:
+@lsrdir{Pitches,Pitches}.
 
-Internals Reference: @internalsref{Pitch_squash_engraver},
+Internals Reference:
+@internalsref{Pitch_squash_engraver},
 @internalsref{Voice}.
 
 
index e259f39135c2b4fcc7e246c7c12c5c9298f7ac04..4dac1c28f5fdd89f1752dbda586cb458f205792d 100644 (file)
@@ -88,22 +88,40 @@ main docs
 * You _must_ include a @seealso.  The order of items inside the
   @seealso section is
 
-    Music Glossary: @rglos{foo}, @rglos{bar}.
+    Music Glossary:
+    @rglos{foo},
+    @rglos{bar}.
 
-    Learning Manual: @rlearning{baz}, @rlearning{foozle}
+    Learning Manual:
+    @rlearning{baz},
+    @rlearning{foozle}
 
-    Notation Reference: @ruser{faazle}, @ruser{boo}.
+    Notation Reference:
+    @ruser{faazle},
+    @ruser{boo}.
 
-    Application Usage: @rprogram{blah}.
+    Application Usage:
+    @rprogram{blah}.
 
-    Installed Files: @file{path/to/dir/blahz}.
+    Installed Files:
+    @file{path/to/dir/blahz}.
 
-    Snippets: @lsrdir{section}, @lsr{specific/example-name.ly}.
-      (if there is only one entry, omit a final period.  If there
-       are multiple entries, separate them by commas, do not
-       include an `and', and end with a period.)
+    Snippets:
+    @lsrdir{section},
+    @lsr{specific/example-name.ly}.
 
-    Internals Reference: @internalsref{fazzle}, @internalsref{booar}.
+    Internals Reference:
+    @internalsref{fazzle},
+    @internalsref{booar}.
+
+      If there are multiple entries, separate them by commas
+      but do not include an `and'.
+
+      Always end with a period.
+
+      Place each link on a new line as above; this makes it much
+      easier to add or remove links.  In the output, they
+      appear on a single line.
 
   ("Snippets" is REQUIRED; the others are optional)
 
index 3219124d4e08d5a5fefcedba2cd352e702c09d15..da2960fd66dd4e5ad4df334e58e8b2d7044a2d69 100644 (file)
@@ -269,7 +269,7 @@ displayBarNum =
 @end example
 
 To actually display bar numbers where this function is called,
-invoke lilypond with
+invoke @command{lilypond} with
 
 @example
 lilypond -d display-bar-numbers FILENAME.ly
@@ -1112,7 +1112,7 @@ to the @code{interpret-markup} function, with the @code{layout} and
 
 Note: there is now an internal command @code{\smallCaps} which can
 be used to set text in small caps.  See
-@ref{Overview of text markup commands}, for details.
+@ref{Text markup commands}, for details.
 
 
 @node New markup list command definition
@@ -1144,7 +1144,7 @@ is not found, the default value is @code{2}.  Then, a list of justified
 lines is made using the @code{make-justified-lines-markup-list}
 function, which is related to the @code{\justified-lines}
 built-in markup list command.  An horizontal space is added at the
-begining using the @code{make-hspace-markup} function.  Finally, the
+beginning using the @code{make-hspace-markup} function.  Finally, the
 markup list is interpreted using the @code{interpret-markup-list}
 function.
 
index bfa3c3a33769c58d6d54031cc7acd8b8e3e2552e..46bd713f66f129bb59cfad0b0a9cc95a891e6408 100644 (file)
@@ -30,14 +30,15 @@ specified by @var{repeatcount}.  This is useful when
 entering repetitious music. 
 
 @item percent
-Make beat or measure repeats.  These look like percent signs.
+Write beat or measure repeats.  These look like percent signs.
 Percent repeats must be declared within a @code{Voice} context.
 
 @item tremolo
-Make tremolo beams.
+Write tremolo beams.
 
 @end table
 
+@ignore
 LilyPond has one syntactic construct for specifying different
 types of repeats.  The syntax is
 
@@ -45,7 +46,7 @@ types of repeats.  The syntax is
 \repeat @var{variant} @var{repeatcount} @var{repeatbody}
 @end example
 
-where @var{repeabody} is a music expression.
+where @var{repeatbody} is a music expression.
 
 
 Alternative endings are entered with 
@@ -64,6 +65,7 @@ after a @code{\repeat volta} or @code{unfold} block, where each
 @var{alternative} is a music expression.  If you give fewer
 alternatives than @var{repeatcount}, the first alternative is assumed
 to be played more than once.
+@end ignore
 
 
 @menu
@@ -90,12 +92,25 @@ to be played more than once.
 @node Normal repeats
 @subsubsection Normal repeats
 
-FIXME: this example needs to go by itself.
-@verbatim
+The syntax for a normal repeat is
+
+@example
+\repeat @var{variant} @var{repeatcount} @var{repeatbody}
+@end example
+
+where @var{variant} is @qq{volta} and @var{repeatbody} is a music
+expression.  Alternate endings can be produced using
+@code{\alternative}.
+
+Normal repeats without alternate endings:
+
+@lilypond[quote,ragged-right,fragment,verbatim,relative=2]
 \repeat volta 2 { c4 d e f }
-@end verbatim
+c2 d
+\repeat volta 2 { d4 e f g }
+@end lilypond
 
-Normal repeats, with or without alternate repeats:
+Normal repeats with alternate endings:
 
 @lilypond[quote,ragged-right,fragment,verbatim,relative=2]
 \repeat volta 2 { g f e d }
@@ -105,11 +120,14 @@ Normal repeats, with or without alternate repeats:
   }
 c1
 @end lilypond
+
+
 Repeats with upbeats:
 
 @lilypond[quote,ragged-right,fragment,verbatim,relative=2]
 \new Staff {
-  \partial 4 e |
+  \partial 4
+  e |
   \repeat volta 4 { c2 d2 | e2 f2 | }
   \alternative { { g4 g g e } { a a a a | b2. } }
 }
@@ -137,57 +155,39 @@ c1
 \alternative { {f2 d} {f\repeatTie f,} }
 @end lilypond
 
-By default, the volta brackets will be drawn over all of the
-alternative music, but it is possible to shorten them by
-setting @code{voltaSpannerDuration}.  In the next example, the
-bracket only lasts one measure, which is a duration of 3/4.
-
-@lilypond[verbatim,ragged-right,quote]
-\relative c''{
-  \time 3/4
-  c c c
-  \set Score.voltaSpannerDuration = #(ly:make-moment 3 4)
-  \repeat volta 5 { d d d }
-  \alternative { { e e e f f f }
-  { g g g } }
-}
-@end lilypond
+@snippets
+
+@lilypondfile[verbatim,lilyquote,ragged-right,texidoc]
+{shortening-volta-brackets.ly}
+
+@lilypondfile[verbatim,lilyquote,ragged-right,texidoc]
+{adding-volta-brackets-to-additional-staves.ly}
 
-The @code{Volta_engraver} by default resides in the Score context,
-and brackets for the repeat are thus normally only printed over
-the topmost staff.  This can be adjusted by adding
-@code{Volta_engraver} to the Staff context where you want the
-brackets to appear; see @ref{Modifying context plug-ins} and
-@c @lsr{repeats,volta@/-multi@/-staff@/.ly}.
-
-@lilypond[verbatim,ragged-right,quote]
-\score { <<
-  \new Staff { \repeat volta 2 { c'1 } \alternative { c' } }
-  \new Staff { \repeat volta 2 { c'1 } \alternative { c' } }
-  \new Staff \with { \consists Volta_engraver } { c'2 g' e' a' }
-  \new Staff { \repeat volta 2 { c'1 } \alternative { c' } }
- >> }
-@end lilypond
 
 @c Is there a way to have a final bar ("|.") at the end of the
 @c previous line? Doesn't seem to be.
-If you want to start a repeat at the beginning of a line and have
-a double bar at the end of the previous line, use
+If you want to start a repeat at the beginning of a line and have a
+double bar at the end of the previous line, use @code{\bar}. See
+@ref{Bar lines} for more information.
 
-@example
-@dots{} \bar "||:" \break 
-\repeat volta 2 @{ @dots{} 
-@end example
+@lilypond[quote,ragged-right,fragment,verbatim,relative=2]
+c4 c c c
+\bar "||:" \break 
+\repeat volta 2 { c4 d e f }   
+@end lilypond
 
-see @ref{Bar lines} for more information.
 
 @seealso
 
-Snippets: @lsrdir{Repeats,Repeats}
+Music Glossary: @rglos{repeat}.
+@c FIXME : add @rglos{volta} after glossary addition
+
+Notation Reference: @ref{Bar lines}, @ref{Modifying context plug-ins}.
+
+Snippets: @lsrdir{Repeats,Repeats}.
 
 Internals Reference: @internalsref{VoltaBracket},
-@internalsref{RepeatedMusic},
-@internalsref{VoltaRepeatedMusic}, and
+@internalsref{RepeatedMusic}, @internalsref{VoltaRepeatedMusic},
 @internalsref{UnfoldedRepeatedMusic}.
 
 @c Examples:
@@ -211,11 +211,10 @@ is ambiguous, since it is is not clear to which @code{\repeat} the
 having the @code{\alternative} belong to the inner @code{\repeat}.
 For clarity, it is advisable to use braces in such situations.
 
-Timing information is not remembered at the start of an
-alternative, so after a repeat timing information must be reset by
-hand; for example, by setting @code{Score.measurePosition} or
-entering @code{\partial}.  Similarly, slurs or ties are also not
-repeated.
+Timing information is not remembered at the start of an alternative,
+so after a repeat timing information must be reset by hand; for
+example, by setting @code{Score.measurePosition} or entering
+@code{\partial}.  Similarly, slurs or ties are also not repeated.
 
 
 
@@ -240,10 +239,10 @@ Print a @code{|:} bar line.
 Print a @code{:|} bar line.
 
 @item @code{(volta @var{text})}
-Print a volta bracket saying @var{text}.  The text can be
-specified as a text string or as a markup text, see @ref{Text
-markup}.  Do not forget to change the font, as the default number
-font does not contain alphabetic characters;
+Print a volta bracket saying @var{text}.  The text can be specified as
+a text string or as a markup text, see @ref{Text markup}.  Do not
+forget to change the font, as the default number font does not contain
+alphabetic characters;
 
 
 @item @code{(volta #f)}
index 2cb8a1dcced576dd4b07fa40a7735dae9ebc57a6..eb4a9703c34e4f584b628db6d437fae10467bf0a 100644 (file)
@@ -48,7 +48,7 @@ Durations are entered as their reciprocal values.  For example, a
 quarter note is entered using a @code{4} (since it is a 1/4 note),
 and a half note is entered using a @code{2} (since it is a 1/2
 note).  For notes longer than a whole you must use the
-@code{\longa} (a double breve) and @code{\breve} commands.  
+@code{\longa} (a double breve) and @code{\breve} commands.
 Durations as short as 64th notes may be specified.  Shorter values
 are possible, but only as beamed notes.
 
@@ -107,33 +107,44 @@ Optionally, notes can be spaced strictly proportionately to their
 duration.  For details of this and other settings which control
 proportional notation, see @ref{Proportional notation}.
 
-@predefined
+@funindex \dotsUp
+@funindex \dotsDown
+@funindex \dotsNeutral
 
 Dots are normally moved up to avoid staff lines, except in
-polyphonic situations.  The following commands may be used to
-force a particular direction manually, and to return to the
-default behaviour:
+polyphonic situations.  Predefined commands are available to 
+force a particular direction manually, for details
+see @ref{Controlling direction and placement}.
 
-@funindex \dotsUp
+@predefined
+
+@code{\autoBeamOff},
 @code{\dotsUp},
-@funindex \dotsDown
 @code{\dotsDown},
-@funindex \dotsNeutral
 @code{\dotsNeutral}.
 
 
 @seealso
 
-Music Glossary: @rglos{breve}, @rglos{longa}, @rglos{note value}
+Music Glossary:
+@rglos{breve},
+@rglos{longa},
+@rglos{note value},
 @rglos{Duration names notes and rests}.
 
-Notation Reference: @ref{Automatic beams}, @ref{Ties},
-@ref{Writing rhythms}, @ref{Writing rests}, @ref{Vocal music},
-@ref{Ancient notation}, @ref{Proportional notation}.
+Notation Reference:
+@ref{Automatic beams},
+@ref{Ties},
+@ref{Writing rhythms},
+@ref{Writing rests},
+@ref{Vocal music},
+@ref{Ancient notation},
+@ref{Proportional notation}.
 
-Snippets: @lsrdir{Rhythms,Rhythms}
+Snippets: @lsrdir{Rhythms,Rhythms}.
 
-Internals Reference: @internalsref{Dots},
+Internals Reference:
+@internalsref{Dots},
 @internalsref{DotColumn}.
 
 
@@ -156,13 +167,13 @@ Tuplets are made from a music expression by multiplying all the
 durations with a fraction:
 
 @example
-\times @var{fraction} @var{musicexpr}
+\times @var{fraction} @{ @var{music} @}
 @end example
 
 @noindent
-The duration of @var{musicexpr} will be multiplied by the 
-fraction.  The fraction's denominator will be printed over or 
-under the notes, optionally with a bracket.  The most common 
+The duration of @var{music} will be multiplied by the
+fraction.  The fraction's denominator will be printed over or
+under the notes, optionally with a bracket.  The most common
 tuplet is the triplet in which 3 notes have the duration of 2, so
 the notes are 2/3 of their written length.
 
@@ -172,9 +183,13 @@ c4 c \times 2/3 {b4 a g}
 
 @end lilypond
 
-The automatic placement of the tuplet bracket above or below the 
-notes may be overridden manually, for details see 
-@ref{Controlling direction and placement}.
+@funindex \tupletUp
+@funindex \tupletDown
+@funindex \tupletNeutral
+
+The automatic placement of the tuplet bracket above or below the
+notes may be overridden manually with predefined commands, for
+details see @ref{Controlling direction and placement}.
 
 Tuplets may be nested:
 
@@ -186,40 +201,13 @@ c4 \times 4/5 { f8 e f \times 2/3 {e[ f g] } } f4 |
 Modifying nested tuplets which begin at the same musical moment
 must be done with @code{\tweak}.
 
-@cindex compressing music
-@funindex \compressMusic
-
-Longer stretches of music may be compressed (without a tuplet
-bracket) with the @code{\compressMusic} command.  The syntax is
-
-@example
-\compressMusic #'(@emph{num} . @emph{den}) @{ @emph{music} @}
-@end example
-
-@noindent
-This will leave the appearance of @emph{music} unchanged but
-the internal duration of the notes will be multiplied by the
-fraction @emph{num}/@emph{den}:
-
-@lilypond[quote,fragment,relative=2,ragged-right,verbatim]
-c8 c b b a a g g
-\compressMusic #'(2 . 3) {
-  c8 c c b b b a a a g g g
-}
-@end lilypond
-
-@noindent
-One application of @code{\compressMusic} is in polymetric 
-notation, see @ref{Polymetric notation}.
-
+To modify the duration of notes without printing a tuplet bracket,
+see @ref{Scaling durations}.
 
 @predefined
 
-@funindex \tupletUp
 @code{\tupletUp},
-@funindex \tupletDown
 @code{\tupletDown},
-@funindex \tupletNeutral
 @code{\tupletNeutral}.
 
 
@@ -231,91 +219,75 @@ notation, see @ref{Polymetric notation}.
 @funindex tupletNumberFormatFunction
 @funindex tupletSpannerDuration
 
-@lilypondfile [verbatim,lilyquote,ragged-right,texidoc]
+@lilypondfile[verbatim,lilyquote,ragged-right,texidoc]
 {entering-several-tuplets-using-only-one--times-command.ly}
 
 @funindex TupletNumber
 
-@c Sent to VV on 12 Feb - replace with @lilypondfile when available
-@c TODO and delete from here ...
-By default, only the numerator of the tuplet number
-is printed over the tuplet bracket, i.e. the denominator
-of the argument to the @code{\times} command.  Alternatively,
-@var{num}:@var{den} of the tuplet number may be printed, or
-the tuplet number may be suppressed altogether.
-
-
-@lilypond[quote,fragment,relative=2,ragged-right,verbatim]
-\times 2/3 { c8 c c } \times 2/3 { c8 c c }
-\override TupletNumber #'text = #tuplet-number::calc-fraction-text
-\times 2/3 { c8 c c }
-\override TupletNumber #'transparent = ##t
-\times 2/3 { c8 c c }
-@end lilypond
-
-@c ... to here
+@lilypondfile[verbatim,lilyquote,ragged-right,texidoc]
+{changing-the-tuplet-number.ly}
 
-
-@c Sent to VV on 12 Feb - replace with @lilypondfile when available
-@c TODO and delete from here ...
-This artificial example shows how both manual and automatic line
-breaks may be permitted within a beamed tuplet. Note that such
-off-beat tuplets have to be beamed manually.
-
-@lilypond[quote,ragged-right,verbatim]
-\relative c'' {
-  a8
-  \repeat unfold 8 {\times 2/3 { c[ b a]}}
-  % Insert a manual line break within a tuplet
-  \times 2/3 { c[ b \bar "" \break a]}
-  \repeat unfold 2 {\times 2/3 { c[ b a]}}
-  c8
-}
-\layout {
-  \context {
-    \Voice
-    % Permit line breaks within tuplets
-    \remove "Forbid_line_break_engraver"
-    % Allow beams to be broken at line breaks
-    \override Beam #'breakable = ##t
-  }
-}
-@end lilypond
-
-@c .. to here
+@lilypondfile[verbatim,lilyquote,ragged-right,texidoc]
+{permitting-line-breaks-within-beamed-tuplets.ly}
 
 @seealso
 
-Music Glossary: @rglos{triplet}, @rglos{tuplet},
+Music Glossary:
+@rglos{triplet},
+@rglos{tuplet},
 @rglos{polymetric}.
 
-Notation Reference: @ref{Time administration},
-@ref{Objects connected to the input}, @ref{Polymetric notation}.
+Learning Manual: @rlearning{Tweaking methods}.
+
+Notation Reference:
+@ref{Time administration},
+@ref{Scaling durations},
+@ref{Objects connected to the input},
+@ref{Polymetric notation}.
 
 Snippets: @lsrdir{Rhythms,Rhythms}.
 
-Internals Reference: @internalsref{TupletBracket},
-@internalsref{TupletNumber}, @internalsref{TimeScaledMusic}.
+Internals Reference:
+@internalsref{TupletBracket},
+@internalsref{TupletNumber},
+@internalsref{TimeScaledMusic}.
+
+@knownissues
+@cindex grace notes within tuplet brackets
+When the very first note on a staff is a grace note followed by a
+tuplet the grace note must be placed before the @code{\times}
+command to avoid errors.  Anywhere else, grace notes may be
+placed within tuplet brackets.
 
 
 @node Scaling durations
 @subsubsection Scaling durations
 
-You can alter the length of a duration by a fraction @var{N/M}
-by appending @code{*@var{N/M}} (or @code{*@var{N}} if @var{M=1}).
+@cindex scaling durations
+@cindex durations, scaling
+
+TODO Change \compressMusic to \scaleDurations when implemented.
+
+You can alter the duration of single notes, rests or chords by a
+fraction @code{N/M} by appending @code{*N/M} (or @code{*N} if
+@code{M} is 1) to the duration.
 This will not affect the appearance of the notes or rests
 produced, but the altered duration will be used in calculating the
 position within the measure and setting the duration in the MIDI
-output.  Multiplying factors may be combined
-such as @code{*M*N}.
+output.  Multiplying factors may be combined such as @code{*L*M/N}.
 
 In the following example, the first three notes take up exactly
 two beats, but no triplet bracket is printed.
 
 @lilypond[quote,ragged-right,fragment,relative=2,verbatim]
 \time 2/4
+% Alter durations to triplets
 a4*2/3 gis4*2/3 a4*2/3
-a4 a4 a4*2
+% Normal durations
+a4 a4
+% Double the duration of chord
+<a d>4*2
+% Duration of quarter, appears like sixteenth
 b16*4 c4
 @end lilypond
 
@@ -323,12 +295,54 @@ The duration of skip or spacing notes may also be modified by
 a multiplier.  This is useful for skipping many measures, e.g.,
 @code{s1*23}.
 
+@cindex compressing music
+@funindex \compressMusic
+
+Longer stretches of music may be compressed by a fraction in
+the same way, as if every note, chord or rest had the fraction
+as a multiplier.  The general syntax of the command to do this
+is:
+
+@example
+\compressMusic #'(@emph{num} . @emph{den}) @{ @emph{music} @}
+@end example
+
+@noindent
+This will leave the appearance of @emph{music} unchanged but
+the internal duration of the notes will be multiplied by the
+fraction @emph{num}/@emph{den}.  The spaces around the dot
+are required.  Here is an example showing how music can be
+compressed and expanded:
+
+@lilypond[quote,fragment,relative=2,ragged-right,verbatim]
+\time 2/4
+% Normal durations
+<c a>4 c8 a
+% Scale music by *2/3
+\compressMusic #'(2 . 3) {
+  <c a f>4. c8 a f
+}
+% Scale music by *2
+\compressMusic #'(2 . 1) {
+  <c' a>4 c8 b
+}
+@end lilypond
+
+@noindent
+One application of this command is in polymetric
+notation, see @ref{Polymetric notation}.
+
+
 @seealso
 
-Notation Reference: @ref{Tuplets}, @ref{Skips}, @ref{Polymetric notation}.
+Notation Reference:
+@ref{Tuplets},
+@ref{Skips},
+@ref{Polymetric notation}.
 
 Snippets: @lsrdir{Rhythms,Rhythms}
 
+
 @node Ties
 @subsubsection Ties
 
@@ -336,11 +350,11 @@ Snippets: @lsrdir{Rhythms,Rhythms}
 @funindex ~
 
 A tie connects two adjacent note heads of the same pitch.  The tie
-in effect extends the length of a note.
+in effect extends the duration of a note.
 
 @warning{Ties should not be confused with @emph{slurs}, which
 indicate articulation, or @emph{phrasing slurs}, which indicate
-musical phrasing. A tie is just a way of extending a note
+musical phrasing.  A tie is just a way of extending a note
 duration, similar to the augmentation dot.}
 
 A tie is entered using the tilde symbol @code{~}
@@ -362,13 +376,12 @@ used when note values cross larger subdivisions of the measure:
 @end lilypond
 
 If you need to tie a lot of notes across bar lines, it may be
-easier to use automatic note splitting (see @ref{Automatic note
-splitting}).  This mechanism automatically splits long notes, and
+easier to use automatic note splittingsee @ref{Automatic note
+splitting}.  This mechanism automatically splits long notes, and
 ties them across bar lines.
 
-@funindex \repeatTie
-@cindex repeating ties
-@cindex volta brackets and ties
+@cindex ties and chords
+@cindex chords and ties
 
 When a tie is applied to a chord, all note heads whose pitches
 match are connected.  When no note heads match, no ties will be
@@ -380,118 +393,89 @@ the chord.
 <c~ e g~ b> <c e g b>
 @end lilypond
 
+@funindex \repeatTie
+@cindex repeating ties
+@cindex ties, repeating
+@cindex volta brackets and ties
+@cindex ties and volta brackets
+
 When a second alternative of a repeat starts with a tied note, you
-have to repeat the tie.  This can be achieved with
-@code{\repeatTie},
+have to specify the repeated tie as follows:
 
 @lilypond[fragment,quote,ragged-right,relative=2,verbatim]
 \repeat volta 2 { c g <c e>2 ~ }
-\alternative {{ <c e>2. r4 } {<c e>2\repeatTie d4 c }}
+\alternative {
+  % First alternative: following note is tied normally
+  { <c e>2. r4 }
+  % Second alternative: following note has a repeated tie
+  {<c e>2\repeatTie d4 c }}
 @end lilypond
 
 @cindex laissez vibrer
 @cindex ties, laissez vibrer
 @funindex \laissezVibrer
-@funindex \tieUp
-@funindex \tieDown
-@funindex \tieNeutral
 
 @notation{L.v.} ties (@notation{laissez vibrer}) indicate that
 notes must not be damped at the end.  It is used in notation for
 piano, harp and other string and percussion instruments.  They can
-be entered using @code{\laissezVibrer}:
+be entered as follows:
 
 @lilypond[fragment,ragged-right,verbatim,relative=1]
 <c f g>\laissezVibrer
 @end lilypond
 
-The vertical placement of ties may be controlled; see
+@cindex ties, placement
+@funindex \tieUp
+@funindex \tieDown
+@funindex \tieNeutral
+
+The vertical placement of ties may be controlled, see
+Predefined commands, or for details, see
 @ref{Controlling direction and placement}.
 
-@quotation
-DELETE THIS ?
-@code{\tieDown} (see example below).  @code{\tieNeutral} reverts
-to the default behaviour again.
+@cindex ties, appearance
+@funindex \tieDotted
+@funindex \tieDashed
+@funindex \tieSolid
 
-However, as with other music elements of this kind, there is a
-convenient shorthand for forcing tie directions.  By adding
-@code{_} or @code{^} before the tilde, the direction is also set:
+Solid, dotted or dashed ties may be specified, see Predefined
+commands.
 
-@lilypond[relative=2,ragged-right,quote,verbatim,fragment]
-c4_~ c c^~ c)
-@end lilypond
-@end quotation
 
 @predefined
 
-@funindex \tieUp
 @code{\tieUp},
-@funindex \tieDown
 @code{\tieDown},
-@funindex \tieNeutral
 @code{\tieNeutral},
-@funindex \tieDotted
 @code{\tieDotted},
-@funindex \tieDashed
 @code{\tieDashed},
-@funindex \tieSolid
 @code{\tieSolid}.
 
 
 @snippets
 
-Ties are sometimes used to write out arpeggios.  In this case, two
-tied notes need not be consecutive.  This can be achieved by
-setting the @code{tieWaitForNote} property to true.  The same
-feature is also useful, for example, to tie a tremolo to a chord,
-but in principle, it can also be used for ordinary, consecutive
-notes:
-
-@lilypond[fragment,verbatim,relative=1,ragged-right,quote]
-\set tieWaitForNote = ##t
-\grace { c16[~ e~ g]~ } <c, e g>2
-\repeat tremolo 8 { c32~ c'~ } <c c,>1
-e8~ c~ a~ f~ <e' c a f>2
-\tieUp c8~ a \tieDown \tieDotted g~ c g2
-@end lilypond
-
-Ties may be engraved manually by changing the
-@code{tie-configuration} property of the @code{TieColumn} object.
-The first number indicates the distance from the center of the
-staff in staff-spaces, and the second number indicates the
-direction (1=up, -1=down).
-
-@lilypond[fragment,verbatim,relative=1,ragged-right,quote]
-<c e g>2~ <c e g> |
-\override TieColumn #'tie-configuration =
-  #'((0.0 . 1) (-2.0 . 1) (-4.0 . 1))
-<c e g>~ <c e g> |
-@end lilypond
+@lilypondfile[verbatim,lilyquote,ragged-right,texidoc]
+{using-ties-with-arpeggios.ly}
 
+@lilypondfile[verbatim,lilyquote,ragged-right,texidoc]
+{engraving-ties-manually.ly}
 
 
 @seealso
 
-Music Glossary: @rglos{tie},
-@c [TODO]add @rglos{laissez vibrer}. when there is a glossary entry.
-
-Snippets: @lsrdir{Rhythms,Rhythms}
-
-Internals Reference:
-@internalsref{LaissezVibrerTie}
-@internalsref{LaissezVibrerTieColumn}
-
-Example files:
-@c @lsr{connecting,laissez-vibrer-ties.ly}
-
-
-
+Music Glossary:
+@rglos{tie},
+@rglos{laissez vibrer}.
 
 Notation Reference: @ref{Automatic note splitting}.
 
 Snippets: @lsrdir{Rhythms,Rhythms}
 
-Internals Reference: @internalsref{Tie}.
+Internals Reference:
+@internalsref{LaissezVibrerTie},
+@internalsref{LaissezVibrerTieColumn},
+@internalsref{TieColumn},
+@internalsref{Tie}.
 
 
 @knownissues
@@ -510,9 +494,9 @@ well-defined.  In these cases, a slur may be preferable.
 @subsection Writing rests
 
 @menu
-* Rests::
-* Skips::
-* Full measure rests::
+* Rests::                       
+* Skips::                       
+* Full measure rests::          
 @end menu
 
 @node Rests
@@ -528,23 +512,30 @@ well-defined.  In these cases, a slur may be preferable.
 @funindex \longa
 @funindex \breve
 
-Rests are entered like notes with the note name @code{r}:
+Rests are entered like notes with the note name @code{r};
+longer rests with the predefined commands shown:
 
 @c \time 16/1 is used to avoid spurious bar lines
 @c and long tracts of empty measures
 @lilypond[fragment,quote,ragged-right,verbatim]
 \new Staff {
+  % These two lines are just to prettify this example
   \time 16/1
   \override Staff.TimeSignature #'stencil = ##f
+  % Print a maxima rest, equal to four breves
   r\maxima
-  r\longa r\breve r1 r2
-  r4 r8 r16 r32 r64
+  % Print a longa rest, equal to two breves
+  r\longa
+  % Print a breve rest
+  r\breve
+  r1 r2 r4 r8 r16 r32 r64
 }
 @end lilypond
 
-Whole measure rests, centered in middle of the measure, must be entered as
-multi-measure rests.  They can be used for a single measure as well as
-many measures and are discussed in @ref{Full measure rests}.
+Whole measure rests, centered in the middle of the measure, must
+be entered as multi-measure rests.  They can be used for a single
+measure as well as many measures and are discussed in
+@ref{Full measure rests}.
 
 To explicitly specify a rest's vertical position, write a note
 followed by @code{\rest}.  A rest will be placed in the position
@@ -556,14 +547,19 @@ formatter will leave these rests alone.
 a4\rest d4\rest
 @end lilypond
 
+@snippets
+
+@lilypondfile[verbatim,lilyquote,ragged-right,texidoc]
+{rest-styles.ly}
+
 
 @seealso
 
-Notation Reference: @ref{Full measure rests}.
+Notation Reference: @ref{Full measure rests}
 
-Snippets: @lsrdir{Rhythms,Rhythms}.
+Snippets: @lsrdir{Rhythms,Rhythms}
 
-Internals Reference: @internalsref{Rest}.
+Internals Reference: @internalsref{Rest}
 
 
 @knownissues
@@ -578,22 +574,29 @@ are rests from 128th to maxima (8 x whole).
 
 @cindex skip
 @cindex invisible rest
-@cindex space note
+@cindex rest, invisible
+@cindex spacer note
+
 @funindex \skip
 @funindex s
 
-An invisible rest (also called a @q{skip}) can be entered like a
-note with note name @code{s} or with @code{\skip @var{duration}}
+An invisible rest (also called a @q{skip rest}) can be entered like a
+note with note name @code{s} or with the predefined skip command
+followed by the required duration, as shown here:
 
 @lilypond[fragment,quote,ragged-right,verbatim,relative=2]
-a4 a4 s4 a4 \skip 1 a4
+% Skip the third beat in the first bar
+a4 a4 s4 a4
+% Use skip command to skip a whole note (bar)
+\skip 1
+a2 a2
 @end lilypond
 
 @cindex lyrics, skip
 
 The @code{s} syntax is only available in note mode and chord mode.
 In other situations, for example, when entering lyrics, one must
-use the @code{\skip} command:
+use the predefined skip command:
 
 @lilypond[quote,ragged-right,verbatim,relative=2]
 <<
@@ -602,85 +605,95 @@ use the @code{\skip} command:
 >>
 @end lilypond
 
-The skip command is merely an empty musical placeholder.  It does
-not produce any output, not even transparent output.
-
-The @code{s} skip command does create @internalsref{Staff} and
-@internalsref{Voice} when necessary, similar to note and rest
-commands.  For example, the following results in an empty staff.
+The @code{s} skip rest implicitly causes @code{Staff} and
+@code{Voice} contexts to be created if none exist, just
+like notes and rests do.  These in turn cause a staff with default
+clef and time signature to be printed, with if necessary, barlines.
+For example, the following results in a complete staff with three
+short empty bars:
 
-@lilypond[quote,verbatim]
-{ s4 }
+@lilypond[quote,verbatim,fragment,ragged-right]
+{ s1 s s }
 @end lilypond
-@c with ragged-right, the staff lines are cut BEFORE the time
-@c signature, which makes for a VERY empty staff
 
-@c The fragment @code{@{ \skip 4 @} } would produce an empty page.
-@c Misleading -- it doesn't produce anything, not even an empty page.
-@c Ppl who want to make empty sheets will see this and wonder what's
-@c happening.  -eo
+However, the predefined skip command behaves differently: it is
+merely an empty musical placeholder.  It does not create any 
+contexts and does not cause anything to be printed, not even 
+transparently.  On its own it does not even print an
+empty page:
+
+@example
+% This is valid input, but does nothing
+@{ \skip 1 @}
+@end example
 
 @seealso
 
 Snippets: @lsrdir{Rhythms,Rhythms}
 
-Internals Reference: @internalsref{SkipMusic}.
+Internals Reference: @internalsref{SkipMusic}
 
 
 @node Full measure rests
 @subsubsection Full measure rests
 
-@cindex multi measure rests
-@cindex full measure rests
-@cindex rest, multi measure
-@cindex rest, full measure
+@cindex multi-measure rests
+@cindex full-measure rests
+@cindex rest, multi-measure
+@cindex rest, full-measure
 @cindex whole rest for a full measure
 @funindex R
 
-Rests for one or more full measures are entered using @code{R}
-followed by a duration (see @ref{Durations}).  The duration should
-correspond to an integral number of measures, otherwise a barcheck
-warning is printed.  A @rglos{multi-measure rest} is used 
-principally to indicate that a part in a multi-part score should 
-be silent:
+Rests for one or more full measures are entered like notes with
+the note name uppercase @code{R}:
 
 @lilypond[quote,fragment,verbatim,relative=2]
-\set Score.skipBars = ##t
+% Rest bars contracted to single bar
+\compressFullBarRests
 R1*4
 R1*24
 R1*4
 b2^"Tutti" b4 a4
 @end lilypond
 
-A multi-measure rest can be expanded in the printed score
-to show all the rest measures explicitly, or, as above, it can be 
-condensed to a single measure
-containing a multi-measure rest symbol, with the number of
-measures of rest printed above the measure.  This expansion
-is controlled by the property @code{Score.skipBars}.  If this is
-set to true, empty measures will be condensed to a single measure.
+@funindex \expandFullBarRests
+@funindex \compressFullBarRests
+@cindex multi-measure rest, expanding
+@cindex multi-measure rest, contracting
+
+By default a multi-measure rest is expanded in the printed score
+to show all the rest measures explicitly or (as in the example
+above) it can be contracted to a single measure containing a
+multi-measure rest symbol, with the number of measures of rest
+printed above the measure:
 
 @lilypond[quote,ragged-right,fragment,verbatim]
-\time 4/4 r1 | R1 | R1*2 | 
-\time 2/4 R2 | 
+% Default behavior
+\time 3/4 r2. | R2.*2 |
+\time 2/4 R2 |
 \time 4/4
-\set Score.skipBars = ##t 
-R1*17 | R1*4 |
+% Rest bars contracted to single bar
+\compressFullBarRests
+r1 | R1*17 | R1*4 |
+% Rest bars expanded
+\expandFullBarRests
+\time 3/4
+R2.*2 |
 @end lilypond
 
-The @code{1} in @code{R1} is similar to the duration notation 
+The @code{1} in @code{R1} is similar to the duration notation
 used for notes and is the length of a measure in 2/2 or 4/4 time.
 The duration in a multi-measure rest must always be an integral
 number of measure-lengths, so in other time signatures augmentation
 dots or fractions must be used:
 
 @lilypond[quote,ragged-right,fragment,verbatim]
-\set Score.skipBars = ##t
+\compressFullBarRests
 \time 3/4
 R2. | R2.*2
 \time 13/8
 R1*13/8 | R1*13/8*12 |
-\time 10/8 
+\time 10/8
 R4*5*4 |
 @end lilypond
 
@@ -688,66 +701,51 @@ An @code{R} spanning a single measure is printed as either a whole
 or breve rest, centered in the measure, regardless of the time
 signature.
 
-@cindex church rest
-@cindex rest, church
-@cindex kirchenpausen 
-
-If there are 10 or fewer measures of rest, LilyPond prints
-a series of longa and breve rests (called in German 
-Kirchenpausen - @q{church rests}) within the staff and
-prints a simple line otherwise.  This default number of 10
-may be changed by overriding 
-@code{MultiMeasureRest.expand-limit}.
-
-@lilypond[quote,ragged-right,fragment,verbatim]
-\set Score.skipBars = ##t
-R1*2 | R1*5 | R1*9
-\override MultiMeasureRest #'expand-limit = 3
-R1*2 | R1*5 | R1*9
-@end lilypond
-
-Note that unlike ordinary rests, the vertical position on the
-staff of the multi-measure rest symbol of either form cannot be
-changed.
 
 @cindex text on multi-measure rest
+@cindex multi-measure rest, attaching text
 @cindex script on multi-measure rest
+@cindex multi-measure rest, script
 @cindex fermata on multi-measure rest
+@cindex multi-measure rest, attaching fermata
 
 Text can be added to multi-measure rests by using the
-@var{note}-@code{markup} syntax described in @ref{Text markup}.
-The variable @code{\fermataMarkup} is provided for adding
-fermatas.
+@var{note} - @code{\markup} syntax described in
+@ref{Text markup}.  The predefined command @code{\fermataMarkup}
+is provided for adding fermatas.
 
 @lilypond[quote,ragged-right,verbatim,fragment]
-\set Score.skipBars = ##t
+\compressFullBarRests
 \time 3/4
 R2.*10^\markup { \italic "ad lib." }
 R2.^\fermataMarkup
 @end lilypond
 
-@warning{Text attached to a multi-measure rest is created 
+@warning{Text attached to a multi-measure rest is created
 by @code{MultiMeasureRestText}, not
 @code{TextScript}.  Overrides must be directed to the correct
 object, or they will be ignored.  See the following example.}
 
 @lilypond[quote,ragged-right,verbatim,fragment]
+% This fails, as the wrong object name is specified
 \override TextScript #'padding = #5
-R1^"low"
+R1^"wrong"
+% This is correct and works
 \override MultiMeasureRestText #'padding = #5
-R1^"high"
+R1^"right"
 @end lilypond
 
 Text attached to a multi-measure rest will be centered above or
 below it.  Long text attached in this way does not cause the
 measure to expand, and may collide with text in adjacent measures.
-Long text is better attached to a zero-length skip note preceding
-the rest, preceded by @code{\textLengthOn} (turn off again with
-@code{\textLengthOff}), since this will cause the measure to expand to
-accommodate the length of the text:
+This behavior may be changed with the predefined command
+@code{\textLengthOn}, which will cause following bars to expand
+as necessary to accommodate text.  @code{\textLengthOff} returns
+to the default behavior.  To left-align text within a bar attach
+it to a zero-length skip note preceding the rest.
 
 @lilypond[quote,ragged-right,verbatim,fragment,relative=2]
-\set Score.skipBars = ##t
+\compressFullBarRests
 \textLengthOn
 s1*0^\markup {[MAJOR GENERAL]}
 R1*19
@@ -761,7 +759,7 @@ c4^\markup {CHORUS} d f c
 @noindent
 Text attached to a skip note in this way is left-aligned to the
 position where the note would be placed in the bar, and placed
-above the bar count numeral, but because the bar length is
+above the bar count numeral, but if the bar length is
 determined by the length of the text, the text will appear to be
 centered.  If two (or more) texts are
 attached to skip notes in a bar the bar length is determined by
@@ -770,32 +768,64 @@ left-aligned, as shown in the second bar above.  If the shorter
 text of two marks is short enough to fit it will be placed
 alongside and to the left of the bar count numeral.
 
+@predefined
+@code{\textLengthOn},
+@code{\textLengthOff},
+@code{\fermataMarkup},
+@code{\compressFullBarRests},
+@code{\expandFullBarRests}.
+
+@snippets
+
+@cindex church rest
+@cindex rest, church
+@cindex kirchenpausen
+
+@lilypondfile[verbatim,lilyquote,ragged-right,texidoc]
+{changing-form-of-multi--measure-rests.ly}
+
+@cindex multi-measure rests, positioning
+@cindex positioning multi-measure rests
+
+@lilypondfile[verbatim,lilyquote,ragged-right,texidoc]
+{positioning-multi--measure-rests.ly}
+
 @seealso
 
-Notation Reference: @ref{Durations}, @ref{Text},
-@ref{Text markup}, @ref{Text scripts}.
+Music Glossary:
+@rglos{multi-measure rest},
+@rglos{church rests}.
 
-Snippets: @lsrdir{Rhythms,Rhythms}
+Notation Reference:
+@ref{Durations},
+@ref{Text},
+@ref{Text markup},
+@ref{Text scripts}.
 
-Internals Reference: @internalsref{MultiMeasureRest}.
+Snippets: @lsrdir{Rhythms,Rhythms}
 
-The layout object @internalsref{MultiMeasureRestNumber} is for the
-default number, and @internalsref{MultiMeasureRestText} for user
-specified texts.
+Internals Reference:
+@internalsref{MultiMeasureRest},
+@internalsref{MultiMeasureRestNumber},
+@internalsref{MultiMeasureRestText}.
 
 
 @knownissues
 
-If an attempt is made to use fingerings (e.g., 
+If an attempt is made to use fingerings (e.g.,
 @code{R1*10-4}) to put numbers over multi-measure rests, the
-fingering numeral (4) may collide with the bar counter 
-numeral (10).  
+fingering numeral (4) may collide with the bar counter
+numeral (10).
 
 @cindex condensing rests
+@cindex rests, condensing ordinary
+
+There is no way to automatically condense multiple ordinary rests
+into a single multi-measure rest.
 
-There is no way to automatically condense multiple rests into a
-single multi-measure rest.  Multi-measure rests do not take part
-in rest collisions.
+@cindex rests, collisions of
+
+Multi-measure rests do not take part in rest collisions.
 
 Be careful when entering multi-measure rests followed by whole
 notes.  The following will enter two notes lasting four measures
@@ -824,73 +854,84 @@ R1*4 cis cis
 @cindex meter
 @funindex \time
 
-The time signature is set with the @code{\time} command:
+The time signature is set as follows:
 
 @lilypond[quote,ragged-right,fragment,verbatim,relative=2]
-\time 2/4 c2 \time 3/4 c2.
+\time 2/4 c2
+\time 3/4 c2.
 @end lilypond
 
-@snippets
+@cindex Time signature, visibility of
+
+Time signatures by default are printed at the start of every line
+and whenever the time signature changes.  If a change takes place
+at the end of a line a warning time signature sign is printed 
+there.  This default behavior may be changed, see 
+@ref{Controlling visibility of objects}.
+
+@funindex \numericTimeSignature
+@funindex \defaultTimeSignature
+@cindex time signature style
 
-The symbol that is printed can be customized with the @code{style}
-property.  Setting it to @code{#'()} uses fraction style for 4/4
-and 2/2 time,
+The symbol that is printed in 2/2 and 4/4 time can be customized
+to use a numeric style:
 
 @lilypond[fragment,quote,ragged-right,verbatim,relative=2]
+% Default style
 \time 4/4 c1
 \time 2/2 c1
-\override Staff.TimeSignature #'style = #'()
+% Change to numeric style
+\numericTimeSignature
 \time 4/4 c1
 \time 2/2 c1
-@end lilypond
-
-A time signature symbol is normally printed whenever the time
-signature changes.  If this takes place at the end of a line a
-warning time signature sign is printed at the end of the line and
-again at the start of a new line.  This default behaviour can be
-modified by setting the value of the @code{break-visibility}
-property.  This takes three values which may be set to @code{#t}
-or @code{#f} to specify whether the corresponding time signature
-is visible or not.  The order of the three values is @code{end of
-line visible}, @code{middle of line visible}, @code{beginning of
-line visible}.
-
-@lilypond[fragment,quote,ragged-right,verbatim,relative=2]
-% Do not print any time signatures at end of line
-\override Staff.TimeSignature #'break-visibility = ##(#f #t #t)
+% Revert to default style
+\defaultTimeSignature
 \time 4/4 c1
-\time 3/4 c2.
-% Do not print the following 9/8 time signature
-\once \override Staff.TimeSignature #'break-visibility = ##(#t #f #t)
-\time 9/8 c4. c c
 \time 2/2 c1
-\break
-\time 9/8 c4. c c
-\time 12/8 c2. c2.
 @end lilypond
 
-There are many more options for its layout.  See @ref{Ancient time
-signatures}, for more examples.
 
+Ancient time signatures are covered in
+@ref{Ancient time signatures}.
+
+@predefined
+
+@code{\numericTimeSignature},
+@code{\defaultTimeSignature}.
+
+@snippets
+
+@c TODO Send as snippet called "setting measure and beat lengths"
+@c      when example is added
 @code{\time} sets the properties @code{timeSignatureFraction},
 @code{beatLength}, and @code{measureLength} in the @code{Timing}
-context, which is normally aliased to @internalsref{Score}.  The
-property @code{measureLength} determines where bar lines should be
-inserted, and how automatic beams should be generated.  Changing
-the value of @code{timeSignatureFraction} also causes the symbol
-to be printed.
+context, which is normally aliased to @code{Score}.  Changing the
+value of @code{timeSignatureFraction} causes the new time
+signature symbol to be printed without changing the other
+properties.  The property @code{measureLength} determines where
+bar lines should be inserted and, with @code{beatLength}, how
+automatic beams should be generated.
+
+TODO Add example of using beatLength.
+@c beatLength is broken - see bug 511
+
+@c End of snippet
 
 @cindex measure groupings
-More options are available through the Scheme function
-@code{set-time-signature}, which takes three arguments: the number
-of beats, the beat length, and the internal grouping of beats in
-the measure.  If the @internalsref{Measure_grouping_engraver} is
-included, the function will also create
-@internalsref{MeasureGrouping} signs.  Such signs ease reading
-rhythmically complex modern music.  In the following example, the
-9/8 measure is subdivided in 2, 2, 2 and 3.  This is passed to
-@code{set-time-signature} as the third argument @code{(2 2 2 3)}:
+@cindex beats, grouping
+@cindex grouping beats
+@cindex measure sub-grouping
+
+@c TODO Sent as snippet called "grouping beats" 25 Mar 08
+Options to group beats within a bar are available through the
+Scheme function @code{set-time-signature}, which takes three
+arguments: the number of beats, the beat length, and the internal
+grouping of beats in the measure.  If the
+@internalsref{Measure_grouping_engraver} is included, the function
+will also create @internalsref{MeasureGrouping} signs.  Such signs
+ease reading rhythmically complex modern music.  In the example,
+the 9/8 measure is subdivided in 2, 2, 2 and 3.  This is passed to
+@code{set-time-signature} as the third argument: @code{'(2 2 2 3)}:
 
 @lilypond[quote,ragged-right,verbatim]
 \score {
@@ -908,16 +949,30 @@ rhythmically complex modern music.  In the following example, the
   }
 }
 @end lilypond
+@c TODO End of snippet called "grouping beats"
+
+@cindex compound time signatures
+@cindex time signature, compound
+
+@lilypondfile[verbatim,lilyquote,ragged-right,texidoc]
+{compound-time-signatures.ly}
 
 
 @seealso
 
-Snippets: @lsrdir{Rhythms,Rhythms}
+Music Glossary:
+@rglos{time signature}
 
-Internals Reference: @internalsref{TimeSignature}, and
-@internalsref{Timing_translator}.
+Notation Reference:
+@ruser{Ancient time signatures},
+@ruser{Time administration}.
 
-Examples: @c @lsr{contemporary,compound-time-signature.ly}.
+Snippets:
+@lsrdir{Rhythms,Rhythms}
+
+Internals Reference:
+@internalsref{TimeSignature},
+@internalsref{Timing_translator}.
 
 
 @knownissues
@@ -934,40 +989,56 @@ Automatic beaming does not use the measure grouping specified with
 @cindex partial measure
 @cindex measure, partial
 @cindex pickup measure
-@cindex shorten measures
+@cindex measure, change length
+@cindex measurePosition
 @funindex \partial
 
-Partial or pickup measures, such as an anacrusis or upbeat, are
+Partial or pick-up measures, such as an anacrusis or upbeat, are
 entered using the @code{\partial} command, with the syntax
 
 @example
-\partial @var{duration}
+\partial @var{duration} @emph{notes}
 @end example
 
-where @code{duration} is the rhythmic length to be added before
-the next measure:
+where @code{duration} is the rhythmic length of the @emph{notes}
+which are to be placed before the first complete measure:
 
 @lilypond[quote,ragged-right,fragment,verbatim,relative=2]
-\partial 16*5 c16 cis d dis e | a2. c,4 | b2
+\partial 16*5 c16 cis d dis e |
+a2. c,4 |
+b2
 @end lilypond
 
 Internally, this is translated into
 
 @example
-\set Timing.measurePosition = -@var{length of duration}
+\set Timing.measurePosition = -@var{duration}
 @end example
 
 The property @code{measurePosition} contains a rational number
 indicating how much of the measure has passed at this point.  Note
-that this is a negative number; @code{\partial 4} is internally
-translated to mean @qq{there is a quarter note left in the bar.}
+that this is set to a negative number by the @code{\partial}
+command: i.e., @code{\partial 4} is internally translated to
+@code{-4}, meaning @qq{there is a quarter note left in the bar.}
+
+
+@seealso
 
+Music Glossary: @rglos{anacrusis}
+
+Notation Reference: @ref{Grace notes}
+
+Snippets: @lsrdir{Rhythms,Rhythms}
+
+Internal Reference: @internalsref{Timing_translator}
 
 @knownissues
 
+@cindex grace notes, in anacruses
+
 This command does not take into account grace notes at the start
-of the music.  When a piece starts with grace notes in the
-pickup, then the @code{\partial} should follow the grace notes:
+of the music.  If the pick-up starts with one or more grace
+notes, then the @code{\partial} should follow the grace note(s):
 
 @lilypond[verbatim,quote,ragged-right,relative,fragment]
 \grace f16
@@ -976,25 +1047,25 @@ g4
 a2 g2
 @end lilypond
 
-@code{\partial} is only intended to be used at the beginning of a
-piece.  If you use it after the beginning, some odd warnings may
-occur.
-
-@seealso
-
-Snippets: @lsrdir{Rhythms,Rhythms}
+The @code{\partial} command is intended to be used only at the
+beginning of a piece.  If you use it after the beginning, some
+odd warnings may occur.
 
 @node Unmetered music
 @subsubsection Unmetered music
 
-@cindex cadenza
 @funindex \cadenzaOn
 @funindex \cadenzaOff
+@cindex bar lines, turning off
+@cindex bar numbering, turning off
+@cindex cadenza
+@cindex unmetered music
 
 Bar lines and bar numbers are calculated automatically.  For
 unmetered music (cadenzas, for example), this is not desirable.
-To turn off automatic bar lines and bar numbers, use the commands
-@code{\cadenzaOn} and @code{\cadenzaOff}.
+To turn off automatic bar lines and bar numbers, use the command
+@code{\cadenzaOn}, and use @code{\cadenzaOff} to turn them on
+again.
 
 @lilypond[verbatim,quote,ragged-right,relative=2,fragment]
 c4 d e d
@@ -1009,7 +1080,8 @@ Bar numbering is resumed at the end of the cadenza as if the
 cadenza were not there:
 
 @lilypond[verbatim,quote,ragged-right,relative=2,fragment]
-\override Score.BarNumber #'break-visibility = ##( #t #t #t )
+% Show all bar numbers
+\override Score.BarNumber #'break-visibility = #all-visible
 c4 d e d
 \cadenzaOn
 c4 c d8 d d f4 g4.
@@ -1018,9 +1090,22 @@ c4 c d8 d d f4 g4.
 d4 e d c
 @end lilypond
 
+@predefined
+
+@code{\cadenzaOn},
+@code{\cadenzaOff}.
+
+@seealso
+
+Music Glossary: @rglos{cadenza}
+
+Notation Reference: @ref{Controlling visibility of objects}
+
+Snippets: @lsrdir{Rhythms,Rhythms}
+
 @knownissues
 
-LilyPond will only insert line breaks and page breaks at a
+LilyPond will insert line breaks and page breaks only at a
 bar line.  Unless the unmetered music ends before the end of the
 staff line, you will need to insert invisible bar lines with
 
@@ -1031,36 +1116,24 @@ staff line, you will need to insert invisible bar lines with
 @noindent
 to indicate where breaks can occur.
 
-@seealso
-
-Snippets: @lsrdir{Rhythms,Rhythms}
-
 
 @node Polymetric notation
 @subsubsection Polymetric notation
 
-@c TODO Work this example into the main text
-@c @lilypondfile [verbatim,lilyquote,ragged-right,texidoc]
-@c {printing-music-with-different-time-signatures.ly}
-
 @cindex double time signatures
 @cindex signatures, polymetric
 @cindex polymetric signatures
 @cindex meter, polymetric
 
-Music Glossary:
-@rglos{polymetric}
-@rglos{polymetric time signature}
-@rglos{meter}
+@strong{Alternating time signatures}
 
-Double time signatures are not supported explicitly, but they can
-be faked.  In the next example, the markup for the time signature
-is created with a markup text.  This markup text is inserted in
-the @internalsref{TimeSignature} grob.  See also
-@c @lsr{contemporary,compound-time-signature}.
+Regularly alternating double time signatures are not supported
+explicitly, but they can be faked.  In the next example, the
+double time signature is created with markup text, while the
+real time signature is set in the usual way with @code{\time}.
 
 @lilypond[verbatim,ragged-right]
-% create 2/4 + 5/8
+% Create 9/8 split into 2/4 + 5/8
 tsMarkup = \markup {
   \override #'(baseline-skip . 2) \number {
     \column { "2" "4" }
@@ -1073,14 +1146,56 @@ tsMarkup = \markup {
   \override Staff.TimeSignature #'stencil =
     #ly:text-interface::print
   \override Staff.TimeSignature #'text = #tsMarkup
-  \time 3/2
+  \time 9/8
+  c'2 \bar ":" c'4 c'4.
   c'2 \bar ":" c'4 c'4.
 }
 @end lilypond
 
-Each staff can also have its own time signature.  This is done by
-moving the @internalsref{Timing_translator} to the
-@internalsref{Staff} context.
+@strong{Staves with different time signatures, equal bar lengths}
+
+This notation can be created by setting a common time signature
+for each staff but replacing the symbol manually by setting
+@code{timeSignatureFraction} to the desired fraction and scaling
+the printed durations in each staff to the common time
+signature.  This done with @code{\compressMusic}, which
+is used in a similar way to @code{\times}, but does not create
+a tuplet bracket, see @ref{Scaling durations}.
+
+In this example, music with the time signatures of 3/4, 9/8, and
+10/8 are used in parallel.  In the second staff, shown durations
+are multiplied by 2/3, as 2/3 * 9/8 = 3/4, and in the third
+staff, shown durations are multiplied by 3/5, as 3/5 * 10/8 = 3/4.
+
+@lilypond[quote,ragged-right,verbatim,fragment]
+\relative c' { <<
+  \new Staff {
+    \time 3/4
+    c4 c c |
+    c c c |
+  }
+  \new Staff {
+    \time 3/4
+    \set Staff.timeSignatureFraction = #'(9 . 8)
+    \compressMusic #'(2 . 3)
+      \repeat unfold 6 { c8[ c c] }
+  }
+  \new Staff {
+    \time 3/4
+    \set Staff.timeSignatureFraction = #'(10 . 8)
+    \compressMusic #'(3 . 5) {
+      \repeat unfold 2 { c8[ c c] }
+      \repeat unfold 2 { c8[ c] } |
+      c4. c4. \times 2/3 { c8 c c } c4
+    }
+  }
+>> }
+@end lilypond
+
+@strong{Staves with different time signatures, unequal bar lengths}
+
+Each staff can be given its own independent time signature by
+moving the Timing_translator to the Staff context.
 
 @lilypond[quote,verbatim,ragged-right]
 \layout {
@@ -1095,7 +1210,8 @@ moving the @internalsref{Timing_translator} to the
     \consists "Default_bar_line_engraver"
   }
 }
-%Now, each staff has its own time signature.
+
+% Now each staff has its own time signature.
 
 \relative c' <<
   \new Staff {
@@ -1114,118 +1230,86 @@ moving the @internalsref{Timing_translator} to the
 @end lilypond
 
 
-A different form of polymetric notation is where note lengths have
-different values across staves, but the measures are all the same 
-length.
-
-This notation can be created by setting a common time signature
-for each staff but replacing it manually using
-@code{timeSignatureFraction} to the desired fraction.  Then the
-printed durations in each staff are scaled to the common time
-signature.  The latter is done with @code{\compressMusic}, which
-is used in a similar way to @code{\times}, but does not create 
-a tuplet bracket.  The syntax is 
-
-@funindex \compressMusic
-
-@example 
-\compressMusic 
-#'(@var{numerator} . @var{denominator}) @var{musicexpr} 
-@end example
+@seealso
 
+Music Glossary:
+@rglos{polymetric},
+@rglos{polymetric time signature},
+@rglos{meter}.
 
+Notation Reference: @ref{Scaling durations}
 
-In this example, music with the time signatures of 3/4, 9/8, and
-10/8 are used in parallel.  In the second staff, shown durations
-are multiplied by 2/3, so that 2/3 * 9/8 = 3/4, and in the third
-staff, shown durations are multiplied by 3/5, so that 3/5 * 10/8 =
-3/4.
-
-@lilypond[quote,ragged-right,verbatim,fragment]
-\relative c' { <<
-  \new Staff {
-    \time 3/4
-    c4 c c | c c c |
-  }
-  \new Staff {
-    \time 3/4
-    \set Staff.timeSignatureFraction = #'(9 . 8)
-    \compressMusic #'(2 . 3)
-      \repeat unfold 6 { c8[ c c] }
-  }
-  \new Staff {
-    \time 3/4
-    \set Staff.timeSignatureFraction = #'(10 . 8)
-    \compressMusic #'(3 . 5) {
-      \repeat unfold 2 { c8[ c c] }
-      \repeat unfold 2 { c8[ c] }
-      | c4. c4. \times 2/3 { c8 c c } c4
-    }
-  }
->> }
-@end lilypond
+Snippets:
+@lsrdir{Rhythms,Rhythms}
+@c Is this still permitted?
+@c @lsr{contemporary,compound-time-signature}
 
+Internals Reference:
+@internalsref{TimeSignature},
+@internalsref{Timing-translator},
+@internalsref{Staff}.
 
 @knownissues
 
 When using different time signatures in parallel, the spacing is
 aligned vertically, but bar lines distort the regular spacing.
 
-@seealso
-
-Snippets: @lsrdir{Rhythms,Rhythms}, @c @lsr{contemporary,compound-time-signature}.
-
-Internals Reference: @internalsref{TimeSignature}, @internalsref{Timing-translator}, @internalsref{Staff}.
-
 
 @node Automatic note splitting
 @subsubsection Automatic note splitting
 
+@cindex notes, splitting
+@cindex splitting notes
+
 Long notes which overrun bar lines can be converted automatically
 to tied notes.  This is done by replacing the
-@internalsref{Note_heads_engraver} by the
-@internalsref{Completion_heads_engraver}.  In the following
-examples, notes crossing the bar line are split and tied.
+@code{Note_heads_engraver} by the
+@code{Completion_heads_engraver}.  In the following
+example, notes crossing the bar lines are split and tied.
 
-@lilypond[quote,fragment,verbatim,relative=1,line-width=12\cm]
+@lilypond[quote,fragment,verbatim,relative=1,ragged-right]
 \new Voice \with {
   \remove "Note_heads_engraver"
   \consists "Completion_heads_engraver"
-} {
-  c2. c8 d4 e f g a b c8 c2 b4 a g16 f4 e d c8. c2
 }
+
+{c2. c8 d4 e f g a b c8 c2 b4 a g16 f4 e d c8. c2}
 @end lilypond
 
 This engraver splits all running notes at the bar line, and
 inserts ties.  One of its uses is to debug complex scores: if the
-measures are not entirely filled, then the ties exactly show how
+measures are not entirely filled, then the ties show exactly how
 much each measure is off.
 
-If you want to allow line breaking on the bar lines where
-@internalsref{Completion_heads_engraver} splits notes, you must
-also remove @internalsref{Forbid_line_break_engraver}.
-
+To allow line breaking on the bar lines where the
+@code{Completion_heads_engraver} has inserted a split note, remove
+the @code{Forbid_line_break_engraver} too.
 
-@knownissues
-
-Not all durations (especially those containing tuplets) can be
-represented exactly with normal notes and dots, but the engraver
-will not insert tuplets.
 
-@code{Completion_heads_engraver} only affects notes; it does not
-split rests.
+@seealso
 
+Music Glossary: @rglos{tie}
 
-@seealso
+Learning Manual:
+@rlearning{Engravers explained},
+@rlearning{Adding and removing engravers}.
 
 Snippets: @lsrdir{Rhythms,Rhythms}
 
-Internals Reference: @internalsref{Note_heads_engraver},
+Internals Reference:
+@internalsref{Note_heads_engraver},
 @internalsref{Completion_heads_engraver},
 @internalsref{Forbid_line_break_engraver}.
 
 
+@knownissues
 
+Not all durations (especially those containing tuplets) can be
+represented exactly with normal notes and dots, but the engraver
+will not insert tuplets.
+
+The @code{Completion_heads_engraver} only affects notes; it does not
+split rests.
 
 
 @node Beams
@@ -1287,7 +1371,7 @@ c8[^"(3+2)" c16 c8]
 
 The beams of consecutive 16th (or shorter) notes are, by default,
 not sub-divided.  That is, the three (or more) beams stretch
-unbroken over entire groups of notes.  This behaviour can
+unbroken over entire groups of notes.  This behavior can
 be modified to sub-divide the beams into sub-groups by setting 
 the property @code{subdivideBeams}.  When set, multiple beams 
 will be sub-divided at intervals defined by the current value of
@@ -1499,7 +1583,7 @@ In 4/4 time signature, this means that automatic beams could end only on
 3/8 and on the fourth beat of the measure (after 3/4, that is 2 times
 3/8, has passed within the measure).
 
-If any unexpected beam behaviour occurs, check the default automatic beam
+If any unexpected beam behavior occurs, check the default automatic beam
 settings in @file{scm/@/auto@/-beam@/.scm}
 for possible interference, because the beam
 endings defined there will still apply on top of your own overrides.  Any
@@ -1589,7 +1673,7 @@ setting the properties @code{stemLeftBeamCount} and
 draw on the left and right side, respectively, of the next note.
 If either property is set, its value will be used only once, and
 then it is erased.  In this example, the last @code{f} is printed
-with only one beam on the left side, i.e. the eigth-note beam of
+with only one beam on the left side, i.e. the eighth-note beam of
 the group as a whole.
 
 @lilypond[quote,ragged-right,fragment,relative=1,verbatim]
@@ -1756,7 +1840,7 @@ f1 \bar "|:" g \bar ":|:" a \bar ":|" b
 @cindex repeats
 
 Although the bar line types signifying repeats may be inserted
-manually they do not in themselves cause LilyPond to recognise
+manually they do not in themselves cause LilyPond to recognize
 a repeated section.  Such repeated sections are better entered
 using the various repeat commands (see @ref{Repeats}), which
 automatically print the appropriate bar lines.
@@ -1819,7 +1903,7 @@ Snippets: @lsrdir{Rhythms,Rhythms}
 
 Internals Reference: @internalsref{BarLine} (created at
 @internalsref{Staff} level), @internalsref{SpanBar} (across
-staves), @internalsref{Timing_translator} (for Timing 
+staves), @internalsref{Timing_translator} (for Timing
 properties).
 
 
@@ -1849,7 +1933,7 @@ c1 c c c
 @cindex bar numbers, regular spacing
 
 Bar numbers can be typeset at regular intervals instead of just at
-the beginning of every line.  To do this the default behaviour
+the beginning of every line.  To do this the default behavior
 must be overridden to permit bar numbers to be printed at places
 other than the start of a line.  This is controlled by the
 @code{break-visibility} property of @code{BarNumber}.  This takes
@@ -1930,7 +2014,7 @@ bar line:
 % Print a bar number every 2nd bar
 \set Score.barNumberVisibility = #(every-nth-bar-number-visible 2)
 c1 c1
-% Centre-align bar numbers
+% Center-align bar numbers
 \override Score.BarNumber #'self-alignment-X = #0
 c1 c1
 % Right-align bar numbers
@@ -2514,3 +2598,5 @@ Internals Reference: @internalsref{Timing_translator},
 
 
 
+
+
index ab16f7e9135854fd2b7157a1959b3ac35858dc19..f90ed6066ee9a0013d22eecf423142313c6db678 100644 (file)
@@ -39,8 +39,8 @@ as @code{midi2ly}) which are only available on the command-line.
 
 By @q{command-line}, we mean the command line in the operating system.
 Windows users might be more familiar with the terms @q{DOS shell} or
-@q{command shell}; OSX users might be more familiar with the terms
-@q{terminal} or @q{console}.  OSX users should also consult @ref{MacOS X
+@q{command shell}; MacOS@tie{}X users might be more familiar with the terms
+@q{terminal} or @q{console}.  They should also consult @ref{MacOS X
 on the command-line}.
 
 Describing how to use this part of an operating system is outside the
@@ -56,7 +56,7 @@ if you are unfamiliar with the command-line.
 @cindex switches
 
 
-The @code{lilypond} executable may be called as follows from the command line.
+The @command{lilypond} executable may be called as follows from the command line.
 
 @example
 lilypond [@var{option}]@dots{} @var{file}@dots{}
@@ -232,7 +232,7 @@ This mode is used by default by lilypond-book.
 @cindex SVG (Scalable Vector Graphics)
   You need a SVG viewer which supports embedded fonts, or a SVG
   viewer which is able to replace the embedded fonts with OTF fonts.
-  Under Unix, you may use @uref{http://www.inkscape.org,Inkscape}
+  Under UNIX, you may use @uref{http://www.inkscape.org,Inkscape}
   (version 0.42 or later), after copying the OTF fonts in directory
   @file{PATH/TO/share/lilypond/VERSION/fonts/otf/} to @file{~/.fonts/}.
 @item scm
@@ -294,19 +294,19 @@ Generate PDF.  This implies @code{--ps}.
 
 
 @item -j,--jail=@var{user},@var{group},@var{jail},@var{dir}
-Run LilyPond in a chroot jail.
+Run @command{lilypond} in a chroot jail.
 
 The @code{--jail} option provides a more flexible alternative to
 @code{--safe} when LilyPond formatting is available through a web
 server or whenever LilyPond executes externally provided
 sources.
 
-The @code{--jail} option works by changing the root of LilyPond to
+The @code{--jail} option works by changing the root of @command{lilypond} to
 @var{jail} just before starting the actual compilation process.  The user
 and group are then changed to match those provided, and the current
 directory is changed to @var{dir}.  This setup guarantees that it is not
 possible (at least in theory) to escape from the jail.  Note that for
-@code{--jail} to work LilyPond must be run as root, which is usually
+@code{--jail} to work @command{lilypond} must be run as root, which is usually
 accomplished in a safe way using @command{sudo}.
 
 Setting up a jail is a slightly delicate matter, as we must be sure that
@@ -371,7 +371,7 @@ Show the warranty with which GNU LilyPond comes. (It comes with
 @cindex LANG
 @cindex LILYPOND_DATADIR
 
-@code{Lilypond} recognizes the following environment variables:
+@command{lilypond} recognizes the following environment variables:
 @table @code
 @item LILYPOND_DATADIR
 This specifies a directory where locale messages and
@@ -485,7 +485,7 @@ convert-ly -e myfile.ly
 @end example
 
 @noindent
-MacOS X users may execute this command under the menu entry
+MacOS@tie{}X users may execute this command under the menu entry
 @code{Compile > Update syntax}.
 
 If there are no changes to myfile.ly and file called myfile.ly.NEW
@@ -510,7 +510,7 @@ convert-ly --from=... --to=... -s
 @end example
 
 To upgrade many files at once, combine @code{convert-ly} with
-standard unix commands.  This example will upgrade all @code{.ly}
+standard UNIX commands.  This example will upgrade all @code{.ly}
 files in the current directory
 
 @example
@@ -559,7 +559,7 @@ Print usage help.
 @subsection Problems with @code{convert-ly}
 
 Not all language changes are handled.  Only one output option can be
-specified.  Automatically updating scheme and lilypond scheme
+specified.  Automatically updating scheme and LilyPond scheme
 interfaces is quite unlikely; be prepared to tweak scheme code
 manually.
 
@@ -575,7 +575,7 @@ Thus this is just a wishlist, placed here for reference.
  Doesn't always convert figured bass correctly, specifically things like {<
 >}.  Mats' comment on working around this:
    To be able to run convert-ly
-   on it, I first replaced all occurencies of '{<' to some dummy like '{#'
+   on it, I first replaced all occurrences of '{<' to some dummy like '{#'
    and similarly I replaced '>}' with '&}'.  After the conversion, I could
    then change back from '{ #' to '{ <' and from '& }' to '> }'.
  Doesn't convert all text markup correctly.  In the old markup syntax,
@@ -625,7 +625,7 @@ converted.
 @cindex reporting bugs
 
 If you have input that results in a crash or an erroneous output, then
-that is a bug.  There is a list of current bugs on our google bug tracker,
+that is a bug.  There is a list of current bugs on our Google bug tracker,
 
 @uref{http://code.google.com/p/lilypond/issues/list}
 
index 74e18dde7b803078f92479e3c66bd651e8105b76..757951b5fb0c093542b11dbce3972662d0e2461d 100644 (file)
@@ -218,7 +218,7 @@ respectively,
 We have seen how LilyPond output can be heavily modified using
 commands like
 @code{\override TextScript #'extra-offset = ( 1 . -1)}.  But
-we have even more power if we use Scheme.  For a full explantion
+we have even more power if we use Scheme.  For a full explanation
 of this, see the @ref{Scheme tutorial}, and
 @ruser{Interfaces for programmers}.
 
index 63599d440dc33fe7de77be7c322ac8c21c10b5bb..1294cddeaec2bcc9a9d6fd81d6b756f0a0cceddf 100644 (file)
@@ -36,7 +36,7 @@ operating systems.
 @subsection MacOS X on the command-line
 
 The scripts (such as lilypond-book, convert-ly, abc2ly, and even
-lilypond itself) are included inside MacOS X .app.  They can be run from
+lilypond itself) are included inside the .app file for MacOS@tie{}X.  They can be run from
 the command line by invoking them directly, e.g.
 
 @example
@@ -158,7 +158,7 @@ set runtimepath+=/usr/local/share/lilypond/$@{LILYPOND_VERSION@}/vim/
 @end example
 
 @noindent
-where $@{LILYPOND_VERSION@} is your lilypond version.  If Lilypond was not
+where $@{LILYPOND_VERSION@} is your LilyPond version.  If LilyPond was not
 installed in @file{/usr/local/}, then change this path accordingly.
 
 
@@ -178,7 +178,7 @@ installation instructions, visit
 @subsection TexShop
 
 The @uref{http://@/www@/.uoregon@/.edu/~koch/texshop/index@/.html,TexShop}
-editor for Mac OS X can be extended to run LilyPond, lilypond-book and
+editor for MacOS@tie{}X can be extended to run LilyPond, lilypond-book and
 convert-ly from within the editor, using the extensions available at 
 @uref{http://@/www@/.dimi@/.uniud@/.it/vitacolo/freesoftware@/.html}.
 
@@ -213,8 +213,8 @@ To make this chain work, you should configure your PDF viewer to
 follow hyperlinks using the @file{lilypond-invoke-editor} script
 supplied with LilyPond.
 
-For Xpdf on Unix, the following should be present in
-@file{xpdfrc}@footnote{On unix, this file is found either in
+For Xpdf on UNIX, the following should be present in
+@file{xpdfrc}@footnote{On UNIX, this file is found either in
 @file{/etc/xpdfrc} or as @file{.xpdfrc} in your home directory.}
 
 @example
index c4e1302554079c8db9626769f54faa7dd4442cd7..a8ea66610b7b05ce4dfd597231b06791aeb18bc0 100644 (file)
@@ -654,7 +654,7 @@ lines.  This behavior can be changed by setting
 @node Page breaking
 @subsection Page breaking
 
-The default page breaking may be overriden by inserting
+The default page breaking may be overridden by inserting
 @code{\pageBreak} or @code{\noPageBreak} commands.  These commands are
 analogous to @code{\break} and @code{\noBreak}.  They should be
 inserted at a bar line.  These commands force and forbid a page-break
@@ -785,7 +785,7 @@ than one, they will interfere with each other.
 
 The @code{ly:minimal-breaking} function performs minimal computations to
 calculate the page breaking: it fills a page with as many systems as
-possible before moving to the next one.  Thus, it may be prefered for
+possible before moving to the next one.  Thus, it may be preferred for
 scores with many pages, where the other page breaking functions could be
 too slow or memory demanding, or a lot of texts.  It is enabled using:
 
@@ -806,9 +806,9 @@ commands.  There are two commands to override this behavior:
 \override NonMusicalPaperColumn #'page-break-permission = ##f
 @end example
 
-When @code{line-break-permission} is overriden to false, Lily will insert
+When @code{line-break-permission} is overridden to false, Lily will insert
 line breaks at explicit @code{\break} commands and nowhere else.  When
-@code{page-break-permission} is overriden to false, Lily will insert
+@code{page-break-permission} is overridden to false, Lily will insert
 page breaks at explicit @code{\pageBreak} commands and nowhere else.
 
 @lilypond[quote,verbatim]
@@ -1059,7 +1059,7 @@ Space between systems are controlled by four @code{\paper} variables,
 @end example
 
 When only a couple of flat systems are placed on a page, the resulting
-vertical spacing may be non-eleguant: one system at the top of the page,
+vertical spacing may be non-elegant: one system at the top of the page,
 and the other at the bottom, with a huge gap between them.  To avoid this
 situation, the space added between the systems can be limited.  This
 feature is activated by setting to @code{#t} the
@@ -1320,7 +1320,7 @@ stretched according to the data in the page layout file.
 The @code{ragged-bottom} property adds space between systems, while
 the two-pass technique adds space between staves inside a system.
 
-To allow this behaviour, a @code{tweak-key} variable has to be set in
+To allow this behavior, a @code{tweak-key} variable has to be set in
 each score @code{\layout} block, and the tweaks included in each score
 music, using the @code{\scoreTweak} music function.
 
@@ -1418,7 +1418,7 @@ c^"This text is placed close to the previous text"
 TODO: this example doesn't work any more ?
 
 By default, outside-staff objects are placed without regard to
-their horizontal distance from the previously-posititioned grobs.  This
+their horizontal distance from the previously-positioned grobs.  This
 can lead to situations in which objects are placed very close to each
 other horizontally.  Setting @code{outside-staff-horizontal-padding}
 causes an object to be offset vertically so that such a situation
@@ -1456,7 +1456,7 @@ c''2
 @subsection Horizontal spacing overview
 
 The spacing engine translates differences in durations into stretchable
-distances (@q{springs}) of differring lengths.  Longer durations get
+distances (@q{springs}) of differing lengths.  Longer durations get
 more space, shorter durations get less.  The shortest durations get a
 fixed amount of space (which is controlled by
 @code{shortest-duration-space} in the @internalsref{SpacingSpanner}
@@ -1717,7 +1717,7 @@ in which each note consumes an amount of horizontal space exactly
 equivalent to its rhythmic duration.  This type of proportional spacing
 is comparable to horizontal spacing on top of graph paper.  Some late
 20th- and early 21st-century scores use proportional notation to
-clarify complex rhythmic relationships or to faciliate the placement
+clarify complex rhythmic relationships or to facilitate the placement
 of timelines or other graphics directly in the score.
 
 LilyPond supports five different settings for proportional notation,
@@ -1787,7 +1787,7 @@ The @code{proportionalNotationDuration} setting is a context setting that
 lives in @code{Score}.  Recall that context settings appear in one of
 three locations in our input file -- in a @code{\with} block, in a
 @code{\context} block, or directly in music entry
-preceeded by the @code{\set} command.  As with all
+preceded by the @code{\set} command.  As with all
 context settings, users can pick which of the three different
 locations they would like to set @code{proportionalNotationDuration}.
 
@@ -1987,7 +1987,7 @@ reduces this space to zero.
 @end lilypond
 
 Nonmusical elements like time signatures, key signatures, clefs and
-accidentals are problemmatic in proportional notation.  None of these
+accidentals are problematic in proportional notation.  None of these
 elements has rhythmic duration.  But all of these elements consume
 horizontal space.  Different proportional scores approach these
 problems differently.
@@ -2181,10 +2181,10 @@ ragged-last = ##t
 @node Page breaks
 @subsection Page breaks
 
-The default page breaking may be overriden by inserting 
+The default page breaking may be overridden by inserting 
 @code{\pageBreak} or @code{\noPageBreak} commands.
 These commands are analogous to the @code{\break} and 
-@code{\noBreak} commands discused above and force or forbid 
+@code{\noBreak} commands discussed above and force or forbid 
 a page-break at the point where they are inserted.
 Of course, the @code{\pageBreak} command also forces a line break.
 Like @code{\break}, the @code{\pageBreak} command is effective only
@@ -2261,7 +2261,7 @@ e4 c g\f c
 @item
 Alter the horizontal spacing via @code{SpacingSpanner}.  See
 @ruser{Changing horizontal spacing}, for more details.  Here's
-an example first showing the default behaviour:
+an example first showing the default behavior:
 
 @lilypond[verbatim,quote,ragged-right]
 \score {
index 68e78ac3fe6ae6ee935765c3fe65954108466774..08cf25bfec5af11e9d4ca9f230bf92914103b666 100644 (file)
@@ -31,53 +31,106 @@ staves into groups, which can be marked in the beginning of each
 line with either a bracket or a brace.
 
 @menu
-* Initiating new staves::       
-* Grouping staves::             
+* Instantiating new staves::
+* Grouping staves:: 
+* Deeper nested staff groups::  
 @end menu
 
-@node Initiating new staves
-@subsubsection Initiating new staves
+@node Instantiating new staves
+@subsubsection Instantiating new staves
 
 @cindex new staff
 @cindex staff initiation
+@cindex staff instantiation
 @cindex staff, new
+@cindex staff, single
+@cindex drum staff
+@cindex percussion staff
+@cindex Gregorian transcription staff
+@cindex rhythmic staff
+@cindex tabstaff
+@cindex tablature
 
-The lines of a staff (pl. staves) are produced by a @code{staff symbol} 
-layout object.
-LilyPond ensures that all music is printed on staff lines so if you just
-type in some notes, the staff symbol is added automatically to the output.
-This is just a shortcut to make the program usage more easy, but in most
-cases where you want to print more complex music on more than on staff
-it is better to create the staff explicitly at the beginning of your
-music inside of the @code{\score} environment.
+The lines of a staff (pl. staves) are produced by the @code{staff symbol} 
+layout object.  Staves are created with the @code{\new} or
+@code{\context} commands.  For an explanation on these commands,
+see @ref{Creating contexts}.
 
-With the command @code{\new Staff @{ ... @}} you actually call a new 
-Staff context that has already everything set up to the default 
-engraving rules. @ref{Creating contexts} explains how different contexts
-are called.
+There are different predefined staff contexts available in LilyPond:
+
+@itemize
+@item
+The default is @code{Staff}:
+@lilypond[verbatim,ragged-right,quote]
+\relative c'' {
+  \new Staff { c d e f }
+}
+@end lilypond
+
+@item
+@code{DrumStaff} creates a five line staff set up for a typical drum set.
+It uses different names for each instrument.  The instrument names have to
+be set using the @code{drummode}.  See @ref{Percussion staves}.
+@lilypond[verbatim,ragged-right,quote]
+\new DrumStaff { 
+  \drummode { cymc hh ss tomh }
+}
+@end lilypond
+
+@item
+@code{GregorianTranscriptionStaff} sets up a staff to notate modern
+Gregorian chant.  It does not show bar lines.
+@lilypond[verbatim,ragged-right,quote]
+\relative c'' {
+  \new GregorianTranscriptionStaff { c d e f }
+}
+@end lilypond
+
+@item
+@code{RhythmicStaff} can be used to show the rhythm of some music.  The
+notes are printed on one line regardless of their pitch, but the duration
+is preserved.  See @ref{Showing melody rhythms}.
+@lilypond[verbatim,ragged-right,quote]
+\relative c'' {
+  \new RhythmicStaff { c d e f }
+}
+@end lilypond
+
+@item
+@code{TabStaff} creates by default a tablature with six strings in 
+standard guitar tuning.  See @ref{Tablatures basic}.
+@lilypond[verbatim,ragged-right,quote]
+\relative c'' {
+  \new TabStaff { c d e f }
+}
+@end lilypond
+
+@end itemize
+
+@noindent
+Besides these staves there are two staff contexts specific for the notation
+of ancient music: @code{MensuralStaff} and @code{VaticanaStaff}.  They are
+described in @ref{Pre-defined contexts}.
 
 Once a staff is instantiated it can be started or stopped at every point
-in the score. This is done with the commands @code{\startStaff} and 
-@code{\stopStaff}. How to use it is shown in @ref{Staff symbol}.
+in the score.  This is done with the commands @code{\startStaff} and 
+@code{\stopStaff}.  How to use it is explained in @ref{Staff symbol}.
 
-Besides the default @code{Staff} context there are also
-specialized staff contexts for setting percussion, Guitar music,
-and ancient music.
-See @ref{Printing chord names}, @ref{Percussion staves}, 
-@ref{Tablatures basic}, @ref{Gregorian Chant contexts}, and
-@ref{Mensural contexts} for an explanation.
 
 @seealso
 
 Music Glossary: @rglos{staff}, @rglos{staves}.
 
-Notation Reference: @ref{Printing chord names}, @ref{Percussion staves}, 
+Notation Reference: @ref{Percussion staves}, 
 @ref{Tablatures basic}, @ref{Gregorian Chant contexts}, and
 @ref{Mensural contexts}.
 
 Snippets: @lsrdir{Staff,Staff-notation}.
 
-Internals Reference: @internalsref{Staff}.
+Internals Reference: @internalsref{Staff}, @internalsref{DrumStaff},
+@internalsref{GregorianTranscriptionStaff}, @internalsref{RhythmicStaff},
+@internalsref{TabStaff}, @internalsref{MensuralStaff},
+@internalsref{VaticanaStaff}.
 
 
 
@@ -98,9 +151,17 @@ Internals Reference: @internalsref{Staff}.
 @cindex system
 
 LilyPond provides different types of contexts to group single staves 
-together. These contexts influence in the first place the appearance
+together.  These contexts influence in the first place the appearance
 of the system start delimiter, but they have also influence on the
-behaviour of the bar lines.
+behavior of the bar lines.
+
+Each staff group context sets the property
+@code{systemStartDelimiter} to one of the values
+@code{SystemStartBar}, @code{SystemStartBrace},
+and @code{SystemStartBracket}.  A fourth delimiter,
+@code{systemStartSquare}, is also available, but must be
+instantiated manually.  The usage of this last delimiter is shown further
+down in the snippet section.
 
 
 @itemize
@@ -110,10 +171,10 @@ will be used: the group is started with a vertical line, and the
 bar lines are not connected.  
 
 @lilypond[verbatim,ragged-right,quote]
-\relative c'' <<
+\relative c'' <<
   \new Staff { c1 c }
   \new Staff { c c }
->> }
+>>
 @end lilypond
 
 @item
@@ -160,109 +221,162 @@ The @code{PianoStaff} behaves almost as the @code{GrandStaff} but is
 optimized for setting piano music.
 
 @lilypond[verbatim,ragged-right,quote]
-\new PianoStaff
-\relative c'' <<
-  \new Staff { c1 c }
-  \new Staff { c c }
->>
+\new PianoStaff {
+  \relative c'' <<
+    \new Staff { c1 c }
+    \new Staff { c c }
+  >>
+}
 @end lilypond
 
 @end itemize
 
 According to classic engraver rules an orchestral score consists of
-staves connected only with a single line at the beginning of the system.
+staves connected only with a single line at the beginning of the system. 
 In LilyPond this is produced grouping the @code{Staff} contexts with
 @code{<< ... >>}.
 
 Each instrument family is grouped inside of a @code{StaffGroup} with a 
-starting bracket. A group of same instruments or an instrument using
+starting bracket.  A group of same instruments or an instrument using
 more than one staff is grouped with braces in a @code{GrandStaff}.
 
 As the context names tell, @code{PianoStaff} is used for notating
 piano music and @code{ChoirStaff} for all kind of vocal ensemble music.
 
-Here is an example of an orchestral score using groupings. Note that the
-instrument names are omited here, see @ref{Instrument names} how to set 
-them.
 
-@lilypond[verbatim,ragged-right,quote]
-\score{ \relative c' {
-<<
-  \new StaffGroup %the woodwinds group
+@snippets
+
+@c FIXME: not yet in master
+@c @lilypondfile[verbatim,lilyquote,ragged-right,texidoc]
+@c {use-square-bracket-at-the-start-of-a-staff-group.ly}
+
+@lilypondfile[verbatim,lilyquote,ragged-right,texidoc]
+{display-bracket-with-only-one-staff-in-a-system.ly}
+
+@cindex mensurstriche layout
+@cindex renaissance music
+@cindex transcription of mensural music
+@cindex mensural music, transcription of
+
+@lilypondfile[verbatim,lilyquote,ragged-right,texidoc]
+{mensurstriche-layout-bar-lines-between-the-staves.ly}
+
+
+@seealso
+
+Music Glossary: @rglos{brace}, 
+@rglos{bracket}.
+
+Snippets: @lsrdir{Staff,Staff-notation}
+
+Internals Reference: @internalsref{ChoirStaff},
+@internalsref{GrandStaff}, @internalsref{StaffGroup},
+@internalsref{SystemStartBar}, @internalsref{SystemStartBrace},
+@internalsref{SystemStartBracket}, and @internalsref{systemStartSquare}.
+
+
+@node Deeper nested staff groups
+@subsubsection Deeper nested staff groups
+
+There are also two inner staff contexts named @code{InnerStaffGroup}
+and @code{InnerChoirStaffGroup} besides the grouping contexts mentioned
+in @ref{Grouping staves}.  They behave in the same way as their simple
+counterparts, except that they are contained in another staff grouping
+context, thus producing one more bracket on top of the existing one. 
+Note that @code{GrandStaff} and @code{PianoStaff} do not have any inner
+grouping contexts.  They can both be inside any other staff context, 
+including inner staff groups, though.
+
+Here is an example of an orchestral score using groupings and nesting
+of these groupings.  Note that the instrument names are omitted from the
+source code, see @ref{Instrument names} how to set them.
+
+@cindex staff, nested
+@cindex staves, nested
+@cindex nesting of staves
+@cindex system start delimiters, nested
+@cindex nested staff brackets
+@cindex brackets, nesting of
+@cindex braces, nesting of
+@cindex inner staff group
+@cindex inner choir staff group
+
+
+@example
+\score @{ <<
+  \new StaffGroup %woodwinds
   <<
-    \new Staff { c1 c }
-    \new Staff { c c }
-    \new Staff { c c }
+  \new Staff @{ c'1 d' @} %flute
+  \new InnerStaffGroup <<
+    \new Staff @{ c' d' @} %sax 
+    \new Staff @{ c' d' @} %oboe
+    \new Staff @{ c' d' @} %English horn
+    >>
+  \new Staff @{ \clef bass c d @} %bassoon
   >>
   \new StaffGroup %the brass group
   <<
-    \new Staff { c c }
-    \new Staff { c c }
+    \new Staff @{ c' d' @} %trumpet
+    \new Staff @{ \clef bass c d @} %trombone
     \new GrandStaff %the horns need a GrandStaff (same instrument)
     <<
-      \new Staff { c c }
-      \new Staff {\clef bass c c }
+      \new Staff @{ c' d' @}
+      \new Staff @{ \clef bass c d @}
     >>
   >>
-  \new ChoirStaff %for a vocal part
+  \new ChoirStaff %for setting vocal music
   <<
-    \new Staff { c c }
-    \new Staff {\clef alto c c }
-    \new Staff {\clef bass c c }
+   \new Staff @{ c' d' @}
+    \new InnerChoirStaff <<
+     \new Staff @{ c' d' @}
+     \new Staff @{ c' d' @}
+    >>
+   \new Staff @{ c' d' @}
   >>
   \new PianoStaff %for the piano
   <<
-    \new Staff { c c }
-    \new Staff {\clef bass c c }
+    \new Staff @{ c' d' @}
+    \new Staff @{\clef bass c d @}
   >>
->>
-} }
-@end lilypond
-
-The different staff contexts are already nested in this example, as
-the @q{horn section} is contained both in a @code{StaffGroup} and a 
-@code{GrandStaff}.
-
-@cindex staff, nested
-
-It is also possible to nest staves of the same type with the contexts
-@code{InnerStaffGroup} and @code{InnerChoirStaffGroup}. These behave like
-the corresponding normal staff groups but can only initiated inside of
-another staff context. Again LilyPond would add a normal @code{StaffGroup}
-to the output, if you would start a score with an @code{InnerStaffGroup}. 
-
-Note that @code{GrandStaff} and @code{PianoStaff} do not have any inner
-grouping contexts. They can both be inside an inner staff context, though.
+>> @}
+@end example
 
-@c snippet staff-brackets.ly
-@lilypond[verbatim,ragged-right,quote]
-\score { 
-<<
-  \new StaffGroup << 
-  \new Staff {c' d' e' f'}
+@c no verbatim so instrument names are only in the music
+@lilypond[ragged-right,quote]
+\score { <<
+  \new StaffGroup %woodwinds
+  <<
+  \new Staff {\set Staff.instrumentName = "fl" c'1 d' } %flute
   \new InnerStaffGroup <<
-   \new Staff {c' d' e' f'}
-   \new GrandStaff <<
-     \new Staff {c' d' e' f'}
-     \new Staff {c' d' e' f'}
-   >>
-  \new Staff {c' d' e' f'}
+    \new Staff { \set Staff.instrumentName = "sax" c' d' } %sax 1
+    \new Staff { \set Staff.instrumentName = "ob" c' d' } %sax 2
+    \new Staff { \set Staff.instrumentName = "ca" c' d' }
+    >>
+  \new Staff {\set Staff.instrumentName = "bs" \clef bass c d } %bassoon
   >>
-  \new ChoirStaff <<
-   \new Staff {c' d' e' f'}
-    \new InnerStaffGroup <<
-     \new Staff {c' d' e' f'}
+  \new StaffGroup %the brass group
+  <<
+    \new Staff {\set Staff.instrumentName = "tr" c' d' } %trumpet
+    \new Staff {\set Staff.instrumentName = "tb" \clef bass c d } %trombone
+    \new GrandStaff %the horns need a GrandStaff (same instrument)
+    <<
+      \new Staff {\set Staff.instrumentName = "cor1" c' d' }
+      \new Staff {\set Staff.instrumentName = "cor2" \clef bass c d }
     >>
-   \new Staff {c' d' e' f'}
   >>
+  \new ChoirStaff %for setting vocal music
+  <<
+   \new Staff {\set Staff.instrumentName = "S" c' d' }
+    \new InnerChoirStaff <<
+     \new Staff {\set Staff.instrumentName = "A1" c' d' }
+     \new Staff {\set Staff.instrumentName = "A2" c' d' }
+    >>
+   \new Staff {\set Staff.instrumentName = "T" c' d' }
   >>
-  \new ChoirStaff << 
-   \new Staff {c' d' e' f'}
-   \new InnerChoirStaff <<
-    \new Staff {c' d' e' f'}
-    \new Staff {c' d' e' f'}
-   >>
-   \new Staff {c' d' e' f'}
+  \new PianoStaff %for the piano
+  <<
+    \new Staff { c' d' }
+    \new Staff {\clef bass c d }
   >>
 >> }
 @end lilypond
@@ -270,87 +384,15 @@ grouping contexts. They can both be inside an inner staff context, though.
 
 @snippets
 
-@c FIXME: not yet in master
-@c @lilypondfile[verbatim,lilyquote,ragged-right,texidoc]
-@c {nesting-staves.ly}
-
+@lilypondfile[verbatim,lilyquote,ragged-right,texidoc]
+{nesting-staves.ly}
 
-More complex nesting can be accomplished using the property
-@code{systemStartDelimiterHierarchy}: 
-
-@lilypond[quote,ragged-right,verbatim]
-\new StaffGroup
-\relative <<
-  \set StaffGroup.systemStartDelimiterHierarchy
-    = #'(SystemStartSquare (SystemStartBracket a
-                             (SystemStartSquare b)) d)
-  \new Staff { c1 }
-  \new Staff { c1 }
-  \new Staff { c1 }
-  \new Staff { c1 }
-  \new Staff { c1 }
->>
-@end lilypond
-
-Each staff group context sets the property
-@code{systemStartDelimiter} to one of the values
-@internalsref{SystemStartBar}, @internalsref{SystemStartBrace},
-and @internalsref{SystemStartBracket}.  A fourth delimiter,
-@code{systemStartSquare}, is also available, but must be
-instantiated manually
-
-
-
-@cindex mensurstriche layout
-@cindex renaissance music
-@cindex transcription of mensural music
-@cindex mensural music, transcription of
-
-
-@c FIXME: not yet in master
-@c @lilypondfile[verbatim,lilyquote,ragged-right,texidoc]
-@c {mensurstriche-layout.ly}
-
-Other groupings may be achieved by changing various properties.
-E.g., the
-@q{Mensurstriche} layout common in Renaissance music, with
-bar lines running between but not through the staves, can be
-produced from a @code{StaffGroup} or @code{GrandStaff} context if
-the bar lines are made transparent in the @code{Staff} itself:
-
-@lilypond[verbatim,ragged-right,quote]
-global = {\override Staff.BarLine #'transparent = ##t
-          s1 s
-          %the final bar line is not interupted
-          \once \override Staff.BarLine #'transparent = ##f
-          \bar "|."}
-\new StaffGroup
-\relative c'' <<
-  \new Staff {<< \global { c1 c } >>}
-  \new Staff {<< \global { c c } >>}
->>
-@end lilypond
-
-
-
-@c FIXME: Graham will deal with this.  -gp
-@c snippet 201
-To display a bracket even if there is only one staff, see
-@c @lilypondfile[verbatim,lilyquote,ragged-right,texidoc]
-@c {staff,display-bracket-with-only-one-staff-in-a system.ly}
 
 @seealso
 
-Music Glossary: @rglos{brace}, 
-@rglos{bracket}.
-
-Snippets: @lsrdir{Staff,Staff-notation}
-
-Internals Reference: @internalsref{ChoirStaff},
-@internalsref{GrandStaff}, @internalsref{PianoStaff}, 
-@internalsref{StaffGroup},
-@internalsref{SystemStartBar}, @internalsref{SystemStartBrace},
-@internalsref{SystemStartBracket}, @internalsref{SystemStartSquare}.
+Internals Reference: @internalsref{SystemStartBar}, 
+@internalsref{SystemStartBrace}, @internalsref{SystemStartBracket},
+@internalsref{systemStartDelimiterHierarchy}.
 
 
 
@@ -358,15 +400,22 @@ Internals Reference: @internalsref{ChoirStaff},
 @subsection Modifying single staves
 
 @menu
-* Staff symbol::                
-* Ossia staves::                
-* Hiding staves::               
+* Staff symbol::   
+* Ossia staves::             
+* Hiding staves::    
 @end menu
 
 @node Staff symbol
 @subsubsection Staff symbol
 
 @cindex adjusting staff symbol
+@cindex drawing staff symbol
+@cindex stop staff lines
+@cindex start staff lines
+@cindex staff lines, amount of
+@cindex staff line, thickness of
+@cindex amount of staff lines
+@cindex thickness of staff lines
 
 The layout object which draws the lines of a staff is called
 @code{staff symbol}.  The staff symbol may be tuned in the number,
@@ -435,6 +484,11 @@ In combination with Frenched staves, this may be used to typeset
 @cindex thickness of staff lines, setting
 @cindex number of staff lines, setting
 
+@snippets
+
+@c  lilypondfile{Making-some-staff-lines-thicker-than-the-others.ly}
+@c snippet 277
+
 @seealso
 
 Music Glossary: @rglos{ossia}, @rglos{staff}, @rglos{Frenched staff}.
index c621d1e61fa16cf218aa794dcba4a34ce6850e4e..1fc9e7923ac7da46754d21dd3729452211ea501d 100644 (file)
@@ -14,7 +14,7 @@ This section of the manual contains templates with the LilyPond score
 already set up for you.  Just add notes, run LilyPond, and enjoy
 beautiful printed scores!
 
-@c bad node name for ancient notation to avoid confict
+@c bad node name for ancient notation to avoid conflict
 @menu
 * Single staff::                
 * Piano templates::             
@@ -22,7 +22,7 @@ beautiful printed scores!
 * Vocal ensembles::             
 * Ancient notation templates::  
 * Jazz combo::                  
-* Lilypond-book templates::     
+* lilypond-book templates::     
 @end menu
 
 
@@ -108,7 +108,7 @@ beautiful printed scores!
 {vocal-ensemble-template-with-lyrics-aligned-below-and-above-the-staves.ly}
 
 
-@c bad node name to avoid node name confict
+@c bad node name to avoid node name conflict
 @node Ancient notation templates
 @appendixsec Ancient notation templates
 
@@ -199,11 +199,11 @@ violin concerto as TchaikovskyPI, whereas perhaps you wish to print
 @end ignore
 
 
-@node Lilypond-book templates
-@appendixsec Lilypond-book templates
+@node lilypond-book templates
+@appendixsec lilypond-book templates
 
 These templates are for use with @code{lilypond-book}.  If you're not familiar
-with this program, please refer to @rprogram{LilyPond-book}.
+with this program, please refer to @rprogram{lilypond-book}.
 
 @appendixsubsec LaTeX
 
@@ -279,7 +279,7 @@ d4 c b a
 \usepackage{graphicx}
 
 \begin{document}
-\title{A short document with lilypond and xelatex}
+\title{A short document with LilyPond and xelatex}
 \maketitle
 
 Normal \textbf{font} commands inside the \emph{text} work,
@@ -289,7 +289,7 @@ should include them again in a \verb+\ifxetex+ environment.
 You can use this to print the \ifxetex \XeTeX{} command \else
 XeTeX command \fi which is not known to normal \LaTeX .
 
-In normal text you can easily use lilypond commands, like this:
+In normal text you can easily use LilyPond commands, like this:
 
 \begin{lilypond}
 {a2 b c'8 c' c' c'}
@@ -298,7 +298,7 @@ In normal text you can easily use lilypond commands, like this:
 \noindent
 and so on.
 
-The fonts of snippets set with lilypond will have to be set from
+The fonts of snippets set with LilyPond will have to be set from
 inside 
 of the snippet. For this you should read the AU on how to use
 lilypond-book.
index 6038acd44512a1127ae5f361f22f603ed13ed8a3..e7e054c0f2d22b878c50ceed0508feb3d2d6d3f9 100644 (file)
@@ -17,13 +17,12 @@ formatting) in your scores.
 @cindex Text, other languages
 @warning{To write accented and special text (such as characters
 from other languages), simply insert the characters directly into
-the lilypond file.  The file must be saved as UTF-8.  For more
+the LilyPond file.  The file must be saved as UTF-8.  For more
 information, see @ref{Text encoding}.}
 
 @menu
 * Writing text::                
 * Text markup::                 
-* Special text concerns::       
 @end menu
 
 
@@ -113,6 +112,15 @@ d8^\markup { \italic pizz. } e f g
 a4_\markup { \tiny scherz. \bold molto } f
 @end lilypond
 
+By default, text indications do not influence the note spacing.
+However, their widths can be taken into account:
+in the following example, the first text string does not affect 
+spacing, whereas the second one does.
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=1]
+d8^"pizz." e f g \textLengthOn a4_"scherzando" f
+@end lilypond
+
 @predefined
 
 @funindex \textLengthOn
@@ -120,30 +128,20 @@ a4_\markup { \tiny scherz. \bold molto } f
 @funindex \textLengthOff
 @code{\textLengthOff}.
 
-By default, text indications do not influence the note spacing.
-However, their widths can be taken into account using the following
-syntax:
 
-@example 
-\textLengthOn
-@var{note}@code{-"text"}
-\textLengthOff
-@end example 
+@seealso
 
-In the following example, the first text string does not affect 
-spacing, whereas the second one does.
+Notation Reference: @ref{Text markup}.
 
-@lilypond[quote,fragment,ragged-right,verbatim,relative=1]
-d8^"pizz." e f g \textLengthOn a4_"scherzando" f
-@end lilypond
+Snippets: @lsrdir{Text,Text}
 
+Internals Reference: @internalsref{TextScript}.
 
-@snippets
+@knownissues
 
-@c FIXME: add an example and LSR-ize this? -vv
 Checking to make sure that text scripts and lyrics are within the
 margins is a relatively large computational task.  To speed up
-processing, lilypond does not perform such calculations by
+processing, LilyPond does not perform such calculations by
 default; to enable it, use
 
 @example
@@ -151,15 +149,6 @@ default; to enable it, use
 @end example
 
 
-@seealso
-
-Notation Reference: @ref{Text markup}.
-
-Snippets: @lsrdir{Text,Text}
-
-Internals Reference: @internalsref{TextScript}.
-
-
 @node Text spanners
 @subsubsection Text spanners
 
@@ -170,31 +159,26 @@ Internals Reference: @internalsref{TextScript}.
 
 Some performance indications, e.g., @i{rallentando} or
 @i{accelerando}, are written as text and are extended over many
-measures with dotted lines.  Such texts are created using text
-spanners; attach @code{\startTextSpan} and @code{\stopTextSpan} to
-the first and last notes of the spanner.
+measures with dotted lines; you can create such text spanners
+from one note to another by using the following syntax:
 
 @lilypond[verbatim,quote,ragged-right,fragment,relative=2]
-c1
-\override TextSpanner #'bound-details #'left #'text = "faster" 
-c2\startTextSpan b c\stopTextSpan a
+\override TextSpanner #'bound-details #'left #'text = "rit." 
+b1\startTextSpan 
+e,\stopTextSpan
 @end lilypond
 
 @noindent
-The string to be printed, as well as the style, is set through
-object properties. It can accept @code{\markup} blocks as well:
+The string to be printed is set through
+object properties. By default it is printed in italic characters,
+but different formatting can be obtained using
+@code{\markup} blocks:
 
-@lilypond[quote,ragged-right,fragment,relative=1,verbatim]
-c1
-\textSpannerDown
-\override TextSpanner #'bound-details #'left #'text =
-  \markup { \upright "rall" } 
-c2\startTextSpan b c\stopTextSpan a
-\break
-\textSpannerUp
+@lilypond[quote,ragged-right,fragment,relative=2,verbatim]
 \override TextSpanner #'bound-details #'left #'text =
-  \markup { \italic "rit" } 
-c2\startTextSpan b c\stopTextSpan a
+  \markup { \upright "rit." } 
+b1\startTextSpan c
+e,\stopTextSpan
 @end lilypond
 
 @predefined
@@ -206,14 +190,8 @@ c2\startTextSpan b c\stopTextSpan a
 @funindex textSpannerNeutral
 @code{\textSpannerNeutral}.
 
-
-@snippets
-
-To print a solid line, use
-
-@example
-\override TextSpanner #'style = #'line
-@end example
+The line style, as well as the text string, can be defined as an
+object property. This syntax is described in @ref{Line styles}.
 
 
 @seealso
@@ -232,17 +210,16 @@ Internals Reference: @internalsref{TextSpanner}.
 @cindex bar lines, symbols on
 @funindex \mark
 
-The @code{\mark} command is primarily used for @ref{Rehearsal
-marks}, but it can also be used to add text elements in a score:
+Various text elements can be added to a score using
+the syntax described in @ref{Rehearsal marks}:
 
 @lilypond[verbatim,quote,ragged-right,fragment,relative=2]
-c4\mark "text" c c c
+c4\mark "dolce" c c c
 @end lilypond
 
-As it can contain a @code{\markup} object, the @code{\mark} command
-makes possible to put any text, but also signs like coda, segno, or
-fermata on a bar line.  The appropriate symbol has to be specified in
-the @code{\markup} block; these symbols are listed in @ref{The Feta font}.
+This syntax makes possible to put any text on a bar line, but also
+signs like coda, segno, or fermata, by specifying  the appropriate
+symbol name.  These symbols are listed in @ref{The Feta font}.
 
 @lilypond[fragment,quote,ragged-right,verbatim,relative=2]
 c1 \mark \markup { \musicglyph #"scripts.ufermata" }
@@ -250,20 +227,17 @@ c1
 @end lilypond
 
 @noindent
-@code{\mark} is only typeset above the top staff of the score.  If
-you specify the @code{\mark} command at a bar line, the resulting
-mark is placed above the bar line.  If you specify it in the
-middle of a bar, the resulting mark is positioned between notes.
-If it is specified before the beginning of a score line, it is
-placed before the first note of the line.  Finally, if the mark
-occurs at a line break, the mark will be printed at the beginning
-of the next line.
+Such objects are only typeset above the top staff of the score; they
+can be placed above the bar line or between notes, depending on whether
+you specify it at the end or the middle of a bar. When specified at the
+beginning of a score or at a line break, the mark will be printed at
+the beginning of the line (the next line, in case of a line break).
 
-@c  IMO this is a bug; hopefully it'll be fixed soon, so I can
-@c  delete this sentence.   -gp
-@noindent
-If there is no next line, then the mark will not be printed at
-all.
+@lilypond[fragment,quote,ragged-right,verbatim,relative=2]
+\mark "dolce" c1
+c\mark "assai" \break
+c c
+@end lilypond
 
 
 @snippets
@@ -288,70 +262,70 @@ c1 c c c4 c c c
 \mark "D.S. al Fine "
 @end lilypond
 
-Text marks may be aligned with notation objects other than bar
-lines,
+If specified, text marks may be aligned with notation objects
+other than bar lines.  These objects include @code{ambitus},
+@code{breathing-sign}, @code{clef}, @code{custos},
+@code{staff-bar}, @code{left-edge}, @code{key-cancellation},
+@code{key-signature}, and @code{time-signature}.
 
-@lilypond[fragment,quote,ragged-right,verbatim,relative=2]
-\relative {
-  c1
-  \key cis \major
-  \clef alto
-  \override Score.RehearsalMark #'break-align-symbols = #'(key-signature)
-  \mark "on key"
-  cis
-  \key ces \major
+
+In such cases, text marks will be horizontally centered
+above the object. However this can be changed, as demonstrated
+on the second line of this example (in a score with multiple staves,
+this setting should be done for all the staves).
+
+
+@lilypond[fragment,quote,ragged-right,verbatim,relative=1]
+  e1
+  
+  % the RehearsalMark will be centered above the Clef
   \override Score.RehearsalMark #'break-align-symbols = #'(clef)
+  \key a \major
   \clef treble
-  \mark "on clef"
-  ces
+  \mark "↓"
+  e
+  
+  % the RehearsalMark will be centered above the TimeSignature
   \override Score.RehearsalMark #'break-align-symbols = #'(time-signature)
-  \key d \minor
-  \clef tenor
+  \key a \major
+  \clef treble
   \time 3/4
-  \mark "on time"
-  c
-}
-@end lilypond
-
-Possible symbols for the @code{break-align-symbols} list are
-@code{ambitus}, @code{breathing-sign}, @code{clef}, @code{custos},
-@code{staff-bar}, @code{left-edge}, @code{key-cancellation},
-@code{key-signature}, and @code{time-signature}.
-
-The text marks will, by default, be aligned with the middle of the
-notation object, but this can be changed by overriding the
-@code{break-align-anchor-alignment} and @code{break-align-anchor}
-properties for the appropriate grob. For scores with multiple staves,
-this setting should be done for all the staves. 
-
-@lilypond[fragment,quote,ragged-right,verbatim]
-{
+  \mark "↓"
+  e2.
+  
+  % the RehearsalMark will be centered above the KeySignature
   \override Score.RehearsalMark #'break-align-symbols = #'(key-signature)
-  c1
-  \key cis \major
+  \key a \major
+  \clef treble
+  \time 4/4
+  \mark "↓"
+  e1
 
+  \break
+  e
+  
   % the RehearsalMark will be aligned with the left edge of the KeySignature
   \once \override Score.KeySignature #'break-align-anchor-alignment = #LEFT
-  \mark \default
-  cis1
-  \key ces \major
-
+  \mark "↓"
+  \key a \major
+  e
+  
   % the RehearsalMark will be aligned with the right edge of the KeySignature
   \once \override Score.KeySignature #'break-align-anchor-alignment = #RIGHT
-  \mark \default
-  ces1
-  \key cis \major
-
+  \key a \major
+  \mark "↓"
+  e
+  
   % the RehearsalMark will be aligned with the left edge of the KeySignature
-  % and then shifted right by 2 units.
-  \once \override Score.KeySignature #'break-align-anchor = #2
-  \mark \default
-  ces1
-}
+  % and then shifted right by 1 unit.
+  \once \override Score.KeySignature #'break-align-anchor = #1
+  \key a \major
+  \mark "↓"
+  e1
 @end lilypond
 
 Although text marks are normally only printed above the topmost
-staff, you may alter this to print them on every staff,
+staff, you may alter this to print them on every staff:
 
 @lilypond[quote,ragged-right,verbatim,relative=2]
 {
@@ -378,9 +352,13 @@ Snippets: @lsrdir{Text,Text}
 
 Internals Reference: @internalsref{RehearsalMark}.
 
-@c TODO: add this here? -vv
-@c @node Text marks
-@c @subsubsection Text marks
+@knownissues
+@c  IMO this is a bug; hopefully it'll be fixed soon, so I can
+@c  delete this sentence.   -gp
+
+If a mark is entered at the end of the last bar of the score (where
+there is no next line), then the mark will not be printed at
+all.
 
 @node Text markup
 @subsection Text markup
@@ -400,8 +378,13 @@ Internals Reference: @internalsref{RehearsalMark}.
 @cindex markup text
 @cindex typeset text
 
-Use @code{\markup} to typeset text.  Commands are entered with the
-backslash @code{\}.  To enter @code{\} and @code{#}, use double
+A @code{\markup} block is used to typeset text with an extensible syntax,
+called @q{markup mode}.
+Specific commands can be entered in this mode, using the
+backslash @code{\} character.
+@c TODO: move the following sentence (and add an example?) -vv
+To @emph{print} such characters as
+@code{\} and @code{#} in the output, use double
 quotation marks.
 
 @lilypond[quote,verbatim,fragment,relative=1]
@@ -412,11 +395,11 @@ c1_\markup { "\special {weird} #characters" }
 @end lilypond
 
 @noindent
-See @ref{Overview of text markup commands}, for a list of all
-commands.
+An exhaustive list of @code{\markup}-specific commands can be found in
+@ref{Text markup commands}.
 
-@code{\markup} is primarily used for @internalsref{TextScript}s,
-but it can also be used anywhere text is called in lilypond
+@code{\markup} blocks can be used anywhere text is called,
+and not only for @internalsref{TextScript}s objects.
 
 @lilypond[quote,verbatim]
 \header{ title = \markup{ \bold { foo \italic { bar! } } } }
@@ -438,8 +421,10 @@ but it can also be used anywhere text is called in lilypond
 }
 @end lilypond
 
-A @code{\markup} command can also be placed on its own, away from
-any @code{\score} block, see @ref{Multiple scores in a book}.
+A @code{\markup} block can also be printed on its own at the top-level
+of the input file, away from
+any @code{\score} block. This syntax is described in
+@ref{Multiple scores in a book}.
 
 @lilypond[quote,ragged-right,verbatim]
 \markup{ Here is some text. }
@@ -447,15 +432,15 @@ any @code{\score} block, see @ref{Multiple scores in a book}.
 
 @cindex font switching
 
-The markup in the example demonstrates font switching commands.
-The command @code{\bold} and @code{\italic} apply to the first
-following word only; to apply a command to more than one word,
-enclose the words with braces,
+Some font switching commands are demonstrated here. Such commands
+apply only to the first following word; several words may be affected
+by enclosing them in braces.
 
 @example
 \markup @{ \bold @{ hi there @} @}
 @end example
 
+@c TODO: remove the following line and example? -vv
 @noindent
 For clarity, you can also do this for single arguments, e.g.,
 
@@ -463,11 +448,10 @@ For clarity, you can also do this for single arguments, e.g.,
 \markup @{ is \italic @{ anyone @} home @}
 @end example
 
-In markup mode you can compose expressions, similar to
+The markup mode can be used to compose expressions, similar to
 mathematical expressions, XML documents, and music expressions.
-You can stack expressions grouped vertically with the command
-@code{\column}.  Similarly, @code{\center-align} aligns texts by
-their center lines:
+Such expressions can be vertically stacked, horizontally centered, 
+or aligned in different ways:
 
 @lilypond[quote,verbatim,fragment,relative=1]
 c1^\markup { \column { a bbbb \line { c d } } }
@@ -475,18 +459,14 @@ c1^\markup { \center-align { a bbbb c } }
 c1^\markup { \line { a b c } }
 @end lilypond
 
-Lists with no previous command are not kept distinct.  The
-expression
+Lists with no previous command are not kept distinct.  In
+the following example, the two @code{\markup} expressions
+are equivalent:
 
-@example
-\center-align @{ @{ a b @} @{ c d @} @}
-@end example
-
-@noindent
-
-is equivalent to
+@c TODO: merge these two examples in a @lilypond example -vv
 
 @example
+\center-align @{ @{ a b @} @{ c d @} @}
 \center-align @{ a b c d @}
 @end example
 
@@ -534,12 +514,12 @@ c'4^\markup{ \hspace #0 \raise #1.5 raised }
 Some situations (such as dynamic marks) have preset font-related
 properties.  If you are creating text in such situations, it is
 advisable to cancel those properties with @code{normal-text}.  See
-@ref{Overview of text markup commands}, for more details.
+@ref{Text markup commands}, for more details.
 
 
 @seealso
 
-This manual: @ref{Overview of text markup commands}.
+This manual: @ref{Text markup commands}.
 
 Snippets: @lsrdir{Text,Text}
 
@@ -604,11 +584,11 @@ of text that can spread over multiple pages:
 @code{\markuplines} accepts a list of markup, that is either the
 result of a markup list command, or a list of markups or of markup
 lists.  The built-in markup list commands are described in
-@ref{Overview of text markup list commands}.
+@ref{Text markup list commands}.
 
 @seealso
 
-This manual: @ref{Overview of text markup list commands}, @ref{New
+This manual: @ref{Text markup list commands}, @ref{New
 markup list command definition}.
 
 Snippets: @lsrdir{Text,Text}
@@ -732,234 +712,3 @@ sans serif and monospaced text.  For example,
 Snippets: @lsrdir{Text,Text}
 
 
-@node Special text concerns
-@subsection Special text concerns
-
-@c FIXME: this section is to be removed
-@c (see comments below) -vv
-
-@menu
-* New dynamic marks::           
-* Text and line spanners::      
-@end menu
-
-@node New dynamic marks
-@subsubsection New dynamic marks
-
-@c FIXME: this whole section should be removed and put in
-@c "Writing text" -vv
-
-It is possible to print new dynamic marks or text that should be
-aligned with dynamics.  Use @code{make-dynamic-script} to create
-these marks.  Note that the dynamic font only contains the
-characters @code{f,m,p,r,s} and @code{z}.
-
-Some situations (such as dynamic marks) have preset font-related
-properties.  If you are creating text in such situations, it is
-advisable to cancel those properties with @code{normal-text}.  See
-@ref{Overview of text markup commands}, for more details.
-
-@cindex make-dynamic-script
-
-@lilypond[quote,verbatim,ragged-right]
-sfzp = #(make-dynamic-script "sfzp")
-\relative c' {
-  c4 c c\sfzp c
-}
-@end lilypond
-
-@cindex Dynamics, editorial
-@cindex Dynamics, parenthesis
-
-It is also possible to print dynamics in round parenthesis or
-square brackets.  These are often used for adding editorial
-dynamics.
-
-@lilypond[quote,verbatim,ragged-right]
-rndf = \markup{ \center-align {\line { \bold{\italic (}
-  \dynamic f \bold{\italic )} }} }
-boxf = \markup{ \bracket { \dynamic f } }
-{ c'1_\rndf c'1_\boxf }
-@end lilypond
-
-@seealso
-
-Snippets: @lsrdir{Text,Text}
-
-
-@node Text and line spanners
-@subsubsection Text and line spanners
-
-@c FIXME: this whole section has to be removed.
-@c glissando stuff should go into Expressive marks;
-@c Text spanners should go into... Text spanners.
-@c (I'm on it) --vv
-
-Some performance indications, e.g., @i{rallentando} and
-@i{accelerando} and @i{trills} are written as text and are
-extended over many measures with lines, sometimes dotted or wavy.
-
-These all use the same routines as the glissando for drawing the
-texts and the lines, and tuning their behavior is therefore also
-done in the same way.  It is done with a spanner, and the routine
-responsible for drawing the spanners is
-@code{ly:line-interface::print}.  This routine determines the
-exact location of the two @i{span points} and draws a line in
-between, in the style requested.
-
-Here is an example of the different line styles available, and how
-to tune them.
-
-@lilypond[relative=2,ragged-right,verbatim,fragment]
-d2 \glissando d'2
-\once \override Glissando #'style = #'dashed-line
-d,2 \glissando d'2
-\override Glissando #'style = #'dotted-line
-d,2 \glissando d'2
-\override Glissando #'style = #'zigzag
-d,2 \glissando d'2
-\override Glissando #'style = #'trill
-d,2 \glissando d'2
-@end lilypond
-
-The information that determines the end-points is computed
-on-the-fly for every graphic object, but it is possible to
-override these. 
-
-@lilypond[relative=2,ragged-right,verbatim,fragment]
-e2 \glissando f
-\once \override Glissando #'bound-details #'right #'Y = #-2
-e2 \glissando f
-@end lilypond
-
-The @code{Glissando} object, like any other using the
-@code{ly:line-interface::print} routine, carries a nested
-association list.  In the above statement, the value for @code{Y}
-is set to @code{-2} for the association list corresponding to the
-right end point.  Of course, it is also possible to adjust the
-left side with @code{left} instead of @code{right}.
-
-If @code{Y} is not set, the value is computed from the vertical
-position of right attachment point of the spanner. 
-
-In case of a line break, the values for the span-points are
-extended with contents of the @code{left-broken} and
-@code{right-broken} sublists, for example
-
-@lilypond[relative=2,ragged-right,verbatim,fragment]
-\override Glissando #'breakable = ##T 
-\override Glissando #'bound-details #'right-broken #'Y = #-3
-c1 \glissando \break
-f1
-@end lilypond
-
-The following properties can be used for the
-
-@table @code
-@item Y
-This sets the Y-coordinate of the end point, in staff space.  By
-default, it is the center of the bound object, so for a glissando
-it points to the vertical center of the note head.
-
-For horizontal spanners, such as text spanner and trill spanners,
-it is hardcoded to 0.
-
-@item attach-dir
-This determines where the line starts and ends in X-direction,
-relative to the bound object.  So, a value of @code{-1} (or
-@code{LEFT}) makes the line start/end at the left side of the note
-head it is attached to.
-
-@item X
-This is the absolute coordinate of the end point.  It is usually
-computed on the fly, and there is little use in overriding it. 
-
-@item stencil
-Line spanners may have symbols at the beginning or end, which is
-contained in this sub-property.  This is for internal use, it is
-recommended to use @code{text}.
-
-@item text
-This is a markup that is evaluated to yield stencil.  It is used
-to put @i{cresc.} and @i{tr} on horizontal spanners.
-
-@lilypond[quote,ragged-right,fragment,relative=2,verbatim]
-\override TextSpanner #'bound-details #'left #'text
-   = \markup { \small \bold Slower }
-c2\startTextSpan b c a\stopTextSpan
-@end lilypond
-
-@item stencil-align-dir-y
-@item stencil-offset
-Without setting this, the stencil is simply put there at the
-end-point, as defined by the @code{X} and @code{Y} sub properties.
-Setting either @code{stencil-align-dir-y} or @code{stencil-offset}
-will move the symbol at the edge relative to the end point of the
-line
-
-@lilypond[relative=1,fragment,verbatim]
-\override TextSpanner #'bound-details
-  #'left #'stencil-align-dir-y = #DOWN
-\override TextSpanner #'bound-details
-  #'right #'stencil-align-dir-y = #UP
-
-\override TextSpanner #'bound-details
-  #'left #'text = #"gggg"
-\override TextSpanner #'bound-details
-  #'right #'text = #"hhhh"
-c4^\startTextSpan c c c \stopTextSpan
-@end lilypond
-
-@item arrow
-Setting this sub property to @code{#t} produce an arrowhead at the
-end of the line.
-
-@item padding
-This sub property controls the space between the specified
-end-point of the line and the actual end.  Without padding, a
-glissando would start and end in the center of each note head.
-
-@end table
-
-TODO: add this somewhere
-
-@verbatim
-\new Staff {
-  \override TextSpanner #'bound-details #'left-broken #'text = ##f
-   \override TextSpanner #'bound-details #'left #'text = \markup {
-"start" }
-   c'1 \startTextSpan \break
-   c'1
-   c'1 \stopTextSpan
-}
-@end verbatim
-
-
-The music function \endSpanners terminates spanners and hairpins
-after exactly one note.
-
-@lilypond[verbatim,quote,ragged-right,relative=2,fragment]
-\endSpanners
-c2 \startTextSpan c2
-c2 \< c2
-@end lilypond
-
-When using \endSpanners it is not necessary to close
-\startTextSpan with \stopTextSpan, nor is it necessary to close
-hairpins with \!.
-
-
-
-@seealso
-
-Snippets: @lsrdir{Text,Text}
-
-Internals Reference: @internalsref{TextSpanner},
-@internalsref{Glissando}, @internalsref{VoiceFollower},
-@internalsref{TrillSpanner},
-@internalsref{line-spanner-interface}.
-
-
-
-
-
index 7373f6222cfddb35ed4ea5ee89b6daf96b1c6f13..119092e3e4d16f87146dd669c0da9eab3340d039 100644 (file)
@@ -153,7 +153,7 @@ also produces a @file{.log} file that contains some information on
 what LilyPond has done to the file.  If any errors occur, please
 examine this file.
 
-@subsubheading Unix
+@subsubheading UNIX
 
 Create a text file called @file{test.ly} and enter:
 
@@ -1030,10 +1030,9 @@ different amount of space.  LilyPond does not care how much (or
 little) space there is at the beginning of a line, but indenting
 LilyPond code like this makes it much easier for humans to read.
 
-@c FIXME: number of backslashes?!  works in html but not pdf.
 @warning{each note is relative to the previous note in
 the input, not relative to the @code{c''} in the initial
-@code{\\relative} command.}
+@code{@bs{}relative} command.}
 
 
 @subheading Simultaneous music expressions: single staff
@@ -1090,7 +1089,7 @@ expression, so @math{-(4+5)} is a bigger expression.
 
 Time signatures entered in one staff affects all other staves by
 default.  On the other hand, the key signature of one staff does
-@emph{not} affect other staves.  This different default behaviour
+@emph{not} affect other staves.  This different default behavior
 is because scores with transposing instruments are more common
 than polyrhythmic scores.
 
index 81e24fcdcb0843e24b8c0642510fa7763ecff857..3aabd99703b2a4d8dd190ca33ce10619c5b877de 100644 (file)
@@ -91,9 +91,9 @@ represent items of notation on the printed output such as
 above, and so they too all have properties associated with them,
 such as their position, size, color, etc.
 
-Some layout objects are still more specialised.  Phrasing slurs,
-crescendo hairpins, ottavo marks, and many other grobs are not
-localised in a single place -- they have a starting point, an
+Some layout objects are still more specialized.  Phrasing slurs,
+crescendo hairpins, ottava marks, and many other grobs are not
+localized in a single place -- they have a starting point, an
 ending point, and maybe other properties concerned with their
 shape.  Objects with an extended shape like these are called
 @q{Spanners}.
@@ -122,7 +122,7 @@ We met some object naming conventions previously, in
 @ref{Contexts and engravers}.  Here for reference is a list
 of the most common object and property types together with 
 the conventions for naming them and a couple of examples of 
-some real names.  We have used A to stand for any capitalised
+some real names.  We have used A to stand for any capitalized
 alphabetic character and aaa to stand for any number of
 lower-case alphabetic characters.  Other characters are used
 verbatim. 
@@ -153,7 +153,7 @@ verbatim.
 
 As we shall see shortly, the properties of different types of 
 object are modified by different commands, so it is useful to
-be able to recognise the type of object from the names of its
+be able to recognize the type of object from the names of its
 properties.
 
 
@@ -721,7 +721,7 @@ Now we see all the user-settable properties which control fonts,
 including @code{font-shape(symbol)}, where @code{symbol} can be
 set to @code{upright}, @code{italics} or @code{caps}.
 
-You will notice that that @code{font-series} and @code{font-size}
+You will notice that @code{font-series} and @code{font-size}
 are also listed there.
 This immediately raises the question: Why are the common font
 properties @code{font-series} and @code{font-size} listed under
@@ -733,7 +733,7 @@ is created, but @code{font-shape} is not.  The entries in
 @code{LyricText} then tell you the values for those two
 properties which apply to @code{LyricText}.  Other objects
 which support @code{font-interface} will set these
-properties diferently when they are created.
+properties differently when they are created.
 
 Let's see if we can now construct the @code{\override} command
 to change the lyrics to italics.  The object is @code{LyricText},
@@ -750,7 +750,7 @@ Symbols are special names which are known internally to
 LilyPond.  Some of them are the names of properties,
 like @code{thickness} or @code{font-shape}, others are in
 effect special values that can be given to properties, like
-@code{italic}.  Note the distinction from arbitary
+@code{italic}.  Note the distinction from arbitrary
 text strings, which would appear as @code{"a text string"}.
 
 Ok, so the @code{\override} command we need to print the lyrics
@@ -795,7 +795,7 @@ included as part of the final syllable.  Similarly,
 spaces must be inserted before and after the
 period or dot, @q{.}, separating the context name from the
 object name, as otherwise the two names are run together and
-the interpreter cannot recognise them.  So the command should be:
+the interpreter cannot recognize them.  So the command should be:
 
 @example
 \override Lyrics . LyricText #'font-shape = #'italic
@@ -1058,7 +1058,7 @@ explanation of what that list should be.  The list it
 requires is actually a list of values in internal units,
 but, to avoid having to know what these are, several ways
 are provided to specify colors.  The first way is to use one
-of the @q{normal} colours listed in the first table in
+of the @q{normal} colors listed in the first table in
 @ruser{List of colors}.  To set the bar lines to white
 we write:
 
@@ -1209,7 +1209,7 @@ we simply set the stencil of each to @code{#f}, as follows:
 
 @noindent
 where the extra pair of braces after the @code{\with} clause are
-required to ensure the enclosed overrrides and music are applied
+required to ensure the enclosed overrides and music are applied
 to the ossia staff.
 
 But what is the difference between modifying the staff context by 
@@ -1219,7 +1219,7 @@ changes made in a @code{\with} clause are made at the time the
 context is created, and remain in force as the @strong{default}
 values for the duration of that context, whereas
 @code{\set} or @code{\override} commands embedded in the
-music are dynamic -- they make changes synchronised with
+music are dynamic -- they make changes synchronized with
 a particular point in the music.  If changes are unset or
 reverted using @code{\unset} or @code{\revert} they return to
 their default values, which will be the ones set in the 
@@ -1387,7 +1387,7 @@ are always calculated relative to the
 value of the @code{staff-space} property these are automatically
 scaled down in length too.  Note that this affects only the
 vertical scale of the ossia -- the horizontal scale is determined
-by the layout of the main music in order to remain synchronised 
+by the layout of the main music in order to remain synchronized 
 with it, so it is not affected by any of these changes in size.
 Of course, if the scale of all the main music were changed in this
 way then the horizontal spacing would be affected.  This is 
@@ -1411,14 +1411,14 @@ from a font) may be changed in the same way.
 @section Placement of objects
 
 @menu
-* Automatic behaviour::         
+* Automatic behavior::         
 * Within-staff objects::        
 * Outside staff objects::       
 @end menu
 
 
-@node Automatic behaviour
-@subsection Automatic behaviour
+@node Automatic behavior
+@subsection Automatic behavior
 
 There are some objects in musical notation that belong to
 the staff and there are other objects that should be 
@@ -1432,7 +1432,7 @@ vertically positioned on specific lines of the staff or are
 tied to other objects that are so positioned.  Collisions of
 note heads, stems and accidentals in closely set chords are
 normally avoided automatically.  There are commands and
-overrides which can modify this automatic behaviour, as we
+overrides which can modify this automatic behavior, as we
 shall shortly see.
 
 Objects belonging outside the staff include things such as
@@ -1456,7 +1456,7 @@ closer to the staff.  If two objects have the same
 placed closer to the staff.
 
 In the following example all the markup texts have the same 
-priority (since it is not explicity set).  Note that @q{Text3}
+priority (since it is not explicitly set).  Note that @q{Text3}
 is automatically positioned close to the staff again, nestling
 under @q{Text2}.
 
@@ -1495,9 +1495,9 @@ everything else which depends on the direction of the stems.
 These commands are essential when writing polyphonic music to
 permit interweaving melodic lines to be distinguished.
 But occasionally it may be necessary to override this automatic
-behaviour.  This can be done for whole sections of music or even
+behavior.  This can be done for whole sections of music or even
 for an individual note.  The property which controls this
-behaviour is the @code{direction} property of each layout object.
+behavior is the @code{direction} property of each layout object.
 We first explain what this does, and then introduce a number of
 ready-made commands which avoid your having to code explicit
 overrides for the more common modifications.
@@ -1507,12 +1507,12 @@ either up or down; others like stems and flags also move to
 right or left when they point up or down.  This is controlled
 automatically when @code{direction} is set.
 
-The following example shows in bar 1 the default behaviour of 
+The following example shows in bar 1 the default behavior of 
 stems, 
 with those on high notes pointing down and those on low notes
 pointing up, followed by four notes with all stems forced down, 
 four notes with all stems forced up, and finally four notes
-reverted back to the default behaviour.
+reverted back to the default behavior.
 
 @lilypond[quote,fragment,ragged-right,verbatim,relative=2]
 a4 g c a
@@ -1639,7 +1639,7 @@ It controls whether fingerings may be placed above (if
 to the left (if @code{left} appears, or to the right
 (if @code{right} appears).  Conversely, if a location is not
 listed, no fingering is placed there.  LilyPond takes these 
-contraints and works out the best placement for the fingering
+constraints and works out the best placement for the fingering
 of the notes of the following chords.  Note that @code{left} and
 @code{right} are mutually exclusive -- fingering may be placed
 only on one side or the other, not both.
@@ -1834,7 +1834,7 @@ Changing the @code{outside-staff-priority} can also be used to
 control the vertical placement of individual objects, although
 the results may not always be desirable.  Suppose we would
 like @qq{Text3} to be placed above @qq{Text4} in the example
-under Automatic behaviour, above (see @ref{Automatic behaviour}).
+under Automatic behavior, above (see @ref{Automatic behavior}).
 All we need to do is to look up the priority of @code{TextScript}
 in the IR or in the tables above, and increase the priority of
 @qq{Text3} to a higher value:
@@ -1863,7 +1863,7 @@ command.
 
 By default, text produced by markup takes up no horizontal space
 as far as laying out the music is concerned.  The @code{\textLengthOn}
-command reverses this behaviour, causing the notes to be spaced
+command reverses this behavior, causing the notes to be spaced
 out as far as is necessary to accommodate the text:
 
 @lilypond[quote,fragment,ragged-right,verbatim,relative=2]
@@ -1874,7 +1874,7 @@ c^"Text3"
 c^"Text4"
 @end lilypond  
 
-The command to revert to the default behaviour is 
+The command to revert to the default behavior is 
 @code{\textLengthOff}.  Remember @code{\once} only works with
 @code{\override}, @code{\set}, @code{\revert} or @code{unset},
 so cannot be used with @code{\textLengthOn}.
@@ -1901,7 +1901,7 @@ R1
 % Turn off collision avoidance
 \once \override TextScript #'outside-staff-priority = ##f
 \textLengthOn  % and turn on textLengthOn
-c,,2^"Long Text   "  % Spaces at end are honoured
+c,,2^"Long Text   "  % Spaces at end are honored
 c''2
 @end lilypond
 
@@ -2034,7 +2034,7 @@ rather rare.  Usually the need to move objects is for clarity or
 aesthetic reasons -- they would look better with a little more
 or a little less space around them.
 
-There are three main main approaches to resolving overlapping
+There are three main approaches to resolving overlapping
 notation.  They should be considered in the following order:
 
 @enumerate
@@ -2138,7 +2138,7 @@ This property is available for all objects which support the
 to the leftmost extent and the second is added to the rightmost
 extent.  Negative numbers move the edge to the left, positive to
 the right, so to widen an object the first number must be negative,
-the second positive.  Note that not all objects honour both
+the second positive.  Note that not all objects honor both
 numbers.  For example, the @code{Accidental} object only takes
 notice of the first (left edge) number.
 
@@ -2159,7 +2159,7 @@ and notes in different voices.
 
 @cindex force-hshift property
 
-Closely spaced notes in a chord, or notes occuring at the same
+Closely spaced notes in a chord, or notes occurring at the same
 time in different voices, are arranged in two, occasionally more,
 columns to prevent the note heads overlapping.  These are called
 note columns, and an object called @code{NoteColumn} is created
@@ -2180,13 +2180,9 @@ merging note heads.
 
 @end itemize
 
-Objects do not all have all of these properties in general.
-It is necessary to go to the IR to look up which properties
-are available for the object in question.
-
 @item
 Finally, when all else fails, objects may be manually repositioned
-relative to the staff center line verically, or by
+relative to the staff center line vertically, or by
 displacing them by any distance to a new position.  The
 disadvantages are that the correct values for the repositioning
 have to be worked out, often by trial and error, for every object
@@ -2223,12 +2219,12 @@ property has been overridden the slur that is closest to the
 requested positions is selected from the list.
 @end table
 
-Objects do not all have all of these properties in general.
+@end enumerate
+
+A particular object may not have all of these properties.
 It is necessary to go to the IR to look up which properties
 are available for the object in question.
 
-@end enumerate
-
 Here is a list of the objects which are most likely to be
 involved in collisions, together with the name of the object which
 should be looked up in the IR in order to discover which properties
@@ -2562,7 +2558,7 @@ problems with notation.  It is not representative of more usual
 engraving process, so please do not let these difficulties put 
 you off!  Fortunately, difficulties like these are not very common!
 
-The example is from Chopin's Première Ballade, Op. 23, bars 6 to
+The example is from Chopin's Première Ballade, Op. 23, bars 6 to
 9, the transition from the opening Lento to Moderato.
 Here, first, is what we want the output to look like, but to avoid
 over-complicating the example too much we have left out the
@@ -2875,7 +2871,7 @@ using one of the @code{\shift} commands.  But which one?
 The C is in voice two which has shift off, and the two D's are in
 voices one and three, which have shift off and shift on,
 respectively.  So we have to shift the C a further level still
-using @code{\shiftOnn} to avoid it interferring with the two D's.  
+using @code{\shiftOnn} to avoid it interfering with the two D's.  
 Applying these changes gives:
 
 @lilypond[quote,verbatim,ragged-right]
@@ -3182,7 +3178,7 @@ find the directory appropriate to your system, as follows:
 Navigate to
 @file{@var{installdir}/lilypond/usr/share/lilypond/current/}
 
-@strong{OSX}
+@strong{MacOS X}
 
 Navigate to
 @file{@var{installdir}/LilyPond.app/Contents/Resources/share/lilypond/current/}
@@ -3365,3 +3361,4 @@ can be found in @ref{Tweaking with Scheme}.
 
 
 
+
index fcdf6477156f1233fd92764b9b8911a5ca6d74a9..6b88aebbe4c76871d37de3e2884bc645f2c33e5b 100644 (file)
@@ -37,7 +37,7 @@ by examining the simplest method, and gradually increase complexity.
 @snippets
 
 Checking to make sure that text scripts and lyrics are within the margins is
-a relatively large computational task.  To speed up processing, lilypond does
+a relatively large computational task.  To speed up processing, LilyPond does
 not perform such calculations by default; to enable it, use
 
 @example
@@ -510,7 +510,7 @@ Centered hyphens are entered as @samp{ -- } between syllables of a same word
 will be centered between the syllables, and its length will be adjusted
 depending on the space between the syllables.
 
-In tighly engraved music, hyphens can be removed.  Whether this
+In tightly engraved music, hyphens can be removed.  Whether this
 happens can be controlled with the @code{minimum-distance} (minimum
 distance between two syllables) and the @code{minimum-length}
 (threshold below which hyphens are removed).
@@ -906,7 +906,7 @@ These numbers are put just before the start of the first syllable.
 @subsubsection Adding dynamics marks
 
 Stanzas differing in loudness may be indicated by putting a
-dynamics mark before each stanza.  In Lilypond, everthing coming in
+dynamics mark before each stanza.  In LilyPond, everything coming in
 front of a stanza goes into the @code{StanzaNumber} object; dynamics marks
 are no different.  For technical reasons, you have to set the stanza
 outside @code{\lyricmode}:
@@ -1002,7 +1002,7 @@ its fleece was white as snow.
 When a piece of music has many verses, they are often printed in
 multiple columns across the page.  An outdented verse number often
 introduces each verse.  The following example shows how to produce such
-output in Lilypond.
+output in LilyPond.
 
 @lilypond[ragged-right,quote,verbatim]
 melody = \relative c' {
index 216f577e89535a0f2f4d71a3b9322acfc564fc56..eead6ec2788ee2d536b4beec9734bc0de395f21e 100644 (file)
@@ -32,23 +32,23 @@ go about doing it?
 
 As long as LilyPond can understand your files and produces the output
 that you want, it doesn't matter what your files look like.  However,
-there are a few other things to consider when writing lilypond files.
+there are a few other things to consider when writing LilyPond files.
 
 @itemize
-@item What if you make a mistake?  The structure of a lilypond
+@item What if you make a mistake?  The structure of a LilyPond
 file can make certain errors easier (or harder) to find.
 
 @item What if you want to share your files with somebody
 else?  In fact, what if you want to alter your own files in
-a few years?  Some lilypond files are understandable at
+a few years?  Some LilyPond files are understandable at
 first glance; other files may leave you scratching your head
 for an hour.
 
-@item What if you want to upgrade your lilypond file for use
-with a later version of lilypond?  The input syntax changes
-occasionally as lilypond improves.  Most changes can be
+@item What if you want to upgrade your LilyPond file for use
+with a later version of LilyPond?  The input syntax changes
+occasionally as LilyPond improves.  Most changes can be
 done automatically with @code{convert-ly}, but some changes
-might require manual assistance.  Lilypond files can be
+might require manual assistance.  LilyPond files can be
 structured in order to be easier (or harder) to update.
 @end itemize
 
@@ -560,7 +560,7 @@ file with @code{\include "../global.ly"}, which contains
 The LilyPond input syntax occasionally changes.  As LilyPond itself
 improves, the syntax (input language) is modified accordingly.  Sometimes
 these changes are made to make the input easier to read and write or
-sometimes the changes are made to accomodate new features of LilyPond.
+sometimes the changes are made to accommodate new features of LilyPond.
 
 LilyPond comes with a file that makes this updating easier:
 @code{convert-ly}.  For details about how to run this program, see
@@ -646,7 +646,7 @@ examples are used for
 
 @itemize
 @item Bug reports
-@item Sending a help request to mailists
+@item Sending a help request to mailing lists
 @item Adding an example to the @uref{http://lsr.dsi.unimi.it/,
 LilyPond Snippet Repository}
 @end itemize
index 7913ed0ad76407f366f13ed43d7e14c82b462021..c6ca460136b35b7b4b379eee066e3d1b43300d8a 100644 (file)
@@ -34,6 +34,11 @@ commands.
   to this scheme construct.  ie
     \set Staff.instrumentName = #"cello"
 
+* All engravers should have double-quotes around them:
+    \consists "Spans_arpeggio_engraver"
+  Again, LilyPond does not strictly require this, but it is a
+  useful standard to follow.
+
 * Examples should end with a complete bar if possible.
 
 * If possible, only write one bar per line.  The notes on each
@@ -199,17 +204,17 @@ commands.
 @q{} - Single quotes. Used for `vague' terms.
 @qq{} - Double quotes.  Used for actual quotes ("he said").
 
-@warning{}: produces a "Note: " box.  Use for important
-      messages.
-
 @tie{} - Variables or numbers which consist of a single character
   (probably followed by a punctuation mark) should be tied
   properly, either to the previous or the next word.  Example:
     "The letter@tie{}@q{I} is skipped"
 
 @var - Use for variables.
-@warning{} - produces a "Note: " box.
-  Any `\' used inside this must be written as `\\'.
+@warning{} - produces a "Note: " box. Use for important messages.
+
+@bs - Generates a backslash inside @warning.
+    Any `\' used inside @warning (and @q or @qq) must be written as `@bs{}' 
+    (texinfo would also allow \\, but this breaks with PDF output).
 
 
 
diff --git a/THANKS b/THANKS
index 90b476020db5526f6506e8373c0595cb71e99343..ff5d8abb3b40c3eb368da15c6617431ffef46e1b 100644 (file)
--- a/THANKS
+++ b/THANKS
@@ -8,7 +8,7 @@ Han-Wen Nienhuys   - Core development
 Jan Nieuwenhuizen  - Core development
 Joe Neeman         - Core development
 Graham Percival    - Documentation Editor and Bug Meister
-Valentin Villenave - LSR Editor
+Valentin Villenave - LSR Editor and Bug Meister
 Mats Bengtsson     - Support Guru 
 John Mandereau     - Translation Meister
 
@@ -20,17 +20,23 @@ Maximilian Albert
 Milan Zamazal
 Reinhold Kainhofer - musicxml2ly development
 Erlend Aasland
+Stan Sanderson     - Regression Checker
 
 
 GRAND DOCUMENTATION PROJECT
 
-Trevor Daniels     - main Rewriter
-Eyolf Østrem       - main Rewriter
-Kurt Kroon         - Glossary updates
+Trevor Daniels     - Assistant Documentation Editor
+Eyolf Østrem       - NR Rewriter
+Jay Hamilton       - NR Rewriter
+Till Retting       - NR Rewriter
+Ralph Palmer       - NR Rewriter
+Patrick McCarty    - NR Rewriter
+Kurt Kroon         - Glossary Updates
 Alard de Boer      - Formatting
-Ralph Palmer       - Formatting
 Michael Rasmussen  - Formatting
 Trevor Baca        - Inspirational Headwords
+Reinhold Kainhofer - Technical Aid
+Neil Puttock       - Snippet Editor
 
 
 TRANSLATORS
diff --git a/VERSION b/VERSION
index 53d12d3c2ddd3d758614657068852fdf32eb664b..b781875cba3e6c7f3e5d16e49ff5394cada6c967 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -1,6 +1,6 @@
 PACKAGE_NAME=LilyPond
 MAJOR_VERSION=2
 MINOR_VERSION=11
-PATCH_LEVEL=42
+PATCH_LEVEL=43
 MY_PATCH_LEVEL=
 
index 7f30c94edca2ae4555372b7875a9906f6f71926d..47589baeeab4dc0536392a72039c4ff75e416228 100644 (file)
@@ -69,7 +69,7 @@ html_re = re.compile ('(.*?)(?:[.]([^/.]*))?[.]html$')
 pages_dict = {}
 
 def build_pages_dict (filelist):
-    """Build dictionnary of available translations of each page"""
+    """Build dictionary of available translations of each page"""
     global pages_dict
     for f in filelist:
         m = html_re.match (f)
diff --git a/buildscripts/buildlib.py b/buildscripts/buildlib.py
new file mode 100644 (file)
index 0000000..11dbf96
--- /dev/null
@@ -0,0 +1,41 @@
+#!@PYTHON@
+
+import subprocess
+import re
+
+verbose = False
+
+def read_pipe (command):
+    child = subprocess.Popen (command,
+                              stdout = subprocess.PIPE,
+                              stderr = subprocess.PIPE,
+                              shell = True)
+    (output, error) = child.communicate ()
+    code = str (child.wait ())
+    if not child.stdout or child.stdout.close ():
+        print "pipe failed: %(command)s" % locals ()
+    if code != '0':
+        error = code + ' ' + error
+    return (output, error)
+
+revision_re = re.compile ('GIT [Cc]ommittish: ([a-f0-9]+)')
+vc_diff_cmd = 'git diff %(color_flag)s %(revision)s HEAD -- %(original)s | cat'
+
+def check_translated_doc (original, translated_contents, color=False):
+    m = revision_re.search (translated_contents)
+    if not m:
+        sys.stderr.write ('error: ' + translated + \
+                          ": no 'GIT committish: <hash>' found.\nPlease check " + \
+                          'the whole file against the original in English, then ' + \
+                          'fill in HEAD committish in the header.\n')
+        sys.exit (1)
+    revision = m.group (1)
+
+    if color:
+        color_flag = '--color'
+    else:
+        color_flag = '--no-color'
+    c = vc_diff_cmd % vars ()
+    if verbose:
+        sys.stderr.write ('running: ' + c)
+    return read_pipe (c)
index 55a384ee99b9c120f8e9884d9e76a6117eb48e5c..6952b2c34fcf53bdb661c3f30ddec43db19b95fc 100644 (file)
@@ -2,9 +2,7 @@
 
 import __main__
 import optparse
-import gettext
 import os
-import re
 import sys
 
 verbose = 0
@@ -16,27 +14,7 @@ def dir_lang (file, lang, lang_dir_index):
     path_components[lang_dir_index] = lang
     return os.path.join (*path_components)
 
-##     Translation of GIT Commit: <hash>
-REVISION_RE = re.compile ('GIT [Cc]ommittish: ([a-f0-9]+)')
-CVS_DIFF = 'git diff %(revision)s HEAD -- %(original)s | cat'
-
-def check_file (original, translated):
-    s = open (translated).read ()
-    m = REVISION_RE.search (s)
-    if not m:
-        sys.stderr.write ('error: ' + translated + \
-                          ": no 'GIT committish: <hash>' found.\nPlease check " + \
-                          'the whole file against the original in English, then ' + \
-                          'fill in HEAD committish in the header.\n')
-        sys.exit (1)
-    revision = m.group (1)
-
-    c = CVS_DIFF % vars ()
-    if verbose:
-        sys.stderr.write ('running: ' + c)
-    os.system (c)
-
-def do_file (file_name, lang_codes):
+def do_file (file_name, lang_codes, buildlib):
     if verbose:
         sys.stderr.write ('%s...\n' % file_name)
     split_file_name = file_name.split ('/')
@@ -53,19 +31,35 @@ def do_file (file_name, lang_codes):
         raise Exception ('cannot determine language for ' + file_name)
     
     original = dir_lang (file_name, '', lang_dir_index)
-    translated = file_name
-    check_file (original, translated)
+    translated_contents = open (file_name).read ()
+    (diff_string, error) = buildlib.check_translated_doc (original, translated_contents, color=not update_mode)
+
+    if error:
+            sys.stderr.write ('warning: %s: %s' % (file_name, error))
+
+    if update_mode:
+        if error or len (diff_string) >= os.path.getsize (original):
+            buildlib.read_pipe (text_editor + ' ' + file_name + ' ' + original)
+        elif diff_string:
+            diff_file = original + '.diff'
+            f = open (diff_file, 'w')
+            f.write (diff_string)
+            f.close ()
+            buildlib.read_pipe (text_editor + ' ' + file_name + ' ' + diff_file)
+            os.remove (diff_file)
+    else:
+        sys.stdout.write (diff_string)
 
 def usage ():
     sys.stdout.write (r'''
 Usage:
-check-translation [--language=LANG] [--verbose] BUILDSCRIPT-DIR FILE...
+check-translation [--language=LANG] [--verbose] [--update] BUILDSCRIPT-DIR FILE...
 
 This script is licensed under the GNU GPL.
 ''')
 
 def do_options ():
-    global lang, verbose
+    global lang, verbose, update_mode
 
     p = optparse.OptionParser (usage="check-translation [--language=LANG] [--verbose] FILE...",
                                description="This script is licensed under the GNU GPL.")
@@ -78,21 +72,35 @@ def do_options ():
                   default=False,
                   dest="verbose",
                   help="the GIT directory to merge.")
+    p.add_option ('-u', "--update",
+                  action='store_true',
+                  default=False,
+                  dest='update_mode',
+                  help='call $EDITOR to update the translation')
     
     (options, files) = p.parse_args ()
     verbose = options.verbose
     lang = options.language
+    update_mode = options.update_mode
     
     return (files[0], files[1:])
 
 def main ():
+    global update_mode, text_editor
+
     import_path, files = do_options ()
+    if 'EDITOR' in os.environ.keys ():
+        text_editor = os.environ['EDITOR']
+    else:
+        update_mode = False
     
     sys.path.append (import_path)
     import langdefs
+    import buildlib
+    buildlib.verbose = verbose
 
     for i in files:
-        do_file (i, langdefs.LANGDICT.keys())
+        do_file (i, langdefs.LANGDICT.keys(), buildlib)
 
 if __name__ == '__main__':
     main ()
diff --git a/buildscripts/generate_intervals.py b/buildscripts/generate_intervals.py
deleted file mode 100755 (executable)
index dbde2bc..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-#!/usr/bin/env python
-
-notes = "CDEFGAB"
-alterations = [-1, 0, 1]
-
-def print_note (octave, note, alteration):
-    print "      <note>\n        <pitch>\n          <step>%s</step>" % notes[note]
-    if alteration <> 0:
-        print "          <alter>%s</alter>" % alteration
-    print "          <octave>%s</octave>\n        </pitch>\n        <duration>1</duration>\n        <voice>1</voice>\n        <type>quarter</type>\n      </note>" % octave
-
-
-print """<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE score-partwise PUBLIC "-//Recordare//DTD MusicXML 1.0 Partwise//EN"
-                                "http://www.musicxml.org/dtds/partwise.dtd">
-<score-partwise>
-  <movement-title>Various piches and interval sizes</movement-title>
-  <part-list>
-    <score-part id="P1">
-      <part-name>MusicXML Part</part-name>
-    </score-part>
-  </part-list>
-  <!--=========================================================-->
-  <part id="P1">
-    <measure number="1">
-      <attributes>
-        <divisions>1</divisions>
-        <key>
-          <fifths>0</fifths>
-          <mode>major</mode>
-        </key>
-        <time symbol="common">
-          <beats>2</beats>
-          <beat-type>4</beat-type>
-        </time>
-        <clef>
-          <sign>G</sign>
-          <line>2</line>
-        </clef>
-      </attributes>
-"""
-
-start_octave = 5
-
-for octave in (start_octave, start_octave+1):
-    for note in (0,1,2,3,4,5,6):
-        for alteration in alterations:
-            if octave == start_octave and note == 0 and alteration == -1:
-                continue
-            print_note (octave, note, alteration)
-#             if octave == start_octave and note == 0 and alteration == 0:
-#                 continue
-            print_note (start_octave-(octave-start_octave)-(1-(7-note)/7), (7-note)%7, -alteration)
-
-print """    </measure>
-  </part>
-</score-partwise>
-"""
\ No newline at end of file
diff --git a/buildscripts/generate_keys.py b/buildscripts/generate_keys.py
deleted file mode 100755 (executable)
index cd0f995..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-#!/usr/bin/env python
-
-notes = "CDEFGAB"
-alterations = [-1, 0, 1]
-
-def print_measure (nr, fifth, mode, atts = "", final = ""):
-    print """    <measure number="%s">
-      <attributes>
-%s        <key>
-          <fifths>%s</fifths>
-          <mode>%s</mode>
-        </key>
-      </attributes>
-      <note>
-        <pitch>
-          <step>C</step>
-          <octave>4</octave>
-        </pitch>
-        <duration>2</duration>
-        <voice>1</voice>
-        <type>half</type>
-      </note>
-%s    </measure>""" % (nr, atts,  fifth, mode, final)
-
-first_atts = """        <divisions>1</divisions>
-        <time symbol="common">
-          <beats>2</beats>
-          <beat-type>4</beat-type>
-        </time>
-        <clef>
-          <sign>G</sign>
-          <line>2</line>
-        </clef>
-"""
-
-final_barline = """      <barline location="right">
-        <bar-style>light-heavy</bar-style>
-      </barline>
-"""
-
-print """<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE score-partwise PUBLIC "-//Recordare//DTD MusicXML 1.0 Partwise//EN"
-                                "http://www.musicxml.org/dtds/partwise.dtd">
-<score-partwise>
-  <movement-title>Different Key signatures</movement-title>
-  <part-list>
-    <score-part id="P1">
-      <part-name>MusicXML Part</part-name>
-    </score-part>
-  </part-list>
-  <!--=========================================================-->
-  <part id="P1">
-"""
-
-max_range = 11
-measure = 0
-for fifth in range(-max_range, max_range+1):
-    measure += 1
-    if fifth == -max_range:
-        print_measure (measure, fifth, "major", first_atts)
-    else:
-        print_measure (measure, fifth, "major")
-    measure += 1
-    if fifth == max_range:
-        print_measure (measure, fifth, "minor", "", final_barline)
-    else:
-        print_measure (measure, fifth, "minor")
-    
-
-print """  </part>
-</score-partwise>
-"""
\ No newline at end of file
diff --git a/buildscripts/generate_timesignatures.py b/buildscripts/generate_timesignatures.py
deleted file mode 100755 (executable)
index 9844f3d..0000000
+++ /dev/null
@@ -1,96 +0,0 @@
-#!/usr/bin/env python
-
-notes = "CDEFGAB"
-alterations = [-1, 0, 1]
-
-def print_measure (nr, beats, type, params = "", attr = "", barline = ""):
-    print """    <measure number="%s">
-      <attributes>
-%s        <time %s>
-          <beats>%s</beats>
-          <beat-type>%s</beat-type>
-        </time>
-      </attributes>
-      <note>
-        <pitch>
-          <step>C</step>
-          <octave>5</octave>
-        </pitch>
-        <duration>1</duration>
-        <voice>1</voice>
-        <type>quarter</type>
-      </note>
-%s    </measure>""" % (nr, attr, params, beats, type, barline)
-
-first_atts = """        <divisions>1</divisions>
-        <key>
-          <fifths>0</fifths>
-          <mode>major</mode>
-        </key>
-        <time symbol="common">
-          <beats>2</beats>
-          <beat-type>4</beat-type>
-        </time>
-        <clef>
-          <sign>G</sign>
-          <line>2</line>
-        </clef>
-"""
-
-final_barline = """      <barline location="right">
-        <bar-style>light-heavy</bar-style>
-      </barline>
-"""
-
-print """<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE score-partwise PUBLIC "-//Recordare//DTD MusicXML 1.0 Partwise//EN"
-                                "http://www.musicxml.org/dtds/partwise.dtd">
-<score-partwise>
-  <movement-title>Different time signatures</movement-title>
-  <part-list>
-    <score-part id="P1">
-      <part-name>MusicXML Part</part-name>
-    </score-part>
-  </part-list>
-  <!--=========================================================-->
-  <part id="P1">
-"""
-
-measure = 1
-
-print_measure (measure, 2, 2, " symbol=\"common\"", first_atts)
-measure += 1
-
-print_measure (measure, 4, 4, " symbol=\"common\"")
-measure += 1
-
-print_measure (measure, 2, 2)
-measure += 1
-
-print_measure (measure, 3, 2)
-measure += 1
-
-print_measure (measure, 2, 4)
-measure += 1
-
-print_measure (measure, 3, 4)
-measure += 1
-
-print_measure (measure, 4, 4)
-measure += 1
-
-print_measure (measure, 5, 4)
-measure += 1
-
-print_measure (measure, 3, 8)
-measure += 1
-
-print_measure (measure, 6, 8)
-measure += 1
-
-print_measure (measure, 12, 8, "", "", final_barline)
-measure += 1
-
-print """  </part>
-</score-partwise>
-"""
\ No newline at end of file
index 265bbb6b839964d3c4b11491b6ae182b9d94d49b..a637cbe1cd261ccc4a372994ddbc6d10d577a4ea 100755 (executable)
@@ -20,6 +20,7 @@ LY_HEADER_NEW = '''%% Do not edit this file; it is auto-generated from input/new
 
 DEST = os.path.join ('input', 'lsr')
 NEW_LYS = os.path.join ('input', 'new')
+TEXIDOCS = os.path.join ('input', 'texidocs')
 
 TAGS = []
 # NR 1
@@ -56,11 +57,11 @@ end_header_re = re.compile ('(\\header {.+?(?:"\\s*|\\s+)}\n)\n', re.M | re.S)
 def mark_verbatim_section (ly_code):
        return end_header_re.sub ('\\1% begin verbatim\n', ly_code, 1)
 
-# add tags to ly files from LSR
-add_tags_re = re.compile ('\\header\\s*{', re.M)
+begin_header_re = re.compile ('\\header\\s*{', re.M)
 
+# add tags to ly files from LSR
 def add_tags (ly_code, tags):
-       return add_tags_re.sub ('\\g<0>\n  lsrtags = "' + tags + '"\n', ly_code, 1)
+       return begin_header_re.sub ('\\g<0>\n  lsrtags = "' + tags + '"\n', ly_code, 1)
 
 def copy_ly (srcdir, name, tags):
        global unsafe
@@ -68,19 +69,28 @@ def copy_ly (srcdir, name, tags):
        dest = os.path.join (DEST, name)
        tags = ', '.join (tags)
        s = open (os.path.join (srcdir, name)).read ()
+
+       texidoc_translations_path = os.path.join (TEXIDOCS,
+                                                 os.path.splitext (name)[0] + '.texidoc')
+       if os.path.exists (texidoc_translations_path):
+               texidoc_translations = open (texidoc_translations_path).read ()
+               s = begin_header_re.sub ('\\g<0>\n' + texidoc_translations, s, 1)
+
        if in_dir in srcdir:
                s = LY_HEADER_LSR + add_tags (s, tags)
        else:
                s = LY_HEADER_NEW + s
+
        s = mark_verbatim_section (s)
        open (dest, 'w').write (s)
-       e = os.system('convert-ly -e ' + dest)
+
+       e = os.system ("convert-ly -e '%s'" % dest)
        if e:
                unconverted.append (dest)
        if os.path.exists (dest + '~'):
                os.remove (dest + '~')
        # -V seems to make unsafe snippets fail nicer/sooner
-       e = os.system ('nice lilypond -V -dno-print-pages -dsafe -o /tmp/lsrtest ' + dest)
+       e = os.system ("lilypond -V -dno-print-pages -dsafe -o /tmp/lsrtest '%s'" % dest)
        if e:
                unsafe.append (dest)
 
@@ -149,7 +159,7 @@ dump_file_list ('lsr-unsafe.txt', unsafe)
 sys.stderr.write ('''
 
 Unsafe files printed in lsr-unsafe.txt: CHECK MANUALLY!
-  git add input/lsr
+  git add input/lsr/*.ly
   xargs git-diff HEAD < lsr-unsafe.txt
 
 ''')
diff --git a/buildscripts/musicxml_generate_intervals.py b/buildscripts/musicxml_generate_intervals.py
new file mode 100755 (executable)
index 0000000..dbde2bc
--- /dev/null
@@ -0,0 +1,58 @@
+#!/usr/bin/env python
+
+notes = "CDEFGAB"
+alterations = [-1, 0, 1]
+
+def print_note (octave, note, alteration):
+    print "      <note>\n        <pitch>\n          <step>%s</step>" % notes[note]
+    if alteration <> 0:
+        print "          <alter>%s</alter>" % alteration
+    print "          <octave>%s</octave>\n        </pitch>\n        <duration>1</duration>\n        <voice>1</voice>\n        <type>quarter</type>\n      </note>" % octave
+
+
+print """<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE score-partwise PUBLIC "-//Recordare//DTD MusicXML 1.0 Partwise//EN"
+                                "http://www.musicxml.org/dtds/partwise.dtd">
+<score-partwise>
+  <movement-title>Various piches and interval sizes</movement-title>
+  <part-list>
+    <score-part id="P1">
+      <part-name>MusicXML Part</part-name>
+    </score-part>
+  </part-list>
+  <!--=========================================================-->
+  <part id="P1">
+    <measure number="1">
+      <attributes>
+        <divisions>1</divisions>
+        <key>
+          <fifths>0</fifths>
+          <mode>major</mode>
+        </key>
+        <time symbol="common">
+          <beats>2</beats>
+          <beat-type>4</beat-type>
+        </time>
+        <clef>
+          <sign>G</sign>
+          <line>2</line>
+        </clef>
+      </attributes>
+"""
+
+start_octave = 5
+
+for octave in (start_octave, start_octave+1):
+    for note in (0,1,2,3,4,5,6):
+        for alteration in alterations:
+            if octave == start_octave and note == 0 and alteration == -1:
+                continue
+            print_note (octave, note, alteration)
+#             if octave == start_octave and note == 0 and alteration == 0:
+#                 continue
+            print_note (start_octave-(octave-start_octave)-(1-(7-note)/7), (7-note)%7, -alteration)
+
+print """    </measure>
+  </part>
+</score-partwise>
+"""
\ No newline at end of file
diff --git a/buildscripts/musicxml_generate_keys.py b/buildscripts/musicxml_generate_keys.py
new file mode 100755 (executable)
index 0000000..cd0f995
--- /dev/null
@@ -0,0 +1,72 @@
+#!/usr/bin/env python
+
+notes = "CDEFGAB"
+alterations = [-1, 0, 1]
+
+def print_measure (nr, fifth, mode, atts = "", final = ""):
+    print """    <measure number="%s">
+      <attributes>
+%s        <key>
+          <fifths>%s</fifths>
+          <mode>%s</mode>
+        </key>
+      </attributes>
+      <note>
+        <pitch>
+          <step>C</step>
+          <octave>4</octave>
+        </pitch>
+        <duration>2</duration>
+        <voice>1</voice>
+        <type>half</type>
+      </note>
+%s    </measure>""" % (nr, atts,  fifth, mode, final)
+
+first_atts = """        <divisions>1</divisions>
+        <time symbol="common">
+          <beats>2</beats>
+          <beat-type>4</beat-type>
+        </time>
+        <clef>
+          <sign>G</sign>
+          <line>2</line>
+        </clef>
+"""
+
+final_barline = """      <barline location="right">
+        <bar-style>light-heavy</bar-style>
+      </barline>
+"""
+
+print """<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE score-partwise PUBLIC "-//Recordare//DTD MusicXML 1.0 Partwise//EN"
+                                "http://www.musicxml.org/dtds/partwise.dtd">
+<score-partwise>
+  <movement-title>Different Key signatures</movement-title>
+  <part-list>
+    <score-part id="P1">
+      <part-name>MusicXML Part</part-name>
+    </score-part>
+  </part-list>
+  <!--=========================================================-->
+  <part id="P1">
+"""
+
+max_range = 11
+measure = 0
+for fifth in range(-max_range, max_range+1):
+    measure += 1
+    if fifth == -max_range:
+        print_measure (measure, fifth, "major", first_atts)
+    else:
+        print_measure (measure, fifth, "major")
+    measure += 1
+    if fifth == max_range:
+        print_measure (measure, fifth, "minor", "", final_barline)
+    else:
+        print_measure (measure, fifth, "minor")
+    
+
+print """  </part>
+</score-partwise>
+"""
\ No newline at end of file
diff --git a/buildscripts/musicxml_generate_timesignatures.py b/buildscripts/musicxml_generate_timesignatures.py
new file mode 100755 (executable)
index 0000000..9844f3d
--- /dev/null
@@ -0,0 +1,96 @@
+#!/usr/bin/env python
+
+notes = "CDEFGAB"
+alterations = [-1, 0, 1]
+
+def print_measure (nr, beats, type, params = "", attr = "", barline = ""):
+    print """    <measure number="%s">
+      <attributes>
+%s        <time %s>
+          <beats>%s</beats>
+          <beat-type>%s</beat-type>
+        </time>
+      </attributes>
+      <note>
+        <pitch>
+          <step>C</step>
+          <octave>5</octave>
+        </pitch>
+        <duration>1</duration>
+        <voice>1</voice>
+        <type>quarter</type>
+      </note>
+%s    </measure>""" % (nr, attr, params, beats, type, barline)
+
+first_atts = """        <divisions>1</divisions>
+        <key>
+          <fifths>0</fifths>
+          <mode>major</mode>
+        </key>
+        <time symbol="common">
+          <beats>2</beats>
+          <beat-type>4</beat-type>
+        </time>
+        <clef>
+          <sign>G</sign>
+          <line>2</line>
+        </clef>
+"""
+
+final_barline = """      <barline location="right">
+        <bar-style>light-heavy</bar-style>
+      </barline>
+"""
+
+print """<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE score-partwise PUBLIC "-//Recordare//DTD MusicXML 1.0 Partwise//EN"
+                                "http://www.musicxml.org/dtds/partwise.dtd">
+<score-partwise>
+  <movement-title>Different time signatures</movement-title>
+  <part-list>
+    <score-part id="P1">
+      <part-name>MusicXML Part</part-name>
+    </score-part>
+  </part-list>
+  <!--=========================================================-->
+  <part id="P1">
+"""
+
+measure = 1
+
+print_measure (measure, 2, 2, " symbol=\"common\"", first_atts)
+measure += 1
+
+print_measure (measure, 4, 4, " symbol=\"common\"")
+measure += 1
+
+print_measure (measure, 2, 2)
+measure += 1
+
+print_measure (measure, 3, 2)
+measure += 1
+
+print_measure (measure, 2, 4)
+measure += 1
+
+print_measure (measure, 3, 4)
+measure += 1
+
+print_measure (measure, 4, 4)
+measure += 1
+
+print_measure (measure, 5, 4)
+measure += 1
+
+print_measure (measure, 3, 8)
+measure += 1
+
+print_measure (measure, 6, 8)
+measure += 1
+
+print_measure (measure, 12, 8, "", "", final_barline)
+measure += 1
+
+print """  </part>
+</score-partwise>
+"""
\ No newline at end of file
index 0242e973a5a1bbf2b21ec659f6408c9f6e9833c4..7a8d8bb225330c1232fb5239160c8e1ce65802c9 100644 (file)
@@ -7,9 +7,10 @@ USAGE: translations-status.py BUILDSCRIPT-DIR LOCALEDIR
 
   Reads template files translations.template.html.in
 and for each LANG in LANGUAGES LANG/translations.template.html.in
-
   Writes translations.html.in and for each LANG in LANGUAGES
 translations.LANG.html.in
+  Writes out/translations-status.txt
+  Updates word counts in TRANSLATION
 """
 
 import sys
@@ -17,7 +18,6 @@ import re
 import string
 import os
 import gettext
-import subprocess
 
 def progress (str):
     sys.stderr.write (str + '\n')
@@ -31,6 +31,7 @@ _doc = lambda s: s
 
 sys.path.append (buildscript_dir)
 import langdefs
+import buildlib
 
 # load gettext messages catalogs
 translation = {}
@@ -38,18 +39,6 @@ for l in langdefs.LANGUAGES:
     if l.enabled and l.code != 'en':
         translation[l.code] = gettext.translation('lilypond-doc', localedir, [l.code]).gettext
 
-def read_pipe (command):
-    child = subprocess.Popen (command,
-                              stdout = subprocess.PIPE,
-                              stderr = subprocess.PIPE,
-                              shell = True)
-    (output, error) = child.communicate ()
-    code = str (child.wait ())
-    if not child.stdout or child.stdout.close ():
-        print "pipe failed: %(command)s" % locals ()
-    if code != '0':
-        error = code + ' ' + error
-    return (output, error)
 
 comments_re = re.compile (r'^@ignore\n(.|\n)*?\n@end ignore$|@c .*?$', re.M)
 space_re = re.compile (r'\s+', re.M)
@@ -58,7 +47,6 @@ node_re = re.compile ('^@node .*?$', re.M)
 title_re = re.compile ('^@(top|chapter|(?:sub){0,2}section|(?:unnumbered|appendix)(?:(?:sub){0,2}sec)?) (.*?)$', re.M)
 include_re = re.compile ('^@include (.*?)$', re.M)
 
-committish_re = re.compile ('GIT [Cc]ommittish: ([a-f0-9]+)')
 translators_re = re.compile (r'^@c\s+Translators\s*:\s*(.*?)$', re.M | re.I)
 checkers_re = re.compile (r'^@c\s+Translation\s*checkers\s*:\s*(.*?)$', re.M | re.I)
 status_re = re.compile (r'^@c\s+Translation\s*status\s*:\s*(.*?)$', re.M | re.I)
@@ -66,16 +54,18 @@ post_gdp_re = re.compile ('post.GDP', re.I)
 untranslated_node_str = 'UNTRANSLATED NODE: IGNORE ME'
 skeleton_str = '-- SKELETON FILE --'
 
-diff_cmd = 'git diff --no-color %(committish)s HEAD -- %(original)s | cat'
-
 format_table = {
-    'not translated': {'color':'d0f0f8', 'short':_doc ('no'), 'long':_doc ('not translated')},
+    'not translated': {'color':'d0f0f8', 'short':_doc ('no'), 'abbr':'NT',
+                       'long':_doc ('not translated')},
     'partially translated': {'color':'dfef77', 'short':_doc ('partially (%(p)d %%)'),
-                             'long':_doc ('partially translated (%(p)d %%)')},
-    'fully translated': {'color':'1fff1f', 'short':_doc ('yes'), 'long': _doc ('translated')},
-    'up to date': {'short':_doc ('yes'), 'long':_doc ('up to date')},
-    'outdated': {'short':_doc ('partially (%(p)d %%)'), 'long':_doc ('partially up-to-date (%(p)d %%)')},
-    'N/A': {'short':_doc ('N/A'), 'long':'', 'color':'d587ff' },
+                             'abbr':'%(p)d%%', 'long':_doc ('partially translated (%(p)d %%)')},
+    'fully translated': {'color':'1fff1f', 'short':_doc ('yes'), 'abbr':'FT',
+                         'long': _doc ('translated')},
+    'up to date': {'short':_doc ('yes'), 'long':_doc ('up to date'), 'abbr':'100%%',
+                   'vague':_doc ('up to date')},
+    'outdated': {'short':_doc ('partially (%(p)d %%)'), 'abbr':'%(p)d%%',
+                 'vague':_doc ('partially up to date')},
+    'N/A': {'short':_doc ('N/A'), 'abbr':'N/A', 'color':'d587ff', 'vague':''},
     'pre-GDP':_doc ('pre-GDP'),
     'post-GDP':_doc ('post-GDP')
 }
@@ -141,6 +131,24 @@ def percentage_color (percent):
         c = [hex (int ((3 * p - 2) * b + 3 * (1 - p) * a))[2:] for (a, b) in [(0xff, 0x1f), (0xff, 0xff), (0x3d, 0x1f)]]
     return ''.join (c)
 
+
+def update_word_count (text, filename, word_count):
+    return re.sub (r'(?m)^(\d+) *' + filename,
+                   str (word_count).ljust (6) + filename,
+                   text)
+
+po_msgid_re = re.compile (r'^msgid "(.*?)"(?:\n"(.*?)")*', re.M)
+
+def po_word_count (po_content):
+    s = ' '.join ([''.join (t) for t in po_msgid_re.findall (po_content)])
+    return len (space_re.split (s))
+
+sgml_tag_re = re.compile (r'<.*?>', re.S)
+
+def sgml_word_count (sgml_doc):
+    s = sgml_tag_re.sub ('', sgml_doc)
+    return len (space_re.split (s))
+
 def tely_word_count (tely_doc):
     '''
     Calculate word count of a Texinfo document node by node.
@@ -216,14 +224,7 @@ class TranslatedTelyDocument (TelyDocument):
         self.translation_percentage = 100 * translation_word_count / master_total_word_count
 
         ## calculate how much the file is outdated
-        m = committish_re.search (self.contents)
-        if not m:
-            sys.stderr.write ('error: ' + filename + \
-                                  ": no 'GIT committish: <hash>' found.\nPlease check " + \
-                                  'the whole file against the original in English, then ' + \
-                                  'fill in HEAD committish in the header.\n')
-            sys.exit (1)
-        (diff_string, error) = read_pipe (diff_cmd % {'committish':m.group (1), 'original':masterdocument.filename})
+        (diff_string, error) = buildlib.check_translated_doc (masterdocument.filename, self.contents)
         if error:
             sys.stderr.write ('warning: %s: %s' % (self.filename, error))
             self.uptodate_percentage = None
@@ -287,28 +288,33 @@ class TranslatedTelyDocument (TelyDocument):
             if self.checkers:
                 s += '   <small>' + '<br>\n   '.join (self.checkers) + '</small><br>\n'
 
-        c = self.completeness (['long', 'color'])
+        c = self.completeness (['color', 'long'])
         s += '   <span style="background-color: #%(color)s">%(long)s</span><br>\n' % c
 
         if self.partially_translated:
-            u = self.uptodateness (['long', 'color'])
-            s += '   <span style="background-color: #%(color)s">%(long)s</span><br>\n' % u
+            u = self.uptodateness (['vague', 'color'])
+            s += '   <span style="background-color: #%(color)s">%(vague)s</span><br>\n' % u
 
         s += '  </td>\n'
         return s
 
+    def text_status (self):
+        s = self.completeness ('abbr')['abbr'] + ' '
+
+        if self.partially_translated:
+            s += self.uptodateness ('abbr')['abbr'] + ' '
+        return s
+
     def html_status (self):
         # TODO
         return ''
 
 class MasterTelyDocument (TelyDocument):
     def __init__ (self, filename, parent_translations=dict ([(lang, None) for lang in langdefs.LANGDICT.keys()])):
-        #print "init MasterTelyDocument %s" % filename
         TelyDocument.__init__ (self, filename)
         self.size = len (self.contents)
         self.word_count = tely_word_count (self.contents)
         translations = dict ([(lang, os.path.join (lang, filename)) for lang in langdefs.LANGDICT.keys()])
-        #print translations
         self.translations = dict ([(lang, TranslatedTelyDocument (translations[lang], self, parent_translations.get (lang)))
                                    for lang in langdefs.LANGDICT.keys() if os.path.exists (translations[lang])])
         if self.translations:
@@ -316,9 +322,11 @@ class MasterTelyDocument (TelyDocument):
         else:
             self.includes = []
 
-    # TODO
-    def print_wc_priority (self):
-        return
+    def update_word_counts (self, s):
+        s = update_word_count (s, self.filename, sum (self.word_count))
+        for i in self.includes:
+            s = i.update_word_counts (s)
+        return s
 
     def html_status (self, numbering=SectionNumber ()):
         if self.title == 'Untitled' or not self.translations:
@@ -344,9 +352,43 @@ class MasterTelyDocument (TelyDocument):
             s += '</table>\n<p></p>\n'
         return s
 
+    def text_status (self, numbering=SectionNumber (), colspec=[48,12]):
+        if self.title == 'Untitled' or not self.translations:
+            return ''
+
+        s = ''
+        if self.level[1] == 0: # if self is a master document
+            s += (self.print_title (numbering) + ' ').ljust (colspec[0])
+            s += ''.join (['%s'.ljust (colspec[1]) % l for l in self.translations.keys ()])
+            s += '\n'
+            s += ('Section titles (%d)' % sum (self.word_count)).ljust (colspec[0])
+
+        else:
+            s = '%s (%d) ' \
+                % (self.print_title (numbering), sum (self.word_count))
+            s = s.ljust (colspec[0])
+
+        s += ''.join ([t.text_status ().ljust(colspec[1]) for t in self.translations.values ()])
+        s += '\n\n'
+        s += ''.join ([i.text_status (numbering) for i in self.includes])
+
+        if self.level[1] == 0:
+            s += '\n'
+        return s
+
+
+update_category_word_counts_re = re.compile (r'(?ms)^-(\d+)-(.*?\n)\d+ *total')
+
+counts_re = re.compile (r'(?m)^(\d+) ')
+
+def update_category_word_counts_sub (m):
+    return '-' + m.group (1) + '-' + m.group (2) + \
+        str (sum ([int (c) for c in counts_re.findall (m.group (2))])).ljust (6) + 'total'
+
+
 progress ("Reading documents...")
 
-tely_files = read_pipe ("find -maxdepth 2 -name '*.tely'")[0].splitlines ()
+tely_files = buildlib.read_pipe ("find -maxdepth 2 -name '*.tely'")[0].splitlines ()
 master_docs = [MasterTelyDocument (os.path.normpath (filename)) for filename in tely_files]
 master_docs = [doc for doc in master_docs if doc.translations]
 
@@ -359,7 +401,9 @@ main_status_page = open ('translations.template.html.in').read ()
 
 progress ("Generating status pages...")
 
-main_status_html = ' <p><i>Last updated %s</i></p>\n' % read_pipe ('LANG= date -u')[0]
+date_time = buildlib.read_pipe ('LANG= date -u')[0]
+
+main_status_html = ' <p><i>Last updated %s</i></p>\n' % date_time
 main_status_html += '\n'.join ([doc.html_status () for doc in master_docs])
 
 html_re = re.compile ('<html>', re.I)
@@ -372,3 +416,40 @@ translations.template.html.in; DO NOT EDIT !-->''', main_status_page)
 main_status_page = end_body_re.sub (main_status_html + '\n</body>', main_status_page)
 
 open ('translations.html.in', 'w').write (main_status_page)
+
+main_status_txt = '''Documentation translations status
+Generated %s
+NT = not translated
+FT = fully translated
+
+''' % date_time
+
+main_status_txt += '\n'.join ([doc.text_status () for doc in master_docs])
+
+status_txt_file = 'out/translations-status.txt'
+progress ("Writing %s..." % status_txt_file)
+open (status_txt_file, 'w').write (main_status_txt)
+
+translation_instructions_file = 'TRANSLATION'
+progress ("Updating %s..." % translation_instructions_file)
+translation_instructions = open (translation_instructions_file).read ()
+
+for doc in master_docs:
+    translation_instructions = doc.update_word_counts (translation_instructions)
+
+for html_file in re.findall (r'(?m)^\d+ *(\S+?\.html\S*?)(?: |$)', translation_instructions):
+    word_count = sgml_word_count (open (html_file).read ())
+    translation_instructions = update_word_count (translation_instructions,
+                                                  html_file,
+                                                  word_count)
+
+for po_file in re.findall (r'(?m)^\d+ *(\S+?\.po\S*?)(?: |$)', translation_instructions):
+    word_count = po_word_count (open (po_file).read ())
+    translation_instructions = update_word_count (translation_instructions,
+                                                  po_file,
+                                                  word_count)
+
+translation_instructions = update_category_word_counts_re.sub (update_category_word_counts_sub,
+                                                               translation_instructions)
+
+open (translation_instructions_file, 'w').write (translation_instructions)
index 0f0bb61270beee42468ec305e31fb0b4106e06fa..bf645df23d78ecdd3fccb67d90978214765477f7 100644 (file)
@@ -12,6 +12,7 @@
 #include <cstdio>
 #include <cerrno>
 #include <unistd.h>
+#include <limits.h>
 
 using namespace std;
 
index 49b2322ed717e464bf992afedda255f050b5f493..969d0121470db512f58f342046fd5293c735ad29 100644 (file)
@@ -10,6 +10,7 @@
 #define RATIONAL_HH
 
 #include "std-string.hh"
+#include <limits.h>
 
 /**
    Rational numbers.  Included is support for + and - infinity.
index 1f391de20d4dd609ce8cea4a551c9fe7d649d3df..3940c938ad807bc51422bad9a114c64c482da06d 100644 (file)
@@ -22,6 +22,7 @@
 #include <algorithm>   /* find, reverse, sort */
 #include <functional>  /* unary_function */
 #include <cassert>
+#include <string>
 
 using namespace std;
 
index 65db9aaa23497bc0a7917053350f0d31d3e7ed68..f6cc680093fea3aee4dba2727ae8626340fb1bb9 100644 (file)
@@ -1,6 +1,6 @@
 depth = ..
 
-SUBDIRS = regression tutorial mutopia manual lsr new 
+SUBDIRS = regression tutorial mutopia manual lsr new texidocs
 
 examples = typography-demo les-nereides wilhelmus proportional bach-schenker cary
 
index 2be46181f91fded7f25bbc0f28e4be072d6cf67b..b4d3e34c11116f5acbdfdeddbfb4b0739efee7ba 100644 (file)
@@ -5,7 +5,7 @@
 \header {
   lsrtags = "pitches, staff-notation, vocal-music"
  texidoc = "
-Ambits can be added per voice. In that case, the ambitus must be moved
+Ambits can be added per voice. In this case, the ambitus must be moved
 manually to prevent collisions. 
 " }
 % begin verbatim
@@ -13,7 +13,7 @@ manually to prevent collisions.
   \new Voice \with {
     \consists "Ambitus_engraver"
   } \relative c'' {
-    \override Ambitus #'X-offset = # 2.0
+    \override Ambitus #'X-offset = #2.0
     \voiceOne
     c4 a d e f1
   }
@@ -21,6 +21,6 @@ manually to prevent collisions.
     \consists "Ambitus_engraver"
   } \relative c' {
     \voiceTwo
-       es4 f g as b1
+    es4 f g as b1
   }
 >>
index 15d77cbcffe4245d197c82572f918a890cccf3c7..899d2503f5583fe6b9d9b7a2e0111610b1df5f48 100644 (file)
@@ -6,19 +6,19 @@
   lsrtags = "rhythms, expressive-marks"
  texidoc = "
 LilyPond syntax can involve many unusual placements for parentheses,
-brackets etc., which might sometimes have to be interleaved.For
+brackets etc., which might sometimes have to be interleaved. For
 example, when entering a manual beam, the left square bracket has to be
 placed after the starting note and its duration, not before. Similarly,
 the right square bracket should directly follow the note which is to be
 at the end of the requested beaming, even if this note happens to be
-inside a tuplet section. This snippet demonstrates how to superpose
-manual beaming, manual slurs, ties, and phrasing slurs, while using
-tuplet sections (enclosed with curly braces).
+inside a tuplet section. This snippet demonstrates how to combine
+manual beaming, manual slurs, ties and phrasing slurs with tuplet
+sections (enclosed within curly braces). 
 " }
 % begin verbatim
 {
-  r16[ g16 \times 2/3 {r16 e'8] }
-  g16( a \times 2/3 {b d e') }
-  g8[( a \times 2/3 {b d') e'~]}
-  \times 4/5 {e'32\( a b d' e'} a'4.\)
+  r16[ g16 \times 2/3 { r16 e'8] }
+  g16( a \times 2/3 { b d e') }
+  g8[( a \times 2/3 { b d') e']~ }
+  \times 4/5 { e'32\( a b d' e' } a'4.\)
 }
index f9941b82c8205cf162745cb42ffd7be5725ec546..d00ab08965c7b719481cc9407f8f2c7730cc9a98 100644 (file)
@@ -6,43 +6,37 @@
   lsrtags = "rhythms, percussion"
  texidoc = "
 LilyPond makes drums input quite easy, with powerful pre-configured
-tools such as the \\drummode function and the DrumStaff context:  drums
-are placed to their own staff positions (with a special clef symbol)
-and have note heads according to the drum. You can easily attach an
-extra symbol to the drum, and restrict the number of lines.
+tools such as the @code{\\drummode} function and the @code{DrumStaff}
+context: drums are placed at their own staff positions (with a special
+clef symbol) and have noteheads according to the drum. You can easily
+attach an extra symbol to the drum, and restrict the number of lines. 
 " }
 % begin verbatim
-drh = \drummode { cymc4.^"crash" hhc16^"h.h." hh \repeat "unfold" 5 {hhc8 hho hhc8 hh16 hh} hhc4 r4 r2 }
-drl = \drummode {\repeat "unfold" 3 {bd4 sn8 bd bd4 << bd ss >> } bd8 tommh tommh bd toml toml bd tomfh16 tomfh }
-timb = \drummode { \repeat "unfold" 2 {timh4 ssh timl8 ssh r timh r4 ssh8 timl r4 cb8 cb} }
+drh = \drummode { cymc4.^"crash" hhc16^"h.h." hh hhc8 hho hhc8 hh16 hh hhc4 r4 r2 }
+drl = \drummode { bd4 sn8 bd bd4 << bd ss >>  bd8 tommh tommh bd toml toml bd tomfh16 tomfh }
+timb = \drummode { timh4 ssh timl8 ssh r timh r4 ssh8 timl r4 cb8 cb }
 
 \score {
-  \repeat "volta" 2 {
-    <<
-      \new DrumStaff \with {
-       drumStyleTable = #timbales-style
-       \override StaffSymbol #'line-count = #2
-       \override BarLine #'bar-size = #2
-      } <<
-       \set Staff.instrumentName = "timbales"
-       \timb
-      >>
-      \new DrumStaff <<
-       \set Staff.instrumentName = "drums"
-       \new DrumVoice {\stemUp \drh }
-       \new DrumVoice {\stemDown \drl }
-      >>
+  <<
+    \new DrumStaff \with {
+      drumStyleTable = #timbales-style
+      \override StaffSymbol #'line-count = #2
+      \override BarLine #'bar-size = #2
+    } <<
+      \set Staff.instrumentName = "timbales"
+      \timb
     >>
-  }
+    \new DrumStaff <<
+      \set Staff.instrumentName = "drums"
+      \new DrumVoice { \stemUp \drh }
+      \new DrumVoice { \stemDown \drl }
+    >>
+  >>
   \layout {}
-
   \midi {
     \context {
       \Score
       tempoWholesPerMinute = #(ly:make-moment 120 4)
-      }
     }
-
-
+  }
 }
-
diff --git a/input/lsr/adding-parentheses-around-an-expressive-mark-or-chordal-note.ly b/input/lsr/adding-parentheses-around-an-expressive-mark-or-chordal-note.ly
new file mode 100644 (file)
index 0000000..0e699be
--- /dev/null
@@ -0,0 +1,19 @@
+%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
+%% This file is in the public domain.
+\version "2.11.38"
+
+\header {
+  lsrtags = "expressive-marks"
+ texidoc = "
+The @code{\\parenthesize} function is a special tweak that encloses
+objects in parentheses. The associated grob is
+@code{Score.ParenthesesItem}. 
+" }
+% begin verbatim
+\relative {
+  c2-\parenthesize ->
+  \override ParenthesesItem #'padding = #0.1
+  \override ParenthesesItem #'font-size = #-4
+  <d \parenthesize fis a> 
+}
+
diff --git a/input/lsr/adding-parentheses-around-an-expressive-mark.ly b/input/lsr/adding-parentheses-around-an-expressive-mark.ly
deleted file mode 100644 (file)
index 7341d4f..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
-%% This file is in the public domain.
-\version "2.11.38"
-
-\header {
-  lsrtags = "expressive-marks"
- texidoc = "
-The parenthesize function is a special tweak that encloses objects in
-parentheses. The associated grob is Score.ParenthesesItem.
-" }
-% begin verbatim
-\relative {
-  c4 -\parenthesize -.
-  \override ParenthesesItem #'padding = #0.1
-  <d \parenthesize fis a> 
-}
-
index 85ac4910c5c5544cf210efacfd2229d082330396..c525d98d6e514122845729d3368940cc27269abf 100644 (file)
@@ -33,7 +33,7 @@ date = #(strftime "%d-%m-%Y" (localtime (current-time)))
   title = "Including the date!"
   subtitle = \date
 }
-% begin verbatim
+
 \score {
   \relative c'' {
     c4 c c c
diff --git a/input/lsr/adding-volta-brackets-to-additional-staves.ly b/input/lsr/adding-volta-brackets-to-additional-staves.ly
new file mode 100644 (file)
index 0000000..4e8915f
--- /dev/null
@@ -0,0 +1,20 @@
+%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
+%% This file is in the public domain.
+\version "2.11.38"
+
+\header {
+  lsrtags = "repeats"
+ texidoc = "
+The @code{Volta_engraver} by default resides in the @code{Score}
+context, and brackets for the repeat are thus normally only printed
+over the topmost staff. This can be adjusted by adding the
+@code{Volta_engraver} to the @code{Staff} context where you want the
+brackets to appear; see also the \"Volta multi staff\" snippet.
+" }
+% begin verbatim
+<<
+  \new Staff { \repeat volta 2 { c'1 } \alternative { c' } }
+  \new Staff { \repeat volta 2 { c'1 } \alternative { c' } }
+  \new Staff \with { \consists Volta_engraver } { c'2 g' e' a' }
+  \new Staff { \repeat volta 2 { c'1 } \alternative { c' } }
+ >>
index 1cb96225ba2e0c137931491681bc5fb132d83cf8..fcd55166d1575adf07a39d431647d585b3b67a8a 100644 (file)
@@ -6,9 +6,10 @@
   lsrtags = "text, vocal-music"
  texidoc = "
 You can specify different horizontal alignment for your lyrics, by
-overriding the #'self-alignment-X property of the LyricText object. #-1
-is left, #0 is center and #1 is right; however, you can use #LEFT,
-#CENTER and #RIGHT as well.
+overriding the @code{#'self-alignment-X} property of the
+@code{LyricText} object. @code{#-1} is left, @code{#0} is center and
+@code{#1} is right; however, you can use @code{#LEFT}, @code{#CENTER}
+and @code{#RIGHT} as well. 
 " }
 % begin verbatim
 \relative c'' {
diff --git a/input/lsr/allowing-fingerings-to-be-printed-inside-the-staff.ly b/input/lsr/allowing-fingerings-to-be-printed-inside-the-staff.ly
new file mode 100644 (file)
index 0000000..5e91f03
--- /dev/null
@@ -0,0 +1,16 @@
+%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
+%% This file is in the public domain.
+\version "2.11.38"
+
+\header {
+  lsrtags = "editorial-and-educational-use, spacing"
+ texidoc = "
+By default, fingering numbers will be printed outside the staff.
+However, this behavior can be cancelled.
+" }
+% begin verbatim
+\relative c' {
+  <c-1 e-2 g-3 b-5>2
+  \once \override Fingering  #'staff-padding = #'()
+  <c-1 e-2 g-3 b-5>
+}
index 67d6605a4f87d239d06619ff9a14d27e1bdff8f4..d29ad8d235668873102e252764a62749f16f4303 100644 (file)
@@ -5,7 +5,7 @@
 \header {
   lsrtags = "rhythms, tweaks-and-overrides"
  texidoc = "
-You can alter the number of stems in a beam.  In this example, two sets
+You can alter the number of stems in a beam. In this example, two sets
 of four 32nds are joined, as if they were 8th notes.
 
 
@@ -16,8 +16,8 @@ of four 32nds are joined, as if they were 8th notes.
   #(override-auto-beam-setting '(end * * * *)  1 4)
   f32 g a b b a g f
 
-  f32 g a 
-  \set stemRightBeamCount = #1  b
+  f32 g a
+  \set stemRightBeamCount = #1 b
   \set stemLeftBeamCount = #1 b
   a g f
 }
index d6c563becfeb72aebcd735b1d4a9ddab5d6da4eb..6864d8d19be1d092de5fe1618f93497bccca2143 100644 (file)
@@ -8,7 +8,7 @@
 If you have multiple voices in a single staff and you want a single
 ambitus per staff rather than per voice, add the
 @code{Ambitus_engraver} to the @code{Staff} context rather than to the
-@code{Voice} context.
+@code{Voice} context. 
 " }
 % begin verbatim
 \new Staff \with {
@@ -16,12 +16,12 @@ ambitus per staff rather than per voice, add the
   }
 <<
   \new Voice \relative c'' {
-      \voiceOne
-      c4 a d e f1
-    }
+    \voiceOne
+    c4 a d e f1
+  }
   \new Voice \relative c' {
-      \voiceTwo
-      es4 f g as b1
-    }
+    \voiceTwo
+    es4 f g as b1
+  }
 >>
 
index 88c40ece44352aab2de1e7931c3d08580893cd1f..9da2dde0b7a692e7f37b0ca1875da53e9a836ed2 100644 (file)
@@ -5,5 +5,6 @@ ancient-notation-template----modern-transcription-of-mensural-music.ly
 ancient-fonts.ly
 ancient-time-signatures.ly
 custodes.ly
+mensurstriche-layout-bar-lines-between-the-staves.ly
 ancient-notation-template----modern-transcription-of-gregorian-music.ly
 rest-styles.ly
diff --git a/input/lsr/applying-notehead-styles-depending-on-the-step-of-the-scale.ly b/input/lsr/applying-notehead-styles-depending-on-the-step-of-the-scale.ly
new file mode 100644 (file)
index 0000000..2691f1e
--- /dev/null
@@ -0,0 +1,42 @@
+%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
+%% This file is in the public domain.
+\version "2.11.38"
+
+\header {
+  lsrtags = "pitches, editorial-and-educational-use"
+ texidoc = "
+The @code{shapeNoteStyles} property gives you the ability to define
+various notehead styles for each step of the scale (as defined by the
+key signature or the \"tonic\" property). This property requires a set
+of symbols, which can be purely arbitrary (geometrical expressions such
+as @code{triangle}, @code{cross}, @code{xcircle} etc. are allowed) or
+based on old American engraving tradition (you can use some latin note
+names as well). That said, if you're trying to imitate old American
+song books, you may also want to try LilyPond's predefined notehead
+styles, through shortcut commands such as @code{\\aikenHeads} or
+@code{\\sacredHarpHeads}. This example shows different ways to obtain
+shape noteheads, and demonstrates the ability to transpose a melody
+without losing the correspondence between harmonic functions and
+notehead styles. 
+" }
+% begin verbatim
+fragment = {
+  \key c \major
+  c2 d e f g a b c
+}
+
+\score {
+  \new Staff {
+    \transpose c d 
+    \relative {
+      \set shapeNoteStyles = ##(do re mi fa #f la ti)
+      \fragment
+    }
+    
+    \relative {
+      \set shapeNoteStyles  = ##(cross triangle fa #f mensural xcircle diamond)
+      \fragment
+    }
+  }
+}
+
diff --git a/input/lsr/applying-noteheads-styles-depending-on-the-step-of-the-scale.ly b/input/lsr/applying-noteheads-styles-depending-on-the-step-of-the-scale.ly
deleted file mode 100644 (file)
index 4a13c69..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
-%% This file is in the public domain.
-\version "2.11.38"
-
-\header {
-  lsrtags = "pitches, editorial-and-educational-use"
- texidoc = "
-The shapeNoteStyles property gives you the ability to define various
-note heads styles for each step of the scale (as defined by the key
-signature or the \"tonic\" property).
-
-This property requires a set of symbols, which can be purely arbitrary
-(geometrical expressions such as triangle, cross, xcircle etc. are
-allowed) or based on old American engraving tradition (you can use some
-latin note names as well). 
-
-That said, if you're trying to imitate old American song books, you may
-also want to try LilyPond's predefined note heads styles, through
-shortcut commands such as \\aikenHeads or \\sacredHarpHeads.
-
-This example shows different ways to obtain shape note heads, and
-demonstrates the ability to transpose a melody without losing the
-correspondance between harmonic functions and note heads styles.
-" }
-% begin verbatim
-fragment = {
-  \key c \major
-  c1 d e f g a b c
-  \break
-}
-
-\score {
-  \new Staff {
-    \transpose c d 
-    \relative {
-      \set shapeNoteStyles = ##(do re mi fa #f la ti)
-      \fragment \break
-    }
-    
-    \relative {
-      \set shapeNoteStyles  = ##(cross triangle fa #f mensural xcircle diamond)
-      \fragment
-    }
-  }
-}
-
diff --git a/input/lsr/automatic-beam-subdivisions.ly b/input/lsr/automatic-beam-subdivisions.ly
deleted file mode 100644 (file)
index 2dbb41d..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
-%% This file is in the public domain.
-\version "2.11.38"
-
-\header {
-  lsrtags = "rhythms"
- texidoc = "
-Lilypond can subdivide beams automatically. Set the property
-subdivideBeams, and beams are subdivided at beat positions (as
-specified in beat length)
-" }
-% begin verbatim
-\relative{ b'32^"default"[ a g f c' b a g f e d' c b a g f ]
-              \set subdivideBeams = ##t
-              b32^"subdivision enabled"[ a g f c' b a g f e d' c b a g f ] 
-              \set Score.beatLength = #(ly:make-moment 1 8)
-              b32^"beatLength 1 8"[ a g f c' b a g f e d' c b a g f ]
-              \set Score.beatLength = #(ly:make-moment 1 16)
-              b32^"beatLength 1 16"[ a g f c' b a g f e d' c b a g f ]
-    }
-
index 8d008b750738ac9db970325453f7d9b909714c6b..ae1c92d6d5b12125ae2eafce2f6612414fdbc9c6 100644 (file)
@@ -5,51 +5,46 @@
 \header {
   lsrtags = "rhythms"
  texidoc = "
-In time signature 2/2 or 4/4 the beam are  @code{         _____        
- _   _  Default | | | | I want | | | |. } Use a \"macro\" with
-#(override-auto-beam-setting '.....
-
-
-
+In a simple time signature of 2/2 or 4/4, 8th notes are beamed by
+default as two sets of four. Using a macro which overrides the
+autobeaming behaviour, this snippet changes the beaming to quarter note
+beats. 
 " }
 % begin verbatim
 % Automatic beams two per two in 4/4 or 2/2 time signature
-%           _____
+%            _____
 % Default   | | | | 
-%           _   _
+%                 _   _
 % I want    | | | |
 
-% The good way adapted from David Bobrof
+% The good way adapted from David Bobroff
 
 % macro for beamed two per two in 2/2 and 4/4 time signature
-qbeam={  
-       #(override-auto-beam-setting '(end 1 8 * *) 1 4 'Staff)
-       #(override-auto-beam-setting '(end 1 8 * *) 2 4 'Staff)
-       #(override-auto-beam-setting '(end 1 8 * *) 3 4 'Staff) 
-       }
-% other macros 
-timeFractionstyle={ \override Staff.TimeSignature #'style = #'()}
-textn = ^\markup{ without the macro }
-texty = ^\markup{ with the macro }
+qbeam= {
+  #(override-auto-beam-setting '(end 1 8 * *) 1 4 'Staff)
+  #(override-auto-beam-setting '(end 1 8 * *) 2 4 'Staff)
+  #(override-auto-beam-setting '(end 1 8 * *) 3 4 'Staff)
+}
 
 \score {
- << 
-       \new Staff << \relative c'' {  
-               \timeFractionstyle
-               \time 4/4
-                g8\textn g g g   g g g g   g g g g4  g8 g g
-                }
-               >>
-               
-       %Use the macro  
-       
-       \new Staff << \relative c'' {  
-               \timeFractionstyle
-               \time 4/4
-               \qbeam
-               g8\texty g g g   g g g g  g g g g4  g8 g g 
-                }
-        >>      
- >>
-\layout{ raggedright = ##t }
+  <<
+    \new Staff \relative c'' {
+      \time 4/4
+      g8^\markup { without the macro } g g g g g g g |
+      g g g g4 g8 g g |
+    }
+       %Use the macro
+    \new Staff \relative c'' {
+      \time 4/4
+      \qbeam
+      g8^\markup { with the macro } g g g g g g g |
+      g g g g4 g8 g g |
+    }
+  >>
+  \layout {
+    \context {
+      \Staff
+      \override TimeSignature #'style = #'()
+    }
+  }
 }
diff --git a/input/lsr/beam-across-line-breaks.ly b/input/lsr/beam-across-line-breaks.ly
deleted file mode 100644 (file)
index ea2fc57..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
-%% This file is in the public domain.
-\version "2.11.38"
-
-\header {
-  lsrtags = "rhythms, breaks"
- texidoc = "
-By default, beams can't be printed across line breaks. Here's a way to
-force the line break, by setting the @code{#'breakable} property. See
-also in the manual the \"Line Breaking\" and \"Manual beams\" sections.
-" }
-% begin verbatim
-\layout { ragged-right= ##t }
-
-\relative c''  {
-  \override Score.Beam #'breakable = ##t
-  \time 3/16 c16-[ d e \break f-] 
-}
diff --git a/input/lsr/beams-across-line-breaks.ly b/input/lsr/beams-across-line-breaks.ly
new file mode 100644 (file)
index 0000000..a5326cd
--- /dev/null
@@ -0,0 +1,18 @@
+%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
+%% This file is in the public domain.
+\version "2.11.38"
+
+\header {
+  lsrtags = "rhythms, breaks"
+ texidoc = "
+By default, beams can't be printed across line breaks. Here's a way to
+force the line break, by setting the @code{#'breakable} property. See
+also in the manual the \"Line Breaking\" and \"Manual beams\" sections.
+
+" }
+% begin verbatim
+\layout { ragged-right= ##t }
+\relative c'' {
+  \override Score.Beam #'breakable = ##t
+  \time 3/16 c16[ d e \break f] 
+}
index b33e4ab0d12edcfa915660025875191092636b81..5161cd6a5b4c5456a5f40563cc5052c43fc6b15a 100644 (file)
@@ -5,16 +5,12 @@
 \header {
   lsrtags = "editorial-and-educational-use, text"
  texidoc = "
-The \\whiteout command underlays a white box under a markup. Since
-staff lines are in a lower layer than most other grobs, this white box
-will not overlap any other grob.
+The @code{\\whiteout} command underlays a white box under a markup.
+Since staff lines are in a lower layer than most other grobs, this
+white box will not overlap any other grob. 
 " }
 % begin verbatim
-\paper
-{
-  ragged-right = ##t
-}
 {
   \override TextScript #'extra-offset = #'(2 . 4)
-  c'4-\markup  { \whiteout \pad-markup #0.5 foo } c
+  c'2-\markup  { \whiteout \pad-markup #0.5 foo } c
 } 
index a8b1e07a2275f2330e64e67ae2ed56c882255e38..cffb62e0a227cf90739c10afc5d7f32dbd764455 100644 (file)
@@ -1,3 +1,3 @@
 positioning-segno-and-coda-with-line-break.ly
-beam-across-line-breaks.ly
 adding-and-extra-staff-at-a-line-break.ly
+beams-across-line-breaks.ly
index f8d87e3870cc78ee7c93fb8fe96027fe07516035..07846dce7695fe08e1908bcc8066bab8b4477d40 100644 (file)
@@ -6,7 +6,7 @@
   lsrtags = "expressive-marks"
  texidoc = "
 Breathing signs are available in different tastes: commas (default),
-ticks, vees and `railroad tracks' (caesura).
+ticks, vees and \"railroad tracks\" (caesura).
 " }
 % begin verbatim
 {
index 56117a6cb86be0c46908e329e4f17a23e5c17471..373bc05069b5a6c2d6c219dcd79bf71272b70a00 100644 (file)
@@ -7,17 +7,22 @@
  texidoc = "
 In order to make parts of a crescendo hairpin invisible, the following
 method is used: A white rectangle is drawn on top of the respective
-part of the crescendo hairpin, making it invisible. the rectangle is
-defined as postscript code within a text markup. In order to fine tune
-the position and size of the markup, the number preceding the
-\"setgray\" in the postscript definition can be set to a value <1
-making it grey. The two numbes before the \"scale\" in the postscript
-code are responsible for the width and height of the rectangle, the two
-numbers before the \"translate\" change the x- and y-origin of the
-rectangle.  Make sure to put the Hairpin in a lower layer than the Text
-Markup to actually draw the rectangle above the hairpin. 
+part of the crescendo hairpin, making it invisible. The rectangle is
+defined as postscript code within a text markup.
+
+In order to fine-tune the position and size of the markup, the number
+preceding the \"setgray\" in the postscript definition can be set to a
+value <1 making it grey. The two numbes before the \"scale\" in the
+postscript code are responsible for the width and height of the
+rectangle, the two numbers before the \"translate\" change the x- and
+y-origin of the rectangle. 
+
+Make sure to put the Hairpin in a lower layer than the Text Markup to
+actually draw the rectangle above the hairpin. 
 " }
 % begin verbatim
+% Version specific to 2.10; fails under 2.11 due to rest position -np
+
 \score
 {
     \relative c' {
index 08ee89a2858d6a097177f62298e3b04323b807e6..9a7fbf1ac9696b841df1de0c5e6ad5e224a6640e 100644 (file)
@@ -12,19 +12,16 @@ and a fermata.
 " }
 % begin verbatim
 {
-  \context Voice {
-    c''2.
-    % use some scheme code to construct the symbol
-    \override BreathingSign #'text = #(markup #:line 
-                                  (#:musicglyph "scripts.caesura.curved"
-                                   #:translate (cons -1.75 1.6) 
-                                   #:musicglyph "scripts.ufermata"
-                                  ))
-    \breathe c''4
-    % set the breathe mark back to normal
-    \revert BreathingSign #'text
-    c''2. \breathe c''4
-    \bar "|."
+  c''2.
+  % construct the symbol
+  \override BreathingSign #'text = \markup {
+    \line {
+      \musicglyph #"scripts.caesura.curved" \translate #'(-1.75 . 1.6) \musicglyph #"scripts.ufermata"
+    }
   }
+  \breathe c''4
+  % set the breathe mark back to normal
+  \revert BreathingSign #'text
+  c''2. \breathe c''4
+  \bar "|."
 }
-
index e427bfcfa97a51efe091945fe200bf7e98550621..2139970e70a5d41e325c0cd38d48512f77c8dd2b 100644 (file)
@@ -5,11 +5,10 @@
 \header {
   lsrtags = "expressive-marks, text"
  texidoc = "
-This example provides a function to typeset hairpin (de)crescendo with
-some additional text below it, such as \"molto\" or \"poco\". 
-
-The example also illustrates how to use modify the way an object
-normally is printed, using some Scheme code.  
+This example provides a function to typeset a hairpin (de)crescendo
+with some additional text below it, such as \"molto\" or \"poco\".The
+example also illustrates how to modify the way an object is normally
+printed, using some Scheme code.  
 " }
 % begin verbatim
 hairpinWithCenteredText = #(define-music-function
@@ -27,8 +26,8 @@ hairpinWithCenteredText = #(define-music-function
 #})
 
 
-hairpinMolto = \hairpinWithCenteredText \markup {\italic "molto"}
-hairpinMore  = \hairpinWithCenteredText \markup {\bigger "moltissimo"}
+hairpinMolto = \hairpinWithCenteredText \markup { \italic "molto" }
+hairpinMore  = \hairpinWithCenteredText \markup { \bigger "moltissimo" }
 
 \new Staff {
    \hairpinMolto c'2\< c'2\f
index 22724d65b1d3ef97fbfebb2b5f22691f8eeabb75..5bc4e29fa5de1e7e2ca9f16e74edbc3aab9c9052 100644 (file)
@@ -5,17 +5,17 @@
 \header {
   lsrtags = "expressive-marks"
  texidoc = "
-To make the \\flageolet circle smaller you can use the following scheme
-code (found in the Lilypond-user-archive)
+To make the @code{\\flageolet} circle smaller you can use the following
+Scheme code. 
 " }
 % begin verbatim
-F = #(let ((m (make-music 'ArticulationEvent
+smallFlageolet = #(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'' { d4^\flageolet_\markup {"orginal \flageolet "} d4_\flageolet
-  c4^\F_\markup {smaller } c4_\F 
+\relative c'' { d4^\flageolet_\markup { default size } d4_\flageolet
+  c4^\smallFlageolet_\markup { smaller } c4_\smallFlageolet 
 }
diff --git a/input/lsr/changing-a-single-notes-size-in-a-chord.ly b/input/lsr/changing-a-single-notes-size-in-a-chord.ly
new file mode 100644 (file)
index 0000000..7f71858
--- /dev/null
@@ -0,0 +1,25 @@
+%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
+%% This file is in the public domain.
+\version "2.11.38"
+
+\header {
+  lsrtags = "simultaneous-notes, editorial-and-educational-use, tweaks-and-overrides"
+ texidoc = "
+Individual noteheads in a chord can be modified with the @code{\\tweak}
+command inside a chord, by altering the @code{'font-size} property.
+
+
+Inside the chord (within the brackets @code{< >}), before the note to
+be altered, place the @code{\\tweak} command, followed by
+@code{#'font-size} and define the proper size like @code{#-2} (a tiny
+notehead).
+
+
+The code for the chord example shown: @code{} 
+" }
+% begin verbatim
+\relative {
+  <\tweak #'font-size #+2 c e g c \tweak #'font-size #-2 e>1^\markup { A tiny e }_\markup { A big c }
+}
+\layout { ragged-right = ##t }
+
diff --git a/input/lsr/changing-an-individual-notes-size-in-a-chord.ly b/input/lsr/changing-an-individual-notes-size-in-a-chord.ly
deleted file mode 100644 (file)
index f2a6558..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
-%% This file is in the public domain.
-\version "2.11.38"
-
-\header {
-  lsrtags = "simultaneous-notes, editorial-and-educational-use, tweaks-and-overrides"
- texidoc = "
-Individual noteheads in a chord can be modified with the @code{\\tweak}
-command inside a chord, by altering the @code{'font-size} property.
-
-
-Inside the chord (within the brackets @code{< >}), before the note to
-be altered, place the @code{\\tweak} command, followed by
-@code{#'font-size} and define the proper size like @code{#-2} (a tiny
-notehead).
-
-
-The code for the chord example shown: @code{} 
-" }
-% begin verbatim
-\header{
-  title = "Modifying an individual notehead's size in a chord"
-}
-
-Notes = \relative {
-  <\tweak #'font-size #+2 c e g c \tweak #'font-size #-2 e>1^\markup{A tiny e}_\markup{A big c}
-}
-
-\score{
-  \Notes
-}
diff --git a/input/lsr/changing-form-of-multi--measure-rests.ly b/input/lsr/changing-form-of-multi--measure-rests.ly
new file mode 100644 (file)
index 0000000..bf9a0eb
--- /dev/null
@@ -0,0 +1,22 @@
+%% Do not edit this file; it is auto-generated from input/new
+%% This file is in the public domain.
+\version "2.11.42"
+\layout { ragged-right= ##t }
+\header {
+  doctitle = "Changing form of multi-measure rests"
+  lsrtags = "rhythms,tweaks-and-overrides"
+  texidoc = "
+If there are 10 or fewer measures of rest, LilyPond prints
+a series of longa and breve rests (called in German
+Kirchenpausen - church rests) within the staff and
+prints a simple line otherwise.  This default number of 10
+may be changed by an override:
+"}
+% begin verbatim
+\relative c'' {
+\compressFullBarRests
+R1*2 | R1*5 | R1*9
+\override MultiMeasureRest #'expand-limit = 3
+R1*2 | R1*5 | R1*9
+}
+
index 1a71ec3e8fb835a03bd60a5ab1922ffed25c3d12..5ba1747bd4c8f23789b737a4552c3fbc139e7020 100644 (file)
@@ -10,21 +10,19 @@ The appearance of slurs may be changed from solid to dotted or dashed.
 
 " }
 % begin verbatim
-\score{
-  \relative c'{
-    c( d e  c) |
-    \slurDotted
-    c( d e  c) |
-    \slurSolid
-    c( d e  c) |
-    \slurDashed
-    c( d e  c) |
-    \slurSolid
-    c( d e  c) |
-  }
-  \layout{ raggedright=##t }
+\relative c' {
+  c( d e  c) |
+  \slurDotted
+  c( d e  c) |
+  \slurSolid
+  c( d e  c) |
+  \slurDashed
+  c( d e  c) |
+  \slurSolid
+  c( d e  c) |
 }
 
 
 
 
+
index 1f87eb9fe991baddd670c1fd904f14c8f660c178..1d2fa5803a9ebc37f81a470c4543fcfecdd21ed3 100644 (file)
@@ -3,7 +3,7 @@
 \version "2.11.38"
 
 \header {
-  lsrtags = "editorial-and-educational-use, text, tweaks-and-overrides"
+  lsrtags = "text, tweaks-and-overrides"
  texidoc = "
 The default font families for text can be overridden with
 @code{make-pango-font-tree}. 
@@ -37,7 +37,7 @@ The default font families for text can be overridden with
       sans: foo \bold bla \italic bar \italic \bold baz
     }
   }
-  c'^\markup {
+  c'2^\markup {
     \override #'(font-family . typewriter)
     {
       mono: foo \bold bla \italic bar \italic \bold baz
diff --git a/input/lsr/changing-the-tuplet-number.ly b/input/lsr/changing-the-tuplet-number.ly
new file mode 100644 (file)
index 0000000..a5b17af
--- /dev/null
@@ -0,0 +1,20 @@
+%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
+%% This file is in the public domain.
+\version "2.11.38"
+
+\header {
+  lsrtags = "rhythms"
+ texidoc = "
+By default, only the numerator of the tuplet number is printed over the
+tuplet bracket, i.e. the denominator of the argument to the
+@code{\\times} command. Alternatively, num:den of the tuplet number may
+be printed, or the tuplet number may be suppressed altogether.
+" }
+% begin verbatim
+\relative c'' {
+  \times 2/3 { c8 c c } \times 2/3 { c8 c c }
+  \override TupletNumber #'text = #tuplet-number::calc-fraction-text
+  \times 2/3 { c8 c c }
+  \override TupletNumber #'stencil = ##f
+  \times 2/3 { c8 c c }
+}
index fa8bd79a8aba6d24b085297d5905d1281f659702..da81799a09645ee67664fc06761d1b6f2cfc148d 100644 (file)
@@ -5,42 +5,42 @@
 \header {
   lsrtags = "rhythms, contexts-and-engravers"
  texidoc = "
-The measureLength variable, together with measurePosition, determines
-when a barline is needed. However, when using \\compressMusic, the
-scaling of durations makes it difficult to change time signatures
-without making a mess of it. 
-
-Therefore, measureLength has to be set manually, using the
-ly:make-moment callback. The second argument has to be the same as the
-second argument of \\compressMusic.
+The @code{measureLength} property, together with
+@code{measurePosition}, determines when a barline is needed. However,
+when using @code{\\compressMusic}, the scaling of durations makes it
+difficult to change time signatures without making a mess of it.
+Therefore, @code{measureLength} has to be set manually, using the
+@code{ly:make-moment} callback. The second argument has to be the same
+as the second argument of @code{\\compressMusic}. 
 " }
 % begin verbatim
 \layout {
- \context { \Score
+  \context {
+    \Score
     \remove "Timing_translator"
     \remove "Default_bar_line_engraver"
- }
- \context {
-   \Staff
-   \consists "Timing_translator"
-   \consists "Default_bar_line_engraver"
- }
 }
 \context {
+    \Staff
+    \consists "Timing_translator"
+    \consists "Default_bar_line_engraver"
 }
 }
 
 <<
- \new Staff {
-   \compressMusic #'( 8 . 5 ) {
-     \time 6/8
-     \set Timing.measureLength = #(ly:make-moment 3 5)
-     b8 b b b b b
-     \time 2/4
-     \set Timing.measureLength = #(ly:make-moment 2 5)
-     b4 b
-     }
-   }
- \new Staff {
-   \clef bass
-   \time 2/4
-   c2 d e f  }
- >>
-
 \new Staff {
+    \compressMusic #'(8 . 5) {
+      \time 6/8
+      \set Timing.measureLength = #(ly:make-moment 3 5)
+      b8 b b b b b
+      \time 2/4
+      \set Timing.measureLength = #(ly:make-moment 2 5)
+      b4 b
+    }
+  }
 \new Staff {
+    \clef bass
+    \time 2/4
+    c2 d e f
+  }
+>>
index af4ca99b46fbf49f1eac80115bef7841b3e58eb4..d1abd7876b36f4774730743fe2214cbb84e72495 100644 (file)
@@ -9,20 +9,19 @@ This form of notation is used for the chant of the Psalms, where verses
 aren't always the same length.
 " }
 % begin verbatim
-stemon = { \override Staff.Stem #'transparent = ##f }
-stemoff = { \override Staff.Stem #'transparent = ##t }
+stemOn = { \override Staff.Stem #'transparent = ##f }
+stemOff = { \override Staff.Stem #'transparent = ##t }
 
 \score {
-\new Staff \with {\remove "Time_signature_engraver" }
-{
-       \key g \minor
-       \set Score.timing = ##f
-       \stemoff a'\breve bes'4 g'4
-       \stemon a'2 \bar "||"
-       \stemoff a'\breve g'4 a'4
-       \stemon f'2 \bar "||"
-       \stemoff a'\breve^\markup { \italic flexe }
-       \stemon g'2 \bar "||"
-}
-\layout { raggedright = ##t}
+  \new Staff \with { \remove "Time_signature_engraver" }
+  {
+    \key g \minor
+    \set Score.timing = ##f
+    \stemOff a'\breve bes'4 g'4
+    \stemOn a'2 \bar "||"
+    \stemOff a'\breve g'4 a'4
+    \stemOn f'2 \bar "||"
+    \stemOff a'\breve^\markup { \italic flexe }
+    \stemOn g'2 \bar "||"
+  }
 }
index 360aab0085784d4d27fb8c46b74756aa656cf870..3eb5fd7a861a3728abc2ab2a9693e353ea6051fb 100644 (file)
@@ -1,6 +1,7 @@
 changing-the-chord-names-to-german-or-semi-german-notation.ly
 adding-a-figured-bass-above-or-below-the-notes.ly
 single-staff-template-with-notes-and-chords.ly
+controlling-the-placement-of-chord-fingerings.ly
 clusters.ly
 single-staff-template-with-notes,-lyrics,-and-chords.ly
 chord-name-exceptions.ly
index dac04fe9798199140e57e7258036fbf8ca57f127..fe0a4ea9eb2c03ab847b505597564ef2410a69f0 100644 (file)
@@ -3,11 +3,11 @@
 \version "2.11.38"
 
 \header {
-  lsrtags = "pitches, staff-notation, editorial-and-educational-use, tweaks-and-overrides"
+  lsrtags = "pitches, staff-notation, tweaks-and-overrides"
  texidoc = "
 The command @code{\\clef \"treble_8\"} is equivalent to setting
-@code{clefGlyph}, @code{clefPosition} (which controls the Y position of
-the clef), @code{middleCPosition} and @code{clefOctavation}.  A clef is
+@code{clefGlyph}, @code{clefPosition} (which controls the Y-position of
+the clef), @code{middleCPosition} and @code{clefOctavation}. A clef is
 printed when any of these properties are changed.
 
 
@@ -16,19 +16,18 @@ octavation, does not in itself change the position of subsequent notes
 on the staff: the position of middle C must also be specified to do
 this. The positional parameters are relative to the staff centre line,
 positive numbers displacing upwards, counting 1 for each line and
-space. The clefOctavation value would normally be set to 7, -7, 15 or
--15, but other values are not invalid.
+space. The @code{clefOctavation} value would normally be set to 7, -7,
+15 or -15, but other values are valid.
 
 
 When a clef change takes place at a line break the new clef symbol is
 printed at both the end of the previous line and the beginning of the
 new line by default. If the warning clef at the end of the previous
-line is not required it can be suppressed by setting the
-explicitClefVisibility Staff property to the value 
+line is not required it can be suppressed by setting the @code{Staff}
+property @code{explicitClefVisibility} to the value
 @code{end-of-line-invisible}. The default behaviour can be recovered
 with  @code{\\unset Staff.explicitClefVisibility}.
 
-
 The following examples show the possibilities when setting these
 properties manually. On the first line, the manual changes preserve the
 standard relative positioning of clefs and notes, whereas on the second
@@ -59,11 +58,10 @@ line, they do not.
   \set Staff.clefOctavation = #0
   \set Staff.middleCPosition = #-4
   c' \break
-  
-  
+
   % The following clef changes do not preserve
   % the normal relationship between notes and clefs:
-  
+
   \set Staff.clefGlyph = #"clefs.F"
   \set Staff.clefPosition = #2
   c'
@@ -78,7 +76,7 @@ line, they do not.
   c'
   
   % Here we go back to the normal clef:
-  
+
   \set Staff.middleCPosition = #4
   c'
 }
index e5b2c277071ba8e97f9711bf2e46c00b8249006d..47c57d79b3005d69e29128a11c1b04a304d2a244 100644 (file)
@@ -15,8 +15,8 @@ played.
 
 fragment = \relative c' {
   c4 f4 <e d'>4
-  <g a>8 <e a> a4 c2 <d b>4 e4 
-  c4
+  <g a>8 <e a> a4 c2 <d b>4
+  e2 c2
 }
 
 <<
diff --git a/input/lsr/coloring-objects.ly b/input/lsr/coloring-objects.ly
deleted file mode 100644 (file)
index 48ab991..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
-%% This file is in the public domain.
-\version "2.11.38"
-
-\header {
-  lsrtags = "editorial-and-educational-use, tweaks-and-overrides"
- texidoc = "
-LilyPond gives you the ability to assign different colors to any grob
-in your score, such as NoteHeads, Alterations, Beams and so on, by
-simply overriding the #'color property and choosing your color (over
-200 colors are available, see the \"List of Colors\" Appendix in the
-Manual).
-" }
-% begin verbatim
-\relative {
-  \override Accidental #'color = #darkgreen
-  \override Beam #'color = #cyan
-  \override NoteHead #'color = #darkyellow
-  c4
-  \override NoteHead #'color = #red
-  f
-  \override NoteHead #'color = #darkmagenta
-  g
-  \override NoteHead #'color = #darkblue
-  b
-  \override NoteHead #'color = #green
-  \override Stem #'color = #blue
-  e8 es d dis e4 r
-}
index 52c146f7c47c4fedc5dab4b1451c3d818f08bba4..ed927bf6bd8afb73365b60dd894c0ad216594fe9 100644 (file)
@@ -6,18 +6,16 @@
   lsrtags = "expressive-marks, text"
  texidoc = "
 Some dynamics may involve text indications (such as \"più forte\",
-\"piano subito\", etc.). They can be produced using a \\markup bloc.
+\"piano subito\", etc.). They can be produced using a @code{\\markup}
+block.
 " }
 % begin verbatim
-\layout{ragged-right = ##t}
+\layout { ragged-right = ##t }
 
-piuf = \markup {  \italic "molto" \dynamic "f" }
+piuf = \markup { \italic "più" \dynamic "f" }
 
-\relative c''{
+\relative c'' {
+  c2
   c-\piuf
-  c
-  c2\< c2\!
-  
-  c2\< c2\!
 }
 
index c493552014a8f7af8b5a664e819657dd09ec7508..b180f3b5a71b6dfd72de9f37fe797df668101989 100644 (file)
@@ -5,76 +5,56 @@
 \header {
   lsrtags = "simultaneous-notes, text"
  texidoc = "
-The part combiner tool ( \\partcombine command ) allows you to combine
-different parts on a same Staff. You can choose whether you want or
-don't want to add texts such as \"solo\" or \"a2\", by defining the
-printPartCombineTexts property.
+The part combiner tool ( @code{\\partcombine} command ) allows you to
+combine different parts on the same staff. Text directions such as
+\"solo\" or \"a2\" are added by default; to remove them, simply set the
+property @code{printPartCombineTexts} to \"false\". For vocal scores
+(hymns), there is no need to add \"solo\"/\"a2\" texts, so they should
+be switched off. However, you'd better not use it if there are any
+solos, as they won't be indicated. In such cases, you may simply want
+to use standard LilyPond polyphony. This snippet presents the three
+ways two parts can be printed on a same staff: standard polyphony,
+@code{\\partcombine} whitout texts, and @code{\\partcombine} with texts.
 
-For vocal scores (hymns), there is no need to add \"solo\"/\"a2\"
-texts, so they should be switched off. However, you'd better not use it
-if there are any solos, as they won't be indicated. In such cases, you
-may simply want to use standard LilyPond polyphony.
-
-This snippet presents the three ways two parts can be printed on a same
-staff : standard polyphony, \\partcombine whitout texts, and
-\\partcombine with texts.
 
 
 " }
 % begin verbatim
-musicUp = {
+musicUp = \relative c'' {
   \time 4/4
-  \relative c'' {
-    a4 c4.(g8) a4 |
-    g4 e' g,( a8 b) | 
-    c b a2.
-  }
-}
-
-musicDown = {
-  \relative c'' {
-    g4 e4.(d8) c4 |
-    r2 g'4( f8 e) |
-    d2 a
-  }
+  a4 c4.( g8) a4 |
+  g4 e' g,( a8 b) |
+  c b a2.
 }
 
-\score{
-  \new Staff {
-    \set Staff.instrumentName = "Standard polyphony  "
-    << \musicUp  \\ \musicDown >>
+musicDown = \relative c'' {
+  g4 e4.( d8) c4 |
+  r2 g'4( f8 e) |
+  d2 \stemDown a
 }
 
-  \layout{ 
-    indent = 6.0\cm 
+\score {
+  <<
+    <<
+    \new Staff {
+      \set Staff.instrumentName = "Standard polyphony  "
+      << \musicUp  \\ \musicDown >>
+    }
+    \new Staff \with { printPartCombineTexts = ##f } {
+      \set Staff.instrumentName = "PartCombine without texts  "
+      \partcombine \musicUp \musicDown
+    }
+    \new Staff {
+      \set Staff.instrumentName = "PartCombine with texts  "
+      \partcombine \musicUp \musicDown
+    }
+    >>
+  >>
+  \layout {
+    indent = 6.0\cm
+    \context {
+      \Score
+      \override SystemStartBar #'collapse-height = #30
+    }
   }
 }
-
-\score{
-       \context Staff {
-                       \set Staff.instrumentName = "PartCombine without texts  "
-                       \partcombine \musicUp \musicDown
-       }
-       \layout{
-               indent = 6.0\cm
-               \context {
-                       \Voice
-                       printPartCombineTexts = ##f
-               }
-       }
-}
-
-\score{
-       \context Staff {
-                       \set Staff.instrumentName = "PartCombine with texts  "
-                       \partcombine \musicUp \musicDown
-       }
-       \layout{
-               indent = 6.0\cm
-               \context {
-                       \Voice
-                       printPartCombineTexts = ##t
-               }
-       }
-}
-
index 37b840a30899535bb20b5d1296eb845210e74acf..7877ee704b8fc7d8ef466bcbd5b383367acc8317 100644 (file)
@@ -7,23 +7,25 @@
  texidoc = "
 Odd 20th century time signatures (such as \"5/8\") can often be played
 as compound time signatures (e.g. \"3/8 + 2/8\"), which combine two or
-more inequal metrics. LilyPond can make such musics quite easy to read
+more inequal metrics. LilyPond can make such music quite easy to read
 and play, by explicitly printing the compound time signatures and
 adapting the automatic beaming behaviour. (You can even add graphic
-measure grouping indications, see the appropriate snippet in this
+measure grouping indications; see the appropriate snippet in this
 database.) 
 " }
 % begin verbatim
 #(define (compound-time one two num)
-  (markup #:override '(baseline-skip . 0) #:number 
-   (#:line ((#:column (one num)) #:vcenter "+" (#:column (two num))))))
-
+  (markup #:override '(baseline-skip . 0) #:number
+   (#:line ((#:column (one num)) #:vcenter "+" (#:column (two num))))
+  ))
 
 \relative {
-  %% compound time signature hack
-  \time 5/8
+  % compound time signature hack
   \override Staff.TimeSignature #'stencil = #ly:text-interface::print
-  \override Staff.TimeSignature #'text = #(compound-time "2" "3" "8" )
+  \override Staff.TimeSignature #'text = #( compound-time "2" "3" "8" )
+  \time 5/8
   #(override-auto-beam-setting '(end 1 8 5 8) 1 4)
-  c8 d e fis gis | c fis, gis e d | c8 d e4  gis8
+  c8 d e fis gis |
+  c fis, gis e d |
+  c8 d e4  gis8
 }
index db28346ec3a09275bda2e7288449520ec8cb7755..eacc4c63566e690433e6b2b17272e1fff80d383a 100644 (file)
@@ -6,11 +6,11 @@
   lsrtags = "rhythms"
  texidoc = "
 The Scheme function @code{set-time-signature}, in combination with the
-Measure grouping engraver,  it will create MeasureGrouping signs.  Such
-signs ease reading rhythmically complex modern music.  In the following
-example, the 9/8 measure is subdivided in 2, 2, 2 and 3.  This is
-passed to @code{set-time-signature} as the third argument @code{(2 2 2
-3)}
+@code{Measure_grouping_engraver}, creates measure grouping signs. Such
+signs ease reading rhythmically complex modern music. In the following
+example, the 9/8 measure is subdivided into 2, 2, 2 and 3 beats. This
+is passed to @code{set-time-signature} as the third argument @code{(2 2
+2 3)}.
 
 
 " }
index 3b163adf2e8a02547150bdc6cc01256022d1799c..1821f37809553c5ee19163ff3b1118679b718908 100644 (file)
@@ -5,19 +5,17 @@
 \header {
   lsrtags = "expressive-marks"
  texidoc = "
-Use a glissando without final note. Contemporary glissando !
+Use a glissando without final note. Contemporary glissando!
 " }
 % begin verbatim
 \relative c'' {
-    \override Glissando #'style = #'zigzag
-     \time 3/4
-     c4 c
-        \cadenzaOn  c\glissando \hideNotes c,, \unHideNotes \cadenzaOff
-        \bar "|"
-        }
+  \time 3/4
+  \override Glissando #'style = #'zigzag
+  c4 c
+  \cadenzaOn  c\glissando \hideNotes c,, \unHideNotes \cadenzaOff
+  \bar "|"
+}
 
 \addlyrics { Use cadenzaOn glissando hideNotes }
-\addlyrics { unHideNotes cadenzaOff, skip_and_\bar \skip 4  }
-\layout{raggedright = ##t}
-\header { tagline="" }
-% begin verbatim
+\addlyrics { unHideNotes cadenzaOff, skip_and_\bar \skip 4 }
+
index 0205e5c88f399615378e065388e1316ac9ec551d..0e9125fcdd7cab8bc1f1d434cf85df66808142b5 100644 (file)
@@ -2,8 +2,9 @@ creating-blank-staves.ly
 chant-or-psalms-notation.ly
 adding-and-extra-staff-at-a-line-break.ly
 adding-an-extra-staff.ly
-vocal-ensemble-template-with-lyrics-aligned-below-and-above-the-staves.ly
+mensurstriche-layout-bar-lines-between-the-staves.ly
 changing-time-signatures-inside-a-polymetric-section-using--compressmusic.ly
 engravers-one-by-one.ly
 adding-a-figured-bass-above-or-below-the-notes.ly
+vocal-ensemble-template-with-lyrics-aligned-below-and-above-the-staves.ly
 nesting-staves.ly
diff --git a/input/lsr/controlling-the-placement-of-chord-fingerings.ly b/input/lsr/controlling-the-placement-of-chord-fingerings.ly
new file mode 100644 (file)
index 0000000..ae8917c
--- /dev/null
@@ -0,0 +1,24 @@
+%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
+%% This file is in the public domain.
+\version "2.11.38"
+
+\header {
+  lsrtags = "editorial-and-educational-use, chords, piano-music"
+ texidoc = "
+The placement of fingering numbers can be controlled precisely.
+" }
+% begin verbatim
+\relative c'{
+  \set fingeringOrientations = #'(left)
+  <c-1 e-3 a-5 > 4
+  \set fingeringOrientations = #'(down)
+  <c-1 e-3 a-5 >
+  \set fingeringOrientations = #'(right)
+  <c-1 e-3 a-5 >
+  \set fingeringOrientations = #'(up)
+  <c-1 e-3 a-5 >
+  \set fingeringOrientations = #'(left down)
+  <c-1 e-3 a-5 > 2
+  \set fingeringOrientations = #'(up right down)
+  <c-1 e-3 a-5 >
+}
index d5707537d3333576576d1c9687a7b612c8669c16..54853bdb5eca621059c31136273378419aca0381 100644 (file)
@@ -5,23 +5,23 @@
 \header {
   lsrtags = "rhythms, tweaks-and-overrides"
  texidoc = "
-Default behaviour of tuplet-bracket visibility is to print a bracket
-unless there is a beam of the same length as the tuplet. To control the
-visibility of tuplet brackets, you can set the property TupletBracket
-#'bracket-visibility to either ##t (always print a bracket), ##f (never
-print a bracket) or #'if-no-beam (only print a bracket if there is no
-beam).
+The default behaviour of tuplet-bracket visibility is to print a
+bracket unless there is a beam of the same length as the tuplet. To
+control the visibility of tuplet brackets, you can set the property
+@code{TupletBracket #'bracket-visibility} to either @code{##t} (always
+print a bracket), @code{##f} (never print a bracket) or
+@code{#'if-no-beam} (only print a bracket if there is no beam). 
 " }
 % begin verbatim
 mus = \relative c'' {
-  \times 2/3 {c16 [ d e } f8]
-  \times 2/3 {c8 d e }
+  \times 2/3 { c16[ d e } f8]
+  \times 2/3 { c8 d e }
   \times 2/3 { c4 d e }
 }
 
 \new Voice \relative c'{
   << \mus s4^"default" >>
-   \override TupletBracket #'bracket-visibility = #'if-no-beam
+  \override TupletBracket #'bracket-visibility = #'if-no-beam
   << \mus s4^"'if-no-beam" >>
   \override TupletBracket #'bracket-visibility = ##t
   << \mus s4^"#t" >>
index 2a19a9959c257caa563f51b8c33e5eecabef805d..726cf8422aa10fe9dfebeaae5618f5fc55662455 100644 (file)
@@ -8,10 +8,9 @@
 In music that contains many occurrences of the same sequence of notes
 at different pitches, you can use the following music function. It
 takes a note, of which the pitch is used. The supporting Scheme
-functions were borrowed from the Tips and Tricks document in the manual.
-
-This example creates the rhythm used throughout Mars, from The Planets,
-by Gustav Holst.
+functions were borrowed from the Tips and Tricks document in the
+manual. This example creates the rhythm used throughout Mars, from
+Gustav Holst's The Planets. 
 " }
 % begin verbatim
 #(define (make-note-req p d)
@@ -53,12 +52,10 @@ rhythm = #(define-music-function (parser location note) (ly:music?)
           ))))
 
 \score {
-   \new Staff {
-       \time 5/4
-
-       \rhythm c'
-       \rhythm c''
-       \rhythm g
-   }
+  \new Staff {
+    \time 5/4
+    \rhythm c'
+    \rhythm c''
+    \rhythm g
+  }
 }
-
index f44697755b278e10353e579bc6f6ce93e4607c9a..deb6622518a5b7e4499a0e6ee1c10bba80442c83 100644 (file)
@@ -14,7 +14,7 @@ the @code{Staff} context the @code{Time_signature_engraver}, the
 \header {
   tagline = ""
 }
-% begin verbatim
+
 #(set-global-staff-size 20)
 
 \score {
index 87a0b64fd5258d651c6c19b4e65e7e079373a160..6406707e90e17a36f4b3c794b907625eb436ecea 100644 (file)
@@ -5,26 +5,27 @@
 \header {
   lsrtags = "expressive-marks, text"
  texidoc = "
-Although the easiest way to add parenthesis to a dynamic mark is to use
-a \\markup block, this method has a downside: the created objects will
-behave like text markups, and not like dynamics.
+Although the easiest way to add parentheses to a dynamic mark is to use
+a @code{\\markup} block, this method has a downside: the created
+objects will behave like text markups, and not like dynamics.
 
 However, it is possible to create a similar object using the equivalent
 Scheme code (as described in \"Markup programmer interface\"), combined
-with the make-dynamic-script function. This way, the markup will be
-regarded as a dynamic, and therefore will remain compatible with
-commands such as \\dynamicUp or \\dynamicDown.
+with the @code{make-dynamic-script} function. This way, the markup will
+be regarded as a dynamic, and therefore will remain compatible with
+commands such as @code{\\dynamicUp} or @code{\\dynamicDown}.
 
 
 " }
 % begin verbatim
 \paper { ragged-right = ##t }
 
-parenF = #(make-dynamic-script (markup #:line(#:normal-text #:italic
-#:fontsize 2 "(" #:hspace -0.8 #:dynamic "f" #:normal-text #:italic
-#:fontsize 2 ")" )))
+parenF = #(make-dynamic-script (markup #:line (#:normal-text #:italic
+           #:fontsize 2 "(" #:hspace -0.8 #:dynamic "f" #:normal-text #:italic
+           #:fontsize 2 ")"
+          )))
 
-\score
-{
-       { c''\parenF c'' c'' \dynamicUp c''\parenF }
+\score {
+  { c''\parenF c'' c'' \dynamicUp c''\parenF }
 }
+
index 34b4f2eb785299b72a3270aa61aa27aed593ef05..da93b64dc3aa9efcc8053d27ddd97e502ce44947 100644 (file)
@@ -5,41 +5,38 @@
 \header {
   lsrtags = "expressive-marks, text, tweaks-and-overrides"
  texidoc = "
-The <code>\\startTextSpan</code> and <code>\\stopTextSpan</code>
-commands give you the ability to create text spanners as easily as
-pedals indications or octavations. Override some properties of the
-<code>TextSpanner</code> object to modify its output.
+The @code{\\startTextSpan} and @code{\\stopTextSpan} commands give you
+the ability to create text spanners as easily as pedal indications or
+octavations. Override some properties of the @code{TextSpanner} object
+to modify its output.
 " }
 % begin verbatim
-\relative c''{
-    \override TextSpanner  #'edge-text = #'("bla" . "blu")
-    a \startTextSpan
-    b c 
-    a \stopTextSpan
-
-    \override TextSpanner  #'dash-period = #2
-    \override TextSpanner  #'dash-fraction = #0.0
-    a \startTextSpan
-    b c 
-    a \stopTextSpan
-
-    \revert TextSpanner #'style
-    \override TextSpanner  #'style = #'dashed-line \override TextSpanner #'bound-details #'left #'text = \markup { \draw-line #'(0 . 1) }
+\relative c'' {
+  \override TextSpanner  #'edge-text = #'("bla" . "blu")
+  a \startTextSpan
+  b c
+  a \stopTextSpan
+  
+  \override TextSpanner  #'dash-period = #2
+  \override TextSpanner  #'dash-fraction = #0.0
+  a \startTextSpan
+  b c
+  a \stopTextSpan
+  
+  \revert TextSpanner #'style
+  \override TextSpanner  #'style = #'dashed-line \override TextSpanner #'bound-details #'left #'text = \markup { \draw-line #'(0 . 1) }
  \override TextSpanner #'bound-details #'right #'text = \markup { \draw-line #'(0 . -2) }
 
-    a \startTextSpan
-    b c 
-    a \stopTextSpan
-
-
-    \set Staff.middleCPosition = #-13
-
-    \override TextSpanner  #'dash-period = #10
-    \override TextSpanner  #'dash-fraction = #.5
-    \override TextSpanner  #'thickness = #10
-    a \startTextSpan
-    b c 
-    a \stopTextSpan
-    \set Staff.middleCPosition = #-6   
+  a \startTextSpan
+  b c
+  a \stopTextSpan
+  
+  \set Staff.middleCPosition = #-13
+  \override TextSpanner  #'dash-period = #10
+  \override TextSpanner  #'dash-fraction = #0.5
+  \override TextSpanner  #'thickness = #10
+  a \startTextSpan
+  b c
+  a \stopTextSpan
+  \set Staff.middleCPosition = #-6
 }
-
diff --git a/input/lsr/default-direction-of-stems-on-the-center-line-of-the-staff.ly b/input/lsr/default-direction-of-stems-on-the-center-line-of-the-staff.ly
new file mode 100644 (file)
index 0000000..2a88993
--- /dev/null
@@ -0,0 +1,18 @@
+%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
+%% This file is in the public domain.
+\version "2.11.38"
+
+\header {
+  lsrtags = "editorial-and-educational-use"
+ texidoc = "
+The direction of stems on the center line of the staff can be changed,
+as demonstrated in this example. 
+" }
+% begin verbatim
+\relative c'' {
+  a b c b
+  \override Stem #'neutral-direction = #up
+  a b c b
+  \override Stem #'neutral-direction = #down
+  a b c b
+}
index 4f7941129d102ab8325caec3072b91307bfdd107..dc2dc609c95a5ee7c3f86fade214e9693b72a5c5 100644 (file)
@@ -18,7 +18,7 @@ melodie = { \tempo 4 = 150 \basemelodie }
   title = "Demo of all midi sounds"
   arranger = "Myself"
 }
-% begin verbatim
+
 \score { 
   \new Staff <<
     \new Voice { \melodie 
index 6870f153b3c327d13e3fbdc722eeb8f2baa14f8a..09536d4e965ee6f4dd7a1b5ce146c204cba24d28 100644 (file)
@@ -25,7 +25,7 @@ texidoc = "All header fields with special meanings."
   source = "urtext"
 
 }
-% begin verbatim
+
 
 \score {
   \relative c'' { c1 c1 c1 c1 }
@@ -48,4 +48,4 @@ texidoc = "All header fields with special meanings."
        copyright = "localcopyright"
        }
 }
-% begin verbatim
+
diff --git a/input/lsr/display-bracket-with-only-one-staff-in-a-system.ly b/input/lsr/display-bracket-with-only-one-staff-in-a-system.ly
new file mode 100644 (file)
index 0000000..b9b7d27
--- /dev/null
@@ -0,0 +1,55 @@
+%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
+%% This file is in the public domain.
+\version "2.11.38"
+
+\header {
+  lsrtags = "staff-notation, tweaks-and-overrides"
+ texidoc = "
+If there is only one staff in one of the staff types @code{ChoirStaff},
+@code{InnerChoirStaff}, @code{InnerStaffGroup} or @code{StaffGroup},
+the bracket and the starting bar line will not be displayed as standard
+behaviour. This can be changed with:
+
+
+@code{\\override [staffcontext].SystemStartBracket #'collapse-height =
+#1}
+ and
+
+@code{\\override [staffcontext].SystemStartBar #'collapse-height = #1}
+
+
+This applies to all staff contexts with
+@code{systemStartDelimiter}-property set to @code{'SystemStartBracket}.
+
+
+
+For staff contexts with @code{'SystemStartBrace}, such as
+@code{PianoStaff}, this tweaking can be used as well.
+
+
+
+" }
+% begin verbatim
+\score {
+\new StaffGroup <<
+   % Must be lower than your actual amount off staff lines
+   \override StaffGroup.SystemStartBracket #'collapse-height = #1
+   \override Score.SystemStartBar #'collapse-height = #1
+   \new Staff {
+     c'4 d' e' f'
+   }
+ >>
+ }
+ {
+ \new PianoStaff <<
+   \override PianoStaff.SystemStartBrace #'collapse-height = #1
+   \override Score.SystemStartBar #'collapse-height = #1
+   \new Staff {
+     c'4 d' e' f'
+   }
+ >>
+  } 
+  \layout { 
+    ragged-right = ##t 
+    indent = 0\cm
+  }
index 70d106df8bb9b10412fc721edd44f743dbe94a53..e26193bc03d5ebab4555434f5b89201ff727fc3f 100644 (file)
@@ -5,26 +5,23 @@
 \header {
   lsrtags = "pitches"
  texidoc = "
-In early XXth century works, starting with Schönberg, Berg and Webern
-(the \"second\" Viennese school), every pitch in the twelve-tone scale
+In early 20th century works, starting with Schönberg, Berg and Webern
+(the \"Second\" Viennese school), every pitch in the twelve-tone scale
 has to be regarded as equal, without any hierarchy such as the
 classical (tonal) degrees. Therefore, these composers print one
 accidental for each note, even at natural pitches, to emphasize their
 new approach to music theory and language. This snippet shows how to
-achieve such notation rules with LilyPond.
+achieve such notation rules with LilyPond. 
 " }
 % begin verbatim
 webernAccidentals = {
-    % the 5s are just "a value different from any accidental"
-    \set Staff.keySignature = #'((0 . 5) (1 . 5) (2 . 5) (3 . 5)
-                                 (4 . 5) (5 . 5) (6 . 5))
-    \set Staff.extraNatural = ##f
-    #(set-accidental-style 'forget)
+  % the 5s are just "a value different from any accidental"
+  \set Staff.keySignature = #'((0 . 5) (1 . 5) (2 . 5) (3 . 5)
+                               (4 . 5) (5 . 5) (6 . 5))
+  \set Staff.extraNatural = ##f
+  #(set-accidental-style 'forget)
 }
 
-\layout {
-  \context { \Staff \remove Key_engraver }
-}
 \score {
   {
     \webernAccidentals
@@ -32,4 +29,7 @@ webernAccidentals = {
     c' dis' cis' cis'
     c' c' dis' des'
   }
+  \layout {
+    \context { \Staff \remove "Key_engraver" }
+  }
 }
index 022286d6071b37efd3f4847e8d69cd5d3e02965d..3600f47a4b164b64db86f5c7e0aaf0330a2a6779 100644 (file)
@@ -1,13 +1,11 @@
-applying-noteheads-styles-depending-on-the-step-of-the-scale.ly
 creating-blank-staves.ly
+making-some-staff-lines-thicker-than-the-others.ly
 changing-the-appearance-of-a-slur-from-solid-to-dotted-or-dashed.ly
-coloring-objects.ly
-inserting-score-fragments-above-the-staff,-as-markups.ly
-rhythmic-slashes.ly
-changing-the-default-text-font-family.ly
-three-sided-box.ly
-clefs-commonly-tweaked-properties.ly
+default-direction-of-stems-on-the-center-line-of-the-staff.ly
+changing-a-single-notes-size-in-a-chord.ly
+grid-lines-emphasizing-rhythms-and-notes-synchronization.ly
+controlling-the-placement-of-chord-fingerings.ly
+allowing-fingerings-to-be-printed-inside-the-staff.ly
 blanking-staff-lines-using-the--whiteout-command.ly
-forcing-rehearsal-marks-to-start-from-a-given-letter-or-number.ly
-formatting-lyrics-syllables.ly
-changing-an-individual-notes-size-in-a-chord.ly
+applying-notehead-styles-depending-on-the-step-of-the-scale.ly
+grid-lines-changing-their-appearance.ly
diff --git a/input/lsr/engraving-ties-manually.ly b/input/lsr/engraving-ties-manually.ly
new file mode 100644 (file)
index 0000000..5878173
--- /dev/null
@@ -0,0 +1,19 @@
+%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
+%% This file is in the public domain.
+\version "2.11.38"
+
+\header {
+  lsrtags = "rhythms"
+ texidoc = "
+Ties may be engraved manually by changing the @code{tie-configuration}
+property of the @code{TieColumn} object. The first number indicates the
+distance from the center of the staff in staff-spaces, and the second
+number indicates the direction (1 = up, -1 = down).
+" }
+% begin verbatim
+\relative c' {
+  <c e g>2~ <c e g> |
+  \override TieColumn #'tie-configuration =
+    #'((0.0 . 1) (-2.0 . 1) (-4.0 . 1))
+  <c e g>~ <c e g> |
+}
index d22e4b7492cc3531b8e30809b1c3c9ed2d4b0e8a..ce945363c4a7f4c596e88c9bec10212a25ea0d44 100644 (file)
@@ -6,9 +6,9 @@
   lsrtags = "rhythms"
  texidoc = "
 This example shows how to specify how long each of the tuplets
-contained within the bracket after @code{\\times} should last.  Many
-consecutive tuplets can then be contained within a single @code{\\times
-@{ ... @}}, thus saving typing.
+contained within the brackets after @code{\\times} should last. Many
+consecutive tuplets can then be placed within a single @code{\\times @{
+... @}} expression, thus saving typing.
 
 In the example, two triplets are shown, while @code{\\times} was
 entered only once.
index 14cfe8f7ef814f7fa4e451e5075922fcade1c1cc..9c8d90af6ba02c9351c4da09219868b947ec3ed5 100644 (file)
@@ -7,7 +7,7 @@ breathing-sign.ly
 creating-real-parenthesized-dynamics.ly
 center-text-below-hairpin-dynamics.ly
 contemporary-glissando.ly
-adding-parentheses-around-an-expressive-mark.ly
+adding-parentheses-around-an-expressive-mark-or-chordal-note.ly
 line-arrows.ly
 changing--flageolet-mark-size.ly
 piano-template-with-centered-dynamics.ly
index bb895aba3712e3cd81a3c25d7a97f3adf6177ef6..373a93547308fb47593d0ae47f05d287bee4951e 100644 (file)
@@ -3,7 +3,7 @@
 \version "2.11.38"
 
 \header {
-  lsrtags = "rhythms, editorial-and-educational-use"
+  lsrtags = "rhythms"
  texidoc = "
 This snippet demonstrates how to obtain automatic ordered rehearsal
 marks, but from the letter or number you want.
@@ -18,10 +18,8 @@ marks, but from the letter or number you want.
   c1 \mark \default
   c1 \mark \default
   c1 \mark \default
-
-\break
-
-  \set Score.markFormatter = #format-mark-numbers 
+  \break
+  \set Score.markFormatter = #format-mark-numbers
   c1 \mark #1
   c1 \mark \default
   c1 \mark \default
index 037b35539217a87e2aac1d77aec5466ab115bb29..b57aec0fcd74f2b4635ffcc5bf06c57afabdfd4b 100644 (file)
@@ -3,7 +3,7 @@
 \version "2.11.38"
 
 \header {
-  lsrtags = "editorial-and-educational-use, text, vocal-music"
+  lsrtags = "text, vocal-music"
  texidoc = "
 To format single lyrics syllables, you can simply use \\markup @{ ....
 @} on these lyrics!
@@ -13,7 +13,7 @@ To format single lyrics syllables, you can simply use \\markup @{ ....
 \header {
   title = "Markup can be used inside lyrics!" 
 }
-% begin verbatim
+
 melody = \relative c'' { c4 c c c  }
 lyr = \lyricmode { 
   Lyrics \markup { \italic can } \markup {\with-color #red contain } 
diff --git a/input/lsr/grid-lines-changing-their-appearance.ly b/input/lsr/grid-lines-changing-their-appearance.ly
new file mode 100644 (file)
index 0000000..035ff40
--- /dev/null
@@ -0,0 +1,51 @@
+%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
+%% This file is in the public domain.
+\version "2.11.38"
+
+\header {
+  lsrtags = "editorial-and-educational-use"
+ texidoc = "
+Grid lines can look differently, by modifying some of their properties
+using the @code{\\override} command.
+" }
+% begin verbatim
+\layout {
+ \context {
+   \Staff
+   % sets up grids
+   \consists "Grid_point_engraver"
+   % this sets the grid interval to 1 quarternote (crotchet)
+   gridInterval = #(ly:make-moment 1 4)
+  }
+}
+
+\new Score \with {
+ \consists "Grid_line_span_engraver"
+ % this moves them to the right half a staff space
+ \override NoteColumn #'X-offset = #-0.5
+}
+
+\new ChoirStaff <<
+  \new Staff {
+    \relative c'' {
+      \stemUp
+      c'4. d8 e8 f g4
+    }
+  }
+  \new Staff {
+    \relative c {
+      % this moves them up one staff space from the default position
+      \override Score.GridLine #'extra-offset = #'( 0.0 . 1.0 )
+      \stemDown
+      \clef bass
+      \once \override Score.GridLine #'thickness = #5.0
+      c4
+      \once \override Score.GridLine #'thickness = #1.0
+      g'
+      \once \override Score.GridLine #'thickness = #3.0
+      f
+      \once \override Score.GridLine #'thickness = #5.0
+      e
+    }
+  }
+>>
diff --git a/input/lsr/grid-lines-emphasizing-rhythms-and-notes-synchronization.ly b/input/lsr/grid-lines-emphasizing-rhythms-and-notes-synchronization.ly
new file mode 100644 (file)
index 0000000..b1c6c95
--- /dev/null
@@ -0,0 +1,72 @@
+%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
+%% This file is in the public domain.
+\version "2.11.38"
+
+\header {
+  lsrtags = "editorial-and-educational-use"
+ texidoc = "
+Regular vertical lines can be drawn between staves to show notes
+synchronization; however, in case of monophonic music, you may want to
+make the second stave invisible, and make the lines shorter like in
+this snippet.
+" }
+% begin verbatim
+%% sets of grid
+\layout {
+ \context {
+   \Staff
+   \consists "Grid_point_engraver"
+   gridInterval = #(ly:make-moment 1 8)
+%% lines length
+   \override GridPoint #'Y-extent = #'(6 . 0)
+ }
+ \context {
+   \StaffGroup
+   \remove "System_start_delimiter_engraver"
+ }
+}
+
+\layout {
+ ragged-right = ##t
+}
+\new Score
+\with {
+ \consists "Grid_line_span_engraver"
+%% centers grid lines  horizontally below noteheads
+ \override NoteColumn #'X-offset = #-0.5
+}
+
+\new ChoirStaff <<
+ \new Staff
+ {
+   \time 12/8
+   \stemUp
+   \relative {
+   c'4. d8 e8 f g4 f8 e8.[ d16 c8] }
+ }
+ \new Staff
+ {
+%% making sure the lines will be placed outside the Staff
+   \override Score.GridLine #'extra-offset = #'( 0.0 . -4.0 )
+
+%% hides staff and notes so that only the grid lines are visible
+   \override NoteHead #'transparent = ##t
+   \override NoteHead #'no-ledgers = ##t
+   \override Stem #'transparent = ##t
+   \override Beam #'transparent = ##t
+   \override Staff.BarLine #'transparent = ##t
+   \override Staff.StaffSymbol #'line-count = #0
+   \override Staff.TimeSignature #'transparent = ##t
+   \override Staff.Clef #'transparent = ##t
+
+% you have to put 'dummy' notes here to force regular grid spacing...
+ \once  \override Score.GridLine #'thickness = #4.0
+ c8   c8   c8
+ \once  \override Score.GridLine #'thickness = #3.0
+ c8   c8   c8
+ \once  \override Score.GridLine #'thickness = #4.0
+ c8   c8   c8
+ \once  \override Score.GridLine #'thickness = #3.0
+ c8   c8   c8
+ }
+>>
index 32ee2eb564d9d447cd788b7d9cd1ee0107ffb8a9..c06315257cb1efd25d5a385c8c7d8be749b6514a 100644 (file)
@@ -5,12 +5,12 @@
 \header {
   lsrtags = "rhythms, percussion"
  texidoc = "
-Though the set-time-signature thing was not the most essential here, it
-has been included to show the beat of this piece (which is a template
-of a real balkan song!).
+Though the polymetric time signature shown was not the most essential
+item here, it has been included to show the beat of this piece (which
+is the template of a real Balkan song!).
 " }
 % begin verbatim
-#(define (compound-time one two three four five six seven eight nine ten
+#(define (set-time-signature one two three four five six seven eight nine ten
 eleven num)
  (markup #:override '(baseline-skip . 0) #:number
   (#:line ((#:column (one num)) #:vcenter "+" (#:column (two num))
@@ -26,7 +26,7 @@ melody =
        \set Staff.instrumentName = "Bb Sop."
        \key g \major \time 25/8
      \override Staff.TimeSignature #'stencil = #ly:text-interface::print
- \override Staff.TimeSignature #'text = #(compound-time "3" "2" "2" "3"
+ \override Staff.TimeSignature #'text = #(set-time-signature "3" "2" "2" "3"
 "2" "2" "2" "2 " "3" "2" "2" "8" )
        \set Staff.beatGrouping = #'(3 2 2 3 2 2 2 2 3 2 2)
        #(override-auto-beam-setting '(end * * 25 8) 3 8)
index f80973921e72ebc78932a3212081757a707fe224..dd315c926bcfdc04b8eb4076d4bc9cf57b69ae9c 100644 (file)
@@ -3,34 +3,32 @@
 \version "2.11.38"
 
 \header {
-  lsrtags = "staff-notation, editorial-and-educational-use"
+  lsrtags = "staff-notation"
  texidoc = "
-The \\markup command is quite versatile. In this snippet, it contains a
-\\score bloc instead of texts or marks.
+The @code{\\markup} command is quite versatile. In this snippet, it
+contains a @code{\\score} block instead of texts or marks.
 " }
 % begin verbatim
 tuning = \markup {
-    \score {
-       \new Staff \with {
-           \remove Time_signature_engraver
-       } {
-           \clef bass  <c, g, d g>1
-       }
-       \layout { ragged-right = ##t }
+  \score {
+    \new Staff \with { \remove Time_signature_engraver }
+    {
+      \clef bass  <c, g, d g>1
     }
+    \layout { ragged-right = ##t }
+  }
 }
 
-
 \header {
-    title = "Solo Cello Suites"
-    subtitle = "Suite IV"
-    subsubtitle = \markup { "Originalstimmung:" \tuning }
+  title = "Solo Cello Suites"
+  subtitle = "Suite IV"
+  subsubtitle = \markup { "Originalstimmung:" \general-align #Y #CENTER \tuning }
 }
-% begin verbatim
+
 \relative {
-    \time 4/8
-    \times 2/3 { c'8 d e } \times 2/3 {c d e}
-    \times 2/3 { c8 d e } \times 2/3 {c d e}
-    g8 a8 g8 a 
-    g8 a8 g8 a 
+  \time 4/8
+  \times 2/3 { c'8 d e } \times 2/3 { c d e }
+  \times 2/3 { c8 d e } \times 2/3 { c d e }
+  g8 a8 g8 a
+  g8 a8 g8 a
 }
index 59c75797927aaf3e5c529a940de3f525e91bfb17..2796e7bdecb375e1163a3770c37ff9cea1ea79cf 100644 (file)
@@ -264,3 +264,4 @@ music is within a \\transpose section.
          
            \midi { }
          }
+
index 7fed3d953fe7a1f921f16fbf162235b38b59ebd3..3b8879366eeba00a6c97bcae6f840b3adafe1cde 100644 (file)
@@ -39,7 +39,7 @@ Please note that this document is not an exact subset of LSR: some
 snippets come from @file{input/new} LilyPond sources directory, and
 snippets from LSR are converted through @command{convert-ly}, as LSR is
 based on a stable LilyPond version, and this document is for version
-@value{version}.
+@c @value{version}.
 
 Snippets are grouped by tags; tags listed in the table of contents match
 a section of LilyPond notation manual.  Snippets may have several tags,
diff --git a/input/lsr/making-some-staff-lines-thicker-than-the-others.ly b/input/lsr/making-some-staff-lines-thicker-than-the-others.ly
new file mode 100644 (file)
index 0000000..26b89af
--- /dev/null
@@ -0,0 +1,20 @@
+%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
+%% This file is in the public domain.
+\version "2.11.38"
+
+\header {
+  lsrtags = "staff-notation, editorial-and-educational-use"
+ texidoc = "
+For pedagogical purposes, you may want to make one staff line thicker
+(e.g. the middle line, to emphasize the line of the G clef). This can
+be achieved by adding extra lines very close to the line you want to
+make thicker, using the #'line-positions property in the StaffSymbol
+context.
+" }
+% begin verbatim
+\score {
+     \new Staff{
+     \override Staff.StaffSymbol #'line-positions =#'(-4 -2 -0.2 0 0.2 2 4 )
+         d'4 e' f' g'
+     }
+}
index cef8e0f13cd007f3ec597f417d13085d7c8947ab..442c172727dcb3e7034e20a593908c97355b9d1f 100644 (file)
@@ -12,17 +12,13 @@ Beam positions may be controlled manually, by overriding the
 
 " }
 % begin verbatim
-\score { 
-    \context Voice \relative c {
-       %% from upper staffline (position 4) to centre (position 0)
-       \override Beam  #'positions = #'(2 . 0)
-        c'8[ c] 
-       
-       %% from center to one above centre (position 2)
-       \override Beam  #'positions = #'(0 . 1)
-        c[ c]
-  }
-
+\relative c {
+  \time 2/4
+  % from upper staffline (position 4) to centre (position 0)
+  \override Beam  #'positions = #'(2 . 0)
+  c'8 c
+  % from centre to one above centre (position 2)
+  \override Beam  #'positions = #'(0 . 1)
+  c c
 }
 
-
diff --git a/input/lsr/mensurstriche-layout-bar-lines-between-the-staves.ly b/input/lsr/mensurstriche-layout-bar-lines-between-the-staves.ly
new file mode 100644 (file)
index 0000000..70a055c
--- /dev/null
@@ -0,0 +1,23 @@
+%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
+%% This file is in the public domain.
+\version "2.11.38"
+
+\header {
+  lsrtags = "staff-notation, ancient-notation, contexts-and-engravers, tweaks-and-overrides"
+ texidoc = "
+The mensurstriche-layout where the bar lines do not show on the staves
+but between staves can be achieved with a @code{StaffGroup} instead of
+a @code{ChoirStaff}. The bar line on staves is blanked out with an
+@code{\\override} command.
+" }
+% begin verbatim
+global = {\override Staff.BarLine #'transparent = ##t
+          s1 s
+          %the final bar line is not interupted
+          \once \override Staff.BarLine #'transparent = ##f
+          \bar "|."}
+\new StaffGroup
+\relative c'' <<
+  \new Staff {<< \global { c1 c } >>}
+  \new Staff {<< \global { c c } >>}
+>>
index b43cfc9ee3f9fd9c360f5849fbeddb86e832e634..1c96371b25ad640992739052c2c0c9070d1b841d 100644 (file)
@@ -16,22 +16,16 @@ modify what material they cover.
 " }
 % begin verbatim
 \new RhythmicStaff {
-
-      % Set tuplets to be extendable ..
-
-   \set tupletFullLength = ##t
-
-      % .. to cover all items up to the next note
-
-   \set tupletFullLengthNote = ##t
-   \time 2/4
-   \times 2/3 { c4 c c }
-
-      % .. or to cover just whitespace
-
-   \set tupletFullLengthNote = ##f
-   \time 4/4
-   \times 4/5 { c4 c1 }
-   \time 3/4
-   c4
+  % Set tuplets to be extendable...
+  \set tupletFullLength = ##t
+  % ...to cover all items up to the next note
+  \set tupletFullLengthNote = ##t
+  \time 2/4
+  \times 2/3 { c4 c c }
+  % ...or to cover just whitespace
+  \set tupletFullLengthNote = ##f
+  \time 4/4
+  \times 4/5 { c4 c1 }
+  \time 3/4
+  c4
 }
index fd57c48b66b63cee7f0f8277be52cd1c1afd555d..1d3b3a036fe601c6930dd35b14169a2d8eb0248e 100644 (file)
@@ -6,18 +6,22 @@
   lsrtags = "pitches, staff-notation"
  texidoc = "
 The commonly used @code{\\key} command sets the @code{keySignature}
-property, in the @code{Staff} context. However, non-standard key
-signatures can be specified by setting this property directly. The
-format of this command is a list: @code{ \\set Staff.keySignature =
-#'(((octave . step) . alter) ((octave . step) . alter) ...) } where,
-for each element in the list, octave specifies the octave (0 being the
-octave from middle C to the B above), step specifies the note within
-the octave (0 means C and 6 means B), and alter is ,SHARP ,FLAT
-,DOUBLE-SHARP etc. (Note the leading comma.)
+property, in the @code{Staff} context.
+
+However, non-standard key signatures can be specified by setting this
+property directly. The format of this command is a list:
+
+@code{ \\set Staff.keySignature = #`(((octave . step) . alter) ((octave
+. step) . alter) ...) } where, for each element in the list,
+@code{octave} specifies the octave (0 being the octave from middle C to
+the B above), @code{step} specifies the note within the octave (0 means
+C and 6 means B), and @code{alter} is @code{,SHARP ,FLAT ,DOUBLE-SHARP}
+etc. (Note the leading comma.)
+
 
 However, for each item in the list, you can also use the alternative
-format (step . alter), which specifies that the same alteration should
-hold in all octaves.
+format @code{(step . alter)}, which specifies that the same alteration
+should hold in all octaves.
 
 
 Here is an example of a possible key signature for generating a
@@ -25,8 +29,7 @@ whole-tone scale:
 " }
 % begin verbatim
 \relative c' {
-  \set Staff.keySignature =
-    #`(((0 .  3) . ,SHARP) ((0 . 5) . ,FLAT) ((0 . 6) . ,FLAT))
+  \set Staff.keySignature = #`(((0 .  3) . ,SHARP) ((0 . 5) . ,FLAT) ((0 . 6) . ,FLAT))
   c d e fis aes bes c2
 }
 
index d64bfa45db1575ccf71869c300ce2ceb655448da..d601cb665653dfc7134fb53c9f2d9a17901423d7 100644 (file)
@@ -5,11 +5,13 @@
 \header {
   lsrtags = "pitches, text"
  texidoc = "
-Internally, the set-octavation function sets the properties
+Internally, the @code{set-octavation} function sets the properties
 @code{ottavation} (e.g., to @code{\"8va\"} or @code{\"8vb\"}) and
-@code{middleCPosition}.  To override the text of the bracket, set
+@code{middleCPosition}. To override the text of the bracket, set
 @code{ottavation} after invoking @code{set-octavation}, like in the
-following example. 
+following example.
+
+
 " }
 % begin verbatim
 {
diff --git a/input/lsr/permitting-line-breaks-within-beamed-tuplets.ly b/input/lsr/permitting-line-breaks-within-beamed-tuplets.ly
new file mode 100644 (file)
index 0000000..0a003ca
--- /dev/null
@@ -0,0 +1,29 @@
+%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
+%% This file is in the public domain.
+\version "2.11.38"
+
+\header {
+  lsrtags = "rhythms"
+ texidoc = "
+This artificial example shows how both manual and automatic line breaks
+may be permitted to within a beamed tuplet. Note that such off-beat
+tuplets have to be beamed manually.
+" }
+% begin verbatim
+\layout {
+  \context {
+    \Voice
+    % Permit line breaks within tuplets
+    \remove "Forbid_line_break_engraver"
+    % Allow beams to be broken at line breaks
+    \override Beam #'breakable = ##t
+  }
+}
+\relative c'' {
+  a8
+  \repeat unfold 8 { \times 2/3 { c[ b a] } }
+  % Insert a manual line break within a tuplet
+  \times 2/3 { c[ b \bar "" \break a] }
+  \repeat unfold 2 { \times 2/3 { c[ b a] } }
+  c8
+}
index a7375219013933a9a8b50c055838dff6a4be4556..453ee8122be8fb06fd5f25ac9a1699884a9ebee5 100644 (file)
@@ -1,8 +1,9 @@
 piano-template-with-centered-dynamics.ly
 clusters.ly
-piano-template-with-centered-lyrics.ly
+jazz-combo-template.ly
 vocal-ensemble-template-with-automatic-piano-reduction.ly
 piano-template-simple.ly
+controlling-the-placement-of-chord-fingerings.ly
 piano-template-with-melody-and-lyrics.ly
-jazz-combo-template.ly
+piano-template-with-centered-lyrics.ly
 demo-midiinstruments.ly
index 6b85fe7a49d2648bcca7c4eaf6b932f3784c430b..9f3eea8056b107784753fd55928b442fd49b0737 100644 (file)
@@ -1,6 +1,6 @@
-applying-noteheads-styles-depending-on-the-step-of-the-scale.ly
-creating-a-sequence-of-notes-on-various-pitches.ly
 makam.ly
+ambiti-multiple-voices.ly
+applying-notehead-styles-depending-on-the-step-of-the-scale.ly
 transposing-pitches-with-minimum-accidentals-smart-transpose.ly
 ottava-text.ly
 preventing-extra-naturals-from-being-automatically-added.ly
@@ -10,5 +10,5 @@ adding-ambiti-per-voice.ly
 clefs-commonly-tweaked-properties.ly
 dodecaphonic-style-accidentals-for-each-note-including-naturals.ly
 preventing-natural-signs-from-being-printed-when-the-key-signature-changes.ly
-ambiti-multiple-voices.ly
+creating-a-sequence-of-notes-on-various-pitches.ly
 non-traditional-key-signatures.ly
diff --git a/input/lsr/positioning-multi--measure-rests.ly b/input/lsr/positioning-multi--measure-rests.ly
new file mode 100644 (file)
index 0000000..ecd9a90
--- /dev/null
@@ -0,0 +1,43 @@
+%% Do not edit this file; it is auto-generated from input/new
+%% This file is in the public domain.
+\version "2.11.42"
+\layout { ragged-right= ##t }
+\header {
+  doctitle = "Positioning multi-measure rests"
+  lsrtags = "rhythms,tweaks-and-overrides"
+  texidoc = "
+Unlike ordinary rests, there is no predefined command
+to change the vertical position on the staff of a multi-measure
+rest symbol of either form by attaching it to a note.  However,
+in polyphonic music multi-measure rests in odd-numbered and
+even-numbered voices are vertically separated.  The positioning
+of multi-measure rests can be controlled as follows:
+ "}
+% begin verbatim
+\relative c'' {
+% Multi-measure rests by default are set under the 2nd line
+R1
+% They can be moved with an override
+\override MultiMeasureRest #'staff-position = #-2
+R1
+% A value of 0 is the default position;
+% the following trick moves the rest to the center line
+\override MultiMeasureRest #'staff-position = #-0.01
+R1
+% Multimeasure rests in odd-numbered voices are under the top line
+<< {R1} \\ {a1} >>
+% Multi-measure rests in even-numbered voices are under the bottom line
+<< {c1} \\ {R1} >>
+% They remain separated even in empty bars
+<< {R1} \\ {R1} >>
+% This brings them together even though there are two voices
+\compressFullBarRests
+<<
+  \revert MultiMeasureRest #'staff-position
+  {R1*3}
+\\
+  \revert MultiMeasureRest #'staff-position
+  {R1*3}
+>>
+}
+
index b802fc08217b64515c064a8995062e319d2ceea6..b27a9ef5fe260fa82029f23417058ce5737c4eb6 100644 (file)
@@ -4,11 +4,20 @@
 
 \header {
   lsrtags = "pitches"
+
+  texidocfr = "
+En accord avec les règles standards de l'écriture musicale, on grave
+un bécarre avant un dièse ou un bémol si on a besoin d'annuler une
+altération précédente.  Pour modifier ce comportement, assignez la propriété
+@code{extraNatural} du contexte @code{Staff} à la valeur @code{##f} (faux).
+"
  texidoc = "
 In accordance with standard typesetting rules, a natural sign is
 printed before a sharp or flat if a previous accidental on the same
 note needs to be canceled.  To change this behavior, set the
-extraNatural property to \"false\" in the Staff context. 
+@code{extraNatural} property to \"false\" in the @code{Staff} context.
+
+
 " }
 % begin verbatim
 \relative {
index c7fbfb283c336d2a0a0274a97ec3537e663af6f0..e5c809fc4568e4dcf5144ef513554dbe41decf05 100644 (file)
@@ -7,8 +7,8 @@
  texidoc = "
 When the key signature changes, natural signs are automatically printed
 to cancel any accidentals from previous key signatures. This may be
-altered by setting to \"false\" the printKeyCancellation property in
-the Staff context.
+altered by setting to \"false\" the @code{printKeyCancellation}
+property in the @code{Staff} context. 
 " }
 % begin verbatim
 \relative {
index b62b3081bbc7532a07a37f5f00696aecbdb78904..65c27418837877120b2c38a42e0c49524bc5c4b9 100644 (file)
   lsrtags = "rhythms, percussion"
  texidoc = "
 In the following snippet, two parts have a completely different time
-signature, and yet keep synchronized.
-
-This can be achieved with the \\compressMusic command, as demonstrated
-here.
-
-The barlines can't be printed at the Score level anymore, so you have
-to remove the Barline_engraver and put it in the Staff context.
+signature, yet remain synchronized. The barlines can't be printed at
+the @code{Score} level anymore, so you have to remove the
+@code{Barline_engraver} and put it in the @code{Staff} context. 
 " }
 % begin verbatim
 % Thanks to Adam James Wilson for this snippet
 
 \paper {
-       indent = #0
-       ragged-right = ##t
+  indent = #0
+  ragged-right = ##t
 }
 
-global = { \time 3/4 { s2. * 3 } \bar "" \break { s2. * 3 }}
+global = { \time 3/4 { s2.*3 } \bar "" \break { s2.*3 } }
 
 \layout {
-       \context { \Score
-               \remove "Timing_translator"
-               \remove "Time_signature_engraver"
-               \remove "Default_bar_line_engraver"
-               \override SpacingSpanner #'uniform-stretching = ##t
-               \override SpacingSpanner #'strict-note-spacing = ##t
-               proportionalNotationDuration = #(ly:make-moment 1 64)
-       }
-       \context { \Staff
-               \consists "Timing_translator"
-               \consists "Default_bar_line_engraver"
-               \consists "Time_signature_engraver"
-       }
-       \context { \Voice
-               \remove Forbid_line_break_engraver
-               tupletFullLength = ##t
-       }
+  \context {
+    \Score
+    \remove "Timing_translator"
+    \remove "Time_signature_engraver"
+    \remove "Default_bar_line_engraver"
+    \override SpacingSpanner #'uniform-stretching = ##t
+    \override SpacingSpanner #'strict-note-spacing = ##t
+    proportionalNotationDuration = #(ly:make-moment 1 64)
+  }
+  \context {
+    \Staff
+    \consists "Timing_translator"
+    \consists "Default_bar_line_engraver"
+    \consists "Time_signature_engraver"
+  }
+  \context {
+    \Voice
+    \remove "Forbid_line_break_engraver"
+    tupletFullLength = ##t
+  }
 }
 
-
-Bassklarinette =        \new Staff <<
-               \global
-               {
-               \bar "|"
-               \clef treble
-               \time 3/8
-               d''4.
-
-               \bar "|"
-               \time 3/4
-               r8 des''2( c''8)
-
-               \bar "|"
-               \time 7/8
-               r4. ees''2 ~
-
-               \bar "|"
-               \time 2/4
-               \tupletUp
-               \times 2/3 {ees''4 r4 d''4 ~}
-
-               \bar "|"
-               \time 3/8
-               \tupletUp
-               \times 3/4 {d''4 r4}
-
-               \bar "|"
-               \time 2/4
-               e''2
-
-               \bar "|"
-               \time 3/8
-       es''4.
-\bar "|"
-\time 3/4
-r8 d''2 r8
-\bar "|"
-               }
-       >>
-Perkussion =    \new StaffGroup <<
-               \new Staff <<
-                       \global
-                       {
-                       \bar "|"
-                       \clef percussion
-                       \time 3/4
-                       r4 c'2 ~
-
-                       \bar "|"
-                       c'2.
-
-                       \bar "|"
-                       R2.
-
-                       \bar "|"
-                       r2 g'4 ~
-
-                       \bar "|"
-                       g'2. ~
-
-                       \bar "|"
-                       g'2.
-                       }
-               >>
-               \new Staff <<
-                       \global
-                       {
-                       \bar "|"
-                       \clef percussion
-                       \time 3/4
-                       R2.
-
-                       \bar "|"
-                       g'2. ~
-
-                       \bar "|"
-                       g'2.
-
-                       \bar "|"
-                       r4 g'2 ~
-
-                       \bar "|"
-                       g'2 r4
-
-                       \bar "|"
-                       g'2.
-                       }
-               >>
-       >>
-
-\score { <<  \Bassklarinette \Perkussion >>
-
+Bassklarinette = \new Staff <<
+  \global {
+    \bar "|"
+    \clef treble
+    \time 3/8
+    d''4.
+    
+    \bar "|"
+    \time 3/4
+    r8 des''2( c''8)
+    
+    \bar "|"
+    \time 7/8
+    r4. ees''2 ~
+    
+    \bar "|"
+    \time 2/4
+    \tupletUp
+    \times 2/3 { ees''4 r4 d''4 ~ }
+    
+    \bar "|"
+    \time 3/8
+    \tupletUp
+    \times 3/4 { d''4 r4 }
+    
+    \bar "|"
+    \time 2/4
+    e''2
+    
+    \bar "|"
+    \time 3/8
+    es''4.
+    
+    \bar "|"
+    \time 3/4
+    r8 d''2 r8
+    \bar "|"
+  }
+>>
+
+Perkussion = \new StaffGroup <<
+  \new Staff <<
+    \global {
+      \bar "|"
+      \clef percussion
+      \time 3/4
+      r4 c'2 ~
+      
+      \bar "|"
+      c'2.
+      
+      \bar "|"
+      R2.
+      
+      \bar "|"
+      r2 g'4 ~
+      
+      \bar "|"
+      g'2. ~
+      
+      \bar "|"
+      g'2.
+    }
+  >>
+  \new Staff <<
+    \global {
+      \bar "|"
+      \clef percussion
+      \time 3/4
+      R2.
+      
+      \bar "|"
+      g'2. ~
+      
+      \bar "|"
+      g'2.
+      
+      \bar "|"
+      r4 g'2 ~
+      
+      \bar "|"
+      g'2 r4
+      
+      \bar "|"
+      g'2.
+    }
+  >>
+>>
+
+\score {
+  <<  \Bassklarinette \Perkussion >>
 }
-
index 893f00a6614150a4bc77db878426e9520ff594e9..dc08d0bc1a870394b461fdc4c4d80bef52cacfa2 100644 (file)
@@ -1,2 +1,4 @@
 positioning-segno-and-coda-with-line-break.ly
+adding-volta-brackets-to-additional-staves.ly
 volta-multi-staff.ly
+shortening-volta-brackets.ly
index 62cf4a07e848703958469f243f43fceff5c202cd..8fbb70722aca36614c77c67f5b6425f7f1db12da 100644 (file)
@@ -12,31 +12,31 @@ Rests may be used in various styles.
 " }
 % begin verbatim
 \layout {
-    indent = 0.0
-    raggedright = ##t
+  indent = 0.0
+  \context {
+    \Staff
+    \remove Time_signature_engraver
+  }
 }
 
-\context Staff \relative c {
-    \set Score.timing = ##f
-    \override Staff.Rest  #'style = #'mensural
-    r\maxima^\markup \typewriter { mensural }
-    r\longa r\breve r1 r2 r4 r8 r16 r32 r64 r128 r128
-    \bar "" 
-
-    \override Staff.Rest  #'style = #'neomensural
-    r\maxima^\markup \typewriter { neomensural }
-    r\longa r\breve r1 r2 r4 r8 r16 r32 r64 r128 r128
-    \bar "" 
-
-    \override Staff.Rest  #'style = #'classical
-    r\maxima^\markup \typewriter { classical }
-    r\longa r\breve r1 r2 r4 r8 r16 r32 r64 r128 r128
-    \bar ""
-    
-    \override Staff.Rest  #'style = #'default
-    r\maxima^\markup \typewriter { default }
-    r\longa r\breve r1 r2 r4 r8 r16 r32 r64 r128 r128
-    
+\relative c {
+  \set Score.timing = ##f
+  \override Staff.Rest  #'style = #'mensural
+  r\maxima^\markup \typewriter { mensural }
+  r\longa r\breve r1 r2 r4 r8 r16 r32 r64 r128 r128
+  \bar ""
+  
+  \override Staff.Rest  #'style = #'neomensural
+  r\maxima^\markup \typewriter { neomensural }
+  r\longa r\breve r1 r2 r4 r8 r16 r32 r64 r128 r128
+  \bar ""
+  
+  \override Staff.Rest  #'style = #'classical
+  r\maxima^\markup \typewriter { classical }
+  r\longa r\breve r1 r2 r4 r8 r16 r32 r64 r128 r128
+  \bar ""
+  
+  \override Staff.Rest  #'style = #'default
+  r\maxima^\markup \typewriter { default }
+  r\longa r\breve r1 r2 r4 r8 r16 r32 r64 r128 r128
 }
-
-
index 45e09b689086c44dd5e55a2b7150a6430620bc44..9cfdbdf9ed0382a121a9c2db973ebf7ae23033c6 100644 (file)
@@ -3,21 +3,19 @@
 \version "2.11.38"
 
 \header {
-  lsrtags = "rhythms, editorial-and-educational-use, tweaks-and-overrides"
+  lsrtags = "rhythms, tweaks-and-overrides"
  texidoc = "
 In \"simple\" lead-sheets, sometimes no actual notes are written,
 instead only \"rhythmic patterns\" and chords above the measures are
-noted giving the structure of a song.  Such a feature is for example
+notated giving the structure of a song. Such a feature is for example
 useful while creating/transcribing the structure of a song and also
-when sharing lead sheets with guitarists or jazz musicians.
-
-The standard support for this is described in section \"Measure
-repeats\", but  then the first beat has to be an ordinary note or rest. 
-
-This example shows two solutions to this problem, by redefining
-ordinary rests to be printed as slashes. (If the duration of each beat
-is not a quarter note, replace the r4 in the definitions by a rest of
-the appropriate duration).
+when sharing lead sheets with guitarists or jazz musicians. The
+standard support for this using @code{\\repeat percent} is unsuitable
+here since the first beat has to be an ordinary note or rest. This
+example shows two solutions to this problem, by redefining ordinary
+rests to be printed as slashes. (If the duration of each beat is not a
+quarter note, replace the @code{r4} in the definitions with a rest of
+the appropriate duration). 
 " }
 % begin verbatim
 % Macro to print single slash
@@ -28,7 +26,6 @@ rs = {
   r4
 }
 
-
 % Function to print a specified number of slashes
 comp = #(define-music-function (parser location count) ( integer?)
   #{
@@ -41,7 +38,9 @@ comp = #(define-music-function (parser location count) ( integer?)
 )
 
 \score{
-  \relative c'{
-    c d e f | \rs \rs \rs \rs | \comp #4 |
+  \relative c' {
+    c d e f |
+    \rs \rs \rs \rs |
+    \comp #4 |
   }
 }
index c6c3483538429a85fd94a079adcef3cd917e4638..962b6a240fb98daea6452ae5d016467cdaba2841 100644 (file)
@@ -1,22 +1,28 @@
-altering-the-number-of-stems-in-a-beam.ly
 adding-beams,-slurs,-ties-etc.-when-using-tuplet-and-non-tuplet-rythms..ly
-modifying-tuplet-bracket-length.ly
-changing-time-signatures-inside-a-polymetric-section-using--compressmusic.ly
-making-an-object-invisible-with-the-transparent-property.ly
+beams-across-line-breaks.ly
 manually-controlling-beam-positions.ly
-controlling-tuplet-bracket-visibility.ly
 adding-drum-parts.ly
 rest-styles.ly
 skips-in-lyric-mode-2.ly
 chant-or-psalms-notation.ly
-conducting-signs,-measure-grouping-signs.ly
+controlling-tuplet-bracket-visibility.ly
 heavily-customized-polymetric-time-signatures.ly
+positioning-multi--measure-rests.ly
+using-ties-with-arpeggios.ly
+forcing-rehearsal-marks-to-start-from-a-given-letter-or-number.ly
 compound-time-signatures.ly
+altering-the-number-of-stems-in-a-beam.ly
+modifying-tuplet-bracket-length.ly
+changing-time-signatures-inside-a-polymetric-section-using--compressmusic.ly
+making-an-object-invisible-with-the-transparent-property.ly
+changing-the-tuplet-number.ly
+entering-several-tuplets-using-only-one--times-command.ly
+conducting-signs,-measure-grouping-signs.ly
+changing-form-of-multi--measure-rests.ly
 rhythmic-slashes.ly
 automatic-beams-two-per-two-in-4-4-or-2-2-time-signature.ly
-automatic-beam-subdivisions.ly
-entering-several-tuplets-using-only-one--times-command.ly
-forcing-rehearsal-marks-to-start-from-a-given-letter-or-number.ly
-beam-across-line-breaks.ly
-printing-music-with-different-time-signatures.ly
+three-sided-box.ly
+permitting-line-breaks-within-beamed-tuplets.ly
 skips-in-lyric-mode.ly
+engraving-ties-manually.ly
+printing-music-with-different-time-signatures.ly
diff --git a/input/lsr/shortening-volta-brackets.ly b/input/lsr/shortening-volta-brackets.ly
new file mode 100644 (file)
index 0000000..6d70527
--- /dev/null
@@ -0,0 +1,22 @@
+%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
+%% This file is in the public domain.
+\version "2.11.38"
+
+\header {
+  lsrtags = "repeats"
+ texidoc = "
+By default, the volta brackets will be drawn over all of the
+alternative music, but it is possible to shorten them by setting
+@code{voltaSpannerDuration}.  In the next example, the bracket only
+lasts one measure, which is a duration of 3/4. 
+" }
+% begin verbatim
+\relative c'' {
+  \time 3/4
+  c c c
+  \set Score.voltaSpannerDuration = #(ly:make-moment 3 4)
+  \repeat volta 5 { d d d }
+    \alternative { { e e e f f f }
+    { g g g } 
+  }
+}
index bbc27d213fd0e0abfcfa9acabaaead97745930d5..b52edebe6b7b2633e759185973ee270beb7b25f3 100644 (file)
@@ -1,3 +1,3 @@
 clusters.ly
-changing-an-individual-notes-size-in-a-chord.ly
+changing-a-single-notes-size-in-a-chord.ly
 combining-two-parts-on-the-same-staff.ly
index 7d6a885fe9c7fb5f0443d2e704413197d6dbaf88..b888a0952d7711fca163738a9766771f0a615280 100644 (file)
@@ -5,15 +5,12 @@
 \header {
   lsrtags = "rhythms, vocal-music"
  texidoc = "
-Although you can't use `s' in lyric mode (it's taken to be a literal s,
-not a space) you can use either \"\" or _.
-
-So for example:
+Although you can't use @code{s} in @code{\\lyricmode} (it's taken to be
+a literal \"s\", not a space) you can use either @code{\"\"} or
+@code{_}So for example: 
 " }
 % begin verbatim
-<< 
- \relative c'' { a4 b c d }
\new Lyrics \lyricmode { a4   _2  gap4 }
+<<
 \relative c'' { a4 b c d }
 \new Lyrics \lyricmode { a4 "" _ gap }
 >>
-
-
index 9c5cc3cb80217d18ae9b13aa8bc2c328d853a441..9cfed3b470110be9be9dc8b5cfcddeee5d375674 100644 (file)
@@ -5,12 +5,12 @@
 \header {
   lsrtags = "rhythms, vocal-music"
  texidoc = "
-The s syntax is only available in note mode and chord mode. In other
-situations, for example, when entering lyrics, you should use the
-\\skip command.
+The @code{s} syntax for skips is only available in note mode and chord
+mode. In other situations, for example, when entering lyrics, you
+should use the @code{\\skip} command. 
 " }
 % begin verbatim
 <<
-  \relative { a'2 a1 }
-  \new Lyrics \lyricmode { \skip 2 bla1 }
+  \relative { a'1 a }
+  \new Lyrics \lyricmode { \skip 1 bla1 }
 >>
index 1762bd4f7b006be693f1026f795ea61058ca2bd0..682482ccac2152041257113830e180173f5d4f87 100644 (file)
@@ -1,6 +1,7 @@
-vertically-aligning-ossias-and-lyrics.ly
-adjusting-lyrics-vertical-spacing.ly
-alignment-vertical-spacing.ly
-page-label.ly
 vertically-centered-dynamics-and-textscripts.ly
 proportional-strict-notespacing.ly
+vertically-aligning-ossias-and-lyrics.ly
+allowing-fingerings-to-be-printed-inside-the-staff.ly
+page-label.ly
+alignment-vertical-spacing.ly
+adjusting-lyrics-vertical-spacing.ly
index 72f0b3a74e931a613bcda1a4c2bccaf88bc7d383..eceb129d3bbfb5da62033ebef068e06d9c6e7ce6 100644 (file)
@@ -1,8 +1,10 @@
 creating-blank-staves.ly
 time-signature-in-parentheses.ly
+mensurstriche-layout-bar-lines-between-the-staves.ly
 adding-and-extra-staff-at-a-line-break.ly
 changing-the-number-of-lines-in-a-staff.ly
 incipit.ly
+display-bracket-with-only-one-staff-in-a-system.ly
 inserting-score-fragments-above-the-staff,-as-markups.ly
 adding-an-extra-staff.ly
 changing-the-staff-size.ly
@@ -11,5 +13,6 @@ adding-ambiti-per-voice.ly
 clefs-commonly-tweaked-properties.ly
 quoting-another-voice.ly
 volta-multi-staff.ly
-non-traditional-key-signatures.ly
 nesting-staves.ly
+non-traditional-key-signatures.ly
+making-some-staff-lines-thicker-than-the-others.ly
index b7e9f28d22ed449245d37ca406ef14e4ec3f0101..e724cc45ff51570448e83d08a75dd41fe84e37c2 100644 (file)
@@ -2,6 +2,7 @@ combining-dynamics-with-markup-texts.ly
 creating-text-spanners.ly
 creating-real-parenthesized-dynamics.ly
 markup-lines.ly
+three-sided-box.ly
 center-text-below-hairpin-dynamics.ly
 ottava-text.ly
 demonstrating-all-headers.ly
index ce9b3a589b338dd3727ffe9be179c965cf200f4f..19f72681aef252d534fe1ffbd02807b875c10d7c 100644 (file)
@@ -3,7 +3,7 @@
 \version "2.11.38"
 
 \header {
-  lsrtags = "editorial-and-educational-use"
+  lsrtags = "rhythms, text"
  texidoc = "
 This example shows how to add a markup command to get a three sided box
 around some text (or other markup).
@@ -42,7 +42,7 @@ thickness and padding around the markup."
 
 % Test it:
 
-\relative c'{ 
-  c^\markup{ \NWS-box ABCD }
-  c^\markup{\NWS-box \note #"4" #1.0 } 
+\relative c' 
+  c2^\markup { \NWS-box ABCD }
+  c^\markup { \NWS-box \note #"4" #1.0 } 
 }
index e8959b7e1ee7ded1c46a373aefc1dd27759d804d..3598567b3e5e2b0f19a962f73adac29b8f205572 100644 (file)
@@ -1,26 +1,29 @@
-altering-the-number-of-stems-in-a-beam.ly
+display-bracket-with-only-one-staff-in-a-system.ly
 time-signature-in-parentheses.ly
-vertically-centered-dynamics-and-textscripts.ly
-proportional-strict-notespacing.ly
 changing-the-default-text-font-family.ly
-transcription-of-ancient-music-with-incipit.ly
-alignment-vertical-spacing.ly
+drawing-boxes-around-grobs.ly
 manually-controlling-beam-positions.ly
 custodes.ly
-drawing-boxes-around-grobs.ly
 move-specific-text.ly
-drawing-circles-around-various-objects.ly
-making-an-object-invisible-with-the-transparent-property.ly
 rest-styles.ly
-creating-text-spanners.ly
 using-the--tweak-command-to-tweak-individual-grobs.ly
 controlling-tuplet-bracket-visibility.ly
-caesura-railtracks-with-fermata.ly
-rhythmic-slashes.ly
+positioning-multi--measure-rests.ly
 changing-the-staff-size.ly
-coloring-objects.ly
 clefs-commonly-tweaked-properties.ly
 vertically-aligning-ossias-and-lyrics.ly
 changing-properties-for-individual-grobs.ly
-changing-an-individual-notes-size-in-a-chord.ly
+altering-the-number-of-stems-in-a-beam.ly
+mensurstriche-layout-bar-lines-between-the-staves.ly
+vertically-centered-dynamics-and-textscripts.ly
+proportional-strict-notespacing.ly
+making-an-object-invisible-with-the-transparent-property.ly
+transcription-of-ancient-music-with-incipit.ly
+alignment-vertical-spacing.ly
+drawing-circles-around-various-objects.ly
+creating-text-spanners.ly
+caesura-railtracks-with-fermata.ly
+changing-form-of-multi--measure-rests.ly
+rhythmic-slashes.ly
+changing-a-single-notes-size-in-a-chord.ly
 nesting-staves.ly
diff --git a/input/lsr/using-ties-with-arpeggios.ly b/input/lsr/using-ties-with-arpeggios.ly
new file mode 100644 (file)
index 0000000..1620756
--- /dev/null
@@ -0,0 +1,22 @@
+%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
+%% This file is in the public domain.
+\version "2.11.38"
+
+\header {
+  lsrtags = "rhythms"
+ texidoc = "
+Ties are sometimes used to write out arpeggios.  In this case, two tied
+notes need not be consecutive.  This can be achieved by setting the
+@code{tieWaitForNote} property to true.  The same feature is also
+useful, for example, to tie a tremolo to a chord, but in principle, it
+can also be used for ordinary consecutive notes, as demonstrated in
+this example. 
+" }
+% begin verbatim
+\relative c' {
+  \set tieWaitForNote = ##t
+  \grace { c16[~ e~ g]~ } <c, e g>2
+  \repeat tremolo 8 { c32~ c'~ } <c c,>1
+  e8~ c~ a~ f~ <e' c a f>2
+  \tieUp c8~ a \tieDown \tieDotted g~ c g2
+}
diff --git a/input/new/broken-crescendo-hairpin.ly b/input/new/broken-crescendo-hairpin.ly
new file mode 100644 (file)
index 0000000..3bd097c
--- /dev/null
@@ -0,0 +1,41 @@
+\version "2.11.38"\r
+\r
+\header {\r
+  doctitle = "Broken crescendo hairpin"\r
+  lsrtags = "expressive-marks"\r
+  texidoc = "\r
+In order to make parts of a crescendo hairpin invisible, the following\r
+method is used: A white rectangle is drawn on top of the respective\r
+part of the crescendo hairpin, making it invisible. The rectangle is\r
+defined as postscript code within a text markup.\r
+\r
+To fine-tune the position and size of the markup, the number\r
+preceding @code{setgray} in the postscript definition can be set to a\r
+value <1 making it grey. The two numbers before @code{scale} in the\r
+postscript code are responsible for the width and height of the\r
+rectangle, the two numbers before @code{translate} change the x- and\r
+y-origin of the rectangle. \r
+\r
+Make sure to put the hairpin in a lower layer than the text markup to\r
+actually draw the rectangle above the hairpin. \r
+" }\r
+\r
+\score {\r
+  \relative c' {\r
+    << {\r
+      \dynamicUp\r
+      \override DynamicLineSpanner #'staff-padding = #4\r
+      r2 r16 c'8.\pp r4\r
+    } \\ {\r
+      \override DynamicLineSpanner #'layer = #0\r
+      des,2\mf\< ~\r
+      \override TextScript #'layer = #2\r
+      des16_\markup {\r
+        \postscript #"1.9 -8 translate 5 4 scale 1 setgray 0 0 moveto 0 1\r
+        lineto 1 1 lineto 1 0 lineto 0 0 lineto fill"\r
+      }\r
+      r8. des4 ~ des16->\sff\r
+    } >>\r
+  }\r
+  \layout { ragged-right = ##t }\r
+}\r
diff --git a/input/new/changing-form-of-multi--measure-rests.ly b/input/new/changing-form-of-multi--measure-rests.ly
new file mode 100644 (file)
index 0000000..53b7a27
--- /dev/null
@@ -0,0 +1,19 @@
+\version "2.11.42"
+\layout { ragged-right= ##t }
+\header {
+  doctitle = "Changing form of multi-measure rests"
+  lsrtags = "rhythms,tweaks-and-overrides"
+  texidoc = "
+If there are ten or fewer measures of rests, LilyPond prints
+a series of longa and breve rests (called in German
+\"Kirchenpausen\" - church rests) within the staff and
+prints a simple line otherwise.  This default number of ten
+may be changed by an override:
+"}
+
+\relative c'' {
+  \compressFullBarRests
+  R1*2 | R1*5 | R1*9
+  \override MultiMeasureRest #'expand-limit = 3
+  R1*2 | R1*5 | R1*9
+}
index 504a80d43301cd2d9db8790af812e293723379df..a3ae111e6dae94c70867391cf665d9ecec0f240b 100644 (file)
@@ -1,9 +1,9 @@
 \version "2.11.6"
-\layout { ragged-right= ##t }
+\layout { ragged-right = ##t }
 \header {
   doctitle = "Makam"
   lsrtags = "pitches"
-  texidoc = "Makam is Turkish type of melody that uses 1/9 tone
+  texidoc = "Makam is a type of melody from Turkey using 1/9th-tone
   microtonal alterations."
 }
 
@@ -33,7 +33,7 @@ makamPitchNames = #`(
   (gc . ,(ly:make-pitch -1 4 KOMA))
   (ac . ,(ly:make-pitch -1 5 KOMA))
   (bc . ,(ly:make-pitch -1 6 KOMA))
-
+  
   (cb . ,(ly:make-pitch -1 0 BAKIYE))
   (db . ,(ly:make-pitch -1 1 BAKIYE))
   (eb . ,(ly:make-pitch -1 2 BAKIYE))
@@ -41,7 +41,7 @@ makamPitchNames = #`(
   (gb . ,(ly:make-pitch -1 4 BAKIYE))
   (ab . ,(ly:make-pitch -1 5 BAKIYE))
   (bb . ,(ly:make-pitch -1 6 BAKIYE))
-
+  
   (ck . ,(ly:make-pitch -1 0 KUCUK))
   (dk . ,(ly:make-pitch -1 1 KUCUK))
   (ek . ,(ly:make-pitch -1 2 KUCUK))
@@ -49,7 +49,7 @@ makamPitchNames = #`(
   (gk . ,(ly:make-pitch -1 4 KUCUK))
   (ak . ,(ly:make-pitch -1 5 KUCUK))
   (bk . ,(ly:make-pitch -1 6 KUCUK))
-
+  
   (cbm . ,(ly:make-pitch -1 0 BUYUKMUCENNEB))
   (dbm . ,(ly:make-pitch -1 1 BUYUKMUCENNEB))
   (ebm . ,(ly:make-pitch -1 2 BUYUKMUCENNEB))
@@ -57,7 +57,7 @@ makamPitchNames = #`(
   (gbm . ,(ly:make-pitch -1 4 BUYUKMUCENNEB))
   (abm . ,(ly:make-pitch -1 5 BUYUKMUCENNEB))
   (bbm . ,(ly:make-pitch -1 6 BUYUKMUCENNEB))
-
+  
   ;; f for flat.
   (cfc . ,(ly:make-pitch -1 0 (- KOMA)))
   (dfc . ,(ly:make-pitch -1 1 (- KOMA)))
@@ -74,7 +74,7 @@ makamPitchNames = #`(
   (gfb . ,(ly:make-pitch -1 4 (- BAKIYE)))
   (afb . ,(ly:make-pitch -1 5 (- BAKIYE)))
   (bfb . ,(ly:make-pitch -1 6 (- BAKIYE)))
-
+  
   (cfk . ,(ly:make-pitch -1 0 (- KUCUK)))
   (dfk . ,(ly:make-pitch -1 1 (- KUCUK)))
   (efk . ,(ly:make-pitch -1 2 (- KUCUK)))
@@ -82,7 +82,7 @@ makamPitchNames = #`(
   (gfk . ,(ly:make-pitch -1 4 (- KUCUK)))
   (afk . ,(ly:make-pitch -1 5 (- KUCUK)))
   (bfk . ,(ly:make-pitch -1 6 (- KUCUK)))
-
+  
   (cfbm . ,(ly:make-pitch -1 0 (- BUYUKMUCENNEB)))
   (dfbm . ,(ly:make-pitch -1 1 (- BUYUKMUCENNEB)))
   (efbm . ,(ly:make-pitch -1 2 (- BUYUKMUCENNEB)))
@@ -90,14 +90,14 @@ makamPitchNames = #`(
   (gfbm . ,(ly:make-pitch -1 4 (- BUYUKMUCENNEB)))
   (afbm . ,(ly:make-pitch -1 5 (- BUYUKMUCENNEB)))
   (bfbm . ,(ly:make-pitch -1 6 (- BUYUKMUCENNEB)))
-
 )
 
-%% set pitch names.
-pitchnames = \makamPitchNames 
+% Set pitch names.
+pitchnames = \makamPitchNames
 #(ly:parser-set-note-names parser makamPitchNames)
 
-makamGlyphs = #'((1 . "accidentals.doublesharp")
+makamGlyphs = #'(
+       (1 . "accidentals.doublesharp")
        (8/9 . "accidentals.sharp.slashslashslash.stemstem")
        (5/9 . "accidentals.sharp.slashslashslash.stem")
        (4/9 . "accidentals.sharp")
@@ -111,7 +111,7 @@ makamGlyphs = #'((1 . "accidentals.doublesharp")
        )
 
 \relative {
-
+  
   %{ define alteration <-> symbol mapping. The following glyphs are available.
   accidentals.sharp 
   accidentals.sharp.slashslash.stem 
@@ -128,13 +128,12 @@ makamGlyphs = #'((1 . "accidentals.doublesharp")
   accidentals.flatflat.slash 
   accidentals.doublesharp 
   %}
-
-  \override Accidental #'glyph-name-alist =  \makamGlyphs
   
+  \override Accidental #'glyph-name-alist =  \makamGlyphs
   \override Staff.KeySignature #'glyph-name-alist = \makamGlyphs
-  \set Staff.keySignature =  #'(
-    (3 .  4/9)
-    (6 . -1/9))
+  \set Staff.keySignature =  #'((3 .  4/9) (6 . -1/9))
   
-  c cc db fk gbm gfc gfb efk dfbm
+  c cc db fk
+  gbm gfc gfb efk
+  fk db cc c
 }
index 543debc168c39d83354edadfd70bee26e32ca4c5..403b8babd702514c3376ba5d2f13887d1f6f2b69 100644 (file)
@@ -1,26 +1,32 @@
-\version "2.11.23"
-\layout { ragged-right= ##t }
-\header {
-  doctitle = "Making an object invisible with the transparent property"
-  lsrtags = "rhythms,tweaks-and-overrides"
-  texidoc = "
-Setting the @code{transparent} property will cause an object to be
-printed in `invisible ink': the object is not printed, but all its
-other behavior is retained.  The object still takes up space, it takes
-part in collisions, and slurs, and ties and beams can be attached to it.
-
-
-The snippet demonstrates how to connect different voices using ties. 
-Normally, ties only connect two notes in the same voice.  By
-introducing a tie in a different voice, and blanking the first up-stem
-in that voice, the tie appears to cross voices. 
-" }
-
-\relative c'' <<
-  {
-    \once \override Stem #'transparent = ##t
-    b8~ b8\noBeam
-  } \\ {
-    b[ g8]
-  }
->>
+\version "2.11.23"\r
+\layout { ragged-right = ##t }\r
+\header {\r
+  doctitle = "Making an object invisible with the transparent property"\r
+  lsrtags = "rhythms,tweaks-and-overrides"\r
+  texidoc = "\r
+Setting the @code{transparent} property will cause an object to be\r
+printed in \"invisible ink\": the object is not printed, but all its\r
+other behavior is retained.  The object still takes up space, it takes\r
+part in collisions, and slurs, ties and beams can be attached to it.\r
+\r
+\r
+The snippet demonstrates how to connect different voices using ties. \r
+Normally, ties only connect two notes in the same voice.  By\r
+introducing a tie in a different voice, and blanking the first up-stem\r
+in that voice, the tie appears to cross voices.  To prevent the blanked stem's\r
+flag from interfering with tie positioning, the stem is extended.\r
+" }\r
+\r
+\relative c'' {\r
+  \time 2/4\r
+  << {\r
+    \once \override Stem #'transparent = ##t\r
+    \once \override Stem #'length = #8\r
+    b8 ~ b\noBeam\r
+    \once \override Stem #'transparent = ##t\r
+    \once \override Stem #'length = #8\r
+    g ~ g\noBeam\r
+  } \\ {\r
+    b g g e\r
+  } >>\r
+}\r
diff --git a/input/new/positioning-multi--measure-rests.ly b/input/new/positioning-multi--measure-rests.ly
new file mode 100644 (file)
index 0000000..54d8a85
--- /dev/null
@@ -0,0 +1,40 @@
+\version "2.11.42"
+\layout { ragged-right = ##t }
+\header {
+  doctitle = "Positioning multi-measure rests"
+  lsrtags = "rhythms,tweaks-and-overrides"
+  texidoc = "
+Unlike ordinary rests, there is no predefined command
+to change the vertical position on the staff of a multi-measure
+rest symbol of either form by attaching it to a note.  However,
+in polyphonic music multi-measure rests in odd-numbered and
+even-numbered voices are vertically separated.  The positioning
+of multi-measure rests can be controlled as follows:
+ "}
+
+\relative c'' {
+  % Multi-measure rests by default are set under the second line
+  R1
+  % They can be moved with an override
+  \override MultiMeasureRest #'staff-position = #-2
+  R1
+  % A value of 0 is the default position;
+  % the following trick moves the rest to the center line
+  \override MultiMeasureRest #'staff-position = #-0.01
+  R1
+  % Multi-measure rests in odd-numbered voices are under the top line
+  << { R1 } \\ { a1 } >>
+  % Multi-measure rests in even-numbered voices are under the bottom line
+  << { c1 } \\ { R1 } >>
+  % They remain separated even in empty bars
+  << { R1 } \\ { R1 } >>
+  % This brings them together even though there are two voices
+  \compressFullBarRests
+  <<
+    \revert MultiMeasureRest #'staff-position
+    { R1*3 }
+    \\
+    \revert MultiMeasureRest #'staff-position
+    { R1*3 }
+  >>
+}
index 88c261edf39b9686f5c76719c915d86c5865095b..5b23bf07545157cacdd6f305cb4a7e59f8ba7450 100644 (file)
@@ -3,36 +3,33 @@
   doctitle = "Quoting another voice with transposition"
   lsrtags = "pitches,staff-notation"
   texidoc = "Quotations take into account the transposition of both
-source and target.  In this example, all instruments play sounding
-central C, the target is a instrument in F.  The target part may be
-@code{\\transpose}d.  In this case, all the pitches (including the
-quoted ones) will transposed as well."
+source and target. In this example, all instruments play sounding
+middle C; the target is an instrument in F. The target part may be
+transposed using @code{\\transpose}. In this case, all the pitches (including the
+quoted ones) are transposed."
 }
 
-\addQuote clarinet  {
-    \transposition bes
-    d'16 d'16 d'8 
-    d'16 d'16 d'8 
-    d'16 d'16 d'8 
-    d'16 d'16 d'8 
+\addQuote clarinet {
+  \transposition bes
+  \repeat unfold 8 { d'16 d'16 d'8 }
 }
 
-\addQuote sax  {
-    \transposition es'
-    a8 a a a a a  a a 
+\addQuote sax {
+  \transposition es'
+  \repeat unfold 16 { a8 }
 }
 
 quoteTest = {
-    \transposition f  % french horn
-    
-    g'4
-    << \quoteDuring #"clarinet" { \skip 4 } s4^"clar" >> 
-    << \quoteDuring #"sax" { \skip 4 } s4^"sax" >> 
+  % french horn
+  \transposition f
+  g'4
+  << \quoteDuring #"clarinet" { \skip 4 } s4^"clar." >>
+  << \quoteDuring #"sax" { \skip 4 } s4^"sax." >>
+  g'4
 }
 
-<< \quoteTest
-   \new Staff
-   << \transpose c' d' \quoteTest
-     s4_"up 1 tone"
-  >>
->>
+{
+  \set Staff.instrumentName = \markup \center-align { "Horn" "in F" }
+  \quoteTest
+  \transpose c' d' << \quoteTest s4_"up a tone" >>
+}
index 8ca3eba3fe996cb11e502531b5340ec8301c1ad5..bfcdee28d7a682de5d6e70837f7d7eeed03ba164 100644 (file)
@@ -3,19 +3,20 @@
   doctitle = "Transposing music with minimum accidentals"
   lsrtags = "pitches"
  texidoc = "There is a way to enforce enharmonic modifications for
-notes in order to have the minimum number of accidentals. In that
-case, ``Double accidentals should be removed, as well as E-sharp
-(-> F), bC (-> B), bF (-> E), B-sharp (-> C).'', as proposed by a
-request for a new feature.  In this manner, the most natural
-enharmonic notes are chosen in this example.  "
-}
+notes in order to have the minimum number of accidentals. In this
+case, the following rules apply:
+
+\"Double accidentals should be removed, as well as E sharp (-> F),
+C flat (-> B), F flat (-> E) and B sharp (-> C)\".
 
-#(define  (naturalise-pitch p)
+In this manner, the most natural enharmonic notes are chosen.
+"}
+
+#(define  (naturalize-pitch p)
   (let* ((o (ly:pitch-octave p))
          (a (* 4 (ly:pitch-alteration p))) 
     ; alteration, a, in quarter tone steps, for historical reasons
          (n (ly:pitch-notename p)))
-
     (cond
      ((and (> a 1) (or (eq? n 6) (eq? n 2)))
       (set! a (- a 2))
@@ -23,54 +24,44 @@ enharmonic notes are chosen in this example.  "
      ((and (< a -1) (or (eq? n 0) (eq? n 3)))
       (set! a (+ a 2))
       (set! n (- n 1))))
-
     (cond
      ((> a 2) (set! a (- a 4)) (set! n (+ n 1)))
      ((< a -2) (set! a (+ a 4)) (set! n (- n 1))))
-
     (if (< n 0) (begin (set!  o (- o 1)) (set! n (+ n 7))))
     (if (> n 6) (begin (set!  o (+ o 1)) (set! n (- n 7))))
-
     (ly:make-pitch o n (/ a 4))))
 
-#(define (naturalise music)
+#(define (naturalize music)
   (let* ((es (ly:music-property music 'elements))
          (e (ly:music-property music 'element))
          (p (ly:music-property music 'pitch)))
-
     (if (pair? es)
         (ly:music-set-property!
          music 'elements
-         (map (lambda (x) (naturalise x)) es)))
-
+         (map (lambda (x) (naturalize x)) es)))
     (if (ly:music? e)
         (ly:music-set-property!
          music 'element
-         (naturalise e)))
-
+         (naturalize e)))
     (if (ly:pitch? p)
         (begin
-          (set! p (naturalise-pitch p))
+          (set! p (naturalize-pitch p))
           (ly:music-set-property! music 'pitch p)))
-
     music))
 
-music =  \relative c' { c4 d  e f g a b  c }
-
-naturaliseMusic =
+naturalizeMusic =
 #(define-music-function (parser location m)
                                        (ly:music?)
-                       (naturalise m))
+                       (naturalize m))
+
+music =  \relative c' { c4 d e g }
 
 \score {
-   \new Staff {
-     \transpose c ais \music
-     \naturaliseMusic \transpose c ais \music 
-    \break
+  \new Staff {
+    \transpose c ais \music
+    \naturalizeMusic \transpose c ais \music
     \transpose c deses \music
-    \naturaliseMusic \transpose c deses \music
+    \naturalizeMusic \transpose c deses \music
   }
-  \layout { ragged-right = ##t}
+  \layout { ragged-right = ##t }
 }
-
-
diff --git a/input/regression/parenthesize-singlenotes-chords-rests.ly b/input/regression/parenthesize-singlenotes-chords-rests.ly
new file mode 100644 (file)
index 0000000..b9fda9e
--- /dev/null
@@ -0,0 +1,25 @@
+
+\header {
+  texidoc = "The parenthesize function should also work on single notes (not inside chords), rests and on whole chords (each note of the chord is parenthesized). Also, parenthesizing articulations, dynamics and text markup is possible. On all other music expressions, parenthesize does not have an effect.
+
+  Measure 1: Three parenthesized notes (staccato not parenthesized), one note with staccato in parentheses; Measure 2: Chord and two rests in parentheses (accent and markup not); Measure 3: note (no parentheses) with \p in parentheses, with text in parentheses, and note in parentheses with p not in parentheses, rest (no parentheses); Measure 4: shows that \parenthesize does not apply to other expressions like SequentialMusic"
+}
+
+
+\paper {
+  ragged-right = ##t
+}
+
+\version "2.11.43"
+
+
+\relative c'' {
+  % parentheses on single notes (with articulations), inside chord and articulation
+  \parenthesize c \parenthesize c-. <\parenthesize c> c-\parenthesize-. |
+  % parenthesized rests and whole chords
+  \parenthesize <c e g>4-> \parenthesize r \parenthesize r2^"rest" |
+  % parenthesizing dynamics and text markup
+  c4-\parenthesize\p c-\parenthesize-"Text" \parenthesize c\p r4 |
+  % parenthesizing other music expressions does nothing
+  \parenthesize {c4 c-. <c e g> r} \parenthesize|
+}
index bcbd3aa8eb6ce42d08e88ba2de06b0f5583a0f68..04b94426d3f6b020b56e788532f0bd4700d2e28e 100644 (file)
@@ -1,6 +1,6 @@
 
 \header {
-    texidoc ="The new part combiner detects a2, solo1 and solo2, and prints i
+    texidoc ="The new part combiner detects a2, solo1 and solo2, and prints
 texts accordingly.
 
 "
index 848f27870df775fc55d6d4a92eeb4a55d0dadcc4..8364178f764d0aba9e700fd545bb593cd33ee577 100644 (file)
@@ -1,6 +1,6 @@
 \header {
 
-  texidoc = "Horizontal spacing is bounded by of the current measure length.
+  texidoc = "Horizontal spacing is bounded by the current measure length.
 This means that the 3/8 setting does not affect the whole rest spacing." 
 
 }
diff --git a/input/texidocs/GNUmakefile b/input/texidocs/GNUmakefile
new file mode 100644 (file)
index 0000000..6142dd9
--- /dev/null
@@ -0,0 +1,5 @@
+depth=../..
+
+EXTRA_DIST_FILES=$(call src-wildcard,*.texidoc)
+
+include $(depth)/make/stepmake.make
diff --git a/input/texidocs/preventing-extra-naturals-from-being-automatically-added.texidoc b/input/texidocs/preventing-extra-naturals-from-being-automatically-added.texidoc
new file mode 100644 (file)
index 0000000..75d3e46
--- /dev/null
@@ -0,0 +1,6 @@
+  texidocfr = "
+En accord avec les règles standards de l'écriture musicale, on grave
+un bécarre avant un dièse ou un bémol si on a besoin d'annuler une
+altération précédente.  Pour modifier ce comportement, assignez la propriété
+@code{extraNatural} du contexte @code{Staff} à la valeur @code{##f} (faux).
+"
index 910c62d282040d55021db4cca8703f4bcdd0520c..ce9a670f044a462a268f172a27fcbbec87036cd6 100644 (file)
@@ -598,24 +598,26 @@ ADD_ACKNOWLEDGER (Accidental_engraver, tie);
 ADD_ACKNOWLEDGER (Accidental_engraver, note_column);
 
 ADD_TRANSLATOR (Accidental_engraver,
-               
-               "Make accidentals.  "
-               "Catch note heads, ties and notices key-change events.  "
-               "This engraver usually lives at Staff level, but "
-               "reads the settings for Accidental at @code{Voice} level, "
-               "so you can @code{\\override} them at @code{Voice}. ",
-
-               /* grobs */
+               /* doc */
+               "Make accidentals."
+               "  Catch note heads, ties and notices key-change events."
+               "  This engraver usually lives at Staff level, but"
+               " reads the settings for Accidental at @code{Voice} level,"
+               " so you can @code{\\override} them at @code{Voice}.",
+
+               /* create */
                "Accidental "
                "AccidentalCautionary "
                "AccidentalSuggestion ",
 
-               /* props */
+               /* read */
                "autoAccidentals "
                "autoCautionaries "
                "internalBarNumber "
                "extraNatural "
                "harmonicAccidentals "
                "localKeySignature ",
+
+               /* write */
                "localKeySignature "
                );
index 402a17e99d0d5a0326e9160d218dfc36591522eb..c91152522846c48284b9b9cf9cb55ff5c758e40a 100644 (file)
@@ -212,9 +212,9 @@ Accidental_interface::get_stencil (Grob *me)
 
   
 ADD_INTERFACE (Accidental_interface,
-              "a single accidental",
+              "A single accidental.",
               
-              /* props */
+              /* properties */
               "alteration "
               "avoid-slur "
               "forced "
index db71c32b8f2baa8f5adf9d858e5f747efed11552..daffa298fb1226d7c029034a81fa61aab3b2ebea 100644 (file)
@@ -399,18 +399,16 @@ Align_interface::calc_max_stretch (SCM smob)
 }
 
 ADD_INTERFACE (Align_interface,
+              "Order grobs from top to bottom, left to right, right to left"
+              " or bottom to top.  For vertical alignments of staves, the"
+              " @code{break-system-details} of the left"
+              " @internalsref{NonMusicalPaperColumn} may be set to tune"
+              " vertical spacing.  Set @code{alignment-extra-space} to add"
+              " extra space for staves.  Set"
+              " @code{fixed-alignment-extra-space} to force staves in"
+              " @code{PianoStaff}s further apart.",
               
-              "Order grobs from top to bottom, left to right, right to left or bottom "
-              "to top.  "
-              "For vertical alignments of staves, the @code{break-system-details} of "
-              "the left @internalsref{NonMusicalPaperColumn} may be set to tune vertical spacing "
-              "Set @code{alignment-extra-space} to add extra space for staves. Set "
-              "@code{fixed-alignment-extra-space} to force staves in PianoStaves further apart."
-              ,
-              
-              /*
-                properties
-               */
+              /* properties */
               "align-dir "
               "axes "
               "elements "
index e00ea133dddac7055db68426c2a0a0fe9ffc8d5f..56573a5fddb2e3bd34928b4732346e362d3e009b 100644 (file)
@@ -19,7 +19,7 @@
 #include "protected-scm.hh"
 #include "side-position-interface.hh"
 #include "separation-item.hh"
-#include "staff-symbol-referencer.hh" 
+#include "staff-symbol-referencer.hh"
 #include "stream-event.hh"
 
 #include "translator.icc"
@@ -194,11 +194,18 @@ Ambitus_engraver::finalize ()
 
 ADD_ACKNOWLEDGER (Ambitus_engraver, note_head);
 ADD_TRANSLATOR (Ambitus_engraver,
-               /* doc */ "",
+               /* doc */
+               "",
+
                /* create */
                "Ambitus "
                "AmbitusLine "
                "AmbitusNoteHead "
-               "AmbitusAccidental",
-               /* read */ "",
-               /* write */ "");
+               "AmbitusAccidental ",
+
+               /* read */
+               "",
+
+               /* write */
+               ""
+               );
index a584834f496a5d127af8f008caa3065052bf81cf..6d6b5b0aac51ac53585a56c646d8d5f3845825ba 100644 (file)
@@ -68,10 +68,10 @@ Ambitus::print (SCM smob)
   return SCM_EOL;
 }
 
-ADD_INTERFACE (Ambitus ,
+ADD_INTERFACE (Ambitus,
               "The line between note heads for a pitch range.",
 
-              /* props */
+              /* properties */
               "join-heads "
               "note-heads "
               "thickness "
index 399823408f88d501a246a97a3ae5cd54fa321ce2..6fa2f79c9d437d01d366f00118bbdf4938c7c2be 100644 (file)
@@ -92,7 +92,15 @@ ADD_ACKNOWLEDGER (Arpeggio_engraver, stem);
 ADD_ACKNOWLEDGER (Arpeggio_engraver, rhythmic_head);
 
 ADD_TRANSLATOR (Arpeggio_engraver,
-               /* doc */ "Generate an Arpeggio symbol",
-               /* create */ "Arpeggio",
-               /* read */ "",
-               /* write */ "");
+               /* doc */
+               "Generate an Arpeggio symbol.",
+
+               /* create */
+               "Arpeggio",
+
+               /* read */
+               "",
+
+               /* write */
+               ""
+               );
index 5322a46c95fcdeceecb01cbc189f3903269d5a9d..fe7b116821778f883f5b028d9a3717d50dbdf35f 100644 (file)
@@ -169,7 +169,8 @@ Arpeggio::pure_height (SCM smob, SCM, SCM)
 }
 
 ADD_INTERFACE (Arpeggio,
-              "Functions and settings for drawing an arpeggio symbol (a wavy line left to noteheads.",
+              "Functions and settings for drawing an arpeggio symbol (a"
+              " wavy line left to noteheads.",
 
               /* properties */
               "arpeggio-direction "
index a98b05f48d953384474d5e5996fb023062b02eb1..7c9927d467eaf5713b0e563f80daf5e6842a0887 100644 (file)
@@ -423,12 +423,16 @@ ADD_ACKNOWLEDGER (Auto_beam_engraver, bar_line);
 ADD_ACKNOWLEDGER (Auto_beam_engraver, beam);
 ADD_ACKNOWLEDGER (Auto_beam_engraver, rest);
 ADD_TRANSLATOR (Auto_beam_engraver,
-               /* doc */ "Generate beams based on measure characteristics and observed "
-               "Stems.  Uses beatLength, measureLength and measurePosition to decide "
-               "when to start and stop a beam.  Overriding beaming is done through "
-               "@ref{Stem_engraver} properties @code{stemLeftBeamCount} and "
-               "@code{stemRightBeamCount}. ",
-               /* create */ "Beam",
+               /* doc */
+               "Generate beams based on measure characteristics and observed"
+               " Stems.  Uses @code{beatLength}, @code{measureLength}, and"
+               " @code{measurePosition} to decide when to start and stop a"
+               " beam.  Overriding beaming is done through"
+               " @ref{Stem_engraver} properties @code{stemLeftBeamCount} and"
+               " @code{stemRightBeamCount}.",
+
+               /* create */
+               "Beam ",
 
                /* read */
                "autoBeaming "
@@ -436,4 +440,6 @@ ADD_TRANSLATOR (Auto_beam_engraver,
                "beatLength "
                "subdivideBeams ",
                
-               /* write */ "");
+               /* write */
+               ""
+               );
index 3d83349526d399449ec06cf26ff6e5024fab8730..9a2618a5ba1657c7f84a40354fee12e900d22e7c 100644 (file)
@@ -97,9 +97,16 @@ Axis_group_engraver::add_element (Grob *e)
 ADD_ACKNOWLEDGER (Axis_group_engraver, grob);
 
 ADD_TRANSLATOR (Axis_group_engraver,
-               /* doc */ "Group all objects created in this context in a VerticalAxisGroup spanner.",
-               /* create */ "VerticalAxisGroup",
+               /* doc */
+               "Group all objects created in this context in a"
+               " @code{VerticalAxisGroup} spanner.",
+
+               /* create */
+               "VerticalAxisGroup ",
+
                /* read */
                "currentCommandColumn ",
 
-               /* write */ "");
+               /* write */
+               ""
+               );
index 0a82fe67131c859afd8aa95ad3df752877fb62d6..8089d316f948ac0e25b5f834a5ca8f7d72d94a63 100644 (file)
@@ -385,26 +385,33 @@ Axis_group_interface::calc_pure_elts_and_common (Grob *me)
   return common;
 }
 
-MAKE_SCHEME_CALLBACK (Axis_group_interface, calc_x_common, 1);
 SCM
-Axis_group_interface::calc_x_common (SCM grob)
+Axis_group_interface::calc_common (Grob *me, Axis axis)
 {
-  Grob *me = unsmob_grob (grob);
-
   extract_grob_set (me, "elements", elts);
-  Grob *common = common_refpoint_of_array (elts, me, X_AXIS);
+  Grob *common = common_refpoint_of_array (elts, me, axis);
+  if (!common)
+    {
+      me->programming_error ("No common parent found in calc_common axis.");
+      return SCM_EOL;
+    }
+  
   return common->self_scm ();
 }
 
+
+MAKE_SCHEME_CALLBACK (Axis_group_interface, calc_x_common, 1);
+SCM
+Axis_group_interface::calc_x_common (SCM grob)
+{
+  return calc_common (unsmob_grob (grob), X_AXIS);
+}
+
 MAKE_SCHEME_CALLBACK (Axis_group_interface, calc_y_common, 1);
 SCM
 Axis_group_interface::calc_y_common (SCM grob)
 {
-  Grob *me = unsmob_grob (grob);
-
-  extract_grob_set (me, "elements", elts);
-  Grob *common = common_refpoint_of_array (elts, me, Y_AXIS);
-  return common->self_scm ();
+  return calc_common (unsmob_grob (grob), Y_AXIS);
 }
 
 Interval
@@ -628,7 +635,6 @@ Axis_group_interface::print (SCM smob)
 }
 
 ADD_INTERFACE (Axis_group_interface,
-
               "An object that groups other layout objects.",
 
               /* properties */
index b1497ef4038341109283bcd980ea8e4ab82f477e..27be4605310b3115030db608b5271ba6ce04becc 100644 (file)
@@ -80,8 +80,15 @@ Balloon_engraver::acknowledge_grob (Grob_info info)
 ADD_ACKNOWLEDGER (Balloon_engraver, grob);
   
 ADD_TRANSLATOR (Balloon_engraver,
-              "Create balloon texts",
+              /* doc */
+              "Create balloon texts.",
+
+              /* create */
               "BalloonTextItem ",
-              /*read*/ "",
-              /*write*/ ""
+
+              /*read*/
+              "",
+
+              /*write*/
+              ""
               );
index afaaad8e3713140a71835985f30cfd670c4244a6..5252e88077a441977a5e6927943d85e788bd8e1f 100644 (file)
@@ -70,7 +70,8 @@ Balloon_interface::print (SCM smob)
 }
 
 ADD_INTERFACE (Balloon_interface,
-              "A collection of routines to put text balloons around an object.",
+              "A collection of routines to put text balloons around an"
+              " object.",
 
               /* properties */
               "padding "
index 2357c087b5dc425a3faa839c629cd6c4f9d9aee5..61ec14aca1416586ffdbd16609634870c67ddf1f 100644 (file)
@@ -102,8 +102,17 @@ Bar_engraver::acknowledge_end_spanner (Grob_info gi)
 ADD_END_ACKNOWLEDGER (Bar_engraver, spanner);
 
 ADD_TRANSLATOR (Bar_engraver,
-               /* doc */ "Create barlines. This engraver is controlled through the "
-               "@code{whichBar} property. If it has no bar line to create, it will forbid a linebreak at this point",
-               /* create */ "BarLine",
-               /* read */ "whichBar",
-               /* write */ "forbidBreak");
+               /* doc */
+               "Create barlines.  This engraver is controlled through the"
+               " @code{whichBar} property.  If it has no bar line to create,"
+               " it will forbid a linebreak at this point.",
+
+               /* create */
+               "BarLine ",
+
+               /* read */
+               "whichBar ",
+
+               /* write */
+               "forbidBreak "
+               );
index a0fa5587b410ef0fb22b2ea16c8f61e56249c1f3..e51aad7196851b3ea4b4622fe971a4385d53434f 100644 (file)
@@ -291,30 +291,26 @@ Bar_line::calc_anchor (SCM smob)
 }
 
 ADD_INTERFACE (Bar_line,
-
               "Bar line.\n"
               "\n"
-              "Print a special bar symbol. It replaces the \n"
-              "regular bar symbol with a special\n"
-              "symbol.  The argument @var{bartype} is a string which specifies the\n"
-              "kind of bar to print.  Options are @code{:|}, \n"
-              "@code{|:}, @code{:|:},\n"
-              "@code{||}, @code{|.},\n"
-              "@code{.|}, and @code{.|.}. \n"
+              "Print a special bar symbol.  It replaces the regular bar"
+              " symbol with a special symbol.  The argument @var{bartype}"
+              " is a string which specifies the kind of bar to print."
+              "  Options are @code{:|}, @code{|:}, @code{:|:}, @code{||},"
+              " @code{|.}, @code{.|}, and @code{.|.}.\n"
               "\n"
-              "These produce, respectively, a right repeat, a left repeat, a double\n"
-              "repeat, a double bar, a start bar, an end bar, and a thick double bar.\n"
-              "In addition, there is an option @code{||:} which is equivalent to\n"
-              "@code{|:} except at line breaks, where it produces a double bar (@code{||})\n"
-              "at the end of the line and a repeat sign (@code{|:}) at the beginning\n"
-              "of the new line."
-              "If @var{bartype} is set to @code{empty} then nothing is printed,\n"
-              "but a line break is allowed at that spot.\n"
-              "\n\n"
-              "@code{gap} is used for the gaps in dashed barlines."
-
-              ,
-
+              "These produce, respectively, a right repeat, a left repeat,"
+              " a double repeat, a double bar, a start bar, an end bar, and"
+              " a thick double bar.  In addition, there is an option"
+              " @code{||:} which is equivalent to @code{|:} except at line"
+              " breaks, where it produces a double bar (@code{||}) at the"
+              " end of the line and a repeat sign (@code{|:}) at the"
+              " beginning of the new line.\n"
+              "\n"
+              "If @var{bartype} is set to @code{empty} then nothing is"
+              " printed, but a line break is allowed at that spot.\n"
+              "\n"
+              "@code{gap} is used for the gaps in dashed barlines.",
 
               /* properties */
               "allow-span-bar "
index 3693f97b3e286095f23a10cb94a38334d486432c..aa9cb8f4861b0426788b762714a8241527da20d9 100644 (file)
@@ -120,17 +120,23 @@ ADD_ACKNOWLEDGER (Bar_number_engraver, break_aligned);
 ADD_ACKNOWLEDGER (Bar_number_engraver, break_alignment);
 
 ADD_TRANSLATOR (Bar_number_engraver,
-               /* doc */ "A bar number is created whenever measurePosition "
-               "is zero and when there is a bar line (ie. when @code{whichBar} is set. "
-               "It is \n"
-               "put on top of all staves, and appears only at  left side of the staff. "
-               "The staves are taken from @code{stavesFound}, which is maintained by "
-               "@code{@ref{Staff_collecting_engraver}}. ",
-
-               /* create */ "BarNumber",
+               /* doc */
+               "A bar number is created whenever @code{measurePosition} is"
+               " zero and when there is a bar line (i.e., when"
+               " @code{whichBar} is set).  It is put on top of all staves,"
+               " and appears only at the left side of the staff.  The staves"
+               " are taken from @code{stavesFound}, which is maintained by"
+               " @ref{Staff_collecting_engraver}.",
+
+               /* create */
+               "BarNumber ",
+
                /* read */
                "currentBarNumber "
                "whichBar "
                "stavesFound "
                "barNumberVisibility ",
-               /* write */ "");
+
+               /* write */
+               ""
+               );
index 90357c5264f0929718127e52518240d3597ac580..609b3798c106314d86b9effafef6f5fc218f93d6 100644 (file)
@@ -271,19 +271,20 @@ ADD_ACKNOWLEDGER (Beam_engraver, rest);
 
 ADD_TRANSLATOR (Beam_engraver,
                /* doc */
-
-               "Handles Beam events by engraving Beams.  If omitted, then notes will be "
-               "printed with flags instead of beams.",
+               "Handle @code{Beam} events by engraving beams.  If omitted,"
+               " then notes are printed with flags instead of beams.",
                
-               /* create */ "Beam",
+               /* create */
+               "Beam ",
 
                /* read */
                "beamMelismaBusy "
                "beatLength "
-               "subdivideBeams "
-               ,
+               "subdivideBeams ",
+
                /* write */
-               "forbidBreak");
+               "forbidBreak"
+               );
 
 class Grace_beam_engraver : public Beam_engraver
 {
@@ -335,18 +336,20 @@ ADD_ACKNOWLEDGER (Grace_beam_engraver, stem);
 ADD_ACKNOWLEDGER (Grace_beam_engraver, rest);
 
 ADD_TRANSLATOR (Grace_beam_engraver,
-
                /* doc */
-
-               "Handles Beam events by engraving Beams.  If omitted, then notes will "
-               "be printed with flags instead of beams. Only engraves beams when we "
-               " are at grace points in time. ",
+               "Handle @code{Beam} events by engraving beams.  If omitted,"
+               " then notes are printed with flags instead of beams.  Only"
+               " engraves beams when we are at grace points in time.",
                
-               /* create */ "Beam",
+               /* create */
+               "Beam ",
+
                /* read */
                "beamMelismaBusy "
                "beatLength "
-               "subdivideBeams "
-               ,
-               /* write */ "");
+               "subdivideBeams ",
+
+               /* write */
+               ""
+               );
 
index 544dbfb3b128e6bad82de4c3d86bf1341d62f928..34a1a86482d89386f87337da7ca740bd5f0ebd3a 100644 (file)
@@ -81,5 +81,17 @@ Beam_performer::listen_beam (Stream_event *ev)
     now_stop_ev_ = ev;
 }
 
-ADD_TRANSLATOR (Beam_performer, "", "", "", "");
+ADD_TRANSLATOR (Beam_performer,
+                /* doc */
+                "",
+
+                /* create */
+                "",
+
+                /* read */
+                "",
+
+                /* write */
+                ""
+                );
 
index 3214fe4193db21e6cf1cee47b0a7dcd135fa106a..5cc6c7c84587e436cdfae706bf7ca92c103ac722 100644 (file)
@@ -1523,14 +1523,12 @@ Beam::get_direction_beam_count (Grob *me, Direction d)
 }
 
 ADD_INTERFACE (Beam,
-
-              "A beam. \n\n"
-              "The @code{thickness} property is the weight of beams, "
-              "measured in staffspace.  The @code{direction} "
-              "property is not user-serviceable. Use "
-              "the @code{direction} property of @code{Stem} instead. "
-
-              ,
+              "A beam.\n"
+              "\n"
+              "The @code{thickness} property is the weight of beams,"
+              " measured in staffspace.  The @code{direction} property is"
+              " not user-serviceable.  Use the @code{direction} property"
+              " of @code{Stem} instead.",
               
               /* properties */
               "annotation "
@@ -1542,7 +1540,7 @@ ADD_INTERFACE (Beam,
               "concaveness "
               "damping "
               "details "
-              "direction " 
+              "direction "
               "gap "
               "gap-count "
               "grow-direction "
index 4f243dfc7371bbcb7f5447ea7f5fadd3a4a955c4..9f5602fef096ccde37a9a10fedb01aeb5116c0ab 100644 (file)
@@ -111,7 +111,15 @@ Bend_engraver::process_music ()
 ADD_ACKNOWLEDGER (Bend_engraver, note_head);
 
 ADD_TRANSLATOR (Bend_engraver,
-               /* doc */ "Create fall spanners.",
-               /* create */ "BendAfter",
-               /* read */ "",
-               /* write */ "");
+               /* doc */
+               "Create fall spanners.",
+
+               /* create */
+               "BendAfter ",
+
+               /* read */
+               "",
+
+               /* write */
+               ""
+               );
index 8059200849770fcccc83500b5a00b35be19d9232..5db2e145d694efac0965869d2cde74c7c4e1d201 100644 (file)
@@ -136,14 +136,24 @@ Break_align_engraver::add_to_group (SCM align_name, Item *item)
     }
   Axis_group_interface::add_element (group, item);
 }
+
 ADD_ACKNOWLEDGER (Break_align_engraver, break_aligned);
 ADD_ACKNOWLEDGER (Break_align_engraver, break_alignable);
 ADD_TRANSLATOR (Break_align_engraver,
-               "Align grobs with corresponding @code{break-align-symbols} into "
-               "groups, and order the groups according to @code{breakAlignOrder}. "
-               "The left edge of the alignment gets a separate group, with a symbol @code{left-edge}. ",
-               /* create */ "BreakAlignment "
+               /* doc */
+               "Align grobs with corresponding @code{break-align-symbols}"
+               " into groups, and order the groups according to"
+               " @code{breakAlignOrder}.  The left edge of the alignment gets"
+               " a separate group, with a symbol @code{left-edge}.",
+
+               /* create */
+               "BreakAlignment "
                "BreakAlignGroup "
                "LeftEdge ",
-               /* read */ "",
-               /* write */ "");
+
+               /* read */
+               "",
+
+               /* write */
+               ""
+               );
index bfaeccea22dcdd2243cc1705337bbaab9de22a68..a5c6679bea491ab1f2ccfcfedd533adb99987531 100644 (file)
@@ -366,37 +366,38 @@ Break_aligned_interface::calc_break_visibility (SCM smob)
 }
 
 ADD_INTERFACE (Break_alignable_interface,
-              "Object that is aligned on a break aligment. ",
+              "Object that is aligned on a break aligment.",
 
               /* properties */
               "break-align-symbols "
-              )
-
-
+              );
 
 ADD_INTERFACE (Break_aligned_interface,
               "Items that are aligned in prefatory matter.\n"
               "\n"
-              "The spacing of these items is controlled by the @code{space-alist}\n"
-              "property. It contains a list @code{break-align-symbol}s with a specification\n"
-              "of the associated space. The space specification can be "
+              "The spacing of these items is controlled by the"
+              " @code{space-alist} property.  It contains a list"
+              " @code{break-align-symbol}s with a specification of the"
+              " associated space.  The space specification can be\n"
+              "\n"
               "@table @code\n"
               "@item (minimum-space . @var{spc}))\n"
-              "  Pad space until the distance is @var{spc}\n"
+              "Pad space until the distance is @var{spc}.\n"
               "@item (fixed-space . @var{spc})\n"
-              "  Set a fixed space\n"
+              "Set a fixed space.\n"
               "@item (semi-fixed-space . @var{spc})\n"
-              "  Set a space. Half of it is fixed and half is stretchable. \n"
-              "(does not work at start of line. fixme)\n"
+              "Set a space.  Half of it is fixed and half is stretchable."
+              " (does not work at start of line. fixme)\n"
               "@item (extra-space . @var{spc})\n"
-              "  Add @var{spc} amount of space.\n"
+              "Add @var{spc} amount of space.\n"
               "@end table\n"
               "\n"
-              "Special keys for the alist are @code{first-note} and @code{next-note}, signifying\n"
-              "the first note on a line, and the next note halfway a line.\n"
+              "Special keys for the alist are @code{first-note} and"
+              " @code{next-note}, signifying the first note on a line, and"
+              " the next note halfway a line.\n"
               "\n"
-              "Rules for this spacing are much more complicated than this. \n"
-              "See [Wanske] page 126 -- 134, [Ross] pg 143 -- 147\n",
+              "Rules for this spacing are much more complicated than this."
+              "  See [Wanske] page 126--134, [Ross] page 143--147.",
 
               /* properties */ 
               "break-align-anchor "
@@ -406,8 +407,10 @@ ADD_INTERFACE (Break_aligned_interface,
               );
 
 ADD_INTERFACE (Break_alignment_interface,
-              "The object that performs break aligment. See @ref{break-aligned-interface}.",
+              "The object that performs break aligment.  See"
+              " @ref{break-aligned-interface}.",
 
               /* properties */
               "positioning-done "
-              "break-align-orders");
+              "break-align-orders "
+              );
index 02d4c0942db29e882b9a8c543d01c3250241e1b3..9108be2a2feea4a6fe75906609b64423412c0af5 100644 (file)
@@ -64,7 +64,15 @@ Breathing_sign_engraver::stop_translation_timestep ()
 }
 
 ADD_TRANSLATOR (Breathing_sign_engraver,
-               /* doc */ "",
-               /* create */ "BreathingSign",
-               /* read */ "",
-               /* write */ "");
+               /* doc */
+               "Create a breathing sign.",
+
+               /* create */
+               "BreathingSign ",
+
+               /* read */
+               "",
+
+               /* write */
+               ""
+               );
index 3c32a766d22b30ea83458efb79e93a087694364e..7c605c4b1950c0012c3026a025d22b27d386b0e2 100644 (file)
@@ -177,6 +177,6 @@ Breathing_sign::offset_callback (SCM smob)
 ADD_INTERFACE (Breathing_sign,
               "A breathing sign.",
               
+              /* properties */
               "direction "
-
               );
index 274e3ec3904cc71810bf2ba4bbe343d37d8c1296..649c1455be7fa2df1212fed7c8a5e9d6d481ae0a 100644 (file)
@@ -138,16 +138,21 @@ Chord_name_engraver::stop_translation_timestep ()
   which properties are read depend on the chord naming function active.
 */
 ADD_TRANSLATOR (Chord_name_engraver,
-               /* doc */ "Catch note-events "
-               "and generate the appropriate chordname.",
+               /* doc */
+               "Catch note events and generate the appropriate chordname.",
 
-               /* create */ "ChordName",
-               /* read */ "chordChanges "
+               /* create */
+               "ChordName ",
+
+               /* read */
+               "chordChanges "
                "chordNameExceptions "
                "chordNameFunction "
                "chordNoteNamer "
                "chordRootNamer "
                "chordNameExceptions "
-               "majorSevenSymbol "
-               ,
-               /* write */ "");
+               "majorSevenSymbol ",
+
+               /* write */
+               ""
+               );
index 757a1a57838bdbfeeec1661ee48baa456b4a5bea..3ffc591bd83f649988cef92f41f53138cca542c4 100644 (file)
@@ -35,5 +35,6 @@ Chord_name::after_line_breaking (SCM smob)
 ADD_INTERFACE (Chord_name,
               "A chord name.",
 
-              
-              "begin-of-line-visible");
+              /* properties */        
+              "begin-of-line-visible "
+              );
index 805cb52554a864eb5e50bb8a71085314e492883d..10a47074ca57e48b0a37cc03835abcac6fd62f68 100644 (file)
@@ -146,7 +146,15 @@ Chord_tremolo_engraver::acknowledge_stem (Grob_info info)
 
 ADD_ACKNOWLEDGER (Chord_tremolo_engraver, stem);
 ADD_TRANSLATOR (Chord_tremolo_engraver,
-               /* doc */ "Generates beams for tremolo repeats.",
-               /* create */ "Beam",
-               /* read */ "",
-               /* write */ "");
+               /* doc */
+               "Generate beams for tremolo repeats.",
+
+               /* create */
+               "Beam ",
+
+               /* read */
+               "",
+
+               /* write */
+               ""
+               );
index 74992be97612d9373bd81c89063e05bb26503525..415fed1bf264ca92ee22ba40a2eed06ff2098318 100644 (file)
@@ -193,14 +193,20 @@ Clef_engraver::stop_translation_timestep ()
 
 ADD_ACKNOWLEDGER (Clef_engraver, bar_line);
 ADD_TRANSLATOR (Clef_engraver,
-               /* doc */ "Determine and set reference point for pitches",
-               /* create */ "Clef "
+               /* doc */
+               "Determine and set reference point for pitches.",
+
+               /* create */
+               "Clef "
                "OctavateEight ",
+
                /* read */
                "clefGlyph "
                "clefOctavation "
                "clefPosition "
                "explicitClefVisibility "
-               "forceClef "
-               ,
-               /* write */ "");
+               "forceClef ",
+
+               /* write */
+               ""
+               );
index 90b5480087bfa0433de2f57270518b7d17a48e42..166956052acb6e582b4e4c7871ec8a7d083f9b81 100644 (file)
@@ -56,7 +56,7 @@ Clef::print (SCM smob)
 }
 
 ADD_INTERFACE (Clef,
-              "A clef sign",
+              "A clef sign.",
 
               /* properties */
               "full-size-change "
index 898846e2d8db20e40be284aabfd1718f5e646992..ea40ba22858dbd61f1048ce2d44365710934915c 100644 (file)
@@ -133,10 +133,16 @@ Cluster_spanner_engraver::acknowledge_note_column (Grob_info info)
 ADD_ACKNOWLEDGER (Cluster_spanner_engraver, note_column);
 ADD_TRANSLATOR (Cluster_spanner_engraver,
                /* doc */
-               "Engraves a cluster using Spanner notation ",
+               "Engrave a cluster using @code{Spanner} notation.",
+
                /* create */
                "ClusterSpanner "
                "ClusterSpannerBeacon ",
-               /* read */      "",
-               /* write */     "");
+
+               /* read */
+               "",
+
+               /* write */
+               ""
+               );
 
index c4b11b38c5b2f72084532b7ab22d896b76e44a32..b6008fea6095d6d629f3b695756a918f54900599 100644 (file)
@@ -198,15 +198,17 @@ Cluster::print (SCM smob)
 }
 
 ADD_INTERFACE (Cluster,
-              "A graphically drawn musical cluster. "
-              "\n\n"
-              "@code{padding} adds to the vertical extent of the shape (top and "
-              "bottom). \n\n"
-              "The property @code{style} controls the shape of cluster segments.  Valid values "
-              "include @code{leftsided-stairs}, @code{rightsided-stairs}, @code{centered-stairs}, "
-              "and @code{ramp}.\n",
-
-              /* props */
+              "A graphically drawn musical cluster.\n"
+              "\n"
+              "@code{padding} adds to the vertical extent of the shape (top"
+              " and bottom).\n"
+              "\n"
+              "The property @code{style} controls the shape of cluster"
+              " segments.  Valid values include @code{leftsided-stairs},"
+              " @code{rightsided-stairs}, @code{centered-stairs}, and"
+              " @code{ramp}.\n",
+
+              /* properties */
               "style "
               "padding "
               "columns "
@@ -230,8 +232,10 @@ Cluster_beacon::height (SCM g)
 }
 
 ADD_INTERFACE (Cluster_beacon,
-              "A place holder for the cluster spanner to determine the vertical "
-              "extents of a cluster spanner at this X position.",
+              "A place holder for the cluster spanner to determine the"
+              " vertical extents of a cluster spanner at this"
+              " X@tie{}position.",
 
               /* properties */
-              "positions ");
+              "positions "
+              );
index 7bff5a8cd4a9d0cebbfddb04d17ba89b7efb9c82..717ad928b39ffac2df4924ac14c9cd919a68de60 100644 (file)
@@ -70,7 +70,16 @@ Collision_engraver::Collision_engraver ()
 ADD_ACKNOWLEDGER (Collision_engraver, note_column);
 
 ADD_TRANSLATOR (Collision_engraver,
-               /* doc */ "Collect NoteColumns, and as soon as there are two or more, put them in a NoteCollision object.",
-               /* create */ "NoteCollision",
-               /* read */ "",
-               /* write */ "");
+               /* doc */
+               "Collect @code{NoteColumns}, and as soon as there are two or"
+               " more, put them in a @code{NoteCollision} object.",
+
+               /* create */
+               "NoteCollision ",
+
+               /* read */
+               "",
+
+               /* write */
+               ""
+               );
index cbee0b2f5d3b8c88dc00ce45ae31fd6b0f23a2bc..a83c961727578ab5951a96d73e997ac83a369170 100644 (file)
@@ -224,16 +224,21 @@ Completion_heads_engraver::Completion_heads_engraver ()
 }
 
 ADD_TRANSLATOR (Completion_heads_engraver,
-               /* doc */ "This engraver replaces "
-               "@code{Note_heads_engraver}. It plays some trickery to "
-               "break long notes and automatically tie them into the next measure.",
+               /* doc */
+               "This engraver replaces @code{Note_heads_engraver}.  It plays"
+               " some trickery to break long notes and automatically tie them"
+               " into the next measure.",
+
                /* create */
                "NoteHead "
                "Dots "
-               "Tie",
+               "Tie ",
+
                /* read */
                "middleCPosition "
                "measurePosition "
-               "measureLength",
+               "measureLength ",
 
-               /* write */ "");
+               /* write */
+               ""
+               );
index 3275b467d531006f06bec4223b46aa1e9bc3211d..d1e677db63149a0cafca4b20c39483f444bc1a28 100644 (file)
@@ -65,5 +65,16 @@ Control_track_performer::initialize ()
   add_text (Audio_text::TEXT, id_string);
 }
 
-ADD_TRANSLATOR (Control_track_performer, "", "",
-               "", "");
+ADD_TRANSLATOR (Control_track_performer,
+               /* doc */
+               "",
+
+               /* create */
+               "",
+
+               /* read */
+               "",
+
+               /* write */
+               ""
+               );
index 94bc4910ce24336c5260a91afea5a4edf57d8e3c..d0546bf65e3ee2749f4a6e0c240afd8088f9ab2d 100644 (file)
@@ -137,7 +137,15 @@ ADD_ACKNOWLEDGER (Custos_engraver, bar);
 ADD_ACKNOWLEDGER (Custos_engraver, note_head);
 
 ADD_TRANSLATOR (Custos_engraver,
-               /* doc */ "",
-               /* create */ "Custos",
-               /* read */ "",
-               /* write */ "");
+               /* doc */
+               "Engrave custodes.",
+
+               /* create */
+               "Custos ",
+
+               /* read */
+               "",
+
+               /* write */
+               ""
+               );
index 92ea11c43510211794b47c3d779677a3e5f6e138..79a69144dd811bf76914625e2f822d771d830edf 100644 (file)
@@ -82,11 +82,12 @@ Custos::print (SCM smob)
 }
 
 ADD_INTERFACE (Custos,
-              "A custos object.  @code{style} can have four valid values: "
-              "mensural, vaticana, medicaea and hufnagel.  Mensural is the "
-              "default style. ",
+              "A custos object.  @code{style} can have four valid values:"
+              " @code{mensural}, @code{vaticana}, @code{medicaea}, and"
+              " @code{hufnagel}.  @code{mensural} is the default style.",
 
               /* properties */
               "style "
               "neutral-position "
-               "neutral-direction ");
+              "neutral-direction "
+              );
index d96110e87bee5ad2bb2ff2a4c73012fe9fa87e79..e9dd6f8c5fd91591e2cf5d55036b3f2a93b351d8 100644 (file)
@@ -28,13 +28,13 @@ public:
 #include "translator.icc"
 
 ADD_TRANSLATOR (Default_bar_line_engraver,
-               "This engraver determines what kind of automatic bar "
-               "lines should be produced, "
-               "and sets @code{whichBar} "
-               "accordingly. It should be at the same "
-               "level as @ref{Timing_translator}. ",
+               /* doc */
+               "This engraver determines what kind of automatic bar lines"
+               " should be produced, and sets @code{whichBar} accordingly."
+               "  It should be at the same level as @ref{Timing_translator}.",
                
-               /* create */ "",
+               /* create */
+               "",
 
                /* read */
                "automaticBars "
@@ -44,7 +44,9 @@ ADD_TRANSLATOR (Default_bar_line_engraver,
                "whichBar "
                "measurePosition ",
                
-               /* write */ "automaticBars");
+               /* write */
+               "automaticBars "
+               );
 
 Default_bar_line_engraver::Default_bar_line_engraver ()
 {
index 3f2982df746607dfc7d0a10aad4a4fecf0d5f676..76af05790e18a662642c3955c0121a47e305a9b4 100644 (file)
@@ -11,7 +11,7 @@
 #include "side-position-interface.hh"
 #include "engraver.hh"
 #include "translator.icc"
-#include "item.hh" 
+#include "item.hh"
 
 class Dot_column_engraver : public Engraver
 {
@@ -53,8 +53,16 @@ Dot_column_engraver::acknowledge_rhythmic_head (Grob_info info)
 
 ADD_ACKNOWLEDGER (Dot_column_engraver, rhythmic_head);
 ADD_TRANSLATOR (Dot_column_engraver,
-               /* doc */ "Engraves dots on dotted notes shifted to the right of the note.\n"
-               "If omitted, then dots appear on top of the notes.",
-               /* create */ "DotColumn",
-               /* read */ "",
-               /* write */ "");
+               /* doc */
+               "Engrave dots on dotted notes shifted to the right of the"
+               " note.  If omitted, then dots appear on top of the notes.",
+
+               /* create */
+               "DotColumn ",
+
+               /* read */
+               "",
+
+               /* write */
+               ""
+               );
index 1698ef51eb8aa98da084c4804fd27b170f9a497b..b2645ba6dd20f26b295ee57f0e95de83f6c5952b 100644 (file)
@@ -201,9 +201,8 @@ Dot_column::add_head (Grob *me, Grob *rh)
 }
 
 ADD_INTERFACE (Dot_column,
-              
-              "Groups dot objects so they form a column, and position dots so they do not "
-              "clash with staff lines. ",
+              "Group dot objects so they form a column, and position"
+              " dots so they do not clash with staff lines.",
 
               /* properties */
               "dots "
index b59a8d9a41d65dc3a5c1d288c8f9f310b2eb0cf6..bf0d67fd0b7c5ab3f42fb050ad12845c42353145 100644 (file)
@@ -53,13 +53,15 @@ Dots_engraver::acknowledge_rhythmic_head (Grob_info gi)
 ADD_ACKNOWLEDGER (Dots_engraver, rhythmic_head);
 
 ADD_TRANSLATOR (Dots_engraver,
-              "Create @ref{Dots} objects for @ref{rhythmic-head-interface}s.",
+               "Create @ref{Dots} objects for"
+               " @ref{rhythmic-head-interface}s.",
 
-              /* create */
-              "Dots ",
+               /* create */
+               "Dots ",
 
-              /*r*/
-              "" ,
+               /* read */
+               "",
               
-              /*w*/
-              "");
+               /* write */
+               ""
+               );
index cb46d269a04f3c8020cd1fec8bc32f43a09cc96d..b9b11df365866f465b86fa623d27ab081cc3aa47 100644 (file)
@@ -59,11 +59,11 @@ Dots::print (SCM d)
 }
 
 ADD_INTERFACE (Dots,
-              "The dots to go with a notehead or rest."
-              "@code{direction} sets the preferred direction to move in case of staff "
-              "line collisions.  @code{style} defaults to undefined, which is "
-               "normal 19th/20th century traditional style.  Set @code{style} "
-               "to @code{vaticana} for ancient type dots. ",
+              "The dots to go with a notehead or rest.  @code{direction}"
+              " sets the preferred direction to move in case of staff line"
+              " collisions.  @code{style} defaults to undefined, which is"
+              " normal 19th/20th century traditional style.  Set"
+              " @code{style} to @code{vaticana} for ancient type dots.",
 
               /* properties */
               "direction "
index 1db3e611f9c2f447a24e500fce59be412331b9a3..630c718ed670bf6960bfda3e72a036e38d877d52 100644 (file)
@@ -135,10 +135,17 @@ ADD_ACKNOWLEDGER (Drum_notes_engraver, note_column);
 
 
 ADD_TRANSLATOR (Drum_notes_engraver,
-               /* doc */ "Generate noteheads.",
+               /* doc */
+               "Generate drum note heads.",
+
                /* create */
                "NoteHead "
-               "Script",
-               /* read */ "drumStyleTable",
-               /* write */ "");
+               "Script ",
+
+               /* read */
+               "drumStyleTable ",
+
+               /* write */
+               ""
+               );
 
index bb55ac2ef6a417c2eae20c369aa19b965ae0409c..b31727ebc7d528508863f5c970ae87c2e4cd5557 100644 (file)
@@ -92,4 +92,15 @@ Drum_note_performer::listen_note (Stream_event *ev)
 }
 
 ADD_TRANSLATOR (Drum_note_performer,
-               "Play drum notes.", "", "", "");
+               /* doc */
+               "Play drum notes.",
+
+               /* create */
+               "",
+
+               /* read */
+               "",
+
+               /* write */
+               ""
+               );
index f6e5911f2bf264e7d7efb941a1945f63eede0a45..51161d15017c7d43498d8773ee85053b514f3401 100644 (file)
@@ -439,9 +439,10 @@ ADD_ACKNOWLEDGER (Dynamic_engraver, note_column);
 
 ADD_TRANSLATOR (Dynamic_engraver,
                /* doc */
-               "This engraver creates hairpins, dynamic texts, and their vertical\n"
-               "alignments.  The symbols are collected onto a DynamicLineSpanner grob\n"
-               "which takes care of vertical positioning.  ",
+               "Create hairpins, dynamic texts, and their vertical"
+               " alignments.  The symbols are collected onto a"
+               " @code{DynamicLineSpanner} grob which takes care of vertical"
+               " positioning.",
 
                /* create */
                "DynamicLineSpanner "
@@ -450,5 +451,9 @@ ADD_TRANSLATOR (Dynamic_engraver,
                "Hairpin "
                "TextSpanner ",
 
-               /* read */ "",
-               /* write */ "");
+               /* read */
+               "",
+
+               /* write */
+               ""
+               );
index 9b8f366843404336f72ea36da38b1714f85c28f1..e5a7f20069847c3f09b5127640ff7b8beb2b9ef1 100644 (file)
@@ -192,14 +192,19 @@ Dynamic_performer::listen_absolute_dynamic (Stream_event *r)
 }
 
 ADD_TRANSLATOR (Dynamic_performer,
-               /* doc */                "",
-               /* create */ "",
+               /* doc */
+               "",
+
+               /* create */
+               "",
 
                /* read */
                "dynamicAbsoluteVolumeFunction "
                "instrumentEqualizer "
                "midiMaximumVolume "
                "midiMinimumVolume "
-               "midiInstrument "
-               ,
-               /*writes*/"");
+               "midiInstrument ",
+
+               /* write */
+               ""
+               );
index 61462de17a789f21595c3f4d1d0cfa4eb0ca04df..e16a8e9bbc5c4ef0873c4aba0a58792697f38fe2 100644 (file)
@@ -24,10 +24,9 @@ public:
 
 
 ADD_INTERFACE (Enclosing_bracket,
-             
              "Brackets alongside bass figures.",
              
-             /* props */
+             /* properties */
              "bracket-flare "
              "edge-height "
              "elements "
index aaa2ed76250b50c2a8a0a7c9ad6859a3c37d4c9b..eaa025dd174517e2b9ed8d30162ee6ee0aaa3f02 100644 (file)
@@ -178,10 +178,18 @@ Engraver_group::Engraver_group ()
 #include "translator.icc"
 
 ADD_TRANSLATOR_GROUP (Engraver_group,
-                     /* doc */ "A group of engravers taken together",
-                     /* create */ "",
-                     /* read */ "",
-                     /* write */ "");
+                     /* doc */
+                     "A group of engravers taken together.",
+
+                     /* create */
+                     "",
+
+                     /* read */
+                     "",
+
+                     /* write */
+                     ""
+                     );
 
 void
 Engraver_group::derived_mark () const
index 70a8bf512fb51ae71e1a3e05627c1b00e04027a7..c749be110a169b2319d68059070dbb7f5f2bf1de 100644 (file)
@@ -167,8 +167,16 @@ Engraver::internal_make_spanner (SCM x, SCM cause, char const *name, char const
 #include "translator.icc"
 
 ADD_TRANSLATOR (Engraver,
-               "Base class for engravers. Does nothing, so it is not used.",
+               /* doc */
+               "Base class for engravers.  Does nothing, so it is not used.",
+
+               /* create */
                "",
+
+               /* read */
                "",
-               "");
+
+               /* write */
+               ""
+               );
 
index ced1f123ce2b0fd9ebefc5b62ada4b974d88d52c..77a9f7c9520f50f1c2f46c80586d03a866fde169 100644 (file)
@@ -155,7 +155,15 @@ Extender_engraver::finalize ()
 
 ADD_ACKNOWLEDGER (Extender_engraver, lyric_syllable);
 ADD_TRANSLATOR (Extender_engraver,
-               /* doc */ "Create lyric extenders",
-               /* create */ "LyricExtender",
-               /* read */ "extendersOverRests",
-               /* write */ "");
+               /* doc */
+               "Create lyric extenders.",
+
+               /* create */
+               "LyricExtender ",
+
+               /* read */
+               "extendersOverRests ",
+
+               /* write */
+               ""
+               );
index 16d60a5f5317ce07485489e61eaced68d9ab2a53..389e4e96aca23fcc814d01f182b4967748337a29 100644 (file)
@@ -83,7 +83,7 @@ Figured_bass_continuation::print (SCM grob)
 ADD_INTERFACE (Figured_bass_continuation,
              "Simple extender line between bounds.",
              
-             /* props */
+             /* properties */
              "thickness "
              "padding "
              "figures "
index a73cdf6bd8b845eacf044368c1c9e7f175a08252..32ad86a9eb7592fa42c428ee857f4a6d8399802c 100644 (file)
@@ -482,15 +482,14 @@ Figured_bass_engraver::create_grobs ()
 
 ADD_TRANSLATOR (Figured_bass_engraver,
                /* doc */
-
                "Make figured bass numbers.",
+
                /* create */
                "BassFigure "
                "BassFigureAlignment "
                "BassFigureBracket "
                "BassFigureContinuation "
-               "BassFigureLine "
-               ,
+               "BassFigureLine ",
 
                /* read */
                "figuredBassAlterationDirection "
@@ -498,8 +497,8 @@ ADD_TRANSLATOR (Figured_bass_engraver,
                "figuredBassFormatter "
                "implicitBassFigures "
                "useBassFigureExtenders "
-               "ignoreFiguredBassRest "
-               ,
+               "ignoreFiguredBassRest ",
 
                /* write */
-               "");
+               ""
+               );
index ced3f7ef6e97787e445bd68e082d7dca2cec2003..8043640a2f5c91ed2d148bc1b861cf477dcc99bb 100644 (file)
@@ -145,5 +145,8 @@ ADD_TRANSLATOR (Figured_bass_position_engraver,
                "BassFigureAlignmentPositioning ",
 
                /* read */
-               " ",
-               /* write */ "");
+               "",
+
+               /* write */
+               ""
+               );
index 874771f77485b86ddf036f0426f6ef7ba512a19e..0c9426f0956b8b36ea4d1f3e1a04f5e329510200 100644 (file)
@@ -147,8 +147,14 @@ ADD_ACKNOWLEDGER (Fingering_engraver, stem);
 
 ADD_TRANSLATOR (Fingering_engraver,
                /* doc */
-               "Create fingering-scripts",
+               "Create fingering scripts.",
+
                /* create */
-               "Fingering",
-               /* read */ "",
-               /* write */ "");
+               "Fingering ",
+
+               /* read */
+               "",
+
+               /* write */
+               ""
+               );
index 5dc2129c147696a34ea86738624ebf427167f0a7..16f51c82b344422fcfb2caec317c03e1627690d3 100644 (file)
@@ -50,9 +50,10 @@ Font_interface::text_font_alist_chain (Grob *g)
 }
 
 ADD_INTERFACE (Font_interface,
-              "Any symbol that is typeset through fixed sets of glyphs, "
-              " (ie. fonts)",
+              "Any symbol that is typeset through fixed sets of glyphs,"
+              " (i.e., fonts).",
 
+              /* properties */
               "font "
               "font-encoding "
               "font-family "
index 39b36586bad1c58ef3c7efd25b3974f79cd7fdf5..d554545e2d8bcf6f3108e3766ee9699df25d2b3d 100644 (file)
@@ -52,7 +52,15 @@ Font_size_engraver::acknowledge_font (Grob_info gi)
 
 ADD_ACKNOWLEDGER (Font_size_engraver, font);
 ADD_TRANSLATOR (Font_size_engraver,
-               /* doc */ "Puts fontSize into font-size grob property.",
-               /* create */ "",
-               /* read */ "fontSize",
-               /* write */ "");
+               /* doc */
+               "Put @code{fontSize} into @code{font-size} grob property.",
+
+               /* create */
+               "",
+
+               /* read */
+               "fontSize ",
+
+               /* write */
+               ""
+               );
index c44bbb6012f300f058754c84e8ad50729f72c525..f44d7bc27fca8656b43df95a881f0fe298a1cb90 100644 (file)
@@ -48,8 +48,16 @@ Forbid_line_break_engraver::start_translation_timestep ()
 }
 
 ADD_TRANSLATOR (Forbid_line_break_engraver,
-               /* doc */ "Forbid line breaks when note heads "
-               "are still playing at some point.",
-               /* create */ "",
-               /* read */ "busyGrobs",
-               /* write */ "forbidBreak");
+               /* doc */
+               "Forbid line breaks when note heads are still playing at some"
+               " point.",
+
+               /* create */
+               "",
+
+               /* read */
+               "busyGrobs ",
+
+               /* write */
+               "forbidBreak "
+               );
index d0ad15050f8d1b650df67bcbe47d0ae4592c84eb..056b826588f69fc8bcce8fa9c9c65dc6333b1725 100644 (file)
@@ -85,16 +85,20 @@ Fretboard_engraver::stop_translation_timestep ()
 }
 
 ADD_TRANSLATOR (Fretboard_engraver,
-               /* doc */ "Generate one or more tablature noteheads from event of type NoteEvent.",
+               /* doc */
+               "Generate one or more tablature noteheads from event of type"
+               " @code{NoteEvent}.",
+
                /* create */
-               "FretBoard "
-               ,
+               "FretBoard ",
 
                /* read */
                "stringTunings "
                "minimumFret "
                "tablatureFormat "
-               "highStringOne "
-               ,
-               /* write */ "");
+               "highStringOne ",
+
+               /* write */
+               ""
+               );
 
index 3a88ef888cda5a8d30c3bd782e7f3fb0701f582b..66afed64034ed9ca01d54f9dc76bb0074d3b4971 100644 (file)
@@ -105,11 +105,15 @@ Glissando_engraver::finalize ()
 
 ADD_ACKNOWLEDGER (Glissando_engraver, rhythmic_head);
 ADD_TRANSLATOR (Glissando_engraver,
-               /* doc */ "",
+               /* doc */
+               "Engrave glissandi.",
+
                /* create */
-               "Glissando",
+               "Glissando ",
 
                /* read */
                "",
 
-               /* write */ "");
+               /* write */
+               ""
+               );
index 5be9307f08fe11dd8e967d334b5f7a68422ca8ed..2b02020f62314526d4b93ddec861cf3f5fd91622 100644 (file)
@@ -106,7 +106,15 @@ Grace_engraver::start_translation_timestep ()
 #include "translator.icc"
 
 ADD_TRANSLATOR (Grace_engraver,
-               /* doc */ "Set font size and other properties for grace notes.",
-               /* create */ "",
-               /* read */ "graceSettings",
-               /* write */ "");
+               /* doc */
+               "Set font size and other properties for grace notes.",
+
+               /* create */
+               "",
+
+               /* read */
+               "graceSettings ",
+
+               /* write */
+               ""
+               );
index 689f76212f28e1e3b3c612e019352f9c760c3e11..69a42b2d5b727a73690bdd17eea6b8d3598b930d 100644 (file)
@@ -70,7 +70,8 @@ Grace_spacing_engraver::stop_translation_timestep ()
 
 
 ADD_TRANSLATOR (Grace_spacing_engraver,
-               "Bookkeeping of shortest starting and playing notes in grace note runs.",
+               "Bookkeeping of shortest starting and playing notes in grace"
+               " note runs.",
 
                /* create */
                "GraceSpacing ",
@@ -78,4 +79,6 @@ ADD_TRANSLATOR (Grace_spacing_engraver,
                /* read */
                "currentMusicalColumn ",
                
-               /* write */ "");
+               /* write */
+               ""
+               );
index 0bfdde3efaec88fc3e5a5cab61fb5785c33d9a8f..c9b849eed9e0aabc39683bbf4e46ee2c1de4c130 100644 (file)
@@ -49,7 +49,21 @@ Gregorian_ligature::prefixes_to_str (Grob *primitive)
   read by the associated item class, such as VaticanaLigature.--jr
 */
 ADD_INTERFACE (Gregorian_ligature,
-              "A gregorian ligature",
-              "virga stropha inclinatum auctum descendens ascendens "
-              "oriscus quilisma deminutum cavum linea pes-or-flexa "
-              "context-info prefix-set");
+              "A gregorian ligature.",
+
+              /* properties */
+              "virga "
+              "stropha "
+              "inclinatum "
+              "auctum "
+              "descendens "
+              "ascendens "
+              "oriscus "
+              "quilisma "
+              "deminutum "
+              "cavum "
+              "linea "
+              "pes-or-flexa "
+              "context-info "
+              "prefix-set "
+              );
index 409c4e8ff495d39f2e556e96ab4f64e340e1d8af..5bb0b097affa63ca4b96f5fa447cba1f568bbd06 100644 (file)
@@ -68,9 +68,16 @@ Grid_line_interface::add_grid_point (Grob *me, Grob *b)
 }
 
 ADD_INTERFACE (Grid_line_interface,
-              "A  line that spanned between grid-points. ",
-              "elements thickness");
+              "A line that is spanned between grid-points.",
+
+              /* properties */
+              "elements "
+              "thickness "
+              );
 
 ADD_INTERFACE (Grid_point_interface,
-              "A spanning point for grid lines. ",
-              "");
+              "A spanning point for grid lines.",
+
+              /* properties */
+              ""
+              );
index ede6afdf424337f1fd6645a8a939484e21de4cba..1fd00e805205bb4f68e53bf0172736d9176ff0ea 100644 (file)
@@ -60,8 +60,16 @@ Grid_line_span_engraver::stop_translation_timestep ()
 #include "translator.icc"
 ADD_ACKNOWLEDGER (Grid_line_span_engraver, grid_point);
 ADD_TRANSLATOR (Grid_line_span_engraver,
-               /* doc */ "This engraver makes cross-staff linelines: It catches all normal "
-               "line lines, and draws a single span-line across them.",
-               /* create */ "GridLine",
-               /* read */ "",
-               /* write */ "");
+               /* doc */
+               "This engraver makes cross-staff lines: It catches all normal"
+               " lines and draws a single span line across them.",
+
+               /* create */
+               "GridLine ",
+
+               /* read */
+               "",
+
+               /* write */
+               ""
+               );
index 1a3641717b0d62e186f9e3436f25be08429ff4b8..ab4b6f6279398ffa4896e351759b86f75040b78e 100644 (file)
@@ -38,8 +38,16 @@ Grid_point_engraver::Grid_point_engraver ()
 }
 
 ADD_TRANSLATOR (Grid_point_engraver,
-               /* doc */ "generate grid points.",
-               /* create */ "GridPoint",
-               /* read */ "gridInterval",
-               /* write */ "");
+               /* doc */
+               "Generate grid points.",
+
+               /* create */
+               "GridPoint ",
+
+               /* read */
+               "gridInterval ",
+
+               /* write */
+               ""
+               );
 
index 7265d4634784033d37db85251d0858f11e8a52a9..31584e46b40be7249cfd7bd747cece150e631edd 100644 (file)
@@ -138,8 +138,16 @@ Grob_pq_engraver::start_translation_timestep ()
 #include "translator.icc"
 ADD_ACKNOWLEDGER (Grob_pq_engraver, grob);
 ADD_TRANSLATOR (Grob_pq_engraver,
+               /* doc */
+               "Administrate when certain grobs (e.g., note heads) stop"
+               " playing.",
 
-               /* doc */ "Administrate when certain grobs (eg. note heads) stop playing",
-               /* create */ "",
-               /* read */ "busyGrobs",
-               /* write */ "busyGrobs");
+               /* create */
+               "",
+
+               /* read */
+               "busyGrobs ",
+
+               /* write */
+               "busyGrobs "
+               );
index 7f78b5ff60112937bc5745106da7e2b96535fcab..78be89e399f147c6cefb42428e7896bd204308c9 100644 (file)
@@ -576,39 +576,42 @@ Grob::programming_error (string s) const
 
 
 ADD_INTERFACE (Grob,
-              "A grob represents a piece of music notation\n"
+              "A grob represents a piece of music notation.\n"
               "\n"
-              "All grobs have an X and Y-position on the page.  These X and Y positions\n"
-              "are stored in a relative format, so they can easily be combined by\n"
-              "stacking them, hanging one grob to the side of another, and coupling\n"
-              "them into a grouping objects.\n"
+              "All grobs have an X and Y@tie{}position on the page.  These"
+              " X and Y@tie{}positions are stored in a relative format, thus"
+              " they can easily be combined by stacking them, hanging one"
+              " grob to the side of another, or coupling them into grouping"
+              " objects.\n"
               "\n"
-              "Each grob has a reference point (a.k.a.  parent): the position of a grob\n"
-              "is stored relative to that reference point. For example the X-reference\n"
-              "point of a staccato dot usually is the note head that it applies\n"
-              "to. When the note head is moved, the staccato dot moves along\n"
-              "automatically.\n"
+              "Each grob has a reference point (a.k.a.@: parent): The"
+              " position of a grob is stored relative to that reference"
+              " point.  For example, the X@tie{}reference point of a staccato"
+              " dot usually is the note head that it applies to.  When the"
+              " note head is moved, the staccato dot moves along"
+              " automatically.\n"
               "\n"
-              "A grob is often associated with a symbol, but some grobs do not print\n"
-              "any symbols. They take care of grouping objects. For example, there is a\n"
-              "separate grob that stacks staves vertically. The @ref{NoteCollision}\n"
-              "is also an abstract grob: it only moves around chords, but doesn't print\n"
-              "anything.\n"
+              "A grob is often associated with a symbol, but some grobs do"
+              " not print any symbols.  They take care of grouping objects."
+              " For example, there is a separate grob that stacks staves"
+              " vertically.  The @ref{NoteCollision} object is also an"
+              " abstract grob: It only moves around chords, but doesn't print"
+              " anything.\n"
               "\n"
-              "Grobs have a properties: Scheme variables, that can be read and set. "
-              "They have two types. Immutable variables "
-              "define the default style and behavior.  They are shared between  many objects. "
-              "They can be changed using @code{\\override} and @code{\\revert}. "
-              "\n\n"
-              "Mutable properties are variables that are specific to one grob. Typically, "
-              "lists of other objects, or results from computations are stored in"
-              "mutable properties: every call to set-grob-property (or its C++ equivalent) "
-              "sets a mutable property. "
-              "\n\n"
-              "The properties @code{after-line-breaking} and @code{before-line-breaking} "
-              "are dummies that are not user-serviceable. "
-
-              ,
+              "Grobs have properties (Scheme variables) that can be read and"
+              " set.  Two types of them exist: immutable and mutable."
+              "  Immutable variables define the default style and behavior."
+              "  They are shared between many objects.  They can be changed"
+              " using @code{\\override} and @code{\\revert}.  Mutable"
+              " properties are variables that are specific to one grob."
+              "  Typically, lists of other objects, or results from"
+              " computations are stored in mutable properties.  In"
+              " particular, every call to @code{set-grob-property} (or its"
+              " C++ equivalent) sets a mutable property.\n"
+              "\n"
+              "The properties @code{after-line-breaking} and"
+              " @code{before-line-breaking} are dummies that are not"
+              " user-serviceable.",
 
               /* properties */
               "X-extent "
index 87f32017a491ca7b9d6a669bf8e25fa4c3c45c10..80f836d5b1ff89f74c0d84aab425183f8b899141 100644 (file)
@@ -256,9 +256,9 @@ Hairpin::print (SCM smob)
 }
 
 ADD_INTERFACE (Hairpin,
-              "A hairpin crescendo/decrescendo.",
+              "A hairpin crescendo or decrescendo.",
 
-              /* props */
+              /* properties */
               "adjacent-hairpins "
               "circled-tip "
               "bound-padding "
index 79fbd11f9d74f3d8442a6b043c7a1f5ffeed235f..d9aa0ddfec7d565d6abcc9ebb09b8c0708bc59e8 100644 (file)
@@ -79,9 +79,18 @@ Hara_kiri_engraver::acknowledge_grob (Grob_info i)
 
 ADD_ACKNOWLEDGER (Hara_kiri_engraver, grob);
 ADD_TRANSLATOR (Hara_kiri_engraver,
-               /* doc */ "Like Axis_group_engraver, but make a hara-kiri spanner, and add "
-               "interesting items (ie. note heads, lyric syllables and normal rests) ",
-               /* create */ "VerticalAxisGroup",
-               /* read */ "keepAliveInterfaces",
-               /* write */ "");
+               /* doc */
+               "Like @code{Axis_group_engraver}, but make a hara-kiri"
+               " spanner, and add interesting items (i.e., note heads, lyric"
+               " syllables, and normal rests).",
+
+               /* create */
+               "VerticalAxisGroup ",
+
+               /* read */
+               "keepAliveInterfaces ",
+
+               /* write */
+               ""
+               );
 
index bf07c8ede13ec532d58debd7a58cfd6168cc671c..1523ac676602d078a07b17533d35d632b61eb080 100644 (file)
@@ -154,10 +154,9 @@ Hara_kiri_group_spanner::add_interesting_item (Grob *me, Grob *n)
 }
 
 ADD_INTERFACE (Hara_kiri_group_spanner,
-              "A group spanner that  keeps track of interesting items.  If it "
-              "doesn't contain any after linebreaking, then it "
-              "will remove itself and all its children.",
-
+              "A group spanner that keeps track of interesting items.  If it"
+              " doesn't contain any after line breaking, it removes itself"
+              " and all its children.",
 
               /* properties */
               "items-worth-living "
index d7e453da1f1323d8777ab649418c9bb00484f654..30c3ecad1bc7744d2f353ac475d771accf4fa065 100644 (file)
@@ -35,10 +35,19 @@ public:
 
 ADD_ACKNOWLEDGER (Horizontal_bracket_engraver, note_column);
 ADD_TRANSLATOR (Horizontal_bracket_engraver,
-               "Create horizontal brackets over notes for musical analysis purposes.",
-               "HorizontalBracket",
+               /* doc */
+               "Create horizontal brackets over notes for musical analysis"
+               " purposes.",
+
+               /* create */
+               "HorizontalBracket ",
+
+               /* read */
                "",
-               "");
+
+               /* write */
+               ""
+               );
 
 Horizontal_bracket_engraver::Horizontal_bracket_engraver ()
 {
index 07c32552649e16b0e89f74341b172748015740a9..59357fbcb3b5eb972344624d8323f2a04b1480fb 100644 (file)
@@ -121,7 +121,7 @@ Horizontal_bracket::print (SCM smob)
 ADD_INTERFACE (Horizontal_bracket,
               "A horizontal bracket encompassing notes.",
 
-              /* props */                
+              /* properties */           
               "bracket-flare "
               "columns "
               "edge-height "
index 3e03d9b8e04199cd8fb42420ff23740282d081e9..a9ea53054e7e4b96f356bdc95a8b9c3f411dd97e 100644 (file)
@@ -147,8 +147,16 @@ Hyphen_engraver::stop_translation_timestep ()
 ADD_ACKNOWLEDGER (Hyphen_engraver, lyric_syllable);
 
 ADD_TRANSLATOR (Hyphen_engraver,
-               /* doc */ "Create lyric hyphens and "
-               "distance constraints between words.",
-               /* create */ "LyricHyphen LyricSpace",
-               /* read */ "",
-               /* write */ "");
+               /* doc */
+               "Create lyric hyphens and distance constraints between words.",
+
+               /* create */
+               "LyricHyphen "
+               "LyricSpace ",
+
+               /* read */
+               "",
+
+               /* write */
+               ""
+               );
index 95c4901f34229261facf30338a72dc9b1c651771..f91771597ef65fc331477a0fb662f19aa0988353 100644 (file)
@@ -40,6 +40,7 @@ struct Axis_group_interface
   static bool has_axis (Grob *, Axis);
   static void get_children (Grob *, vector<Grob*> *);
   static Interval staff_extent (Grob *me, Grob *ref, Axis, Grob *staff, Axis);
+  static SCM calc_common (Grob *, Axis);
   DECLARE_GROB_INTERFACE();
 };
 
index efb283cfc18588262bf6f3fce32839a8baf4724f..2265e249c29ff6f8d926c8b738c55a29154b88ca 100644 (file)
@@ -14,7 +14,7 @@
 #endif
 
 #include <libguile.h>
-
+#include <string.h>
 
 /*
   Hack for various MacOS incarnations.
index fe31d6590fb03a461ce5160616726169996cb745..d8f31a45abca49b5655b91bf32bf3e115729ce3a 100644 (file)
@@ -10,6 +10,7 @@
 #include <cstdio>
 using namespace std;
 
+#include <string.h>
 #include "std-string.hh"
 #include "lily-proto.hh"
 
index d280913e53941da4a8c33486e373b71d79c12556..d35e065afb7459bf691acec9a7fcf4a9d0e4bc0a 100644 (file)
@@ -146,9 +146,8 @@ Instrument_name_engraver::stop_spanner ()
 ADD_ACKNOWLEDGER (Instrument_name_engraver, axis_group);
 
 ADD_TRANSLATOR (Instrument_name_engraver,
-
                /* doc */
-               "Creates a system start text for instrument or vocal names.",
+               "Create a system start text for instrument or vocal names.",
                
                /* create */
                "InstrumentName ",
@@ -158,7 +157,8 @@ ADD_TRANSLATOR (Instrument_name_engraver,
                "shortInstrumentName "
                "instrumentName "
                "shortVocalName "
-               "vocalName "
-               ,
+               "vocalName ",
 
-               /* write */ "");
+               /* write */
+               ""
+               );
index 2637fba441db31118cf194815415a7c430bc126c..91072976771a04263005314e29bdd6ca636aec2c 100644 (file)
@@ -54,10 +54,15 @@ Instrument_switch_engraver::stop_translation_time_step ()
 }
 
 ADD_TRANSLATOR (Instrument_switch_engraver,
-              "Create a cue text for taking instrument.",
+               /* doc */
+               "Create a cue text for taking instrument.",
                        
-              "InstrumentSwitch ",
+               /* create */
+               "InstrumentSwitch ",
 
-              "instrumentCueName",
+               /* read */
+               "instrumentCueName ",
                        
-              "");
+               /* write */
+               ""
+               );
index fdf9b00ce9d36c1498076dc221e6ab01f992be61..3915ea6108bedcb9f60239381dfac7742624221b 100644 (file)
@@ -249,28 +249,31 @@ Item::less (Grob * const &g1, Grob * const &g2)
 }
 
 ADD_INTERFACE (Item,
-
-              "Grobs can be distinguished in their role in the horizontal spacing.\n"
-              "Many grobs define constraints on the spacing by their sizes. For\n"
-              "example, note heads, clefs, stems, and all other symbols with a fixed\n"
-              "shape.  These grobs form a subtype called @code{Item}.\n"
-              "\n"
+              "Grobs can be distinguished in their role in the horizontal"
+              " spacing.  Many grobs define constraints on the spacing by"
+              " their sizes, for example, note heads, clefs, stems, and all"
+              " other symbols with a fixed shape.  These grobs form a"
+              " subtype called @code{Item}.\n"
               "\n"
-              "Some items need special treatment for line breaking. For example, a\n"
-              "clef is normally only printed at the start of a line (i.e. after a\n"
-              "line break).  To model this, `breakable' items (clef, key signature,\n"
-              "bar lines, etc.) are copied twice. Then we have three versions of each\n"
-              "breakable item: one version if there is no line break, one version\n"
-              "that is printed before the line break (at the end of a system), one\n"
-              "version that is printed after the line break.\n"
+              "Some items need special treatment for line breaking.  For"
+              " example, a clef is normally only printed at the start of a"
+              " line (i.e., after a line break).   To model this,"
+              " @q{breakable} items (clef, key signature, bar lines, etc.)"
+              " are copied twice.  Then we have three versions of each"
+              " breakable item: one version if there is no line break, one"
+              " version that is printed before the line break (at the end of"
+              " a system), and one version that is printed after the line"
+              " break.\n"
               "\n"
-              "Whether these versions are visible and take up space, is determined by\n"
-              "the outcome of the @code{break-visibility}. This grob property is a\n"
-              "function taking a direction (-1, 0 or 1) as argument. It returns a\n"
-              "cons of booleans, signifying whether this grob should be transparent\n"
-              "and have no extent.\n"
+              "Whether these versions are visible and take up space is"
+              " determined by the outcome of the @code{break-visibility}"
+              " grob property, which is a function taking a direction"
+              " (@code{-1}, @code{0} or@tie{}@code{1}) as an argument.  It"
+              " returns a cons of booleans, signifying whether this grob"
+              " should be transparent and have no extent.\n"
               "\n"
-              "The following variables for break-visibility are predefined:\n"
+              "The following variables for @code{break-visibility} are"
+              " predefined:\n"
               "@example\n"
               "           grob will show:   before  no     after\n"
               "                             break   break  break\n"
@@ -281,10 +284,11 @@ ADD_INTERFACE (Item,
               "  begin-of-line-invisible    yes     yes    no\n"
               "  end-of-line-invisible      no      yes    yes\n"
               "  center-invisible           yes      no    yes\n"
-              "@end example\n",
+              "@end example",
 
               /* properties */
               "break-visibility "
               "extra-spacing-width "
               "infinite-spacing-height "
-              "non-musical")
+              "non-musical "
+              );
index 0b0a282064ec3b6bdb1dd03449f6507344b068ee..d3b7eb01ddada1c2d00b7888fef88ee16ed88eb7 100644 (file)
@@ -208,8 +208,11 @@ ADD_ACKNOWLEDGER (Key_engraver, clef);
 ADD_ACKNOWLEDGER (Key_engraver, bar_line);
 
 ADD_TRANSLATOR (Key_engraver,
-               /* doc */ "",
-               /* create */ "KeySignature",
+               /* doc */
+               "Engrave a key signature.",
+
+               /* create */
+               "KeySignature ",
                
                /* read */
                "createKeyOnClefChange "
@@ -218,10 +221,10 @@ ADD_TRANSLATOR (Key_engraver,
                "keyAlterationOrder "
                "keySignature "
                "lastKeySignature "
-               "printKeyCancellation "
-               ,
+               "printKeyCancellation ",
                
                /* write */
                "keySignature "
                "lastKeySignature "
-               "tonic ")
+               "tonic "
+               );
index 32f94a632ed1356aaa48394432237f901ce9d28c..8a12e9bcf5f00b325f3dca5945b56ebba346b6ee 100644 (file)
@@ -96,7 +96,15 @@ Key_performer::listen_key_change (Stream_event *ev)
 }
 
 ADD_TRANSLATOR (Key_performer,
+               /* doc */
                "",
+
+               /* create */
                "",
+
+               /* read */
                "",
-               "");
+
+               /* write */
+               ""
+               );
index ddf2fbbb640c30bc637cb909b41fc16d6e2d3986..2342c944e00c2f2a25e0bb16073ed980ef10bc4a 100644 (file)
@@ -122,6 +122,7 @@ Key_signature_interface::print (SCM smob)
 ADD_INTERFACE (Key_signature_interface,
               "A group of accidentals, to be printed as signature sign.",
 
+              /* properties */
               "alteration-alist "
               "c0-position "
               "glyph-name-alist "
index a6a4bd0e2b98ed3ca226e43d3e144b966a854e46..efb0afbaa4315328708fa1bbf965195e3726fa67 100644 (file)
@@ -81,10 +81,16 @@ Laissez_vibrer_engraver::acknowledge_note_head (Grob_info inf)
 
 ADD_ACKNOWLEDGER (Laissez_vibrer_engraver, note_head);
 ADD_TRANSLATOR (Laissez_vibrer_engraver, 
-               /* doc */ "Create Laissez vibrer items.",
+               /* doc */
+               "Create laissez vibrer items.",
                
                /* create */
                "LaissezVibrerTie "
                "LaissezVibrerTieColumn ",
-               /* read */ "",
-               /* write */ "");
+
+               /* read */
+               "",
+
+               /* write */
+               ""
+               );
index ecff48a7b86bcc457c9f41725a6b61caacd5126c..764b7b46b022c5cf4bad219901d4cf567bd2a5dc 100644 (file)
@@ -113,7 +113,16 @@ Ledger_line_engraver::acknowledge_ledgered (Grob_info s)
 ADD_ACKNOWLEDGER (Ledger_line_engraver, ledgered);
 ADD_ACKNOWLEDGER (Ledger_line_engraver, staff_symbol);
 ADD_TRANSLATOR (Ledger_line_engraver,
-               "Creates the spanner to draw ledger lines, and notices objects that need ledger lines",
-               /* create */ "LedgerLineSpanner",
-               /* read */ "",
-               /* write */ "")
+               /* doc */
+               "Create the spanner to draw ledger lines, and notices"
+               " objects that need ledger lines.",
+
+               /* create */
+               "LedgerLineSpanner ",
+
+               /* read */
+               "",
+
+               /* write */
+               ""
+               );
index 052e69ba1959daca8a6cf3fd64651460fdb1d99c..3664bd40b7cb4c700467758903d060fb7ebef59f 100644 (file)
@@ -351,10 +351,9 @@ Ledger_line_spanner::print (SCM smob)
 }
 
 ADD_INTERFACE (Ledger_line_spanner,
-
-              "This spanner draws the ledger lines of a staff.\n"
-              "This is a separate grob because it has to process\n"
-              "all potential collisions between all note heads.",
+              "This spanner draws the ledger lines of a staff.  This is a"
+              " separate grob because it has to process all potential"
+              " collisions between all note heads.",
 
               /* properties */
               "gap "   
@@ -370,8 +369,9 @@ struct Ledgered_interface
 };
 
 ADD_INTERFACE (Ledgered_interface,
+              "Objects that need ledger lines, typically note heads.  See"
+              " also @ref{ledger-line-spanner-interface}.",
 
-              "Objects that need ledger lines, typically "
-              "note heads. See also @ref{ledger-line-spanner-interface}.",
-
-              "no-ledgers");
+              /* properties */
+              "no-ledgers "
+              );
index 9a4374f2caf198a769fe55c93dfd5b51cd90b20a..091388f7e66ecc58a8d144dd132da324932f11ff 100644 (file)
@@ -111,7 +111,16 @@ ADD_ACKNOWLEDGER (Ligature_bracket_engraver, rest);
 ADD_ACKNOWLEDGER (Ligature_bracket_engraver, note_column);
 
 ADD_TRANSLATOR (Ligature_bracket_engraver,
-               /* doc */ "Handles Ligature_events by engraving Ligature brackets.",
-               /* create */ "LigatureBracket",
-               /* read */ "",
-               /* write */ "");
+               /* doc */
+               "Handle @code{Ligature_events} by engraving @code{Ligature}"
+               " brackets.",
+
+               /* create */
+               "LigatureBracket ",
+
+               /* read */
+               "",
+
+               /* write */
+               ""
+               );
index 2b4639c5d216350be99e713421d5d635319573d5..13f5a8cdef59e6d863e4745d379712eb75ae52e1 100644 (file)
@@ -248,15 +248,15 @@ Line_interface::line (Grob *me, Offset from, Offset to)
 }
 
 ADD_INTERFACE (Line_interface,
-              "Generic line objects. Any object using lines supports this. "
-              "The property @code{style} can be @code{line}, "
-              "@code{dashed-line}, @code{trill}, \n"
-              "@code{dotted-line} or @code{zigzag}.\n"
+              "Generic line objects.  Any object using lines supports this."
+              "  The property @code{style} can be @code{line},"
+              " @code{dashed-line}, @code{trill}, @code{dotted-line} or"
+              " @code{zigzag}.\n"
               "\n"
-              "For dashed-line, the length of the dashes is tuned with "
-              "@code{dash-fraction}. If the latter is set to 0, a dotted line is "
-              "produced. If @code{dash-period} is negative, the line is made "
-              "transparent.",
+              "For @code{dashed-line}, the length of the dashes is tuned"
+              " with @code{dash-fraction}.  If the latter is set to@tie{}0, a"
+              " dotted line is produced.  If @code{dash-period} is negative,"
+              " the line is made transparent.",
 
               /* properties */
               "dash-period "
index d0063c953249955ef63aa4f180aeadd2b72b37fa..3215456f3eff6cf97528f69c366dd247950f3acb 100644 (file)
@@ -348,18 +348,20 @@ Line_spanner::print (SCM smob)
 }
 
 ADD_INTERFACE (Line_spanner,
-              "Generic line drawn between two objects, e.g. for use with glissandi.\n"
-              "The property @code{style} can be @code{line}, "
-              "@code{dashed-line}, @code{trill}, \n"
-              "@code{dotted-line} or @code{zigzag}.\n"
-              "\n",
-
-              "bound-details " 
+              "Generic line drawn between two objects, e.g., for use with"
+              " glissandi.\n"
+              "\n"
+              "The property @code{style} can be @code{line},"
+              " @code{dashed-line}, @code{trill}, @code{dotted-line} or"
+              " @code{zigzag}.",
+
+              /* properties */
+              "bound-details "
               "extra-dy "
               "gap "
               "left-bound-info "
               "note-columns "
-              "right-bound-info " 
+              "right-bound-info "
               "thickness "
               "to-barline "
               );
index ce138390890eac3900854c84b0891f4fd98ce0a4..0aa5fe3c97baa474ef7156c9e041fbe5bd57e169 100644 (file)
@@ -171,7 +171,14 @@ Lyric_engraver::stop_translation_timestep ()
 }
 
 ADD_TRANSLATOR (Lyric_engraver,
-               /* doc */ "",
-               /* create */ "LyricText",
-               /* read */ "lyricMelismaAlignment",
-               /* write */ "");
+               /* doc */
+               "Engrave text for lyrics.",
+
+               /* create */
+               "LyricText ",
+               /* read */
+               "lyricMelismaAlignment ",
+
+               /* write */
+               ""
+               );
index de7452eb51736aa70ae7eaf71dac2082560cf672..64d2b9715d3184635f74de2e00b2f2cc1cee5351 100644 (file)
@@ -89,9 +89,11 @@ Lyric_extender::print (SCM smob)
 }
 
 ADD_INTERFACE (Lyric_extender,
-              "The extender is a simple line at the baseline of the lyric "
-              "that helps show the length of a melissima (tied/slurred note).",
+              "The extender is a simple line at the baseline of the lyric"
+              " that helps show the length of a melisma (a tied or slurred"
+              " note).",
 
+              /* properties */
               "heads "
               "left-padding "
               "next "
index d50a99727634b1dab18b2d43bf2dd8a15d7dbd2c..a871fbb843a7aa0e0a07af4d21edc7159718c1f9 100644 (file)
@@ -130,11 +130,10 @@ Lyric_hyphen::set_spacing_rods (SCM smob)
 }
 
 ADD_INTERFACE (Lyric_hyphen,
+              "A centered hyphen is simply a line between lyrics used to"
+              " divide syllables.",
 
-              "A centered hyphen is a simple line between "
-              "lyrics used to divide syllables",
-
-              /* props */
+              /* properties */
               "dash-period "
               "height "
               "length "
index 0d14a737d2b6bfa80cd3247a19f9f93338479187..d759d4603ab9a6adf7e23e0db8a107d7088c3722 100644 (file)
@@ -63,5 +63,16 @@ Lyric_performer::listen_lyric (Stream_event *event)
   events_.push_back (event);
 }
 
-ADD_TRANSLATOR (Lyric_performer, "", "",
-               "", "");
+ADD_TRANSLATOR (Lyric_performer,
+               /* doc */
+               "",
+
+               /* create */
+               "",
+
+               /* read */
+               "",
+
+               /* write */
+               ""
+               );
index 8c0233c9095b6b93cdd3ca4186daad873682f024..7ba13d49a454802a8838a5787bdf193bfa2be8e6 100644 (file)
@@ -139,17 +139,21 @@ Mark_engraver::process_music ()
 ADD_ACKNOWLEDGER (Mark_engraver, break_alignment);
 
 ADD_TRANSLATOR (Mark_engraver,
-               /* doc */ "This engraver will create RehearsalMark objects. "
-               "It puts them on top of all staves (which is taken from "
-               "the property @code{stavesFound}). If moving this engraver "
-               "to a different context, "
-               "@ref{Staff_collecting_engraver} must move along, otherwise all marks"
-               "end up on the same Y-location",
+               /* doc */
+               "Create @code{RehearsalMark} objects.  It puts them on top of"
+               " all staves (which is taken from the property"
+               " @code{stavesFound}).  If moving this engraver to a different"
+               " context, @ref{Staff_collecting_engraver} must move along,"
+               " otherwise all marks end up on the same Y@tie{}location.",
                
-               /* create */ "RehearsalMark",
+               /* create */
+               "RehearsalMark ",
+
                /* read */
                "markFormatter "
                "rehearsalMark "
                "stavesFound ",
                
-               /* write */ "");
+               /* write */
+               ""
+               );
index 311448302ca8c2b5e549caca88c5dbf6cfbcf789..81d3c5584e7297b28938099c22710c6559f9d331 100644 (file)
@@ -109,14 +109,17 @@ Measure_grouping_engraver::Measure_grouping_engraver ()
 ADD_ACKNOWLEDGER (Measure_grouping_engraver, note_column);
 ADD_TRANSLATOR (Measure_grouping_engraver,
                /* doc */
-               "Creates MeasureGrouping to indicate beat subdivision.",
+               "Create @code{MeasureGrouping} to indicate beat subdivision.",
+
                /* create */
-               "MeasureGrouping",
+               "MeasureGrouping ",
+
                /* read */
                "beatLength "
                "currentMusicalColumn "
                "measurePosition "
-               "beatGrouping "
-               ,
+               "beatGrouping ",
+
                /* write */
-               "");
+               ""
+               );
index f2cd9894749d8c5e2ef831c6f043c2588c32773e..78d625ec665da8539e3c41bd21c25367da40c8ee 100644 (file)
@@ -48,7 +48,12 @@ Measure_grouping::print (SCM grob)
 }
 
 ADD_INTERFACE (Measure_grouping,
-              "This object indicates groups of beats. "
-              "Valid choices for @code{style} are @code{bracket} and @code{triangle}.",
-              "thickness style height");
+              "This object indicates groups of beats.  Valid choices for"
+              " @code{style} are @code{bracket} and @code{triangle}.",
+
+              /* properties */
+              "thickness "
+              "style "
+              "height "
+              );
 
index 9c0cb1d5fa86cb14c5a5f0269e26ed443a687d61..e1ef553c159ee1342461ca7f59d67a9910be80ae 100644 (file)
@@ -83,8 +83,17 @@ ADD_ACKNOWLEDGER (Melody_engraver, stem);
 ADD_ACKNOWLEDGER (Melody_engraver, slur);
 
 ADD_TRANSLATOR (Melody_engraver,
-               "Create information for context dependent typesetting decisions. ",
-               "MelodyItem",
+               /* doc */
+               "Create information for context dependent typesetting"
+               " decisions.",
+
+               /* create */
+               "MelodyItem ",
+
+               /* read */
                "",
-               "");
+
+               /* write */
+               ""
+               );
                
index a3e185bbdbd7fd3671a56da1392f3b7c3a3db8fe..4d1cc67ae9a4368d12277867ae96dc3d41919384 100644 (file)
@@ -95,7 +95,9 @@ Melody_spanner::add_stem (Grob *me, Grob *stem)
 ADD_INTERFACE (Melody_spanner,
               "Context dependent typesetting decisions.",
 
+              /* properties */
               "stems "
-              "neutral-direction ");
+              "neutral-direction "
+              );
 
   
index d45c90c7dc6f7f04d364c0301200f0abaad12b71..993e4ff5c97b7b5823941748944a3bd933f2404a 100644 (file)
@@ -275,7 +275,7 @@ Mensural_ligature_engraver::transform_heads (vector<Grob_info> primitives)
              // instead of number 6
              // the legth of the longa stem should be queried something like
              // Font_interface::get_default_font (ligature)->find_by_name
-             //  ("noteheads.s-2mensural").extent (Y_AXIS).length ()
+             //  ("noteheads.sM2mensural").extent (Y_AXIS).length ()
            }
          prev_primitive->set_property ("join-right-amount",
                                        scm_from_int (delta_pitch));
@@ -313,12 +313,12 @@ Mensural_ligature_engraver::propagate_properties (Spanner *ligature,
 
   Real head_width
     = Font_interface::get_default_font (ligature)->
-    find_by_name ("noteheads.s-1mensural").extent (X_AXIS).length ();
+    find_by_name ("noteheads.sM1mensural").extent (X_AXIS).length ();
   Real flexa_width
     = robust_scm2double (ligature->get_property ("flexa-width"), 2);
   Real maxima_head_width
     = Font_interface::get_default_font (ligature)->
-    find_by_name ("noteheads.s-1neomensural").extent (X_AXIS).length ();
+    find_by_name ("noteheads.sM1neomensural").extent (X_AXIS).length ();
 
   flexa_width *= Staff_symbol_referencer::staff_space (ligature);
 
@@ -418,7 +418,16 @@ ADD_ACKNOWLEDGER (Mensural_ligature_engraver, rest);
 ADD_ACKNOWLEDGER (Mensural_ligature_engraver, note_head);
 
 ADD_TRANSLATOR (Mensural_ligature_engraver,
-               /* doc */ "Handles Mensural_ligature_events by glueing special ligature heads together.",
-               /* create */ "MensuralLigature",
-               /* read */ "",
-               /* write */ "");
+               /* doc */
+               "Handle @code{Mensural_ligature_events} by glueing special"
+               " ligature heads together.",
+
+               /* create */
+               "MensuralLigature ",
+
+               /* read */
+               "",
+
+               /* write */
+               ""
+               );
index 12b5218429e2ed1ce70c6a9a784fd36aae7dbf91..e4901a4eca96fa63c212d5be5f05dc0b59c012b8 100644 (file)
@@ -124,15 +124,15 @@ internal_brew_primitive (Grob *me)
       return Lookup::blank (Box (Interval (0, 0), Interval (0, 0)));
     case MLP_LONGA: // mensural brevis head with right cauda
       out = Font_interface::get_default_font (me)->find_by_name
-       ("noteheads.s-2mensural");
+       ("noteheads.sM2mensural");
       break;
     case MLP_BREVIS: // mensural brevis head
       out = Font_interface::get_default_font (me)->find_by_name
-       ("noteheads.s-1mensural");
+       ("noteheads.sM1mensural");
       break;
     case MLP_MAXIMA: // should be mensural maxima head without stem
       out = Font_interface::get_default_font (me)->find_by_name
-       ("noteheads.s-1neomensural");
+       ("noteheads.sM1neomensural");
       break;
     case MLP_FLEXA:
       out = brew_flexa (me, delta_pitch, false, width, thickness);
@@ -220,13 +220,14 @@ Mensural_ligature::print (SCM)
 }
 
 ADD_INTERFACE (Mensural_ligature,
-              "A mensural ligature",
+              "A mensural ligature.",
 
+              /* properties */
               "delta-position "
               "flexa-width "
               "head-width "
               "join-right-amount "
               "primitive "
-              "thickness"
+              "thickness "
               );
 
index 26f1ec9b910d49f1b5ce240c210ee6fb1c4b040c..5bc715339c69365ccda96429896bf3242418bc7c 100644 (file)
@@ -94,18 +94,22 @@ Metronome_mark_engraver::process_music ()
 }
 
 ADD_TRANSLATOR (Metronome_mark_engraver,
-               /* doc */ "Engrave metro nome marking. This delegates the formatting work "
-               "to the function in the metronomeMarkFormatter property. "
-               "The mark is put over all staves. "
-               "The staves are taken from the @code{stavesFound} property, "
-               "which is maintained by @code{@ref{Staff_collecting_engraver}}. ",
-               /* create */ "MetronomeMark",
+               /* doc */
+               "Engrave metronome marking.  This delegates the formatting"
+               " work to the function in the @code{metronomeMarkFormatter}"
+               " property.  The mark is put over all staves.  The staves are"
+               " taken from the @code{stavesFound} property, which is"
+               " maintained by @ref{Staff_collecting_engraver}.",
+
+               /* create */
+               "MetronomeMark ",
 
                /* read */
                "stavesFound "
                "metronomeMarkFormatter "
                "tempoUnitDuration "
-               "tempoUnitCount "
-               ,
+               "tempoUnitCount ",
 
-               /* write */ "");
+               /* write */
+               ""
+               );
index cf5f25a613f6099d70f76d91182a7b140694e5f1..fc5563854cc2295fc5407cd33c0aceb40790ee27 100644 (file)
@@ -252,10 +252,12 @@ Multi_measure_rest_engraver::finalize ()
 
 ADD_TRANSLATOR (Multi_measure_rest_engraver,
                /* doc */
-               "Engraves multi-measure rests that are produced with @code{R}.  Reads "
-               "@code{measurePosition} and @code{internalBarNumber} to determine what number to print "
-               "over the @ref{MultiMeasureRest}.  Reads @code{measureLength} to determine if it "
-               "should use a whole rest or a breve rest to represent 1 measure ",
+               "Engrave multi-measure rests that are produced with"
+               " @samp{R}.  It reads @code{measurePosition} and"
+               " @code{internalBarNumber} to determine what number to print"
+               " over the @ref{MultiMeasureRest}.  Reads @code{measureLength}"
+               " to determine whether it should use a whole rest or a breve"
+               " rest to represent one measure.",
                
                /* create */
                "MultiMeasureRest "
@@ -270,4 +272,6 @@ ADD_TRANSLATOR (Multi_measure_rest_engraver,
                "measurePosition "
                "measureLength ",
                
-               /* write */ "");
+               /* write */
+               ""
+               );
index 68c56de9c6d8c78b6e065e0830506be705b2412c..d16a11e3dbddd9ba2655f44a7c79e67809477f37 100644 (file)
@@ -354,5 +354,6 @@ ADD_INTERFACE (Multi_measure_rest,
               "thick-thickness "
               "use-breve-rest "
               "bound-padding "
-              "minimum-length");
+              "minimum-length "
+              );
 
index 1aaa6a04eb791b9ca3b925177eae53d2305ed6ef..fe75842c0ffa29342119be223e8785219bcefce6 100644 (file)
@@ -345,20 +345,22 @@ ADD_ACKNOWLEDGER (New_fingering_engraver, rhythmic_head);
 ADD_ACKNOWLEDGER (New_fingering_engraver, stem);
 
 ADD_TRANSLATOR (New_fingering_engraver,
-               /* doc */ "Create fingering-scripts for notes in a new chord.  "
-               "This engraver is ill-named, since it "
-               "also takes care of articulations and harmonic note heads",
+               /* doc */
+               "Create fingering scripts for notes in a new chord.  This"
+               " engraver is ill-named, since it also takes care of"
+               " articulations and harmonic note heads.",
+
                /* create */
                "Fingering "
                "StringNumber "
                "StrokeFinger "
-               "Script "
-               ,
+               "Script ",
+
                /* read */
-               
                "fingeringOrientations "
                "strokeFingerOrientations "
-               "stringNumberOrientations "
-               ,
+               "stringNumberOrientations ",
                
-               /* write */ "");
+               /* write */
+               ""
+               );
index ab157412885b75fa5c00b0cc708dcc18c0ade44b..cdeb36c667078a50755aff5739c9c717776b3294 100644 (file)
@@ -579,10 +579,11 @@ Note_collision_interface::add_column (Grob *me, Grob *ncol)
 }
 
 ADD_INTERFACE (Note_collision_interface,
-              "An object that handles collisions between notes with different stem "
-              "directions and horizontal shifts. Most of the interesting properties "
-              "are to be set in @ref{note-column-interface}: these are "
-              "@code{force-hshift} and @code{horizontal-shift}.",
+              "An object that handles collisions between notes with"
+              " different stem directions and horizontal shifts.  Most of"
+              " the interesting properties are to be set in"
+              " @ref{note-column-interface}: these are @code{force-hshift}"
+              " and @code{horizontal-shift}.",
 
               /* properties */
               "merge-differently-dotted "
index e1a8e695fd16474e616a5cadad5a4bb8e959dc76..67d4f78e8a0f90caa18779ddcace4a0f33612585 100644 (file)
@@ -210,7 +210,7 @@ Note_column::cross_staff_extent (Grob *me, Grob *refp)
 }
 
 ADD_INTERFACE (Note_column,
-              "Stem and noteheads combined",
+              "Stem and noteheads combined.",
 
               /* properties */
               "arpeggio "
index aaf1304d29b4a2660c7e653ff10de2576f74027a..152297d9859e25b9b1eefecc1baed79a777e8afb 100644 (file)
@@ -103,8 +103,18 @@ Note_head_line_engraver::stop_translation_timestep ()
 
 ADD_ACKNOWLEDGER (Note_head_line_engraver, rhythmic_head);
 ADD_TRANSLATOR (Note_head_line_engraver,
-               /* doc */ "Engrave a line between two note heads, for example a glissando.  If "
-               " followVoice is set, staff switches also generate a line.",
-               /* create */ "Glissando VoiceFollower",
-               /* read */ "followVoice",
-               /* write */ "");
+               /* doc */
+               "Engrave a line between two note heads, for example a"
+               " glissando.  If @code{followVoice} is set, staff switches"
+               " also generate a line.",
+
+               /* create */
+               "Glissando "
+               "VoiceFollower ",
+
+               /* read */
+               "followVoice ",
+
+               /* write */
+               ""
+               );
index c711f8729ea42b5296223104dd1aa1c43f31b282..1c03808819f8e63fcee449e2af8087c2780605e2 100644 (file)
@@ -143,7 +143,7 @@ Note_head::calc_stem_attachment (SCM smob)
 
 
 ADD_INTERFACE (Note_head,
-              "Note head",
+              "Note head.",
 
               /* properties */
               "note-names "
index 7240d61d51e267ca9ad56a2976ba47cfd7e9ec90..173961cb08d73b4a4e22183877478c034e02d688 100644 (file)
@@ -112,9 +112,16 @@ Note_heads_engraver::stop_translation_timestep ()
 }
 
 ADD_TRANSLATOR (Note_heads_engraver,
-               /* doc */ "Generate noteheads.",
+               /* doc */
+               "Generate note heads.",
+
                /* create */
                "NoteHead ",
-               /* read */ "middleCPosition "
+
+               /* read */
+               "middleCPosition "
                "staffLineLayoutFunction ",
-               /* write */ "");
+
+               /* write */
+               ""
+               );
index 1aebfd3d84ade98ffc3f46cc634a799ebf2be3ab..1cf78ba5e9632e1b2419a2329c6b5d3c1e0df011 100644 (file)
@@ -67,7 +67,15 @@ Note_name_engraver::Note_name_engraver ()
 }
 
 ADD_TRANSLATOR (Note_name_engraver,
-               /* doc */ "Print pitches as words.",
-               /* create */ "NoteName",
-               /* read */ "printOctaveNames",
-               /* write */ "");
+               /* doc */
+               "Print pitches as words.",
+
+               /* create */
+               "NoteName ",
+
+               /* read */
+               "printOctaveNames ",
+
+               /* write */
+               ""
+               );
index 776061f6c6f1690ec9fc38eac13624b3c85effe3..435575da604b1b66eecf109cc0df4cf452c9e221 100644 (file)
@@ -111,8 +111,19 @@ Note_performer::listen_note (Stream_event *ev)
   note_evs_.push_back (ev);
 }
 
-ADD_TRANSLATOR (Note_performer, "", "",
-               "", "");
+ADD_TRANSLATOR (Note_performer,
+               /* doc */
+               "",
+
+               /* create */
+               "",
+
+               /* read */
+               "",
+
+               /* write */
+               ""
+               );
 
 Note_performer::Note_performer ()
 {
index f1a8cbbf235e94940519126a42ad7233c2fcd914..9dd4eec9060c8ea08332d878fadbccb3e923764e 100644 (file)
@@ -130,7 +130,16 @@ ADD_ACKNOWLEDGER (Note_spacing_engraver, note_column);
 ADD_ACKNOWLEDGER (Note_spacing_engraver, rhythmic_grob);
 
 ADD_TRANSLATOR (Note_spacing_engraver,
-               /* doc */ "Generates NoteSpacing, an object linking horizontal lines for use in spacing.",
-               /* create */ "NoteSpacing",
-               /* read */ "",
-               /* write */ "");
+               /* doc */
+               "Generate @code{NoteSpacing}, an object linking horizontal"
+               " lines for use in spacing.",
+
+               /* create */
+               "NoteSpacing ",
+
+               /* read */
+               "",
+
+               /* write */
+               ""
+               );
index ffb9d7c40ed28cecf85749e76afbce628c7ab6a2..90db07a7e82ab1159a3804c4308b3f9bccc21fcb 100644 (file)
@@ -313,13 +313,12 @@ Note_spacing::stem_dir_correction (Grob *me, Item *rcolumn,
 ADD_INTERFACE (Note_spacing,
               "This object calculates spacing wishes for individual voices.",
 
-              
+              /* properties */
               "knee-spacing-correction "
               "left-items "
               "right-items "
               "same-direction-correction "
               "stem-spacing-correction "
               "space-to-barline "
-
               );
 
index 2f23261eb901cbe682d673aec3b1f66159d8bdef..a2ed6b54227bdb2c85f493f0d3daa44b44b43bad 100644 (file)
@@ -176,13 +176,12 @@ Ottava_bracket::print (SCM smob)
 }
 
 ADD_INTERFACE (Ottava_bracket,
-              "An ottava bracket",
+              "An ottava bracket.",
 
-              /*
-                properties
-               */
+              /* properties */
               "edge-height "
               "bracket-flare "
               "shorten-pair "
-              "minimum-length");
+              "minimum-length "
+              );
 
index 01bf1d85c6f4a38e1d9ef26e6925124b95ef6a6b..f1042877963d6b3eba29f0973cdb9f2b7f90b843 100644 (file)
@@ -129,12 +129,17 @@ Ottava_spanner_engraver::finalize ()
 ADD_ACKNOWLEDGER (Ottava_spanner_engraver, note_column);
 
 ADD_TRANSLATOR (Ottava_spanner_engraver,
-               /* doc */ "Create a text spanner when the ottavation property changes..",
-               /* create */ "OttavaBracket",
-               /* read */ "ottavation "
+               /* doc */
+               "Create a text spanner when the ottavation property changes.",
+
+               /* create */
+               "OttavaBracket ",
+
+               /* read */
+               "ottavation "
                "originalMiddleCPosition "
-               "currentMusicalColumn "
-               
-               ,
+               "currentMusicalColumn ",
                
-               /* write */ "");
+               /* write */
+               ""
+               );
index e66faba789def2cd683e250bff19444ec82604f2..cbef4235a16da1ca50f9c75625c9ecd129146c4e 100644 (file)
@@ -66,9 +66,8 @@ Output_property_engraver::Output_property_engraver ()
 
 ADD_ACKNOWLEDGER (Output_property_engraver, grob);
 ADD_TRANSLATOR (Output_property_engraver,
-
                /* doc */
-               "Apply a procedure to any grob acknowledged. ",
+               "Apply a procedure to any grob acknowledged.",
                
                /* create */
                "",
@@ -77,4 +76,5 @@ ADD_TRANSLATOR (Output_property_engraver,
                "",
                
                /* write */
-               "");
+               ""
+               );
index d9f9df152a878f2e1e2c09d7e15fba58c54376e9..8b698942072ebf9ddc8459aa01360dd51dd52a2d 100644 (file)
@@ -35,8 +35,8 @@ LY_DEFINE (ly_optimal_breaking, "ly:optimal-breaking",
 LY_DEFINE (ly_minimal_breaking, "ly:minimal-breaking",
           1, 0, 0, (SCM pb),
           "Break (pages and lines) the @code{Paper_book} object @var{pb}"
-          "without looking for optimal spacing: stack as many lines on"
-          "a page before moving to the next one.")
+          " without looking for optimal spacing: stack as many lines on"
+          " a page before moving to the next one.")
 {
   Minimal_page_breaking b (unsmob_paper_book (pb));
   return b.solve ();
index fbd7370bcc79fc945b6949301355e642b77e9900..02a437d863a60a366b9e2ce0875f31fd30878d12 100644 (file)
@@ -332,10 +332,16 @@ Page_turn_engraver::finalize ()
 ADD_ACKNOWLEDGER (Page_turn_engraver, note_head);
 
 ADD_TRANSLATOR (Page_turn_engraver,
-                /* doc */ "Decide where page turns are allowed to go",
-                /* create */ "",
+                /* doc */
+                "Decide where page turns are allowed to go.",
+
+                /* create */
+                "",
+
                 /* read */
                "minimumPageTurnLength "
                "minimumRepeatLengthForPageTurn ",
-                /* write */ ""
+
+                /* write */
+                ""
                );
index 481ffd14645b049bb523a3d04d02b99f08282791..c662a9baf7ea117fc025273f69fe062dadfa864d 100644 (file)
@@ -263,21 +263,25 @@ ADD_ACKNOWLEDGER (Paper_column_engraver, note_spacing);
 ADD_ACKNOWLEDGER (Paper_column_engraver, staff_spacing);
 
 ADD_TRANSLATOR (Paper_column_engraver,
-               /* doc */ "Takes care of generating columns."
-               "\n\n "
-               "This engraver decides whether a column is breakable. The default is "
-               "that a column is always breakable. However, every Bar_engraver "
-               "that does not have a barline at a certain point will set forbidBreaks "
-                "in the score context to stop linebreaks.  In practice, this "
-               "means that you can make a breakpoint by creating a barline (assuming "
-               "that there are no beams or notes that prevent a breakpoint.) ",
+               /* doc */
+               "Take care of generating columns.\n"
+               "\n"
+               "This engraver decides whether a column is breakable.  The"
+               " default is that a column is always breakable.  However,"
+               " every @code{Bar_engraver} that does not have a barline at a"
+               " certain point will set @code{forbidBreaks} in the score"
+               " context to stop line breaks.  In practice, this means that"
+               " you can make a break point by creating a bar line (assuming"
+               " that there are no beams or notes that prevent a break"
+               " point).",
                
                /* create */
                "PaperColumn "
-               "NonMusicalPaperColumn",
+               "NonMusicalPaperColumn ",
+
                /* read */
-                "forbidBreak "
-               ,
+                "forbidBreak ",
+
                /* write */
                 "forbidBreak "
                "currentCommandColumn "
index ba5b36b13e114062f6d9fc79d80dc6e510c98e07..8c9e0aea4eec10a8607358dc777557f795834a72 100644 (file)
@@ -314,19 +314,18 @@ Paper_column::before_line_breaking (SCM grob)
 
 
 ADD_INTERFACE (Paper_column,
-              "@code{Paper_column} objects form the top-most X-parents for items."
-              "  The are two types of columns: musical columns, where are attached to, and "
-              "  non-musical columns, where bar-lines, clefs etc. are attached to. "
-              "  The spacing engine determines the X-positions of these objects."
-              
-              "\n\n"
-              "They are\n"
-              "  numbered, the first (leftmost) is column 0. Numbering happens before\n"
-              "  line-breaking, and columns are not renumbered after line breaking.\n"
-              "  Since many columns go unused, you should only use the rank field to\n"
-              "  get ordering information.  Two adjacent columns may have\n"
-              "  non-adjacent numbers.\n",
-              
+              "@code{Paper_column} objects form the top-most X@tie{}parents"
+              " for items.  There are two types of columns: musical columns,"
+              " where are attached to, and non-musical columns, where"
+              " bar-lines, clefs, etc., are attached to.  The spacing engine"
+              " determines the X@tie{}positions of these objects.\n"
+              "\n"
+              "They are numbered, the first (leftmost) is column@tie{}0."
+              "  Numbering happens before line breaking, and columns are not"
+              " renumbered after line breaking.  Since many columns go"
+              " unused, you should only use the rank field to get ordering"
+              " information.  Two adjacent columns may have non-adjacent"
+              " numbers.",
 
               /* properties */
               "between-cols "
@@ -345,5 +344,6 @@ ADD_INTERFACE (Paper_column,
               "shortest-starter-duration "
               "spacing "
               "used "
-              "when ");
+              "when "
+              );
 
index 10e3be740e8f55156af9cb877883d346cfd79ea0..c24d94a9157496b8c1b6a0331854b1aa09f14ed4 100644 (file)
@@ -64,10 +64,16 @@ Parenthesis_engraver::acknowledge_grob (Grob_info info)
 
 ADD_ACKNOWLEDGER (Parenthesis_engraver, grob);
 ADD_TRANSLATOR (Parenthesis_engraver,
-               /* doc */ "Parenthesize objects whose music cause has the @code{parenthesize} "
-               "property.",
+               /* doc */
+               "Parenthesize objects whose music cause has the"
+               " @code{parenthesize} property.",
                
                /* create */
                "ParenthesesItem ",
-               /* read */ "",
-               /* write */ "");
+
+               /* read */
+               "",
+
+               /* write */
+               ""
+               );
index b12eb19a5fe7a1aac6d29d2542a58428e7d75cfb..badc17c2f6f3cce94f46f1117598b18df297ea30 100644 (file)
@@ -101,12 +101,19 @@ Part_combine_engraver::stop_translation_timestep ()
 ADD_ACKNOWLEDGER (Part_combine_engraver, note_head);
 ADD_ACKNOWLEDGER (Part_combine_engraver, stem);
 ADD_TRANSLATOR (Part_combine_engraver,
-               /* doc */ "Part combine engraver for orchestral scores:         "
-               "Print markings a2, Solo, Solo II, and unisono ",
-               /* create */ "CombineTextScript",
+               /* doc */
+               "Part combine engraver for orchestral scores: Print markings"
+               " @q{a2}, @q{Solo}, @q{Solo II}, and @q{unisono}.",
+
+               /* create */
+               "CombineTextScript ",
+
                /* read */
                "printPartCombineTexts "
                "soloText "
                "soloIIText "
-               "aDueText",
-               /* write */ "");
+               "aDueText ",
+
+               /* write */
+               ""
+               );
index 451647fb5cc03739fc9a98ee58dc1f12e7621eb1..b0c86c45b46060154ffd6f8af538cb82d69940fb 100644 (file)
@@ -71,8 +71,10 @@ Percent_repeat_item_interface::beat_slash (SCM grob)
 }
 
 ADD_INTERFACE (Percent_repeat_item_interface,
-              "Repeats that look like percent signs",
+              "Repeats that look like percent signs.",
               
+              /* properties */
               "slope "
-              "thickness ");
+              "thickness "
+              );
 
index 4b3270f4ee3ccb1b755310efdec79d9b70e1139c..32c22d13dacb5a638d9fd0d93968c83e85f1bfe6 100644 (file)
 #include "warn.hh"
 
 ADD_TRANSLATOR_GROUP (Performer_group,
-                     /* doc */ "",
-                     /* create */ "",
-                     /* read */ "",
-                     /* write */ "");
+                     /* doc */
+                     "",
+
+                     /* create */
+                     "",
+
+                     /* read */
+                     "",
+
+                     /* write */
+                     ""
+                     );
 
 void
 Performer_group::announce_element (Audio_element_info info)
index 10b767d615e17bf332b1e6fe7161a51d4177e9c6..b0ef2b2d74ab69a63aca41b1dc3e49692bbdf85e 100644 (file)
@@ -177,7 +177,15 @@ ADD_ACKNOWLEDGER (Phrasing_slur_engraver, text_script);
 ADD_ACKNOWLEDGER (Phrasing_slur_engraver, tie);
 
 ADD_TRANSLATOR (Phrasing_slur_engraver,
-               /* doc */ "Print phrasing slurs. Similar to @ref{Slur_engraver}",
-               /* create */ "PhrasingSlur",
-               /* read */ "",
-               /* write */ "");
+               /* doc */
+               "Print phrasing slurs.  Similar to @ref{Slur_engraver}.",
+
+               /* create */
+               "PhrasingSlur ",
+
+               /* read */
+               "",
+
+               /* write */
+               ""
+               );
index a7031fbb018cb1592cbc3d8d4c9a903cb0f0671b..c05f7fdc6e2327bb439d101c9d1565fd61b29202 100644 (file)
@@ -251,7 +251,6 @@ ADD_END_ACKNOWLEDGER (Piano_pedal_align_engraver, piano_pedal_bracket);
 
 
 ADD_TRANSLATOR (Piano_pedal_align_engraver,
-
                /* doc */
                "Align piano pedal symbols and brackets.",
 
@@ -263,4 +262,6 @@ ADD_TRANSLATOR (Piano_pedal_align_engraver,
                /* read */
                "currentCommandColumn ",
 
-               /* write */ "");
+               /* write */
+               ""
+               );
index efda1be5cde7968e8949c89b41cef734ac3cf155..7d7e13d093d8b5885fc3666609dc6386320d23b0 100644 (file)
@@ -90,14 +90,13 @@ Piano_pedal_bracket::print (SCM smob)
 }
 
 ADD_INTERFACE (Piano_pedal_bracket,
+              "The bracket of the piano pedal.  It can be tuned through"
+              " the regular bracket properties.",
 
-              "The bracket of the piano pedal.  "
-              "It can be tuned through the regular "
-              "bracket properties.",
-
-              /* props */
+              /* properties */
               "bound-padding "
               "edge-height "
               "shorten-pair "
               "bracket-flare "
-              "pedal-text ");
+              "pedal-text "
+              );
index 703183b3c6d046c77f7431995318b01f0f9630b2..faa078fdf24c2063ac87a1a3940d21ce83334921 100644 (file)
@@ -28,6 +28,7 @@
 
 #include "translator.icc"
 
+#include <string.h>
 
 /*
   TODO:
@@ -493,7 +494,6 @@ Piano_pedal_engraver::typeset_all (Pedal_info *p)
 ADD_ACKNOWLEDGER (Piano_pedal_engraver, note_column);
 
 ADD_TRANSLATOR (Piano_pedal_engraver,
-
                /* doc */
                "Engrave piano pedal symbols and brackets.",
 
@@ -510,6 +510,8 @@ ADD_TRANSLATOR (Piano_pedal_engraver,
                "pedalSustainStrings "
                "pedalSustainStyle "
                "pedalUnaCordaStrings "
-               "pedalUnaCordaStyle",
+               "pedalUnaCordaStyle ",
                
-               /* write */ "");
+               /* write */
+               ""
+               );
index 0c52377670e0e5efa8ee1ff5d0c089a7b464b5f1..323ee40cd372b450724c466498e0b12a8f0ef80a 100644 (file)
@@ -159,5 +159,16 @@ Piano_pedal_performer::listen_una_corda (Stream_event *r)
   info_alist_[UNA_CORDA].event_drul_[d] = r;
 }
 
-ADD_TRANSLATOR (Piano_pedal_performer, "", "",
-               "", "");
+ADD_TRANSLATOR (Piano_pedal_performer,
+               /* doc */
+               "",
+
+               /* create */
+               "",
+
+               /* read */
+               "",
+
+               /* write */
+               ""
+               );
index 8fd4d4e26d213f2eb6d4d6e9cadc4ddcf1432bcf..e8f3b5335d335b53350aa1af9473195618eb1db6 100644 (file)
@@ -36,12 +36,17 @@ Pitch_squash_engraver::Pitch_squash_engraver ()
 ADD_ACKNOWLEDGER (Pitch_squash_engraver, note_head);
 ADD_TRANSLATOR (Pitch_squash_engraver,
                /* doc */
-               "Set the vertical position of noteheads to "
-               "@code{squashedPosition}, if that "
-               "property is set. "
-               "This can be used to make  a single line staff "
-               "demonstrating the rhythm of a melody.",
-
-               /* create */ "",
-               /* read */ "squashedPosition",
-               /* write */ "");
+               "Set the vertical position of note heads to"
+               " @code{squashedPosition}, if that property is set.  This can"
+               " be used to make a single-line staff demonstrating the"
+               " rhythm of a melody.",
+
+               /* create */
+               "",
+
+               /* read */
+               "squashedPosition ",
+
+               /* write */
+               ""
+               );
index daa3bee42c772b37f6e4e53f90fbd3e4e42b68a6..3104b48ce02b1ba3ad1b0224eb5de04edf2c3d79 100644 (file)
@@ -140,13 +140,16 @@ ADD_ACKNOWLEDGER (Pitched_trill_engraver, trill_spanner);
 
 ADD_TRANSLATOR (Pitched_trill_engraver,
                /* doc */
-               "Print the bracketed notehead after a notehead with trill.",
+               "Print the bracketed note head after a note head with trill.",
 
                /* create */
                "TrillPitchHead "
                "TrillPitchAccidental "
                "TrillPitchGroup ",
 
-               /* read */ "",
+               /* read */
+               "",
 
-               /* write */ "");
+               /* write */
+               ""
+               );
index 3e3025556f88b31d9784a8c112db9a6bc1aca204..cf42756f144d2729146a09d412a305cd8fbb9d81 100644 (file)
@@ -107,8 +107,18 @@ Repeat_acknowledge_engraver::process_music ()
 }
 
 ADD_TRANSLATOR (Repeat_acknowledge_engraver,
-               /* doc */ "Acknowledge repeated music, and convert the contents of "
-               "repeatCommands ainto an appropriate setting for whichBar.",
-               /* create */ "",
-               /* read */ "repeatCommands whichBar",
-               /* write */ "");
+               /* doc */
+               "Acknowledge repeated music, and convert the contents of"
+               " @code{repeatCommands} into an appropriate setting for"
+               " @code{whichBar}.",
+
+               /* create */
+               "",
+
+               /* read */
+               "repeatCommands "
+               "whichBar ",
+
+               /* write */
+               ""
+               );
index 1285848a32446b0417fdb79c5e60fdea28a56efa..832a584d41214805a67c5972d34cf2c75e6081ab 100644 (file)
@@ -81,10 +81,16 @@ Repeat_tie_engraver::acknowledge_note_head (Grob_info inf)
 
 ADD_ACKNOWLEDGER (Repeat_tie_engraver, note_head);
 ADD_TRANSLATOR (Repeat_tie_engraver, 
-               /* doc */ "Create repeat ties.",
+               /* doc */
+               "Create repeat ties.",
                
                /* create */
                "RepeatTie "
                "RepeatTieColumn ",
-               /* read */ "",
-               /* write */ "");
+
+               /* read */
+               "",
+
+               /* write */
+               ""
+               );
index d0704a10b50c28a04b57da7dcbd5908a86b4a169..ecc3164c7c5d8d4f6e2f5a7cb439b5aa1dd3b891 100644 (file)
@@ -67,7 +67,15 @@ Rest_collision_engraver::stop_translation_timestep ()
 
 ADD_ACKNOWLEDGER (Rest_collision_engraver, note_column);
 ADD_TRANSLATOR (Rest_collision_engraver,
-               /* doc */ "Handles collisions of rests.",
-               /* create */ "RestCollision",
-               /* read */ "",
-               /* write */ "");
+               /* doc */
+               "Handle collisions of rests.",
+
+               /* create */
+               "RestCollision ",
+
+               /* read */
+               "",
+
+               /* write */
+               ""
+               );
index dd92f083e36db01a468dcc5a2acf9d1299cd11ad..e0a494c0c5431fc9440850372c965bbb35303587 100644 (file)
@@ -272,11 +272,12 @@ Rest_collision::calc_positioning_done (SCM smob)
 }
 
 ADD_INTERFACE (Rest_collision,
-              "Move around ordinary rests (not multi-measure-rests) to avoid "
-              "conflicts.",
+              "Move around ordinary rests (not multi-measure-rests) to avoid"
+              " conflicts.",
 
               /* properties */
               "minimum-distance "
               "positioning-done "
-              "elements");
+              "elements "
+              );
 
index e6e7ecb7dea588df79f98712c2d07f4bff58a3fc..13f8d70a89c646137cc311486d8e96cfa38847bd 100644 (file)
@@ -77,7 +77,15 @@ Rest_engraver::listen_rest (Stream_event *ev)
 }
 
 ADD_TRANSLATOR (Rest_engraver,
-               /* doc */ "",
-               /* create */ "Rest ",
-               /* read */ "middleCPosition",
-               /* write */ "");
+               /* doc */
+               "Engrave rests.",
+
+               /* create */
+               "Rest ",
+
+               /* read */
+               "middleCPosition ",
+
+               /* write */
+               ""
+               );
index 92e0e6e029c5c2fd98bc94c557a5d3f914e87dc8..1abb770d7b307a7150e22ed90be2f746e5124400 100644 (file)
@@ -188,12 +188,11 @@ Rest::pure_height (SCM smob, SCM start, SCM end)
 }
 
 ADD_INTERFACE (Rest,
-              "A rest symbol."
-               "The property @code{style} can be @code{default},  "
-               "@code{mensural}, @code{neomensural} or @code{classical}.",
+              "A rest symbol.  The property @code{style} can be"
+              " @code{default}, @code{mensural}, @code{neomensural} or"
+              " @code{classical}.",
 
               /* properties */
-                 
               "direction "
               "minimum-distance "
               "style "
index 827a6fb94ff2a621c6685d050a070085126f613b..4fef353a4638cc1a0133a3f13fe98bcfa10a5f60 100644 (file)
@@ -130,7 +130,16 @@ ADD_ACKNOWLEDGER (Rhythmic_column_engraver, rhythmic_head);
 ADD_ACKNOWLEDGER (Rhythmic_column_engraver, arpeggio);
 
 ADD_TRANSLATOR (Rhythmic_column_engraver,
-               /* doc */ "Generates NoteColumn, an objects that groups stems, noteheads and rests.",
-               /* create */ "NoteColumn",
-               /* read */ "",
-               /* write */ "");
+               /* doc */
+               "Generate @code{NoteColumn}, an object that groups stems,"
+               " note heads, and rests.",
+
+               /* create */
+               "NoteColumn ",
+
+               /* read */
+               "",
+
+               /* write */
+               ""
+               );
index 93349e06fee49a6e50c789a4cbccf202680e23f0..436da6b612998f8c5dd6573f019248baefab4449 100644 (file)
@@ -49,11 +49,10 @@ Rhythmic_head::duration_log (Grob *me)
 }
 
 ADD_INTERFACE (Rhythmic_head,
-
-              "Note head or rest",
+              "Note head or rest.",
               
+              /* properties */
               "dot "
               "duration-log "
               "stem "
               );
-
index 8d66adf0dda003a785d0f101004e5fb41fcba728..55becfef5eeb94be8de7ac784374f7b745414ddf 100644 (file)
@@ -170,14 +170,20 @@ Score_engraver::typeset_all ()
 }
 
 ADD_TRANSLATOR_GROUP (Score_engraver,
-                     /* doc */ "Top level engraver. Takes care of generating columns and the complete  system (ie. System) "
-                     "\n\n "
-                     "This engraver decides whether a column is breakable. The default is "
-                     "that a column is always breakable. However, every Bar_engraver "
-                     "that does not have a barline at a certain point will set "
-                      "forbidBreaks to stop linebreaks.  In practice, this "
-                     "means that you can make a breakpoint by creating a barline (assuming "
-                     "that there are no beams or notes that prevent a breakpoint.) ",
+                     /* doc */
+                     "The top-level engraver.  Takes care of generating"
+                     " columns and the complete system (i.e.,"
+                     " @code{System}).\n"
+                     "\n"
+                     "This engraver decides whether a column is breakable."
+                     "  The default is that a column is always breakable."
+                     "  However, every @code{Bar_engraver} that does not have"
+                     " a bar line at a certain point sets @code{forbidBreaks}"
+                     " to stop line breaks.  In practice, this means that you"
+                     " can make a break point by creating a bar line"
+                     " (assuming that there are no beams or notes that"
+                     " prevent a break point).",
+
                      /* create */
                      "System ",
                      
@@ -187,4 +193,5 @@ ADD_TRANSLATOR_GROUP (Score_engraver,
                      "verticallySpacedContexts ",
 
                      /* write */
-                     "");
+                     ""
+                     );
index 99d2f84967ee74f366ab5e0db653b199415bc99d..58043e06442845228728499339551706d86f10ea 100644 (file)
 #include "audio-item.hh"
 
 ADD_TRANSLATOR_GROUP (Score_performer,
-                     /* doc */ "",
-                     /* create */ "",
-                     /* read */ "",
-                     /* write */ "");
+                     /* doc */
+                     "",
+
+                     /* create */
+                     "",
+
+                     /* read */
+                     "",
+
+                     /* write */
+                     ""
+                     );
 
 Score_performer::Score_performer ()
 {
index 6a0211530de10dacd425f2776c61fb82f02bb69f..14a00ec0d3966eaf94caaab8dbcc1bd8dff4b75e 100644 (file)
@@ -68,7 +68,16 @@ Script_column_engraver::process_acknowledged ()
 
 ADD_ACKNOWLEDGER (Script_column_engraver, side_position);
 ADD_TRANSLATOR (Script_column_engraver,
-               /* doc */ "",
-               /* create */ "ScriptColumn",
-               /* read */ "",
-               /* write */ "");
+               /* doc */
+               "Find potentially colliding scripts and put them into a"
+               " @code{ScriptColumn} object; that will fix the collisions.",
+
+               /* create */
+               "ScriptColumn ",
+
+               /* read */
+               "",
+
+               /* write */
+               ""
+               );
index 3e4092f7c694ad87b6b3c0fa08294e92f05ece3c..b249fd00ac7e6b4a5e1440812c2857ac6cac6dbd 100644 (file)
@@ -154,7 +154,9 @@ Script_column::order_grobs (vector<Grob*> grobs)
 }
 
 ADD_INTERFACE (Script_column,
-              "An interface that sorts scripts "
-              "according to their @code{script-priority}",
+              "An interface that sorts scripts according to their"
+              " @code{script-priority}.",
               
-              "");
+              /* properties */
+              ""
+              );
index 72359defcfe991be36187adcf5f99d591a6666d7..d0d713bfc495c4b2b6965e2ce04e4a78a4274717 100644 (file)
@@ -241,7 +241,15 @@ ADD_ACKNOWLEDGER (Script_engraver, note_column);
 ADD_ACKNOWLEDGER (Script_engraver, stem_tremolo);
 
 ADD_TRANSLATOR (Script_engraver,
-               /* doc */ "Handles note scripted articulations.",
-               /* create */ "Script",
-               /* read */ "scriptDefinitions",
-               /* write */ "");
+               /* doc */
+               "Handle note scripted articulations.",
+
+               /* create */
+               "Script ",
+
+               /* read */
+               "scriptDefinitions ",
+
+               /* write */
+               ""
+               );
index b965959d5df1f6226d27a55f370c7324e61b6192..f6957f9eea8bcf87f4dca26482dcfb18d410433f 100644 (file)
@@ -111,7 +111,7 @@ struct Text_script
 };
 
 ADD_INTERFACE (Text_script,
-              "An object that is put above or below a note",
+              "An object that is put above or below a note.",
 
               /* properties */
               "add-stem-support "
@@ -124,7 +124,9 @@ ADD_INTERFACE (Text_script,
   Hmm. Where should we put add-stem-support ?
 */
 ADD_INTERFACE (Script_interface,
-              "An object that is put above or below a note",
+              "An object that is put above or below a note.",
+
+              /* properties */
               "add-stem-support "
               "avoid-slur "
               "positioning-done "
index 0e08362c589725c774b33dce654d88f6c0d8ca54..38bf0bdf7ceec4136fdffe607781c8d93f9ccd39 100644 (file)
@@ -85,7 +85,15 @@ Script_row_engraver::process_acknowledged ()
 ADD_ACKNOWLEDGER (Script_row_engraver, accidental_placement);
 ADD_ACKNOWLEDGER (Script_row_engraver, side_position);
 ADD_TRANSLATOR (Script_row_engraver,
-               /* doc */ "Determine order in horizontal side position elements. ",
-               /* create */ "ScriptRow ",
-               /* read */ "",
-               /* write */ "");
+               /* doc */
+               "Determine order in horizontal side position elements.",
+
+               /* create */
+               "ScriptRow ",
+
+               /* read */
+               "",
+
+               /* write */
+               ""
+               );
index b990ff01c0271b4f4688837daf95cd39f12cd4d4..66e71f0497083a98348dfe50e96ee7fefeec95f3 100644 (file)
@@ -138,20 +138,21 @@ Self_alignment_interface::set_align_self (Grob *me, Axis a)
 }
 
 ADD_INTERFACE (Self_alignment_interface,
-              "Position this object on itself and/or on its parent. To this end, the following functions "
-              " are provided: \n"
-              "@table @code \n"
+              "Position this object on itself and/or on its parent.  To this"
+              " end, the following functions are provided:\n"
+              "\n"
+              "@table @code\n"
               "@item Self_alignment_interface::[xy]_aligned_on_self\n"
-              "  Align self on reference point, using @code{self-alignment-X} and "
-              "@code{self-alignment-Y}."
+              "Align self on reference point, using"
+              " @code{self-alignment-X} and @code{self-alignment-Y}."
               "@item Self_alignment_interface::aligned_on_[xy]_parent\n"
               "@item Self_alignment_interface::centered_on_[xy]_parent\n"
-              "  Shift the object so its own reference point is centered on the  "
-              " extent of the parent \n"
+              "Shift the object so its own reference point is centered on"
+              " the extent of the parent\n"
               "@end table\n",
 
-
               /* properties */
               "self-alignment-X "
-              "self-alignment-Y ");
+              "self-alignment-Y "
+              );
 
index 4b1bf76a39c90ae6aa130a6287baed6765db8a8e..f7a7be4968bf7a98b10f3f971bbe8b54e93a4003 100644 (file)
@@ -21,7 +21,7 @@
 
 
 ADD_INTERFACE (Semi_tie_column,
-             "The interface for a column of l.v. ties.",
+             "The interface for a column of l.v. (laissez vibrer) ties.",
 
              /* properties */
              "positioning-done "
index a12156e6037ad0ef76b83ebadc4c1a49b4d664f0..4f3c6b39d81c9bd38af5c5c71a93e10a955d4472 100644 (file)
@@ -16,8 +16,7 @@
 #include "staff-symbol-referencer.hh"
 
 ADD_INTERFACE (Semi_tie,
-             
-             "A tie which is only on one side connected to note heads. ",
+             "A tie which is only on one side connected to a note head.",
 
              /* properties */
              "control-points "
index aafb49399e57c68e9ee2ad843536293296aedcba..954c5834d4ed22413a17205ac8653807777abacb 100644 (file)
@@ -146,9 +146,15 @@ ADD_ACKNOWLEDGER (Separating_line_group_engraver, item);
 ADD_ACKNOWLEDGER (Separating_line_group_engraver, break_aligned);
 
 ADD_TRANSLATOR (Separating_line_group_engraver,
-               /* doc */ "Generates objects for computing spacing parameters.",
+               /* doc */
+               "Generate objects for computing spacing parameters.",
 
-               /* create */ "StaffSpacing",
-               /* read */ "createSpacing",
-               /* write */ "hasStaffSpacing"
+               /* create */
+               "StaffSpacing ",
+
+               /* read */
+               "createSpacing ",
+
+               /* write */
+               "hasStaffSpacing "
                );
index f8d1cb739ffc59c20a5da2c7f85cb4136bf2b6cd..5c9eb9ef10439826317203c17eee4547fc60988e 100644 (file)
@@ -156,9 +156,9 @@ Separation_item::print (SCM smob)
 }
 
 ADD_INTERFACE (Separation_item,
-              "Item that computes widths to generate spacing rods. "
-              ,
+              "Item that computes widths to generate spacing rods.",
 
+              /* properties */
               "X-extent "
               "conditional-elements "
               "elements "
index a289aea5b3d136e20211a12cfd3a8a4978e58932..c1b848bfce7370007b95f9d033c0bf0b6bb0ae6b 100644 (file)
@@ -303,11 +303,14 @@ Side_position_interface::get_axis (Grob *me)
 }
 
 ADD_INTERFACE (Side_position_interface,
-              "Position a victim object (this one) next to other objects (the "
-              "support).   The property @code{direction} signifies where to put the  "
-              "victim object relative to the support (left or right, up or down?)\n\n "
-              "The routine also takes the size the staff into account if "
-              "@code{staff-padding} is set. If undefined, the staff symbol is ignored.",
+              "Position a victim object (this one) next to other objects"
+              " (the support).  The property @code{direction} signifies where"
+              " to put the victim object relative to the support (left or"
+              " right, up or down?)\n"
+              "\n"
+              "The routine also takes the size of the staff into account if"
+              " @code{staff-padding} is set.  If undefined, the staff symbol"
+              " is ignored.",
 
               /* properties */
               "direction "
index f772e876fb508016c733726449b74812b957c508..62f80c1619c19616854952f678ea398815cf501e 100644 (file)
@@ -68,7 +68,15 @@ Slash_repeat_engraver::process_music ()
 }
 
 ADD_TRANSLATOR (Slash_repeat_engraver,
-               /* doc */ "Make beat repeats.",
-               /* create */ "RepeatSlash",
-               /* read */ "measureLength",
-               /* write */ "");
+               /* doc */
+               "Make beat repeats.",
+
+               /* create */
+               "RepeatSlash ",
+
+               /* read */
+               "measureLength ",
+
+               /* write */
+               ""
+               );
index 57068e6225945da903f2a264840bc7124ded6f2a..fae0aa3db4ded54decb4656b70ed47b9dadebd77 100644 (file)
@@ -224,10 +224,16 @@ ADD_ACKNOWLEDGER (Slur_engraver, text_script);
 ADD_ACKNOWLEDGER (Slur_engraver, tie);
 ADD_ACKNOWLEDGER (Slur_engraver, tuplet_number);
 ADD_TRANSLATOR (Slur_engraver,
-               /* doc */ "Build slur grobs from slur events",
-               /* create */ "Slur",
+               /* doc */
+               "Build slur grobs from slur events.",
+
+               /* create */
+               "Slur ",
+
                /* read */
                "slurMelismaBusy "
                "doubleSlurs ",
 
-               /* write */ "");
+               /* write */
+               ""
+               );
index 20d5d5a4fc8b6ff3194493637960a67da84904e9..01fdb326153e0caf27c35da33e4dddb68fe304c4 100644 (file)
@@ -85,5 +85,15 @@ Slur_performer::listen_slur (Stream_event *ev)
 }
 
 ADD_TRANSLATOR (Slur_performer,
-               "", "",
-               "", "");
+               /* doc */
+               "",
+
+               /* create */
+               "",
+
+               /* read */
+               "",
+
+               /* write */
+               ""
+               );
index 2e573ebf7c44749e201b72a29a03d4ac92e94bcd..3d47e876fc07ce0c18d21803f0ce2840f3f52ae5 100644 (file)
@@ -387,8 +387,7 @@ Slur::calc_cross_staff (SCM smob)
 }
 
 ADD_INTERFACE (Slur,
-              
-              "A slur",
+              "A slur.",
               
               /* properties */
               "annotation "
index 87d30397e3ae48e4bf40976584eae0c0d1f16862..725c4759c65c10464b42d36754aa4eef0a6d5163 100644 (file)
@@ -89,8 +89,7 @@ Spaceable_grob::get_spring (Grob *this_col, Grob *next_col)
 
 
 ADD_INTERFACE (Spaceable_grob,
-              "A layout object that takes part in the spacing problem. ",
-              
+              "A layout object that takes part in the spacing problem.",
 
               /* properties */
               "allow-loose-spacing "
@@ -101,6 +100,5 @@ ADD_INTERFACE (Spaceable_grob,
               "minimum-distances "
               "right-neighbors "
               "spacing-wishes "
-
               );
 
index fae9a120c7b404d4511e27cb581d936b4d136724..4a4977829a6f8507ccf76821fba732b85cfddcd1 100644 (file)
@@ -262,13 +262,18 @@ ADD_ACKNOWLEDGER (Spacing_engraver, rhythmic_head);
 ADD_ACKNOWLEDGER (Spacing_engraver, rhythmic_grob);
 
 ADD_TRANSLATOR (Spacing_engraver,
-               "make a SpacingSpanner and do "
-               "bookkeeping of shortest starting and playing notes  ",
+               /* doc */
+               "Make a @code{SpacingSpanner} and do bookkeeping of shortest"
+               " starting and playing notes.",
+
+               /* create */
+               "SpacingSpanner ",
 
-               /* create */ "SpacingSpanner",
                /* read */
                "currentMusicalColumn "
                "currentCommandColumn "
-               "proportionalNotationDuration",
+               "proportionalNotationDuration ",
                
-               /* write */ "");
+               /* write */
+               ""
+               );
index 65ac96834fe505e668cd7bfea1a7c5823fbb89dc..2033cfcac43898dfc6b68e3dbb87d6aca6847501 100644 (file)
@@ -247,8 +247,10 @@ Spacing_interface::extremal_break_aligned_grob (Grob *me,
 
 
 ADD_INTERFACE (Spacing_interface,
-              "This object calculates the desired and minimum distances between two columns.",
+              "This object calculates the desired and minimum distances"
+              " between two columns.",
 
+              /* properties */
               "left-items "
               "right-items "
               );
index 8ebf100a530ad8d2085142647e9e414883fb8953..e580e33267cda1879fa665b22c7d2aaa0c4820dd 100644 (file)
@@ -517,18 +517,20 @@ Spacing_spanner::breakable_column_spacing (Grob *me, Item *l, Item *r,
 }
 
 ADD_INTERFACE (Spacing_spanner,
-              "The space taken by a note is dependent on its duration. Doubling a\n"
-              "duration adds spacing-increment to the space. The most common shortest\n"
-              "note gets @code{shortest-duration-space}. Notes that are even shorter are\n"
-              "spaced proportonial to their duration.\n"
+              "The space taken by a note is dependent on its duration."
+              "  Doubling a duration adds @code{spacing-increment} to the"
+              " space.  The most common shortest note gets"
+              " @code{shortest-duration-space}.  Notes that are even shorter"
+              " are spaced proportonial to their duration.\n"
               "\n"
-              "Typically, the increment is the width of a black note head.  In a\n"
-              "piece with lots of 8th notes, and some 16th notes, the eighth note\n"
-              "gets 2 note heads width (i.e. the space following a note is 1 note\n"
-              "head width) A 16th note is followed by 0.5 note head width. The\n"
-              "quarter note is followed by  3 NHW, the half by 4 NHW, etc.\n",
-
-              
+              "Typically, the increment is the width of a black note head."
+              "  In a piece with lots of 8th notes, and some 16th notes, the"
+              " eighth note gets a 2@tie{}note heads width (i.e., the space"
+              " following a note is a 1@tie{}note head width).  A 16th note"
+              " is followed by 0.5 note head width.  The quarter note is"
+              " followed by 3@tie{}NHW, the half by 4@tie{}NHW, etc.",
+
+              /* properties */
               "average-spacing-wishes "
               "base-shortest-duration "
               "common-shortest-duration "
@@ -538,6 +540,5 @@ ADD_INTERFACE (Spacing_spanner,
               "strict-grace-spacing "
               "strict-note-spacing "
               "uniform-stretching "
-              
               );
 
index fa2e91eec363d3c3b437ad2c20da41378bd22ed2..3188e83e286871814b806c006a577acde06bc1d6 100644 (file)
@@ -103,7 +103,15 @@ Span_arpeggio_engraver::stop_translation_timestep ()
 
 ADD_ACKNOWLEDGER (Span_arpeggio_engraver, arpeggio);
 ADD_TRANSLATOR (Span_arpeggio_engraver,
-               /* doc */ "",
-               /* create */ "Arpeggio",
-               /* read */ "connectArpeggios",
-               /* write */ "");
+               /* doc */
+               "Make arpeggios that span multiple staves.",
+
+               /* create */
+               "Arpeggio ",
+
+               /* read */
+               "connectArpeggios ",
+
+               /* write */
+               ""
+               );
index a1618a27567b863b6f65d4bfc73a02bc41ea25f0..1062817a02e54b43d3fd16679932a7aa783e3eae 100644 (file)
@@ -76,8 +76,16 @@ Span_bar_engraver::stop_translation_timestep ()
 
 ADD_ACKNOWLEDGER (Span_bar_engraver, bar_line);
 ADD_TRANSLATOR (Span_bar_engraver,
-               /* doc */ "This engraver makes cross-staff barlines: It catches all normal "
-               "bar lines, and draws a single span-bar across them.",
-               /* create */ "SpanBar",
-               /* read */ "",
-               /* write */ "");
+               /* doc */
+               "Make cross-staff bar lines: It catches all normal bar lines"
+               " and draws a single span bar across them.",
+
+               /* create */
+               "SpanBar ",
+
+               /* read */
+               "",
+
+               /* write */
+               ""
+               );
index 67d464297dbd0b189a1e1a5da265e8681c54f1ce..76e1b60280970bb5eeadbdb9d77ed85f0d6283df 100644 (file)
@@ -212,10 +212,12 @@ Span_bar::calc_bar_size (SCM smob)
 }
 
 ADD_INTERFACE (Span_bar,
-              "A bar line that spanned between other barlines. This interface is "
-              " used for  bar lines that connect different staves.",
+              "A bar line that is spanned between other barlines.  This"
+              " interface is used for bar lines that connect different"
+              " staves.",
 
               /* properties */
               "glyph-name "
-              "elements");
+              "elements "
+              );
 
index 41d061c058ce646c9c362584ab7de9795116c16d..cd81a8d147312247515c3738072a46b773763d4b 100644 (file)
@@ -62,7 +62,15 @@ Spanner_break_forbid_engraver::Spanner_break_forbid_engraver ()
 ADD_END_ACKNOWLEDGER (Spanner_break_forbid_engraver, unbreakable_spanner);
 ADD_ACKNOWLEDGER (Spanner_break_forbid_engraver, unbreakable_spanner);
 ADD_TRANSLATOR (Spanner_break_forbid_engraver,
-               /* doc */ "Forbid breaks in certain spanners",
-               /* create */ "",
-               /* read */ "",
-               /* write */ "");
+               /* doc */
+               "Forbid breaks in certain spanners.",
+
+               /* create */
+               "",
+
+               /* read */
+               "",
+
+               /* write */
+               ""
+               );
index b5b8a933a21a693d0fe6365051f9e36d9424a45b..0ae372ded3d4d485541efaeb14c4a351eaa25b1c 100644 (file)
@@ -191,7 +191,7 @@ Spanner::set_bound (Direction d, Grob *s)
   Item *i = dynamic_cast<Item *> (s);
   if (!i)
     {
-      programming_error ("must have Item for spanner bound");
+      programming_error ("must have Item for spanner bound of " + name());
       return;
     }
 
@@ -424,12 +424,14 @@ Spanner::bounds_width (SCM grob)
 }
 
 ADD_INTERFACE (Spanner,
-              "Some objects are horizontally spanned between objects. For\n"
-              "example, slur, beam, tie, etc. These grobs form a subtype called\n"
-              "@code{Spanner}. All spanners have two span-points (these must be\n"
-              "@code{Item} objects), one on the left and one on the right. The left bound is\n"
-              "also the X-reference point of the spanner.\n",
-
+              "Some objects are horizontally spanned between objects.  For"
+              " example, slurs, beams, ties, etc.  These grobs form a subtype"
+              " called @code{Spanner}.  All spanners have two span points"
+              " (these must be @code{Item} objects), one on the left and one"
+              " on the right.  The left bound is also the X@tie{}reference"
+              " point of the spanner.",
+
+              /* properties */
               "minimum-length "
               "to-barline "
               );
index 72b1bf51cd5a5d7cb95502e470e1e65da331faa6..6e4c5ad8098892e9f1a5bc936d67e52ce5e10d0b 100644 (file)
@@ -47,8 +47,15 @@ ADD_ACKNOWLEDGER (Staff_collecting_engraver, staff_symbol);
 ADD_END_ACKNOWLEDGER (Staff_collecting_engraver, staff_symbol);
 
 ADD_TRANSLATOR (Staff_collecting_engraver,
-               /* doc */ "Maintain the stavesFound variable",
+               /* doc */
+               "Maintain the @code{stavesFound} variable.",
 
-               /* create */ "",
-               /* read */ "stavesFound",
-               /* write */ "stavesFound");
+               /* create */
+               "",
+
+               /* read */
+               "stavesFound ",
+
+               /* write */
+               "stavesFound "
+               );
index d0ad8e1e05f1fca07b50ac20bf5f83da33d2f8ce..0b138701c391d30fb5ac89e63885bcfc4f9e6128 100644 (file)
@@ -42,8 +42,18 @@ private:
 
 #include "translator.icc"
 
-ADD_TRANSLATOR (Staff_performer, "", "",
-               "", "");
+ADD_TRANSLATOR (Staff_performer,
+               /* doc */
+               "",
+
+               /* create */
+               "",
+
+               /* read */
+               "",
+
+               /* write */
+               "");
 
 Staff_performer::Staff_performer ()
 {
index 06bceb858051865e840b4251f53ebb2bcba1a8dd..801fb96948e66fdc78c66750519d3f986928781f 100644 (file)
@@ -201,9 +201,9 @@ Staff_spacing::get_spacing (Grob *me, Grob *right_col)
 }
 
 ADD_INTERFACE (Staff_spacing,
-              "This object calculates spacing details from a "
-              " breakable symbol (left) to another object. For example, it takes care "
-              " of  optical spacing from  a bar lines to a note.",
+              "This object calculates spacing details from a breakable"
+              " symbol (left) to another object.  For example, it takes care"
+              " of optical spacing from a bar line to a note.",
 
               /* properties */
               "stem-spacing-correction "
index 0b0d212a90502006e121fca8c19d0b66d60002c5..5d5acd9a4285addc9213e70fe4b9d63c98d1394c 100644 (file)
@@ -148,8 +148,15 @@ Staff_symbol_engraver::acknowledge_grob (Grob_info s)
 ADD_ACKNOWLEDGER (Staff_symbol_engraver, grob);
 
 ADD_TRANSLATOR (Staff_symbol_engraver,
-               /* doc */ "Create the constellation of five (default) "
-               "staff lines.",
-               /* create */ "StaffSymbol",
-               /* read */ "",
-               /* write */ "");
+               /* doc */
+               "Create the constellation of five (default) staff lines.",
+
+               /* create */
+               "StaffSymbol ",
+
+               /* read */
+               "",
+
+               /* write */
+               ""
+               );
index 53637c86e5f1bd8fadc39ece6ee3dec4fdbc0f87..e8ef99f9dd3e180d4e386e2c490fd62f72f465bc 100644 (file)
@@ -183,12 +183,11 @@ position_less (Grob *const &a, Grob *const &b)
 }
 
 ADD_INTERFACE (Staff_symbol_referencer,
-              "An object whose Y position is meant relative to a staff "
-              "symbol. "
-              "These usually have @code{Staff_symbol_referencer::callback} "
-              "in their @code{Y-offset-callbacks}. ",
+              "An object whose Y@tie{}position is meant relative to a staff"
+              " symbol.  These usually"
+              " have @code{Staff_symbol_referencer::callback} in their"
+              " @code{Y-offset-callbacks}.",
 
               /* properties */
-              "staff-position");
-
-
+              "staff-position "
+              );
index a6ab40d9093fcc1f58d4120be8a2f92da0a12783..d4aa9e116c8bb35abc95a6aaabe33f0baa0852af 100644 (file)
@@ -171,13 +171,12 @@ Staff_symbol::height  (SCM smob)
 
 
 ADD_INTERFACE (Staff_symbol,
-              "This spanner draws the lines of a staff. "
-              "A staff symbol definines a vertical unit, the staff space. "
-              "Quantities that go by a half staff space are called positions "
-              "The center (i.e. middle line "
-              "or space) is position 0. The length of the symbol may be set by hand "
-              "through the @code{width} property. ",
-
+              "This spanner draws the lines of a staff.  A staff symbol"
+              " defines a vertical unit, the @emph{staff space}.  Quantities"
+              " that go by a half staff space are called @emph{positions}."
+              "  The center (i.e., middle line or space) is position@tie{}0."
+              " The length of the symbol may be set by hand through the"
+              " @code{width} property.",
 
               /* properties */
               "ledger-line-thickness "
index 2e862dc269854da93dcdefc37cb12617b3efc820..bc1fc7b0968d1c4bbde7bee564171bd0f683e697 100644 (file)
@@ -62,8 +62,16 @@ ADD_ACKNOWLEDGER (Stanza_number_align_engraver, lyric_syllable);
 ADD_ACKNOWLEDGER (Stanza_number_align_engraver, stanza_number);
 
 ADD_TRANSLATOR (Stanza_number_align_engraver,
-               "This engraver ensures that stanza numbers are neatly aligned. ",
+               /* doc */
+               "This engraver ensures that stanza numbers are neatly"
+               " aligned.",
+
+               /* create */
                "",
+
+               /* read */
                "",
+
+               /* write */
                "");
 
index 41759ff12a90ac358a76effbbd6f2065326e3ff3..78476d9cc6da8aaeeba3162798e6b4fc59ddd488 100644 (file)
@@ -74,7 +74,15 @@ Stanza_number_engraver::stop_translation_timestep ()
 
 ADD_ACKNOWLEDGER (Stanza_number_engraver, lyric_syllable);
 ADD_TRANSLATOR (Stanza_number_engraver,
-               /* doc */ "",
-               /* create */ "StanzaNumber",
-               /* read */ "stanza",
-               /* write */ "");
+               /* doc */
+               "Engrave stanza numbers.",
+
+               /* create */
+               "StanzaNumber ",
+
+               /* read */
+               "stanza ",
+
+               /* write */
+               ""
+               );
index 164bedff3638676fc1a4d0e8eef8c3de1ca2ab7d..d07716e8130c420df034d7dbaa57bb053907ed7e 100644 (file)
@@ -168,9 +168,9 @@ Stem_engraver::listen_tremolo (Stream_event *ev)
 ADD_ACKNOWLEDGER (Stem_engraver, rhythmic_head);
 
 ADD_TRANSLATOR (Stem_engraver,
-
-               /* doc */ "Create stems and single-stem tremolos.  It also works together with "
-               "the beam engraver for overriding beaming.",
+               /* doc */
+               "Create stems and single-stem tremolos.  It also works"
+               " together with the beam engraver for overriding beaming.",
 
                /* create */
                "Stem "
@@ -181,4 +181,6 @@ ADD_TRANSLATOR (Stem_engraver,
                "stemLeftBeamCount "
                "stemRightBeamCount ",
 
-               /* write */ "");
+               /* write */
+               ""
+               );
index 8960fe64ade989570bbe4d8a3c13bffaceb8ef79..c093e9f40e3c7e75f44e796bf9789a866709f4ac 100644 (file)
@@ -247,9 +247,8 @@ Stem_tremolo::print (SCM grob)
 }
 
 ADD_INTERFACE (Stem_tremolo,
-              "A beam slashing a stem to indicate a tremolo. "
-               "The property @code{style} can be @code{default} or "
-               "@code{rectangle}.",
+              "A beam slashing a stem to indicate a tremolo.  The property"
+              " @code{style} can be @code{default} or @code{rectangle}.",
 
                /* properties */
               "beam-thickness "
index 31311f101da06e1deecccf317c1b9162334c9d59..a882e73a1ffc1a8076c1c74596cfea57e41ac99c 100644 (file)
@@ -996,27 +996,30 @@ Stem::calc_cross_staff (SCM smob)
 
 /* FIXME:  Too many properties  */
 ADD_INTERFACE (Stem,
-              "The stem represent the graphical stem.  "
-              "In addition, it internally connects note heads, beams and"
-              "tremolos. "
-              "Rests and whole notes have invisible stems."
-
-              "\n\nThe following properties may be set in the details list." 
+              "The stem represents the graphical stem.  In addition, it"
+              " internally connects note heads, beams, and tremolos.  Rests"
+              " and whole notes have invisible stems.\n"
+              "\n"
+              "The following properties may be set in the @code{details}"
+              " list.\n"
+              "\n"
               "@table @code\n"
-              "@item  beamed-lengths \n"
-              "list of stem lengths given beam multiplicity. \n"
-              "@item beamed-minimum-free-lengths \n"
-              "list of normal minimum free stem lengths (chord to beams) given beam multiplicity.\n"
+              "@item beamed-lengths\n"
+              "List of stem lengths given beam multiplicity.\n"
+              "@item beamed-minimum-free-lengths\n"
+              "List of normal minimum free stem lengths (chord to beams)"
+              " given beam multiplicity.\n"
               "@item beamed-extreme-minimum-free-lengths\n"
-              "list of extreme minimum free stem lengths (chord to beams) given beam multiplicity.\n"
+              "List of extreme minimum free stem lengths (chord to beams)"
+              " given beam multiplicity.\n"
               "@item lengths\n"
-              "Default stem lengths. The list gives a length for each flag-count.\n"
+              "Default stem lengths.  The list gives a length for each"
+              " flag count.\n"
               "@item stem-shorten\n"
-              "How much a stem in a forced direction "
-              "should be shortened. The list gives an amount depending on the number "
-              "of flags/beams."
-              "@end table\n"
-              ,
+              "How much a stem in a forced direction should be shortened."
+              "  The list gives an amount depending on the number of flags"
+              " and beams.\n"
+              "@end table\n",
 
               /* properties */
               "avoid-note-head "
index 9164fe74bfb22de6657cd86581200ab9c5ddfcf9..234dbdb02b3780b48ee2de4fea8cc97aa05b05be 100644 (file)
@@ -35,11 +35,18 @@ String_number_engraver::String_number_engraver ()
 #include "translator.icc"
 
 ADD_TRANSLATOR (String_number_engraver,
-               /* doc */ "Swallow string-number-events - the purpose of this engraver is to"
-               " process tab for normal notation. To provent warnings for unprocessed "
-               " string-number-event to obscure real error messages, this engraver "
-               " swallows them all.",
-
-               /* create */ "",
-               /* read */ "",
-               /* write */ "");
+               /* doc */
+               "Swallow string number events.  The purpose of this engraver"
+               " is to process tablatures for normal notation.  To provent"
+               " warnings for unprocessed string number events to obscure"
+               " real error messages, this engraver swallows them all.",
+
+               /* create */
+               "",
+
+               /* read */
+               "",
+
+               /* write */
+               ""
+               );
index 7d0c851ab0627d80090556a7c024725b3582238c..37a2148dbf140b55944820e2a31714ce02b4b679 100644 (file)
@@ -29,8 +29,17 @@ Swallow_engraver::Swallow_engraver ()
 #include "translator.icc"
 
 ADD_TRANSLATOR (Swallow_engraver,
-               /* doc */ "This engraver swallows everything given to it silently. The purpose of "
-               "this is to prevent spurious \"event junked\" warnings.",
-               /* create */ "",
-               /* read */ "",
-               /* write */ "");
+               /* doc */
+               "This engraver swallows everything given to it silently."
+               "  The purpose of this is to prevent spurious @q{event junked}"
+               " warnings.",
+
+               /* create */
+               "",
+
+               /* read */
+               "",
+
+               /* write */
+               ""
+               );
index 2bd42dfa5cb44ea8cb69098b2895d7e98cc36dd8..907b41de171e75e701fa1f1289f7c62441278af4 100644 (file)
@@ -32,7 +32,15 @@ Swallow_performer::Swallow_performer ()
 #include "translator.icc"
 
 ADD_TRANSLATOR (Swallow_performer,
-               /* doc */ "",
-               /* create */ "",
-               /* read */ "",
-               /* write */ "");
+               /* doc */
+               "",
+
+               /* create */
+               "",
+
+               /* read */
+               "",
+
+               /* write */
+               ""
+               );
index ee4bf6ef114a5265cbb595e91361c6c09647988b..238a3a6d9c99986620d331be967f00f91c76f3ef 100644 (file)
@@ -250,14 +250,23 @@ ADD_ACKNOWLEDGER (System_start_delimiter_engraver, system_start_delimiter);
 ADD_ACKNOWLEDGER (System_start_delimiter_engraver, system_start_text);
 
 ADD_TRANSLATOR (System_start_delimiter_engraver,
-               /* doc */ "Creates a system start delimiter (ie. SystemStart@{Bar, Brace, Bracket@} spanner",
-               /* create */ "SystemStartSquare "
+               /* doc */
+               "Create a system start delimiter (i.e., a"
+               " @code{SystemStartBar}, @code{SystemStartBrace},"
+               " @code{SystemStartBracket} or @code{SystemStartSquare}"
+               " spanner).",
+
+               /* create */
+               "SystemStartSquare "
                "SystemStartBrace "
                "SystemStartBracket "
-               "SystemStartBar",
+               "SystemStartBar ",
+
                /* read */
                "systemStartDelimiter "
                "systemStartDelimiterHierarchy "
-               "currentCommandColumn",
+               "currentCommandColumn ",
 
-               /* write */ "");
+               /* write */
+               ""
+               );
index 1fe945693066d322f697381866644d92624587b8..233808da5e82d95b06bdb4305395e1bd94cf015b 100644 (file)
@@ -7,7 +7,7 @@
 */
 
 #include "system-start-delimiter.hh"
-#include "text-interface.hh" 
+#include "text-interface.hh"
 #include "all-font-metrics.hh"
 #include "axis-group-interface.hh"
 #include "font-interface.hh"
@@ -173,32 +173,30 @@ System_start_delimiter::staff_brace (Grob *me, Real y)
 }
 
 ADD_INTERFACE (System_start_delimiter,
-              "The brace, bracket or bar in front of the system. The following "
-               "values for @code{style} are recognized:\n"
-               "\n"
-               "  @table @samp\n"
-               "    @item @code{bracket}\n"
-               "      A thick bracket, normally used to group similar\n"
-               "      instruments in a score.  Default for StaffGroup.\n"
-               "      SystemStartBracket use this style.\n"
-               "\n"
-               "    @item @code{brace}\n"
-               "      A \"piano style\" brace normally used for an instrument\n"
-               "      that use two staffs.  The default style for GrandStaff.\n"
-               "      SystemStartBrace use this style.\n"
-               "\n"
-               "    @item @code{bar-line}\n"
-               "      A simple line between the staffs in a score.  Default\n"
-               "      for staffs enclosed in << >>.\n"
-               "      SystemStartBar use this style.\n"
-               "\n"
-               "    @item @code{line-bracket}\n"
-               "      A simple square, normally used for subgrouping\n"
-               "      instruments in a score.\n"
-               "      SystemStartSquare use this style.\n"
-               "  @end table\n"
-               "\n"
-               "See also @file{input/regression/system-start-nesting.ly}. ",
+              "The brace, bracket or bar in front of the system.  The"
+              " following values for @code{style} are recognized:\n"
+              "\n"
+              "@table @code\n"
+              "@item bracket\n"
+              "A thick bracket, normally used to group similar"
+              " instruments in a score.  Default for @code{StaffGroup}."
+              "  @code{SystemStartBracket} uses this style.\n"
+              "@item brace\n"
+              "A @q{piano style} brace normally used for an instrument"
+              " that uses two staves.  The default style for"
+              " @code{GrandStaff}.  @code{SystemStartBrace} uses this"
+              " style.\n"
+              "@item bar-line\n"
+              "A simple line between the staves in a score.  Default"
+              " for staves enclosed in @code{<<} and @code{>>}."
+              "  @code{SystemStartBar} uses this style.\n"
+              "@item line-bracket\n"
+              "A simple square, normally used for subgrouping"
+              " instruments in a score.  @code{SystemStartSquare} uses"
+              " this style.\n"
+              "@end table\n"
+              "\n"
+              "See also @file{input/regression/system-start-nesting.ly}.",
 
               /* properties */
               "collapse-height "
index e8af537be179b4c3c607de37972aaa004800344c..a2ad71ece35dc8cb8df9e1c4e1b691972b4faa5a 100644 (file)
@@ -512,8 +512,9 @@ get_root_system (Grob *me)
 }
 
 ADD_INTERFACE (System,
-              "This is the toplevel object: each object in a score "
-              "ultimately has a System object as its X and Y parent. ",
+              "This is the top-level object: Each object in a score"
+              " ultimately has a @code{System} object as its X and"
+              " Y@tie{}parent.",
 
               /* properties */
               "all-elements "
index 1faa1141444fe76e00e128ee6bd93579151890fc..86dee35ea4f7179d71c31d1d0c90a05ce13b6ff5 100644 (file)
@@ -64,10 +64,16 @@ Tab_harmonic_engraver::acknowledge_note_head (Grob_info info)
 
 ADD_ACKNOWLEDGER (Tab_harmonic_engraver, note_head);
 ADD_TRANSLATOR (Tab_harmonic_engraver,
-               /* doc */ "Parenthesize objects whose music cause has the @code{parenthesize} "
-               "property.",
+               /* doc */
+               "In a tablature, parenthesize objects whose music cause has"
+               " the @code{parenthesize} property.",
                
                /* create */
                "HarmonicParenthesesItem ",
-               /* read */ "",
-               /* write */ "");
+
+               /* read */
+               "",
+
+               /* write */
+               ""
+               );
index 045e3f3b6dfabb45c5c42ac349777f5311fdfe19..dd4ab16008771bdc2399e33b664d37bc98cf6718 100644 (file)
@@ -148,10 +148,12 @@ Tab_note_heads_engraver::stop_translation_timestep ()
 }
 
 ADD_TRANSLATOR (Tab_note_heads_engraver,
-               /* doc */ "Generate one or more tablature noteheads from event of type NoteEvent.",
+               /* doc */
+               "Generate one or more tablature noteheads from event of type"
+               " @code{NoteEvent}.",
+
                /* create */
-               "TabNoteHead "
-               ,
+               "TabNoteHead ",
 
                /* read */
                "middleCPosition "
@@ -161,5 +163,6 @@ ADD_TRANSLATOR (Tab_note_heads_engraver,
                "highStringOne "
                "stringOneTopmost ",
 
-               /* write */ "");
+               /* write */ ""
+               );
 
index f103e0f6b40cae754c74f9fc4c4c0acc9344a9aa..27756d2bc56e070f3d00790d42a7a42f0d6d8c12 100644 (file)
@@ -34,9 +34,15 @@ Tab_staff_symbol_engraver::Tab_staff_symbol_engraver ()
 ADD_ACKNOWLEDGER (Tab_staff_symbol_engraver, staff_symbol);
 ADD_TRANSLATOR (Tab_staff_symbol_engraver,
                /* doc */
-               "Create a staff-symbol, but look at "
-               "stringTunings for the number of lines. "
-               ,
-               /* create */ "StaffSymbol",
-               /* read */ "stringTunings",
-               /* write */ "");
+               "Create a tablature staff symbol, but look at"
+               " @code{stringTunings} for the number of lines.",
+
+               /* create */
+               "StaffSymbol ",
+
+               /* read */
+               "stringTunings ",
+
+               /* write */
+               ""
+               );
index ac537891ef2c1a8b6bfecf2b2d37a87e7f267922..d7975c5719accb301ad3d98f4fd4606520d68df9 100644 (file)
@@ -74,6 +74,16 @@ Tempo_performer::stop_translation_timestep ()
     }
 }
 
-ADD_TRANSLATOR (Tempo_performer, "", "",
+ADD_TRANSLATOR (Tempo_performer,
+               /* doc */
+               "",
+
+               /* create */
+               "",
+
+               /* read */
                "tempoWholesPerMinute ",
-               "");
+
+               /* write */
+               ""
+               );
index 14f519ec85434ad69c8a8234ba7645846ea37cb1..90376d2a62044a589f2be4ecdecb70faa2341dde 100644 (file)
@@ -83,7 +83,15 @@ Text_engraver::Text_engraver ()
 }
 
 ADD_TRANSLATOR (Text_engraver,
-               /* doc */ "Create text-scripts",
-               /* create */ "TextScript",
-               /* read */ "",
-               /* write */ "");
+               /* doc */
+               "Create text scripts.",
+
+               /* create */
+               "TextScript ",
+
+               /* read */
+               "",
+
+               /* write */
+               ""
+               );
index b1ee537baa1abafb3cd9aecb5b0570634dd054f1..757f1d277c5f7f42b580dadb5b2b82f6a5f886d8 100644 (file)
@@ -137,13 +137,15 @@ Text_interface::is_markup_list (SCM x)
 
 
 ADD_INTERFACE (Text_interface,
-              "A scheme markup text, see @ruser{Text markup} and "
-              "@ruser{New markup command definition}. "
-              "\n\n"
-              "There are two important commands: ly:text-interface::print, which is a "
-              "grob callback, and ly:text-interface::interpret-markup ",
-
-              /* props */
+              "A Scheme markup text, see @ruser{Text markup} and"
+              " @ruser{New markup command definition}.\n"
+              "\n"
+              "There are two important commands:"
+              " @code{ly:text-interface::print}, which is a"
+              " grob callback, and"
+              " @code{ly:text-interface::interpret-markup}.",
+
+              /* properties */
               "baseline-skip "
               "text "
               "word-space "
index cb7b8500139052cec742aeebfc4116c7f18e85e5..fb6c90d81fd96f9e1bdffd37023a5c74abf86587 100644 (file)
@@ -145,10 +145,13 @@ ADD_ACKNOWLEDGER (Text_spanner_engraver, note_column);
 ADD_TRANSLATOR (Text_spanner_engraver,
                /* doc */
                "Create text spanner from an event.",
+
                /* create */
                "TextSpanner ",
+
                /* read */
                "",
+
                /* write */
                ""
                );
index eb2a00d84cf60fed08e0ae5e483ce2f2169a2644..6a79918f51120db5d1c41a8ff1f5d5f9110707dd 100644 (file)
@@ -111,7 +111,7 @@ Tie_column::calc_positioning_done (SCM smob)
 
 
 ADD_INTERFACE (Tie_column,
-              "Object that sets directions of multiple ties in a tied chord",
+              "Object that sets directions of multiple ties in a tied chord.",
 
               /* properties */
               "positioning-done "
index cf525dc7b967c57d50c562b94b19c87c677e4c4b..123d6aad4f63de6f273f47cd4d00c35136622a6e 100644 (file)
@@ -279,9 +279,16 @@ Tie_engraver::typeset_tie (Grob *her)
 
 ADD_ACKNOWLEDGER (Tie_engraver, note_head);
 ADD_TRANSLATOR (Tie_engraver,
-               /* doc */ "Generate ties between noteheads of equal pitch.",
+               /* doc */
+               "Generate ties between note heads of equal pitch.",
+
                /* create */
                "Tie "
                "TieColumn ",
-               /* read */ "tieWaitForNote",
-               /* write */ "tieMelismaBusy");
+
+               /* read */
+               "tieWaitForNote ",
+
+               /* write */
+               "tieMelismaBusy "
+               );
index c9e2e30fbbbce5e5ee6622ce68eafc4fcb9013c4..bb50c4fbc18c1cfb9cee8be9fbb49e9c54b3b443 100644 (file)
 
 #include "axis-group-interface.hh"
 #include "paper-column.hh"
-#include "bezier.hh" 
+#include "bezier.hh"
 #include "directional-element-interface.hh"
 #include "libc-extension.hh"
 #include "misc.hh"
 #include "note-head.hh"
 #include "rhythmic-head.hh"
-#include "spanner.hh" 
+#include "spanner.hh"
 #include "staff-symbol-referencer.hh"
 #include "stem.hh"
 #include "tie-configuration.hh"
index 2fe3df0733b045eb0e17df0abd0818832d9a145b..d6cd7628a0aa9b588a2b270841030ae9515d8c66 100644 (file)
@@ -110,7 +110,15 @@ Tie_performer::stop_translation_timestep ()
 }
 
 ADD_TRANSLATOR (Tie_performer,
-               /* doc */ "Generate ties between noteheads of equal pitch.",
-               /* create */ "",
-               /* read */ "tieMelismaBusy",
-               /* write */ "");
+               /* doc */
+               "Generate ties between note heads of equal pitch.",
+
+               /* create */
+               "",
+
+               /* read */
+               "tieMelismaBusy",
+
+               /* write */
+               ""
+               );
index 9925aa428be2ff6d2736401636ca486bdb972782..aa265f504236aee5c4465eeec693610a247f9add 100644 (file)
@@ -300,10 +300,8 @@ Tie::print (SCM smob)
 }
 
 ADD_INTERFACE (Tie,
-              "A horizontal curve connecting two noteheads. \n\n"
-              ,
+              "A horizontal curve connecting two noteheads.",
               
-
               /* properties */
               "annotation "
               "avoid-slur "    //  UGH.
@@ -314,11 +312,10 @@ ADD_INTERFACE (Tie,
               "direction "
               "separation-item "
               "head-direction "
-              "line-thickness " 
+              "line-thickness "
               "quant-score "
               "staff-position "
               "thickness "
-
               );
 
 
index 5e23c5e3fe434e8d0554b0cfb436ebd806de033f..26ba68e13dcf2235ed581a51e5ced487b68e4c53 100644 (file)
@@ -86,13 +86,17 @@ Time_signature_engraver::stop_translation_timestep ()
 #include "translator.icc"
 
 ADD_TRANSLATOR (Time_signature_engraver,
-               /* doc */ "Create a @ref{TimeSignature} whenever @code{timeSignatureFraction} changes",
+               /* doc */
+               "Create a @ref{TimeSignature} whenever"
+               " @code{timeSignatureFraction} changes.",
+
                /* create */
                "TimeSignature ",
                
                /* read */
                "implicitTimeSignatureVisibility "
-               "timeSignatureFraction "
+               "timeSignatureFraction ",
 
-               ,
-               /* write */ "");
+               /* write */
+               ""
+               );
index 3e57a2c02c6b35114a5e3fad606da53e5dc89a3d..2401c2f77117e4cb655eee1ee6408936aab48750 100644 (file)
@@ -70,4 +70,16 @@ Time_signature_performer::stop_translation_timestep ()
 
 #include "translator.icc"
 
-ADD_TRANSLATOR (Time_signature_performer, "", "", "", "");
+ADD_TRANSLATOR (Time_signature_performer,
+               /* doc */
+               "",
+
+               /* create */
+               "",
+
+               /* read */
+               "",
+
+               /* write */
+               ""
+               );
index c4afd8caa0d2d092e24d339019c4f593006e7acd..85b3b878b619c393044f960d94ad877e68b19a62 100644 (file)
@@ -121,28 +121,29 @@ Time_signature::numbered_time_signature (Grob *me, int num, int den)
 }
 
 ADD_INTERFACE (Time_signature,
-              "A time signature, in different styles.\n"
-              "  The following values for 'style are are recognized:\n"
+              "A time signature, in different styles.  The following values"
+              " for @code{style} are are recognized:\n"
               "\n"
-              "    @table @samp\n"
-              "      @item @code{C}\n"
-              "        4/4 and 2/2 are typeset as C and struck C, respectively.  All\n"
-              "        other time signatures are written with two digits.\n"
+              "@table @code\n"
+              "@item C\n"
+              "4/4 and 2/2 are typeset as C and struck C, respectively."
+              "  All other time signatures are written with two digits.\n"
+              "@item neomensural\n"
+              "2/2, 3/2, 2/4, 3/4, 4/4, 6/4, 9/4, 4/8, 6/8, and 9/8 are"
+              " typeset with neo-mensural style mensuration marks.  All"
+              " other time signatures are written with two digits.\n"
+              "@item mensural\n"
+              "2/2, 3/2, 2/4, 3/4, 4/4, 6/4, 9/4, 4/8, 6/8, and 9/8 are"
+              " typeset with mensural style mensuration marks.  All other"
+              " time signatures are written with two digits.\n"
+              "@item single-digit\n"
+              "All time signatures are typeset with a single digit, e.g.,"
+              " 3/2 is written as 3.\n"
+              "@end table\n"
               "\n"
-              "      @item @code{neomensural}\n"
-              "        2/2, 3/2, 2/4, 3/4, 4/4, 6/4, 9/4, 4/8, 6/8 and 9/8 are\n"
-              "        typeset with neo-mensural style mensuration marks.  All other time\n"
-              "        signatures are written with two digits.\n"
-              "\n"
-              "      @item @code{mensural}\n"
-              "        2/2, 3/2, 2/4, 3/4, 4/4, 6/4, 9/4, 4/8, 6/8 and 9/8 are\n"
-              "        typeset with mensural style mensuration marks.  All other time\n"
-              "        signatures are written with two digits.\n"
-              "\n"
-              "      @item @code{single-digit}\n"
-              "        All time signatures are typeset with a single\n"
-              "        digit, e.g. 3/2 is written as 3.\n"
-              "    @end table\n"
-              "\n"
-              "See also the test-file @file{input/test/time.ly}.\n",
-              "fraction style");
+              "See also the test-file @file{input/test/time.ly}.",
+
+              /* properties */
+              "fraction "
+              "style "
+              );
index ee609a4db0cfeba7cfb27bbb2c0485fd317f0d11..dd4c23919e40547a672b839e5a77e12b789192aa 100644 (file)
@@ -124,21 +124,23 @@ Timing_translator::start_translation_timestep ()
 #include "translator.icc"
 
 ADD_TRANSLATOR (Timing_translator,
-               "This engraver adds the alias "
-               "@code{Timing} to its containing context."
-               "Responsible for synchronizing timing information from staves.  "
-               "Normally in @code{Score}.  In order to create polyrhythmic music, "
-               "this engraver should be removed from @code{Score} and placed in "
-               "@code{Staff}. "
-               "\n\nThis engraver adds the alias @code{Timing} to its containing context.",
-
+               /* doc */
+               "This engraver adds the alias @code{Timing} to its containing"
+               " context.  Responsible for synchronizing timing information"
+               " from staves.  Normally in @code{Score}.  In order to create"
+               " polyrhythmic music, this engraver should be removed from"
+               " @code{Score} and placed in @code{Staff}.",
+
+               /* create */
                "",
 
+               /* read */
                "internalBarNumber "
                "currentBarNumber "
                "measureLength "
                "measurePosition ",
 
+               /* write */
                "internalBarNumber "
                "currentBarNumber "
                "measurePosition "
index d0ed1e52137f7990b7e93307b31a7956f5a3ed21..e4cb27d3b716c230a2af889ef55d25b83f7cd71b 100644 (file)
@@ -356,7 +356,15 @@ internal_event_assignment (Stream_event **old_ev, Stream_event *new_ev, const ch
 }
 
 ADD_TRANSLATOR (Translator,
-               "Base class. Not instantiated.",
+               /* doc */
+               "Base class.  Not instantiated.",
+
+               /* create */
                "",
+
+               /* read */
                "",
-               "");
+
+               /* write */
+               ""
+               );
index 1f9d4cf0dcf4a319b9ce1ec0441eb056fff66d4b..6f5f28beb7006c31601f4808886760fc71e7c352 100644 (file)
@@ -148,8 +148,15 @@ Trill_spanner_engraver::finalize ()
 ADD_ACKNOWLEDGER (Trill_spanner_engraver, note_column);
 
 ADD_TRANSLATOR (Trill_spanner_engraver,
-               /* doc */ "Create trill spanner from an event.",
+               /* doc */
+               "Create trill spanner from an event.",
+
                /* create */
                "TrillSpanner ",
-               /* read */ "",
-               /* write */ "");
+
+               /* read */
+               "",
+
+               /* write */
+               ""
+               );
index 09d336b4a28b53eaf55e7a8f9c66569899feb9f8..dde38da22d9fc984a029a6c6b48ca81a5a79207a 100644 (file)
@@ -767,13 +767,11 @@ Tuplet_bracket::calc_cross_staff (SCM smob)
 }
 
 ADD_INTERFACE (Tuplet_bracket,
-              "A bracket with a number in the middle, used for tuplets. "
-              "When the bracket spans  a line break, the value of "
-              "@code{break-overshoot} determines how far it extends "
-              "beyond the staff. "
-              "At a line break, the markups in the @code{edge-text} are printed "
-              "at the edges. ",
-
+              "A bracket with a number in the middle, used for tuplets."
+              "  When the bracket spans a line break, the value of"
+              " @code{break-overshoot} determines how far it extends"
+              " beyond the staff.  At a line break, the markups in the"
+              " @code{edge-text} are printed at the edges.",
 
               /* properties */
               "bracket-flare "
@@ -792,6 +790,7 @@ ADD_INTERFACE (Tuplet_bracket,
               "shorten-pair "
               "staff-padding "
               "thickness "
-              "tuplets ");
+              "tuplets "
+              );
 
 
index 7d97443e1d3db2ffac3ce03ae60ce2fb602c606f..5cd637e3f9eb2853376fe79130bc0c6f71ed3dd4 100644 (file)
@@ -133,12 +133,16 @@ Tuplet_engraver::process_music ()
            }
          else if (!bracket->get_bound (RIGHT))
            {
-             bracket->set_bound (RIGHT,
-                                 bracket->get_bound (LEFT));
-             number->set_bound (RIGHT,
-                                stopped_tuplets_[i].bracket_->get_bound (LEFT));
-           }
-         
+             if (bracket->get_bound (LEFT))
+               {
+                 bracket->set_bound (RIGHT,
+                                     bracket->get_bound (LEFT));
+                 number->set_bound (RIGHT,
+                                    stopped_tuplets_[i].bracket_->get_bound (LEFT));
+               }
+             else
+               programming_error ("stopped tuplet bracket has left nor right bound.");
+           }     
          // todo: scrap last_tuplets_, use stopped_tuplets_ only.
          // clear stopped_tuplets_ at start_translation_timestep
          last_tuplets_.push_back (bracket);
@@ -219,14 +223,17 @@ Tuplet_engraver::Tuplet_engraver ()
 
 ADD_ACKNOWLEDGER (Tuplet_engraver, note_column);
 ADD_TRANSLATOR (Tuplet_engraver,
-
                /* doc */
                "Catch tuplet events and generate appropriate bracket.",
                
                /* create */
                "TupletBracket "
                "TupletNumber ",
+
                /* read */
                "tupletFullLength "
                "tupletFullLengthNote ",
-               /* write */ "");
+
+               /* write */
+               ""
+               );
index 78697ca4b11cf1953eccfe2420b6a49c9cec4a5a..b344200a5c8e5d1753ef36cef591c359e4bff7ff 100644 (file)
@@ -66,10 +66,10 @@ Tuplet_number::calc_cross_staff (SCM smob)
 }
 
 ADD_INTERFACE (Tuplet_number,
-              "The number for a bracket. "
-              ,
+              "The number for a bracket.",
 
               /* properties */
               "avoid-slur "    // UGH.
-              "bracket ");
+              "bracket "
+              );
 
index e520f7d7c497367cdf5d8a71d14591473b4ffd76..1879697bc34a7b5e51d0e852563ede377ac3a3ed 100644 (file)
@@ -40,8 +40,16 @@ Tweak_engraver::acknowledge_grob (Grob_info info)
 
 ADD_ACKNOWLEDGER (Tweak_engraver, grob);
 ADD_TRANSLATOR (Tweak_engraver,
-               /* doc */ "Read the @code{tweaks} property from the originating event, and set properties." ,
+               /* doc */
+               "Read the @code{tweaks} property from the originating event,"
+               " and set properties.",
                
-               /* create */ "",
-               /* read */ "",
-               /* write */ "");
+               /* create */
+               "",
+
+               /* read */
+               "",
+
+               /* write */
+               ""
+               );
index 87510de0d4ec67788a8218242311a5784692920c..7b66eaf3022618cb74b5cd903c9e41833c0b4011 100644 (file)
@@ -34,18 +34,34 @@ Skip_event_swallow_translator::Skip_event_swallow_translator ()
 }
 
 ADD_TRANSLATOR (Skip_event_swallow_translator,
-               "Swallow \\skip.",
+               /* doc */
+               "Swallow @code{\\skip}.",
+
+               /* create */
                "",
+
+               /* read */
                "",
-               "");
+
+               /* write */
+               ""
+               );
 
 Rest_swallow_translator::Rest_swallow_translator (){}
 
 ADD_TRANSLATOR (Rest_swallow_translator,
-               "Swallow rest",
+               /* doc */
+               "Swallow rest.",
+
+               /* create */
                "",
+
+               /* read */
                "",
-               "");
+
+               /* write */
+               ""
+               );
 
 class Note_swallow_translator : public Translator
 {
@@ -61,9 +77,16 @@ Note_swallow_translator::Note_swallow_translator ()
 }
 
 ADD_TRANSLATOR (Note_swallow_translator,
-               "Swallow notes",
+               /* doc */
+               "Swallow notes.",
+
+               /* create */
                "",
+
+               /* read */
                "",
 
-               "");
+               /* write */
+               ""
+               );
 
index b0f09c236ef004069114a790be1c09c3499d64c5..c812684b423fd6d991d3fa5088d1ced805d7198c 100644 (file)
@@ -239,8 +239,8 @@ Vaticana_ligature_engraver::align_heads (vector<Grob_info> primitives,
       if (glyph_name_scm == SCM_EOL)
        {
          primitive->programming_error ("Vaticana_ligature:"
-                                       "undefined glyph-name -> "
-                                       "ignoring grob");
+                                       " undefined glyph-name ->"
+                                       " ignoring grob");
          continue;
        }
       string glyph_name = ly_scm2string (glyph_name_scm);
@@ -254,8 +254,8 @@ Vaticana_ligature_engraver::align_heads (vector<Grob_info> primitives,
          else
            {
              primitive->programming_error ("Vaticana_ligature:"
-                                           "delta-position undefined -> "
-                                           "ignoring grob");
+                                           " delta-position undefined ->"
+                                           " ignoring grob");
              continue;
            }
        }
@@ -484,8 +484,8 @@ Vaticana_ligature_engraver::transform_heads (Spanner *ligature,
       else
        {
          primitive->programming_error ("Vaticana_ligature:"
-                                       "delta-position undefined -> "
-                                       "ignoring grob");
+                                       " delta-position undefined ->"
+                                       " ignoring grob");
          continue;
        }
 
@@ -607,8 +607,8 @@ Vaticana_ligature_engraver::transform_heads (Spanner *ligature,
        else // (prev_delta_pitch == 0)
          {
            primitive->programming_error ("Vaticana_ligature:"
-                                         "deminutum head must have different "
-                                         "pitch -> ignoring grob");
+                                         " deminutum head must have different"
+                                         " pitch -> ignoring grob");
          }
       else if (prefix_set & (CAVUM | LINEA))
        if ((prefix_set & CAVUM) && (prefix_set & LINEA))
@@ -726,7 +726,16 @@ Vaticana_ligature_engraver::transform_heads (Spanner *ligature,
 ADD_ACKNOWLEDGER (Vaticana_ligature_engraver, rest);
 ADD_ACKNOWLEDGER (Vaticana_ligature_engraver, note_head);
 ADD_TRANSLATOR (Vaticana_ligature_engraver,
-               /* doc */ "Handles ligatures by glueing special ligature heads together.",
-               /* create */ "VaticanaLigature DotColumn",
-               /* read */ "",
-               /* write */ "");
+               /* doc */
+               "Handle ligatures by glueing special ligature heads together.",
+
+               /* create */
+               "VaticanaLigature "
+               "DotColumn ",
+
+               /* read */
+               "",
+
+               /* write */
+               ""
+               );
index 58978a083926a45fdf16c6cfe2d77ebc74e71038..0cf90c5af9522ffe17dba5f38754087dfa7538d9 100644 (file)
@@ -293,11 +293,11 @@ Vaticana_ligature::print (SCM)
 }
 
 ADD_INTERFACE (Vaticana_ligature,
-              "A vaticana style gregorian ligature",
+              "A vaticana style Gregorian ligature.",
 
               /* properties */
               "glyph-name "
-              "flexa-height " 
+              "flexa-height "
               "flexa-width "
               "thickness "
               "add-cauda "
index f3cc50d6cfc759ff7c1d313a56e542c8228d4b22..c4adfaae11827d5f8a95b31dee7d86e7872a146f 100644 (file)
@@ -37,14 +37,20 @@ protected:
 
 ADD_ACKNOWLEDGER (Vertical_align_engraver, axis_group);
 ADD_TRANSLATOR (Vertical_align_engraver,
-               "Catch groups (staves, lyrics lines, etc.) and stack "
-               "them vertically.",
-               /* create */ "VerticalAlignment",
+               /* doc */
+               "Catch groups (staves, lyrics lines, etc.) and stack them"
+               " vertically.",
+
+               /* create */
+               "VerticalAlignment ",
+
                /* read */
                "alignAboveContext "
                "alignBelowContext ",
 
-               /* write */ "");
+               /* write */
+               ""
+               );
 
 Vertical_align_engraver::Vertical_align_engraver ()
 {
index 2912c0a479c91c5e75934d41c128e6753b817958..8a4b206329504901f551a8812499a5909f0621b0 100644 (file)
@@ -56,7 +56,15 @@ Vertically_spaced_contexts_engraver::acknowledge_vertically_spaceable (Grob_info
 
 ADD_ACKNOWLEDGER (Vertically_spaced_contexts_engraver, vertically_spaceable);
 ADD_TRANSLATOR (Vertically_spaced_contexts_engraver,
-               /* doc */ "",
-               /* create */ "",
-               /* read */ "verticallySpacedContexts",
-               /* write */ "verticallySpacedContexts");
+               /* doc */
+               "",
+
+               /* create */
+               "",
+
+               /* read */
+               "verticallySpacedContexts ",
+
+               /* write */
+               "verticallySpacedContexts "
+               );
index e1d3fa8a4ad5565fd7cac78bff1029340164f1fa..cfae83259c5dde05c877f76458af25da9a3cd9b7 100644 (file)
@@ -160,10 +160,11 @@ Volta_bracket_interface::add_bar (Grob *me, Item *b)
 }
 
 ADD_INTERFACE (Volta_bracket_interface,
-              "Volta bracket with number",
+              "Volta bracket with number.",
 
               /* properties */
               "bars "
               "thickness "
-              "height");
+              "height "
+              );
 
index 279eb5eb64e8fcda6ff56754f1966bc47b0ad873..708b535d260610c207e3d98ba0df287eb91fecec 100644 (file)
@@ -181,7 +181,18 @@ Volta_engraver::stop_translation_timestep ()
 */
 ADD_ACKNOWLEDGER (Volta_engraver, bar_line);
 ADD_TRANSLATOR (Volta_engraver,
-               /* doc */ "Make volta brackets.",
-               /* create */ "VoltaBracket VoltaBracketSpanner",
-               /* read */ "repeatCommands voltaSpannerDuration stavesFound",
-               /* write */ "");
+               /* doc */
+               "Make volta brackets.",
+
+               /* create */
+               "VoltaBracket "
+               "VoltaBracketSpanner ",
+
+               /* read */
+               "repeatCommands "
+               "voltaSpannerDuration "
+               "stavesFound ",
+
+               /* write */
+               ""
+               );
index 47502399a51585d81b769e68156e36f797938eaa..bc526e9ca2aa7d98e97085620520b0fc1c0978f2 100644 (file)
@@ -596,7 +596,9 @@ automatically when an output definition (a @code{\score} or
     (Voice Beam thickness 0.384)
     (Voice Beam length-fraction 0.8)
     (Voice Accidental font-size -4)
+    (Voice AccidentalCautionary font-size -4)
     (Voice Slur direction ,DOWN)
+    (Voice Script font-size -3)
   )
 
   keepAliveInterfaces = #'(
index 95b5cc5cc87eb25ae32d07079b7a9c76a6a2cd92..3f9ad80c5ddbf04a20c2f879ff9e5da8ae0e452d 100644 (file)
@@ -476,7 +476,16 @@ parenthesize =
 #(define-music-function (parser loc arg) (ly:music?)
    (_i "Tag @var{arg} to be parenthesized.")
 
-   (set! (ly:music-property arg 'parenthesize) #t)
+   (if (memq 'event-chord (ly:music-property arg 'types))
+     ; arg is an EventChord -> set the parenthesize property on all child notes and rests
+     (map
+       (lambda (ev)
+         (if (or (memq 'note-event (ly:music-property ev 'types))
+                 (memq 'rest-event (ly:music-property ev 'types)))
+           (set! (ly:music-property ev 'parenthesize) #t)))
+       (ly:music-property arg 'elements))
+     ; No chord, simply set property for this expression:
+     (set! (ly:music-property arg 'parenthesize) #t))
    arg)
 
 %% for lambda*
index 11c0318b4a814a552867fc7e7ea7c44ab0fa43a2..7cae78ebb11726d36116ca26c1c55d0d196fddb6 100644 (file)
@@ -139,16 +139,25 @@ voiceNeutralStyle = {
 }
 
        
-tiny = 
-\set fontSize = #-2
+tiny = {
+  \set fontSize = #-2
+}
 
-small = 
-\set fontSize = #-1
+small = {
+  \set fontSize = #-1
+}
 
 normalsize = {
   \set fontSize = #0
 }
 
+large = {
+  \set fontSize = #1
+}
+
+huge = {
+  \set fontSize = #2
+}
 
 %% End the incipit and print a ``normal line start''.
 endincipit =  \context Staff {
@@ -174,6 +183,21 @@ textLengthOff = {
 showStaffSwitch = \set followVoice = ##t
 hideStaffSwitch = \set followVoice = ##f
 
+expandFullBarRests = {
+  \set Score.skipBars = ##f
+}
+
+compressFullBarRests = {
+  \set Score.skipBars = ##t
+}
+
+numericTimeSignature = {
+  \override Staff.TimeSignature #'style = #'()
+}
+
+defaultTimeSignature = {
+  \revert Staff.TimeSignature #'style
+}
 
 
 % For drawing vertical chord brackets with \arpeggio
index c0a2db573331af2260a7fc182e7851a43b36b3c3..5458e90c202ba69e3fa74576cf108c1b19ae64df 100644 (file)
@@ -5,7 +5,6 @@ LANGS = $(shell $(PYTHON) $(buildscript-dir)/langdefs.py)
 DOCUMENTATION_INCLUDES = \
   -I $(top-src-dir)/Documentation/user \
   -I $(top-build-dir)/Documentation/user/$(outdir)
-DOCUMENTATION_INCLUDES += $(foreach lang, $(LANGS), -I $(top-build-dir)/Documentation/$(lang)/user/$(outdir))
 
 LILYPOND_BOOK_INCLUDES += $(DOCUMENTATION_INCLUDES)
 MAKEINFO_FLAGS += --force --enable-encoding -D 'version $(TOPLEVEL_VERSION)' $(DOCUMENTATION_INCLUDES)
index 45ed1863534dcd6f316f784a1326de74d2e9bb11..6096bfb790c78d417a80faa58e18577bd08181d0 100644 (file)
@@ -29,16 +29,21 @@ LILYPOND_BOOK_INCLUDES = -I $(src-dir)/ -I $(outdir) -I $(input-dir) -I $(input-
 ## override from cmd line to speed up. 
 ANTI_ALIAS_FACTOR=2
 LILYPOND_JOBS=$(if $(CPU_COUNT),-djob-count=$(CPU_COUNT),)
-LILYPOND_BOOK_LILYPOND_FLAGS=-dbackend=eps --formats=ps,png,pdf $(LILYPOND_JOBS) -dinclude-eps-fonts -dgs-load-fonts --header=texidoc -I $(top-src-dir)/input/manual -dcheck-internal-types -ddump-signatures -danti-alias-factor=$(ANTI_ALIAS_FACTOR)
+LANG_TEXIDOC_FLAG=$(if $(ISOLANG),--header=texidoc$(ISOLANG),)
+LILYPOND_BOOK_LILYPOND_FLAGS=-dbackend=eps --formats=ps,png,pdf $(LILYPOND_JOBS) -dinclude-eps-fonts -dgs-load-fonts --header=texidoc $(LANG_TEXIDOC_FLAG) -I $(top-src-dir)/input/manual -dcheck-internal-types -ddump-signatures -danti-alias-factor=$(ANTI_ALIAS_FACTOR)
 LILYPOND_BOOK_VERBOSE = --verbose
 LILYPOND_BOOK_INFO_IMAGES_DIR = $(if $(INFO_IMAGES_DIR),--info-images-dir=$(INFO_IMAGES_DIR),)
 LILYPOND_BOOK_FLAGS = $(LILYPOND_BOOK_VERBOSE) $(LILYPOND_BOOK_INFO_IMAGES_DIR)
 
 ifeq ($(out),)
 LILYPOND_BOOK_PROCESS = true
+LILYPOND_BOOK_FLAGS += --skip-lily-check
 else
 LILYPOND_BOOK_PROCESS = $(LILYPOND_BINARY)
 endif
+ifeq ($(out),test)
+LILYPOND_BOOK_FLAGS += --skip-png-check
+endif
 
 TEXINPUTS=$(top-src-dir)/tex/::
 export TEXINPUTS
index 28b46f7b9bb24d77892d6e2493edf2919242bab4..964e4eefa0fcf7028bef1b715452aef416580672 100644 (file)
@@ -1,12 +1,17 @@
 .SUFFIXES: .doc .tely .texi .ly
 
+# TODO: fix hardcoded out/ ?
+LYS_OUTPUT_OPTION= --lily-output-dir $(top-build-dir)/out/lybook-db/
+LILYPOND_BOOK_FLAGS += $(LYS_OUTPUT_OPTION)
 $(outdir)/%.latex:  %.doc
-       $(PYTHON) $(LILYPOND_BOOK) $(LILYPOND_BOOK_INCLUDES) --process='$(LILYPOND_BOOK_PROCESS) $(LILYPOND_BOOK_INCLUDES) $(LILYPOND_BOOK_LILYPOND_FLAGS)' --output=$(outdir)  $(LILYPOND_BOOK_FLAGS) $<
+       $(PYTHON) $(LILYPOND_BOOK) $(LILYPOND_BOOK_INCLUDES) --process='$(LILYPOND_BOOK_PROCESS) $(LILYPOND_BOOK_INCLUDES) $(LILYPOND_BOOK_LILYPOND_FLAGS)' --output=$(outdir) $(LILYPOND_BOOK_FLAGS) $<
+
+
 
 # don't do ``cd $(outdir)'', and assume that $(outdir)/.. is the src dir.
 # it is not, for --srcdir builds
 $(outdir)/%.texi: %.tely
-       $(PYTHON) $(LILYPOND_BOOK) $(LILYPOND_BOOK_INCLUDES) --process='$(LILYPOND_BOOK_PROCESS) $(LILYPOND_BOOK_INCLUDES) $(LILYPOND_BOOK_LILYPOND_FLAGS)' --output=$(outdir) --format=$(LILYPOND_BOOK_FORMAT) $(LILYPOND_BOOK_FLAGS) $<
+       $(PYTHON) $(LILYPOND_BOOK) $(LILYPOND_BOOK_INCLUDES) --process='$(LILYPOND_BOOK_PROCESS) $(LILYPOND_BOOK_INCLUDES) $(LILYPOND_BOOK_LILYPOND_FLAGS)' --output=$(outdir)  --format=$(LILYPOND_BOOK_FORMAT) $(LILYPOND_BOOK_FLAGS) $<
 
 
 $(outdir)/%.texi: $(outdir)/%.tely
index e27b270ad8561f751dfa51e1fd674f5fee6a638f..61b61ef13bf5ad3518fe9309a4b0b579f6a33403 100644 (file)
@@ -16,6 +16,3 @@ TEXINFO_SOURCES += $(TELY_FILES) $(ITELY_FILES) $(ITEXI_FILES)
 
 EXTRA_DIST_FILES +=$(TELY_FILES) $(LY_FILES) $(ITEXI_FILES) $(ITELY_FILES) $(ILY_FILES)
 
-
-DVIPS_FLAGS= -h $(subst .pdf,.psfonts,$(subst .ps,.psfonts, $(notdir $@ )))
-
index 862b5d8c4f70f5148c0a5b1899588b1859014c59..2ae8a6784f3ea480f3343d6539323fd79ec706d0 100644 (file)
@@ -859,9 +859,17 @@ class TextSpannerEvent (SpanEvent):
             1:'\\stopTextSpan'}.get (self.span_direction, '')
 
 class BracketSpannerEvent (SpanEvent):
+    # Ligature brackets use prefix-notation!!!
+    def print_before_note (self, printer):
+        if self.span_direction == -1:
+            printer.dump ('\[')
+    # the the bracket after the last note
+    def print_after_note (self, printer):
+        if self.span_direction == 1:
+            printer.dump ('\]')
+    # we're printing everything in print_(before|after)_note...
     def ly_expression (self):
-        return {-1: '\\startGroup',
-            1:'\\stopGroup'}.get (self.span_direction, '')
+        return '';
 
 
 class OctaveShiftEvent (SpanEvent):
index 089a1ada23d39b70e05849c7e741be3bcc374b53..3fb91c199e76d461901b443133095ea102f8c738 100644 (file)
@@ -409,13 +409,15 @@ at a column with a negative penalty.")
 whether to put a page turn at this column.  Can be @code{force} or
 @code{allow}.")
      (parenthesized ,boolean? "Parenthesize this grob.")
-     (positions ,number-pair? "Pair of staff coordinates @code{(@var{left}
-. @var{right})}, where both @var{left} and @var{right} are in
-@code{staff-space} units of the current staff.
+     (positions ,number-pair? "Pair of staff coordinates
+@code{(@var{left} . @var{right})}, where both @var{left} and
+@var{right} are in @code{staff-space} units of the current staff.
+For slurs, this value selects which slur candidate to use; if
+extreme positions are requested, the closest one is taken.")
+     (prefer-dotted-right ,boolean? "For note collisions, prefer to
+shift dotted up-note to the right, rather than shifting just the
+dot.")
 
-For slurs, this value selects which slur candidate
-to use; if extreme positions are requested, the closest one is taken.")
-     (prefer-dotted-right ,boolean? "For note collisions, prefer to shift dotted up-note to the right, rather than shifting just the dot.")
      (ratio ,number? "Parameter for slur shape.  The higher this
 number, the quicker the slur attains its @code{height-limit}.")
      (remove-empty ,boolean? "If set, remove group if it contains no
index 610f7c094a44ea30ec566c9aa623ee8c4af94af2..02a09736b0927715bde6dfe74458599d14d300e8 100644 (file)
@@ -1,7 +1,7 @@
 ;;;; backend-documentation-lib.scm -- Functions for backend documentation
 ;;;;
 ;;;; source file of the GNU LilyPond music typesetter
-;;;; 
+;;;;
 ;;;; (c) 2000--2007 Han-Wen Nienhuys <hanwen@xs4all.nl>
 ;;;; Jan Nieuwenhuizen <janneke@gnu.org>
 
      (if (pair? uprops)
         (string-append
          "\n\n@unnumberedsubsubsec User settable properties:\n"
-         (description-list->texi user-propdocs))
+         (description-list->texi user-propdocs #t))
         "")
 
      (if (pair? iprops)
         (string-append
          "\n\n@unnumberedsubsubsec Internal properties:\n"
-         (description-list->texi internal-propdocs))
+         (description-list->texi internal-propdocs #t))
         ""))))
 
 (define iface->grob-table (make-vector 61 '()))
 
 ;; First level Interface description
 (define (interface-doc interface)
-  (let ((name (symbol->string (car interface))))
+  (let* ((name (symbol->string (car interface)))
+        (interface-list (human-listify
+                         (map ref-ify
+                              (sort
+                               (map symbol->string
+                                    (hashq-ref iface->grob-table
+                                               (car interface)
+                                               '()))
+                               string<?)))))
     (make <texi-node>
       #:name name
       #:text (string-append
              (interface-doc-string (cdr interface) '())
              "\n\n"
-             "This grob interface is used in the following graphical objects: "
-             (human-listify
-              (map ref-ify
-                   (sort 
-                    (map symbol->string
-                         (hashq-ref iface->grob-table (car interface) '()))
-                    string<?)))
+             "This grob interface "
+             (if (equal? interface-list "none")
+                 "is not used in any graphical object"
+                 (string-append
+                  "is used in the following graphical object(s): "
+                  interface-list))
              "."))))
 
 (define (grob-alist->texi alist)
@@ -74,7 +81,8 @@
 
     (description-list->texi
      (map (lambda (y) (property->texi 'backend y alist))
-         uprops))))
+         uprops)
+     #t)))
 
 (define (grob-doc description)
   "Given a property alist DESCRIPTION, make a documentation
@@ -91,21 +99,32 @@ node."
                              (ly:error (_ "pair expected in doc ~s") name)))
                        (reverse ifaces)))
         (engravers (filter
-                    (lambda (x) (engraver-makes-grob? name x)) all-engravers-list))
+                    (lambda (x) (engraver-makes-grob? name x))
+                    all-engravers-list))
         (namestr (symbol->string name))
-        (engraver-names (map symbol->string (map ly:translator-name engravers))))
+        (engraver-names (map symbol->string
+                             (map ly:translator-name engravers)))
+        (engraver-list (human-listify
+                        (map ref-ify
+                             (map engraver-name engraver-names)))))
 
     (make <texi-node>
       #:name namestr
       #:text
       (string-append
-       namestr " objects are created by: "
-       (human-listify (map ref-ify
-                          (map engraver-name engraver-names)))
+       namestr " objects "
+       (if (equal? engraver-list "none")
+          "are not created by any engraver"
+          (string-append
+           "are created by: "
+           engraver-list))
+       "."
+
        "\n\nStandard settings: \n\n"
        (grob-alist->texi description)
-       "\n\nThis object supports the following interfaces: \n"
-       (human-listify ifacedoc)))))
+       "\n\nThis object supports the following interface(s): \n"
+       (human-listify ifacedoc)
+       "."))))
 
 (define (all-grobs-doc)
   (make <texi-node>
@@ -155,7 +174,7 @@ node."
   (let* ((ps (sort (map symbol->string lst) string<?))
         (descs (map (lambda (prop)
                       (property->texi 'backend (string->symbol prop) '())) ps))
-        (texi (description-list->texi descs)))
+        (texi (description-list->texi descs #f)))
     texi))
 
 ;;(dump-node (grob-doc (cdadr all-grob-descriptions)) (current-output-port) 0 )
index 736da249048bbc223512a54845aacb83757a0100..67e282bd862cd594beb8c26680ac25d0697021a2 100644 (file)
@@ -1,12 +1,11 @@
 ;;
 ;; document-identifiers.scm -- implement documentation
 ;; of identifiers from .ly file.
-;; 
+;;
 ;; source file of the GNU LilyPond music typesetter
-;; 
+;;
 ;; (c) 2006 Han-Wen Nienhuys <hanwen@lilypond.org>
-;; 
-
+;;
 
 (use-modules (ice-9 format))
 
        (music-func (cdr music-func-pair))
        (func (ly:music-function-extract music-func))
        (arg-names
-       (map symbol->string 
+       (map symbol->string
             (cddr (cadr (procedure-source func)))))
        (doc (procedure-documentation func))
        (sign (object-property func 'music-function-signature))
        (type-names (map type-name sign))
 
-       ;; C&P
-       (signature (zip arg-names arg-names type-names))
        (signature-str
-         (string-join
-          (map (lambda (x) (format "@var{~a} (~a)"
-                                   (car x)
-                                   (cadr x)))
-                                   
-               (zip arg-names type-names)))))
-
+       (string-join
+        (map (lambda (x) (format "@var{~a} (~a)"
+                                 (car x)
+                                 (cadr x)))
+             (zip arg-names type-names)))))
     (format
-     
-     "\n
-@item @code{~a} - ~a\n
+     "@item @code{~a}~a~a
 @findex ~a
-
-~a\n\n"
-
-     name-sym signature-str
+~a
+"
+     name-sym (if (equal? "" signature-str) "" " - ") signature-str
      name-sym
      (if doc doc "(undocumented; fixme)"))))
 
 
-
 (define (document-object obj-pair)
   (cond
-   ((ly:music-function? (cdr obj-pair)) (document-music-function obj-pair))
+   ((ly:music-function? (cdr obj-pair))
+    (document-music-function obj-pair))
    (else
     #f)))
 
+
+(define (identifier<? a b)
+  (string<?
+   (symbol->string (car a))
+   (symbol->string (car b))))
+
+
 (define-public (identifiers-doc-string)
   (format
    "@table @asis
 ~a
 @end table
 "
-  (string-join
-   (filter
-    identity
-   (map
-    document-object
-    (ly:module->alist (current-module)))))))
+   (string-join
+    (filter
+     identity
+     (map
+      document-object
+      (sort
+       (ly:module->alist (current-module))
+       identifier<?)))
+    "")))
index 4c12b6b1e9a9e39621f688760bec1b315f55ec5a..e0c9106f49d0a3e8096bf3012cce5f32808226f9 100644 (file)
@@ -1,7 +1,7 @@
 ;;;; document-markup.scm -- part of generated backend documentation
 ;;;;
 ;;;;  source file of the GNU LilyPond music typesetter
-;;;; 
+;;;;
 ;;;; (c) 1998--2007 Han-Wen Nienhuys <hanwen@xs4all.nl>
 ;;;;                 Jan Nieuwenhuizen <janneke@gnu.org>
 
@@ -14,7 +14,7 @@
           (descs (map (lambda (prop)
                         (property->texi 'music (string->symbol prop)))
                       ps))
-          (texi (description-list->texi descs)))
+          (texi (description-list->texi descs #f)))
       texi)))
 
 (define music-types->names (make-vector 61 '()))
              (let* ((class (ly:camel-case->lisp-identifier (car entry)))
                     (classes (ly:make-event-class class)))
                (if classes
-                   (map (lambda (cl)
-                          (hashq-set! music-types->names cl
-                                      (cons (car entry)
-                                            (hashq-ref music-types->names cl '()))))
-                        classes)
+                   (map
+                    (lambda (cl)
+                      (hashq-set! music-types->names cl
+                                  (cons (car entry)
+                                        (hashq-ref music-types->names cl '()))))
+                    classes)
                    #f)))
-           
+       
            music-descriptions)
 
 (define (strip-description x)
        ""))
 
 (define (music-type-doc entry)
-  (make <texi-node>
-    #:name  (symbol->string (car entry))
-    #:text 
-    (string-append
-     "\nMusic event type @code{"
-     (symbol->string (car entry))
-     "} is in music objects of type "
-     (human-listify
-      (sort
-       (map (lambda (x) (ref-ify (symbol->string x)))
-           (cdr entry)) string<?))
-     "."
+  (let* ((accept-list (human-listify
+                      (map ref-ify
+                           (map symbol->string
+                                (map ly:translator-name
+                                     (filter
+                                      (lambda (x)
+                                        (engraver-accepts-music-type? (car entry) x))
+                                      all-engravers-list)))))))
+    (make <texi-node>
+      #:name (symbol->string (car entry))
+      #:text
+      (string-append
+       "\nMusic event type @code{"
+       (symbol->string (car entry))
+       "} is in music objects of type "
+       (human-listify
+       (sort
+        (map (lambda (x) (ref-ify (symbol->string x)))
+             (cdr entry)) string<?))
+       "."
 
-     "\n\nAccepted by: "
-     (human-listify
-      (map ref-ify
-          (map symbol->string
-               (map ly:translator-name
-                    (filter
-                     (lambda (x) (engraver-accepts-music-type? (car entry) x)) all-engravers-list)))))
-     "."
-     "\n\n")))
+       "\n\n"
+       (if (equal? accept-list "none")
+          "Not accepted by any engraver or performer"
+          (string-append
+           "Accepted by: "
+           accept-list))
+       "."))))
 
 (define (music-types-doc)
   (make <texi-node>
     #:name "Music classes"
-    #:children 
+    #:children
     (map music-type-doc
         (sort
          (hash-table->alist music-types->names) alist<?))))
         (props (cdr obj))
         (class (ly:camel-case->lisp-identifier namesym))
         (classes (ly:make-event-class class))
+        (accept-list (if classes
+                         (human-listify
+                          (map ref-ify
+                               (map symbol->string
+                                    (map ly:translator-name
+                                         (filter
+                                          (lambda (x)
+                                            (engraver-accepts-music-types? classes x))
+                                          all-engravers-list)))))
+                         ""))
         (event-texi (if classes
                         (string-append
                          "\n\nEvent classes:\n"
-                         (human-listify (map ref-ify (map symbol->string classes)))
+                         (human-listify
+                          (map ref-ify (map symbol->string classes)))
                          "."
 
-                         "\n\nAccepted by: "
-                         (human-listify
-                          (map ref-ify
-                               (map symbol->string (map ly:translator-name
-                                                        (filter
-                                                         (lambda (x) (engraver-accepts-music-types? classes x)) all-engravers-list)))))
+                         "\n\n"
+                         (if (equal? accept-list "none")
+                             "Not accepted by any engraver or performer"
+                             (string-append
+                              "Accepted by: "
+                              accept-list))
                          ".")
                         "")))
 
      (description-list->texi
       (map
        (lambda (x) (property->texi 'music x props))
-       (map car props))))))
+       (map car props))
+      #t))))
 
 (define (music-object-doc obj)
   (make <texi-node>
index 38b74e25d89b99ec4b5e1b2115094ce28a73134b..01ae8a777f31dd1c46ce859cec2ee11ebd0bd4d1 100644 (file)
@@ -1,7 +1,7 @@
 ;;;; document-translation.scm -- Functions for engraver documentation
 ;;;;
 ;;;; source file of the GNU LilyPond music typesetter
-;;;; 
+;;;;
 ;;;; (c) 2000--2007 Han-Wen Nienhuys <hanwen@xs4all.nl>
 ;;;;                 Jan Nieuwenhuizen <janneke@gnu.org>
 
@@ -21,7 +21,7 @@
 (define (engraver-doc-string engraver in-which-contexts)
   (let* ((propsr (cdr (assoc 'properties-read (ly:translator-description engraver))))
         (propsw (cdr (assoc 'properties-written (ly:translator-description engraver))))
-        (accepted  (cdr (assoc 'events-accepted (ly:translator-description engraver)))) 
+        (accepted  (cdr (assoc 'events-accepted (ly:translator-description engraver))))
         (name-sym  (ly:translator-name engraver))
         (name-str (symbol->string name-sym))
         (desc (cdr (assoc 'description (ly:translator-description engraver))))
         (string-append
          "Properties (read)"
          (description-list->texi
-          (map (lambda (x) (property->texi 'translation x '())) propsr)))
+          (map (lambda (x) (property->texi 'translation x '())) propsr)
+          #t))
         "")
-     
+
      (if (null? propsw)
         ""
         (string-append
-         "Properties (write)" 
+         "Properties (write)"
          (description-list->texi
-          (map (lambda (x) (property->texi 'translation x '())) propsw))))
+          (map (lambda (x) (property->texi 'translation x '())) propsw)
+          #t)))
      (if  (null? grobs)
          ""
          (string-append
-          "\n\nThis engraver creates the following layout objects:\n\n"
+          "\n\nThis engraver creates the following layout object(s):\n\n"
           (human-listify (map ref-ify (uniq-list (sort grobs string<?))))
           "."))
 
                             (if (member name-sym consists)
                                 (list context)
                                 '())))
-                        context-description-alist))))
+                        context-description-alist)))
+               (context-list (human-listify (map ref-ify
+                                                 (sort
+                                                  (map symbol->string contexts)
+                                                  string<?)))))
           (string-append
-           "@code{" name-str "} is part of contexts: "
-           (human-listify (map ref-ify
-                               (sort
-                                (map symbol->string contexts) string<?)))))
+           "@code{" name-str "} "
+           (if (equal? context-list "none")
+               "is not part of any context"
+               (string-append
+                "is part of the following context(s): "
+                context-list))
+           "."))
         ""))))
 
 ;; First level Engraver description
  (ly:get-all-translators))
 
 (define (find-engraver-by-name name)
-  "NAME is a symbol." 
+  "NAME is a symbol."
   (hash-ref name->engraver-table name #f))
 
 (define (document-engraver-by-name name)
   "NAME is a symbol."
-  
+
   (let* ((eg (find-engraver-by-name name)))
 
     (cons (string-append "@code{" (ref-ify (symbol->string name)) "}")
              context-sym
              (scm->texi (car args))))
      )))
-     
+
 
 (define (context-doc context-desc)
   (let* ((name-sym (cdr (assoc 'context-name context-desc)))
         (desc-handle (assoc 'description context-desc))
         (desc (if (and  (pair? desc-handle) (string? (cdr desc-handle)))
                   (cdr desc-handle) "(not documented)"))
-        
+       
         (accepts (cdr (assoc 'accepts context-desc)))
         (consists (cdr (assoc 'consists context-desc)))
         (props (cdr (assoc 'property-ops context-desc)))
     (make <texi-node>
       #:name name
       #:text
-      (string-append 
+      (string-append
        desc
        (if (pair? aliases)
           (string-append
            ".")
           "")
 
-       "\n\nThis context creates the following layout objects:\n\n"
+       "\n\nThis context creates the following layout object(s):\n\n"
        (human-listify (uniq-list (sort grob-refs string<?)))
        "."
 
                  str
                  "@end itemize\n")))
           "")
-       
+
        (if (null? accepts)
           "\n\nThis context is a `bottom' context; it cannot contain other contexts."
           (string-append
            " can contain\n"
            (human-listify (map ref-ify (map symbol->string accepts)))
            "."))
-       
+
        (if (null? consists)
           ""
           (string-append
-           "\n\nThis context is built from the following engravers:"
-           (description-list->texi (map document-engraver-by-name consists))))))))
+           "\n\nThis context is built from the following engraver(s):"
+           (description-list->texi
+            (map document-engraver-by-name consists)
+            #t)))))))
 
 (define (engraver-grobs grav)
   (let* ((eg (if (symbol? grav)
 
 (define (all-engravers-doc)
   (make <texi-node>
-    #:name "Engravers"
-    #:desc "All separate engravers."
+    #:name "Engravers and Performers"
+    #:desc "All separate engravers and performers."
     #:text "See @ruser{Modifying context plug-ins}."
     #:children
     (map engraver-doc all-engravers-list)))
          (map
           (lambda (x) (property->texi 'translation  x '()))
           sortedsyms))
-        (texi (description-list->texi propdescs)))
+        (texi (description-list->texi propdescs #f)))
     texi))
 
 (define (translation-doc-node)
index 5239ce78912fec620d955a0936c96560537bde4b..4cf5f390e32be50ac65092a69ba17330f0df08f2 100644 (file)
                      (5 . "@unnumberedsubsubsec")))))
 
 (define (one-item->texi label-desc-pair)
-  "Document one (LABEL . DESC); return empty string if LABEL is empty string. 
-"
+  "Document one (LABEL . DESC); return empty string if LABEL is empty string."
   (if (eq? (car label-desc-pair) "")
       ""
       (string-append "\n@item " (car label-desc-pair) "\n" (cdr label-desc-pair))))
 
 
-(define (description-list->texi items-alist)
-  "Document ITEMS-ALIST in a table. entries contain (item-label
-. string-to-use)
-"
+(define (description-list->texi items-alist quote?)
+  "Document ITEMS-ALIST in a table; entries contain (item-label .
+string-to-use).  If QUOTE? is #t, embed table in a @quotation environment."
   (string-append
    "\n"
-   "@quotation\n"
+   (if quote? "@quotation\n" "")
    "@table @asis\n"
    (apply string-append (map one-item->texi items-alist))
    "\n"
    "@end table\n"
-   "@end quotation\n"))
+   (if quote? "@end quotation\n" "")))
 
 (define (texi-menu items-alist)
   "Generate what is between @menu and @end menu."
      "\n@ignore\n"
      "\n@ifhtml\n"
      (description-list->texi (map (lambda (x) (cons (ref-ify (car x)) (cdr x)))
-                                 items-alist))
+                                 items-alist)
+                            #t)
      "\n@end ifhtml\n"
      "\n@end ignore\n")))
 
index c39fb518a9405cffc42cac173dd0f0429cd0733d..fcd0779198792f6e0483c70a8a0b915c016d2b02 100644 (file)
@@ -94,6 +94,7 @@ stencil, so LaTeX includegraphics doesn't fuck up the alignment."
         
         (tex-system-port (open-output-string))
         (texi-system-port (open-output-string))
+        (count-system-port (open-output-string))
         (widened-stencils (widen-left-stencil-edges stencils))
         (counted-systems  (count-list widened-stencils))
         (eps-files (map dump-counted-stencil  counted-systems))
@@ -123,13 +124,17 @@ stencil, so LaTeX includegraphics doesn't fuck up the alignment."
     
     (display "@c eof." texi-system-port)
     (display "% eof. " tex-system-port)
-    
+    (display (format "~a" (length stencils)) count-system-port)
     (dump-infinite-stack-EPS stencils)
     (postprocess-output book framework-eps-module
                        (format "~a.eps" basename) (ly:output-formats))
 
     (write-file texi-system-port "texi")
     (write-file tex-system-port "tex")
+
+    ;; do this as the last action so we know the rest is complete if
+    ;; this file is present.
+    (write-file count-system-port "count")
     ))
 
 
index bd429911f94a99e3f362bbe646173cc1c4258346..c5e7ad131eab702cdccd1db69b445df2cc7fa079 100644 (file)
@@ -402,22 +402,22 @@ centered, X==1 is at the right, X == -1 is at the left."
        ))
   
 (define-public alteration-hufnagel-glyph-name-alist
-   '((-1/2 . "accidentals.hufnagel-1")
+   '((-1/2 . "accidentals.hufnagelM1")
      (0 . "accidentals.vaticana0")
      (1/2 . "accidentals.mensural1")))
 
 (define-public alteration-medicaea-glyph-name-alist
-   '((-1/2 . "accidentals.medicaea-1")
+   '((-1/2 . "accidentals.medicaeaM1")
      (0 . "accidentals.vaticana0")
      (1/2 . "accidentals.mensural1")))
 
 (define-public alteration-vaticana-glyph-name-alist
-   '((-1/2 . "accidentals.vaticana-1")
+   '((-1/2 . "accidentals.vaticanaM1")
      (0 . "accidentals.vaticana0")
      (1/2 . "accidentals.mensural1")))
 
 (define-public alteration-mensural-glyph-name-alist
-   '((-1/2 . "accidentals.mensural-1")
+   '((-1/2 . "accidentals.mensuralM1")
      (0 . "accidentals.vaticana0")
      (1/2 . "accidentals.mensural1")))
 
index 60886775165b63ffd9627c531db6f86f8d360b7b..86e78e2449427b2218bd99d6b7dd8c67a9973fad 100644 (file)
@@ -28,14 +28,12 @@ TODO:
 
 '''
 
-import stat
-import tempfile
-import commands
+import md5
 import os
-import sys
 import re
-import md5
-import operator
+import stat
+import sys
+import tempfile
 
 """
 @relocate-preamble@
@@ -64,7 +62,7 @@ _ ("Process LilyPond snippets in hybrid HTML, LaTeX, texinfo or DocBook document
 ''' % {'BOOK': _ ("BOOK")})
 
 authors = ('Jan Nieuwenhuizen <janneke@gnu.org>',
-      'Han-Wen Nienhuys <hanwen@xs4all.nl>')
+           'Han-Wen Nienhuys <hanwen@xs4all.nl>')
 
 ################################################################
 def exit (i):
@@ -85,7 +83,7 @@ def error (s):
     ly.stderr_write (program_name + ": " + _ ("error: %s") % s + '\n')
 
 def ps_page_count (ps_name):
-    header = open (ps_name).read (1024)
+    header = file (ps_name).read (1024)
     m = re.search ('\n%%Pages: ([0-9]+)', header)
     if m:
         return int (m.group (1))
@@ -101,9 +99,9 @@ def warranty ():
 %s
 %s
 ''' % ( _ ('Copyright (c) %s by') % '2001--2007',
-    ' '.join (authors),
-   _ ("Distributed under terms of the GNU General Public License."),
-   _ ("It comes with NO WARRANTY.")))
+        ' '.join (authors),
+        _ ("Distributed under terms of the GNU General Public License."),
+        _ ("It comes with NO WARRANTY.")))
 
 def get_option_parser ():
     p = ly.get_option_parser (usage=_ ("%s [OPTION]... FILE") % 'lilypond-book',
@@ -145,13 +143,31 @@ def get_option_parser ():
     
     p.add_option ("-o", '--output', help=_ ("write output to DIR"),
                   metavar=_ ("DIR"),
-                  action='store', dest='output_name',
+                  action='store', dest='output_dir',
                   default='')
     
+    p.add_option ('--skip-lily-check',
+                  help=_ ("do not fail if no lilypond output is found."),
+                  metavar=_ ("DIR"),
+                  action='store_true', dest='skip_lilypond_run',
+                  default=False)
+
+    p.add_option ('--skip-png-check',
+                  help=_ ("do not fail if no PNG images are found for EPS files"),
+                  metavar=_ ("DIR"),
+                  action='store_true', dest='skip_png_check',
+                  default=False)
+    
+    p.add_option ('--lily-output-dir',
+                  help=_ ("write lily-XXX files to DIR, link into --output dir."),
+                  metavar=_ ("DIR"),
+                  action='store', dest='lily_output_dir',
+                  default=None)
+    
     p.add_option ('-P', '--process', metavar=_ ("COMMAND"),
                   help = _ ("process ly_files using COMMAND FILE..."),
                   action='store', 
-                  dest='process_cmd', default='lilypond -dbackend=eps')
+                  dest='process_cmd', default='')
 
     p.add_option ('--pdf',
                   action="store_true",
@@ -178,9 +194,9 @@ must use this with dvips -h INPUT.psfonts'''),
                   help=_ ("show warranty and copyright"),
                   action='store_true')
     p.add_option_group (ly.display_encode (_ ('Bugs')),
-                        description=(_ ("Report bugs via")
-                                     + ''' http://post.gmane.org/post.php'''
-                                     '''?group=gmane.comp.gnu.lilypond.bugs\n'''))
+                        description=(
+        _ ("Report bugs via")
+        + ' http://post.gmane.org/post.php?group=gmane.comp.gnu.lilypond.bugs\n'))
     return p
 
 lilypond_binary = os.path.join ('@bindir@', 'lilypond')
@@ -206,6 +222,7 @@ FILTER = 'filter'
 FRAGMENT = 'fragment'
 HTML = 'html'
 INDENT = 'indent'
+LANG = 'lang'
 LATEX = 'latex'
 LAYOUT = 'layout'
 LINE_WIDTH = 'line-width'
@@ -512,6 +529,7 @@ simple_options = [
     NOINDENT,
     PRINTFILENAME,
     TEXIDOC,
+    LANG,
     VERBATIM,
     FONTLOAD,
     FILENAME,
@@ -590,7 +608,7 @@ output = {
  <a href="%(base)s.ly">''',
 
         OUTPUT: r'''
-  <img align="center" valign="center"
+  <img align="middle" 
     border="0" src="%(image)s" alt="%(alt)s">''',
 
         PRINTFILENAME: '<p><tt><a href="%(base)s.ly">%(filename)s</a></tt></p>',
@@ -655,7 +673,7 @@ output = {
 @html
 <p>
  <a href="%(base)s.ly">
-  <img align="center" valign="center"
+  <img align="middle"
     border="0" src="%(image)s" alt="%(alt)s">
  </a>
 </p>
@@ -802,27 +820,20 @@ def verbatim_html (s):
            re.sub ('<', '&lt;',
                re.sub ('&', '&amp;', s)))
 
-def split_options (option_string):
-    if option_string:
-        if global_options.format == HTML:
-            options = re.findall('[\w\.-:]+(?:\s*=\s*(?:"[^"]*"|\'[^\']*\'|\S+))?',option_string)
-            for i in range(len(options)):
-                options[i] = re.sub('^([^=]+=\s*)(?P<q>["\'])(.*)(?P=q)','\g<1>\g<3>',options[i])
-            return options
-        else:
-            return re.split (format_res[global_options.format]['option_sep'],
-                    option_string)
-    return []
 
-def set_default_options (source):
-    global default_ly_options
-    if not default_ly_options.has_key (LINE_WIDTH):
-        if global_options.format == LATEX:
+texinfo_lang_re = re.compile ('(?m)^@documentlanguage (.*?)( |$)')
+def set_default_options (source, default_ly_options, format):
+    if LINE_WIDTH not in default_ly_options:
+        if format == LATEX:
             textwidth = get_latex_textwidth (source)
-            default_ly_options[LINE_WIDTH] = \
-             '''%.0f\\pt''' % textwidth
-        elif global_options.format == TEXINFO:
-            for (k, v) in texinfo_line_widths.items ():
+            default_ly_options[LINE_WIDTH] = '%.0f\\pt' % textwidth
+        elif format == TEXINFO:
+            m = texinfo_lang_re.search (source)
+            if m and not m.group (1).startswith ('en'):
+                default_ly_options[LANG] = m.group (1)
+            else:
+                default_ly_options[LANG] = ''
+            for regex in texinfo_line_widths:
                 # FIXME: @layout is usually not in
                 # chunk #0:
                 #
@@ -831,8 +842,8 @@ def set_default_options (source):
                 # Bluntly search first K items of
                 # source.
                 # s = chunks[0].replacement_text ()
-                if re.search (k, source[:1024]):
-                    default_ly_options[LINE_WIDTH] = v
+                if re.search (regex, source[:1024]):
+                    default_ly_options[LINE_WIDTH] = texinfo_line_widths[regex]
                     break
 
 class Chunk:
@@ -842,16 +853,11 @@ class Chunk:
     def filter_text (self):
         return self.replacement_text ()
 
-    def ly_is_outdated (self):
-        return 0
-
-    def png_is_outdated (self):
-        return 0
-
     def is_plain (self):
         return False
     
 class Substring (Chunk):
+    """A string that does not require extra memory."""
     def __init__ (self, source, start, end, line_number):
         self.source = source
         self.start = start
@@ -872,7 +878,7 @@ class Snippet (Chunk):
     def __init__ (self, type, match, format, line_number):
         self.type = type
         self.match = match
-        self.hash = 0
+        self.checksum = 0
         self.option_dict = {}
         self.format = format
         self.line_number = line_number
@@ -886,10 +892,10 @@ class Snippet (Chunk):
     def __repr__ (self):
         return `self.__class__` + ' type = ' + self.type
 
-class Include_snippet (Snippet):
+class IncludeSnippet (Snippet):
     def processed_filename (self):
         f = self.substring ('filename')
-        return os.path.splitext (f)[0] + format2ext[global_options.format]
+        return os.path.splitext (f)[0] + format2ext[self.format]
 
     def replacement_text (self):
         s = self.match.group ('match')
@@ -897,7 +903,7 @@ class Include_snippet (Snippet):
 
         return re.sub (f, self.processed_filename (), s)
 
-class Lilypond_snippet (Snippet):
+class LilypondSnippet (Snippet):
     def __init__ (self, type, match, format, line_number):
         Snippet.__init__ (self, type, match, format, line_number)
         os = match.group ('options')
@@ -917,21 +923,34 @@ class Lilypond_snippet (Snippet):
             return self.compose_ly (s)
         return ''
 
+    def split_options (self, option_string):
+        if option_string:
+            if self.format == HTML:
+                options = re.findall('[\w\.-:]+(?:\s*=\s*(?:"[^"]*"|\'[^\']*\'|\S+))?',
+                                     option_string)
+                options = [re.sub('^([^=]+=\s*)(?P<q>["\'])(.*)(?P=q)', '\g<1>\g<3>', opt)
+                           for opt in options]
+                return options
+            else:
+                return re.split (format_res[self.format]['option_sep'],
+                                 option_string)
+        return []
+
     def do_options (self, option_string, type):
         self.option_dict = {}
 
-        options = split_options (option_string)
+        options = self.split_options (option_string)
 
-        for i in options:
-            if '=' in i:
-                (key, value) = re.split ('\s*=\s*', i)
+        for option in options:
+            if '=' in option:
+                (key, value) = re.split ('\s*=\s*', option)
                 self.option_dict[key] = value
             else:
-                if i in no_options.keys ():
-                    if no_options[i] in self.option_dict.keys ():
-                        del self.option_dict[no_options[i]]
+                if option in no_options:
+                    if no_options[option] in self.option_dict:
+                        del self.option_dict[no_options[option]]
                 else:
-                    self.option_dict[i] = None
+                    self.option_dict[option] = None
 
         has_line_width = self.option_dict.has_key (LINE_WIDTH)
         no_line_width_value = 0
@@ -941,39 +960,39 @@ class Lilypond_snippet (Snippet):
             no_line_width_value = 1
             del self.option_dict[LINE_WIDTH]
 
-        for i in default_ly_options.keys ():
-            if i not in self.option_dict.keys ():
-                self.option_dict[i] = default_ly_options[i]
+        for k in default_ly_options:
+            if k not in self.option_dict:
+                self.option_dict[k] = default_ly_options[k]
 
         if not has_line_width:
-            if type == 'lilypond' or FRAGMENT in self.option_dict.keys ():
+            if type == 'lilypond' or FRAGMENT in self.option_dict:
                 self.option_dict[RAGGED_RIGHT] = None
 
             if type == 'lilypond':
-                if LINE_WIDTH in self.option_dict.keys ():
+                if LINE_WIDTH in self.option_dict:
                     del self.option_dict[LINE_WIDTH]
             else:
-                if RAGGED_RIGHT in self.option_dict.keys ():
-                    if LINE_WIDTH in self.option_dict.keys ():
+                if RAGGED_RIGHT in self.option_dict:
+                    if LINE_WIDTH in self.option_dict:
                         del self.option_dict[LINE_WIDTH]
 
-            if QUOTE in self.option_dict.keys () or type == 'lilypond':
-                if LINE_WIDTH in self.option_dict.keys ():
+            if QUOTE in self.option_dict or type == 'lilypond':
+                if LINE_WIDTH in self.option_dict:
                     del self.option_dict[LINE_WIDTH]
 
-        if not INDENT in self.option_dict.keys ():
+        if not INDENT in self.option_dict:
             self.option_dict[INDENT] = '0\\mm'
 
         # The QUOTE pattern from ly_options only emits the `line-width'
         # keyword.
-        if has_line_width and QUOTE in self.option_dict.keys ():
+        if has_line_width and QUOTE in self.option_dict:
             if no_line_width_value:
                 del self.option_dict[LINE_WIDTH]
             else:
                 del self.option_dict[QUOTE]
 
     def compose_ly (self, code):
-        if FRAGMENT in self.option_dict.keys ():
+        if FRAGMENT in self.option_dict:
             body = FRAGMENT_LY
         else:
             body = FULL_LY
@@ -1022,23 +1041,18 @@ class Lilypond_snippet (Snippet):
             compose_dict[a] = []
 
         for (key, value) in self.option_dict.items ():
-            (c_key, c_value) = \
-             classic_lilypond_book_compatibility (key, value)
+            (c_key, c_value) = classic_lilypond_book_compatibility (key, value)
             if c_key:
                 if c_value:
-                    warning \
-                     (_ ("deprecated ly-option used: %s=%s" \
-                      % (key, value)))
-                    warning \
-                     (_ ("compatibility mode translation: %s=%s" \
-                      % (c_key, c_value)))
+                    warning (
+                        _ ("deprecated ly-option used: %s=%s") % (key, value))
+                    warning (
+                        _ ("compatibility mode translation: %s=%s") % (c_key, c_value))
                 else:
-                    warning \
-                     (_ ("deprecated ly-option used: %s" \
-                      % key))
-                    warning \
-                     (_ ("compatibility mode translation: %s" \
-                      % c_key))
+                    warning (
+                        _ ("deprecated ly-option used: %s") % key)
+                    warning (
+                        _ ("compatibility mode translation: %s") % c_key)
 
                 (key, value) = (c_key, c_value)
 
@@ -1059,7 +1073,7 @@ class Lilypond_snippet (Snippet):
                 warning (_ ("ignoring unknown ly option: %s") % key)
 
         # URGS
-        if RELATIVE in override.keys () and override[RELATIVE]:
+        if RELATIVE in override and override[RELATIVE]:
             relative = int (override[RELATIVE])
 
         relative_quotes = ''
@@ -1083,73 +1097,117 @@ class Lilypond_snippet (Snippet):
         d.update (locals())
         return (PREAMBLE_LY + body) % d
 
-    def get_hash (self):
-        if not self.hash:
+    def get_checksum (self):
+        if not self.checksum:
             hash = md5.md5 (self.relevant_contents (self.full_ly ()))
 
             ## let's not create too long names.
-            self.hash = hash.hexdigest ()[:10]
+            self.checksum = hash.hexdigest ()[:10]
             
-        return self.hash
+        return self.checksum
 
     def basename (self):
         if FILENAME in self.option_dict:
             return self.option_dict[FILENAME]
-        if global_options.use_hash:
-            return 'lily-%s' % self.get_hash ()
-        raise 'to be done'
+
+        cs = self.get_checksum ()
+
+        # TODO: use xx/xxxxx directory layout.
+        name = 'lily-%s' % cs[:10]
+        return name
 
     def write_ly (self):
-        outf = open (self.basename () + '.ly', 'w')
-        outf.write (self.full_ly ())
-        open (self.basename () + '.txt', 'w').write ('image of music')
+        base = self.basename ()
+        path = os.path.join (global_options.lily_output_dir, base)
+
+        out = file (path + '.ly', 'w')
+        out.write (self.full_ly ())
+        file (path + '.txt', 'w').write ('image of music')
 
     def relevant_contents (self, ly):
         return re.sub (r'\\(version|sourcefileline|sourcefilename)[^\n]*\n', '', ly)
-             
-    def ly_is_outdated (self):
-        base = self.basename ()
-        ly_file = find_file (base + '.ly', raise_error=False)
-        tex_file = find_file (base + '.tex', raise_error=False)
-        systems_file = find_file (base + '-systems.tex', raise_error=False)
-
-        if (os.path.exists (ly_file)
-            and os.path.exists (systems_file)
-            and os.stat (systems_file)[stat.ST_SIZE]
-            and re.match ('% eof', open (systems_file).readlines ()[-1])
-            and (global_options.use_hash or FILENAME in self.option_dict)
-            and (self.relevant_contents (self.full_ly ())
-                 == self.relevant_contents (open (ly_file).read ()))):
-            return None
-
-        return self
-
-    def png_is_outdated (self):
-        base = self.basename ()
-        eps_file = find_file (base + '.eps', raise_error=False)
-        png_file = find_file (base + '.png', raise_error=False)
-        if not self.ly_is_outdated () and global_options.format in (HTML, TEXINFO):
-            if os.path.exists (eps_file):
-                page_count = ps_page_count (eps_file)
-                if page_count <= 1:
-                    return not os.path.exists (png_file)
-                else:
-                    return not reduce (operator.or_,
-                                       [find_file (base + '-page%d.png' % a, raise_error=False)
-                                        for a in range (1, page_count + 1)])
-        return True
-    
-    def texstr_is_outdated (self):
-        if backend == 'ps':
-            return 0
 
-        base = self.basename ()
-        return not (self.ly_is_outdated ()
-                    and find_file (base + '.texstr', raise_error=False))
+    def link_all_output_files (self, output_dir, output_dir_files, destination):
+        existing, missing = self.all_output_files (output_dir, output_dir_files)
+        if missing:
+            print '\nMissing', missing
+            raise CompileError(self.basename())
+        for name in existing:
+            try:
+                os.unlink (os.path.join (destination, name))
+            except OSError:
+                pass
+
+            src = os.path.join (output_dir, name)
+            dst = os.path.join (destination, name)
+            os.link (src, dst)
 
+        
+    def all_output_files (self, output_dir, output_dir_files):
+        """Return all files generated in lily_output_dir, a set.
+
+        output_dir_files is the list of files in the output directory.
+        """
+        result = set ()
+        missing = set ()
+        base = self.basename()
+        full = os.path.join (output_dir, base)
+        def consider_file (name):
+            if name in output_dir_files:
+                result.add (name)
+             
+        def require_file (name):
+            if name in output_dir_files:
+                result.add (name)
+            else:
+                missing.add (name)
+
+        # UGH - junk global_options
+        skip_lily = global_options.skip_lilypond_run
+        for required in [base + '.ly',
+                         base + '.txt']:
+            require_file (required)
+        if not skip_lily:
+            require_file (base + '-systems.count')
+
+        map (consider_file, [base + '.tex',
+                             base + '.eps',
+                             base + '.texidoc',
+                             base + '-systems.texi',
+                             base + '-systems.tex',
+                             base + '-systems.pdftexi'])
+
+        # UGH - junk global_options
+        if (base + '.eps' in result and self.format in (HTML, TEXINFO)
+            and not global_options.skip_png_check):
+            page_count = ps_page_count (full + '.eps')
+            if page_count <= 1:
+                require_file (base + '.png')
+            else:
+                for page in range (1, page_count + 1):
+                    require_file (base + '-page%d.png' % page)
+
+        system_count = 0
+        if not skip_lily and not missing:
+            system_count = int(file (full + '-systems.count').read())
+        for number in range(1, system_count + 1):
+            systemfile = '%s-%d' % (base, number)
+            require_file (systemfile + '.eps')
+            consider_file (systemfile + '.pdf')
+        
+        return (result, missing)
+    
+    def is_outdated (self, output_dir, current_files):
+        found, missing = self.all_output_files (output_dir, current_files)
+        return missing
+    
     def filter_text (self):
+        """Run snippet bodies through a command (say: convert-ly).
+
+        This functionality is rarely used, and this code must have bitrot.
+        """
         code = self.substring ('code')
-        s = run_filter (code)
+        s = filter_pipe (code, global_options.filter_cmd)
         d = {
             'code': s,
             'options': self.match.group ('options')
@@ -1158,22 +1216,23 @@ class Lilypond_snippet (Snippet):
         return output[self.format][FILTER] % d
 
     def replacement_text (self):
-        func = Lilypond_snippet.__dict__['output_' + self.format]
+        func = LilypondSnippet.__dict__['output_' + self.format]
         return func (self)
 
     def get_images (self):
         base = self.basename ()
-        # URGUGHUGHUGUGH
+
         single = '%(base)s.png' % vars ()
         multiple = '%(base)s-page1.png' % vars ()
         images = (single,)
-        if os.path.exists (multiple) \
-         and (not os.path.exists (single) \
-            or (os.stat (multiple)[stat.ST_MTIME] \
-              > os.stat (single)[stat.ST_MTIME])):
+        if (os.path.exists (multiple) 
+            and (not os.path.exists (single)
+                 or (os.stat (multiple)[stat.ST_MTIME]
+                     > os.stat (single)[stat.ST_MTIME]))):
             count = ps_page_count ('%(base)s.eps' % vars ())
-            images = ['%s-page%d.png' % (base, a) for a in range (1, count+1)]
+            images = ['%s-page%d.png' % (base, page) for page in range (1, count+1)]
             images = tuple (images)
+            
         return images
 
     def output_docbook (self):
@@ -1195,7 +1254,7 @@ class Lilypond_snippet (Snippet):
     def output_html (self):
         str = ''
         base = self.basename ()
-        if global_options.format == HTML:
+        if self.format == HTML:
             str += self.output_print_filename (HTML)
             if VERBATIM in self.option_dict:
                 verb = verbatim_html (self.verb_ly ())
@@ -1224,13 +1283,13 @@ class Lilypond_snippet (Snippet):
             str += output[TEXINFO][OUTPUTIMAGE] % vars ()
 
         base = self.basename ()
-        str += output[global_options.format][OUTPUT] % vars ()
+        str += output[self.format][OUTPUT] % vars ()
         return str
 
     def output_latex (self):
         str = ''
         base = self.basename ()
-        if global_options.format == LATEX:
+        if self.format == LATEX:
             str += self.output_print_filename (LATEX)
             if VERBATIM in self.option_dict:
                 verb = self.verb_ly ()
@@ -1261,7 +1320,10 @@ class Lilypond_snippet (Snippet):
         base = self.basename ()
         if TEXIDOC in self.option_dict:
             texidoc = base + '.texidoc'
-            if os.path.exists (texidoc):
+            translated_texidoc = texidoc + default_ly_options[LANG]
+            if os.path.exists (translated_texidoc):
+                str += '@include %(translated_texidoc)s\n\n' % vars ()
+            elif os.path.exists (texidoc):
                 str += '@include %(texidoc)s\n\n' % vars ()
 
         substr = ''
@@ -1291,10 +1353,10 @@ class Lilypond_snippet (Snippet):
 re_begin_verbatim = re.compile (r'\s+%.*?begin verbatim.*\n*', re.M)
 re_end_verbatim = re.compile (r'\s+%.*?end verbatim.*$', re.M)
 
-class Lilypond_file_snippet (Lilypond_snippet):
+class LilypondFileSnippet (LilypondSnippet):
     def __init__ (self, type, match, format, line_number):
-        Lilypond_snippet.__init__ (self, type, match, format, line_number)
-        self.contents = open (find_file (self.substring ('filename'))).read ()
+        LilypondSnippet.__init__ (self, type, match, format, line_number)
+        self.contents = file (find_file (self.substring ('filename'))).read ()
 
     def verb_ly (self):
         s = self.contents
@@ -1309,10 +1371,10 @@ class Lilypond_file_snippet (Lilypond_snippet):
 
 
 snippet_type_to_class = {
-    'lilypond_file': Lilypond_file_snippet,
-    'lilypond_block': Lilypond_snippet,
-    'lilypond': Lilypond_snippet,
-    'include': Include_snippet,
+    'lilypond_file': LilypondFileSnippet,
+    'lilypond_block': LilypondSnippet,
+    'lilypond': LilypondSnippet,
+    'include': IncludeSnippet,
 }
 
 def find_linestarts (s):
@@ -1331,16 +1393,16 @@ def find_linestarts (s):
     nls.append (len (s))
     return nls
 
-def find_toplevel_snippets (s, types):
+def find_toplevel_snippets (input_string, format, types):
     res = {}
-    for i in types:
-        res[i] = ly.re.compile (snippet_res[global_options.format][i])
+    for t in types:
+        res[t] = re.compile (snippet_res[format][t])
 
     snippets = []
     index = 0
     found = dict ([(t, None) for t in types])
 
-    line_starts = find_linestarts (s)
+    line_starts = find_linestarts (input_string)
     line_start_idx = 0
     # We want to search for multiple regexes, without searching
     # the string multiple times for one regex.
@@ -1356,14 +1418,13 @@ def find_toplevel_snippets (s, types):
             if not found[type] or found[type][0] < index:
                 found[type] = None
                 
-                m = res[type].search (s[index:endex])
+                m = res[type].search (input_string[index:endex])
                 if not m:
                     continue
 
-                cl = Snippet
-                if snippet_type_to_class.has_key (type):
-                    cl = snippet_type_to_class[type]
-
+                klass = Snippet
+                if type in snippet_type_to_class:
+                    klass = snippet_type_to_class[type]
 
                 start = index + m.start ('match')
                 line_number = line_start_idx
@@ -1371,13 +1432,13 @@ def find_toplevel_snippets (s, types):
                     line_number += 1
 
                 line_number += 1
-                snip = cl (type, m, global_options.format, line_number)
+                snip = klass (type, m, format, line_number)
 
                 found[type] = (start, snip)
 
-            if found[type] \
-             and (not first \
-                or found[type][0] < found[first][0]):
+            if (found[type] 
+                and (not first 
+                     or found[type][0] < found[first][0])):
                 first = type
 
                 # FIXME.
@@ -1393,14 +1454,14 @@ def find_toplevel_snippets (s, types):
                 endex = found[first][0]
 
         if not first:
-            snippets.append (Substring (s, index, len (s), line_start_idx))
+            snippets.append (Substring (input_string, index, len (input_string), line_start_idx))
             break
 
         while (start > line_starts[line_start_idx+1]):
             line_start_idx += 1
 
         (start, snip) = found[first]
-        snippets.append (Substring (s, index, start, line_start_idx + 1))
+        snippets.append (Substring (input_string, index, start, line_start_idx + 1))
         snippets.append (snip)
         found[first] = None
         index = start + len (snip.match.group ('match'))
@@ -1408,6 +1469,8 @@ def find_toplevel_snippets (s, types):
     return snippets
 
 def filter_pipe (input, cmd):
+    """Pass input through cmd, and return the result."""
+    
     if global_options.verbose:
         progress (_ ("Opening filter `%s'") % cmd)
 
@@ -1437,54 +1500,44 @@ def filter_pipe (input, cmd):
 
     return output
 
-def run_filter (s):
-    return filter_pipe (s, global_options.filter_cmd)
+def system_in_directory (cmd, directory):
+    """Execute a command in a different directory.
 
-def is_derived_class (cl, baseclass):
-    if cl == baseclass:
-        return 1
-    for b in cl.__bases__:
-        if is_derived_class (b, baseclass):
-            return 1
-    return 0
-
-def process_snippets (cmd, ly_snippets, texstr_snippets, png_snippets):
-    ly_names = filter (lambda x: x,
-                       map (Lilypond_snippet.basename, ly_snippets))
-    texstr_names = filter (lambda x: x,
-                           map (Lilypond_snippet.basename, texstr_snippets))
+    Because of win32 compatibility, we can't simply use subprocess.
+    """
+    
+    current = os.getcwd()
+    os.chdir (directory)
+    ly.system(cmd, be_verbose=global_options.verbose, 
+              progress_p=1)
+    os.chdir (current)
     
-    png_names = filter (lambda x: x,
-                        map (Lilypond_snippet.basename, png_snippets))
 
-    status = 0
-    def my_system (cmd):
-        status = ly.system (cmd,
-                            be_verbose=global_options.verbose, 
-                            progress_p=1)
+def process_snippets (cmd, snippets,
+                      format, lily_output_dir):
+    """Run cmd on all of the .ly files from snippets."""
 
-    if global_options.format in (HTML, TEXINFO) and '--formats' not in cmd:
+    if not snippets:
+        return
+    
+    if format in (HTML, TEXINFO) and '--formats' not in cmd:
         cmd += ' --formats=png '
-    elif global_options.format in (DOCBOOK) and '--formats' not in cmd:
+    elif format in (DOCBOOK) and '--formats' not in cmd:
         cmd += ' --formats=png,pdf '
 
-        
-    # UGH
-    # the --process=CMD switch is a bad idea
-    # it is too generic for lilypond-book.
-    if texstr_names:
-        my_system (' '.join ([cmd, '--backend texstr',
-                              'snippet-map.ly'] + texstr_names))
-        for l in texstr_names:
-            my_system ('latex %s.texstr' % l)
-
-    if ly_names:
-        open ('snippet-names', 'wb').write ('\n'.join (['snippet-map.ly']
-                                                       + ly_names))
-        
-        my_system (' '.join ([cmd, 'snippet-names']))
-
+    checksum = snippet_list_checksum (snippets)
+    contents = '\n'.join (['snippet-map-%d.ly' % checksum] 
+                          + [snip.basename() for snip in snippets])
+    name = os.path.join (lily_output_dir,
+                         'snippet-names-%d' % checksum)
+    file (name, 'wb').write (contents)
 
+    system_in_directory (' '.join ([cmd, name]),
+                         lily_output_dir)
+            
+        
+###
+# Retrieve dimensions from LaTeX
 LATEX_INSPECTION_DOCUMENT = r'''
 \nonstopmode
 %(preamble)s
@@ -1516,7 +1569,7 @@ def get_latex_textwidth (source):
     tmp_handle.close ()
     
     ly.system ('latex %s' % tmpfile, be_verbose=global_options.verbose)
-    parameter_string = open (logfile).read()
+    parameter_string = file (logfile).read()
     
     os.unlink (tmpfile)
     os.unlink (logfile)
@@ -1549,21 +1602,7 @@ def modify_preamble (chunk):
                + r"\\begin{document}",
                str)
         chunk.override_text = str 
-        
-    
 
-ext2format = {
-    '.html': HTML,
-    '.itely': TEXINFO,
-    '.latex': LATEX,
-    '.lytex': LATEX,
-    '.tely': TEXINFO,
-    '.tex': LATEX,
-    '.texi': TEXINFO,
-    '.texinfo': TEXINFO,
-    '.xml': HTML,
-    '.lyxml': DOCBOOK
-}
 
 format2ext = {
     HTML: '.html',
@@ -1573,70 +1612,87 @@ format2ext = {
     DOCBOOK: '.xml'
 }
 
-class Compile_error:
+class CompileError(Exception):
     pass
 
+def snippet_list_checksum (snippets):
+    return hash (' '.join([l.basename() for l in snippets]))
+
 def write_file_map (lys, name):
-    snippet_map = open ('snippet-map.ly', 'w')
+    snippet_map = file (os.path.join (
+        global_options.lily_output_dir,
+        'snippet-map-%d.ly' % snippet_list_checksum (lys)), 'w')
+
     snippet_map.write ("""
 #(define version-seen #t)
 #(define output-empty-score-list #f)
-#(ly:add-file-name-alist '(
-""")
-    for ly in lys:
-        snippet_map.write ('("%s.ly" . "%s")\n'
-                 % (ly.basename (),
-                   name))
-
-    snippet_map.write ('))\n')
-
-def do_process_cmd (chunks, input_name):
-    all_lys = filter (lambda x: is_derived_class (x.__class__,
-                           Lilypond_snippet),
-                      chunks)
-
-    write_file_map (all_lys, input_name)
-    ly_outdated = filter (lambda x: is_derived_class (x.__class__,
-                                                      Lilypond_snippet)
-                          and x.ly_is_outdated (), chunks)
-    texstr_outdated = filter (lambda x: is_derived_class (x.__class__,
-                                                          Lilypond_snippet)
-                              and x.texstr_is_outdated (),
-                              chunks)
-    png_outdated = filter (lambda x: is_derived_class (x.__class__,
-                                                        Lilypond_snippet)
-                           and x.png_is_outdated (),
-                           chunks)
-
-    outdated = png_outdated + texstr_outdated + ly_outdated
+#(ly:add-file-name-alist '(%s
+    ))\n
+""" % '\n'.join(['("%s.ly" . "%s")\n' % (ly.basename (), name)
+                 for ly in lys]))
+
+def do_process_cmd (chunks, input_name, options):
+    snippets = [c for c in chunks if isinstance (c, LilypondSnippet)]
+
+
+    output_files = set(os.listdir(options.lily_output_dir))
+    outdated = [c for c in snippets if c.is_outdated (options.lily_output_dir, output_files)]
     
+    write_file_map (outdated, input_name)    
     progress (_ ("Writing snippets..."))
-    map (Lilypond_snippet.write_ly, ly_outdated)
+    for snippet in outdated:
+        snippet.write_ly()
     progress ('\n')
 
     if outdated:
         progress (_ ("Processing..."))
         progress ('\n')
-        process_snippets (global_options.process_cmd, ly_outdated, texstr_outdated, png_outdated)
+        process_snippets (options.process_cmd, outdated,
+                          options.format, options.lily_output_dir)
+
     else:
         progress (_ ("All snippets are up to date..."))
+
+    if options.lily_output_dir != options.output_dir:
+        output_files = set(os.listdir(options.lily_output_dir))
+        for snippet in snippets:
+            snippet.link_all_output_files (options.lily_output_dir,
+                                           output_files,
+                                           options.output_dir)
+
     progress ('\n')
 
+
+###
+# Format guessing data
+ext2format = {
+    '.html': HTML,
+    '.itely': TEXINFO,
+    '.latex': LATEX,
+    '.lytex': LATEX,
+    '.tely': TEXINFO,
+    '.tex': LATEX,
+    '.texi': TEXINFO,
+    '.texinfo': TEXINFO,
+    '.xml': HTML,
+    '.lyxml': DOCBOOK
+}
+
 def guess_format (input_filename):
     format = None
     e = os.path.splitext (input_filename)[1]
-    if e in ext2format.keys ():
+    if e in ext2format:
         # FIXME
         format = ext2format[e]
     else:
-        error (_ ("cannot determine format for: %s" \
-              % input_filename))
+        error (_ ("cannot determine format for: %s"
+                  % input_filename))
         exit (1)
     return format
 
 def write_if_updated (file_name, lines):
     try:
-        f = open (file_name)
+        f = file (file_name)
         oldstr = f.read ()
         new_str = ''.join (lines)
         if oldstr == new_str:
@@ -1650,9 +1706,10 @@ def write_if_updated (file_name, lines):
         pass
 
     progress (_ ("Writing `%s'...") % file_name)
-    open (file_name, 'w').writelines (lines)
+    file (file_name, 'w').writelines (lines)
     progress ('\n')
 
+
 def note_input_file (name, inputs=[]):
     ## hack: inputs is mutable!
     inputs.append (name)
@@ -1680,39 +1737,39 @@ def do_file (input_filename):
             input_fullname = find_file (input_filename)
 
         note_input_file (input_fullname)
-        in_handle = open (input_fullname)
+        in_handle = file (input_fullname)
 
     if input_filename == '-':
         input_base = 'stdin'
     else:
-        input_base = os.path.basename \
-                     (os.path.splitext (input_filename)[0])
+        input_base = os.path.basename (
+            os.path.splitext (input_filename)[0])
 
-    # Only default to stdout when filtering.
-    if global_options.output_name == '-' or (not global_options.output_name and global_options.filter_cmd):
-        output_filename = '-'
-        output_file = sys.stdout
+    # don't complain when global_options.output_dir is existing
+    if not global_options.output_dir:
+        global_options.output_dir = os.getcwd()
     else:
-        # don't complain when global_options.output_name is existing
-        output_filename = input_base + format2ext[global_options.format]
-        if global_options.output_name:
-            if not os.path.isdir (global_options.output_name):
-                os.mkdir (global_options.output_name, 0777)
-            os.chdir (global_options.output_name)
-        else: 
-            if (os.path.exists (input_filename) 
-                and os.path.exists (output_filename) 
-                and samefile (output_filename, input_fullname)):
-             error (
-             _ ("Output would overwrite input file; use --output."))
-             exit (2)
+        global_options.output_dir = os.path.abspath(global_options.output_dir)
+        
+        if not os.path.isdir (global_options.output_dir):
+            os.mkdir (global_options.output_dir, 0777)
+        os.chdir (global_options.output_dir)
+
+    output_filename = os.path.join(global_options.output_dir,
+                                   input_base + format2ext[global_options.format])
+    if (os.path.exists (input_filename) 
+        and os.path.exists (output_filename) 
+        and samefile (output_filename, input_fullname)):
+     error (
+     _ ("Output would overwrite input file; use --output."))
+     exit (2)
 
     try:
         progress (_ ("Reading %s...") % input_fullname)
         source = in_handle.read ()
         progress ('\n')
 
-        set_default_options (source)
+        set_default_options (source, default_ly_options, global_options.format)
 
 
         # FIXME: Containing blocks must be first, see
@@ -1728,7 +1785,7 @@ def do_file (input_filename):
             'lilypond',
         )
         progress (_ ("Dissecting..."))
-        chunks = find_toplevel_snippets (source, snippet_types)
+        chunks = find_toplevel_snippets (source, global_options.format, snippet_types)
 
         if global_options.format == LATEX:
             for c in chunks:
@@ -1742,7 +1799,7 @@ def do_file (input_filename):
             write_if_updated (output_filename,
                      [c.filter_text () for c in chunks])
         elif global_options.process_cmd:
-            do_process_cmd (chunks, input_fullname)
+            do_process_cmd (chunks, input_fullname, global_options)
             progress (_ ("Compiling %s...") % output_filename)
             progress ('\n')
             write_if_updated (output_filename,
@@ -1757,29 +1814,24 @@ def do_file (input_filename):
             return do_file (name)
 
         include_chunks = map (process_include,
-                   filter (lambda x: is_derived_class (x.__class__,
-                                     Include_snippet),
-                       chunks))
-
+                              filter (lambda x: isinstance (x, IncludeSnippet),
+                                      chunks))
 
-        return chunks + reduce (lambda x,y: x + y, include_chunks, [])
+        return chunks + reduce (lambda x, y: x + y, include_chunks, [])
         
-    except Compile_error:
+    except CompileError:
         os.chdir (original_dir)
         progress (_ ("Removing `%s'") % output_filename)
         progress ('\n')
-        raise Compile_error
+        raise CompileError
 
 def do_options ():
-
     global global_options
 
     opt_parser = get_option_parser()
     (global_options, args) = opt_parser.parse_args ()
-
     if global_options.format in ('texi-html', 'texi'):
         global_options.format = TEXINFO
-    global_options.use_hash = True
 
     global_options.include_path =  map (os.path.abspath, global_options.include_path)
     
@@ -1792,29 +1844,11 @@ def do_options ():
         
     return args
 
-def psfonts_warning (options, basename):
-    if options.format in (TEXINFO, LATEX):
-        psfonts_file = os.path.join (options.output_name, basename + '.psfonts')
-        output = os.path.join (options.output_name, basename +  '.dvi' )
-
-        if not options.create_pdf:
-            if not options.psfonts:
-                warning (_ ("option --psfonts not used"))
-                warning (_ ("processing with dvips will have no fonts"))
-            else:
-                progress ('\n')
-                progress (_ ("DVIPS usage:"))
-                progress ('\n')
-                progress ("    dvips -h %(psfonts_file)s %(output)s" % vars ())
-                progress ('\n')
-
 def main ():
     # FIXME: 85 lines of `main' macramee??
     files = do_options ()
 
-    file = files[0]
-
-    basename = os.path.splitext (file)[0]
+    basename = os.path.splitext (files[0])[0]
     basename = os.path.split (basename)[1]
     
     if not global_options.format:
@@ -1824,14 +1858,13 @@ def main ():
     if global_options.format in (TEXINFO, HTML, DOCBOOK):
         formats += ',png'
 
-        
     if global_options.process_cmd == '':
         global_options.process_cmd = (lilypond_binary 
-                                      + ' --formats=%s --backend eps ' % formats)
+                                      + ' --formats=%s -dbackend=eps ' % formats)
 
     if global_options.process_cmd:
         global_options.process_cmd += ' '.join ([(' -I %s' % ly.mkarg (p))
-                              for p in global_options.include_path])
+                                                 for p in global_options.include_path])
 
     if global_options.format in (TEXINFO, LATEX):
         ## prevent PDF from being switched on by default.
@@ -1847,41 +1880,32 @@ def main ():
         
     global_options.process_cmd += " -dread-file-list "
 
-    identify ()
+    if global_options.lily_output_dir:
+        global_options.lily_output_dir = os.path.abspath(global_options.lily_output_dir)
+        if not os.path.isdir (global_options.lily_output_dir):
+            os.makedirs (global_options.lily_output_dir)
+    else:
+        global_options.lily_output_dir = os.path.abspath(global_options.output_dir)
+        
 
+    identify ()
     try:
-        chunks = do_file (file)
-        if global_options.psfonts:
-            fontextract.verbose = global_options.verbose
-            snippet_chunks = filter (lambda x: is_derived_class (x.__class__,
-                                       Lilypond_snippet),
-                        chunks)
-
-            psfonts_file = basename + '.psfonts' 
-            if not global_options.verbose:
-                progress (_ ("Writing fonts to %s...") % psfonts_file)
-            fontextract.extract_fonts (psfonts_file,
-                         [x.basename() + '.eps'
-                          for x in snippet_chunks])
-            if not global_options.verbose:
-                progress ('\n')
-            
-    except Compile_error:
+        chunks = do_file (files[0])
+    except CompileError:
         exit (1)
 
-    psfonts_warning (global_options, basename)
-
     inputs = note_input_file ('')
     inputs.pop ()
 
-    base_file_name = os.path.splitext (os.path.basename (file))[0]
-    dep_file = os.path.join (global_options.output_name, base_file_name + '.dep')
-    final_output_file = os.path.join (global_options.output_name,
+    base_file_name = os.path.splitext (os.path.basename (files[0]))[0]
+    dep_file = os.path.join (global_options.output_dir, base_file_name + '.dep')
+    final_output_file = os.path.join (global_options.output_dir,
                      base_file_name
                      + '.%s' % global_options.format)
     
     os.chdir (original_dir)
-    open (dep_file, 'w').write ('%s: %s' % (final_output_file, ' '.join (inputs)))
+    file (dep_file, 'w').write ('%s: %s'
+                                % (final_output_file, ' '.join (inputs)))
 
 if __name__ == '__main__':
     main ()
index 810b9108c6ef6102cae9b75b09a43e8aa561043d..6fb037092cb168dcfc46bd6f3f073cddb2bb1677 100644 (file)
@@ -39,10 +39,9 @@ global _;_=ly._
 
 output_name = ''
 LINE_BELL = 60
-scale_steps = [0,2,4,5,7,9,11]
+scale_steps = [0, 2, 4, 5, 7, 9, 11]
 global_options = None
 
-
 clocks_per_1 = 1536
 clocks_per_4 = 0
 
@@ -100,7 +99,6 @@ def strip_extension (f, ext):
     return p + e
 
 
-
 class Duration:
     allowed_durs = (1, 2, 4, 8, 16, 32, 64, 128)
     def __init__ (self, clocks):
index f808a8325b5a67655ac0cd3ffce223258a332150..a429b752510dbcb104937f080be03548f4493572 100644 (file)
@@ -727,15 +727,10 @@ def musicxml_barline_to_lily (barline):
 
     return retval.values ()
 
-# Brackets need a special engraver added the Staff context!
-def musicxml_bracket_to_ly ():
-    layout_information.set_context_item ('Staff', '\consists "Horizontal_bracket_engraver"  % for \\startGroup and \\stopGroup brackets')
-    return musicexp.BracketSpannerEvent ()
-
 spanner_event_dict = {
     'beam' : musicexp.BeamEvent,
     'dashes' : musicexp.TextSpannerEvent,
-    'bracket' : musicxml_bracket_to_ly,
+    'bracket' : musicexp.BracketSpannerEvent,
     'glissando' : musicexp.GlissandoEvent,
     'octave-shift' : musicexp.OctaveShiftEvent,
     'pedal' : musicexp.PedalEvent,
@@ -1653,7 +1648,13 @@ def musicxml_voice_to_lily_voice (voice):
                 ev = musicxml_spanner_to_lily_event (a)
                 if ev:
                     ev_chord.append (ev)
-                
+
+            # accidental-marks are direct children of <notation>!
+            for a in notations.get_named_children ('accidental-mark'):
+                ev = musicxml_articulation_to_lily_event (a)
+                if ev:
+                    ev_chord.append (ev)
+
             # Articulations can contain the following child elements:
             #         accent | strong-accent | staccato | tenuto |
             #         detached-legato | staccatissimo | spiccato |
index f8ccc468ae29c0cd99b582ad4dd72ab47896ead6..55cad14e41d5599a5ed3983a1b7fabe0a6cf75b9 100644 (file)
@@ -8,6 +8,6 @@ DVI_FILES += $(MF_DVI_FILES)
 TFM_FILES += $(MF_TFM_FILES)
 
 MF2PT1_OPTIONS=--rounding=0.0001 \
-               --family=$(<:%.mf=%) \
-               --fullname=$(<:%.mf=%) \
-               --name=$(<:%.mf=%)
+               --family=$(notdir $(<:%.mf=%)) \
+               --fullname=$(notdir $(<:%.mf=%)) \
+               --name=$(notdir $(<:%.mf=%))
index 790673c3e566f293f68eee5b4e8bd51d2a637b09..ef835d66bbde8356999f8299ab0832733784c363 100644 (file)
@@ -3,7 +3,7 @@
 % Load plain if necessary, i.e., if running under initex.
 \expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
 %
-\def\texinfoversion{2008-03-07.10}
+\def\texinfoversion{2008-03-31.10}
 %
 % Copyright (C) 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995,
 % 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
@@ -1367,8 +1367,11 @@ output) for that.)}
           \openin 1 #1.jpeg \ifeof 1
             \openin 1 #1.JPG \ifeof 1
               \openin 1 #1.pdf \ifeof 1
-                \errhelp = \nopdfimagehelp
-                \errmessage{Could not find image file #1 for pdf}%
+                \openin 1 #1.PDF \ifeof 1
+                  \errhelp = \nopdfimagehelp
+                  \errmessage{Could not find image file #1 for pdf}%
+                \else \gdef\pdfimgext{PDF}%
+                \fi
               \else \gdef\pdfimgext{pdf}%
               \fi
             \else \gdef\pdfimgext{JPG}%
@@ -1382,7 +1385,7 @@ output) for that.)}
       \closein 1
     \endgroup
     %
-    % without \immediate, pdftex seg faults when the same image is
+    % without \immediate, ancient pdftex seg faults when the same image is
     % included twice.  (Version 3.14159-pre-1.0-unofficial-20010704.)
     \ifnum\pdftexversion < 14
       \immediate\pdfimage
@@ -6967,20 +6970,22 @@ end
   %
   % Make link in pdf output.
   \ifpdf
-    \leavevmode
-    \getfilename{#4}%
     {\indexnofonts
      \turnoffactive
+     % This expands tokens, so do it after making catcode changes, so _
+     % etc. don't get their TeX definitions.
+     \getfilename{#4}%
+     %
      % See comments at \activebackslashdouble.
      {\activebackslashdouble \xdef\pdfxrefdest{#1}%
       \backslashparens\pdfxrefdest}%
      %
+     \leavevmode
+     \startlink attr{/Border [0 0 0]}%
      \ifnum\filenamelength>0
-       \startlink attr{/Border [0 0 0]}%
-         goto file{\the\filename.pdf} name{\pdfxrefdest}%
+       goto file{\the\filename.pdf} name{\pdfxrefdest}%
      \else
-       \startlink attr{/Border [0 0 0]}%
-         goto name{\pdfmkpgn{\pdfxrefdest}}%
+       goto name{\pdfmkpgn{\pdfxrefdest}}%
      \fi
     }%
     \setcolor{\linkcolor}%
@@ -7435,15 +7440,19 @@ end
   % If the image is by itself, center it.
   \ifvmode
     \imagevmodetrue
-    \nobreak\bigskip
+    \nobreak\medskip
     % Usually we'll have text after the image which will insert
     % \parskip glue, so insert it here too to equalize the space
     % above and below.
     \nobreak\vskip\parskip
     \nobreak
-    \line\bgroup
   \fi
   %
+  % Leave vertical mode so that indentation from an enclosing
+  % environment such as @quotation is respected.  On the other hand, if
+  % it's at the top level, we don't want the normal paragraph indentation.
+  \noindent
+  %
   % Output the image.
   \ifpdf
     \dopdfimage{#1}{#2}{#3}%
@@ -7454,7 +7463,7 @@ end
     \epsfbox{#1.eps}%
   \fi
   %
-  \ifimagevmode \egroup \bigbreak \fi  % space after the image
+  \ifimagevmode \medskip \fi  % space after the standalone image
 \endgroup}