[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