Left: | ||
Right: |
LEFT | RIGHT |
---|---|
1 @c -*- coding: utf-8; mode: texinfo; -*- | 1 @c -*- coding: utf-8; mode: texinfo; -*- |
2 | 2 |
3 @ignore | 3 @ignore |
4 Translation of GIT committish: FILL-IN-HEAD-COMMITTISH | 4 Translation of GIT committish: FILL-IN-HEAD-COMMITTISH |
5 | 5 |
6 When revising a translation, copy the HEAD committish of the | 6 When revising a translation, copy the HEAD committish of the |
7 version that you are working on. For details, see the Contributors' | 7 version that you are working on. For details, see the Contributors' |
8 Guide, node Updating translation committishes.. | 8 Guide, node Updating translation committishes.. |
9 @end ignore | 9 @end ignore |
10 | 10 |
(...skipping 1311 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1322 | 1322 |
1323 | 1323 |
1324 @node Different editions from one source | 1324 @node Different editions from one source |
1325 @subsection Different editions from one source | 1325 @subsection Different editions from one source |
1326 | 1326 |
1327 Several mechanisms are available to facilitate the generation | 1327 Several mechanisms are available to facilitate the generation |
1328 of different versions of a score from the same music source. | 1328 of different versions of a score from the same music source. |
1329 Variables are perhaps most useful for combining lengthy sections | 1329 Variables are perhaps most useful for combining lengthy sections |
1330 of music and/or annotation in various ways, while tags are more | 1330 of music and/or annotation in various ways, while tags are more |
1331 useful for selecting one from several alternative shorter sections | 1331 useful for selecting one from several alternative shorter sections |
1332 of music. Whichever method is used, separating the notation from | 1332 of music. You can also employ tags for splicing pieced of music |
1333 together at several places. | |
1334 | |
1335 Whichever method is used, separating the notation from | |
1333 the structure of the score will make it easier to change the | 1336 the structure of the score will make it easier to change the |
1334 structure while leaving the notation untouched. | 1337 structure while leaving the notation untouched. |
1335 | 1338 |
1336 @menu | 1339 @menu |
1337 * Using variables:: | 1340 * Using variables:: |
1338 * Using tags:: | 1341 * Using tags:: |
1339 * Using global settings:: | 1342 * Using global settings:: |
1340 @end menu | 1343 @end menu |
1341 | 1344 |
1342 @node Using variables | 1345 @node Using variables |
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1399 For lengthy scores, the variable definitions may be placed in | 1402 For lengthy scores, the variable definitions may be placed in |
1400 separate files which are then included, see @ref{Including | 1403 separate files which are then included, see @ref{Including |
1401 LilyPond files}. | 1404 LilyPond files}. |
1402 | 1405 |
1403 @node Using tags | 1406 @node Using tags |
1404 @unnumberedsubsubsec Using tags | 1407 @unnumberedsubsubsec Using tags |
1405 | 1408 |
1406 @funindex \tag | 1409 @funindex \tag |
1407 @funindex \keepWithTag | 1410 @funindex \keepWithTag |
1408 @funindex \removeWithTag | 1411 @funindex \removeWithTag |
1412 @funindex \pushToTag | |
1413 @funindex \appendToTag | |
1409 @cindex tag | 1414 @cindex tag |
1410 @cindex keep tagged music | 1415 @cindex keep tagged music |
1411 @cindex remove tagged music | 1416 @cindex remove tagged music |
1417 @cindex splice into tagged music | |
1412 | 1418 |
1413 The @code{\tag #'@var{partA}} command marks a music expression | 1419 The @code{\tag #'@var{partA}} command marks a music expression |
1414 with the name @var{partA}. | 1420 with the name @var{partA}. |
1415 Expressions tagged in this way can be selected or filtered out by | 1421 Expressions tagged in this way can be selected or filtered out by |
1416 name later, using either @code{\keepWithTag #'@var{name}} or | 1422 name later, using either @code{\keepWithTag #'@var{name}} or |
1417 @code{\removeWithTag #'@var{name}}. The result of applying these filters | 1423 @code{\removeWithTag #'@var{name}}. The result of applying these filters |
1418 to tagged music is as follows: | 1424 to tagged music is as follows: |
1419 @multitable @columnfractions .5 .5 | 1425 @multitable @columnfractions .5 .5 |
1420 @headitem Filter | 1426 @headitem Filter |
1421 @tab Result | 1427 @tab Result |
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1526 \removeWithTag #'C | 1532 \removeWithTag #'C |
1527 \music | 1533 \music |
1528 } | 1534 } |
1529 @end lilypond | 1535 @end lilypond |
1530 | 1536 |
1531 Two or more @code{\keepWithTag} filters applied to a single music | 1537 Two or more @code{\keepWithTag} filters applied to a single music |
1532 expression will cause @emph{all} tagged sections to be removed, as | 1538 expression will cause @emph{all} tagged sections to be removed, as |
1533 the first filter will remove all tagged sections except the one | 1539 the first filter will remove all tagged sections except the one |
1534 named, and the second filter will remove even that tagged section. | 1540 named, and the second filter will remove even that tagged section. |
1535 | 1541 |
1542 Sometimes you want to splice some music at a particular place in an | |
1543 existing music expression. You can use @code{\pushToTag} and | |
1544 @code{\appendToTag} for adding material at the front or end of the | |
1545 @code{elements} of an existing music construct. Not every music | |
1546 construct has @code{elements}, but sequential and simultaneous music are | |
1547 safe bets: | |
1548 | |
1549 @lilypond[verbatim,quote] | |
1550 test = { \tag #'here { \tag #'here <<c''>> } } | |
1551 | |
1552 { | |
1553 \pushToTag #'here \pushToTag #'here | |
1554 \pushToTag #'here \test g' e' c' | |
1555 \appendToTag #'here \appendToTag #'here | |
1556 \appendToTag #'here \test g' e' c' | |
1557 } | |
1558 @end lilypond | |
1559 | |
1560 Both commands get a tag, the tagged expression, and finally the material | |
1561 you want to splice in at every given tag. The commands make sure to | |
1562 copy everything that they change so that the original @code{\test} | |
1563 retains its meaning. | |
1536 | 1564 |
1537 @seealso | 1565 @seealso |
1538 Learning Manual: | 1566 Learning Manual: |
1539 @rlearning{Organizing pieces with variables}. | 1567 @rlearning{Organizing pieces with variables}. |
1540 | 1568 |
1541 Notation Reference: | 1569 Notation Reference: |
1542 @ref{Automatic part combining}, | 1570 @ref{Automatic part combining}, |
1543 @ref{Including LilyPond files}. | 1571 @ref{Including LilyPond files}. |
1544 | 1572 |
1545 | 1573 |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1580 @rlearning{Style sheets}. | 1608 @rlearning{Style sheets}. |
1581 | 1609 |
1582 Notation Reference: | 1610 Notation Reference: |
1583 @ref{Including LilyPond files}. | 1611 @ref{Including LilyPond files}. |
1584 | 1612 |
1585 @node Special characters | 1613 @node Special characters |
1586 @subsection Special characters | 1614 @subsection Special characters |
1587 | 1615 |
1588 @cindex special characters | 1616 @cindex special characters |
1589 @cindex non-ASCII characters | 1617 @cindex non-ASCII characters |
1590 @cindex Unicode | |
1591 @cindex UTF-8 | |
Trevor Daniels
2011/09/20 16:54:09
Better to index these under the appropriate subsub
| |
1592 | 1618 |
1593 @menu | 1619 @menu |
1594 * ASCII aliases:: | |
1595 * Text encoding:: | 1620 * Text encoding:: |
1596 * Unicode:: | 1621 * Unicode:: |
1622 * ASCII aliases:: | |
1597 @end menu | 1623 @end menu |
Trevor Daniels
2011/09/20 16:54:09
I think I'd prefer the order to be:
* Text encodi
| |
1598 | |
1599 @node ASCII aliases | |
1600 @unnumberedsubsubsec ASCII aliases | |
1601 | |
1602 A list of ASCII aliases for special characters can be included: | |
1603 | |
1604 @lilypond[quote,verbatim] | |
1605 \paper { | |
1606 #(include-special-characters) | |
1607 } | |
1608 | |
1609 \markup "&flqq; – &OE;uvre incomplète… &frqq;" | |
1610 | |
1611 \score { | |
1612 \new Staff { \repeat unfold 9 a' } | |
1613 \addlyrics { | |
1614 This is al -- so wor -- kin'~in ly -- rics: –_&OE;… | |
1615 } | |
1616 } | |
1617 | |
1618 \markup \column { | |
1619 "The replacement can be disabled:" | |
1620 "– &OE; …" | |
1621 \override #'(replacement-alist . ()) "– &OE; …" | |
1622 } | |
1623 @end lilypond | |
1624 | |
1625 See the complete @ref{List of special characters}. | |
Trevor Daniels
2011/09/20 16:54:09
Should also have a See also:
| |
1626 | |
1627 You can also make your own aliases, either globally: | |
1628 | |
1629 @lilypond[quote,verbatim] | |
1630 \paper { | |
1631 #(add-text-replacements! | |
1632 '(("100" . "hundred") | |
1633 ("dpi" . "dots per inch"))) | |
1634 } | |
1635 \markup "A 100 dpi." | |
1636 @end lilypond | |
Trevor Daniels
2011/09/20 16:54:09
Didn't we discuss earlier using \include?
If this
Bertrand Bordage
2011/09/20 17:09:48
What do you mean?
Trevor Daniels
2011/09/20 21:14:45
See comments 25 and 26.
If this works (I presume
Bertrand Bordage
2011/09/20 22:11:15
Yes, unfortunately, this isn't simple. I didn't fi
| |
1637 | |
1638 or locally: | |
1639 | |
1640 @lilypond[quote,verbatim] | |
1641 \markup \replace #'(("100" . "hundred") | |
1642 ("dpi" . "dots per inch")) "A 100 dpi." | |
1643 @end lilypond | |
1644 | 1624 |
1645 | 1625 |
1646 @node Text encoding | 1626 @node Text encoding |
1647 @unnumberedsubsubsec Text encoding | 1627 @unnumberedsubsubsec Text encoding |
1628 | |
1629 @cindex UTF-8 | |
1648 | 1630 |
1649 LilyPond uses the character repertoire defined by the Unicode | 1631 LilyPond uses the character repertoire defined by the Unicode |
1650 consortium and ISO/IEC 10646. This defines a unique name and | 1632 consortium and ISO/IEC 10646. This defines a unique name and |
1651 code point for the character sets used in virtually all modern | 1633 code point for the character sets used in virtually all modern |
1652 languages and many others too. Unicode can be implemented using | 1634 languages and many others too. Unicode can be implemented using |
1653 several different encodings. LilyPond uses the UTF-8 encoding | 1635 several different encodings. LilyPond uses the UTF-8 encoding |
1654 (UTF stands for Unicode Transformation Format) which represents | 1636 (UTF stands for Unicode Transformation Format) which represents |
1655 all common Latin characters in one byte, and represents other | 1637 all common Latin characters in one byte, and represents other |
1656 characters using a variable length format of up to four bytes. | 1638 characters using a variable length format of up to four bytes. |
1657 | 1639 |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1705 c2 d e f g f e | 1687 c2 d e f g f e |
1706 } | 1688 } |
1707 \addlyrics { \bulgarian } | 1689 \addlyrics { \bulgarian } |
1708 \addlyrics { \hebrew } | 1690 \addlyrics { \hebrew } |
1709 \addlyrics { \portuguese } | 1691 \addlyrics { \portuguese } |
1710 @end lilypond | 1692 @end lilypond |
1711 | 1693 |
1712 | 1694 |
1713 @node Unicode | 1695 @node Unicode |
1714 @unnumberedsubsubsec Unicode | 1696 @unnumberedsubsubsec Unicode |
1697 | |
1698 @cindex Unicode | |
1715 | 1699 |
1716 To enter a single character for which the Unicode code point is | 1700 To enter a single character for which the Unicode code point is |
1717 known but which is not available in the editor being used, use | 1701 known but which is not available in the editor being used, use |
1718 either @code{\char ##xhhhh} or @code{\char #dddd} within a | 1702 either @code{\char ##xhhhh} or @code{\char #dddd} within a |
1719 @code{\markup} block, where @code{hhhh} is the hexadecimal code for | 1703 @code{\markup} block, where @code{hhhh} is the hexadecimal code for |
1720 the character required and @code{dddd} is the corresponding decimal | 1704 the character required and @code{dddd} is the corresponding decimal |
1721 value. Leading zeroes may be omitted, but it is usual to specify | 1705 value. Leading zeroes may be omitted, but it is usual to specify |
1722 all four characters in the hexadecimal representation. (Note that | 1706 all four characters in the hexadecimal representation. (Note that |
1723 the UTF-8 encoding of the code point should @emph{not} be used | 1707 the UTF-8 encoding of the code point should @emph{not} be used |
1724 after @code{\char}, as UTF-8 encodings contain extra bits indicating | 1708 after @code{\char}, as UTF-8 encodings contain extra bits indicating |
(...skipping 28 matching lines...) Expand all Loading... | |
1753 | 1737 |
1754 @cindex copyright sign | 1738 @cindex copyright sign |
1755 | 1739 |
1756 To enter the copyright sign in the copyright notice use: | 1740 To enter the copyright sign in the copyright notice use: |
1757 | 1741 |
1758 @example | 1742 @example |
1759 \header @{ | 1743 \header @{ |
1760 copyright = \markup @{ \char ##x00A9 "2008" @} | 1744 copyright = \markup @{ \char ##x00A9 "2008" @} |
1761 @} | 1745 @} |
1762 @end example | 1746 @end example |
1747 | |
1748 | |
1749 @node ASCII aliases | |
1750 @unnumberedsubsubsec ASCII aliases | |
1751 | |
1752 A list of ASCII aliases for special characters can be included: | |
1753 | |
1754 @lilypond[quote,verbatim] | |
1755 \paper { | |
1756 #(include-special-characters) | |
1757 } | |
1758 | |
1759 \markup "&flqq; – &OE;uvre incomplète… &frqq;" | |
1760 | |
1761 \score { | |
1762 \new Staff { \repeat unfold 9 a'4 } | |
1763 \addlyrics { | |
1764 This is al -- so wor -- kin'~in ly -- rics: –_&OE;… | |
1765 } | |
1766 } | |
1767 | |
1768 \markup \column { | |
1769 "The replacement can be disabled:" | |
1770 "– &OE; …" | |
1771 \override #'(replacement-alist . ()) "– &OE; …" | |
1772 } | |
1773 @end lilypond | |
1774 | |
1775 You can also make your own aliases, either globally: | |
1776 | |
1777 @lilypond[quote,verbatim] | |
1778 \paper { | |
1779 #(add-text-replacements! | |
1780 '(("100" . "hundred") | |
1781 ("dpi" . "dots per inch"))) | |
1782 } | |
1783 \markup "A 100 dpi." | |
1784 @end lilypond | |
1785 | |
1786 or locally: | |
1787 | |
1788 @lilypond[quote,verbatim] | |
1789 \markup \replace #'(("100" . "hundred") | |
1790 ("dpi" . "dots per inch")) "A 100 dpi." | |
1791 @end lilypond | |
1792 | |
1793 @seealso | |
1794 Notation Reference: | |
1795 @ref{List of special characters}. | |
1796 | |
1797 Installed Files: | |
1798 @file{ly/text-replacements.ly}. | |
1763 | 1799 |
1764 | 1800 |
1765 | 1801 |
1766 @node Controlling output | 1802 @node Controlling output |
1767 @section Controlling output | 1803 @section Controlling output |
1768 | 1804 |
1769 @menu | 1805 @menu |
1770 * Extracting fragments of music:: | 1806 * Extracting fragments of music:: |
1771 * Skipping corrected music:: | 1807 * Skipping corrected music:: |
1772 * Alternative output formats:: | 1808 * Alternative output formats:: |
(...skipping 892 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
2665 | 2701 |
2666 | 2702 |
2667 @knownissues | 2703 @knownissues |
2668 | 2704 |
2669 Not all lilypond music events are supported by | 2705 Not all lilypond music events are supported by |
2670 @file{event-listener.ly}. It is intended to be a well-crafted | 2706 @file{event-listener.ly}. It is intended to be a well-crafted |
2671 @qq{proof of concept}. If some events that you want to see are | 2707 @qq{proof of concept}. If some events that you want to see are |
2672 not included, copy @file{event-listener.ly} into your lilypond | 2708 not included, copy @file{event-listener.ly} into your lilypond |
2673 directory and modify the file so that it outputs the information | 2709 directory and modify the file so that it outputs the information |
2674 you want. | 2710 you want. |
LEFT | RIGHT |