...and just because I could, I made an 8083 page book with all of the songs in all of the transpositions I have. The ToC alone is 103 pages. I'm still seeing the same problem: the book starts out with the page shrunk, eventually it hits a certain song in a certain key that corrects the margins, then it hits the page expander song and for a stretch all the pages are cut off on the right and on the bottom, then after a while it hits one of "page fixer" songs and the margins go to their normal settings for the rest of the book. The first "fixer" is a page 366, the "breaker is at 1408, the second "fixer" is at 1646, then it stays fixed all the way to 8083. There must be something about those songs that triggers something deep in the bowels of LilyPond.
On Tue, Jun 30, 2026 at 1:24 PM Eric Benson <[email protected]> wrote: > I sent this to the lilypond-devel list, because I'm about 90% sure it's a > bug in LilyPond, not a mistake on my part. I've been wrong many times > before, so I'm leaving myself 10% 🙂 > > I'm posting this to the user list hoping to get some fresh eyes on it. > > I have a large collection of lead sheets in LilyPond I've been working on > for several years. I believe I may have stumbled upon a strange bug. I had > been engraving these individually and assembling PDFs using LaTeX, but the > resulting files were huge because each separate PDF has its own separate > copy of its fonts. Combining PDFs this way doesn't offer any way to combine > fonts. I finally broke down and figured out how to compile these books > entirely within LilyPond, so the largest native-buit PDF is now about 10% > of the size of the assembled PDF. > > Anyway, in the process of building these books I encountered a strange > problem. There is a particular song that causes the engraving to either go > past the right edge and bottom edge of the page, or shrink both margins so > that it uses a smaller part of the page. This condition persists in the > book until it engraves a different particular song that sets it back to the > correct size. I use a somewhat complicated system of include files to > enable these songs to be typeset in different keys. There is one key for > the "wrong size" song that makes it get too large. All the other keys that > I've tried make it get too small. The song is written in D, but if I > transpose it to C it spills over the limits of the page. If I keep it in D > or transpose to some other key it shrinks to a smaller portion of the page. > This new page size stays until the "right size" song gets engraved, then > the rest of the book uses the correct size. > > Unfortunately, it isn't easy for me to isolate this to a simple example. > My project has gotten quite large and I have a somewhat complicated system > of \include files that I use to enable transpositions and to keep the > layout separate from the core music description. Fortunately a two- or > three-song book is enough to illustrate the problem. I keep my source code > in a public repository on GitHub, so it wouldn't be too hard for a LilyPond > maintainer to set up the environment. I have some shell scripts and Python > scripts that I use, but I believe I have created a test case that would > work with this GitHub repository using only LilyPond itself. > > I would be happy to find a workaround to avoid this problem, but I would > also like to do what I can to fix a bug that, although perhaps rare, is > something I'm sure you would like to see fixed. > > My GitHub repository is > > https://github.com/neonscribe/lilypond-lead-sheets > > I put some files in GitHub to show the problem. In this folder: > > https://github.com/neonscribe/lilypond-lead-sheets/tree/main/TeX > > there are four files, AV.ly, AV.pdf, AVX.ly and AVX.pdf. The AV files show > the layout spilling past the edges, while the AVX files show the layout > shrinking. > > A couple of days have passed since I composed this message, and I've done > some more research. I've tried a lot of different sequences of files. > Remember, if I compile any of these individually the margins and page > layout are correct. However, if I create a book with a sequence of files, > they almost always start out wth the page shrunk and the right and bottom > margins too large. That shrunken page layout continues in the book until it > hits one of the songs that somehow resets it to normal, then all the songs > from there to the end will have normal margins. If I put one of those > "normal size" songs at the beginning of the book then the whole book will > have normal margins. Except there's this one file in one key that always > pushes the margins over the limits of the page and cuts off the right side > of the score. If LilyPond hits that magic file in a sequence, then every > file after that one will have the same too-large margins, until it > encounters one of the "normal size" files, which resets the margins > correctly for the rest of the book. > > Am I correct in thinking this is probably a bug in LilyPond? I don't think > there's anything I'm doing that would change the size of the page, and it > certainly doesn't seem right that changing the order of songs in a book > would cause them to have different margins. I was using 2.26.0, but I tried > it in 2.27.1 and observed exactly the same behavior. >
