%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % % Made by Gabriel Ruprecht % % % % This work is published under the % % LaTeX project public license 1.3 % % % % Package version 1.1.0 % % 2025-01-20 % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \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]{liederbuch-demo-project/liederbuch-demo-project}} \vskip 40pt\relax Version 1.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. %\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@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{}+, 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}[]{} % 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}[]{}{} \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 ]{nt}{23} %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 ]{nt}{24} %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@LB@unpackage+. %\vskip 20pt plus 20pt\relax %\newpage \subsection{List of Songs (toc)} You can create a list of songs with \begin{lstlisting}[numbers=none] \listofsongs \end{lstlisting} \newpage It has by standard the same format as \verb+\listoffigures+. The style can be selected by using \begin{lstlisting}[numbers=none] \listofsongsstyle{