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>
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>
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>
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>