]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/zh/web/community.itexi
Imported Upstream version 2.16.0
[lilypond.git] / Documentation / zh / web / community.itexi
index e839eac80a7ea2e08c27698b8418680632b27636..a01e5abbbe98d53e93a6a2ba04eb3c86f9897336 100644 (file)
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: zh -*-
 @c This file is part of web.texi
 @ignore
-    Translation of GIT committish: 46ec3bd9ded640faef62938929a0af97345cf955
+    Translation of GIT committish: 5239637b8f00a0307b860dac05189f297c7c198a
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  See TRANSLATION for details.
 @end ignore
 
-@c Translators: Ben Luo
+@c Translators: Ben Luo, Anthony Fok
 
 @include included/authors.itexi
 @include included/helpus.itexi
+
 @node 社区
 @unnumbered 社区
 @translationof Community
 
+@divClass{link-headings}
 
+@divClass{column-center-top}
 @subheading 与社区互动
+
+@itemize
+
+@item
+@ref{Contact}: get help, discuss, and keep in touch!
+
+@item
+@ref{Tiny examples}: these are @emph{highly} recommended when
+discussing LilyPond.
+
+@item
+@ref{Bug reports}: something went wrong.
+
+@end itemize
+@divEnd
+
+@divClass{column-left-bottom}
 @subheading 使 LilyPond 更好
-@subheading 其它
+
+@itemize
+
+@item
+@ref{Help us}: your assistance is requested.
+
+@item
+@ref{Sponsoring}: financial contributions.
+
+@item
+@ref{Development}: for contributors and testers.
+
+@item
+@ref{GSoC 2012}: our ideas for 2012 edition of Google Summer of Code.
+
+@item
+@ref{Authors}: the people who made LilyPond what it is today.
+
+@end itemize
+@divEnd
+
+@divClass{column-right-bottom}
+@subheading 其他
+
+@itemize
+
+@item
+@ref{Publications}: what we wrote, and have had written about us.
+
+@item
+@ref{Old news}: an archive.
+
+@item
+@ref{Attic}: announcements and changelogs from past versions.
+
+@end itemize
+@divEnd
+
+@divEnd
+
+@divClass{hide}
 @menu
 * 联系::
 * 小例子::
-* 缺陷报告::
+* 错误报告::
 * 帮助我们::
+* 赞助::
 * 开发::
+* GSoC 2012::
 * 作者::
 * 出版物::
 * 旧闻::
+* Attic::
 @end menu
+@divEnd
+
 
 @node 联系
 @unnumberedsec 联系
 @translationof Contact
 
 
+@divClass{column-left-bottom}
 @subheading 用户讨论和帮助
+
 @subsubheading 用户邮件列表: @code{lilypond-user@@gnu.org}
+
+This mailing list is the main place for users to discuss and help
+each other.
+
+@quotation
+@uref{http://lists.gnu.org/mailman/listinfo/lilypond-user,
+lilypond-user subscribe and info}
+
+@uref{http://lists.gnu.org/archive/html/lilypond-user/,
+user archive1}
+@uref{http://www.mail-archive.com/lilypond-user@@gnu.org/,
+archive2}
+@uref{http://dir.gmane.org/gmane.comp.gnu.lilypond.general,
+archive3}
+
+@uref{http://post.gmane.org/post.php?group=gmane.comp.gnu.lilypond.general,
+send to lilypond-user with gmane}
+@end quotation
+
+@warning{When asking questions, please use @ref{Tiny examples}!}
+
 @subsubheading LilyPond 片断仓库
+
+The LilyPond Snippet Repository (LilyPond 片断仓库) is a large collection of
+user-submitted examples, which can freely be copied and used
+in your own works.  See what other people have written,
+and add your own!
+
+@example
+@uref{http://lsr.dsi.unimi.it}
+@end example
+
+Particularly instructive examples from LSR are included in our
+official documentation, in @ref{Snippets}.
+
+
 @subsubheading IRC
-@subsubheading 其它语言
-@subheading 保持沟通
+
+Some level of support is provided on our IRC channel,
+
+@example
+@uref{irc://irc.freenode.net/lilypond, #lilypond@@irc.freenode.net}
+@end example
+
+This channel has no public archive, so any question that may
+be useful for others would better be posted to one of the mailing lists.
+
+@html
+<form action="http://webchat.freenode.net"
+      method="get"
+      name="f_lily_irc"
+  <label>irc name:
+    <input name="nick" type="text" size="15" value="">
+  </label>
+  <input name="channels" type="hidden" value="lilypond">
+  <input type="submit" value="Join #lilypond IRC Chat">
+</form>
+
+<script language="JavaScript" type="text/javascript">
+  var username = "web";
+  var lang = window.navigator.userLanguage ? window.navigator.userLanguage
+  : window.navigator.language;
+  username += '-' + lang.substr(0, 2);
+  username += '-' + navigator.appName.substr(0, 2);
+  username += navigator.appCodeName.replace (" ", "").substr(0, 2);
+  username += navigator.platform.replace (" ", "").replace("nux", "").replace("n32", "");
+  document.forms["f_lily_irc"].nick.value = username;
+</script>
+@end html
+
+@subsubheading 其他语言
+
+@quotation
+@uref{http://lists.gnu.org/mailman/listinfo/lilypond-es,
+Spanish mailing list}
+
+@uref{http://www.lilypondforum.de/,
+German forum}
+
+@uref{http://groups.google.com/group/lilypond-brasil,
+Portuguese group}
+
+@uref{http://lists.gnu.org/mailman/listinfo/lilypond-user-fr,
+French mailing list}
+
+@uref{http://www.lilypondforum.nl/,
+Dutch forum}
+@end quotation
+
+@divEnd
+
+
+@divClass{column-right-top}
+@subheading 了解最新动态
+
 @subsubheading LilyPond 报告
+
+The easiest way to keep touch is by reading our community
+newsletter, the LilyPond Report:
+
+@example
+@uref{http://news.lilynet.net}
+@end example
+
 @subsubheading 发行版邮件列表: @code{info-lilypond@@gnu.org}
+This mailing list is a low-volume, read-only list which receives
+notifications of new releases.
+
+@quotation
+@uref{http://lists.gnu.org/mailman/listinfo/info-lilypond,
+info-lilypond subscribe and info}
+
+@uref{http://lists.gnu.org/archive/html/info-lilypond/,
+info archive1}
+@uref{http://www.mail-archive.com/info-lilypond@@gnu.org/,
+archive2}
+@uref{http://dir.gmane.org/gmane.comp.gnu.lilypond.announce,
+archive3}
+
+@c don't include gmane posting here.  -gp
+@end quotation
+
+
+@divEnd
+
+
+@divClass{column-right-bottom}
 @subheading 开发者讨论
+
 @subsubheading 开发者邮件列表: @code{lilypond-devel@@gnu.org}
-@subsubheading 缺陷邮件列表: @code{bug-lilypond@@gnu.org}
+
+Most developer discussion takes place on this list.  Patches
+should be sent here.
+
+@quotation
+@uref{http://lists.gnu.org/mailman/listinfo/lilypond-devel,
+lilypond-devel subscribe and info}
+
+@uref{http://lists.gnu.org/archive/html/lilypond-devel/,
+devel archive1}
+@uref{http://www.mail-archive.com/lilypond-devel@@gnu.org/,
+archive2}
+@uref{http://dir.gmane.org/gmane.comp.gnu.lilypond.devel,
+archive3}
+
+@uref{http://post.gmane.org/post.php?group=gmane.comp.gnu.lilypond.devel,
+send to lilypond-devel with gmane}
+@end quotation
+
+
+@subsubheading 错误邮件列表: @code{bug-lilypond@@gnu.org}
+
+Bug-specific discussion takes place here.
+
+@quotation
+@uref{http://lists.gnu.org/mailman/listinfo/bug-lilypond,
+bug-lilypond subscribe and info}
+
+@uref{http://lists.gnu.org/archive/html/bug-lilypond/,
+bug archive1}
+@uref{http://www.mail-archive.com/bug-lilypond@@gnu.org/,
+archive2}
+@uref{http://dir.gmane.org/gmane.comp.gnu.lilypond.bugs,
+archive3}
+
+@c don't include gmane posting here.  -gp
+@end quotation
+
+@warning{Before sending a message to the bug list, please read our
+guidelines for @ref{Bug reports}.}
+
+@divEnd
+
+@divClass{column-right-bottom}
+@subheading Sensitive emails
+
+Private matters should be sent to Graham Percival (project
+manager), who will discuss it with those concerned.
+
+@divEnd
+
+
 @node 小例子
 @unnumberedsec 小例子
 @translationof Tiny examples
 
-
+@divClass{column-center-top}
 @subheading 什么是 @qq{小例子}?
-@subheading 为什么创造出来?
-@subheading 我如何创造出来?
-@node 缺陷报告
-@unnumberedsec 缺陷报告
+
+一个小例子 (tiny example) is an example from which @strong{nothing} can be removed.
+@divEnd
+
+@divClass{column-left-bottom}
+@subheading 为什么要创建小例子?
+
+@divClass{keep-bullets}
+@itemize
+
+@item
+The simpler the example is, the quicker potential helpers can
+understand it and help you.
+
+@item
+A tiny example demonstrates that you have put effort towards
+solving the problem yourself.  When people send huge portions of
+input, it looks like they don't care if we help them or not.
+
+@item
+Creating a tiny example helps you to understand what is
+happening.  Many false problem reports can be avoided by
+attempting to create a tiny example; if you cannot replicate a
+@qq{bug} in a tiny example, then the problem was probably an
+insufficient understanding of LilyPond, not an actual bug!
+
+@end itemize
+@divEnd
+
+@divEnd
+
+
+@divClass{column-right-bottom}
+@subheading 如何创建小例子?
+
+@divClass{keep-bullets}
+@itemize
+
+@item
+Include the @code{\version} number.
+
+@item
+Make it small!  Examples about spacing or page layout might
+require many bars of music, but most issues can be reproduced
+using less than a single measure.
+
+@item
+When trying to create an example, try commenting out @w{(@code{%}
+or @code{%@{ @dots{} %@}})} sections of your file.  If you
+can comment something while still demonstrating the main idea,
+then remove the commented-material.
+
+@item
+Avoid using complicated notes, keys or time signatures, unless
+the bug is about the behavior of those items.
+
+@item
+Do not use @code{\override} or @code{\set} commands unless the bug
+is about those specific commands.
+
+@item
+Optionally, attach an image showing the desired graphical output.
+
+@end itemize
+@divEnd
+
+@divEnd
+
+@divClass{column-center-bottom}
+@subheading How tiny should they be?
+
+Is the code below a minimal example?
+
+@example
+\version "2.14.1"
+\include "english.ly"
+
+\score @{
+  \new Staff @{
+    \key d \major
+    \numericTimeSignature
+    \time 2/4
+    <cs' d'' b''>16 <cs' d'' b''>8.
+    %% Here: the tie on the D's looks funny
+    %% Too tall? Left-hand endpoint is not aligned with the B tie?
+    ~
+    <cs' d'' b''>8 [ <b d'' a''> ]
+  @}
+@}
+@end example
+
+Well, it is not very big, but a truly minimal example is here:
+
+@example
+\version "2.14.1"
+@{
+  % middle tie looks funny here:
+  <c' d'' b''>8. ~ <c' d'' b''>8
+@}
+@end example
+
+Very few tiny examples exceed 10 lines of code -
+quite often 4 lines are enough to demonstrate the problem!
+
+@divEnd
+
+
+@node 错误报告
+@unnumberedsec 错误报告
 @translationof Bug reports
 
 
-@subheading 第1步:了解缺陷
-@subheading 第2步:创建缺陷报告
-@subheading 第3步:发送缺陷报告
-@subheading 第4步:等待回应
-@subheading 其它可能的帮助:表现出渴望的举动
+@divClass{heading-center}
+If you have input that results in a crash or wrong output,
+then that is a bug.
+@divEnd
+
+@divClass{column-center-top}
+@subheading 第 1 步:检查是否已知错误
+
+We may already know about this bug.  Check here:
+
+@example
+@uref{http://code.google.com/p/lilypond/issues/list}
+@end example
+
+@warning{Please @strong{DO NOT} add bug reports directly to the
+bug tracker.  Once an issue has been added to the tracker, feel
+free to add more information to that report.}
+
+@divEnd
+
+
+@divClass{column-left-bottom}
+@subheading 第 2 步:创建错误报告
+
+If you have discovered a bug which is not listed,
+please help us by creating a bug report.
+
+@warning{We only accept reports in the form of
+@ref{Tiny examples}.  We have very limited resources,
+so any non-minimal example will be rejected.  Almost
+every bug can be demonstrated in four notes or less!}
+
+Here is an example of a good bug report:
+
+@example
+% Accidentals should be printed for only
+% the first note in a tie, but this version
+% prints flats on both notes.
+\version "2.10.1"
+
+\relative c'' @{
+ bes1 ~
+ bes1
+@}
+@end example
+
+@divEnd
+
+@divClass{column-right-bottom}
+@subheading 第 3 步:发送错误报告
+
+Once you have verified that the issue is not already known and
+created a bug report, please send it to us!
+
+@divClass{keep-bullets}
+@itemize
+
+@item
+If you are subscribed to the @uref{mailto:bug-lilypond@@gnu.org,
+bug-lilypond@@gnu.org} mailing list, send an email like normal.
+
+@item
+If you are not subscribed, you can still post a bug report with
+the
+@uref{http://post.gmane.org/post.php?group=gmane.comp.gnu.lilypond.bugs,
+gmane lilypond.bugs web interface}.
+
+However, there is a strict @qq{no top-posting} check on the gmane
+interface, which is often incorrectly triggered by lilypond files.
+To avoid this, please add:
+
+@example
+> I'm not top posting.
+@end example
+
+@noindent
+(you @emph{must} include the @code{>} ) to the top of your bug
+report.
+
+@end itemize
+@divEnd
+@divEnd
+
+@divClass{column-center-bottom}
+@subheading 第 4 步:等待回应
+
+Once your bug report has been sent to the list, our Bug Squad will
+examine it; they may ask you for more information.  You will be notified
+when the report will be added to the bug tracker. Please allow up to 4 days,
+as we have a limited number of volunteers for this task.
+
+Once a bug has been added to the tracker, you can comment it to add
+more information about it.
+You may also mark the bug so that you automatically receive emails when
+any activity on the bug occurs.  This requires you have a google
+account.
+@divEnd
+
+@divClass{column-center-bottom}
+@subheading 可选的帮助:展示所期望的行为
+
+Once an issue has been added to the tracker, it can be very
+helpful if we can see the desired output.  Feel free to add input
+code and/or images (possibly created with other tools) which
+demonstrate what you think it should look like!
+
+@divEnd
+
+
 @node 帮助我们
 @unnumberedsec 帮助我们
 @translationof Help us
 
+@divClass{column-center-top}
+@helpusNeed
+
+@divEnd
+
+@divClass{column-left-top}
+@divClass{keep-bullets}
+@helpusSimple
+
+@divEnd
+@divEnd
+
+@divClass{column-right-top}
+@helpusAdvanced
+
+@divEnd
+
+
+@node 赞助
+@unnumberedsec 赞助
+@translationof Sponsoring
+
+@divClass{keep-bullets}
+@divClass{column-left-top}
+@subheading Bounties
+
+In the past,
+
+@itemize
+@item some users have paid for new features
+@item some developers have added new features for hire
+@end itemize
+
+The LilyPond project does not organize such efforts; we neither
+endorse nor discourage such agreements.  Any contracts between
+private individuals is the business of those individuals, not
+ours.
+
+@divEnd
+
+@divClass{column-right-top}
+@subheading Guidelines
+
+Any user wanting to offer money in exchange for work should bear
+in mind the following points:
+
+@itemize
+@item
+LilyPond developers may advertise their services on the lilypond
+email lists from time to time.
+
+@item
+Any agreements between private individuals should include the
+normal precautions when conducting business: who pays, how much do
+they pay, with what method of payment, and upon what set of
+conditions.  We suggest that any ambiguity or uncertainty in these
+questions should be resolved before any work begins.
+
+@end itemize
+
+@divEnd
+
+@divClass{column-center-bottom}
+@subheading Interested developers
+
+Here is a list of people who have expressed an interest in
+bounties.  Note that the amount of work done by individuals varies
+quite a bit throughout the years.  We do not guarantee that this
+list is up-to-date, nor do we guarantee that the people listed
+here have any ability.  The only criteria is "XYZ asked to be
+listed on this page".
+
+Looking at the git history is a good way to determine who the most
+active and experienced developers are.  Statistics up to version
+@versionDevel{}:
+
+@multitable @columnfractions .3 .3 .3
+@item @uref{http://lilypond.org/~graham/gitstats-all/, overall history}
+@tab @uref{http://lilypond.org/~graham/gitstats-1year/, past year}
+@tab @uref{http://lilypond.org/~graham/gitstats-3months/, past three months}
+@end multitable
+
+Interested developers:
+@table @asis
+@item @email{dak@@gnu.org, David Kastrup}
+Donations are required to let me continue my current fulltime work on
+LilyPond.  I focus on user and programmer interface design, coherence,
+implementation, simplification, documentation, and debugging.
+
+@c Format
+@c @item @email{name@@adress.domain, Name}
+@c area of interest (256 chars max)
+
+@end table
+
+@divEnd
+@divEnd
+
 
 @node 开发
 @unnumberedsec 开发
 @translationof Development
 
+@divClass{heading-center}
+@ifclear web_version
+  @heading Development for LilyPond @version
+@end ifclear
+@ifset web_version
+  @heading Development for LilyPond @versionDevel
+@end ifset
+
 
-@subheading 发行号
+@c we normally don't allow named references, but in this case
+@c it's good to emphasize the "stable" part.  -gp
+@warning{These are @emph{unstable development} versions.  If you
+have the slightest doubt about how to use or install LilyPond, we
+urge you to use the @ref{Download, stable Download}, and read the
+@ref{Manuals, stable Manuals}.}
+
+@divEnd
+
+@divClass{column-center-top}
+@subheading Release numbers 发行号
+
+There are two sets of releases for LilyPond: stable releases, and
+unstable development releases.  Stable versions have an
+even-numbered @q{minor} version number (e.g., 2.8, 2.10, 2.12).
+Development versions have an odd-numbered @q{minor} version number
+(e.g., 2.7, 2.9, 2.11).
+
+@divEnd
+
+
+@divClass{column-left-top}
 @subheading 下载
+
+Instructions for git and compiling are in the Contributor's Guide.
+
+@quotation
+@uref{http://git.sv.gnu.org/gitweb/?p=lilypond.git, lilypond git repository}
+@end quotation
+
+Documentation writers and testers will generally want to download
+the latest binary:
+
+@quotation
+
+@downloadDevelLinuxNormal
+
+@downloadDevelLinuxBig
+
+@downloadDevelLinuxPPC
+
+@downloadDevelFreeBSDNormal
+
+@downloadDevelFreeBSDBig
+
+@downloadDevelDarwinNormal
+
+@downloadDevelDarwinPPC
+
+@downloadDevelWindows
+
+@downloadDevelSource
+
+@end quotation
+
+@divEnd
+
+
+@divClass{column-right-top}
 @subheading 贡献者指南
+
+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.
+
+@docLinksBare{Contributor's Guide, contributor,
+  @rcontribnamed{Top,Contributor's Guide},
+  @manualDevelContributorSplit,
+  @manualDevelContributorBig, 500 kB,
+  @manualDevelContributorPdf, 2.8 MB}
+
+@divEnd
+
+
+@divClass{column-center-top}
 @subheading 回归测试
-@subsubheading 发行版
+
+@divClass{keep-bullets}
+
+@ifclear web_version
+
+@itemize
+@item
+@uref{../../input/regression/collated-files.html, Regression tests}:
+This release's regtests.
+(@uref{../../input/regression/collated-files.pdf, pdf version})
+
+@item
+@uref{../../input/regression/musicxml/collated-files.html, MusicXML tests}:
+This release's musicXML tests.
+(@uref{../../input/regression/musicxml/collated-files.pdf, pdf version})
+
+@item
+@uref{../../input/regression/abc2ly/collated-files.html, abc2ly tests}:
+This release's abc2ly tests.
+(@uref{../../input/regression/abc2ly/collated-files.pdf, pdf version})
+
+@item
+@uref{../../input/regression/lilypond-book/collated-files.html, lilypond-book tests}:
+This release's lilypond-book tests.
+(@uref{../../input/regression/lilypond-book/collated-files.pdf, pdf version})
+@end itemize
+
+@end ifclear
+
+@ifset web_version
+@subsubheading 开发中版本
+
+@itemize
+@item @regtestDevel (@regtestDevelPdf{})
+
+@item @regtestDevelXml (@regtestDevelXmlPdf{})
+
+@item @regtestDevelAbc (@regtestDevelAbcPdf{})
+
+@item @regtestDevelLilypondBook (@regtestDevelLilypondBookPdf{})
+@end itemize
+
 @subsubheading 稳定版
+
+@itemize
+@item @regtestStable (@regtestStablePdf{})
+
+@item @regtestStableXml (@regtestStableXmlPdf{})
+
+@item @regtestStableAbc (@regtestStableAbcPdf{})
+
+@item @regtestStableLilypondBook (@regtestStableLilypondBookPdf{})
+@end itemize
+@end ifset
+
+
 @subsubheading 所有版本
+
+@itemize
+@item @uref{http://lilypond.org/test, Comparisons between regression tests}
+
+@item @uref{http://lilypond.org/download/binaries/test-output/,
+Archive of all regression tests}
+
+@end itemize
+
+@divEnd
+@divEnd
+
+
+
+@divClass{column-center-bottom}
 @subheading 手册
+
+@ifclear web_version
+@warning{These manuals are for LilyPond @version{}; the latest
+manuals can be found at @url{http://lilypond.org}}
+@end ifclear
+
+@divClass{normal-table}
+@multitable @columnfractions .3 .3 .3
+@headitem Introduction
+@item
+@docLinkSplit{Learning,learning,@manualDevelLearningSplit}
+@tab
+@docLinkBig{Learning,learning,@manualDevelLearningBig}
+@tab
+@docLinkPdf{Learning,learning,@manualDevelLearningPdf}
+
+@item
+@docLinkSplit{Glossary,music-glossary,@manualDevelGlossarySplit}
+@tab
+@docLinkBig{Glossary,music-glossary,@manualDevelGlossaryBig}
+@tab
+@docLinkPdf{Glossary,music-glossary,@manualDevelGlossaryPdf}
+
+@item
+@docLinkSplit{Essay,essay,@manualDevelEssaySplit}
+@tab
+@docLinkBig{Essay,essay,@manualDevelEssayBig}
+@tab
+@docLinkPdf{Essay,essay,@manualDevelEssayPdf}
+
+@headitem Regular
+
+@item
+@docLinkSplit{Notation,notation,@manualDevelNotationSplit}
+@tab
+@docLinkBig{Notation,notation,@manualDevelNotationBig}
+@tab
+@docLinkPdf{Notation,notation,@manualDevelNotationPdf}
+
+@item
+@docLinkSplit{Usage,usage,@manualDevelUsageSplit}
+@tab
+@docLinkBig{Usage,usage,@manualDevelUsageBig}
+@tab
+@docLinkPdf{Usage,usage,@manualDevelUsagePdf}
+
+@item
+@docLinkSplit{Snippets,snippets,@manualDevelSnippetsSplit}
+@tab
+@docLinkBig{Snippets,snippets,@manualDevelSnippetsBig}
+@tab
+@docLinkPdf{Snippets,snippets,@manualDevelSnippetsPdf}
+
+@headitem Infrequent
+
+@item
+@docLinkSplit{Web,web,@manualDevelWebSplit}
+@tab
+@docLinkBig{Web,web,@manualDevelWebBig}
+@tab
+@docLinkPdf{Web,web,@manualDevelWebPdf}
+
+@item
+@docLinkSplit{Changes,changes,@manualDevelChangesSplit}
+@tab
+@docLinkBig{Changes,changes,@manualDevelChangesBig}
+@tab
+@docLinkPdf{Changes,changes,@manualDevelChangesPdf}
+
+@item
+@docLinkSplit{Extending,extending,@manualDevelExtendingSplit}
+@tab
+@docLinkBig{Extending,extending,@manualDevelExtendingBig}
+@tab
+@docLinkPdf{Extending,extending,@manualDevelExtendingPdf}
+
+@item
+@docLinkSplit{Internals,internals,@manualDevelInternalsSplit}
+@tab
+@docLinkBig{Internals,internals,@manualDevelInternalsBig}
+@tab
+@docLinkPdf{Internals,internals,@manualDevelInternalsPdf}
+
+@ifset web_version
+@headitem Downloadable
+
+@item
+@doctarballDevel
+@end ifset
+
+@end multitable
+
+@divEnd
+@divEnd
+
+
+
+
+@node GSoC 2012
+@unnumberedsec GSoC 2012
+@translationof GSoC 2012
+
+@divClass{column-center-top}
+@subheading What is Google Summer of Code?
+
+It is a global program run by Google that offers students stipends
+for working on open source software projects during summer vacations.
+
+The LilyPond Team decided that this is an excellent opportunity to find
+new contributors and encourage students already participating in LilyPond
+development to become more involved.  One of our contributors was accepted
+for 2012 edition of the program as part of the
+@uref{http://www.gnu.org/, GNU project};
+we hope to participate in future editions as well.
+
+@divEnd
+
+@divClass{column-center-bottom}
+@subheading Our 2012 Ideas List
+
+Below is a list of projects that we suggested for GSoC 2012 students.
+Although the application period is over, we decided to keep this webpage
+online as an inspiration for anyone who is interested in developing LilyPond.
+Some members of the development team are willing to help people who would like
+to tackle these projects.
+
+Of course, there are many more things to improve in LilyPond, including
+very small ones.  A full list of all known issues can be found
+@uref{http://code.google.com/p/lilypond/issues/list, here}.
+
+@subheading Grace notes
+
+Fix problems with synchronization of grace notes,
+together with all underlying architecture (see
+@uref{http://code.google.com/p/lilypond/issues/detail?id=34,
+issue 34 in our tracker}).  Grace notes are confusing to LilyPond's
+timing because they're like going back in time.  This causes weird
+effects, especially when one staff has a grace note and the other
+doesn't.
+
+@strong{难度:}中等
+
+@strong{Requirements:} C++, MIDI
+
+@strong{Recommended:} familiarity with LilyPond internals
+
+@strong{Mentor(s):} Mike Solomon, Carl Sorensen
+
+@subheading MusicXML
+
+Adding comprehensive MusicXML export and improving import,
+together with tests checking that it works. Depending on time available,
+implement some or all of the following:
+
+@divClass{keep-bullets}
+@itemize
+
+@item
+Handle basic musical content export like the MIDI export (i.e. using
+dedicated exporter classes, derived from the translator class)
+
+@item
+Build the XML tree of the basic musical content,
+add a connection from music event to XML tag
+
+@item
+Let all LilyPond engravers do their job
+
+@item
+Add ability to link each output object
+(basically each stencil / group of stencils) to the music cause
+(and thus to the XML tag in the XML tree)
+
+@item
+Add a XML output backend, which can then add the layout information
+for each output object to the XML tags
+
+@end itemize
+@divEnd
+
+The goal will be considered achieved when a (previously chosen) score
+could be imported from MusicXML and exported back with no unintentional
+loss of data.
+
+@strong{难度:}中等
+
+@strong{Requirements:} MusicXML, Python, basic LilyPond knowledge
+
+@strong{Mentor(s):} Reinhold Kainhofer, Mike Solomon
+
+Familiarity with other scorewriters (for cross-testing) would be a nice
+bonus.
+
+@subheading Improve slurs and ties
+
+The default shape of slur and tie curves is often unsatisfactory.
+Ties on enharmonic notes @code{@{ cis'~ des' @}} are not supported,
+ties "broken" by clef or staff change aren't supported well.
+The project includes collecting and sorting examples of bad output,
+deciding on the intended output and writing the actual code.
+
+@strong{难度:}hard
+
+@strong{Requirements:} C++, experience with writing heuristics
+
+@strong{Recommended knowledge:} LilyPond knowledge, aesthetic sense
+
+@strong{Mentor(s):} Mike Solomon
+
+@subheading Adding special variant of font glyphs
+Adding on-staff-line, between-staff-line, shorter and narrower variants
+of some glyphs, for example accidentals, together with a generic
+infrastructure to support them.  An example is ancient notation breve
+notehead coming in two variants, with smaller and bigger hole.
+
+@strong{难度:}easy
+
+@strong{Requirements:} MetaFont, C++, good eye for details
+
+@strong{Recommended knowledge:} basic LilyPond knowledge
+
+@strong{Mentor(s):} Werner Lemberg
+
+@subheading Improve beaming
+
+Default positioning of regular, cross-staff, broken and kneed beams
+should be improved.  Beaming should depend on context and neighbor notes
+(see @uref{http://icking-music-archive.org/lists/sottisier/sottieng.pdf,
+section 2.2 here}).  If possible, reduce beaming computation time.
+
+@strong{难度:}中等
+
+@strong{Requirements:} C++, experience with writing heuristics
+
+@strong{Recommended knowledge:} aesthetic sense
+
+@strong{Mentor(s):} Mike Solomon, Carl Sorensen
+
+@subheading Clean up various compilation warnings
+
+Clean up compiler warnings, static code analysis, and valgrind warnings.
+Automatic code analysis tools (warnings in @code{g++} and @code{clang})
+and analysis tools like valgrind memory leak detection and callgrind
+code profilers provide valuable information about possible flaws in C++
+code.  Cleaning these warnings would allow us to automatically reject
+any patch which introduced extra warnings.
+
+@strong{难度:}中等
+
+@strong{Requirements:} C++
+
+@strong{Mentor(s):} Joe Neeman, Reinhold Kainhofer
+
+@divEnd
+
+
+
+
 @node 作者
 @unnumberedsec 作者
 @translationof Authors
 
-
+@divClass{column-left-top}
 @subheading 目前的开发小组
+
+@divClass{keep-bullets}
+@developersCurrent
+@divEnd
+@divEnd
+
+@divClass{column-right-top}
 @subheading 以前的开发小组
+
+@divClass{keep-bullets}
+@developersPrevious
+@divEnd
+@divEnd
+
+
+@divClass{column-center-top}
 @subheading 目前的贡献者
+
+@divClass{keep-bullets}
 @subsubheading 编程
+
+@coreCurrent
+
 @subsubheading 字体
+
+@fontCurrent
+
 @subsubheading 文档
-@subsubheading 缺陷组
+
+@docCurrent
+
+@subsubheading 错误组 (Bug squad)
+
+@bugsquadCurrent
+
 @subsubheading 支持
+
+@supportCurrent
+
 @subsubheading 翻译
-@subheading 以前的开发小组
+
+@translationsCurrent
+
+@divEnd
+@divEnd
+
+
+@divClass{column-center-bottom}
+@subheading 以往的贡献者
+
+@divClass{keep-bullets}
 @subsubheading 编程
+
+@corePrevious
+
 @subsubheading 字体
+
+@fontPrevious
+
 @subsubheading 文档
+
+@docPrevious
+
+@c    uncomment when we have any previous members -gp
+@c @subsubheading Bug squad
+
+@c @bugsquadCurrent
+
 @subsubheading 支持
+
+@supportPrevious
+
 @subsubheading 翻译
+
+@translationsPrevious
+
+@divEnd
+@divEnd
+
+
+
 @node 出版物
 @unnumberedsec 出版物
 @translationof Publications
 
-
+@divClass{column-center-top}
 @subheading 我们写的有关 LilyPond 的文章
+
+@divClass{keep-bullets}
+
 @include we-wrote.itexi
-@subheading 别人怎么用 LilyPond 的
+
+@divEnd
+@divEnd
+
+@divClass{column-center-bottom}
+@subheading 大家怎么用 LilyPond 的
+
+@divClass{keep-bullets}
+
 @include others-did.itexi
+
+@divEnd
+@divEnd
+
+@contactUsAbout{学术论文}
+
+
 @node 旧闻
 @unnumberedsec 旧闻
 @translationof Old news
 
+@divClass{heading-center}
+@warning{Many old announcements and changelogs can be found in
+the @ref{Attic}}
+@divEnd
 
 @include web/news-front.itexi
+
 @include web/news.itexi
 
-@c -- SKELETON FILE --
+
+@node Attic
+@unnumberedsec Attic
+@translationof Attic
+
+@divClass{column-center-top}
+@subheading Announcements
+
+Announcements and news by version:
+@uref{http://lilypond.org/doc/v2.14/Documentation/web/index#LilyPond-2_002e14_002e0-released_0021-June-6_002c-2011,v2.14},
+@miscLink{announce-v2.12,v2.12},
+@miscLink{announce-v2.10,v2.10},
+@miscLink{announce-v2.8,v2.8},
+@miscLink{announce-v2.6,v2.6},
+@miscLink{announce-v2.4,v2.4},
+@miscLink{announce-v2.2,v2.2},
+@miscLink{announce-v2.0,v2.0},
+@miscLink{ANNOUNCE-1.2,v1.2},
+@miscLink{ANNOUNCE-1.0,v1.0},
+@miscLink{ANNOUNCE-0.1,v0.1}
+
+Descriptive list of changes by version:
+@uref{http://lilypond.org/doc/v2.14/Documentation/changes/index.html,v2.14},
+@uref{http://lilypond.org/doc/v2.12/Documentation/topdocs/NEWS,v2.12},
+@uref{http://lilypond.org/doc/v2.10/Documentation/topdocs/NEWS,v2.10},
+@uref{http://lilypond.org/doc/v2.8/Documentation/topdocs/NEWS,v2.8},
+@uref{http://lilypond.org/doc/v2.6/Documentation/topdocs/NEWS,v2.6},
+@uref{http://lilypond.org/doc/v2.4/Documentation/topdocs/out-www/NEWS,v2.4},
+@uref{http://lilypond.org/doc/v2.2/Documentation/topdocs/out-www/NEWS,v2.2},
+@uref{http://lilypond.org/doc/v2.0/Documentation/topdocs/out-www/NEWS,v2.0},
+@uref{http://lilypond.org/doc/v1.8/Documentation/topdocs/out-www/NEWS,v1.8},
+@uref{http://lilypond.org/doc/v1.6/Documentation/out-www/NEWS,v1.6},
+@miscLink{NEWS-1.4,v1.4},
+@miscLink{NEWS-1.2,v1.2}
+
+@divEnd
+
+@divClass{column-center-bottom}
+@subheading Changelogs
+
+Developers' changelogs by version:
+@miscLink{ChangeLog-2.10,v2.10},
+@miscLink{ChangeLog-2.3,v2.3},
+@miscLink{ChangeLog-2.1,v2.1},
+@miscLink{ChangeLog-1.5,v1.5 (1)},
+@miscLink{CHANGES-1.5,v1.5 (2)},
+@miscLink{CHANGES-1.4,v1.4},
+@miscLink{CHANGES-1.3,v1.3},
+@miscLink{CHANGES-1.2,v1.2},
+@miscLink{CHANGES-1.1,v1.1},
+@miscLink{CHANGES-1.0,v1.0},
+@miscLink{CHANGES-0.1,v0.1},
+@miscLink{CHANGES-0.0,v0.0}
+
+@divEnd