while the newer edition seems cold and mechanical.
It is kind of hard to immediately see what makes the difference with the
-newer edition. Everything looks neat and tiny, possibly even ``better''
+newer edition. Everything looks neat and tiny, possibly even @qq{better}
because it looks more computerized and uniform. This really puzzled us
for quite a while. We wanted to improve computer notation, but we first
had to figure out what was wrong with it.
The answer lies in the precise, mathematical uniformity of the newer
edition. Find the bar line in the middle of each line: in the
-hand-engraved score the position of these bar lines has some natural
+hand-engraved score the position of these bar lines has some
natural variation, while in the newer version they line up almost
perfectly. This is shown in these simplified page layout diagrams,
traced from the hand-engraved (left) and computer-generated music
choose the least ugly configuration.
For example, here are three possible slur configurations, and LilyPond
-has given each one a score in `ugly points'. The first example gets 15.39
+has given each one a score in @q{ugly points}. The first example gets 15.39
points for grazing one of the notes:
@lilypond
In this situation, the accidentals and staff are shared, but the
stems, slurs, beams, etc., are private to each voice. Hence,
engravers should be grouped. The engravers for note heads, stems,
-slurs, etc., go into a group called @q{Voice context,} while the
+slurs, etc., go into a group called @q{Voice context}, while the
engravers for key, accidental, bar, etc., go into a group called
-@q{Staff context.} In the case of polyphony, a single Staff
+@q{Staff context}. In the case of polyphony, a single Staff
context contains more than one Voice context. Similarly, multiple
Staff contexts can be put into a single Score context. The Score
context is the top level notation context.
@c html; we'll need a bunch of @iftext and stuff in here. -gp
@c ****************** SPECIAL MACROS FOR WEB MANUAL ************
@macro docLinks{name,base,refLink,split,big,bigsize,pdf,pdfsize}
-
-@c experimental removal; to be FIXME before 2.14. -gp
-@ignore
@subheading Read it
-@itemize
+@docLinksBare{\name\,\base\,\refLink\,\split\,\big\,\bigsize\,\pdf\,\pdfsize\}
+
+@end macro
+
-@c normal case, special online case
+@macro docLinkSplit{name,base,webLink}
@ifclear web_version
- @item \refLink\:
+ @uref{../\base\/index.html, \name\ (split HTML)}
@end ifclear
@ifset web_version
- @c we assume that the online web version will be split html
- @item \split\:
+ \webLink\
@end ifset
-read this manual in the same format as this one.
-
-@end itemize
-@end ignore
-
-@subheading All formats
-
-@divClass{keep-bullets}
-@itemize
+@end macro
+@macro docLinkBig{name,base,webLink}
@ifclear web_version
- @item @uref{../\base\/index.html, \name\ (split HTML)}:
+ @uref{../\base\-big-page.html, \name\ (big HTML)}
@end ifclear
@ifset web_version
- @item \split\:
+ \webLink\
@end ifset
- the manual is split between many HTML pages.
- @*@ @ @emph{(small download for each page)}
+@end macro
+@macro docLinkPdf{name,base,webLink}
@ifclear web_version
- @item @uref{../\base\-big-page.html, \name\ (big HTML)}:
+ @uref{../\base\.pdf, \base\.pdf}
@end ifclear
@ifset web_version
- @item \big\:
+ \webLink\
@end ifset
+@end macro
+
+
+@macro docLinksBare{name,base,refLink,split,big,bigsize,pdf,pdfsize}
+
+@divClass{keep-bullets}
+@itemize
+
+@item @docLinkSplit{\name\,\base\,\split\} @minus{}
+ the manual is split between many HTML pages.
+ @*@ @ @emph{(small download for each page)}
+
+@item @docLinkBig{\name\,\base\,\split\} @minus{}
read this manual as one huge HTML page.
@*@ @ @emph{(large single download, \bigsize\)}
-@ifclear web_version
- @item @uref{../\base\.pdf, \base\.pdf}:
-@end ifclear
-@ifset web_version
- @item \pdf\:
-@end ifset
+@item @docLinkPdf{\name\,\base\,\pdf\} @minus{}
download as a PDF file.
@*@ @ @emph{(large single download, \pdfsize\)}
@unnumberedsec Development
@divClass{heading-center}
-@heading Development materials for LilyPond @versionDevel{}
+@ifclear web_version
+ @heading Development for LilyPond @version
+@end ifclear
+@ifset web_version
+ @heading Development for LilyPond @versionDevel
+@end ifset
+
@warning{These are @emph{unstable development} versions. If you
have the slightest doubt about how to use or install LilyPond, we
@divClass{column-right-top}
@subheading Contributor's Guide
-LilyPond development is a fairly complicated matter. LilyPond is
-a large, (mostly) stable project. In order to help new
-contributors, and to keep the whole system (mostly) stable, we
-have written a manual for contributors.
+LilyPond development is a fairly complicated matter. In order to
+help new contributors, and to keep the whole system (mostly)
+stable, we have written a manual for development tasks.
-@docLinks{Contributor's Guide, contributor,
+@docLinksBare{Contributor's Guide, contributor,
@rcontribnamed{Top,Contributor's Guide},
@manualDevelContributorSplit,
@manualDevelContributorBig, 500 kB,
@divEnd
-@c if Downloads was a bit longer, and/or the CG was a bit shorter,
-@c this would be great as column-right-top. -gp
-@divClass{column-center-top}
+@divClass{column-right-top}
@subheading Regression tests
@divClass{keep-bullets}
@multitable @columnfractions .3 .3 .3
@headitem Introduction
@item
-@manualDevelLearningSplit
+@docLinkSplit{Learning,learning,@manualDevelLearningSplit}
@tab
-@manualDevelLearningBig
+@docLinkBig{Learning,learning,@manualDevelLearningBig}
@tab
-@manualDevelLearningPdf
+@docLinkPdf{Learning,learning,@manualDevelLearningPdf}
@item
-@manualDevelGlossarySplit
+@docLinkSplit{Glossary,music-glossary,@manualDevelGlossarySplit}
@tab
-@manualDevelGlossaryBig
+@docLinkBig{Glossary,music-glossary,@manualDevelGlossaryBig}
@tab
-@manualDevelGlossaryPdf
+@docLinkPdf{Glossary,music-glossary,@manualDevelGlossaryPdf}
@item
-@manualDevelEssaySplit
+@docLinkSplit{Essay,essay,@manualDevelEssaySplit}
@tab
-@manualDevelEssayBig
+@docLinkBig{Essay,essay,@manualDevelEssayBig}
@tab
-@manualDevelEssayPdf
+@docLinkPdf{Essay,essay,@manualDevelEssayPdf}
@headitem Regular
@item
-@manualDevelNotationSplit
+@docLinkSplit{Notation,notation,@manualDevelNotationSplit}
@tab
-@manualDevelNotationBig
+@docLinkBig{Notation,notation,@manualDevelNotationBig}
@tab
-@manualDevelNotationPdf
+@docLinkPdf{Notation,notation,@manualDevelNotationPdf}
@item
-@manualDevelUsageSplit
+@docLinkSplit{Usage,usage,@manualDevelUsageSplit}
@tab
-@manualDevelUsageBig
+@docLinkBig{Usage,usage,@manualDevelUsageBig}
@tab
-@manualDevelUsagePdf
+@docLinkPdf{Usage,usage,@manualDevelUsagePdf}
@item
-@manualDevelSnippetsSplit
+@docLinkSplit{Snippets,snippets,@manualDevelSnippetsSplit}
@tab
-@manualDevelSnippetsBig
+@docLinkBig{Snippets,snippets,@manualDevelSnippetsBig}
@tab
-@manualDevelSnippetsPdf
+@docLinkPdf{Snippets,snippets,@manualDevelSnippetsPdf}
@headitem Infrequent
@item
-@manualDevelWebSplit
+@docLinkSplit{Web,web,@manualDevelWebSplit}
@tab
-@manualDevelWebBig
+@docLinkBig{Web,web,@manualDevelWebBig}
@tab
-@manualDevelWebPdf
+@docLinkPdf{Web,web,@manualDevelWebPdf}
@item
-@manualDevelChangesSplit
+@docLinkSplit{Changes,changes,@manualDevelChangesSplit}
@tab
-@manualDevelChangesBig
+@docLinkBig{Changes,changes,@manualDevelChangesBig}
@tab
-@manualDevelChangesPdf
+@docLinkPdf{Changes,changes,@manualDevelChangesPdf}
@item
-@manualDevelExtendingSplit
+@docLinkSplit{Extending,extending,@manualDevelExtendingSplit}
@tab
-@manualDevelExtendingBig
+@docLinkBig{Extending,extending,@manualDevelExtendingBig}
@tab
-@manualDevelExtendingPdf
+@docLinkPdf{Extending,extending,@manualDevelExtendingPdf}
@item
-@manualDevelInternalsSplit
+@docLinkSplit{Internals,Internals,@manualDevelInternalsSplit}
@tab
-@manualDevelInternalsBig
+@docLinkBig{Internals,Internals,@manualDevelInternalsBig}
@tab
-@manualDevelInternalsPdf
+@docLinkPdf{Internals,Internals,@manualDevelInternalsPdf}
@end multitable
@item
@sourceimage{logo-fedora,,,}
@uref{http://koji.fedoraproject.org/koji/packageinfo?packageID=2447,
-Fedora: LilyPond 2.12.2}
+Fedora: LilyPond 2.12.3}
@item
@sourceimage{logo-ubuntu,,,}
@item
@sourceimage{logo-slackware,,,}
@uref{http://www.johannes-schoepfer.de/lilypond/,
-Slackware: LilyPond 2.12.2}
+Slackware: LilyPond 2.12.3}
@item
@sourceimage{logo-debian,,,}
@item
@sourceimage{logo-suse,,,}
-@uref{http://download.opensuse.org/repositories/openSUSE:/Factory:/Contrib/standard/,
-openSUSE: LilyPond 2.12.2}
+@uref{http://software.opensuse.org/search?baseproject=openSUSE%3A11.2&p=1&q=lilypond,
+openSUSE: LilyPond 2.12.3}
@end itemize
# from HTML manuals/snippets page
static_files = {
os.path.join (outdir, 'index.html'):
- '''<META HTTP-EQUIV="refresh" content="0;URL=Documentation/index.html">
+ '''<META HTTP-EQUIV="refresh" content="0;URL=Documentation/web/index.html">
<html><body>Redirecting to the documentation index...</body></html>\n''',
os.path.join (outdir, 'VERSION'):
package_version + '\n',