- Jak je repozitář uspořádán
- Požadavky
- Jak sestavit zpěvníky
- Webový výstup
- Jak opravit chybu v písni
- Jak přidat novou píseň
- Jak vytvořit vlastní zpěvník
- Přehled značek
- Poznámky
- Podobné zpěvníky
Repozitář obsahuje podklady pro sazbu TP zpěvníků a příbuzných variant. Jsou zde historické i novější edice,
například TP2011, TP2012, TP2013, TP2015 (neoficiální), TP2016, TP2017 a TP2020, plus pomocné
Snakefile.* konfigurace pro vlastní varianty. Vygenerovaný web je publikován na
brinda.eu/tp-zpevnik.
Co tento systém umožňuje:
- Sestavit existující zpěvníky.
- Opravit chyby v písních nebo sazbě.
- Vytvořit si vlastní zpěvník na bázi TP zpěvníků.
- Transponovat jednotlivé písně do jiné tóniny.
songs/- texty a akordy písní rozdělené do 4 základních kategoriíSnakefile.*- soubory definující jednotlivé zpěvníkytpcb/- společná sazební logika, LaTeX šablony a generování rejstříkůoutput/- výstupní soubory
Preferované prostředí je Linux nebo macOS (build ale může fungovat i na Windows).
- Python 3 a
pip - Snakemake
- LuaLaTeX
- Git
- Česká locale pro správné řazení:
cs_CZ.UTF-8- případně systémový alias
czech
Instalace pythonových závislostí:
python3 -m pip install -r requirements.txtPoznámky:
- Rejstříky i pomocné generátory spoléhají na české řazení, takže bez české locale může být build chybný nebo skončí chybou.
- Pro webový výstup v
output/jsou navíc potřebaghostscriptapdfcrop.
- Naklonujte repozitář:
git clone https://github.com/karel-brinda/tp-zpevnik
cd tp-zpevnik- Nainstalujte Python závislosti:
python3 -m pip install -r requirements.txt- Ujistěte se, že máte aktivní českou locale, například:
export LANG=cs_CZ.UTF-8
export LC_ALL=cs_CZ.UTF-8- Sestavte požadovaný zpěvník:
snakemake -p -s Snakefile.TP2011 --cores allVýstup vznikne v output/, například output/TP_zpevnik_2011.pdf.
Všechny Snakefile.* konfigurace lze spustit například jako:
make -jCelá kompilace všech zpěvníků trvá na běžném notebooku zhruba 20s:
$ time ((make -j 2>&1) >/dev/null)
real 0m18.255s
user 1m28.758s
sys 0m16.914s
Webový výstup se generuje z PDF souborů v adresáři output/. Po sestavení zpěvníků stačí spustit:
make -C outputTím vznikne:
- ořezaná PDF
*.tablet.pdf output/index.htmloutput/Snakefile.sablona
Opravte soubor přímo přes webové rozhraní GitHubu a vytvořte pull request.
- Vytvořte si fork repozitáře karel-brinda/tp-zpevnik.
- Naklonujte svůj fork:
git clone https://github.com/<vase-username>/tp-zpevnik
cd tp-zpevnik- Opravte chyby.
- Otestujte, že se příslušný zpěvník správně přeloží a že výsledek vypadá po vysázení správně.
- Odešlete změny:
git add jmeno_upraveneho_souboru_1.tex jmeno_upraveneho_souboru_2.tex
git commit -m "Krátký popis změny"
git push- Otevřete pull request na GitHubu.
Postupujte obdobně jako při opravě chyby. Dodržujte, prosím, logiku celého zpěvníku:
- Pojmenujte píseň
- Vzor:
Cele_Jmeno_Interpreta____Jmeno_pisne.tex. - Jestliže se jiná píseň od interpreta ve zpěvníku už vyskytuje, ověřte, že je jeho jméno v přesně stejné formě.
- V případě nejistoty si ověřte křestní jméno nebo pravopis na Google.
- Jména písní by měla velké jen první písmeno a pak tam, kde patří podle jiných pravidel (vlastní jména, anglické dny v týdnu a mě síce apod.)
- Dodržujte přesně čtyři podtržítka mezi jménem interpreta a názvem písně.
- Vzor:
- Vložte text
- České písně by měly mít texty psané jako celé věty včetně kompletní interpunkce, zalámané do veršů. ***** Písničky v angličtině a několika dalších jazycích mají velké písmeno na začátku každé řádky a interpunkce na jejich koncích (kromě té se speciálním významem), včetně tečky na konci věty, se ruší. ***** Zkontrolujte překlepy v textovém editoru nebo pomocí LLM.
- "Sólo", "předehra" / "intro", "mezihra" a podobné nepotřebují text a vlastní
\zs ... \ks(výjimkou je sloka nahrazená sólem beze zpívá ní). Stačí v odpovídajícím místě napsat řadu akordů s prázdným textem.
- Vložte akordy
- Do jedné značky
<...>vkládejte právě jeden akord (jinak program ohlásí neznámý formát akordové značky) - Ověřte správnost akordů a jejich umístění nad začátky slabik.
- Pro všechny písně včetně anglických používejte české značení akordů (t.j., A#=B, A##=H, B# = H).
* Mollové akordy zapisujte jako
Ami,Dmi7apod.
- Do jedné značky
- Zpěvník znovu přeložte a vizuálně zkontrolujte výsledek
- Pokud píseň přetéká na druhou stránku, postupujte následovně:
- Pokud přetéká jen o několik řádků, zkuste ji zkrátit nebo přeskládat tak, aby se vešla na jednu A4 celá
- Sekvenci akordů, které se v průběhu písně nebo v jejích částech opakuje v přesně stejném sledu, stačí napsat jen jednou.
- Řádky od druhé sloky dále pospojovat po dvou nebo po celých slokách.
- Zkrátit opakovaný text pomocí repetic
/: ... :/nebo tří teček, refrény vynechat. - Vynechat od druhé sloky dále výplně jako u Zítra ráno v pět nebo u Milionáře od Nohavici.
- Když se vtěsnat na jednu stránku nepovede, využijte dobře prostor obou stránek. Je možno i ponechat na výběr dvě verze (viz Veličenstvo Kat)
Nejjednodušší je vyjít ze Snakefile.test nebo si nechat vygenerovat šablonu:
python3 vygeneruj_novy_zpevnik.py > Snakefile.mujMinimální vlastní Snakefile.muj může vypadat takto:
# -*-coding: utf-8 -*-
left_page_head = "Levá hlavička"
right_page_head = "Pravá hlavička"
chordbook = "muj_novy_zpevnik"
options = [
"ONESIDE",
]
songs = [
("songs/03_zahranicni/Beatles____Let_it_be.tex", 5),
"songs/03_zahranicni/Beatles____Love_me_do.tex",
]
include: "tpcb/include.smk"
rule all:
input:
run(),Pak spusťte:
snakemake -p -s Snakefile.muj --cores allHlavní výstup bude v:
output/muj_novy_zpevnik.pdf
Pokud chcete vygenerovat i jednotlivé písně zvlášť, přidejte do options položku "SINGLES":
options = [
"SINGLES",
"ONESIDE",
]Pak vzniknou i soubory v adresáři:
output/muj_novy_zpevnik_singles/
\zp{jméno písně}{autor písně nebo interpret}: začátek písně\kp: konec písně\zr: začátek refrénu\kr: konec refrénu\zs: začátek sloky\ks: konec sloky<Dmi>Text: akord nad následujícím textem
- Pořadí písní i rejstříků je citlivé na správně nastavenou českou locale.