Simon Albrecht wrote Saturday, June 13, 2015 8:53 PM
Am 13.06.2015 um 15:17 schrieb Trevor Daniels:
Simon Albrecht wrote Saturday, June 13, 2015 2:00 PM
Weird, but it works and is definitely preferable over extra-offset.
Does anybody have an explanation? I couldn’t find the table with default
values for outside-staff-priority. They don’t seem to be referenced in
the IR, are they?
Try the Learning Manual:
http://www.lilypond.org/doc/v2.19/Documentation/learning/outside_002dstaff-objects
Thanks for the hint, that helps. But it is not comprehensive, is it?
No, it isn't. It's not intended to be comprehensive; it's intended to teach
you how to find out things for yourself. Which you have, because
you say:
For
example I know that Slur also uses the outside-staff-interface, but
there is no outside-staff-priority referenced in the LM.
That's because by default its value is not set. If you read the description
in the outside-staff-interface you'll see that it says:
"If set, the grob is positioned outside the staff in such a way as to avoid all
collisions"
To find out if it has a value you look for outside-staff-priority under the Slur
layout object, and find it is not listed, so its value is not set. By setting
it,
you change its behaviour wrt collisions.
Actually, if you read a little further through the section of the Learning
Manual,
which I helpfully suggested to you earlier, you'll find:
"Slurs by default are classed as within-staff objects, but they often appear above
the staff if the notes to which they are attached are high on the staff. This can push
outside-staff objects such as articulations too high, as the slur will be placed first.
The avoid-slur property of the articulation can be set to 'inside to bring the
articulation inside the slur, but the avoid-slur property is effective only if the
outside-staff-priority is also set to #f. Alternatively, the outside-staff-priority of
the slur can be set to a numerical value to cause it to be placed along with other
outside-staff objects according to that value."
Followed by an example showing exactly how to do it.
It would seem
proper if all properties and their default values were to be found in
the Internals…
They are. You just have to read the manuals and learn how to extract them.
Trevor