ADD_INTERFACE (Grob,
- "A grob represents a piece of music notation\n"
+ "A grob represents a piece of music notation.\n"
"\n"
- "All grobs have an X and Y-position on the page. These X and Y positions\n"
- "are stored in a relative format, so they can easily be combined by\n"
- "stacking them, hanging one grob to the side of another, and coupling\n"
- "them into a grouping objects.\n"
+ "All grobs have an X and Y@tie{}position on the page. These "
+ "X and Y@tie{}positions are stored in a relative format, thus "
+ "they can easily be combined by stacking them, hanging one "
+ "grob to the side of another, or coupling them into grouping "
+ "objects.\n"
"\n"
- "Each grob has a reference point (a.k.a. parent): the position of a grob\n"
- "is stored relative to that reference point. For example the X-reference\n"
- "point of a staccato dot usually is the note head that it applies\n"
- "to. When the note head is moved, the staccato dot moves along\n"
+ "Each grob has a reference point (a.k.a.@: parent): The "
+ "position of a grob is stored relative to that reference "
+ "point. For example, the X@tie{}reference point of a staccato "
+ "dot usually is the note head that it applies to. When the "
+ "note head is moved, the staccato dot moves along "
"automatically.\n"
"\n"
- "A grob is often associated with a symbol, but some grobs do not print\n"
- "any symbols. They take care of grouping objects. For example, there is a\n"
- "separate grob that stacks staves vertically. The @ref{NoteCollision}\n"
- "is also an abstract grob: it only moves around chords, but doesn't print\n"
+ "A grob is often associated with a symbol, but some grobs do "
+ "not print any symbols. They take care of grouping objects. "
+ "For example, there is a separate grob that stacks staves "
+ "vertically. The @ref{NoteCollision} object is also an "
+ "abstract grob: It only moves around chords, but doesn't print "
"anything.\n"
"\n"
- "Grobs have a properties: Scheme variables, that can be read and set. "
- "They have two types. Immutable variables "
- "define the default style and behavior. They are shared between many objects. "
- "They can be changed using @code{\\override} and @code{\\revert}. "
- "\n\n"
- "Mutable properties are variables that are specific to one grob. Typically, "
- "lists of other objects, or results from computations are stored in"
- "mutable properties: every call to set-grob-property (or its C++ equivalent) "
- "sets a mutable property. "
- "\n\n"
- "The properties @code{after-line-breaking} and @code{before-line-breaking} "
- "are dummies that are not user-serviceable. "
-
- ,
+ "Grobs have properties (Scheme variables) that can be read and "
+ "set. Two types of them exist: immutable and mutable. "
+ "Immutable variables define the default style and behavior. "
+ "They are shared between many objects. They can be changed "
+ "using @code{\\override} and @code{\\revert}. Mutable "
+ "properties are variables that are specific to one grob. "
+ "Typically, lists of other objects, or results from "
+ "computations are stored in mutable properties. In "
+ "particular, every call to @code{set-grob-property} (or its "
+ "C++ equivalent) sets a mutable property.\n"
+ "\n"
+ "The properties @code{after-line-breaking} and "
+ "@code{before-line-breaking} are dummies that are not "
+ "user-serviceable.",
/* properties */
"X-extent "