Hi all, I'm creating a book of music using a master file where I call on \bookpart variables from lots of different files, which are included in the master file using the \include function. I have a list of included files in a separate file, and the master just includes that one file.
I want to create a table of contents at the beginning of the book, so I need to add a \tocItem to each score. The only place I have found where that works is inside the \bookpart variable in each individual file, before the score. So in my master file, each score entry looks like this: \bookpart { \myBookPart } And the variables in the individual files look like this: myBookPart = \bookpart { \tocItem \markup "Name of song" {c1 c1 c1 c1} } I'm currently putting all the separate scores into the master file, and I plan to shuffle them around later to get the ordering right. I've noticed that when the table of contents is generated, the items are always listed *in the order in which the files are \included*, not the order in which the scores actually appear in the book. So even though the page numbers are correct, the TOC lists the songs in the order in which I include the files in the \include file. When I start shifting things around later in the master, I really don't want to have to re-order the \include list as well, that will be double the work. I've attached some files that replicate my problem. One thing I noticed that the master wouldn't compile at all when the version number was set to 2.22.1, it only worked when I set it to 2.19.65, the version number in all the files I'm using. Does that mean I'm using incorrect syntax for the TOC? Otherwise, is there anywhere else I can put the \tocItem command so that the items are automatically re-ordered when I switch them around in the master file? Sorry for the voluminous email and thanks for any help, Brent.
\version "2.19.65" \include "SongThree.ly" \include "SongTwo.ly" \include "SongOne.ly" \book { \bookpart {\markuplist \table-of-contents} \pageBreak \bookpart { \scoreOne } \bookpart { \scoreTwo } \bookpart { \scoreThree } }
\version "2.19.65" scoreTwo = \bookpart { \tocItem \markup "Song number two" \score { \relative c' {e1 e e e} } }
\version "2.19.65" scoreThree = \bookpart { \tocItem \markup "Song number three" \score { \relative c'' {g1 g g g} } }
\version "2.19.65" scoreOne = \bookpart { \tocItem \markup "Song number one" \score { \relative c' {c1 c c c} } }
master.pdf
Description: Adobe PDF document