diff --git a/make_scripture.py b/make_scripture.py index fa36fc3..1502b28 100755 --- a/make_scripture.py +++ b/make_scripture.py @@ -54,7 +54,6 @@ def render_latex(json_data): latex_lines = [] chapter_number = json_data['chapter']['number'] - first_verse_written = False def render_verse_content(parts): result = [] @@ -75,7 +74,14 @@ def render_latex(json_data): result.append(escape_latex(part['text'])) return ' '.join(result) + last_seen_verse = 0 # to start; TODO: does this include extra e.g. headers sometimes? for element in content: + if element['type'] == 'verse': + last_seen_verse = element['number'] + if chapter_number == start_chapter and last_seen_verse < start_verse: + continue + if chapter_number == end_chapter and last_seen_verse >= end_verse: + break etype = element['type'] if etype == 'heading': heading_text = ' '.join(element['content']) @@ -88,10 +94,9 @@ def render_latex(json_data): verse_number = element['number'] verse_body = render_verse_content(element['content']) - if not first_verse_written: + if verse_number == 1: # First verse: show chapter number latex_lines.append(rf"\ch{{{chapter_number}}}{verse_body}") - first_verse_written = True else: latex_lines.append(rf"\vs{{{verse_number}}}{verse_body}") elif etype == 'hebrew_subtitle':