lilypond-web: Tiny examples
Tiny examples
=============
What are “Tiny examples”?
-------------------------
A tiny example is an example from which *nothing* can be removed.
Why create them?
----------------
• The simpler the example is, the quicker potential helpers can
understand it and help you.
• 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.
• 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 “bug” in a tiny example,
then the problem was probably an insufficient understanding of
LilyPond, not an actual bug!
How to create them?
-------------------
• Include the ‘\version’ number.
• 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.
• When trying to create an example, try commenting out
(‘%’ or ‘%{ ... %}’) sections of your file. If you can comment
something while still demonstrating the main idea, then remove the
commented-material.
• Avoid using complicated notes, keys or time signatures, unless the
bug is about the behavior of those items.
• Do not use ‘\override’ or ‘\set’ commands unless the bug is about
those specific commands.
• Optionally, attach an image showing the desired graphical output.
How tiny should they be?
------------------------
Is the code below a minimal 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''> ]
}
}
Well, it is not very big, but a truly minimal example is here:
\version "2.14.1"
{
% middle tie looks funny here:
<c' d'' b''>8. ~ <c' d'' b''>8
}
Very few tiny examples exceed 10 lines of code - quite often 4 lines
are enough to demonstrate the problem!