Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(1639)

Delta Between Two Patch Sets: Documentation/notation/input.itely

Issue 4553056: New alist to replace special characters. (Closed)
Left Patch Set: Documentation work. Created 12 years, 6 months ago
Right Patch Set: Partially reverting one of Neil's changes. Created 12 years, 6 months ago
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments. Please Sign in to add in-line comments.
Jump to:
Left: Side by side diff | Download
Right: Side by side diff | Download
« no previous file with change/comment | « Documentation/included/special-characters.ly ('k') | Documentation/notation/notation-appendices.itely » ('j') | no next file with change/comment »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
LEFTRIGHT
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
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
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
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
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; &ndash; &OE;uvre incomplète&hellip; &frqq;"
1610
1611 \score {
1612 \new Staff { \repeat unfold 9 a' }
1613 \addlyrics {
1614 This is al -- so wor -- kin'~in ly -- rics: &ndash;_&OE;&hellip;
1615 }
1616 }
1617
1618 \markup \column {
1619 "The replacement can be disabled:"
1620 "&ndash; &OE; &hellip;"
1621 \override #'(replacement-alist . ()) "&ndash; &OE; &hellip;"
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
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
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; &ndash; &OE;uvre incomplète&hellip; &frqq;"
1760
1761 \score {
1762 \new Staff { \repeat unfold 9 a'4 }
1763 \addlyrics {
1764 This is al -- so wor -- kin'~in ly -- rics: &ndash;_&OE;&hellip;
1765 }
1766 }
1767
1768 \markup \column {
1769 "The replacement can be disabled:"
1770 "&ndash; &OE; &hellip;"
1771 \override #'(replacement-alist . ()) "&ndash; &OE; &hellip;"
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
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.
LEFTRIGHT

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b