texlive[73288] Master: liederbuch (3jan25)

commits+karl at tug.org commits+karl at tug.org
Fri Jan 3 23:50:06 CET 2025


Revision: 73288
          https://tug.org/svn/texlive?view=revision&revision=73288
Author:   karl
Date:     2025-01-03 23:50:06 +0100 (Fri, 03 Jan 2025)
Log Message:
-----------
liederbuch (3jan25)

Modified Paths:
--------------
    trunk/Master/tlpkg/bin/tlpkg-ctan-check
    trunk/Master/tlpkg/tlpsrc/collection-music.tlpsrc

Added Paths:
-----------
    trunk/Master/texmf-dist/doc/latex/liederbuch/
    trunk/Master/texmf-dist/doc/latex/liederbuch/DemoProjekt/
    trunk/Master/texmf-dist/doc/latex/liederbuch/DemoProjekt/DemoProjekt.pdf
    trunk/Master/texmf-dist/doc/latex/liederbuch/DemoProjekt/DemoProjekt.tex
    trunk/Master/texmf-dist/doc/latex/liederbuch/DemoProjekt/Readme_Demoprojekt.txt
    trunk/Master/texmf-dist/doc/latex/liederbuch/DemoProjekt/TestLiederbuch.sty
    trunk/Master/texmf-dist/doc/latex/liederbuch/DemoProjekt/TestLiederbuchSnippets/
    trunk/Master/texmf-dist/doc/latex/liederbuch/DemoProjekt/TestLiederbuchSnippets/CVLB80-OhAlteBurschenherrlichkeit.ly
    trunk/Master/texmf-dist/doc/latex/liederbuch/DemoProjekt/TestLiederbuchSnippets/CVLB80-OhAlteBurschenherrlichkeit.pdf
    trunk/Master/texmf-dist/doc/latex/liederbuch/DemoProjekt/TestLiederbuchSnippets/haenschenKlein.ly
    trunk/Master/texmf-dist/doc/latex/liederbuch/DemoProjekt/TestLiederbuchSnippets/haenschenKlein.pdf
    trunk/Master/texmf-dist/doc/latex/liederbuch/DemoProjekt/printTestLiederbuch.pdf
    trunk/Master/texmf-dist/doc/latex/liederbuch/DemoProjekt/printTestLiederbuch.tex
    trunk/Master/texmf-dist/doc/latex/liederbuch/README.md
    trunk/Master/texmf-dist/doc/latex/liederbuch/liederbuch-documentation.pdf
    trunk/Master/texmf-dist/doc/latex/liederbuch/liederbuch-documentation.tex
    trunk/Master/texmf-dist/tex/latex/liederbuch/
    trunk/Master/texmf-dist/tex/latex/liederbuch/liederbuch.sty
    trunk/Master/texmf-dist/tex/latex/liederbuch/printliederbuch.sty
    trunk/Master/tlpkg/tlpsrc/liederbuch.tlpsrc

Added: trunk/Master/texmf-dist/doc/latex/liederbuch/DemoProjekt/DemoProjekt.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/liederbuch/DemoProjekt/DemoProjekt.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/liederbuch/DemoProjekt/DemoProjekt.pdf	2025-01-03 22:49:05 UTC (rev 73287)
+++ trunk/Master/texmf-dist/doc/latex/liederbuch/DemoProjekt/DemoProjekt.pdf	2025-01-03 22:50:06 UTC (rev 73288)

Property changes on: trunk/Master/texmf-dist/doc/latex/liederbuch/DemoProjekt/DemoProjekt.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/liederbuch/DemoProjekt/DemoProjekt.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/liederbuch/DemoProjekt/DemoProjekt.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/liederbuch/DemoProjekt/DemoProjekt.tex	2025-01-03 22:50:06 UTC (rev 73288)
@@ -0,0 +1,54 @@
+\documentclass[a5paper, 11pt]{scrartcl}
+\usepackage[ngerman]{babel}
+\usepackage[utf8]{inputenc}
+\usepackage{graphicx}
+\usepackage{lipsum}
+\usepackage{scrlayer-scrpage}
+\usepackage{../liederbuch}
+
+\usepackage{TestLiederbuch}
+
+%%% This is default %%%
+%\pageBreakAllowedtrue
+%%% but you can use also this %%%
+%\pageBreakAllowedtrue
+%%% try uncommenting the second one and see, what happens in the strophes %%%
+
+%%% This is a nice head %%%
+\LBHead{%
+{\Large \textbf{\print{title}}}\hfill\mbox{}\vspace*{5pt}\\
+\makebox[32pt]{Musik:\hfill} \print{composer} \\\makebox[32pt]{Text:\hfill} \print{lyricist}\vspace*{3pt}
+
+}
+
+%%% This is an okay foot. The text will be always on the left due to the hfill. %%%
+\LBFoot{Herausgabedatum: \print{date}\hfill\mbox{}}
+
+%%% You can change these throughout the document however you like %%%
+\setSpaceBeforeStropheValue{15pt plus 5pt}
+\setSpaceAfterStropheValue{0pt plus 5pt}
+\setSpaceBeforeHeadValue{15pt plus 10pt minus 5pt}
+\setSpaceBeforeFootValue{15pt plus 10pt minus 5pt}
+
+\begin{document}
+
+\LBsong{TestLiederbuch}{1}{nt}
+
+\LBsong{TestLiederbuch}{1}{t}
+
+
+\section{new section}
+\lipsum[1]
+\begin{center}
+\LBsong{TestLiederbuch}{2}{nt}
+\end{center}
+\lipsum[1]
+
+%%% If you delete the '%' at the beginnng of the next line, you can fix the meta data: %%%
+%\tweakMetadata{t}{TestLiederbuch}{3}{source = Aschenbecher & title = Oh alte Wurstverkäuferherrlichkeit & composer = This doesn't make sense & unusedTag = we don't need that & writer = Now all tags are filled}
+
+\LBsong{TestLiederbuch}{3}{t}
+
+Text zum Testen \LBsong{TestLiederbuch}{80}{nt}
+
+\end{document}
\ No newline at end of file


Property changes on: trunk/Master/texmf-dist/doc/latex/liederbuch/DemoProjekt/DemoProjekt.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/liederbuch/DemoProjekt/Readme_Demoprojekt.txt
===================================================================
--- trunk/Master/texmf-dist/doc/latex/liederbuch/DemoProjekt/Readme_Demoprojekt.txt	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/liederbuch/DemoProjekt/Readme_Demoprojekt.txt	2025-01-03 22:50:06 UTC (rev 73288)
@@ -0,0 +1,14 @@
+1. Put the whole Demoprojekt-folder somewhere.
+2. Copy
+		- GFM-FillPages.sty
+		- GFM-RealPage.sty
+		- GFM-Liederbuch.sty
+	to the Demoprojekt-folder. The current versions can be found in the main directory
+        (skip this step, if you got this via TeX-Live)
+3. Open Demoprojekt.tex
+4. Compile the document
+
+In case of problems:
+
+xparse not found => add \usepackage{xparse} in second line in Demoprojekt
+still doesn't work => replace \usepackage{xparse} by \usepackage{l3packages}


Property changes on: trunk/Master/texmf-dist/doc/latex/liederbuch/DemoProjekt/Readme_Demoprojekt.txt
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/liederbuch/DemoProjekt/TestLiederbuch.sty
===================================================================
--- trunk/Master/texmf-dist/doc/latex/liederbuch/DemoProjekt/TestLiederbuch.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/liederbuch/DemoProjekt/TestLiederbuch.sty	2025-01-03 22:50:06 UTC (rev 73288)
@@ -0,0 +1,125 @@
+\ProvidesPackage{TestLiederbuch}
+\RequirePackage{liederbuch}
+\RequirePackage{graphicx}
+
+\begin{liederbuch}[
+titleOfLargerWork = Test-Liederbuch &
+date = 2017 &
+seriesTitle = Demoprojekt
+]{TestLiederbuch}
+
+\begin{lied}[title=Hänschen klein & lyricist=Volkslied \& überliefert & composer = Volkslied]{t}{1}
+\begin{strophe}[1]
+Hänschen klein,\\
+ging allein\\
+in die weite Welt hinein.\\
+Stock und Hut,\\
+steht im gut.\\
+Ist gar wohlgemut.\\
+Aber Mutter weinet sehr,\\
+hat ja nun kein Hänschen mehr.\\
+Da besinnt sich das Kind,\\
+kehret heim geschwind.
+\end{strophe}
+\begin{strophe}
+Hänschen klein,\\
+ging allein\\
+in’n Berliner Turnverein.\\
+Turnt am Reck,\\
+fällt in’n Dreck,\\
+ist die Nase weg.\\
+ommt der Doktor Hampelmann,\\
+klebt die Nas’ mit Spucke an.\\
+Hänschen klein\\
+freut sich sehr,\\
+hat nun eine Nase mehr.\\
+\end{strophe}
+\end{lied}
+
+\begin{lied}[title=Hänschen klein & lyricist=Volkslied \& überliefert & composer = Volkslied]{nt}{1}
+{%
+\notenzeile{\includegraphics[width=\linewidth,page=1]{./TestLiederbuchSnippets/haenschenKlein.pdf}}%
+{\nspace{7} Häns \ns* chen\ns klein \ns ging \ns all \ns* ein \ns \nspace{4} in \ns \ns die \ns \ns wei \ns* te \nspace{4}}
+\notenzeile{\includegraphics[width=\linewidth,page=2]{./TestLiederbuchSnippets/haenschenKlein.pdf}}%
+{\nspace{12pt} Welt \ns hin \ns* ein. \ns \ns Stock \ns und \ns Hut \ns \ns steht\ns ihm \ns gut, \nspace{5}}
+\notenzeile{\includegraphics[width=\linewidth,page=3]{./TestLiederbuchSnippets/haenschenKlein.pdf}}%
+{\nspace{6} ist \ns gar \ns wohl \ns* ge\ns -\ns mut. \nspace{6} Ab \ns* er~ \ns Mut \ns* ter \nspace{3.5}}
+\notenzeile{\includegraphics[width=\linewidth,page=4]{./TestLiederbuchSnippets/haenschenKlein.pdf}}%
+{\nspace{4} wein \ns* et \ns sehr, \ns \ns hat \ns ja \ns wohl \ns kein \ns Häns \ns* chen\ns mehr.\nspace{2}}
+\notenzeile{\includegraphics[width=\linewidth,page=5]{./TestLiederbuchSnippets/haenschenKlein.pdf}}%
+{\nspace{5} Da \ns be \ns* sinnt \ns \ns sich \ns das \ns Kind, \ns \ns kehr \ns* et \ns heim \ns ge \ns - \ns schwind\nspace{1}}
+}
+\end{lied}
+
+\begin{lied}[title=Alle Vöglein sind schon da & composer =Kinderlied & originalSource= Liederbuch & date = 1835 & lyricist = Kinderlied]{nt}{2}
+\begin{strophe}[1]
+Alle Vöglein sind schon da,\\
+alle Vöglein alle.\\
+Amsel, Drossel, Fink und Star,\\
+und die ganze Vogelschar.\\
+Alle Vöglein sind schon da,\\
+alle Vöglein alle.\\
+\end{strophe}
+\end{lied}
+
+\begin{lied}{n}{336}
+song number 336, format n
+\end{lied}
+
+\begin{lied}[%
+title = Same but different &%
+lyricist = some tags are missing and therefore empty &%
+]{t}{3}
+Once again Song Number 1t as 3t via reference\vspace*{10pt}
+
+\csuse{liedBody;TestLiederbuch;t;1}
+\end{lied}
+
+\begin{lied}[%
+title = O alte Burschenherrlichkeit &%
+lyricist = Eugen Höfling (1808-1880) zugeschrieben &%
+composer = Studentenweise vor 1843 &%
+date = 18 Jhd.%
+]{nt}{80}
+\notenzeile{\includegraphics[width=\linewidth,page=1]{./TestLiederbuchSnippets/CVLB80-OhAlteBurschenherrlichkeit.pdf}}
+{\nspace{9} O \ns \ns \nspace{4pt} al \ns*[3pt] te \ns Bur \ns* schen \ns*[2] herr \ns* lich \ns*[-2] keit \ns wo-\nspace{3}}
+\notenzeile{\includegraphics[width=\linewidth,page=2]{./TestLiederbuchSnippets/CVLB80-OhAlteBurschenherrlichkeit.pdf}}
+{\nspace{5} hin \ns bist \ns du \ns verschwunden \ns \nspace{3} \ns nie \ns kehrst \ns du \ns wie \ns* der \nspace{2}}
+\notenzeile{\includegraphics[width=\linewidth,page=3]{./TestLiederbuchSnippets/CVLB80-OhAlteBurschenherrlichkeit.pdf}}
+{\nspace{4} gold' \ns* ne \ns Zeit \ns so \ns froh \ns und \ns un \ns* \ns ge \ns* \ns bun \ns* den \nspace{10}}
+\notenzeile{\includegraphics[width=\linewidth,page=4]{./TestLiederbuchSnippets/CVLB80-OhAlteBurschenherrlichkeit.pdf}}
+{\nspace{6}ver \ns* geb \ns* ens \ns spä \ns* he \ns \nspace{1} \ns ich \ns \nspace{1} \ns umher \ns ich \ns fin \ns* de \nspace{2}}
+\notenzeile{\includegraphics[width=\linewidth,page=5]{./TestLiederbuchSnippets/CVLB80-OhAlteBurschenherrlichkeit.pdf}}
+{\nspace{5} dei \ns* ne \ns \nspace{2} \ns Spur \ns \nspace{2} \ns nicht \ns \nspace{2} \ns mehr \ns \nspace{2} \ns O \ns je \ns* rum, \ns je \ns* rum, \nspace{1}}
+\notenzeile{\includegraphics[width=\linewidth,page=6]{./TestLiederbuchSnippets/CVLB80-OhAlteBurschenherrlichkeit.pdf}}
+{\nspace{6} je \ns* rum \ns \nspace{2} \ns O \ns quae \ns mu \ns* ta \ns* tio \ns re \ns* rum \nspace{7}}
+
+\begin{strophe}[2]
+Den Burschenhut bedeckt der Staub, es sank der Flaus in
+Trümmer, der Schläger ward des Rostes Raub, erblichen ist sein
+Schimmer, verklungen der Kommersgesang, verhallt Rapier- und
+Sporenklang. \repeatleft~O~jerum, jerum, jerum, o quae mutatio rerum!~\repeatright 
+\end{strophe}
+\begin{strophe}
+Wo sind sie, die vom breiten Stein nicht wankten und nicht
+wichen, die ohne Moos bei Scherz und Wein den Herrn der Erde
+glichen? Sie zogen mit gesenktem Blick in das Philisterland
+zurück. \repeatleft~O~jerum, jerum, jerum, o quae mutatio rerum!~\repeatright 
+\end{strophe}
+\begin{strophe}
+Da schreibt mit finsterm Amtsgesicht der eine Relationen, der andre seufzt beim Unterricht, und der macht Recensionen, der schilt die sündge Seele aus und der flickt ihr verfallnes Haus. \repeatleft~O~jerum, jerum, jerum, o quae mutatio rerum!~\repeatright
+\end{strophe}
+\begin{strophe}
+Auf öder schraubt uns spannt das Fadenkreuz der ein, der andere seufzt beim Steinverband und der legt Pflastersteine; der kocht aus Rüben Zuckersaft und der aus Wasser Pferdekraft. \repeatleft~O~jerum, jerum, jerum, o quae mutatio rerum~\repeatright\end{strophe}
+\begin{strophe}
+Allein das rechte Burschenherz kann nimmermehr erkalten; im Ernste wird, wie hier im Scherz, der rechte Sinn stets walten; die alte Schale nur ist fern, geblieben ist uns doch der Kern, \repeatleft~und den laßt
+fest uns halten!~\repeatleft 
+\end{strophe}
+\begin{strophe}
+Drum, Freunde! reichet euch die Hand, damit es sich erneue,
+der alten Freundschaft heilges Band, das alte Band der Treue. Klingt an und hebt die Gläser hoch, die alten Burschen leben noch, \repeatleft~noch lebt die alte Treue.~\repeatright
+\end{strophe}
+
+\end{lied}
+
+\end{liederbuch}


Property changes on: trunk/Master/texmf-dist/doc/latex/liederbuch/DemoProjekt/TestLiederbuch.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/liederbuch/DemoProjekt/TestLiederbuchSnippets/CVLB80-OhAlteBurschenherrlichkeit.ly
===================================================================
--- trunk/Master/texmf-dist/doc/latex/liederbuch/DemoProjekt/TestLiederbuchSnippets/CVLB80-OhAlteBurschenherrlichkeit.ly	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/liederbuch/DemoProjekt/TestLiederbuchSnippets/CVLB80-OhAlteBurschenherrlichkeit.ly	2025-01-03 22:50:06 UTC (rev 73288)
@@ -0,0 +1,65 @@
+\version "2.18.2"
+
+systemhoehe = 10
+customvar = 40
+customratio = 2
+seitenhoehe = #(* systemhoehe customratio)
+\header{
+}
+
+ %#(* systemhoehe 1\pt))
+
+\paper{
+  annotate-spacing = ##f
+  indent=0\mm
+  short-indent = 0\mm
+  paper-width = 150\mm
+  %line-width=120\mm
+  oddFooterMarkup=##f
+  evenFooterMarkup=##f
+  oddHeaderMarkup=##f
+  evenHeaderMarkup = ##f
+  bookTitleMarkup = ##f
+  scoreTitleMarkup = ##f
+  print-page-number = ##f
+  left-margin = 0
+  right-margin = 0
+  top-margin = -5\pt
+  bottom-margin = 0
+  paper-height = 50\pt %#(* seitenhoehe 1\pt)
+  top-system-spacing.basic-distance = 15\pt
+  markup-system-spacing.basic-distance = 0\pt
+  top-markup-spacing.basic-distance = 0\pt
+  system-system-spacing.basic-distance = 200\pt
+}
+
+\score{
+  \layout {
+  \context {
+    \Score
+    \remove "Bar_number_engraver"
+%
+%   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%   % Here you adjust the distance between the notes,   %
+%   % how many lines you need. If your song syllables   %
+%   % are too dense, you need to increase the distance. %
+%   % You should increase/decrease it by factor 2.      %
+%   % Currently it is 1/60. Next up is 1/120, next down %
+%   % 1/30. From there you can do a fine adjustment.    %
+%   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+    \override SpacingSpanner.base-shortest-duration = #(ly:make-moment 1/60)
+  }
+  #(define after-title-space (* 2 cm))
+  }
+%
+%%%%%%%%%%%%%%%%%%
+% Music is here: %
+%%%%%%%%%%%%%%%%%%
+%
+  \new Staff <<
+    \new Voice{
+      \relative c'{ \partial 4 c8 e | g4 g g8[ a] f d c4 e e r8 e d4. e8 f4. g8 f4 e r g g4. e8 c'4. b8 b4 a a a g4. a8 g[ e] f d d4 c r e4 d g g b b8([ a c)] b a4 d, d a' \bar"" \break a c c8([ b d]) c b([ a g)] \override BreathingSign.text = \markup { \musicglyph #"scripts.rvarcomma" } \breathe f8 \repeat volta 2 {g4. e8 c'4. b8 b a a4 r a g4. a8[ g] e f d d4 c r <<{s} \\ { r8 f}>>
+      }
+    }>>
+}

Added: trunk/Master/texmf-dist/doc/latex/liederbuch/DemoProjekt/TestLiederbuchSnippets/CVLB80-OhAlteBurschenherrlichkeit.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/liederbuch/DemoProjekt/TestLiederbuchSnippets/CVLB80-OhAlteBurschenherrlichkeit.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/liederbuch/DemoProjekt/TestLiederbuchSnippets/CVLB80-OhAlteBurschenherrlichkeit.pdf	2025-01-03 22:49:05 UTC (rev 73287)
+++ trunk/Master/texmf-dist/doc/latex/liederbuch/DemoProjekt/TestLiederbuchSnippets/CVLB80-OhAlteBurschenherrlichkeit.pdf	2025-01-03 22:50:06 UTC (rev 73288)

Property changes on: trunk/Master/texmf-dist/doc/latex/liederbuch/DemoProjekt/TestLiederbuchSnippets/CVLB80-OhAlteBurschenherrlichkeit.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/liederbuch/DemoProjekt/TestLiederbuchSnippets/haenschenKlein.ly
===================================================================
--- trunk/Master/texmf-dist/doc/latex/liederbuch/DemoProjekt/TestLiederbuchSnippets/haenschenKlein.ly	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/liederbuch/DemoProjekt/TestLiederbuchSnippets/haenschenKlein.ly	2025-01-03 22:50:06 UTC (rev 73288)
@@ -0,0 +1,66 @@
+\version "2.18.2"
+
+systemhoehe = 10
+customvar = 40
+customratio = 2
+seitenhoehe = #(* systemhoehe customratio)
+\header{
+}
+
+\paper{
+  annotate-spacing = ##f
+  indent=0\mm
+  short-indent = 0\mm
+  paper-width = 150\mm
+  %line-width=120\mm
+  oddFooterMarkup=##f
+  evenFooterMarkup=##f
+  oddHeaderMarkup=##f
+  evenHeaderMarkup = ##f
+  bookTitleMarkup = ##f
+  scoreTitleMarkup = ##f
+  print-page-number = ##f
+  left-margin = 0
+  right-margin = 0
+  top-margin = -5\pt
+  bottom-margin = 0
+  paper-height = 50\pt %#(* seitenhoehe 1\pt)
+  top-system-spacing.basic-distance = 15\pt
+  markup-system-spacing.basic-distance = 0\pt
+  top-markup-spacing.basic-distance = 0\pt
+  system-system-spacing.basic-distance = 200\pt
+}
+
+\score{
+  \layout {
+  \context {
+    \Score
+    \remove "Bar_number_engraver"
+%
+%   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%   % Here you adjust the distance between the notes,   %
+%   % how many lines you need. If your song syllables   %
+%   % are too dense, you need to increase the distance. %
+%   % You should increase/decrease it by factor 2.      %
+%   % Currently it is 1/60. Next up is 1/120, next down %
+%   % 1/30. From there you can do a fine adjustment.    %
+%   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+    \override SpacingSpanner.base-shortest-duration = #(ly:make-moment 1/50)
+  }
+  #(define after-title-space (* 2 cm))
+  }
+%
+%%%%%%%%%%%%%%%%%%
+% Music is here: %
+%%%%%%%%%%%%%%%%%%
+%
+  \new Staff <<
+    \new Voice{
+      \relative c''{ g4 e4 e2 | f4 d4 d2 | c4 d4 e4 f4 | g4 g4 g2 |
+               g4 e4 e2 | f4 d4 d2 | c4 e4 g4 g4 | c,1 |
+               d4 d4 d4 d4 | d4 e4 f2 | e4 e4 e4 e4 | e4 f4 g2 |
+                g4 e4 e2| f4 d4 d2| c4 e4 g4 g4 | c,1 \bar "|."
+      }
+    }>>
+}

Added: trunk/Master/texmf-dist/doc/latex/liederbuch/DemoProjekt/TestLiederbuchSnippets/haenschenKlein.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/liederbuch/DemoProjekt/TestLiederbuchSnippets/haenschenKlein.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/liederbuch/DemoProjekt/TestLiederbuchSnippets/haenschenKlein.pdf	2025-01-03 22:49:05 UTC (rev 73287)
+++ trunk/Master/texmf-dist/doc/latex/liederbuch/DemoProjekt/TestLiederbuchSnippets/haenschenKlein.pdf	2025-01-03 22:50:06 UTC (rev 73288)

Property changes on: trunk/Master/texmf-dist/doc/latex/liederbuch/DemoProjekt/TestLiederbuchSnippets/haenschenKlein.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/liederbuch/DemoProjekt/printTestLiederbuch.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/liederbuch/DemoProjekt/printTestLiederbuch.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/liederbuch/DemoProjekt/printTestLiederbuch.pdf	2025-01-03 22:49:05 UTC (rev 73287)
+++ trunk/Master/texmf-dist/doc/latex/liederbuch/DemoProjekt/printTestLiederbuch.pdf	2025-01-03 22:50:06 UTC (rev 73288)

Property changes on: trunk/Master/texmf-dist/doc/latex/liederbuch/DemoProjekt/printTestLiederbuch.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/liederbuch/DemoProjekt/printTestLiederbuch.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/liederbuch/DemoProjekt/printTestLiederbuch.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/liederbuch/DemoProjekt/printTestLiederbuch.tex	2025-01-03 22:50:06 UTC (rev 73288)
@@ -0,0 +1,11 @@
+\documentclass[a5paper, 11pt]{scrartcl}
+\usepackage[ngerman]{babel}
+\usepackage[utf8]{inputenc}
+\usepackage{printLiederbuch}
+\usepackage{TestLiederbuch}
+
+\begin{document}
+
+\printLiederbuch{TestLiederbuch}
+
+\end{document}
\ No newline at end of file


Property changes on: trunk/Master/texmf-dist/doc/latex/liederbuch/DemoProjekt/printTestLiederbuch.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/liederbuch/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/liederbuch/README.md	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/liederbuch/README.md	2025-01-03 22:50:06 UTC (rev 73288)
@@ -0,0 +1,46 @@
+# Liederbuch-Package
+This is a LaTeX package for creating easy-to-use songbooks and including these songs in songbooklets for i.e. weddings. It is intended for songs, but it can include any content you want to reuse once in a while.
+
+This material is subject to the LaTeX Project Public License 1.3c. You can do whatever you want with it, just don't upload the same under the same name.
+
+The basic concept is to have one database, the Liederbuch (songbook) and a document fetching the songs from there.
+
+A songbook looks like that:
+________
+\ProvidesPackage{testSongbook}
+\RequirePackage{liederbuch}
+
+\begin{liederbuch}[publisher=me & date = today]{testSongbook-1}
+
+\begin{lied}[meta data=this is just a test & otherData = it really is a test]{var1}{144000}
+   No notes and text yet.
+\end{lied}
+
+\begin{lied}{var2}{144000}
+   Same song, but different variant (var2)
+\end{Lied}
+
+\begin{lied}{versionA}{001}
+   Another song with song number 001 in versionA. The version parameter exists, that song numbers can be overloaded.
+\end{Lied}
+
+\end{liederbuch}
+
+
+\begin{liederbuch}{testSongbook-2}
+
+\begin{lied}[meta data= some other values]{aSong}{1}
+   Another song in another songbook
+\end{lied}
+\end{liederbuch}
+________
+
+To call a song, you just write
+
+\LBsong{testSongbook-1}{144000}{var1}
+
+and it automatically adds the previous defined song to your document.
+
+
+This is useful, if you reuse text segments, songs or graphics very often (you can store anything within \begin{Lied}...\end{Lied}).
+


Property changes on: trunk/Master/texmf-dist/doc/latex/liederbuch/README.md
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/liederbuch/liederbuch-documentation.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/liederbuch/liederbuch-documentation.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/liederbuch/liederbuch-documentation.pdf	2025-01-03 22:49:05 UTC (rev 73287)
+++ trunk/Master/texmf-dist/doc/latex/liederbuch/liederbuch-documentation.pdf	2025-01-03 22:50:06 UTC (rev 73288)

Property changes on: trunk/Master/texmf-dist/doc/latex/liederbuch/liederbuch-documentation.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/liederbuch/liederbuch-documentation.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/liederbuch/liederbuch-documentation.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/liederbuch/liederbuch-documentation.tex	2025-01-03 22:50:06 UTC (rev 73288)
@@ -0,0 +1,1439 @@
+\documentclass[12pt,a4paper]{scrreprt}
+\usepackage[utf8]{inputenc}
+\usepackage[english]{babel}
+\usepackage{amsmath}
+\usepackage{amsfonts}
+\usepackage{amssymb}
+\usepackage{graphicx}
+\usepackage[dvipsnames]{xcolor}
+\usepackage{multicol}
+\usepackage{tipa}
+\usepackage{tikz}
+\usepackage{longtable}
+\usepackage[parfill]{parskip} 	% no indendation, though proper paragraph spacing
+\usepackage{varioref}
+\usepackage[hidelinks,colorlinks=false,bookmarks=false,
+  pdftitle={The Liederbuch-Package},
+  pdfsubject={LaTeX},
+  pdfkeywords={music,score,scores,notation,notes},
+  pdfauthor={Gabriel Ruprecht},
+  urlcolor=blue,
+  pdfstartview=Fit
+  ]{hyperref}
+\usepackage{listings}
+\lstset
+{ %Formatting for code in appendix
+    language=TeX,
+    numbers=left,
+    stepnumber=1,
+    showstringspaces=false,
+    tabsize=1,
+    breaklines=true,
+    breakatwhitespace=false,
+    basicstyle=\ttfamily}
+%\DeclareUnicodeCharacter{017F}{s}
+
+\begin{document}
+{
+\def\vfill{\vskip 0pt plus 300pt minus 30pt \relax}
+\begin{center}
+\pagenumbering{gobble}
+\mbox{}\vskip 50pt\relax
+\textsf{\textbf{\huge The Liederbuch-Package}}
+\vskip 12pt \relax
+\textipa{\textbf{\large[D@ li:d\textturna bu:x-p\ae kIdZ]}}
+\vfill\mbox{}
+\vfill\mbox{}
+{\Large Gabriel Ruprecht}
+\vfill\mbox{}
+\normalsize{created with a lot of help from \LaTeX .SX and the German lilypond-forum}
+\vfill\mbox{}
+\vfill\mbox{}
+{\Large \today}
+\vfill\mbox{}
+\vfill\mbox{}
+\vfill\mbox{}
+\fbox{\includegraphics[height=0.42\paperheight , page=1]{DemoProjekt/DemoProjekt}}
+\vskip 40pt\relax
+Version 1.0
+\mbox{}\vskip -80pt\relax
+\mbox{}
+\end{center}
+\newpage
+\pagenumbering{arabic}
+\setcounter{page}{2}
+}
+
+
+
+%ſſſ
+
+\tableofcontents
+
+
+\chapter{Introduction}
+\label{Introduction}
+The Liederbuch-Package originated in the search for a standardized, simple and fast way, to produce small songbooks for my fraternity\footnote{It is a German fraternity and therefore quite different from american ones.}. The idea was to provide a few commands to make a songbook. It should also include some designs and be easily usable by \mbox{non-\TeX -safe} people.
+
+It became very clear during the project, that it would be usefull to divide this into several parts: Mainly the Liederbuch-Package, the Liederheft-Package and the Fill-Pages-Package. Later the Real-Page-Package package came in addition. The first one provides commands and designs referring the songs, the second one provides commands and desings referring the songbook. Therefore the Liederbuch-Package can be used as well i.e. in a book about the history of folk songs. The Fill-Pages-Package and the Real-Page-Package become their own entity in CTAN (at least, that's the plan).
+
+\newpage
+The sample on the title page uses just the following commands:
+\begin{lstlisting}[breaklines,numbers=left]
+\documentclass[a5paper, 11pt]{scrartcl}
+\usepackage[ngerman]{babel}
+\usepackage[utf8]{inputenc}
+\usepackage{graphicx}
+\usepackage{scrlayer-scrpage}
+
+\usepackage{TestLiederbuch}
+
+
+\LBHead{%
+{\Large \textbf{\print{title}}}\hfill\mbox{}\vspace*{5pt}\\
+\makebox[32pt]{Musik:\hfill} \print{composer} \\\makebox[32pt]{Text:\hfill} \print{lyricist}\vspace*{3pt}
+
+}
+\LBFoot{Herausgabedatum: \print{date}\hfill\mbox{}}
+
+\setSpaceBeforeStropheValue{15pt plus 5pt}
+\setSpaceAfterStropheValue{0pt plus 5pt}
+\setSpaceBeforeHeadValue{15pt plus 10pt minus 5pt}
+\setSpaceBeforeFootValue{15pt plus 10pt minus 5pt}
+
+\begin{document}
+
+\LBsong{TestLiederbuch}{1}{nt}
+
+\end{document}
+\end{lstlisting}
+
+As you see, inside begin-end-document, there is only one line, which inserts the whole song of the songbook. The previous statements are just for the appearance of all songs. To access the songbook, here \glqq TestLiederbuch\grqq , you have to include it in the first place, via \verb+\usepackage{ }+ with the songbook name.
+
+\newlength\tempheight
+\tempheight=\textheight
+\textheight=1.05\textheight
+\newpage
+\textheight=\tempheight
+
+The songbook looks like the following. The \verb+\ns+, stands for new syllable (German: neue Silbe). The star just adds a dash between the syllables:
+\begin{lstlisting}[breaklines,numbers=left]
+\ProvidesPackage{TestLiederbuch}
+\RequirePackage{liederbuch}
+
+\begin{liederbuch}[
+titleOfLargerWork = Test-Liederbuch &
+date = 2017 &
+seriesTitle = Demoprojekt
+]{TestLiederbuch}
+
+\begin{lied}[title=Hänschen klein & lyricist=Volkslied \& überliefert & composer = Volkslied]{nt}{1}
+{%
+\notenzeile{\includegraphics[width=\linewidth,page=1]{./TestLiederbuchSnippets/haenschenKlein.pdf}}%
+{\nspace{5pt} Häns \ns* chen  \ns klein, \ns \ns ging \ns all \ns* ein \ns \ns in \ns die \ns wei \ns* te \nspace{4}}
+\notenzeile{\includegraphics[width=\linewidth,page=2]{./TestLiederbuchSnippets/haenschenKlein.pdf}}%
+{\nspace{12pt} Welt \ns hin \ns* ein. \ns \ns Stock \ns und \ns Hut \ns steht \ns ihm \ns gut, \nspace{5}}
+\notenzeile{\includegraphics[width=\linewidth,page=3]{./TestLiederbuchSnippets/haenschenKlein.pdf}}%
+{\nspace{6} ist \ns gar \ns wohl \ns* ge \ns* mut. \nspace{5} Ab \ns* er \ns Mut \ns* ter \nspace{3} }
+\notenzeile{\includegraphics[width=\linewidth,page=4]{./TestLiederbuchSnippets/haenschenKlein.pdf}}%
+{\nspace{4} wein \ns* et \ns sehr, \ns hat \ns ja \ns wohl \ns kein \ns Häns \ns* chen \ns mehr. \nspace{2} }
+\notenzeile{\includegraphics[width=\linewidth,page=5]{./TestLiederbuchSnippets/haenschenKlein.pdf}}%
+{\nspace{5} Da \ns be \ns* sinnt \ns \ns sich \ns das \ns Kind, \ns \ns kehr \ns* et \ns heim \ns ge \ns* schwind \nspace{2} }
+}
+\end{Lied}
+
+\end{liederbuch}
+\end{lstlisting}
+
+
+As you see, the big frame is the Liederbuch-environment (songbook), inside which several Lieder (songs) can be. Each garnished with some meta data. If you look back to the cover page, you can see, that this meta data can be used in the header and footer of the songs. Each \verb+\notenzeile+ command takes two arguments: The score image and the lyrics.
+
+
+\chapter{General information}
+\section{Terminology}
+The following list is for understanding the structure of the commands.
+\begin{enumerate}
+\item \emph{GFM} are the tokens which precede every internal command of the package. They also precede some end-user commands. These are the first letters of all the first names of the original author (Gabriel Franz Maria). If some George Florian Michael in Oklahoma uses the same scheme, I'm really sorry, for the interference and incompability.
+\item \emph{Lied/Lieder} is German and translates to song/songs.
+\item \emph{Buch} translates to book
+\item \emph{Heft} translates to notebook, booklet
+\item \emph{Liederheft} translates to songbook. It describes a small songbook you use i.e. for weddings and is made out of a few printed pages, stapled together.
+\item \emph{Liederbuch} translates to songbook also. But it describes the songbook, you copied the songs for the  i.e. wedding from.
+\item \emph{Note(n)} means note(s) as in music.
+\item \emph{Zeile} means line as in text line.
+\item All the internal Commands follow the same rule of \\\verb+\GFM at CurrentPackageAbbreviation@CommandName+
+\end{enumerate}
+
+
+
+
+\newpage
+\section{The Different Parts of the Liederbuch-Package}
+The following subsections are short descriptions of the packages. The full description is provided in each corresponding chapter.
+\subsection{Liederbuch} 
+This (main) package provides commands and environments to create songbooks which can be used elsewhere. The features are:
+\begin{itemize}
+\item the font of the lyrics appear in the current \LaTeX -font (can be overridden in the songbooks)
+\item customizeable spaces to change the appearance of the imported song. i.e. space before song head, space after song head etc. These spaces also allow the use of \verb+plus+ and \verb+minus+, the way they are used in skips.
+\item use predefined head and foot styles for the songs or create your own styles.
+\item use meta data in the headers and footers. i.e. song title, composer, copyright, etc.
+\end{itemize}
+This package is not used in the document but in the sty-file, which serves as the songbook. If you have your songbook defined in the preamble, you need to load the package in the document of course.
+
+
+\subsection{Liederheft - unfinished, better do not use yet}
+This is a class, which provides commands and environments to easily create small booklets. This includes several predefined designs. This package is not limited to songbooks. It can be used for anything which has the character of a stapled home made booklet for one time use.
+
+
+\subsection{Print Liederbuch}
+This allows you to list all content of a songbook (liederbuch), you created. It is much more comfortable than looking at the source code.
+
+
+\chapter{Liederbuch-Package}
+This package provides the commands to create the songbooks, aka databases, where you choose the songs from. 
+
+
+\section{Basics}
+On figure \vref{abb:LiBa1} you see the layout of each song. The head, notes, songtext and foot is grouped in boxes. These boxes are vertically aligned according to the spaces which can include \verb+plus minus+. Example:
+\begin{lstlisting}[numbers=none]
+   \setSpaceBeforeHead{30pt plus 1fil minus 2pt}
+\end{lstlisting}
+About the songtext and its alignment, we get into detail later.
+
+\begin{figure}
+\hskip 0pt plus 3pt minus 3pt\begin{tikzpicture}
+\tikzset{inner sep=0pt, outer sep= 0pt}
+
+%\node [above] at (0.5\textwidth, 0) {\parbox{\textwidth}{\texttt{Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Ut purus elit, vestibulum ut, placerat ac, adipiscing vitae, felis. Curabitur dictum gravida mauris. Nam arcu libero, nonummy eget, consectetuer id, vulputate a, magna. Donec vehicula augue eu neque.}}};
+%Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Mauris ut leo. Cras viverra metus rhoncus sem.}};
+
+
+%\draw [dotted,thin] (\textwidth,0) -- (\textwidth,-19);
+%\draw [dotted,thin] (0,0) -- (0,-19);
+
+\draw [dashed,very thick] (0,1.5) -- (\textwidth,1.5);
+\draw [very thick] (0,1.5) -- (0,0) -- (\textwidth,0) -- (\textwidth,1.5);
+\node at (0.5\textwidth, 0.75){\verb+some running text+};
+
+
+\tikzset{shift={(0,-1)}}
+
+\draw [<->, very thick] (0.35\textwidth, 0) -- (0.35\textwidth, 1);
+\node [right] at (0.37\textwidth, 0.5){\verb+\spaceBeforeHead+};
+
+\tikzset{shift={(0,-0.6)}}
+
+\draw [very thick] (0,0) rectangle (\textwidth,0.6);
+\node at (0.5\textwidth, 0.3){\verb+head+};
+
+\tikzset{shift={(0,-1)}}
+
+\draw [<->, very thick] (0.35\textwidth, 0) -- (0.35\textwidth, 1);
+\node [right] at (0.37\textwidth, 0.5){\verb+\spaceAfterHead+};
+
+\tikzset{shift={(0,-1)}}
+
+\draw [<->, very thick] (0.35\textwidth, 0) -- (0.35\textwidth, 1);
+\node [right] at (0.37\textwidth, 0.5){\verb+\spaceBeforeNotes+};
+
+\tikzset{shift={(0,-0.6)}}
+
+\draw [very thick] (0,0) rectangle (\textwidth,0.6);
+\node at (0.5\textwidth, 0.3){\verb+notes+};
+
+\tikzset{shift={(0,-1)}}
+
+\draw [<->, very thick] (0.35\textwidth, 0) -- (0.35\textwidth, 1);
+\node [right] at (0.37\textwidth, 0.5){\verb+\spaceAfterNotes+};
+
+\tikzset{shift={(0,-1)}}
+
+\draw [<->, very thick] (0.35\textwidth, 0) -- (0.35\textwidth, 1);
+\node [right] at (0.37\textwidth, 0.5){\verb+\spaceBeforeSongLyrics+};
+
+\tikzset{shift={(0,0)}}
+
+\draw [very thick] (0,0) rectangle (\textwidth,-2.5);
+\node at (0.5\textwidth, -0.5){\verb+songtext below notes+};
+
+\draw [<->, very thick] (0,-2) -- (2, -2);
+\node at (1, -1.5){\verb+\nspace+};
+
+\node at (2.5, -2){\verb+word+};
+
+\draw [<->, very thick] (3,-2) -- (5, -2);
+\node at (4, -1.5){\verb+\ns+};
+
+\node at (5.5, -2){\verb+word+};
+
+\draw [<->, very thick] (6,-2) -- (8, -2);
+\node at (7, -1.5){\verb+\ns+};
+
+\node at (9, -2){\verb+syllable+};
+
+\draw [<->, very thick] (10,-2) -- (10.8, -2);
+\node at (11, -1.2){\verb+\ns*+};
+
+\draw [thick](10,-1.85) [out=90, in= -90] to (11,-1.5) [out=-90, in= 90] to (12, -1.85); 
+\node at (11, -2){\verb+-+};
+
+\draw [<->, very thick] (11.2,-2) -- (12, -2);
+
+\node at (13, -2){\verb+syllable+};
+
+\draw [<->, very thick] (14,-2) -- (15.75, -2);
+\node at (14.875, -1.5){\verb+\nspace+};
+
+\tikzset{shift={(0,-3.5)}}
+
+\draw [<->, very thick] (0.35\textwidth, 0) -- (0.35\textwidth, 1);
+\node [right] at (0.37\textwidth, 0.5){\verb+\spaceAfterSongLyrics+};
+
+\tikzset{shift={(0,-1)}}
+
+\draw [<->, very thick] (0.35\textwidth, 0) -- (0.35\textwidth, 1);
+\node [right] at (0.37\textwidth, 0.5){\verb+\spaceBeforeNotes+};
+
+\tikzset{shift={(0,-0.6)}}
+
+\draw [very thick] (0,0) rectangle (\textwidth,0.6);
+\node at (0.5\textwidth, 0.3){\verb+notes+};
+
+\tikzset{shift={(0,-1)}}
+
+\draw [<->, very thick] (0.35\textwidth, 0) -- (0.35\textwidth, 1);
+\node [right] at (0.37\textwidth, 0.5){\verb+\spaceAfterNotes+};
+
+\tikzset{shift={(0,-1)}}
+
+\draw [<->, very thick] (0.35\textwidth, 0) -- (0.35\textwidth, 1);
+\node [right] at (0.37\textwidth, 0.5){\verb+\spaceBeforeSongLyrics+};
+
+\tikzset{shift={(0,-1.5)}}
+
+\draw [very thick] (0,0) rectangle (\textwidth,1.5);
+\node at (0.5\textwidth, 1.0){\verb+songtext below notes+};
+\node at (0.5\textwidth, 0.4){\verb+like  above+};
+
+\tikzset{shift={(0,-1)}}
+
+\draw [<->, very thick] (0.35\textwidth, 0) -- (0.35\textwidth, 1);
+\node [right] at (0.37\textwidth, 0.5){\verb+\spaceAfterSongLyrics+};
+
+\tikzset{shift={(0,-1)}}
+
+\draw [<->, very thick] (0.35\textwidth, 0) -- (0.35\textwidth, 1);
+\node [right] at (0.37\textwidth, 0.5){\verb+\spaceBeforeFoot+};
+
+\tikzset{shift={(0,-0.6)}}
+
+\draw [very thick] (0,0) rectangle (\textwidth,0.6);
+\node at (0.5\textwidth, 0.3){\verb+foot+};
+
+\tikzset{shift={(0,-1)}}
+
+\draw [<->, very thick] (0.35\textwidth, 0) -- (0.35\textwidth, 1);
+\node [right] at (0.37\textwidth, 0.5){\verb+\spaceAfterFoot+};
+
+\tikzset{shift={(0,-1.5)}}
+
+%\node [below] at (0.5\textwidth, 0) {\parbox{\textwidth}{\texttt{Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Ut purus elit, vestibulum ut, placerat ac, adipiscing vitae, felis. Curabitur dictum gravida mauris.}}};
+%Nam arcu libero, nonummy eget, consectetuer id, vulputate a, magna. Donec vehicula augue eu neque.}};
+%Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Mauris ut leo. Cras viverra metus rhoncus sem.}};
+
+\draw [dashed,very thick] (0,0) -- (\textwidth,0);
+\draw [very thick] (0,0) -- (0,1.5) -- (\textwidth,1.5) -- (\textwidth,0);
+\node at (0.5\textwidth, 0.75){\verb+some running text+};
+
+\end{tikzpicture}\hskip 0pt plus 3pt minus 3pt
+\vskip 10pt plus 10pt minus 10pt
+\caption{layout and spacing of a page with several musical lines\hskip 0pt plus 1filll\mbox{}}
+\label{abb:LiBa1}
+\vskip -14pt
+\end{figure}
+
+%%In \varioref{}
+%
+%\begin{figure}
+%\begin{tikzpicture}
+%\draw [very thick] (0,0) -- (0,1) -- (\textwidth,1) -- (\textwidth,0);
+%\node at (0.5\textwidth, 0.5){music staff with notes, loaded from image};
+%
+%\tikzset{shift={(0,-1.5)}}
+%
+%\draw [very thick] (0,0) rectangle (\textwidth,1.5);
+%
+%\draw [<->, very thick] (0.0\textwidth, 0.5) -- (0.2\textwidth, 0.5);
+%\node at (0.1\textwidth, 1){\verb+\nspace{x pt}+};
+%
+%\draw [very thick] (0.2\textwidth,0.25) rectangle (0.3\textwidth,0.75);
+%\node at (0.25\textwidth, 0.5){Word};
+%
+%\draw [<->, very thick] (0.3\textwidth, 0.5) -- (0.4\textwidth, 0.5);
+%\node at (0.35\textwidth, 1){\verb+\ns+};
+%
+%\draw [very thick] (0.4\textwidth,0.25) rectangle (0.45\textwidth,0.75);
+%\node at (0.425\textwidth, 0.5){Syl};
+%
+%\draw [<-, very thick] (0.45\textwidth, 0.5) -- (0.49\textwidth, 0.5);
+%\node at (0.5\textwidth, 1){\verb+\ns*+};
+%\draw [very thick] (0.49\textwidth, 0.35) rectangle (0.51\textwidth, 0.65);
+%\node at (0.5\textwidth, 0.5){-};
+%\draw [->, very thick] (0.51\textwidth, 0.5) -- (0.55\textwidth, 0.5);
+%
+%
+%\draw [very thick] (0.55\textwidth,0.25) rectangle (0.6\textwidth,0.75);
+%\node at (0.575\textwidth, 0.5){la};
+%
+%\draw [<-, very thick] (0.6\textwidth, 0.5) -- (0.64\textwidth, 0.5);
+%\node at (0.65\textwidth, 1){\verb+\ns*+};
+%\draw [very thick] (0.64\textwidth, 0.35) rectangle (0.66\textwidth, 0.65);
+%\node at (0.65\textwidth, 0.5){-};
+%\draw [->, very thick] (0.66\textwidth, 0.5) -- (0.7\textwidth, 0.5);
+%
+%
+%\draw [very thick] (0.7\textwidth,0.25) rectangle (0.75\textwidth,0.75);
+%\node at (0.725\textwidth, 0.5){bies};
+%
+%\draw [<->, very thick] (0.75\textwidth, 0.5) -- (1.0\textwidth, 0.5);
+%\node at (0.875\textwidth, 1){\verb+\nspace{y pt}+};
+%
+%
+%\end{tikzpicture}
+%\caption{layout and spacing of one musical line $\backslash$notezeile\{notes\}\{text\}\hskip 0pt plus 1filll\mbox{}}
+%\label{abb:LiBa}
+%\end{figure}
+
+%\LBsong{Test}{1}{nt}
+
+\section{What the packages uses}
+The package makes use of the following packages. This is just for your information and has almost no practical use. It is mostly internals:
+\begin{itemize}
+\item xparse\\
+Used for commands with more than one optional arguments and use of the * for multiple variants for commands.
+\item graphicx\\
+Not explicitely necessary, but necessary in most cases. Includes the note-snippets.
+\item etoolbox\\
+Used for creating command sequences
+\item environ\\
+Used for creating the Environments for the Liederbuch-package
+\item pgfmath\\
+Needed for using length in relation to the linewidth. If you do not use any unit for \verb+\nspace{<some value>}+, it is read as percent of linewidth. This is very usefull, as the target linewidth might change a bit, and the alignment of the syllables wouldn't fit to the notes.
+\end{itemize}
+
+\section{User Commands}
+
+\subsection{Building a Songbook}
+Every songbook consists of at least one sty-file. You can also put the songbook into the preamble like in GFM-Setzhilfe\footnote{This file can be downloaded from the git repo of the package: \href{https://bitbucket.org/maestro-glanz/liederbuch-package/src/master/}{bitbucket--liederbuch-package}} (typesetting helper), but the intended use is to have a separate file. This file contains the actual database (and may call other databases/songbooks itself). Furthermore, there may be score snippets for adding notes to the lyrics, pixel graphics from scans and other resources.
+
+If you create and package a songbook, it should follow certain rules concerning the folder structure:
+\begin{lstlisting}[numbers=none]
+A new folder for all the content:
+./this_is_an_example
+
+And in this folder the sty-file and pdf-snippets (or png-graphics for example):
+./this_is_an_example/this_is_an_example_songbook.sty
+./this_is_an_example/01_song_snippet.ly
+./this_is_an_example/01_song_snippet.pdf
+./this_is_an_example/02_another_song_snippet.ly
+./this_is_an_example/02_another_song_snippet.pdf
+./this_is_an_example/03_summertime_(gershwin).ly
+./this_is_an_example/03_summertime_(gershwin).pdf
+./this_is_an_example/04_On_the_Road_Again_Version-A.ly
+./this_is_an_example/04_On_the_Road_Again_Version-A.pdf
+./this_is_an_example/04_On_the_Road_Again_Version-B.ly
+./this_is_an_example/04_On_the_Road_Again_Version-B.pdf
+\end{lstlisting}
+
+If you have a songbook made by someone else, you are fine. If you haven't, you need to build it yourself. The preamble of the sty-file contains the following lines:
+\begin{lstlisting}
+   \ProvidesPackage{name of the songbook}
+   \RequirePackage{liederbuch}
+\end{lstlisting}
+You may add some of your own packages you want to use in the songbook. For example if you typeset the scores with musixtex, you can add this package. If you want to use tikz instead, you are free to go. Most likely, you will use the graphicx-package, as using pdf-snippets is the imho best way, to use this package.
+
+To start a songbook, you must first write these lines:
+\begin{lstlisting}[numbers=left,firstnumber=5]
+   \begin{liederbuch}[<meta data>]{<name of the songbook>}
+       % the songs (Lieder-environments) go here
+       [...]
+       [...]
+\end{lstlisting}\vskip -13pt\relax
+\begin{lstlisting}[numbers=left,firstnumber=78]
+       [...]
+   \end{liederbuch}
+\end{lstlisting}
+This must contain all songs. This environment is provided by \textit{liederbuch}. What the meta data does, we will come to at a later point. After you created a songbook, you can create songs inside it. Every song number can be included multiple times in different variants. If two songs have the same number and the same variant tag, the later overwrites the first:
+\begin{lstlisting}[numbers=left,firstnumber=14]
+   \begin{lied}[<meta data>]{<variant>}{<song number>}
+       <the song content>
+   \end{lied}
+\end{lstlisting}
+The song number identifies the songs. If you have to different kinds of song number 123 (i.e. piano score and choir score), you can make two different variants. i.e. \verb+ps+ and \verb+cs+. The way, you name the variants, is up to you. At can be anything beside the \verb+\empty+-command-sequence.
+
+Neither song number, nor variant has to be an actual number. You can write ''One'' instead of ''1''. It will work, but you should be at least consistent over the whole song boook. And writing eight-hundred-sixty-one instead of a numeral is highly depreciated.
+
+
+\noindent\rule{\textwidth}{1pt}
+
+{\Large \textbf{Example}}
+
+\noindent Assuming you have the following songbook created:
+\begin{lstlisting}[numbers=left,firstnumber=30]
+   \begin{liederbuch}{testSongbook}
+   \begin{lied}[%
+     meta data=this is just a test &%
+     otherData = it really is]%
+   {var1}{144000}
+   No notes and text yet.
+   \end{lied}
+   \end{liederbuch}
+\end{lstlisting}
+If you call the song with
+\begin{lstlisting}[numbers=left,firstnumber=72]
+   \LBsong{testSongbook}{144000}{var1}
+\end{lstlisting}
+the ouput will be
+\begin{lstlisting}[numbers=none]
+   No notes and text yet.
+\end{lstlisting}
+The meta data elements are not used yet, but can be used later.\vspace*{-2ex}
+
+\noindent\rule{\textwidth}{1pt}
+
+The output should be an actual song of course. To typeset these, there are several commands inside(!) the Lied-environment available.\vspace*{-30pt}
+
+\newpage
+\noindent\rule{\textwidth}{1pt}
+
+{\Large \textbf{Extended example}}
+
+You start of course with the Liederbuch environment first:
+\begin{lstlisting}[firstnumber=7]
+   \begin{liederbuch}[%
+   songbook=Old Irish Folk Songs &%
+   author = Travis O'Connor]
+   
+   \begin{lied}[
+   title = What shall we do with a drunken saylor &
+   composer = Traditional &
+   lyricist = Probably a drunken saylor]
+   %The notenzeile command goes here
+   \end{lied}
+   
+   \begin{lied}[
+   title = My lad got beaten up in the pub &
+   composer = Johnny O'Neeye %
+   lyricist = Jimmy Jailedup
+   ]
+   %The notenzeile commands goes here
+   \end{lied}
+   
+   \end{liederbuch}
+\end{lstlisting}
+
+For every combination of notes and text, you use one notenzeile command. If your song score has 5 lines of notes, you need the notenzeile command 5 times, if it is 3 lines, you need it 3 times. The notenzeile command is smart enough to show several strophes of text for one line, if needed:
+\begin{lstlisting}[firstnumber=15]
+   \notenzeile[linewidth of the line | default:\linewidth]
+   {the part with the notes from the score}%
+   {the text of strophe 1}%
+   [the text of strophe 2]%
+   [the text of strophe 3]%
+   [the text of strophe 4]%
+   [the text of strophe 5]%
+   [the text of strophe 6]%
+   \notenzeile{\includegraphics[width=\linewidth,page=2]{somePath}}%
+   {\nspace{5} This \ns is \ns the \ns line \ns two \nspace{3}}
+   \notenzeile{\includegraphics[width=\linewidth,page=3]{somePath}}%
+   {\nspace{3em} and \ns three \ns of \ns the \ns do \ns* cu \ns* ment \ns of do cu ments\nspace{7pt}}
+\end{lstlisting}
+
+As you see, the strophe numbers 2 and above are optional arguments. Standard case should be one line of text for one line of notes, but you can add more. If you need more than 6 strophes below one line of notes, you do something, which you shouldn't do. If you want more, you can hack the source code.
+
+Inside of the notenzeile command, there are several commands available:
+\begin{lstlisting}[numbers=none]
+   \songLyrics{}
+   % This in an internal command, but you can use it.  It creates a makebox, with the \ns, \ns* and \nspace commands available inside.
+   
+   \ns[space correction]
+   % This divides two words. You can optionally add an offset to the command, which shifts the next syllable (positive = right, negative = left). You can use standard length units. If you don't use any unit, percent-linewidth is used.
+   
+   \ns*[space correction]
+   % It is exactly like \ns, but it adds a dash in between. It is meant to divide syllables of one word.
+   
+   \nspace{length}
+   % This does exactly the same as hspace*, but this command also accepts no unit (just a number without an unit), which is interpreted as percent-linewidth.
+   
+   \multiline{0.5\linewidth}{text for strophe 1}{text for str 2}[str. 3][4][5][6]
+   % This is usefull, if your song switches to refrain within one line or only some section of one song line has two text lines. It creates several stacked lines within one line.
+\end{lstlisting}
+
+So far, this creates all the notes and text together. Normally, songs are typeset, that only the first strophe is below the notes, the other strophes are printed as text blocks.
+
+These text blocks are built by the strophe environment:
+\begin{lstlisting}[numbers=none]
+   \begin{strophe}[strophe number]
+   Some text in any format.
+   \end{strophe}
+\end{lstlisting}
+Normally, the strophe numbers are automatically counted up for every use of the strophe environment. So, the first time, you use this environment in each song, you should override this with the optional parameter strophe number. I.e. if the first usage is number 2, then you write \verb+\begin{strophe}[2]+. The next strophe will then be automatically~3.
+
+\subsection{Using a Songbook}
+\label{LiUsUs}
+Using a songbook is pretty easy. You must include the songbooks with
+\begin{lstlisting}[numbers=none]
+   \usepackage{nameOfSongbook}
+\end{lstlisting}
+
+and call the desired song with
+\begin{lstlisting}[numbers=none]
+   \LBsong{songbook}{number}{variant}
+\end{lstlisting}
+Note: The name of the package you use needn't be the same name of the songbook. You can define the songbook \verb+abc+ inside a sty-file called \verb+alphabet+. But it is highly discouraged.
+
+There are several versions of each songnumber possible. Due to the variant, you can store the piano version of a song in the same songbook as the choir music version.
+If you use \verb+\LBsong{paradiseSongs}{42}{4voice}+ for example, you get the song number 42 out of the paradiseSongs-songbook in the version for four voices (which of course you must have defined beforehand).
+
+If some meta data is incorrect and you can not or shouldn't change the source songbook, you can edit the meta data with the 
+\begin{lstlisting}[numbers=none]
+   \tweakMetaData{songbook}{song number}{song variant}{meta data element}
+\end{lstlisting}
+command. It just overwrites the meta data element, that was created for that specific song at load time. The principle is the same as in \verb+\GFM at LB@unpackage+.
+
+\newpage
+\subsection{Creating a Theme}
+
+The appearance of the songs consist mainly of three things:
+\begin{itemize}
+\item Header
+\item Footer
+\item Spacing
+\end{itemize}
+Changing the background of the songs isn't supported yet and might never be.
+
+The header and footer can be edited via
+\begin{lstlisting}[numbers=none]
+   \LBHead{Definition}
+\end{lstlisting}
+and
+\begin{lstlisting}[numbers=none]
+   \LBFoot{Definition}
+\end{lstlisting}
+
+Here you can use the meta data-values given in the song. As you might remember, the songs are defined as i.e.
+
+\begin{lstlisting}
+   \begin{liederbuch}[
+   titleOfLargerWork = Test-Liederbuch &
+   date = 2017 &
+   seriesTitle = Demoprojekt
+   ]{TestLiederbuch}
+   
+   \begin{lied}[title=Hänschen klein & lyricist=Volkslied \& Überliefert & composer = Volkslied]{nt}{1}
+   ... something ...
+   \end{lied}
+   \end{liederbuch}
+\end{lstlisting}
+
+An example header and footer would look like this:
+\label{LiUsCrEx}
+\begin{lstlisting}
+   \LBHead{\Large\print{title}\\
+   \normalsize Taken from \print{titleOfLargerWork}\hspace{30pt}\print{composer}}
+   
+   \LBFoot{\print{date}\hfill\print{seriesTitle}}
+\end{lstlisting}
+
+As you see, the print-command prints any meta data, which had been defined before. If it is undefined, the print-command prints nothing. This example is of course not the peak of human art work, but it showcases the concept. It is possible to include almost anything (no limitations known yet). For the naming of the meta data refer to section \ref{LiUsMe} \vnameref{LiUsMe}.
+
+For adjusting the spaces, you can use the following commands. They work with \verb+\vskips+ and can optionally take \verb+plus+ and \verb+minus+. These are the commands to edit the spaces with some example values:
+\begin{lstlisting}[numbers=none]
+   \setSpaceBeforeHeadValue{3pt plus 0pt minus 1.5pt}
+   \setSpaceAfterHeadValue{-1pt plus 4pt}
+   \setSpaceBeforeNotesValue{2pt minus 1pt}
+   \setSpaceAfterNotesValue{4pt}
+   \setSpaceBeforeStropheValue{3em plus 1pt minus 0.2in}
+   \setSpaceAfterStropheValue{0pt}
+   \setSpaceBeforeSongLyricsValue{0pt}
+   \setSpaceAfterSongLyricsValue{0pt}
+   \setSpaceBeforeFootValue{0pt}
+   \setSpaceAfterFootValue{0pt}
+\end{lstlisting}
+
+\subsection{Using printliederbuch}
+If you want to have a catalogue of all your songs in a songbook, you can use \verb+printliederbuch+. You just need a simple document like this:
+\begin{lstlisting}
+   \documentclass[a5paper, 11pt]{scrartcl}
+   \usepackage[ngerman]{babel}
+   \usepackage[utf8]{inputenc}
+   \usepackage{printliederbuch}
+   \usepackage{TestLiederbuch}
+   
+   \begin{document}
+   
+   \printLiederbuch{TestLiederbuch}
+   
+   \end{document}
+\end{lstlisting}
+You need a \verb+documentclass+ of your liking, add some packages of your liking and then you need first, the printliederbuch package and second, the songbook, you want to have a catalogue of. The order is important. Your document needs only one command, the \verb+\printLiederbuch+ command. 
+
+\newpage
+\subsection{Tips and tricks}
+\subsubsection{First the outer spacing, then the syllable spacing}
+Start by doing the outer spacing first. If these are your lyrics
+\begin{lstlisting}[numbers=none]
+{Hänschen klein ging allein in die weite}
+\end{lstlisting}
+you start by adding the outer space and separating all syllables
+\begin{lstlisting}[numbers=none]
+{\nspace{7} Häns \ns* chen \ns klein \ns ging \ns all \ns* ein \ns in \ns die \ns wei \ns* te \nspace{4}}
+\end{lstlisting}
+Once the first and last syllable looks good, you can proceed with the adjustment of the space between the syllable  (see next sections).
+
+\subsubsection{Replacing $\backslash ns*$ with $\backslash ns - \backslash ns$}
+If \verb*+ \ns* + separates two long syllables like ''Schne-cken'', \verb*+ \ns* + will to its job. But if the syllables are short like ''O-lé'' or the notes are long, you better replace it with \verb*+ \ns - \ns +. If this is a little bit too long, you can use \verb*+\ns -\ns+ instead.
+
+\subsubsection{Double $\backslash ns$ and $\backslash nspace\{ x\}$}
+Normally in songs, note lengths tend to be only two different lengths per line. i.e. if your shortest length is a quarter note, the second length is a half note. If the shortest is an eighth, the second one is a quarter. It is rather rare, that a third length occurs. Maybe a dotted note. Most notation software makes the space after a longer note a little bit longer.
+
+Best practice has been to make one \verb+\ns+ after each shortest note duration and two \verb+\ns+ after. For longer notes it is better to use a \verb+\nspace{x}+ inline (with x=3 for example).
+
+\includegraphics[width=\linewidth,page=1]{DemoProjekt/TestLiederbuchSnippets/haenschenKlein}
+gets this song text:
+\begin{lstlisting}[numbers=none]
+\nspace{7} Häns \ns* chen\ns klein \ns ging \ns all \ns* ein \ns \nspace{4} in \ns \ns die \ns \ns wei \ns* te \nspace{4}
+\end{lstlisting}
+7\% linewidth space on the left, 4\% on the right. The syllable ''-chen'' is very long. Therefore, a second \verb+\ns+ isn't needed, though the corresponding note is a half note. ''in'' and ''die'' are very short syllables, a second \verb+\ns+ does the trick. After ''\verb+\ns*+ ein'' two \verb+\ns+ isn't enough, therefore a \verb+\nspace{4}+ does the trick.
+
+\subsubsection{Omitting a space here and there}
+You might have noticed in the previous example, that after ''-chen'' there is no space. Normally it is \verb*+ \ns + and normally it should be. But in this case, the syllable is already pretty long and we need to get rid of a bit of space. Therefore, the space before is omitted and it is \verb*+\ns + instead. You can only omit the space before \verb+\ns+ not after.
+
+\subsubsection{Hard spaces (\char`~ ) for short syllables}
+In die following example
+
+\includegraphics[width=\linewidth,page=3]{DemoProjekt/TestLiederbuchSnippets/haenschenKlein}
+the text is like this:
+\begin{lstlisting}[numbers=none]
+\nspace{6} ist \ns gar \ns wohl \ns* ge\ns -\ns mut. \nspace{6} Ab \ns* er~ \ns Mut \ns* ter \nspace{3.5}
+\end{lstlisting}
+The syllable ''\verb+\ns*+ er'' is very short. The spacing will work better, if it is a little bit longer, so we add a hard space (\char`~ ) to the syllable to make it longer.
+
+\newpage
+\subsection{Meta Data}
+\label{LiUsMe}
+
+The Sheet Music Consortium has created a list of tags for their sheet music to make it easy to find in the database. This seems to be a sensible scheme and is therefore partially reused for the meta data (see \url{https://digital.library.ucla.edu/sheetmusic/aboutProject.html#NameforSMCmetadata-NameMetadata}). The scheme here is mostly taken from there. Another scheme is \url{https://www.dlib.indiana.edu/smcmigrator/fieldnamehelp.php}. A website which doesn't exist any more. There are also some parts taken from there. All the tags in these schemes had been unified and consolidated in this list here. Therefore it is kind of a third deviating scheme taking from both of them and trying to have as least dicrepancies to them as possible. This scheme here also ommits a few parts, which seemed to duplicate others or seemed totally over the top. This section is already totally over the top and awfully perfectionist.
+
+\vskip 15pt\relax
+%\newpage
+
+\textbf{Subsections:}\vspace{10pt}\\
+\hspace*{40pt}%
+\parbox{0.8\linewidth}{%
+\begin{multicols}{2}%
+{%
+\setcounter{secnumdepth}{3}%
+\begin{itemize}
+\item[\ref{LiUsMeTi}] \nameref{LiUsMeTi}
+\item[\ref{LiUsMeNa}] \nameref{LiUsMeNa}
+\item[\ref{LiUsMeSu}] \nameref{LiUsMeSu}
+\item[\ref{LiUsMeId}] \nameref{LiUsMeId}
+\item[\ref{LiUsMeRe}] \nameref{LiUsMeRe}
+\item[\ref{LiUsMeNotedescription}] \nameref{LiUsMeNotedescription}
+\item[\ref{LiUsMeDa}] \nameref{LiUsMeDa}
+\item[\ref{LiUsMeLa}] \nameref{LiUsMeLa}
+\item[\ref{LiUsMeTy}] \nameref{LiUsMeTy}
+\item[\ref{LiUsMeOr}] \nameref{LiUsMeOr}
+\item[\ref{LiUsMePh}] \nameref{LiUsMePh}
+\item[\ref{LiUsMeAb}] \nameref{LiUsMeAb}
+\item[\ref{LiUsMeTa}] \nameref{LiUsMeTa}
+\item[\ref{LiUsMeIn}] \nameref{LiUsMeIn}
+\item[\ref{LiUsMeCa}] \nameref{LiUsMeCa}
+\item[\ref{LiUsMeCl}] \nameref{LiUsMeCl}
+\item[\ref{LiUsMeLo}] \nameref{LiUsMeLo}
+\end{itemize}%
+}%
+\end{multicols}
+}%parbox
+
+\newpage
+\subsubsection{Titles}
+\label{LiUsMeTi}
+\newcommand*\Tag[3]{{\ttfamily #1} & {\ttfamily =} & {\ttfamily #2} & #3}
+
+Each resource should have at least one title element associated with it. The following fields can be used to describe titles:
+
+\renewcommand{\arraystretch}{1.5}
+
+\begin{tabular}{p{0.22\textwidth} c p{0.28\textwidth} p{0.40\textwidth}}
+Tag & & value examples & description\\
+\hline
+\Tag{title}{Gaudeamus igitur}{A word or phrase that names the resource being described.}\\
+\Tag{subtitle}{iuvenes dum sumus}{Secondary word or phrase that names the resource being described.}\\
+\Tag{alternativeTitle}{De brevitate vitae}{The "alternative title" data is used for other titles not covered elsewhere in the meta data record.}\\
+\Tag{firstLine}{Gaudeamus igitur, iuvenes dum sumus}{The "First Line" data is a direct transcription of the first line of lyrics appearing in the song.}\\
+\Tag{firstLineofChorus}{no chorus}{The "first line of chorus" data is a direct transcription of the first line of the chorus (refrain) appearing in the song.}\\
+\Tag{titleOfLargerWork}{Allgemeines deutsches Kommersbuch}{The "title of larger work" data is used when the item being cataloged is known to be one part of a larger work with a known title.}\\
+\Tag{seriesTitle}{German student song books}{The "series title" data is used to record a named series to which the item being cataloged belongs.}\\
+\Tag{uniformTitle}{no idea, sorry}{A Uniform Title (also known as a Work Title) is a specific cataloger-created title as prescribed by the rules in AACR2. It is used to indicate clearly the musical work represented in a piece of sheet music.}\\
+\end{tabular}
+
+\newpage
+\subsubsection{Names}
+\label{LiUsMeNa}
+\begin{longtable}{p{0.22\textwidth} c p{0.28\textwidth} p{0.40\textwidth}}
+Tag & & value examples & description\\
+\hline
+\Tag{composer}{traditional}{"Composer" meta data is used to record the name of individuals or corporate bodies responsible for creating the musical content of the work being cataloged.}\\
+\Tag{arranger}{I don't know}{"Arranger" meta data is used to record the name of individuals or corporate bodies responsible for the transforming the musical content of the work being cataloged from its original form, genre, instrumentation, etc., to another for publication. In an arrangement the musical substance remains essentially unchanged.}\\
+\Tag{lyricist}{some guy of the 19th century}{"Lyricist" meta data is used to record the name of an individual or corporate body responsible for creating the lyrics or text of the work being cataloged.}\\
+\Tag{performer}{The "hohe Kneipcorona"}{"Performer" meta data is used to record the name of an individual or corporate body indicated on the item being cataloged as a known performer of the work.}\\
+\Tag{dedicatee}{Not for Elise}{"Dedicatee" meta data is used to record the name of an individual or corporate body to whom the work or publication is dedicated. Do not us record information about handwritten dedications printed on an item after publication; use "Note" for this purpose instead.}\\
+\Tag{otherName}{Unter Mitwirkung der Lindenwirtin entstanden}{"Other name" meta data is used to record the name of an individual or corporate body responsible for the creation of the item being cataloged that is deemed important but not appropriate for use in any other "Name" or "Publication" data. Do not record individuals or corporate bodies named in lyrics; use "Name as Subject" for this purpose instead.}\\
+\Tag{engraver}{Gabriel Ruprecht}{The person or organisation, who engraved the sheet music. Commonly with the help of a program like lilypond.}\\
+\Tag{lithographer}{Heidenhain 600}{The person or company producing the printing plates of the sheet music, if deviating from "publisherName".}\\
+\Tag{coverEngraver}{Andy Warhol's wife}{"Engraver" meta data is used to record the name of an individual or corporate body responsible for the cover engraving on the publication being cataloged, if deviating from "engraver"}\\
+\Tag{coverLithographer}{The gremlin in Andy Warhol's basement}{Use "Lithographer" to record the name of an individual or corporate body responsible for the cover lithography on the publication being cataloged, if deviating from "lithographer"}\\
+\Tag{coverArtist}{Andy Warhol himself}{"Artist" meta data is used to record the name of an individual or corporate body responsible for the cover art on the publication being cataloged.}\\
+\end{longtable}
+
+\newpage
+\subsubsection{Subject}
+\label{LiUsMeSu}
+\begin{longtable}{p{0.22\textwidth} c p{0.28\textwidth} p{0.40\textwidth}}
+Tag & & value examples & description\\
+\hline
+\Tag{topicalSubject}{Drinking beer}{In a song with lyrics "Topical Subject" is used to record what topics occur in the song's lyrics.}\\
+\Tag{nameAsSubject}{Professor Ubisunt Quiantenos}{"Name as Subject" is used to record a personal or corporate name that is the subject of a song's lyrics.}\\
+\Tag{formGenreStyle}{Student songs}{"Form/Genre/Style" may be used to record the class or category of music, including the musical style(s) of a work. Form is often described as the organizing element in music, or the historically or functionally specific kind of material.}\\
+\Tag{temporalSubject}{Romantic period}{The "Temporal Subject" meta data is used to record a named time period relevant to the item being cataloged.}\\
+\Tag{instrumentation}{Vocal}{A listing of the performing forces called for by a particular piece of sheet music, including both voices and external instruments.}\\
+\Tag{\hspace*{-40pt}\hfill placeNameSubject}{Germany}{"Place Name Subject" is used to record named countries, states, provinces, counties, and cities associated with the music and lyrics of the item being cataloged.}\\
+\Tag{\hspace*{-40pt}\hfill otherGeographicSubject}{D-A-CH-Region}{The optional "Other Geographic Subject" meta data is used to record named geographic places that are not countries, states, provinces, counties, or cities associated with the music and lyrics of the item being cataloged.}\\
+\Tag{localSubject}{University}{"Local Subject" is used to record subject terms meaningful to the holding institution.}\\
+\Tag{coverSubject}{Loreley in a sleeping dress}{"Cover Subject" is used to record the topical content of the image depicted on the cover of the item being cataloged.}\\
+\end{longtable}
+
+
+%
+%    Subject/Topic
+%        In a song with lyrics, Subject/Topic is used to record what topics occur in the song's lyrics.
+%    Temporal Coverage
+%        The Temporal Coverage meta data is used to record a named time period relevant to the item being cataloged.
+%    Geographical Coverage
+%        The Geographical Coverage element is used for general terms that describe geographical coverage.
+%    Geographic Code
+%        Geographic Code refers to a geographic area code associated with the resource. The code should represent the same entity as a term described by the Geographic field.
+%    Referenced Title
+%        The Referenced Title is the title of another printed material that occurs in the lyrics.
+%    Subject Genre
+%        The Subject Genre refers to a genre or form used as part of a subject string when the subject authority distinguishes parts of the subject string (e.g. LCSH).
+%    Referenced Name
+%        Referenced Name is used to record a personal or corporate name that is the subject of a song's lyrics.
+%    Subject Occupation
+%        Subject Occupation is used to record the occupation of the name referenced in the lyrics.
+%    Hierarchical Geographic
+%        The following elements describe geographic information in a hierarchical form:
+%
+%        Continent
+%            Continent describes the continent on which a named place in the lyrics is located.
+%        Country
+%            Country describes the country in which a named place in the lyrics is located.
+%        Province
+%            Province describes the province in which a named place in the lyrics is located.
+%        Region
+%            Region describes the region in which a named place in the lyrics is located.
+%        State
+%            State describes the state in which a named place in the lyrics is located.
+%        Territory
+%            Territory describes the territory in which a named place in the lyrics is located.
+%        County
+%            County describes the county in which a named place in the lyrics is located.
+%        City
+%            City describes the city in which a named place in the lyrics is located.
+%        Island
+%            Island describes the island on which a named place in the lyrics is located.
+%        Area
+%            Area describes the area in which a named place in the lyrics is located.
+
+
+%\newpage
+\subsubsection{Identification Numbers}
+\label{LiUsMeId}
+\begin{longtable}{p{0.22\textwidth} c p{0.28\textwidth} p{0.40\textwidth}}
+Tag & & value examples & description\\
+\hline
+\Tag{plateNumber}{I have no clue.}{The Sheet Music Consortium adopts the AACR2 definition of a sheet music plate number, as distinct from the publisher number: "A numbering designation assigned to an item by a music publisher, usually printed at the bottom of each page, and sometimes appearing also on the title page. It may include initials, abbreviations, or words identifying a publisher and is sometimes followed by a number corresponding to the number of pages or plates."}\\
+\Tag{publisherNumber}{Still no clue}{The Sheet Music Consortium adopts the AACR2 definition of a sheet music publisher number, as distinct from the plate number: "A numbering designation assigned to an item by a music publisher, appearing normally only on the title page, the cover, and/or the first page of music. It may include initials, abbreviations, or words identifying the publisher."}\\
+\Tag{catalogNumber}{BWV31029}{An identifying number for a musical composition assigned by the composer, publisher or researcher. Bach-Werksverzeichnis for example.}\\
+\Tag{callNumber}{No clue again}{An institution's local identifier indicating the physical location of the item within the collection.}\\
+\Tag{otherIdentifier}{Dunno, 1234 maybe?}{Any numbering/naming designation used to identify an item within a collection that is distinct from plate number, publisher number, catalog number, or call number.}\\
+\end{longtable}
+
+%\newpage
+\subsubsection{Relational Identifier}
+\label{LiUsMeRe}
+\begin{longtable}{p{0.22\textwidth} c p{0.28\textwidth} p{0.40\textwidth}}
+Tag & & value examples & description\\
+\hline
+\Tag{precedingItem}{ADKB-34}{Identifier for a related item that is the immediate predecessor of the resource in a chronological relationship. Normally used for continuing resources such as serial publications.}\\
+\Tag{suceedingItem}{ADKB-36}{Identifier for a related item that is the immediate successor of the resource in a chronological relationship. Normally used for continuing resources such as serial publications.}\\
+\Tag{originalItem}{ADKB-35}{Identifier for the original item from which the resource was derived.}\\
+\Tag{hostItem}{ADKB}{Identifier of the host item for the constituent unit in a vertical relationship. This information allows users to locate the physical piece that contains the component part described in the record.}\\
+\Tag{constitutentItem}{no clue}{Identifier of a constituent part that has been described separately. This information allows users to located a related unit of the resource, particularly when it has been physically separated from the item of which it is considered a part.}\\
+\Tag{\hspace*{-10pt}\hfill otherVersionOfItem}{CVLB-68}{Identifier of a related version of the resource described in the record, such as translation in another language.}\\
+\Tag{\hspace*{-10pt}\hfill otherFormatOfItem}{ADKB-35--4-voices}{Identifier of a different format of the resource described in the record, such as a microform reproduction.}\\
+\end{longtable}
+
+
+\subsubsection{Notes/Description}
+\label{LiUsMeNotedescription}
+\begin{tabular}{p{0.22\textwidth} c p{0.28\textwidth} p{0.40\textwidth}}
+Tag & & value examples & description\\
+\hline
+\Tag{notes}{There exist contradicting orders for the strophes 2 and 3. This version sticks to the one published in Riedingers Gesangsbuch; Line three contains a typo, that was in the original.}{Any notes, that don't fit anywhere else. The "Notes" meta data is used to record information that supplements information in the rest of the meta data record.}\\
+\Tag{description}{A song about friendship, beer and wanderlust.}{A general description.}\\
+\end{tabular}
+
+
+\subsubsection{Date Information}
+\label{LiUsMeDa}
+\begin{tabular}{p{0.22\textwidth} c p{0.28\textwidth} p{0.40\textwidth}}
+Tag & & value examples & description\\
+\hline
+\Tag{date}{1631}{"Date" meta data holds the date an item was copyrighted or published. }\\
+\Tag{dateOfWork}{1630-12-31}{The "Date of Work" records the date the piece of music was written.}\\
+\end{tabular}
+
+\subsubsection{Language}
+\label{LiUsMeLa}
+\begin{tabular}{p{0.22\textwidth} c p{0.28\textwidth} p{0.40\textwidth}}
+Tag & & value examples & description\\
+\hline
+\Tag{language}{deu}{Use "Language" to record the language of the lyrics of the item being cataloged. Either i.e. German oder the ISO 639-3 code.}\\
+\end{tabular}
+
+
+
+\subsubsection{Type of Resource}
+\label{LiUsMeTy}
+\begin{tabular}{p{0.22\textwidth} c p{0.28\textwidth} p{0.40\textwidth}}
+Tag & & value examples & description\\
+\hline
+\Tag{typeOfResource}{notated music}{There seems to be a definition in the AACR2. But it is not open. So I can't provide other values here.}\\
+\end{tabular}
+
+
+\subsubsection{Publication Meta Data - Origin Info}
+\label{LiUsMeOr}
+\begin{longtable}{p{0.22\textwidth} c p{0.28\textwidth} p{0.40\textwidth}}
+Tag & & value examples & description\\
+\hline
+\Tag{publisherName}{Guthenbergs Kommersbuchdruckerei}{Those responsible for the physical production and dissemination, of the resource.}\\
+\Tag{publisherPlace}{Heidelberg}{The name of the place where a resource has been published.}\\
+\Tag{placePublished}{Leipzig}{Where it had been published. i.e. Leipziger Buchmesse $\rightarrow$ Leipzig}\\
+\Tag{publisher}{Verlag Arnold Schönberg - Weimar}{Name of the publisher.}\\
+\Tag{placePublisher}{Weimar}{Where the publisher is located.}\\
+\Tag{dateIssued}{1841-08-01}{When it had been published.}\\
+\Tag{copyrightDate}{1841}{The year relevant for copyright and its expiration.}\\
+\Tag{dateCreated}{1840-04-03}{When the work had been made. This must be some date prior to publishing.}\\
+\Tag{dateModified}{1842-10-03, 1848-06-02}{If a work underwent some modifications like fixing typos.}\\
+\Tag{dateValid}{1947}{Works with limited validity. i.e. phone books, pharamceutical drug lists. Can be for example also the expiration of the copyright.}\\
+\Tag{otherDate}{1848, 1870-09-02}{Other relevant dates, which may be mentioned in a work or where the work has been used in a notable way}\\
+\Tag{edition}{3}{In cases of reprints, it specifies, which edition this had been taken from.}\\
+\end{longtable}
+
+
+
+
+
+
+
+
+
+\subsubsection{Physical Description}
+\label{LiUsMePh}
+\begin{tabular}{p{0.22\textwidth} c p{0.28\textwidth} p{0.40\textwidth}}
+Tag & & value examples & description\\
+\hline
+\Tag{formMedium}{book}{In what medium had this been published in. Book, leaflet, brochure, single page;}\\
+%\Tag{extent}{no clue}{Beschreibung}\\
+%\Tag{internetMediaType}{traditional}{Beschreibung}\\
+\Tag{\hspace*{-45pt}\hfill physicalDescriptionNote}{Original lost in fire}{Can be any useful information about the original copy.}\\
+\end{tabular}
+
+
+\subsubsection{Abstract}
+\label{LiUsMeAb}
+\begin{tabular}{p{0.22\textwidth} c p{0.28\textwidth} p{0.40\textwidth}}
+Tag & & value examples & description\\
+\hline
+\Tag{abstract}{This is a famous folksong, written down in 1843 by Hans Eicher. It gained popularity during the 1848 revolution and in the 1870/71 war.}{An abstract, if needed or wished.}\\
+\end{tabular}
+
+\subsubsection{Table of Contents}
+\label{LiUsMeTa}
+\begin{tabular}{p{0.22\textwidth} c p{0.28\textwidth} p{0.40\textwidth}}
+Tag & & value examples & description\\
+\hline
+\Tag{tableOfContents}{%
+\begin{enumerate}
+\item Intro
+\item Sailor songs
+\item Hiking songs
+\item Drinking songs
+\item Hooligan songs
+\item Wedding songs
+\begin{enumerate}
+\item If the bride is beautiful
+\item If the bridesmaids are beautiful
+\end{enumerate}
+\item Again drinking songs
+\end{enumerate}
+}{The table of contents}\\
+\end{tabular}
+
+\subsubsection{Instrumentation}
+\label{LiUsMeIn}
+\begin{tabular}{p{0.22\textwidth} c p{0.28\textwidth} p{0.40\textwidth}}
+Tag & & value examples & description\\
+\hline
+\Tag{instrumentation}{chamber orchestra}{A meaningful and well established value about the instrumentation of the piece.}\\
+\end{tabular}
+
+
+\subsubsection{Cartographics}
+\label{LiUsMeCa}
+This part is only for completeness. The original ressource, where this is from isn't available any more. Therefor a complete citation is not possible.
+
+\begin{longtable}{p{0.22\textwidth} c p{0.28\textwidth} p{0.40\textwidth}}
+Tag & & value examples & description\\
+\hline
+\Tag{scale}{1:200000}{Scale is used to capture the ratio between actual size and a representation of size.}\\
+\Tag{projection}{Merkaartor}{Projection describes the method of representing the surface of a sphere or other shape on a plane.}\\
+\Tag{coordinates}{45.123,-30.543,48.321,-29.345}{The Coordinates element refers to the geographical coordinates of the bounding box covered by the resource.}\\
+\end{longtable}
+
+
+\subsubsection{Classification}
+\label{LiUsMeCl}
+\begin{tabular}{p{0.22\textwidth} c p{0.28\textwidth} p{0.40\textwidth}}
+Tag & & value examples & description\\
+\hline
+\Tag{\hspace*{-40pt}\hfill classificationSchema}{\LaTeX -Liederbuch-Schema}{Classification is used to document the class number for the resource, according to a standard scheme like RDA, MARC 21, LCC, LCSH or DDC.}\\
+\end{tabular}
+
+
+
+
+
+
+\subsubsection{Location Info}
+\label{LiUsMeLo}
+\begin{tabular}{p{0.22\textwidth} c p{0.28\textwidth} p{0.40\textwidth}}
+Tag & & value examples & description\\
+\hline
+\Tag{url}{\url{https://de.wikisource.org/wiki/Allgemeines_Deutsches_Kommersbuch:122}}{The URL field contains a URL that can be used to access the resource.}\\
+\Tag{\hspace*{-40pt}\hfill bibliographicCitation}{Gaudeamus igitur; Allgemeines Deutsches Kommersbuch, Seite 270; Friedrich Silcher, Friedrich Erk; Moritz Schauenburg; 1858; Lahr}{The Bibliographic Citation field contains the bibliographic citation for the resource.}\\
+\Tag{shelfLocation}{3AC/F-K}{Shelf Location is used to record the shelf designation number for the resource.}\\
+\Tag{physicalLocation}{Heimatmuseum, Kudamm~31, Berlin; Building~3/A; 3.~Floor}{Physical Location refers to the institution or repository where the resource is held.}\\
+\end{tabular}
+
+
+
+
+
+
+
+
+
+
+%\subsubsection{?Access Condition}
+%\label{LiUsMeAc}
+%Access Condition is used to record information about restrictions on who may use the resource.
+%
+%Record Info
+%
+%The following fields can be used to capture information necessary for managing the meta data associated with the resource:
+%
+%
+%Record Content Source
+%
+%Record Content Source identifies the name of the organization/person who created the resource record.
+%
+%
+%Record Identifier
+%
+%The Record Identifier is used to record the identification number for the record.
+%
+%
+%Record Description Standard
+%
+%The Record Description Standard is used to identify the content standard to which the record conforms.
+
+\newpage
+\subsection{How it works}
+\begin{itemize}
+\item[] \ref{LiHoBu} \nameref{LiHoBu}
+\item[] \ref{LiHoUs} \nameref{LiHoUs}
+\item[] \ref{LiHoTh} \nameref{LiHoTh}
+\end{itemize}
+
+\subsubsection{Building a Songbook}
+\label{LiHoBu}
+The first part contains only a some constants. Currently only the \verb+\repeatleft+ and \verb+\repeatright+, which contain the repeat sign meant to be used in strophes:
+\begin{lstlisting}[numbers=none]
+   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+   %%% Special music characters %%%
+   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+   
+   [...]
+	
+    
+\end{lstlisting}
+
+Handling of meta data:
+\begin{lstlisting}[numbers=none]
+   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+   %%% Handling of the meta data %%%
+   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+   
+   \def\GFM at LB@unpackage...
+\end{lstlisting}
+This command stores the meta data to command sequences. The meta data items can be given as an argument in the Lied environment. \verb+\GFM at LB@unpackage+ loops over the meta data argument of the \verb+Lied+- and \verb+Liederbuch+-environment. For every pair of variable name and value, \verb+\GFM at LB@unpackage+ creates a \LaTeX variable with the value content. Each meta data ist stored to a command sequence in the format:
+\begin{lstlisting}[numbers=none]
+   \GFM at LB@lied@<songbook>@<song variant>@<song number>@<meta data name>
+\end{lstlisting}
+For the songbook ''Folksongs'', songnumber ''5'', variant ''choral'' and variable name ''composer'', the \LaTeX variable would look like this:
+\begin{lstlisting}[numbers=none]
+   \GFM at LB@lied at Folksongs@choral at 5@composer
+\end{lstlisting}
+It could expand to ''Frederic McCormick'' (assuming this is the composer). This mechanism is only internally relevant. To use this variable fine and easily, there is the \verb+\print{<variable name>}+ command (see farther down).
+
+Since the equals sign is not available in the meta data, it is made available again with the \verb+\equals+ command, which just expands to an equals sign.
+
+If a song has wrong meta data, an entry is missing or any other reason, you can edit specific meta data entries. The better option is to edit the song book. But if this may not be possible for whatever reason, you can use this command:
+\begin{lstlisting}[numbers=none]
+   \tweakMetadata{<songbook>}{<song number>}{<variant>}{<meta data}
+\end{lstlisting}
+
+One of the most important core parts of the package is the arrangement of syllables below the notes:
+\begin{lstlisting}[numbers=none]
+   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+   %%% Environment and commands for        %%%
+   %%% notes + lyrics in native LaTeX font %%%
+   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+   [...Constants...]
+
+   \def\songLyrics[<length> default = \linewdith]{
+      [...]
+      \def\nspace[*]{<some length or number>}
+      \def\ns[*][<some length or number>]
+      [...]
+   }%
+\end{lstlisting}
+\verb+\songLyrics+ creates a \verb+\makebox[<length>]{notes}+ with two commands inside: \verb+\ns[*]+ and \verb+\nspace[*]+. \verb+\nspace[*]+ behaves exactly the same as \verb+\hspace[*]+ with the option for starred command, but unlike \verb+\hspace+ it also accepts no dimension unit. If no unit is given, it is translated to percent \verb+\linewidth+. \verb+\ns+ behaves like \verb+\hfill+ and is able to shift the next sillable by an optional offset. The star inserts a dash between the sillables. i.e. \verb+\ns*[-3]+ separates two sillables with a dash in between und shifts the second sillable \verb+0.03\linewidth+ to the left:
+\begin{lstlisting}[numbers=none]
+   {See \ns here \ns the \ns be \ns* gin \ns* ning}
+\end{lstlisting}\vskip -8pt\relax
+\verb+   +\parbox{0.8\linewidth}{%
+\vskip -3pt\relax
+becomes
+\vskip 5pt\relax
+\fbox{\makebox[0.4\linewidth]{%
+See\hfill ~\hfill here\hfill ~\hfill the\hfill ~\hfill be\hfill -\hfill gin\hfill -\hfill ning%
+}%makebox
+}%fbox
+}%parbox
+
+\verb+\notenzeile+ is a user command and combines the score image (notation) and the song lyrics. It takes two arguments. One graphic (the notes) and text below the notes. The text below simply calls \verb+\GFM at LB@songLyrics+. As there are songs, that have more than one strophe below the notes, up to 6 are optional. It is 6 times the same. To hold everything together, the whole \verb+\notenzeile+ is inside a minipage:
+\begin{lstlisting}[numbers=none]
+   \notenzeile{O{\linewidth} m m O{\empty} O{\empty} O{\empty} O{\empty} O{\empty}}{%
+\end{lstlisting}
+
+\begin{lstlisting}[numbers=none, breaklines=false]
+   \multiline}{m m m O{\empty} O{\empty} O{\empty} O{\empty}}{%
+\end{lstlisting}
+\verb+\multiline+ can fit more than one line into one line. It is used, if only a part of a line has more than one text line. It is basically a few \verb+\makebox+es stacked above each other inside a parbox.
+
+Force page break is a very usefull function and pretty simple. It defines a list of numbers, if the current stave line / strophe equals one of the numbers a page break is added:
+\begin{lstlisting}[numbers=none]
+   \forcePageBreakAfterStaveLine{<number>}[<n.>][<n.>][<n.>][<n.>][<n.>]
+\end{lstlisting}
+\begin{lstlisting}[numbers=none]
+   \forcePageBreakAfterStrophe{<number>}[<n.>][<n.>][<n.>][<n.>][<n.>]
+\end{lstlisting}
+Up to 6 page breaks within one song are possible. That should be enough as it is highly unlikely, that a song spans over more than 6 pages. If it does, please open an issue and show me. I'm highly interested.
+
+Strophe is a simple environment that provides a numbering at the beginning based on a \verb+\stepcounter+. It groups mostly the spacing and holds the strophes together:
+\begin{lstlisting}[numbers=none]
+   \begin{strophe}[<set strophe number to x>]
+   This is the strophe text.
+   Sing sing sing.
+   Line breaks disappear.
+   I want to create an option for that.
+   \end{strophe}
+\end{lstlisting}
+
+The spacing constists of set-commands, stored values and the use commands (no prefix/suffix):
+\begin{lstlisting}[numbers=none]
+  %%%%%%%%%%%%%%%
+  %%% Spacing %%%
+  %%%%%%%%%%%%%%%
+
+  %%% Head
+  \def\setSpaceBeforeHeadValue#1{\def\spaceBeforeHeadValue{#1}}
+  \def\setSpaceAfterHeadValue#1{\def\spaceAfterHeadValue{#1}}
+
+  %%% Notes
+  \def\setSpaceBeforeNotesValue#1{\def\spaceBeforeNotesValue{#1}}
+  \def\setSpaceAfterNotesValue#1{\def\spaceAfterNotesValue{#1}}
+
+  %%% Strophes
+  \def\setSpaceBeforeStropheValue#1{\def\spaceBeforeStropheValue{#1}}
+  \def\setSpaceAfterStropheValue#1{\def\spaceAfterStropheValue{#1}}
+
+  %%% Song lyrics
+  \def\setSpaceBeforeSongLyricsValue#1{\def\spaceBeforeSongLyricsValue{#1}}
+  \def\setSpaceBetweenSongLyricsValue#1{\def\spaceBetweenSongLyricsValue{#1}}
+  \def\setSpaceAfterSongLyricsValue#1{\def\spaceAfterSongLyricsValue{#1}}
+
+  %%% Foot
+  \def\setSpaceBeforeFootValue#1{\def\spaceBeforeFootValue{#1}}
+  \def\setSpaceAfterFootValue#1{\def\spaceAfterFootValue{#1}}
+
+
+\end{lstlisting}
+
+\begin{lstlisting}[numbers=none]
+   %%% Horizontal spacing
+   \def\setSpaceStropheIndentValue#1{\def\spaceStropheIndentValue{#1}}
+   \def\setSpaceHeadIndentValue#1{\def\spaceHeadIndentValue{#1}}
+   \def\setSpaceFootIndentValue#1{\def\spaceFootIndentValue{#1}}
+\end{lstlisting}
+
+Convert the space values into skips:
+\begin{lstlisting}[numbers=none]
+   %%% Arranging the space values
+   \def\spaceBeforeHead{\vskip\spaceBeforeHeadValue\relax\noindent\mbox{}\hskip\spaceHeadIndentValue\mbox{}}
+
+   \def\spaceAfterHead{\relax\vskip\spaceAfterHeadValue\relax}
+
+   \def\spaceBeforeNotes{\relax\vskip\spaceBeforeNotesValue\relax}
+
+   [...rest works analogously...]
+\end{lstlisting}
+
+\newpage
+These commands save the definition of the header and footer for each song. They also implicitly arrange the spacing in the header and footer:
+\begin{lstlisting}[numbers=none]
+   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+   %%% Styling of header and footer %%%
+   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+   \newcommand{\LBHead}[1]{%
+   \long\def\GFM at LB@Head{\spaceBeforeHead #1\relax\spaceAfterHead\mbox{}}%
+   }%
+
+   \newcommand{\LBFoot}[1]{%
+   \long\def\GFM at LB@Foot{\spaceBeforeFoot #1\relax\spaceAfterFoot}%
+   }%
+\end{lstlisting}
+
+\verb+Liederbuch+ and \verb+Lied+ are the environments that create the songbooks and store each song in a command sequence. Every song is stored this way in Latex:
+\begin{lstlisting}[numbers=none]
+   \liedBody;<songbook>;<song variant>;<number>
+\end{lstlisting}\vskip -5pt\relax
+The \verb+Lied+ environment also stores each meta data value in an command sequence by calling the \verb+\GFM at LB@unpackage+ command:
+\begin{lstlisting}[numbers=none]
+   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+   %%% Environments for creating  %%%
+   %%% the songbooks (liederbuch) %%% 
+   %%% and the songs (lied)       %%%
+   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+   %Liederbuch environment
+   \NewEnviron{liederbuch}[2][]{%
+   \def\GFM at LB@LiederbuchNameTmp{#2}%
+   %%Lied environment %cslet
+   \NewEnviron{lied}[3][]{% 
+   %##1=meta data ##2=variant ##3=nummer
+   \def\GFM at LB@LiederbuchVariantTmp{##2}%
+   \def\GFM at LB@LiederbuchNumberTmp{##3}%
+   \GFM at LB@unpackage{##1}%
+   \GFM at LB@unpackage{#1}%
+   \global\cslet{liedBody;\GFM at LB@LiederbuchNameTmp;##2;##3}\BODY%
+   }%
+   \BODY% Without this, the command sequences inside the environment won't be defined. That means, the whole content of the songbook (Liederbuch) is thrown away.
+   }
+\end{lstlisting}
+
+
+\subsubsection{Using a Songbook}
+\label{LiHoUs}
+With the command
+\begin{lstlisting}[numbers=none]
+   \usepackage{../path/to/songbook.sty}
+\end{lstlisting}
+you include a songbook. This automatically stores the content of the songs at loading time as described in the previous section. Now every song body is stored in a \LaTeX\ macro. Each meta data element is also stored in a \LaTeX\ macro. We need this later. When you call a song with the command:
+\begin{lstlisting}[numbers=none]
+   \LBsong{<songbook name>}{<song number>}{<variant>}
+\end{lstlisting}
+i.e.
+\begin{lstlisting}[numbers=none]
+   \LBsong{exampleSongs}{23}{nt}
+\end{lstlisting}
+It calls itself a series of macros:
+\begin{lstlisting}[numbers=none]
+   %<setting some values>
+   \NewDocumentCommand{\print}{O{\empty} m}{%
+       [...]
+   }%
+   \GFM at LB@Head%
+   %<setting some values>
+   %%%%%%%%%%%%%%%%%%%%%%%%%%
+   \csuse{liedBody;#2;#1;#3}%
+   %=\liedBody;<songbook>;<song variant>;<number>
+   %%%%%%%%%%%%%%%%%%%%%%%%%%
+   %<setting some values>
+   \GFM at LB@Foot
+\end{lstlisting}
+As you see, it basically puts together head, body and foot. \verb+\GFM at LB@Head+ and \verb+\GFM at LB@Foot+ only contain the format of the head and foot. Inside these commands, the parameters songbook, song variant and number are available, therefore the correct meta data, like the correct title, author, etc. is automatically selected, when the \verb+\print+ command is used (see the example on page \pageref{LiUsCrEx} and also \ref{LiHoTh} \nameref{LiHoTh} \vpageref{LiHoTh})
+
+\newpage
+\subsubsection{Themes}
+\label{LiHoTh}
+For creating a theme, you can currently only define the style of the head and the foot of a song.
+
+The principle is very simple. In 
+\begin{lstlisting}[numbers=none]
+   \LBHead
+\end{lstlisting}
+and
+\begin{lstlisting}[numbers=none]
+   \LBFoot
+\end{lstlisting}
+a format for the head is defined and stored (with some spacing) into
+\begin{lstlisting}[numbers=none]
+   \GFM at LB@Head
+\end{lstlisting}
+For the foot it is stored into
+\begin{lstlisting}[numbers=none]
+   \GFM at LB@Foot
+\end{lstlisting}
+
+Inside them the \verb+\print{<meta data name>}+ is used. It is not defined there and expanding it would result in an undefined-error. But it is defined inside \verb+\LBsong+, where \verb+\GFM at LB@Head+ and \verb+\GFM at LB@Foot+ are called. There it is expanded. Inside the \verb+\LBsong+ songbook, song variant and song number are available and put together to the command sequence, that expands to the correct meta data value (see section \ref{LiHoUs} \nameref{LiHoUs}). The rest of the head and foot definitions are usual \TeX commands. 
+
+For the future, there shall be a marker, if a song had been broken inside the notes or inside the strophas. Depending on the marker, background images can be selected. But this is only an idea yet.
+
+\subsubsection{printliederbuch}
+The principle of this package is very simple. Before the songbook is loaded, the environments \verb+Liederbuch+ and \verb+Lied+ are redefined. The whole meta data is put into a table, the content of the songbooks is just put into a command sequence, which is called in the document.
+
+
+\chapter{Liederheft-Class}
+This is hardly finished yet. It shall be based on the koma-book class, provide a class itself, but I think, this is a bad idea anyway and I will ditch it. The plan exists, let's see, for how long.
+
+\section{Basics}
+No text yet. Just guess it.
+
+\section{What The Package Uses}
+\begin{itemize}
+\item scrbook\\
+This is the class, which the Liederheft is based on.
+\item[]
+\end{itemize}
+
+\section{User Commands}
+Just read the manual. Oh, this is the manual. How unfortunate.
+
+\section{How it works}
+Not at all yet. Maybe it never will.
+
+
+
+
+
+
+\chapter{Known bugs and problems}
+\section{Undefined control sequence $\backslash OT$}
+undefined control sequence \verb+\OT+ maybe caused by ß in meta data. A simple workaround is to use \verb+\def\OT#11{}+ in the preamble.
+
+\section{Spacing}
+If there is used plus and/or minus in spacing, this (might) result in extra space. The origin is unknown yet.
+
+\chapter{Bug reports}
+Nothing to say here. Post an email to \mbox{text\color{white}.\color{black}\hspace*{-7.5pt} inkerer.1904$@$gmail.com}, if you find one. Note:~Copying the mail address will result in a wrong address. This is for spam precautions. You have to type it off your screen. This is a good memory exercise to keep your mind vital a flexible.
+
+
+\section{Revision History}
+\noindent
+\begin{tabular}{l l}
+2017-11-01:& v0.1\\
+2024-12-22:& v1.0
+\end{tabular}
+
+
+\end{document}
+
+\section{Milestones for Version 1.0}
+
+Liederbuch auf liederbuch ändern
+Lied auf lied ändern
+
+\section{Milestones for Version 1.1}
+
+- multilines und mehrfach-Notentext anpassen, dass hier die Abstände zwischen den Strophenzeilen angepasst werden können.
+
+Backgrounds for songs. 4 divisions (fix, stretch, stretch, fix height).
+List may be expanded
+
+
+\section{Before upload}
+
+Pfade aus packages entfernen
+  - Demoprojekt
+  - Test-Liederbuch
+
+  
+Revisionsdatum anpassen
+
+
+\section{Milestones for Version 1.2}
+Remove any references to fill pages and real page
+
+\verse command - Option für page break in Strophen
+
+\subsection{3 Standard designs}
+%\useLiederbuchStyle{}
+
+%\useLiederbuchColor{}
+analog to moderncv
+
+
+\chapter*{Todo}
+
+Fix relative paths. Reference to the containing package.
+
+
+AtBeginDocument isn't executed. This results in the fillPages to not work.
+
+Create custom list listOfSongs
+
+Switch the skips, so fills are allowed. -> Test it
+
+fix bug insertfillpages. There's always at least one page. Why?
+
+IfBoolean instead of ifx for stared command in DeclareDocumentCommand
+
+integrate /@car and /@cdr
+
+/extraSpaceBeforeStrophe{Strophennummer}{pt}
+
+/forcePagebreakBeforeStrophe{Strophennummer}
+
+meta data: what breaks in an edef, is only possible with a triple unexpanded.
+
+
+\section{Compability improvement with different fonts and languages}
+I have plans here. But nothing too specific yet.
+


Property changes on: trunk/Master/texmf-dist/doc/latex/liederbuch/liederbuch-documentation.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/latex/liederbuch/liederbuch.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/liederbuch/liederbuch.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/liederbuch/liederbuch.sty	2025-01-03 22:50:06 UTC (rev 73288)
@@ -0,0 +1,569 @@
+\ProvidesPackage{liederbuch}
+\RequirePackage{etoolbox}
+\RequirePackage{environ}
+\RequirePackage{xparse}
+\RequirePackage{pgfmath}
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%% Special music characters %%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\newcommand{\repeatleft}{\raisebox{-0.28em}{\hspace{0.075em}\rule{0.075em}{1em}\hspace{0.075em}\rule{0.025em}{1em}\hspace{-0.01em}}:}
+\newcommand{\repeatright}{:\raisebox{-0.28em}{\hspace{-0.01em}\rule{0.025em}{1em}\hspace{0.075em}\rule{0.075em}{1em}\hspace{0.075em}}} 
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%% Handling of the meta data %%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%%% parse meta data
+%unpackages a list of data in the form of [first=xy & second = xz& third= som3thing ...]
+%This creates the macros:
+%\GFM at LB@lied@<songbookname>@<song variant>@<song number>@first{xy}
+%\GFM at LB@lied@<songbookname>@<song variant>@<song number>@second{xz}
+%\GFM at LB@lied@<songbookname>@<song variant>@<song number>@third{som3thing}
+%...
+\NewDocumentCommand{\GFM at LB@unpackage}{m}{{%
+	%As	'=' is not available in the tag text, we make it available again. & stays available via \&
+	\gdef\equals{=}%
+	\@ifundefined{inputList}{%
+		\DeclareListParser{\inputList}{&}%
+	}{}%
+	%
+	%
+	%
+	{%
+	\newcount\ipp\relax%
+	\ipp=0\relax%
+	\renewcommand{\do}[1]{%
+		\csdef{tempList\the\ipp}{##1&}%
+		\global\advance\ipp by1\relax%
+	}%
+	\inputList{#1}%
+	\def\choppyA##1=##2&{##1}%
+	\def\choppyB##1=##2&{##2}%
+	\newif\iflooping\relax%
+	\loopingtrue\relax%
+	\ipp=0\relax%
+	\loop%
+		\ifnum\ipp>1000\relax%
+			\loopingfalse\relax%
+			\wlog{Error: Too much meta data (>1000 Elements)}%
+		\fi%
+		\expandafter\ifx\csname tempList\the\ipp\endcsname\relax%
+			\loopingfalse\relax%
+		\else%
+			\edef\temp{\csuse{tempList\the\ipp}}%
+			\edef\tempA{\expandafter\choppyA\temp}%
+			\edef\tempB{\expandafter\choppyB\temp}%
+			\trim at spaces@in{\tempA}%
+			\trim at spaces@in{\tempB}%
+			%
+			%Most important line is here:
+			%
+			\global\csedef{GFM at LB@lied@\GFM at LB@LiederbuchNameTmp @\GFM at LB@LiederbuchVariantTmp @\GFM at LB@LiederbuchNumberTmp @\tempA}{\expandafter\noexpand\tempB}%songbook at song variant at song number
+			\advance\ipp by1\relax%
+		\fi%
+	\iflooping\repeat%
+	}%
+}}%
+
+
+%tweakMetadata allows completing or editing meta data of a certain song.
+\def\tweakMetadata#1#2#3#4{{%structure is analogue to \LBsong
+	\def\GFM at LB@LiederbuchNameTmp{#1}%songbook
+	\def\GFM at LB@LiederbuchNumberTmp{#2}%song number
+	\def\GFM at LB@LiederbuchVariantTmp{#3}%song variant
+	\GFM at LB@unpackage{#4}%
+}}%
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%% Environment and commands for        %%%
+%%% notes + lyrics in native LaTeX font %%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\newdimen\GFM at LB@NT at tempDimA%
+\newdimen\GFM at LB@NT at tempDimB%
+\newdimen\GFM at LB@NT at tempDimC%
+
+
+\newcommand{\GFM at LB@songLyrics}[1]{%
+	\vskip 0pt%backwards compability
+	\nopagebreak[4]%
+	{% make commands local
+		\nopagebreak[4]%
+		\GFM at LB@NT at tempDimA=0pt%	
+		\noindent%
+		%If no unit is given (i.e. [10] instead of [10pt]),
+		%percent linewidth is assumed ([10] = 0.1\linewidth)
+		\DeclareDocumentCommand{\nspace}{s m}{%
+			\pgfmathparse{##2}%
+			\ifpgfmathunitsdeclared%
+				\ifx##1\BooleanTrue%
+					\hspace*{##2}%
+				\else%
+					\hspace{##2}%
+				\fi%
+			\else%
+				\GFM at LB@NT at tempDimC=0.01\linewidth\relax%
+				\ifx##1\BooleanTrue%
+					\hspace*{##2\GFM at LB@NT at tempDimC}%
+				\else%
+					\hspace{##2\GFM at LB@NT at tempDimC}%
+				\fi%
+			\fi%
+		}%
+		\DeclareDocumentCommand{\ns}{s O{0 pt}}{%
+			\pgfmathparse{##2}%
+			\ifpgfmathunitsdeclared%
+				\GFM at LB@NT at tempDimB=\dimexpr##2\relax%
+			\else%
+				\GFM at LB@NT at tempDimB=##2\linewidth\relax%
+				\divide\GFM at LB@NT at tempDimB by 100\relax%
+			\fi%
+			\ifx##1\BooleanTrue%
+			{%
+				\divide\GFM at LB@NT at tempDimA by2\relax%
+				\divide\GFM at LB@NT at tempDimB by2\relax%
+				\hskip 0pt plus 1fill minus 1fill\relax%
+				\hspace{\dimexpr\GFM at LB@NT at tempDimB - \GFM at LB@NT at tempDimA}%
+				-%
+				\hspace{\dimexpr\GFM at LB@NT at tempDimB - \GFM at LB@NT at tempDimA}%
+				\hskip 0pt plus 1fill minus 1fill\relax%
+			}%
+			\else%
+				\hspace*{0.5\dimexpr\f at size pt}%
+				%compensates the - in ns* (not totally)
+				\hskip 0pt plus 2fill minus 2fill%
+				\hspace{\dimexpr\GFM at LB@NT at tempDimB - \GFM at LB@NT at tempDimA}%
+			\fi%
+			\global\GFM at LB@NT at tempDimA=\dimexpr\GFM at LB@NT at tempDimB\relax%
+		}%\ns
+		%%%%%%%%%% most important line is here:
+		\makebox[\linewidth]{%
+		\GFM at LB@NT at tempDimC=\dimexpr\f at size pt\relax%
+%		\parbox[t][0.5\GFM at LB@NT at tempDimC]{0pt}{}%	orig. statt 0.5 war 1.65
+		#1}%
+		%%%%%%%%%% most important line END
+		\GFM at LB@NT at tempDimA=0pt%
+		%reset to avoid sideeffects otherwhere.
+		\pagebreak[3]%
+	}% END make commands local
+	\pagebreak[3]%	
+	\vskip 0pt\relax%backward compatibility?
+}%
+
+\newdimen\tempdimA%
+
+\newcounter{staveLineNumber}%
+\setcounter{staveLineNumber}{1}%
+
+\newcounter{GFM at staveLineNumberBreakPointA}%
+\newcounter{GFM at staveLineNumberBreakPointB}%
+\newcounter{GFM at staveLineNumberBreakPointC}%
+\newcounter{GFM at staveLineNumberBreakPointD}%
+\newcounter{GFM at staveLineNumberBreakPointE}%
+\newcounter{GFM at staveLineNumberBreakPointF}%
+
+
+%usage: \forcePageBreakAfterStaveLine{3}[4][2]...
+\NewDocumentCommand\forcePageBreakAfterStaveLine{m O{0} O{0} O{0} O{0} O{0}}{
+\setcounter{GFM at staveLineNumberBreakPointA}{#1}
+\setcounter{GFM at staveLineNumberBreakPointB}{#2}
+\setcounter{GFM at staveLineNumberBreakPointC}{#3}
+\setcounter{GFM at staveLineNumberBreakPointD}{#4}
+\setcounter{GFM at staveLineNumberBreakPointE}{#5}
+\setcounter{GFM at staveLineNumberBreakPointF}{#6}
+}
+
+
+\NewDocumentCommand\notenzeile{O{\linewidth} m m O{\empty} O{\empty} O{\empty} O{\empty} O{\empty}}{%
+	{%
+		%Multilines
+		\ifx\multiline\undefined%
+			\NewDocumentCommand{\multiline}{m m m O{\empty} O{\empty} O{\empty} O{\empty}}{%
+				\parbox[c]{##1}{%
+					\newdimen\temp%
+					\temp=\dimexpr\f at size pt%				
+					\vskip 0.27\temp\relax%
+					\makebox[\linewidth]{##2}%
+					\spaceBetweenSongLyrics%
+					\makebox[\linewidth]{##3}%
+					\ifx##4\empty%
+					\else%
+						\spaceBetweenSongLyrics%
+						\makebox[\linewidth]{##4}%
+					\fi%
+					\ifx##5\empty%
+					\else%
+						\spaceBetweenSongLyrics%
+						\makebox[\linewidth]{##5}%
+					\fi%
+					\ifx##6\empty%
+					\else%
+						\spaceBetweenSongLyrics%
+						\makebox[\linewidth]{##6}%
+					\fi%
+					\ifx##7\empty%
+					\else%
+						\spaceBetweenSongLyrics%
+						\makebox[\linewidth]{##7}%
+					\fi%
+%					\vskip 0.27\temp%%
+				}%
+			}%
+		\fi% multiline undefined?
+		%
+		\noindent%
+		\begin{minipage}{#1}%
+			\relax%
+			\spaceBeforeNotes%
+			\makebox[\linewidth]{#2}%
+			\relax\mbox{}\spaceAfterNotes%
+			\spaceBeforeSongLyrics%
+			\GFM at LB@songLyrics{#3}%
+			\ifx#4\empty%
+			\else%
+				\spaceBetweenSongLyrics%
+				\GFM at LB@songLyrics{#4}%
+			\fi%
+			\ifx#5\empty%
+			\else%
+				\spaceBetweenSongLyrics%
+				\GFM at LB@songLyrics{#5}%
+			\fi%
+			\ifx#6\empty%
+			\else%
+				\spaceBetweenSongLyrics%
+				\GFM at LB@songLyrics{#6}%
+			\fi%
+			\ifx#7\empty%
+			\else%
+				\spaceBetweenSongLyrics%
+				\GFM at LB@songLyrics{#7}%
+			\fi%
+			\ifx#8\empty%
+			\else%
+				\spaceBetweenSongLyrics%
+				\GFM at LB@songLyrics{#8}%
+			\fi%
+			\spaceAfterSongLyrics%
+		\end{minipage}\vskip0pt%
+			\ifnum\c at GFM@staveLineNumberBreakPointA=\c at staveLineNumber\relax%
+			\newpage%
+		\fi%
+		\ifnum\c at GFM@staveLineNumberBreakPointB=\c at staveLineNumber\relax%
+			\newpage%
+		\fi%
+		\ifnum\c at GFM@staveLineNumberBreakPointC=\c at staveLineNumber\relax%
+			\newpage%
+		\fi%
+		\ifnum\c at GFM@staveLineNumberBreakPointD=\c at staveLineNumber\relax%
+			\newpage%
+		\fi%
+		\ifnum\c at GFM@staveLineNumberBreakPointE=\c at staveLineNumber\relax%
+			\newpage%
+		\fi%
+		\ifnum\c at GFM@staveLineNumberBreakPointF=\c at staveLineNumber\relax%
+			\newpage%
+		\fi%
+		\stepcounter{staveLineNumber}%Counter for the current stave line
+	}%
+}
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%% Environment for strophes %%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+%%% Control of the page break in strophes
+\newif\ifpageBreakAllowed
+\pageBreakAllowedfalse %default
+\newlength{\GFM at LB@indent at temp@length}
+
+\newcounter{GFM at strophe@counter}
+\setcounter{GFM at strophe@counter}{-1}
+
+\newcounter{GFM at stropheNumberBreakPointA}
+\newcounter{GFM at stropheNumberBreakPointB}
+\newcounter{GFM at stropheNumberBreakPointC}
+\newcounter{GFM at stropheNumberBreakPointD}
+\newcounter{GFM at stropheNumberBreakPointE}
+\newcounter{GFM at stropheNumberBreakPointF}
+
+
+%usage: \forcePageBreakAfterStrophe{3}[4][2]...
+\NewDocumentCommand\forcePageBreakAfterStrophe{m O{0} O{0} O{0} O{0} O{0}}{
+\setcounter{GFM at stropheNumberBreakPointA}{#1}
+\setcounter{GFM at stropheNumberBreakPointB}{#2}
+\setcounter{GFM at stropheNumberBreakPointC}{#3}
+\setcounter{GFM at stropheNumberBreakPointD}{#4}
+\setcounter{GFM at stropheNumberBreakPointE}{#5}
+\setcounter{GFM at stropheNumberBreakPointF}{#6}
+}
+
+
+%automatic strophe numbering
+
+\NewEnviron{strophe}[1][-1]{
+  \ifnum#1=-1%
+  %leer
+  \else%
+  \setcounter{GFM at strophe@counter}{#1}%
+  \fi%
+  \penalty-1500\relax%
+  \ifpageBreakAllowed%
+    \penalty1500\relax%
+    \spaceBeforeStrophe%
+    \arabic{GFM at strophe@counter}.~\BODY%
+    \penalty1500\relax%
+    \spaceAfterStrophe%
+  \else%
+%% Alternative (worse) implementation:
+%%    \GFM at LB@indent at temp@length\parindent%
+%%    \noindent%
+%%    \parbox{\linewidth}{%
+    \begin{samepage}%
+    \parindent \GFM at LB@indent at temp@length\indent%
+    \penalty1500\relax%
+    \spaceBeforeStrophe%
+    \arabic{GFM at strophe@counter}.~\BODY%
+    \penalty1500\relax%
+    \spaceAfterStrophe%
+%%    }%parbox
+    \end{samepage}%
+  \fi%
+  \ifnum\c at GFM@stropheNumberBreakPointA=\c at GFM@strophe at counter\relax%
+    \newpage%
+  \fi%
+  \ifnum\c at GFM@stropheNumberBreakPointB=\c at GFM@strophe at counter\relax%
+    \newpage%
+  \fi%
+  \ifnum\c at GFM@stropheNumberBreakPointC=\c at GFM@strophe at counter\relax%
+    \newpage%
+  \fi%
+  \ifnum\c at GFM@stropheNumberBreakPointD=\c at GFM@strophe at counter\relax%
+    \newpage%
+  \fi%
+  \ifnum\c at GFM@stropheNumberBreakPointE=\c at GFM@strophe at counter\relax%
+    \newpage%
+  \fi%
+  \ifnum\c at GFM@stropheNumberBreakPointF=\c at GFM@strophe at counter\relax%
+    \newpage%
+  \fi%
+  \stepcounter{GFM at strophe@counter}%
+}%
+
+
+
+%%%%%%%%%%%%%%%
+%%% Spacing %%%
+%%%%%%%%%%%%%%%
+
+%%% Head
+\def\setSpaceBeforeHeadValue#1{\def\spaceBeforeHeadValue{#1}}
+\def\setSpaceAfterHeadValue#1{\def\spaceAfterHeadValue{#1}}
+
+%%% Notes
+\def\setSpaceBeforeNotesValue#1{\def\spaceBeforeNotesValue{#1}}
+\def\setSpaceAfterNotesValue#1{\def\spaceAfterNotesValue{#1}}
+
+%%% Strophes
+\def\setSpaceBeforeStropheValue#1{\def\spaceBeforeStropheValue{#1}}
+\def\setSpaceAfterStropheValue#1{\def\spaceAfterStropheValue{#1}}
+
+%%% Song lyrics
+\def\setSpaceBeforeSongLyricsValue#1{\def\spaceBeforeSongLyricsValue{#1}}
+\def\setSpaceBetweenSongLyricsValue#1{\def\spaceBetweenSongLyricsValue{#1}}
+\def\setSpaceAfterSongLyricsValue#1{\def\spaceAfterSongLyricsValue{#1}}
+
+
+%%% Foot
+\def\setSpaceBeforeFootValue#1{\def\spaceBeforeFootValue{#1}}
+\def\setSpaceAfterFootValue#1{\def\spaceAfterFootValue{#1}}
+
+
+
+
+%%% Horizontal spacing
+\def\setSpaceStropheIndentValue#1{\def\spaceStropheIndentValue{#1}}
+\def\setSpaceHeadIndentValue#1{\def\spaceHeadIndentValue{#1}}
+\def\setSpaceFootIndentValue#1{\def\spaceFootIndentValue{#1}}
+
+
+%%% Arranging the space values
+\def\spaceBeforeHead{\vskip\spaceBeforeHeadValue\relax\noindent\mbox{}\hskip\spaceHeadIndentValue\mbox{}}
+
+\def\spaceAfterHead{\relax\vskip\spaceAfterHeadValue\relax}
+
+\def\spaceBeforeNotes{\relax\vskip\spaceBeforeNotesValue\relax}
+
+\def\spaceAfterNotes{\relax\vskip\spaceAfterNotesValue\relax}
+
+\def\spaceBeforeStrophe{\relax\vskip\spaceBeforeStropheValue\noindent\hskip\spaceStropheIndentValue\relax}
+
+\def\spaceAfterStrophe{\relax\vskip\spaceAfterStropheValue\relax}
+
+\def\spaceBeforeSongLyrics{\relax\vskip\spaceBeforeSongLyricsValue\relax}
+
+\def\spaceBetweenSongLyrics{\relax\vskip\spaceBetweenSongLyricsValue\relax}
+
+\def\spaceAfterSongLyrics{\relax\vskip\spaceAfterSongLyricsValue \relax}
+
+\def\spaceBeforeFoot{\relax\vskip\spaceBeforeFootValue \noindent \hskip\spaceFootIndentValue\relax}
+
+\def\spaceAfterFoot{\relax\vskip\spaceAfterFootValue\relax}
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%% Styling of header and footer %%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\newcommand{\LBHead}[1]{%
+\long\def\GFM at LB@Head{\spaceBeforeHead #1\relax\spaceAfterHead\mbox{}}%
+}%
+
+
+\newcommand{\LBFoot}[1]{%
+\long\def\GFM at LB@Foot{\spaceBeforeFoot #1\relax\spaceAfterFoot}%
+}%
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%% Environments for creating  %%%
+%%% the songbooks (liederbuch) %%% 
+%%% and the songs (lied)       %%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%liederbuch environment
+\NewEnviron{liederbuch}[2][]{%
+\def\GFM at LB@LiederbuchNameTmp{#2}%
+%%lied environment %cslet
+\NewEnviron{lied}[3][]{% 
+%##1=meta data ##2=variant ##3=nummer
+\def\GFM at LB@LiederbuchVariantTmp{##2}%
+\def\GFM at LB@LiederbuchNumberTmp{##3}%
+\GFM at LB@unpackage{##1}%
+\GFM at LB@unpackage{#1}%
+\global\cslet{liedBody;\GFM at LB@LiederbuchNameTmp;##2;##3}\BODY%
+}%
+\BODY% Without this, the command sequences inside the environment won't be defined. That means, the whole content of the songbook (liederbuch) is thrown away.
+}
+
+
+%Forward onto environment
+\newcommand{\LBsong}[3]{%
+%#1=songbook #2=number #3=variant
+{%local
+\setlength{\parindent}{0pt}%
+\setlength{\parskip}{0pt}%
+%
+%
+\NewDocumentCommand{\print}{O{\empty} m}{%
+    \expandafter\ifx\csname GFM at LB@lied@#1@#3@#2@##2\endcsname\relax%
+    \else%
+        ##1%
+    \fi%
+    \csname GFM at LB@lied@#1@#3@#2@##2\endcsname%
+    \mbox{}%
+}%
+\GFM at LB@Head%
+%
+\setcounter{staveLineNumber}{1}%reset note line counter
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%
+\csuse{liedBody;#1;#3;#2}%
+%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+%reset page break points = no page breaks:
+\setcounter{GFM at staveLineNumberBreakPointA}{0}%
+\setcounter{GFM at staveLineNumberBreakPointB}{0}%
+\setcounter{GFM at staveLineNumberBreakPointC}{0}%
+\setcounter{GFM at staveLineNumberBreakPointD}{0}%
+\setcounter{GFM at staveLineNumberBreakPointE}{0}%
+\setcounter{GFM at staveLineNumberBreakPointF}{0}%
+\setcounter{GFM at stropheNumberBreakPointA}{0}%
+\setcounter{GFM at stropheNumberBreakPointB}{0}%
+\setcounter{GFM at stropheNumberBreakPointC}{0}%
+\setcounter{GFM at stropheNumberBreakPointD}{0}%
+\setcounter{GFM at stropheNumberBreakPointE}{0}%
+\setcounter{GFM at stropheNumberBreakPointF}{0}%
+%
+%
+\GFM at LB@Foot%
+%
+%
+}%local
+\penalty-3500%
+}%
+
+
+%%%%%%%%%%%%%%%%%%%%%%
+%%%                %%%
+%%% Default values %%%
+%%%                %%%
+%%%%%%%%%%%%%%%%%%%%%%
+
+
+%%% Default header and footer %%%
+\long\def\GFM at LB@Head{\spaceBeforeHead\mbox{}\print{title} \ \newline \print{composer}\spaceAfterHead }%Standardwerte
+\long\def\GFM at LB@Foot{\spaceBeforeFoot\mbox{}\print{source} \hfill \print{date}\spaceAfterFoot}%Standardwerte
+
+\setSpaceBeforeHeadValue{0pt plus 3pt}
+\setSpaceAfterHeadValue{0pt plus 3pt}
+\setSpaceBeforeNotesValue{0pt plus 1pt}
+\setSpaceAfterNotesValue{0pt plus 1pt}
+\setSpaceBeforeStropheValue{0pt plus 1pt}
+\setSpaceAfterStropheValue{0pt plus 3pt}
+\setSpaceBetweenSongLyricsValue{0pt plus 3pt}
+\setSpaceBeforeSongLyricsValue{0pt plus 1pt}
+\setSpaceAfterSongLyricsValue{0pt plus 3pt}
+\setSpaceBeforeFootValue{0pt plus 3pt}
+\setSpaceAfterFootValue{0pt plus 70pt}
+
+\setSpaceStropheIndentValue{0pt}
+\setSpaceHeadIndentValue{0pt}
+\setSpaceFootIndentValue{0pt}
+
+
+
+
+
+%%%%%%%%%%%%%%
+%%% Styles %%%
+%%%%%%%%%%%%%%
+
+%\moderncvstyle{casual}
+%\moderncvcolor{blue}
+%
+%\def\GFMliederbuchStyle#1#2{%
+%%openStyle
+%
+%
+%
+%
+%%test if
+%}
+%
+%\GFM at LB@color#1#2{%
+%%if #1 = '0' => ifndef \farbzähler => def + \fz=0 : \fz=0 : \fz++
+%
+%}
+
+%number of colors used in a style. It has to match the number defined in the color scheme
+\newcount\GFM at LB@numberOfColors
+\GFM at LB@numberOfColors=3
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%Altlasten
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+


Property changes on: trunk/Master/texmf-dist/tex/latex/liederbuch/liederbuch.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/latex/liederbuch/printliederbuch.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/liederbuch/printliederbuch.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/liederbuch/printliederbuch.sty	2025-01-03 22:50:06 UTC (rev 73288)
@@ -0,0 +1,56 @@
+\ProvidesPackage{printLiederbuch}
+
+\RequirePackage{liederbuch}
+\RequirePackage{hyperref}
+
+%toc @ begin
+%\AtBeginDocument{\tableofcontents}
+
+\ExplSyntaxOn
+
+
+\newcommand{\printLiederbuch}[1]{
+\section{#1}
+  \fbox
+   {
+    \begin{tabular}{l l}
+    Meta ~ data ~ name & Meta ~ data ~ value ~ \\
+    \hline
+    \tl_use:N \csuse{liederbuchMeta;#1}
+    \end{tabular}
+   }%fbox
+
+\csuse{liederbuchBody;#1}
+}
+
+
+\RenewEnviron{Liederbuch}[2][]{
+  \gdef\equals{=}
+  \global\cslet{liederbuchBody;#2}\BODY
+  \tl_set:Nn \l_tmpa_tl { #1 }
+  \tl_replace_all:Nnn \l_tmpa_tl { & } { \\ }
+  \tl_replace_all:Nnn \l_tmpa_tl { = } { & }
+  \global\cslet{liederbuchMeta;#2}\l_tmpa_tl
+}
+
+
+\NewDocumentEnvironment{Lied}{O{}mm +b}
+ {
+  \subsection{#3\ --\ Variant:\ #2}
+  \tl_set:Nn \l_tmpa_tl { #1 }
+  \tl_replace_all:Nnn \l_tmpa_tl { & } { \\ }
+  \tl_replace_all:Nnn \l_tmpa_tl { = } { & }
+  \fbox
+   {
+    \begin{tabular}{l l}
+    Meta ~ data ~ name & Meta ~ data ~ value ~ \\
+    \hline
+    \tl_use:N \l_tmpa_tl
+    \end{tabular}
+   }%fbox
+  \par#4\par
+}{}
+\ExplSyntaxOff
+
+
+


Property changes on: trunk/Master/texmf-dist/tex/latex/liederbuch/printliederbuch.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/tlpkg/bin/tlpkg-ctan-check
===================================================================
--- trunk/Master/tlpkg/bin/tlpkg-ctan-check	2025-01-03 22:49:05 UTC (rev 73287)
+++ trunk/Master/tlpkg/bin/tlpkg-ctan-check	2025-01-03 22:50:06 UTC (rev 73288)
@@ -514,7 +514,8 @@
     libertine libertinegc libertinus
     libertinus-fonts libertinus-otf libertinus-type1 libertinust1math
     libgreek librarian librebaskerville librebodoni librecaslon librefranklin
-    libris lie-hasse liftarm light-latex-make ligtype lilyglyphs limap limecv
+    libris lie-hasse liederbuch liftarm
+    light-latex-make ligtype lilyglyphs limap limecv
     lineara linearregression linebreaker linegoal
     lineno ling-macros linguex linguisticspro linop
     lion-msc lipsum lisp-on-tex

Modified: trunk/Master/tlpkg/tlpsrc/collection-music.tlpsrc
===================================================================
--- trunk/Master/tlpkg/tlpsrc/collection-music.tlpsrc	2025-01-03 22:49:05 UTC (rev 73287)
+++ trunk/Master/tlpkg/tlpsrc/collection-music.tlpsrc	2025-01-03 22:50:06 UTC (rev 73288)
@@ -20,6 +20,7 @@
 depend harmony
 depend leadsheets
 depend latex4musicians
+depend liederbuch
 depend lilyglyphs
 depend lyluatex
 depend m-tx

Added: trunk/Master/tlpkg/tlpsrc/liederbuch.tlpsrc
===================================================================


More information about the tex-live-commits mailing list.