On Thu, Dec 3, 2015 at 10:54 AM, David Nalesnik
<address@hidden <mailto:address@hidden>> wrote:
Hi,
On Thu, Dec 3, 2015 at 10:35 AM, Urs Liska <address@hidden
<mailto:address@hidden>> wrote:
Am 03.12.2015 um 17:30 schrieb Graham King:
On Thu, 2015-12-03 at 17:12 +0100, Urs Liska wrote:
Am 03.12.2015 um 17:10 schrieb Graham King:
On Thu, 2015-12-03 at 16:57 +0100, Urs Liska wrote:
Ah, forgot: the ending function would also have to be
written before the syllable, so
Three \foo deaf and \bar blind mice are \foobar alive.
should return
Three [deaf and blind] mice are [alive]
Uh, no. I'd like it to return
Three [deaf and] blind mice are [alive]
That's the bit I'm struggling with.
You can't do that (I think). But I don't see a problem with
writing the function before the syllable.
Or what am I missing?
I've got a lot of music with
foo = \override LyricText.font-shape = #'italic
bar = \revert LyricText.font-shape
and I'd like to redefine foo and bar to replace the italics
with [bracketed text]. And to switch between italics and
brackets easily.
To achieve that it doesn't matter if the function is placed
before or after the syllable.
Your function has to merge the syllable with the surrounding
(be it a bracket or an \override) anyway, so you can handle
the pre-/postfix issue within the function itself.
But as I wrote in another reply (with full code example) I
don't know how to mix music and lyrics inside that function.
But surely someone else can help with that.
This looks too hideous to be the right way, but...
Yes, my sense was right
Maybe I'm missing something, but wouldn't the following suffice?
\version "2.19.21"
start =
#(define-scheme-function (parser location syllable)(markup?)
(format "[~a" syllable))
start = \override LyricText.color = #red
end =
#(define-scheme-function (parser location syllable)(markup?)
(format "~a]" syllable))
end = \revert LyricText.color