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

Reply via email to