Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

Previously I had the songs.sty version from 2009, but recently updated it, to the current version of 2012. This was to add support for, among other things, UTF-8, which means that I can write the Danish letters as æ ø å, instead of the TeX commands.

With this new updated version, my layout for my songbook is "stretched out".

This first picture here, is of the old version, where the bottom lines don't align (which I don't want them to)

Correct version

And here is the stretched out version. It looks almost as if I had put in \pagebreak but there isn't.

Stretched out version

On other pages it seems as if there is double line spacing

Double line spacing

The LaTeX file for the last example can be seen at https://gist.github.com/2901648.

share|improve this question
    
I can't find the songs package... –  Paul Gaborit Jun 9 '12 at 16:29
    
@PolGab Ah, sorry. It's this one songs.sourceforge.net –  Mads Ohm Larsen Jun 9 '12 at 16:32
    
@PolGab: ctan.org/pkg/songs (for some reason it is not in MikTeX/TeX Live) –  Caramdir Jun 9 '12 at 16:32
    
In the gist I posted I had lyric on –  Mads Ohm Larsen Jun 9 '12 at 17:13
    
oh sorry deleted my message when I realised that you indeed had, in the hope you wouldn't have had time to see it, but I was too late. –  ArTourter Jun 9 '12 at 17:18
show 1 more comment

2 Answers

up vote 5 down vote accepted

This question is answered in the songs package manual under its documentation for the \colbotglue macro. Quoting:

When LaTeX ends each column it inserts glue equal to \colbotglue. In lyric books this macro is set to 0pt so that each column ends flush with the bottom of the page. In other books that have ragged bottoms, it is set to stretchable glue so that columns end at whatever vertical position is convenient. The recommended setting for typsetting columns with ragged bottoms is:

\renewcommand{\colbotglue}{0pt plus .5\textheight minus 0pt}

Adding the definition above to the preamble of your .tex file should solve your problem without needing to hack things with the \chordson macro.

share|improve this answer
    
In case anyone is wondering about the ".5\textheight" part of that definition, it's because TeX is willing to stretch vertical glue to twice its stretchability before complaining. So using .5\textheight actually lets it stretch the full \textheight. –  Kevin Hamlen Apr 12 '13 at 16:53
    
Great answer to a quite old question, however it works and I can now delete the hack from last year. –  Mads Ohm Larsen Apr 26 '13 at 9:10
add comment

Well there seem to be a hack available, as the manual says

If chords are turned on by the end of the preamble, no attempt will be made to balance columns on each page.

So adding \chordson before your \begin{document} and then \chordsoff after it, seems to work.

share|improve this answer
    
It's kind of weird that I have to turn on chords and then turn 'em back off, when I do not want them, but it works. –  Mads Ohm Larsen Jun 9 '12 at 18:25
    
Yeah I know, but I did say it was a hack. There might be another way of doing the same thing maybe by playing with penalties or extracting the code that stops the balancing from the \chordson function, but I am not comfortable enough with that sort of things. I don't know if the solution I gave has other effects which you may not want though. –  ArTourter Jun 9 '12 at 18:33
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.