What is the scheme way to construct a markup list (out of a list of
strings, for example) that can be passed to a markup command?
A list of strings is a markup list. However, not every markup list is a
list of strings, so you might be on the safer side by using markup list
processing commands rather than string processing commands.
That's more a case of
Known issues and warnings
.........................
The markup-list argument of commands such as ‘#:line’, ‘#:center’, and
‘#:column’ cannot be a variable or the result of a function call.
(markup #:line (function-that-returns-markups))
is invalid. One should use the ‘make-line-markup’,
‘make-center-markup’, or ‘make-column-markup’ functions instead,
(markup (make-line-markup (function-that-returns-markups)))