>
> 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
[email protected]
https://lists.gnu.org/mailman/listinfo/lilypond-user