[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Rationale for LaTeX lilypond-book syntax?

From: David Kastrup
Subject: Re: Rationale for LaTeX lilypond-book syntax?
Date: Sun, 18 Apr 2010 19:21:54 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1.92 (gnu/linux)

Werner LEMBERG <address@hidden> writes:

>> the "LaTeX" syntax for lilypond-book happens to be something like
>> \begin[verbatim,fragment]{lilypond}
>>   \relative c' { c << { d e } { b c } >> <c es g> }
>> \end{lilypond}
>> Unfortunately, this is quite annoying since actual optional
>> arguments for environments come _after_ the environment name in
>> LaTeX, like
>> \begin{lilypond}[verbatim,fragment]
>>   \relative c' { c << { d e } { b c } >> <c es g> }
>> \end{lilypond}
>> Would it be feasible to obsolete the first syntax and support (and
>> recommend) the second syntax?
> I don't see any reason not to do that.  We even don't have to change
> the name of the environment.  Just allow both
>   \begin{lilypond}[...]
> and
>   \begin[...]{lilypond}
> It should be straightforward to extend lilypond-book's regexp to make
> this work.

It is not an entirely backward-compatible change since

\begin{lilypond}[c16 d e f]

is likely currently valid input.  Also LaTeX has the rather annoying
feature to skip whitespace before prospective optional arguments.  So

[c16 d e f]

would still count, from a LaTeX point of view, as an optional argument.

My personal take on this would be to have lilypond-book interpret
as introducing options, but don't interpret [ as an option introducer
after any spaces have occured after \begin{lilypond}.

One can implement this on the TeX side (once one wants to implement
lilypond-book in that manner) as well, in order to avoid having to write

[c16 d e f]

in order to convince LaTeX that no options are present.

David Kastrup

reply via email to

[Prev in Thread] Current Thread [Next in Thread]