>
> Neither are called lilypond.  It's not particularly great, but there are
>> examples for the sharing of command and environment.  Basically you
>> check whether @currenvir is set to LilyPond.  As long as you don't
>> _nest_ those constructs...
>>
>> The environment is defined as `ly`, but there is a `lilypond` alias. So
`\begin{lilypond}` just works.

Basically:
>>
>> \newenvironment{lilypond}
>> {...}
>> {...}
>>
>> \newcommand{\lilypondcommand}{...}
>>
>> \let\lilypond@envcode\lilypond
>> \protected\def\lilypond{\def\reserved@a{lilypond}%
>>    \ifx\reserved@a\@currenv \expandafter\lilypond@envcode
>>    \else \expandafter \lilypondcommand \fi}
>>
>> Ugly, sure.  But I think LilyPond upstream would be sympathetic to
>> making command and environment named differently in the long run.
>>
>>
I'm going to try it just now.

I don’t know enough about (La?)TeX internals to understand the code above
> but if you redefined the command \lilypond, would things like the following
> still be possible?
>
> \newenvironment{dly}{
> \center
> \ly
> \language "deutsch"
>
> \paper {
>         ##(define fonts
>                 (set-global-fonts
>                 ##:music "cadence"
>                 ##:brace "cadence"
>                 ##:roman "Vollkorn"
>                 ##:factor (/ staff-height pt 20)))
> }
>
> \layout {
>         % some other general things
> }
>
> % some includes and function definitions
> }{\endly\endcenter}


As you are using `\ly`, as soon as I don't modify it, it'll work.
_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user

Reply via email to