{"id":22904023,"url":"https://github.com/ftes/songbook-latex","last_synced_at":"2025-06-14T22:09:45.135Z","repository":{"id":141748709,"uuid":"206171419","full_name":"ftes/songbook-latex","owner":"ftes","description":"DPSG Elsen songbook (latex only)","archived":false,"fork":false,"pushed_at":"2020-08-16T15:31:16.000Z","size":241,"stargazers_count":3,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-01T07:56:59.290Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TeX","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ftes.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-09-03T21:00:29.000Z","updated_at":"2024-10-17T13:21:40.000Z","dependencies_parsed_at":null,"dependency_job_id":"9427607d-8ef2-488e-9bb7-c2880a26bfbf","html_url":"https://github.com/ftes/songbook-latex","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ftes/songbook-latex","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ftes%2Fsongbook-latex","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ftes%2Fsongbook-latex/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ftes%2Fsongbook-latex/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ftes%2Fsongbook-latex/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ftes","download_url":"https://codeload.github.com/ftes/songbook-latex/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ftes%2Fsongbook-latex/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259890446,"owners_count":22927373,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-14T02:39:57.648Z","updated_at":"2025-06-14T22:09:45.116Z","avatar_url":"https://github.com/ftes.png","language":"TeX","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Build Status](https://travis-ci.com/ftes/songbook-latex.svg?branch=master)](https://travis-ci.com/ftes/songbook-latex)\n\n# DPSG Elsen Songbook\nSongbook of the Scout (Pfadfinder) group DPSG Elsen.\n\n## Getting started\n- `$ scripts/make.sh chordbook \u0026\u0026 xdg-open output/chordbook.pdf`\n- `$ scripts/make.sh lyricbook \u0026\u0026 xdg-open output/lyricbook.pdf`\n\n## Using a different songs directory (your own songs)\n- `$ scripts/generate-songlist.sh \u003cyour-song-directory\u003e`\n- `$ scripts/make.sh chordbook \u003cyour-song-directory\u003e`\n\n## Adding a song\n1. Grab the lyrics with chords from [Ultimate guitar](https://ultimate-guitar.com).\n2. Hit the edit button and copy the plain text from the pop up (usually has less superfluous newlines than if you copy the text directly).\n3. Head to [ultimate.ftes.de](https://ultimate.ftes.de/), select `Latex` from the dropdown in the middle, and paste the text into the left text field. A slightly different version should appear on the right side.\n4. Replace any `H` chords on the left side with `B`. If the left side includes German `B` chords that should be English `Bb` chords, replace them also.\n5. Create a new file for the song in `./src/songs`.\n6. Copy and paste the re-formatted Latex version from the right text box on the website into the new file.\n7. Add an entry for the new song to `src/other/common-songs.tex`, again in the right order.\n8. Fix things. Add the song title and artist to the first line. Have a look at the other song files to find out what the result should look like. Pay special attention to bridges, interludes (especially if they contain only chords and no lyrics), capo instructions.\n\n## Notation\n### `~H~` vs. `*B*`\nThe English scale is used (`C D E F G A B`).\nThat means `B/B♭` are used and not the German `H/B`.\nSo when you see a `B` it refers to the chord one half-step under `C`.\n\n### Artist Names\nIn the `[by={\u003cartist name\u003e}]` field, artists with first and last name should be entered differently than made-up band names.\n\n- `by={John Legend}` (artist index contains `Legend, John`)\n- `by={Smash\\ Mouth}` (artist index contains `Smash Mouth`)\n\n## Transposing (key)\nInclude the chords in the original key (possibly corrected for capo, if that is how you found them). Use the `\\transpose{\u003cn\u003e}` command to transpose chords. When doing so be sure to denote the original key (usually using something like `\\musicnote{original +4 (C G F)}`).\n\n## Common mistakes\n### Bad math environment delimeter\nUsing chords (e.g. `\\[C]`) outside of `\\beginverse ... \\endverse` or refrain environments.\n\n### Flat chords with `b` instead of `\u0026`\nSearch for `b]`. Replace with `\u0026]`.\n\n### Chord at end of word instead of beginning of next\nIncorrect: `hello\\[C] world`\n\nCorrect: `hello \\[C]world`\n\nLeads to a missing space between words in the lyricbook (no chord) output.\n\nFix: Replace `([^\\] ])(\\\\\\[[^\\]]*\\]) ` with `$1 $2` (vscode).\n\n## Update chord sheets\nModify these files:\n- `src/chords/chords.csv`\n- `src/chords/chordbook-chords.tex`\n- `scripts/generate-chordsheet-pages.sh`\n\nThen run `$ ./scripts/generate-chordsheet-pages.sh`.\n\n## Adding Latex packages\nThe docker image `blang/latex:ctanbasic` includes only a minimal set of Latex packages.\n\n### Option A: Add .sty files to ./src/texmf\n*This is the preferred option, as it keeps the docker image in use small (~500MB).*\n\nAdd additional packages (`.sty` and `.def` files) to `./src/texmf/tex/latex/`.\n\nIf you have `.dtx` and `.ins` files they must first be compiled using `docker run -v $PWD/src:/data blang/latex:ctanbasic latex \u003cpackage\u003e.\nins`.\n\n### Option B: Switch docker image\nPossibly `blang/latex:ctanfull` includes the package you need. But it's larger than 5GB, so avoid if possible.\n\n### ~Option C: Custom docker image~\nUnfortunately, the `blang/latex:*` images use the outdated 2017 texlive database. This prevents us from extending the docker image and installing additional packages via `tlmgr install`. If you want to go down that road, you have to do some more digging.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fftes%2Fsongbook-latex","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fftes%2Fsongbook-latex","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fftes%2Fsongbook-latex/lists"}