I created an ECG workbook for medical students on a linux workstation using only open source tools. I used Gimp to rotate the scanned ECG curves, Inkscape to manually draw the ECG curves so that they line up with the scanned original. This was a lot of work, but it gave me an opportunity to fix some problems like e.g. a wandering baseline. I also created appropriate blocks of gridlines.
The SVG files were imported to Scribus, the program I used for layout and to produce the print-ready PDF files. The largest Scribus file was 90 pages, containing complex SVG curves of real life ECGs and gridlines. Scribus (v 1.2.x) had absolutely no problem dealing with it, though it became a bit slow. Small pieces of texts were directly input into Scribus, for long ones I used OpenOffice. The OpenOffice ODT files were then imported into Scribus.
Here are a few pages for illustration (72dpi PNG, exported from Scribus). The quality of the booklet printed at 2400dpi on paper, is obviously much better, these files are just here to give you an idea what the booklet is about.
Scribus 1.2 is far from being a perfect layout program, but it did most things I needed, and did them well. Overall, I was very impressed with the stability of the program.