lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: markuplist and markup


From: David Kastrup
Subject: Re: markuplist and markup
Date: Wed, 12 Mar 2014 17:44:42 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux)

Simon Albrecht <address@hidden> writes:

> Well, now you ask, I did find it difficult to figure out what
> \markuplist actually does. As the command overviews in NR A.10 and
> A.11 are separated, I thought \markuplist and \markup were actually
> different things and somehow incompatible. As I now take it, it’s
> rather like \markuplist splits the markup contained in its argument
> and makes every line be a separate object. Is this correct?

No.  \markuplist takes a markup list and makes a markup list.  I can
write things like

xxx = \markuplist { a b c }

\markup \column \xxx

and get the same result as if I wrote

\markup \column { a b c }

\column takes a markup list as an argument and converts it into a single
markup.  So does \line, but in a different way.  If \markup is
immediately followed by a markup _list_ rather than a markup, it
implicitly calls \line to convert that markup list into a single markup.

> "Standard markup objects are not breakable. Therefore, some special
> commands are available which make a separate object out of every
> markup line and thus permit page breaks to be inserted inbetween:

No, that's pretty wrong.  Markups are complete entities.  You never
split them (we recently discussed something like \line-parts that
_would_ break a markup into components but that's an exception that does
not even exist yet).

Calling a markup list command or enclosing any number of markups (or
markup lists which are then included element-wise) with { } forms a
markup list, which is a sequence of single markups not yet combined in
any manner.

As a special exception, markup commands accepting a markup as their last
element can also be written with a markup list as its last element and
then are applied per-element.

That means that
\markup \small { a b c d }
is the same as
\markup \line { \small a \small b \small c \small d }

which is different from

\markup \small \line { a b c d }

since the latter uses _small_ spaces while the former uses normal spaces
between small letters.

-- 
David Kastrup



reply via email to

[Prev in Thread] Current Thread [Next in Thread]