Typographus - revoluční nástroj pro rychlou sazbu zpěvníků
Spíš z legrace jsem, letos nikoli poprvé, hecoval sestru, ať si se mnou přijede zazpívat nešpory z památky své křestní patronky, sv. Marie Magdalské. Když hecovaná překvapivě pozvání přijala, bylo potřeba připravit sešit s kompletním "programem" nešpor. Když zpívám sám, vystačím s notami na notebooku a breviářem, ale člověk breviáře a žalmových nápěvů méně znalý by se ztrácel...
Původně jsem počítal, že noty snadno připravím za sobotní večer. Pokusil jsem se proceduru pro sestavení zpěvníčku sestavit nakopírováním ze skriptů, které sestavují stávající svazky Antifonáře k DMC. Ukázalo se ale, že tyto skripty jsou tak špinavě napsané (už v nich samých jsem příliš kopíroval), že je neúnosně náročné vypreparovat z nich funkční celek potřebný pro aktuální potřebu a přenést ho jinam. Když jsem měl na výběr mezi "hodiny se patlat s kopírováním a rozběháváním kódu z těch odporně páchnoucích skriptů" a "hodiny programovat nástroj, který mě toho patlání navždycky zbaví", vybral jsem si celkem logicky druhou variantu a větší část neděle strávil přilepený ke klávesnici.
Nový nástroj, z nedostatku invence nazvaný prozatím Typographus, zásadně usnadňuje tvorbu zpěvníků s notami vzniklými v rámci projektu In adiutorium tím, že odstraňuje mnohostranné duplicitní informace, dosud zatěžující přípravu svazků Antifonáře. Doposud některé informace existovaly až na třech místech: např. modus a diference byly uvedeny v notovém materiálu v hlavičce dané antifony, dále v hlavním .tex souboru, kam se antifona vkládala, a znovu v rake-skriptu, který k dané antifoně připravoval žalm. S příchodem Typographa se do .tex souboru vloží jediné makro. Typographus najde příslušné noty, z jejich hlaviček zjistí, jaký je potřeba připravit text žalmu a případně žalmový nápěv, a do dokumentu všechno vloží.
Dokument níže, proti zdroji opravdového zpěvníku samozřejmě jednodušší o mnoho formátování a kratší o mnoho obsahu, obsahuje všechny potřebné informace k vygenerování jednoduchého zpěvníku obsahujícího hymnus, antifonu se žalmem, responsorium a antifonu s kantikem Magnificat. V obsahu dokumentu jsou pro přehlednost pouze speciální makra zpracovávaná Typographem. Makra začínající \set sdělují umístění důležitých dat. Další makra už vkládají "obecné noty" (\simpleScore), antifonu s textem příslušného žalmu (\antiphonWithPsalm), responsorium (\responsory). Noty ke vložení jsou identifikovány pomocí relativní adresy souboru vůči ChantBasedir, znaku # a id uvedeného v hlavičce daného kousku. Pokud cesta není uvedena, bere se ta z nastavení ChantSource.
\documentclass[a5paper, twoside]{article} \usepackage[utf8]{inputenc} \usepackage[left=1.5cm, right=1cm, top=1.5cm, bottom=2cm]{geometry} % okraje stranky \usepackage[T1]{fontenc} \usepackage{bookman} \newcommand{\preLilyPondExample}{ \begin{flushleft} } \newcommand{\postLilyPondExample}{ \end{flushleft} } \input{../antifonar/spolecne.tex} \newenvironment{psalmus}{}{} \begin{document} \setChantBasedir{../} \setPsalmsDir{../antifonar/zalmy/} \setIncludes{../antifonar/spolecne_antifonar.ly, ../dilyresponsorii.ly} \setChantSource{sanktoral/0722mariemagdalena.ly} \simpleScore{sesity/mariemagdalena_2013_noty.ly#ne-hymnus} \antiphonWithPsalm{#ne-a1} \responsory{#rch-resp} \antiphonWithPsalm{#ne-amag} \end{document}
Proces sestavení zpěvníčku sestává z preprocessingu .tex souboru Typographem, zpracování jeho výstupu programem lilypond-book a konečně kompilace pomocí pdfLaTeXu.
Pokud chcete vidět "opravdový" dokument pro sázení s pomocí Typographa, tady je zdroj zpěvníčku k dnešním nešporám a tady se můžete podívat, jak zpěvníček vypadá vysázený.
Nástroj je samozřejmě teprve v raném stadiu vývoje. V budoucnu bude potřeba doplnit některé nové funkcionality a možnosti nastavení a pokud se má stát efektivním nástrojem pro sestavování rozsáhlých zpěvníků, jako jsou plánované svazky Antifonáře k DMC, bude potřeba i trocha optimalizace. Již teď ale umožňuje vyrábět malé zpěvníky, v rozsahu třeba onoho výše zmíněného, za ten jeden večer, jak jsem bláhově odhadoval na začátku výše podané historie. A to je, alespoň pro mě, něco.