lilypond-devel
[Top][All Lists]
Advanced

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

Re: auto numbering footnote checkin doesn't play with \null and \musicgl


From: address@hidden
Subject: Re: auto numbering footnote checkin doesn't play with \null and \musicglyph
Date: Fri, 29 Jul 2011 13:30:30 +0200

On Jul 29, 2011, at 1:28 PM, James Lowe wrote:

> Mike,
> 
> )-----Original Message-----
> )From: address@hidden [mailto:address@hidden
> )Sent: 29 July 2011 11:29
> )To: James Lowe
> )Cc: lilypond-devel (address@hidden)
> )Subject: Re: auto numbering footnote checkin doesn't play with \null and
> )\musicglyph
> )Importance: Low
> )
> )On Jul 29, 2011, at 11:24 AM, James Lowe wrote:
> )
> )> Mike,
> )>
> )> )-----Original Message-----
> )> )From: address@hidden [mailto:address@hidden
> )> )Sent: 29 July 2011 08:23
> )> )To: James Lowe
> )> )Cc: lilypond-devel (address@hidden)
> )> )Subject: Re: auto numbering footnote checkin doesn't play with \null
> )> and )\musicglyph
> )> )
> )> )On Jul 28, 2011, at 11:46 PM, James Lowe wrote:
> )> )
> )> )> Mike,
> )> )>
> )> )> I *think* your recent checkin did something to your original
> )> )\footnote[Grob] code because taking a snippet from my example in my
> )> )in-progress doc patch )> )> \version "2.15.6"
> )> )>
> )> )> #(set-default-paper-size "a6")
> )> )>
> )> )> \book {
> )> )>  \relative c' {
> )> )>   c1
> )> )>    \breathe
> )> )>    \footnoteGrob #'BreathingSign #'(1 . 1)
> )> )>    \markup { \musicglyph #"rests.4" }
> )> )>    \markup { \null }
> )> )>  }
> )> )> }
> )> )>
> )> )> Worked fine.
> )> )>
> )> )> Now it prints the numeral '1' all over the place actually. If you
> )> change )\null to " ", then it goes away but I get a number with no
> )> footnote. It also )seems to ignore the glyph used in a markup.
> )> )>
> )> )> My original intention in my doc patch was to show how to have a
> )> )'footnoteGrob markup without a footnote (and also show how you can
> )> )add space between the copyright and the last footnote), Neil
> )> suggested I )use \null instead of " " which did the same thing, until now.
> )> )>
> )> )> regards
> )> )>
> )> )
> )> )James,
> )> )
> )> )You need to set footnote-auto-numbering = ##f in the paper block in
> )> all )your old examples.
> )> )
> )> )Cheers,
> )> )MS
> )>
> )> err.. did you look at the 'weird' pdf example?
> )>
> )
> )Weird? It is beautiful!
> )
> )> I didn't get any error from LP when I compiled it, so the user is not going
> )to get any knowledge that something is not right. They are just going to
> )get their music covered with numbers in all the margins and any markups
> )that contain glyphs will not come out (even though they have been
> )explicitly marked).
> )>
> )
> )I'll post a patch with an error message.
> )
> )> While documentation does help users do the right thing, we should be
> )reporting in the compilation message that something is wrong when they
> )make the file, I just don't know what can and cannot be used without the
> )\paper { } layout block now. All that this ##f option does as far as I can 
> tell
> )is that it restarts the autonumbering again on the next page.
> )
> )I have added a convert-ly rule letting users know that this will happen in
> )case they've used footnotes in 2.14.
> )
> )>
> )> Also, it seems there are now 3 commands
> )>
> )> \footnote
> )>
> )> \footnoteGrob
> )>
> )> and now \autofootnoteGrob
> )>
> )> but is there \autofootnote too?
> )>
> )> and are you saying the \auto* is mutually exclusive from the other type
> )and if we only have \autofootnoteGrob, what happens (as this example
> )shows) if I want to use \autofootnoteGrob and \footnote you can't?
> )>
> )> I don't think just telling a user to use this in the \paper { } block is 
> good
> )enough compared to what we have.
> )>
> )
> )I will write up a long e-mail either this weekend or tonight with reports on
> )how automatic numbering works and send it to devel.  But you're right
> )above - there is no \autofootnote command.  And, for now, if you add
> )\paper { footnote-auto-numbering = ##f } to all of your examples, they
> )should look exactly like they did before.
> )
> 
> 
> OK no problems. I'll steam ahead with my original doc patch then. It doesn't 
> break anything (because it doesn't mention the new command) and when you do 
> get round to the patch and explanation I'll amend the doc.
> 
> That way we at least get something in the doc than nothing at all.
> 
> James
> 
> 

As promised :)

AUTOMATIC-FOOTNOTES

In automatic footnotes, there are three pertinent commands
\autoFootnote
\autoFootnoteGrob
\footnote

1) \autoFootnote
\autoFootnote is to be used within the context of a chord.
It accepts two arguments:
  -- a pair showing how the annotation is displaced with respect to the 
original note (ie #'(1 . 1))
  -- a markup containing the footnote that will be typset above

2) \autoFootnoteGrob
\autoFootnoteGrob is to be used before the command that results in the creation 
of the grob you want to footnote
It accepts three arguments:
  -- a symbol showing the name of the grob to footnote
  -- a pair showing how the annotation is displaced with respect to the 
original note (ie #'(1 . 1))
  -- a markup containing the footnote that will be typset above

3) \footnote
\footnote is to be used within the context of a markup.
It accepts two arguments:
  -- a markup that will be automatically annotated
  -- a markup containing the footnote that will be typset above
By "automatically annotated," I mean that the correct annotation will be 
concatenated to the right end of the markup.
So, `\footnote foo bar' will read foo^1 in the actual text if foo is the first 
thing footnoted, and bar will automatically have a 1 pre-pended at the bottom 
of the page.

In the paper block, there are four variables that may be set with respect to 
automatic footnotes:

footnote-auto-numbering (default = ##t)
-- if you set this to false, you can still use the commands \autoFootnote and 
\autoFootnoteGrob, but there will be no annotation added.  additionally, if you 
use \footnote, the markup that is footnoted will receive no additional 
annotation.
footnote-number-raise (default = 0.5\mm)
-- this controls how high the annotation numbers are raised at the bottom of 
the page.  try playing with it and look at the bottom of the page: you'll see 
what it does immediately
footnote-numbering-function (default = #numbered-footnotes)
-- a function that takes ONE AND ONLY ONE INPUT, which should be an INTEGER, 
and returns the appropriate markup to be used in numbering the current 
prefabbed functions in output-lib.scm that work with this are 
`numbered-footnotes' and `symbol-footnotes'.  You can create your own w/o too 
much hassle, ie:
         footnote-numbering-function = #(lambda (x) (markup #:tiny "thank you 
james!"))
reset-footnotes-on-new-page (default = ##t)
-- automatic footnote annotations reset on each new page.
All non-automatic paper-block commands apply to automatic footnotes as well.

NON-AUTOMATIC-FOOTNOTES

*** ATTENTION ***
For non-automatic footnotes, the paper block MUST contain footnote-auto-number 
= ##f
Otherwise, LilyPond will spew numbers all over the page.
*** NOITNETTA ***

In non-automatic footnotes, there are three pertinent commands.

\footnote
\footnoteGrob
\footnote (double listing intentional, see below)

1) \footnote
\footnote is to be used within the context of a chord.
It accepts three arguments:
  -- a pair showing how the annotation is displaced with respect to the 
original note (ie #'(1 . 1))
  -- a markup containing the symbol that will refer to the annotation below
  -- a markup containing the footnote that will be typset above

2) \footnoteGrob
\footnoteGrob is to be used before the command that results in the creation of 
the grob you want to footnote
It accepts four arguments:
  -- a symbol showing the name of the grob to footnote
  -- a pair showing how the annotation is displaced with respect to the 
original note (ie #'(1 . 1))
  -- a markup containing the symbol that will refer to the annotation below
  -- a markup containing the footnote that will be typset above

3) \footnote
\footnote is to be used within the context of a markup (hence the double 
listing: it works differently than the footnote within chords).
It accepts two arguments:
  -- a markup that should have its own annotation
  -- a markup containing the footnote that will be typset above
By "own annotation", I mean that the markup should contain its own annotation.  
So,
So, `\footnote foo bar' will read foo in the actual text and bar will have no 
number typset next to it.  If you want annotation numbers/symbols/whatever, you 
need to roll your own, i.e. \footnote "foo*" "*bar".


In the paper block, there are three variables that may be set with respect to 
ALL footnotes (non-automatic and automatic):

footnote-separator-markup (default = \markup \fill-line { \override 
#'(span-factor . 1/2) \draw-hline } )
-- separates the music from the footnotes
footnote-padding (default = 0.5\mm)
-- the padding between each footnote
footnote-footer-padding (default = 0.5\mm)
-- the padding between the bottom-most footnote and the footer




reply via email to

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