Extract images from the CL6 PDF using pdfimages, map them to songs
via page-to-CL number matching, and insert \songimage commands.
Add insert-images.py script for repeatable extraction.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The import script stored anecdotes/historical context as LaTeX
comments. Convert them to the note song property so they render
at the bottom of each song page (matching the reference style).
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- 82 songs get alias entries (alternate titles/opening lines) shown
in italic in the TOC, pointing to the same page as the main title
- Front matter (title, foreword, TOC) has no page numbers
- Song pages start at page 1
- Aliases extracted from reference PDF (CL6) TOC by title matching
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Set \parindent to 0pt for clean left-aligned text
- Remove current book column from song page footer (keep only
reference books: BuLiBu, CL gr., SwA, Barde, LiBock)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The .songtoc file needs multiple passes to stabilize: pass 1
writes song data, pass 2 reads it into the TOC (changing page
count), pass 3+ stabilizes page references. The Makefile now
loops until the log shows no more "Rerun" warnings or max 5
passes.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Improve merge_chord_lyric() to snap chord positions to the start
of the word they fall within, instead of splitting words mid-way.
Fixes artifacts like "Liebespaar \chord{C}e" → "\chord{C}Liebespaare".
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Rename "Liederbuch" to "Carmina Leonis" in TOC header, song
footer, and title page
- Replace placeholder foreword with original CL6 introductory text
- Update title page to "Carmina Leonis, 7. Auflage, 2026"
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Replace MO/PfLB columns with the actual reference books from the
Carmina Leonis import: BuLiBu, CL (gr.), SwA, Barde, LiBock.
Add third LaTeX pass to Makefile for TOC stabilization.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add import-songs.py script that extracts songs from the PDF text
and generates .tex files with leadsheets format. Adds song
properties for all reference books (BuLiBu, BuLiBuII, CL, SwA,
Barde, LiBock). Generates all-songs.tex with alphabetical inputs.
Note: Chord alignment is approximate from PDF extraction and
may need manual review for some songs.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Reset \rowcolors after the TOC longtable to prevent alternating
gray backgrounds from affecting leadsheets' chord placement
tabulars, which was clipping/overlaying song lyrics.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Introductory page with quote, horizontal rule, and foreword text
- \fillerpage{path} for full-page centered filler images
- \songimage{path} for inline images within song pages
- \fullpageimage{path} for borderless full-page images
- Added graphicx and csquotes packages
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Move \label outside dedup guard so it survives the real pass
(measurement pass labels are discarded inside vbox)
- Song page footer now shows MO/PfLB/Liederbuch table matching TOC
- Fix TEXINPUTS to include output/ for .songtoc file access
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Replace the default LaTeX TOC with a table matching the Carmina
Leonis style: song titles with columns for reference books (MO,
PfLB) and the current songbook page number. Uses expl3 iow to
write song data to a .songtoc file during compilation and reads
it back on the second pass. Alternating row colors via rowcolors.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Replace the Kotlin/Gradle multi-module pipeline with a pure LaTeX
songbook using the leadsheets package and LuaLaTeX. Style matches
the Carmina Leonis (CL6) scout songbook: Fraktur titles, chords
above lyrics, metadata at page bottom, reference book footer.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Kotlin/JVM multi-module project for generating a scout songbook PDF
from ChordPro-format text files. Includes ChordPro parser, layout engine
with greedy spread packing for double-page songs, OpenPDF renderer,
CLI (Clikt), Compose Desktop GUI, and 5 sample songs.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>