lilypond-devel
[Top][All Lists]
Advanced

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

Re: Adds automatic numbering to footnotes. (issue4244064)


From: address@hidden
Subject: Re: Adds automatic numbering to footnotes. (issue4244064)
Date: Wed, 23 Mar 2011 06:46:29 -0400

On Mar 22, 2011, at 11:28 AM, address@hidden 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

reply via email to

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