Thomas Morley <thomasmorle...@gmail.com> writes: > Am Mo., 17. Dez. 2018 um 19:21 Uhr schrieb Br. Samuel Springuel > <rpspring...@gmail.com>: >> >> On 2018-12-17 12:08 PM, David Kastrup wrote: >> > Uh, anything wrong with the obvious >> > >> > custom = \markup { PRAELUDIUM I \italic { italicized text } >> > Back to normal } >> > >> > ? >> It works in the MWE I posted, but not in my original use case (the >> contents of the field disappear entirely. After some further >> exploration the problem seems to be that I'm making use of >> `\wordwrap-field` rather than `\fromproperty` (a necessity due to the >> fact that the contents of this field can get rather long). > > \wordwrap-field only works for strings, otherwise an empty stencil is > returned. > Though, there was a bit discussion on devel recently. > http://lilypond.1069038.n5.nabble.com/Let-wordwrap-field-and-justify-field-take-non-strings-td217729.html > I then started work on a patch. Up to now not published (still work in > progress and not sure when I'll have the time to continue). > > The idea: > > #(define-markup-command (wordwrap-field layout props symbol) > (symbol?) > #:category align > "Wordwrap the data which has been assigned to @var{symbol}. > > @lilypond[verbatim,quote] > \\header { > title = \"My title\" > myText = \"Lorem ipsum dolor sit amet, consectetur adipisicing > elit, sed do eiusmod tempor incididunt ut labore et dolore > magna aliqua. Ut enim ad minim veniam, quis nostrud > exercitation ullamco laboris nisi ut aliquip ex ea commodo > consequat.\" > } > > \\paper { > bookTitleMarkup = \\markup { > \\column { > \\fill-line { \\fromproperty #'header:title } > \\null > \\wordwrap-field #'header:myText > } > } > } > > \\markup { > \\null > } > @end lilypond" > (let* ((m (chain-assoc-get symbol props))) > (cond ((string? m) > (wordwrap-string-markup layout props m)) > ((markup-list? m) > (wordwrap-markup layout props m)) > ((markup? m) > (interpret-markup layout props m)) > (else empty-stencil)))) > > > > \book { > \paper { > indent = 0\mm > scoreTitleMarkup = \markup { > \fill-line { > \null > \fontsize #4 \bold \wordwrap-field #'header:piece > } > } > } > \header { tagline = ##f } > \score { > { s1 } > \header { > piece = \markup { PRAELUDIUM I \italic { italicized text } Back > to normal } > } > } > } > > Seems to work.
Given the original rationale, maybe piece = \markuplist { PRAELUDIUM I \italic { italicized text } Back to normal } instead? BTW, I am not convinced of the string/markup differentiation since a string _is_ a simple markup. This is sort of icky. -- David Kastrup _______________________________________________ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user