gcstat*.scm
lily-[0-9a-f][0-9a-f][0-9a-f]*
nohup.out
+out
out-cov
out-scons
out-test
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),)
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:
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
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
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
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
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.
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
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
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
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
@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
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
símbolos de articulación. Ciertos conceptos notacionales se introducen específicamente para
la notación antigua,
-@itemize @bullet
+@itemize
@item
@ref{Custodes},
@item
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::
@node Ancient note heads
-@unnumberedsubsubsec Ancient note heads
+@subsubsection Ancient note heads
@cindex cabezas de nota antiguas
@node Ancient accidentals
-@unnumberedsubsubsec Ancient accidentals
+@subsubsection Ancient accidentals
@cindex alteraciones accidentales
@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.
Ejemplos: @lsrdir{ancient}
@node Ancient rests
-@unnumberedsubsubsec Ancient rests
+@subsubsection Ancient rests
@cindex silencios antiguos
@node Ancient clefs
-@unnumberedsubsubsec Ancient clefs
+@subsubsection Ancient clefs
@cindex claves
@node Ancient flags
-@unnumberedsubsubsec Ancient flags
+@subsubsection Ancient flags
@cindex corchetes
notación mensural).
@node Ancient time signatures
-@unnumberedsubsubsec Ancient time signatures
+@subsubsection Ancient time signatures
@cindex compás, indicación de
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.
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
@node Divisiones
-@unnumberedsubsubsec Divisiones
+@subsubsection Divisiones
@cindex divisio
@cindex divisiones
@node Ligatures
-@unnumberedsubsubsec Ligatures
+@subsubsection Ligatures
@cindex Ligaduras
@end menu
@node White mensural ligatures
-@unnumberedsubsubsec White mensural ligatures
+@subsubsection White mensural ligatures
@cindex ligaduras mensurales
@cindex ligaduras mensurales blancas
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
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
@node Mensural contexts
-@unnumberedsubsubsec Mensural contexts
+@subsubsection Mensural contexts
@cindex MensuralVoiceContext
@cindex MensuralStaffContext
@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
@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]
<<
>>
@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).
@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
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.
@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
@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.
@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
@node Bagpipe example
-@unnumberedsubsubsec Bagpipe example
+@subsubsection Bagpipe example
La conocida melodía Amazing Grace tiene este aspecto en notación de
gaita.
@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.
@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
@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.
@node Printing chord names
-@unnumberedsubsubsec Printing chord names
+@subsubsection Printing chord names
@cindex impresión de los nombres de acorde
@cindex acordes, nombres de
@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.
-@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.
@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::
@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
@menu
* Balloon help::
* Grid lines::
-* Blank music sheet::
+* Analysis brackets::
@end menu
@node Balloon help
@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.
@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 }
@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
@node Dynamics
@subsubsection Dynamics
-@cindex Dynamics
+@cindex dinámica
@funindex \pppp
@funindex \ppp
@funindex \pp
@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
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
\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
\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
@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)
@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 }
>>
@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
@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
@seealso
+Glosario musical: @rglos{trill}
+
Fragmentos de código: @lsrdir{Expressive,Expressive-marks}
Referencia de funcionamiento interno: @internalsref{TrillSpanner}.
@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.
@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 menu
@node String number indications
-@unnumberedsubsubsec String number indications
+@subsubsection String number indications
@cindex Cuerda, número de la
@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
@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
@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
@node Fret diagrams
-@unnumberedsubsubsec Fret diagrams
+@subsubsection Fret diagrams
@cindex trastes, diagramas de
@cindex acordes, diagramas de
@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}}
@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:
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}.
@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.
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
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?
@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.
@seealso
-Referencia del programa: @internalsref{Contexts}.
+Referencia de funcionamiento interno: @internalsref{Contexts}.
@lilypond[quote,ragged-right]
\include "engraver-example.ily"
@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
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}}
Existen otras fuentes de información que pueden resultar muy útiles.
-@itemize @bullet
+@itemize
@cindex frase idiomática
@cindex jerga
@cindex terminología
@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.
@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
@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.
\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.
@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
@titlepage
@title LilyPond
@subtitle El tipografiador de música
-@titlefont{Learning Manual}
+@titlefont{Manual de aprendizaje}
@author El equipo de desarrollo de LilyPond
@include preface.itely
@include introduction.itely
@include tutorial.itely
-@include putting.itely
+@include fundamental.itely
@include tweaks.itely
@include working.itely
-@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
@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.
@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
@node Entering percussion
-@unnumberedsubsubsec Entering percussion
+@subsubsection Entering percussion
@cindex percusión
@cindex batería
Referencia del programa: @internalsref{note-event}.
@node Percussion staves
-@unnumberedsubsubsec Percussion staves
+@subsubsection Percussion staves
@cindex percusión
@cindex batería
@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,
@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::
@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
@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
@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
@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
@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
@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
<<
@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
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]
@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
@seealso
-Referencia del programa: @internalsref{VoiceFollower}.
+Referencia de funcionamiento interno: @internalsref{VoiceFollower}.
@predefined
@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
@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.
@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.
@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
\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 @{
@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. } }
}
@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
\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
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}
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.
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' {
}
@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
@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}.
+
+
+
@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.
@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.
@menu
* Durations::
-* Augmentation dots::
* Tuplets::
* Scaling durations::
* Ties::
@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
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
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
@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 {
}
@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
@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.
+
@menu
* Rests::
* Skips::
-* Multi measure rests::
+* Full measure rests::
@end menu
@node Rests
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
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
@menu
* Automatic beams::
+* Setting automatic beam behavior::
* Manual beams::
* Feathered beams::
@end menu
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
@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.
@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.
@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.
@end menu
@node Basic polyphony
-@unnumberedsubsubsec Basic polyphony
+@subsubsection Basic polyphony
@cindex polyphony
@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
@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
@node Automatic part combining
-@unnumberedsubsubsec Automatic part combining
+@subsubsection Automatic part combining
@cindex particellas, combinación automática
@cindex particellas, combinador de
@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
@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.
@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.
@end menu
@node System start delimiters
-@unnumberedsubsubsec System start delimiters
+@subsubsection System start delimiters
@cindex comienzo del sistema
@cindex Pentagramas, varios
@node Staff symbol
-@unnumberedsubsubsec Staff symbol
+@subsubsection Staff symbol
@cindex ajuste del símbolo del pentagrama
@node Hiding staves
-@unnumberedsubsubsec Hiding staves
+@subsubsection Hiding staves
@cindex Francesa, partituras a la
@cindex Ocultación de pentagramas
@end menu
@node Metronome marks
-@unnumberedsubsubsec Metronome marks
+@subsubsection Metronome marks
@cindex Tempo
@cindex pulsos por minuto
@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.
@node Quoting other voices
-@unnumberedsubsubsec Quoting other voices
+@subsubsection Quoting other voices
@cindex guías
@node Formatting cue notes
-@unnumberedsubsubsec Formatting cue notes
+@subsubsection Formatting cue notes
@cindex guía, formateo de las notas
@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.
@end menu
@node Artificial harmonics (strings)
-@unnumberedsubsubsec Artificial harmonics (strings)
+@subsubsection Artificial harmonics (strings)
@cindex armónicos artificiales
@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.
@end menu
@node Text scripts
-@unnumberedsubsubsec Text scripts
+@subsubsection Text scripts
@cindex Texto, inscripciones de
@cindex texto, elementos no vacíos de
@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
@node Text spanners
-@unnumberedsubsubsec Text spanners
+@subsubsection Text spanners
@cindex Texto, objetos de extensión de
@node Text marks
-@unnumberedsubsubsec Text marks
+@subsubsection Text marks
@cindex coda sobre la línea divisoria
@cindex segno sobre la línea divisoria
@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
@end menu
@node Text markup introduction
-@unnumberedsubsubsec Text markup introduction
+@subsubsection Text markup introduction
@cindex marcado
@cindex texto, marcado de
@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
@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:
@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
@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.
@menu
+* Tweaking basics::
+* The Internals Reference manual::
* Moving objects::
* Fixing overlapping notation::
* Common tweaks::
* 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
@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,
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
@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
@end example
Para hacer que la letra evite las líneas divisorias también, utilice
+
@example
\layout @{
\context @{
@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
\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
\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
@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
@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
\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 @}
@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
@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]
<<
@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.
@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" {
@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
@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 = #'()
{ 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]
<<
@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 (?)
@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
@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 @}
@}
@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} @}
>>
@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"
@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::
@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]
%{
<<
@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' }
@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.
@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{ <<
@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]
<<
@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" @{
@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.
@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]
{
}
@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 {
}
@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 {
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 = {
>>
@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 {
@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' {
@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' {
@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.
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
@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.
@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
* General suggestions::
* Typesetting existing music::
* Large projects::
+* Saving typing with variables and functions::
+* Style sheets::
@end menu
@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
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
@}
@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@{
@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
@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)
@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,
\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
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
@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
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
@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
\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.
@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
\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.
@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
\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.
@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::
@node Writing pitches
@subsection Writing pitches
-Intro text.
+Cette section
@menu
* Normal pitches::
@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
# 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
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"
#. @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"
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)"
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"
msgstr "Mehr Information"
#. @rglos in ../../../Documentation/user/tutorial.itely
+#. @rglos in ../../../Documentation/es/user/tutorial.itely
msgid "foo"
msgstr ""
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"
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"
#. @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
#. @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
#. @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
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"
#. @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
#. @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"
#. @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
#. @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"
#. @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
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
#. @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
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
#. @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
#. @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
#. @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"
#. @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
#. @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"
#. @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
#. @rglos in ../../../Documentation/user/tutorial.itely
#. @rglos in ../../../Documentation/user/rhythms.itely
-#, fuzzy
msgid "acciaccatura"
msgstr "Vorschlag"
#. @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"
#. @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"
#. @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
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"
#. @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
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"
#. @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"
#. @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"
#. @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
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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
#. @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"
#. @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"
#. @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
#. @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
#. @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"
#. @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"
#. @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
#. @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"
#. @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"
#. @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"
#. @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
#. @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"
#. @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
#. @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
#. @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"
#. @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"
#. @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
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
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
#. @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
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"
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"
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"
#. @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"
#. @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"
#. @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"
#. @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
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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
#. @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"
#. @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
#. @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
#. @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
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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)"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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?"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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
#. @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
#. @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
#. @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
#. @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
#. @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"
#. @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"
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
#. @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
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 ""
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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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)"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
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
#. @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"
#. @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"
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:"
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"
-# 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"
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"
#. @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
#. @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
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
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"
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
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
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
#. @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
#. @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
#. @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
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
#. @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
#. @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
#. @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
#. @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
#. @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"
#. @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
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
#. @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
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
#. @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
#. @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
#. @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
#. @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
#. @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
#. @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
#. @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
#. @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
#. @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
#. @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
#. @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
#. @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
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
#. @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
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
#. @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
#. @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
#. @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
#. @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
#. @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
#. @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
#. @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
#. @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
#. @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
#. @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
#. @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
#. @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
#. @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
#. @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
#. @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
#. @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
#. @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"
#. @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
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
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
#. @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
#. @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
#. @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"
#. @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"
#. @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"
#. @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"
#. @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
#. @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
#. @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
#. @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"
#. @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
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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
#. @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"
#. @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
#. @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
#. @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
#. @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
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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)"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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
#. @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
#. @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
#. @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
#. @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
#. @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
#. @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"
#. @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"
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
#. @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
#. @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
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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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)"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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:"
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"
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"
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"
#. @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"
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"
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"
# 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"
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"
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"
#. @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
#. @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
#. @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
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"
#. @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
#. @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"
#. @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
#. @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"
#. @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
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
#. @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
#. @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
#. @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
#. @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"
#. @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
#. @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"
#. @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
#. @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"
#. @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"
#. @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"
#. @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
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"
#. @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
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"
#. @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"
#. @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"
#. @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
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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
#. @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"
#. @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"
#. @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
#. @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
#. @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"
#. @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"
#. @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"
#. @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"
#. @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
#. @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"
#. @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"
#. @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"
#. @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
#. @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"
#. @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
#. @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
#. @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"
#. @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"
#. @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
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
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
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"
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"
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"
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"
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"
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"
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"
#. @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"
#. @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"
#. @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"
#. @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"
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
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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
#. @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"
#. @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
#. @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
#. @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
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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)"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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?"
#. @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?"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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
#. @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"
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
#. @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"
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 ""
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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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)"
#. @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"
#. @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"
#. @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"
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
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
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"
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"
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 :"
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"
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"
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 ""
#. @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 ""
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 ""
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 ""
msgstr ""
#. @rglos in ../../../Documentation/user/tutorial.itely
+#. @rglos in ../../../Documentation/es/user/tutorial.itely
msgid "foo"
msgstr ""
msgstr ""
#. @rglos in ../../../Documentation/user/tutorial.itely
+#. @rglos in ../../../Documentation/es/user/tutorial.itely
#. @rglos in ../../../Documentation/de/user/tutorial.itely
msgid "pitch"
msgstr ""
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 ""
#. @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
#. @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
#. @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
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 ""
#. @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
#. @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 ""
#. @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
#. @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 ""
#. @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
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
#. @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
#. @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
#. @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
#. @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"
#. @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
#. @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 ""
#. @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
#. @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"
#. @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 ""
#. @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 ""
#. @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
msgstr ""
#. @rglos in ../../../Documentation/user/tutorial.itely
+#. @rglos in ../../../Documentation/es/user/tutorial.itely
#. @rglos in ../../../Documentation/de/user/tutorial.itely
msgid "lyrics"
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
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"
#. @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"
#. @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"
#. @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
#. @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"
#. @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"
#. @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"
#. @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 ""
#. @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"
#. @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"
#. @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"
#. @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
#. @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"
#. @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"
#. @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
#. @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
#. @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"
#. @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"
#. @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 ""
#. @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
#. @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"
#. @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"
#. @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 ""
#. @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
#. @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 ""
#. @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
#. @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
#. @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 ""
#. @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"
#. @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
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
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
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 ""
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"
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"
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"
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"
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"
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 ""
#. @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 ""
#. @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 ""
#. @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"
#. @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 ""
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
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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 ""
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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
#. @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"
#. @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
#. @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
#. @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
#. @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
#. @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
#. @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 ""
#. @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"
#. @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"
#. @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"
#. @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
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 ""
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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 ""
#. @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 ""
#. @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 ""
#. @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 ""
#. @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 ""
#. @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 ""
#. @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 ""
#. @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 ""
#. @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 ""
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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 ""
#. @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"
#. @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"
#. @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"
#. @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 ""
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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)"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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?"
#. @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?"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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
#. @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"
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
#. @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 ""
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 ""
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 ""
#. @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
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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"
#. @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)"
#. @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"
#. @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"
#. @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 ""
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
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
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 ""
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 ""
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 ""
<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
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>
</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">
</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">
<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>
<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>
</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>
</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">
</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">
<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>
<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>
<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>
<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>
<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>
<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">
<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">
<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>
</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>
<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>
</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>
<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>
</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>
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
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) @} >
@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
@menu
* Interpretation contexts::
* The \override command::
+* Discussion of specific tweaks::
@end menu
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.
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.
@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
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
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;
\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
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
+
@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)
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.
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
@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
@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
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" }
< 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
@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
@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
@node Parentheses
-@subsubsection Parentheses
+@unnumberedsubsubsec Parentheses
@cindex ghost notes
@cindex notes, ghost
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
@seealso
-Snippets: @lsrdir{Editorial,Editorial-annotations}.
+Snippets:
+@lsrdir{Editorial,Editorial-annotations}.
+
+@knownissues
+
+Rests cannot be parenthesized.
@node Stems
-@subsubsection Stems
+@unnumberedsubsubsec Stems
@cindex stem
@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
@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
@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.
\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
@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 {
}
\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}.
@menu
* Articulations and ornamentations::
* Dynamics::
+* New dynamic marks::
@end menu
@node Articulations and ornamentations
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
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
@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{}"}
@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
@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.
@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.
\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
@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
@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
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
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}.
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
@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
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]
\clef "bass"
\new Voice = "basses" @{ \global \bassMusic @}
>>
- \new Lyrics \lyricsto "basses" @{ bassWords @}
+ \new Lyrics \lyricsto "basses" @{ \bassWords @}
>> % end ChoirStaff
\new PianoStaff <<
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
@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
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
@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
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
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
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.
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
\fretmode ?
-
-
@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
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
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
@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
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
@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
@unnumberedsubsubsec International fonts
-On MacOs X, 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.
@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
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},
@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
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
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.
@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.
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
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
@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
* note value::
* octavation::
* octave::
+* octave mark::
* octave marking::
* octave sign::
* ornament::
* unison::
* upbeat::
* voice::
+* volta::
* weak beat::
* whole note::
* whole rest::
F: intervalle ascendant,
D: steigendes Intervall,
NL: stijgend interval,
-DK:@w{ }stigende interval,
+DK: stigende interval,
S: stigande intervall,
FI: nouseva intervalli.
@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
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
@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
@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
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
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
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:
\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
@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:
@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
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
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
S: ?,
FI: ?.
-Using two or more metric frameworks simultaneously or in regular
-alternation
+Using two or more metric frameworks simultaneously or in alternation.
@seealso
S: ?,
FI: ?.
-Time signature indicating regularly alternating polymetric time.
+A time signature that indicates regularly alternating polymetric time.
@seealso
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
@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
@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
@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
@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
@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
@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
@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
@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
@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
@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
@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
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]
@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
\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
* 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::
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}).
@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}.
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
@seealso
-Music Glossary: @rglos{Pitch names}.
+Music Glossary:
+@rglos{Pitch names}.
-Snippets: @lsrdir{Pitches,Pitches}.
+Snippets:
+@lsrdir{Pitches,Pitches}.
@node Relative octave entry
@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
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
@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.
@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
@seealso
-Music Glossary: @rglos{Pitch names}.
+Music Glossary:
+@rglos{Pitch names}.
-Snippets: @lsrdir{Pitches,Pitches}.
+Snippets:
+@lsrdir{Pitches,Pitches}.
@node Changing multiple pitches
@seealso
-Snippets: @lsrdir{Pitches,Pitches}.
+Snippets:
+@lsrdir{Pitches,Pitches}.
@node Transpose
@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
@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
@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.
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}.
@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}.
@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}.
@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
@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
@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}.
@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}.
@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}.
@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
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
@seealso
-Snippets: @lsrdir{Pitches,Pitches}.
+Snippets:
+@lsrdir{Pitches,Pitches}.
-Internals Reference: @internalsref{Pitch_squash_engraver},
+Internals Reference:
+@internalsref{Pitch_squash_engraver},
@internalsref{Voice}.
* 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)
@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
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
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.
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
\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
@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
@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 }
}
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. } }
}
\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:
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.
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)}
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.
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}.
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.
@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:
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}.
@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
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
@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{~}
@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 splitting, see @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
<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
@subsection Writing rests
@menu
-* Rests::
-* Skips::
-* Full measure rests::
+* Rests::
+* Skips::
+* Full measure rests::
@end menu
@node Rests
@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
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
@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]
<<
>>
@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
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
@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
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
@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 {
}
}
@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
@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
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
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.
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
@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" }
\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 {
\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 {
@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
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
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
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]
@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.
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).
@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
% 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
+
+
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
@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{}
@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
@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
@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
@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
@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
@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.
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,
@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}
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}.
@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
@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.
@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}.
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
@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
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:
\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]
@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
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.
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
@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}
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,
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}.
@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.
@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
@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 {
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}.
@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
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
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
@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}.
@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,
@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}.
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::
* Vocal ensembles::
* Ancient notation templates::
* Jazz combo::
-* Lilypond-book templates::
+* lilypond-book templates::
@end menu
{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
@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
\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,
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'}
\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.
@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
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
@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
@end example
-@seealso
-
-Notation Reference: @ref{Text markup}.
-
-Snippets: @lsrdir{Text,Text}
-
-Internals Reference: @internalsref{TextScript}.
-
-
@node Text spanners
@subsubsection Text spanners
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
@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
@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" }
@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
\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]
{
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
@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]
@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! } } } }
}
@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. }
@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.,
\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 } } }
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
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}
@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}
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}.
-
-
-
-
-
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:
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
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.
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}.
@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.
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.
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
@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},
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
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
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:
@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
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
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
@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
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
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}.
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.
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
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.
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:
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]
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}.
% 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
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
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.
@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
@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
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
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
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]
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/}
+
@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
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).
@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}:
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' {
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
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
@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
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
@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).
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
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
PACKAGE_NAME=LilyPond
MAJOR_VERSION=2
MINOR_VERSION=11
-PATCH_LEVEL=42
+PATCH_LEVEL=43
MY_PATCH_LEVEL=
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)
--- /dev/null
+#!@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)
import __main__
import optparse
-import gettext
import os
-import re
import sys
verbose = 0
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 ('/')
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.")
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 ()
+++ /dev/null
-#!/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
+++ /dev/null
-#!/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
+++ /dev/null
-#!/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
DEST = os.path.join ('input', 'lsr')
NEW_LYS = os.path.join ('input', 'new')
+TEXIDOCS = os.path.join ('input', 'texidocs')
TAGS = []
# NR 1
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
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)
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
''')
--- /dev/null
+#!/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
--- /dev/null
+#!/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
--- /dev/null
+#!/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
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
import string
import os
import gettext
-import subprocess
def progress (str):
sys.stderr.write (str + '\n')
sys.path.append (buildscript_dir)
import langdefs
+import buildlib
# load gettext messages catalogs
translation = {}
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)
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)
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')
}
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.
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
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:
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:
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]
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)
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)
#include <cstdio>
#include <cerrno>
#include <unistd.h>
+#include <limits.h>
using namespace std;
#define RATIONAL_HH
#include "std-string.hh"
+#include <limits.h>
/**
Rational numbers. Included is support for + and - infinity.
#include <algorithm> /* find, reverse, sort */
#include <functional> /* unary_function */
#include <cassert>
+#include <string>
using namespace std;
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
\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
\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
}
\consists "Ambitus_engraver"
} \relative c' {
\voiceTwo
- es4 f g as b1
+ es4 f g as b1
}
>>
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.\)
}
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)
- }
}
-
-
+ }
}
-
--- /dev/null
+%% 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>
+}
+
+++ /dev/null
-%% 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>
-}
-
title = "Including the date!"
subtitle = \date
}
-% begin verbatim
+
\score {
\relative c'' {
c4 c c c
--- /dev/null
+%% 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' } }
+ >>
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'' {
--- /dev/null
+%% 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>
+}
\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.
#(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
}
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 {
}
<<
\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
+ }
>>
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
--- /dev/null
+%% 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
+ }
+ }
+}
+
+++ /dev/null
-%% 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
- }
- }
-}
-
+++ /dev/null
-%% 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 ]
- }
-
\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 = #'()
+ }
+ }
}
+++ /dev/null
-%% 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-]
-}
--- /dev/null
+%% 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]
+}
\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
}
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
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
{
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' {
" }
% 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 "|."
}
-
\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
#})
-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
\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
}
--- /dev/null
+%% 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 }
+
+++ /dev/null
-%% 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
-}
--- /dev/null
+%% 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
+}
+
" }
% 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) |
}
+
\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}.
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
--- /dev/null
+%% 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 }
+}
\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
+ }
+>>
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 "||"
+ }
}
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
\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.
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
\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'
c'
% Here we go back to the normal clef:
-
+
\set Staff.middleCPosition = #4
c'
}
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
}
<<
+++ /dev/null
-%% 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
-}
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\!
}
\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
- }
- }
-}
-
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
}
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)}.
" }
\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 }
+
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
--- /dev/null
+%% 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 >
+}
\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" >>
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)
))))
\score {
- \new Staff {
- \time 5/4
-
- \rhythm c'
- \rhythm c''
- \rhythm g
- }
+ \new Staff {
+ \time 5/4
+ \rhythm c'
+ \rhythm c''
+ \rhythm g
+ }
}
-
\header {
tagline = ""
}
-% begin verbatim
+
#(set-global-staff-size 20)
\score {
\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 }
}
+
\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
}
-
--- /dev/null
+%% 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
+}
title = "Demo of all midi sounds"
arranger = "Myself"
}
-% begin verbatim
+
\score {
\new Staff <<
\new Voice { \melodie
source = "urtext"
}
-% begin verbatim
+
\score {
\relative c'' { c1 c1 c1 c1 }
copyright = "localcopyright"
}
}
-% begin verbatim
+
--- /dev/null
+%% 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
+ }
\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
c' dis' cis' cis'
c' c' dis' des'
}
+ \layout {
+ \context { \Staff \remove "Key_engraver" }
+ }
}
-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
--- /dev/null
+%% 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> |
+}
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.
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
\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.
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
\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!
\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 }
--- /dev/null
+%% 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
+ }
+ }
+>>
--- /dev/null
+%% 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
+ }
+>>
\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))
\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)
\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
}
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,
--- /dev/null
+%% 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'
+ }
+}
" }
% 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
}
-
--- /dev/null
+%% 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 } >>}
+>>
" }
% 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
}
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
" }
% 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
}
\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
{
--- /dev/null
+%% 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
+}
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
-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
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
--- /dev/null
+%% 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}
+>>
+}
+
\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 {
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 {
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 >>
}
-
positioning-segno-and-coda-with-line-break.ly
+adding-volta-brackets-to-additional-staves.ly
volta-multi-staff.ly
+shortening-volta-brackets.ly
" }
% 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
}
-
-
\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
r4
}
-
% Function to print a specified number of slashes
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 |
}
}
-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
--- /dev/null
+%% 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 }
+ }
+}
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
\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 }
>>
-
-
\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 }
>>
-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
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
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
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
\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).
% 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 }
}
-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
--- /dev/null
+%% 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
+}
--- /dev/null
+\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
--- /dev/null
+\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
+}
\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."
}
(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))
(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))
(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))
(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)))
(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)))
(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)))
(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")
)
\relative {
-
+
%{ define alteration <-> symbol mapping. The following glyphs are available.
accidentals.sharp
accidentals.sharp.slashslash.stem
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
}
-\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
--- /dev/null
+\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 }
+ >>
+}
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" >>
+}
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))
((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 }
}
-
-
--- /dev/null
+
+\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|
+}
\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.
"
\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."
}
--- /dev/null
+depth=../..
+
+EXTRA_DIST_FILES=$(call src-wildcard,*.texidoc)
+
+include $(depth)/make/stepmake.make
--- /dev/null
+ 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).
+"
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 "
);
ADD_INTERFACE (Accidental_interface,
- "a single accidental",
+ "A single accidental.",
- /* props */
+ /* properties */
"alteration "
"avoid-slur "
"forced "
}
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 "
#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"
ADD_ACKNOWLEDGER (Ambitus_engraver, note_head);
ADD_TRANSLATOR (Ambitus_engraver,
- /* doc */ "",
+ /* doc */
+ "",
+
/* create */
"Ambitus "
"AmbitusLine "
"AmbitusNoteHead "
- "AmbitusAccidental",
- /* read */ "",
- /* write */ "");
+ "AmbitusAccidental ",
+
+ /* read */
+ "",
+
+ /* write */
+ ""
+ );
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 "
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 */
+ ""
+ );
}
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 "
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 "
"beatLength "
"subdivideBeams ",
- /* write */ "");
+ /* write */
+ ""
+ );
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 */
+ ""
+ );
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
}
ADD_INTERFACE (Axis_group_interface,
-
"An object that groups other layout objects.",
/* properties */
ADD_ACKNOWLEDGER (Balloon_engraver, grob);
ADD_TRANSLATOR (Balloon_engraver,
- "Create balloon texts",
+ /* doc */
+ "Create balloon texts.",
+
+ /* create */
"BalloonTextItem ",
- /*read*/ "",
- /*write*/ ""
+
+ /*read*/
+ "",
+
+ /*write*/
+ ""
);
}
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 "
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 "
+ );
}
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 "
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 */
+ ""
+ );
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
{
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 */
+ ""
+ );
now_stop_ev_ = ev;
}
-ADD_TRANSLATOR (Beam_performer, "", "", "", "");
+ADD_TRANSLATOR (Beam_performer,
+ /* doc */
+ "",
+
+ /* create */
+ "",
+
+ /* read */
+ "",
+
+ /* write */
+ ""
+ );
}
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 "
"concaveness "
"damping "
"details "
- "direction "
+ "direction "
"gap "
"gap-count "
"grow-direction "
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 */
+ ""
+ );
}
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 */
+ ""
+ );
}
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 "
);
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 "
+ );
}
ADD_TRANSLATOR (Breathing_sign_engraver,
- /* doc */ "",
- /* create */ "BreathingSign",
- /* read */ "",
- /* write */ "");
+ /* doc */
+ "Create a breathing sign.",
+
+ /* create */
+ "BreathingSign ",
+
+ /* read */
+ "",
+
+ /* write */
+ ""
+ );
ADD_INTERFACE (Breathing_sign,
"A breathing sign.",
+ /* properties */
"direction "
-
);
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 */
+ ""
+ );
ADD_INTERFACE (Chord_name,
"A chord name.",
-
- "begin-of-line-visible");
+ /* properties */
+ "begin-of-line-visible "
+ );
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 */
+ ""
+ );
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 */
+ ""
+ );
}
ADD_INTERFACE (Clef,
- "A clef sign",
+ "A clef sign.",
/* properties */
"full-size-change "
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 */
+ ""
+ );
}
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 "
}
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 "
+ );
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 */
+ ""
+ );
}
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 */
+ ""
+ );
add_text (Audio_text::TEXT, id_string);
}
-ADD_TRANSLATOR (Control_track_performer, "", "",
- "", "");
+ADD_TRANSLATOR (Control_track_performer,
+ /* doc */
+ "",
+
+ /* create */
+ "",
+
+ /* read */
+ "",
+
+ /* write */
+ ""
+ );
ADD_ACKNOWLEDGER (Custos_engraver, note_head);
ADD_TRANSLATOR (Custos_engraver,
- /* doc */ "",
- /* create */ "Custos",
- /* read */ "",
- /* write */ "");
+ /* doc */
+ "Engrave custodes.",
+
+ /* create */
+ "Custos ",
+
+ /* read */
+ "",
+
+ /* write */
+ ""
+ );
}
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 "
+ );
#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 "
"whichBar "
"measurePosition ",
- /* write */ "automaticBars");
+ /* write */
+ "automaticBars "
+ );
Default_bar_line_engraver::Default_bar_line_engraver ()
{
#include "side-position-interface.hh"
#include "engraver.hh"
#include "translator.icc"
-#include "item.hh"
+#include "item.hh"
class Dot_column_engraver : public Engraver
{
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 */
+ ""
+ );
}
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 "
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 */
+ ""
+ );
}
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 "
ADD_TRANSLATOR (Drum_notes_engraver,
- /* doc */ "Generate noteheads.",
+ /* doc */
+ "Generate drum note heads.",
+
/* create */
"NoteHead "
- "Script",
- /* read */ "drumStyleTable",
- /* write */ "");
+ "Script ",
+
+ /* read */
+ "drumStyleTable ",
+
+ /* write */
+ ""
+ );
}
ADD_TRANSLATOR (Drum_note_performer,
- "Play drum notes.", "", "", "");
+ /* doc */
+ "Play drum notes.",
+
+ /* create */
+ "",
+
+ /* read */
+ "",
+
+ /* write */
+ ""
+ );
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 "
"Hairpin "
"TextSpanner ",
- /* read */ "",
- /* write */ "");
+ /* read */
+ "",
+
+ /* write */
+ ""
+ );
}
ADD_TRANSLATOR (Dynamic_performer,
- /* doc */ "",
- /* create */ "",
+ /* doc */
+ "",
+
+ /* create */
+ "",
/* read */
"dynamicAbsoluteVolumeFunction "
"instrumentEqualizer "
"midiMaximumVolume "
"midiMinimumVolume "
- "midiInstrument "
- ,
- /*writes*/"");
+ "midiInstrument ",
+
+ /* write */
+ ""
+ );
ADD_INTERFACE (Enclosing_bracket,
-
"Brackets alongside bass figures.",
- /* props */
+ /* properties */
"bracket-flare "
"edge-height "
"elements "
#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
#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 */
+ ""
+ );
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 */
+ ""
+ );
ADD_INTERFACE (Figured_bass_continuation,
"Simple extender line between bounds.",
- /* props */
+ /* properties */
"thickness "
"padding "
"figures "
ADD_TRANSLATOR (Figured_bass_engraver,
/* doc */
-
"Make figured bass numbers.",
+
/* create */
"BassFigure "
"BassFigureAlignment "
"BassFigureBracket "
"BassFigureContinuation "
- "BassFigureLine "
- ,
+ "BassFigureLine ",
/* read */
"figuredBassAlterationDirection "
"figuredBassFormatter "
"implicitBassFigures "
"useBassFigureExtenders "
- "ignoreFiguredBassRest "
- ,
+ "ignoreFiguredBassRest ",
/* write */
- "");
+ ""
+ );
"BassFigureAlignmentPositioning ",
/* read */
- " ",
- /* write */ "");
+ "",
+
+ /* write */
+ ""
+ );
ADD_TRANSLATOR (Fingering_engraver,
/* doc */
- "Create fingering-scripts",
+ "Create fingering scripts.",
+
/* create */
- "Fingering",
- /* read */ "",
- /* write */ "");
+ "Fingering ",
+
+ /* read */
+ "",
+
+ /* write */
+ ""
+ );
}
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 "
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 */
+ ""
+ );
}
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 "
+ );
}
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 */
+ ""
+ );
ADD_ACKNOWLEDGER (Glissando_engraver, rhythmic_head);
ADD_TRANSLATOR (Glissando_engraver,
- /* doc */ "",
+ /* doc */
+ "Engrave glissandi.",
+
/* create */
- "Glissando",
+ "Glissando ",
/* read */
"",
- /* write */ "");
+ /* write */
+ ""
+ );
#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 */
+ ""
+ );
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 ",
/* read */
"currentMusicalColumn ",
- /* write */ "");
+ /* write */
+ ""
+ );
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 "
+ );
}
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 */
+ ""
+ );
#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 */
+ ""
+ );
}
ADD_TRANSLATOR (Grid_point_engraver,
- /* doc */ "generate grid points.",
- /* create */ "GridPoint",
- /* read */ "gridInterval",
- /* write */ "");
+ /* doc */
+ "Generate grid points.",
+
+ /* create */
+ "GridPoint ",
+
+ /* read */
+ "gridInterval ",
+
+ /* write */
+ ""
+ );
#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 "
+ );
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 "
}
ADD_INTERFACE (Hairpin,
- "A hairpin crescendo/decrescendo.",
+ "A hairpin crescendo or decrescendo.",
- /* props */
+ /* properties */
"adjacent-hairpins "
"circled-tip "
"bound-padding "
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 */
+ ""
+ );
}
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 "
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 ()
{
ADD_INTERFACE (Horizontal_bracket,
"A horizontal bracket encompassing notes.",
- /* props */
+ /* properties */
"bracket-flare "
"columns "
"edge-height "
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 */
+ ""
+ );
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();
};
#endif
#include <libguile.h>
-
+#include <string.h>
/*
Hack for various MacOS incarnations.
#include <cstdio>
using namespace std;
+#include <string.h>
#include "std-string.hh"
#include "lily-proto.hh"
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 ",
"shortInstrumentName "
"instrumentName "
"shortVocalName "
- "vocalName "
- ,
+ "vocalName ",
- /* write */ "");
+ /* write */
+ ""
+ );
}
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 */
+ ""
+ );
}
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"
" 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 "
+ );
ADD_ACKNOWLEDGER (Key_engraver, bar_line);
ADD_TRANSLATOR (Key_engraver,
- /* doc */ "",
- /* create */ "KeySignature",
+ /* doc */
+ "Engrave a key signature.",
+
+ /* create */
+ "KeySignature ",
/* read */
"createKeyOnClefChange "
"keyAlterationOrder "
"keySignature "
"lastKeySignature "
- "printKeyCancellation "
- ,
+ "printKeyCancellation ",
/* write */
"keySignature "
"lastKeySignature "
- "tonic ")
+ "tonic "
+ );
}
ADD_TRANSLATOR (Key_performer,
+ /* doc */
"",
+
+ /* create */
"",
+
+ /* read */
"",
- "");
+
+ /* write */
+ ""
+ );
ADD_INTERFACE (Key_signature_interface,
"A group of accidentals, to be printed as signature sign.",
+ /* properties */
"alteration-alist "
"c0-position "
"glyph-name-alist "
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 */
+ ""
+ );
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 */
+ ""
+ );
}
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 "
};
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 "
+ );
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 */
+ ""
+ );
}
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 "
}
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 "
);
}
ADD_TRANSLATOR (Lyric_engraver,
- /* doc */ "",
- /* create */ "LyricText",
- /* read */ "lyricMelismaAlignment",
- /* write */ "");
+ /* doc */
+ "Engrave text for lyrics.",
+
+ /* create */
+ "LyricText ",
+ /* read */
+ "lyricMelismaAlignment ",
+
+ /* write */
+ ""
+ );
}
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 "
}
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 "
events_.push_back (event);
}
-ADD_TRANSLATOR (Lyric_performer, "", "",
- "", "");
+ADD_TRANSLATOR (Lyric_performer,
+ /* doc */
+ "",
+
+ /* create */
+ "",
+
+ /* read */
+ "",
+
+ /* write */
+ ""
+ );
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 */
+ ""
+ );
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 */
- "");
+ ""
+ );
}
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 "
+ );
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 */
+ ""
+ );
ADD_INTERFACE (Melody_spanner,
"Context dependent typesetting decisions.",
+ /* properties */
"stems "
- "neutral-direction ");
+ "neutral-direction "
+ );
// 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));
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);
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 */
+ ""
+ );
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);
}
ADD_INTERFACE (Mensural_ligature,
- "A mensural ligature",
+ "A mensural ligature.",
+ /* properties */
"delta-position "
"flexa-width "
"head-width "
"join-right-amount "
"primitive "
- "thickness"
+ "thickness "
);
}
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 */
+ ""
+ );
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 "
"measurePosition "
"measureLength ",
- /* write */ "");
+ /* write */
+ ""
+ );
"thick-thickness "
"use-breve-rest "
"bound-padding "
- "minimum-length");
+ "minimum-length "
+ );
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 */
+ ""
+ );
}
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 "
}
ADD_INTERFACE (Note_column,
- "Stem and noteheads combined",
+ "Stem and noteheads combined.",
/* properties */
"arpeggio "
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 */
+ ""
+ );
ADD_INTERFACE (Note_head,
- "Note head",
+ "Note head.",
/* properties */
"note-names "
}
ADD_TRANSLATOR (Note_heads_engraver,
- /* doc */ "Generate noteheads.",
+ /* doc */
+ "Generate note heads.",
+
/* create */
"NoteHead ",
- /* read */ "middleCPosition "
+
+ /* read */
+ "middleCPosition "
"staffLineLayoutFunction ",
- /* write */ "");
+
+ /* write */
+ ""
+ );
}
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 */
+ ""
+ );
note_evs_.push_back (ev);
}
-ADD_TRANSLATOR (Note_performer, "", "",
- "", "");
+ADD_TRANSLATOR (Note_performer,
+ /* doc */
+ "",
+
+ /* create */
+ "",
+
+ /* read */
+ "",
+
+ /* write */
+ ""
+ );
Note_performer::Note_performer ()
{
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 */
+ ""
+ );
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 "
-
);
}
ADD_INTERFACE (Ottava_bracket,
- "An ottava bracket",
+ "An ottava bracket.",
- /*
- properties
- */
+ /* properties */
"edge-height "
"bracket-flare "
"shorten-pair "
- "minimum-length");
+ "minimum-length "
+ );
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 */
+ ""
+ );
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 */
"",
"",
/* write */
- "");
+ ""
+ );
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 ();
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 */
+ ""
);
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 "
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 "
"shortest-starter-duration "
"spacing "
"used "
- "when ");
+ "when "
+ );
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 */
+ ""
+ );
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 */
+ ""
+ );
}
ADD_INTERFACE (Percent_repeat_item_interface,
- "Repeats that look like percent signs",
+ "Repeats that look like percent signs.",
+ /* properties */
"slope "
- "thickness ");
+ "thickness "
+ );
#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)
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 */
+ ""
+ );
ADD_TRANSLATOR (Piano_pedal_align_engraver,
-
/* doc */
"Align piano pedal symbols and brackets.",
/* read */
"currentCommandColumn ",
- /* write */ "");
+ /* write */
+ ""
+ );
}
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 "
+ );
#include "translator.icc"
+#include <string.h>
/*
TODO:
ADD_ACKNOWLEDGER (Piano_pedal_engraver, note_column);
ADD_TRANSLATOR (Piano_pedal_engraver,
-
/* doc */
"Engrave piano pedal symbols and brackets.",
"pedalSustainStrings "
"pedalSustainStyle "
"pedalUnaCordaStrings "
- "pedalUnaCordaStyle",
+ "pedalUnaCordaStyle ",
- /* write */ "");
+ /* write */
+ ""
+ );
info_alist_[UNA_CORDA].event_drul_[d] = r;
}
-ADD_TRANSLATOR (Piano_pedal_performer, "", "",
- "", "");
+ADD_TRANSLATOR (Piano_pedal_performer,
+ /* doc */
+ "",
+
+ /* create */
+ "",
+
+ /* read */
+ "",
+
+ /* write */
+ ""
+ );
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 */
+ ""
+ );
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 */
+ ""
+ );
}
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 */
+ ""
+ );
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 */
+ ""
+ );
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 */
+ ""
+ );
}
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 "
+ );
}
ADD_TRANSLATOR (Rest_engraver,
- /* doc */ "",
- /* create */ "Rest ",
- /* read */ "middleCPosition",
- /* write */ "");
+ /* doc */
+ "Engrave rests.",
+
+ /* create */
+ "Rest ",
+
+ /* read */
+ "middleCPosition ",
+
+ /* write */
+ ""
+ );
}
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 "
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 */
+ ""
+ );
}
ADD_INTERFACE (Rhythmic_head,
-
- "Note head or rest",
+ "Note head or rest.",
+ /* properties */
"dot "
"duration-log "
"stem "
);
-
}
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 ",
"verticallySpacedContexts ",
/* write */
- "");
+ ""
+ );
#include "audio-item.hh"
ADD_TRANSLATOR_GROUP (Score_performer,
- /* doc */ "",
- /* create */ "",
- /* read */ "",
- /* write */ "");
+ /* doc */
+ "",
+
+ /* create */
+ "",
+
+ /* read */
+ "",
+
+ /* write */
+ ""
+ );
Score_performer::Score_performer ()
{
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 */
+ ""
+ );
}
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 */
+ ""
+ );
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 */
+ ""
+ );
};
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 "
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 "
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 */
+ ""
+ );
}
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 "
+ );
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 "
#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 "
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 "
);
}
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 "
}
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 "
}
ADD_TRANSLATOR (Slash_repeat_engraver,
- /* doc */ "Make beat repeats.",
- /* create */ "RepeatSlash",
- /* read */ "measureLength",
- /* write */ "");
+ /* doc */
+ "Make beat repeats.",
+
+ /* create */
+ "RepeatSlash ",
+
+ /* read */
+ "measureLength ",
+
+ /* write */
+ ""
+ );
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 */
+ ""
+ );
}
ADD_TRANSLATOR (Slur_performer,
- "", "",
- "", "");
+ /* doc */
+ "",
+
+ /* create */
+ "",
+
+ /* read */
+ "",
+
+ /* write */
+ ""
+ );
}
ADD_INTERFACE (Slur,
-
- "A slur",
+ "A slur.",
/* properties */
"annotation "
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 "
"minimum-distances "
"right-neighbors "
"spacing-wishes "
-
);
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 */
+ ""
+ );
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 "
);
}
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 "
"strict-grace-spacing "
"strict-note-spacing "
"uniform-stretching "
-
);
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 */
+ ""
+ );
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 */
+ ""
+ );
}
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 "
+ );
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 */
+ ""
+ );
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;
}
}
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 "
);
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 "
+ );
#include "translator.icc"
-ADD_TRANSLATOR (Staff_performer, "", "",
- "", "");
+ADD_TRANSLATOR (Staff_performer,
+ /* doc */
+ "",
+
+ /* create */
+ "",
+
+ /* read */
+ "",
+
+ /* write */
+ "");
Staff_performer::Staff_performer ()
{
}
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 "
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 */
+ ""
+ );
}
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 "
+ );
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 "
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 */
"");
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 */
+ ""
+ );
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 "
"stemLeftBeamCount "
"stemRightBeamCount ",
- /* write */ "");
+ /* write */
+ ""
+ );
}
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 "
/* 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 "
#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 */
+ ""
+ );
#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 */
+ ""
+ );
#include "translator.icc"
ADD_TRANSLATOR (Swallow_performer,
- /* doc */ "",
- /* create */ "",
- /* read */ "",
- /* write */ "");
+ /* doc */
+ "",
+
+ /* create */
+ "",
+
+ /* read */
+ "",
+
+ /* write */
+ ""
+ );
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 */
+ ""
+ );
*/
#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"
}
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 "
}
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 "
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 */
+ ""
+ );
}
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 "
"highStringOne "
"stringOneTopmost ",
- /* write */ "");
+ /* write */ ""
+ );
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 */
+ ""
+ );
}
}
-ADD_TRANSLATOR (Tempo_performer, "", "",
+ADD_TRANSLATOR (Tempo_performer,
+ /* doc */
+ "",
+
+ /* create */
+ "",
+
+ /* read */
"tempoWholesPerMinute ",
- "");
+
+ /* write */
+ ""
+ );
}
ADD_TRANSLATOR (Text_engraver,
- /* doc */ "Create text-scripts",
- /* create */ "TextScript",
- /* read */ "",
- /* write */ "");
+ /* doc */
+ "Create text scripts.",
+
+ /* create */
+ "TextScript ",
+
+ /* read */
+ "",
+
+ /* write */
+ ""
+ );
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 "
ADD_TRANSLATOR (Text_spanner_engraver,
/* doc */
"Create text spanner from an event.",
+
/* create */
"TextSpanner ",
+
/* read */
"",
+
/* write */
""
);
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 "
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 "
+ );
#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"
}
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 */
+ ""
+ );
}
ADD_INTERFACE (Tie,
- "A horizontal curve connecting two noteheads. \n\n"
- ,
+ "A horizontal curve connecting two noteheads.",
-
/* properties */
"annotation "
"avoid-slur " // UGH.
"direction "
"separation-item "
"head-direction "
- "line-thickness "
+ "line-thickness "
"quant-score "
"staff-position "
"thickness "
-
);
#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 */
+ ""
+ );
#include "translator.icc"
-ADD_TRANSLATOR (Time_signature_performer, "", "", "", "");
+ADD_TRANSLATOR (Time_signature_performer,
+ /* doc */
+ "",
+
+ /* create */
+ "",
+
+ /* read */
+ "",
+
+ /* write */
+ ""
+ );
}
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 "
+ );
#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 "
}
ADD_TRANSLATOR (Translator,
- "Base class. Not instantiated.",
+ /* doc */
+ "Base class. Not instantiated.",
+
+ /* create */
"",
+
+ /* read */
"",
- "");
+
+ /* write */
+ ""
+ );
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 */
+ ""
+ );
}
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 "
"shorten-pair "
"staff-padding "
"thickness "
- "tuplets ");
+ "tuplets "
+ );
}
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);
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 */
+ ""
+ );
}
ADD_INTERFACE (Tuplet_number,
- "The number for a bracket. "
- ,
+ "The number for a bracket.",
/* properties */
"avoid-slur " // UGH.
- "bracket ");
+ "bracket "
+ );
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 */
+ ""
+ );
}
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
{
}
ADD_TRANSLATOR (Note_swallow_translator,
- "Swallow notes",
+ /* doc */
+ "Swallow notes.",
+
+ /* create */
"",
+
+ /* read */
"",
- "");
+ /* write */
+ ""
+ );
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);
else
{
primitive->programming_error ("Vaticana_ligature:"
- "delta-position undefined -> "
- "ignoring grob");
+ " delta-position undefined ->"
+ " ignoring grob");
continue;
}
}
else
{
primitive->programming_error ("Vaticana_ligature:"
- "delta-position undefined -> "
- "ignoring grob");
+ " delta-position undefined ->"
+ " ignoring grob");
continue;
}
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))
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 */
+ ""
+ );
}
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 "
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 ()
{
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 "
+ );
}
ADD_INTERFACE (Volta_bracket_interface,
- "Volta bracket with number",
+ "Volta bracket with number.",
/* properties */
"bars "
"thickness "
- "height");
+ "height "
+ );
*/
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 */
+ ""
+ );
(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 = #'(
#(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*
}
-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 {
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
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)
## 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
.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
EXTRA_DIST_FILES +=$(TELY_FILES) $(LY_FILES) $(ITEXI_FILES) $(ITELY_FILES) $(ILY_FILES)
-
-DVIPS_FLAGS= -h $(subst .pdf,.psfonts,$(subst .ps,.psfonts, $(notdir $@ )))
-
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):
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
;;;; 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)
(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
(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>
(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 )
;;
;; 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<?)))
+ "")))
;;;; 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>
(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>
;;;; 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>
(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)
(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")))
(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))
(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")
))
))
(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")))
'''
-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@
''' % {'BOOK': _ ("BOOK")})
authors = ('Jan Nieuwenhuizen <janneke@gnu.org>',
- 'Han-Wen Nienhuys <hanwen@xs4all.nl>')
+ 'Han-Wen Nienhuys <hanwen@xs4all.nl>')
################################################################
def exit (i):
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))
%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',
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",
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')
FRAGMENT = 'fragment'
HTML = 'html'
INDENT = 'indent'
+LANG = 'lang'
LATEX = 'latex'
LAYOUT = 'layout'
LINE_WIDTH = 'line-width'
NOINDENT,
PRINTFILENAME,
TEXIDOC,
+ LANG,
VERBATIM,
FONTLOAD,
FILENAME,
<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>',
@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>
re.sub ('<', '<',
re.sub ('&', '&', 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:
#
# 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:
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
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
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')
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')
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
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
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)
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 = ''
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')
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):
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 ())
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 ()
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 = ''
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
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):
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.
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
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.
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'))
return snippets
def filter_pipe (input, cmd):
+ """Pass input through cmd, and return the result."""
+
if global_options.verbose:
progress (_ ("Opening filter `%s'") % 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
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)
+ 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',
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:
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)
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
'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:
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,
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)
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:
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.
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 ()
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
return p + e
-
class Duration:
allowed_durs = (1, 2, 4, 8, 16, 32, 64, 128)
def __init__ (self, clocks):
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,
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 |
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=%))
% 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,
\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}%
\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
%
% 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}%
% 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}%
\epsfbox{#1.eps}%
\fi
%
- \ifimagevmode \egroup \bigbreak \fi % space after the image
+ \ifimagevmode \medskip \fi % space after the standalone image
\endgroup}