On Mar 22, 2011, at 11:28 AM, bordage.bertr...@gmail.com wrote:
> Of course, I agree that we should get rid of the two-pass algorithm. But
> it's really tricky to do it the clean way :o\
>
I will jump on the bandwagon here in saying that I too strongly dislike the
two-pass algorithm, but I dislike scrunched footnotes even more. To me, the
question is: is it worth it to have a 40ish-line kludgy implementation of
something as a placeholder for a better implementation, or should one hold out
until the better implementation? Given that the better implementation here
will require revamping how and when top-level markups are calculated (if not
markups in general), which will effect more than just footnotes (it'll have a
benefit for \on-the-fly as well), and given that most users will likely want
automatic numbering, I think it's important to get this in LilyPond before
tackling the markup problem.
> As the issues I pointed out need deep changes, I think the two-pass
> algorithm is better than nothing.
>
Agreed (see above).
> For the moment, we can also avoid these issues by displaying footnotes
> another way.
> For instance (without using this numbering patch) :
>
> \markup \footnote \line { a \raise #0.5 \tiny 1 } \line { 1. b }
> \markup \footnote \line { c \raise #0.5 \tiny 14 } \line { 14. d }
>
> This seems to be a good solution. We can even use this syntax instead :
>
> \markup { a \footnote \raise #0.5 \tiny 1 \line { 1. b } }
>
You're absolutely right. For someone who wants linear footnotes, this is
relatively easy to keep tabs on. For someone who wants footnotes to reset when
pages reset, if they are absolutely certain that a given footnote will fall on
page X, this is doable by hand as well.
> http://codereview.appspot.com/4244064/diff/40002/scm/define-markup-commands.scm
> File scm/define-markup-commands.scm (right):
>
> http://codereview.appspot.com/4244064/diff/40002/scm/define-markup-commands.scm#newcode1856
> scm/define-markup-commands.scm:1856: (markup-y-ext (ly:stencil-extent
> markup-stencil Y))
> Why is this defined ? I can't find its use.
It's vestigial - I'll scrub it.
*Parting Shot*
My approach to footnotes is heavily influenced by my work as a composer, so I
have implemented them based on a way that is useful in contemporary music
scores (I'm thinking Ligeti's Nouvelles aventures). For critical editions,
there are manifold improvements that should be made, such as:
1) The ability for the same symbol in several different places on a page
to apply to the same footnote.
2) As Bertrand previously suggested, the ability for footnotes to be laid
out more compactly.
3) The ability for in-line annotations to be typeset differently (i.e. as
a markup above a note), which is likely doable 100% from scheme and may be more
LSR work than source work.
However, in thinking about all of these things, LilyPond verges dangerously
close on duplicating a lot of functionality that is already part of LaTeX. If
someone wants floats, tables, and equations in their score as well, then at a
certain point, trying to incorporate these things into LilyPond stops making
sense (not unlike David Byrne).
To me, the big question seems: to what extent is it worth it for LilyPond to
implement robust markup functions that make text behave more like it
would/could in TeX-based languages, and if it is worth it, are there any
libraries that will save us the hassle of implementing all this stuff?
Cheers,
MS
_______________________________________________
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel