\documentclass{scrartcl}
% keep \documentclass on 1st line for lilypond-book auto-detection

%
% This is way too long and hairy --
%
%


\usepackage[latin1]{inputenc}

%\def\preLilyPondExample{}
%\def\postLilyPondExample{}
%\usepackage{graphics}
%\usepackage{landscape}

\begin{document}
%uncomment this to try twocolumn mode
%\twocolumn


\section{LilyPond-book + LaTeX}

This is an examplefile for mixing LilyPond and Latex. It is also
used to test lilypond-book. View the source to see how it is done.

A simple scale:

\begin{lilypond}
\score{
  \relative c'{c d e f g a b c}
}
\end{lilypond}

LilyPond-book searches for the \verb|\score| command when it decides
if the code is only a fragment. Thus, in the following code, you have
to use \verb|fragment| option, because the comment confuses lilypond-book.

\begin[fragment]{lilypond}
c d e % \score
\end{lilypond}

There is also a shorthand version: \begin{verbatim}\lilypond[fragment]{c' e' g'}\end{verbatim}
%\verb|\lilypond[fragment]{c' e' g'}|   doesn't work!!!

\lilypond[fragment]{c' e' g'}

that is the same as writing
\begin{verbatim}
\begin[fragment]{lilypond}
c' e' g'
\end{lilypond}
\end{verbatim}

This C major
%%\begin[staffsize=11\pt,fragment]{lilypond}
\begin[11pt,fragment]{lilypond}
\context Voice <<c' e' g'>>
\end{lilypond}
and C minor
\lilypond[fragment,11pt]{\context Voice <<c' es' g'>>}  chords are floating inside the text.


\subsection{The 'verbatim' and 'intertext' option}
This shows the verbatim option:
\begin[fragment,verbatim, intertext="gives this music:"]{lilypond}
c' d' e'
\end{lilypond}

NB: 'intertext' doesn't work.

\subsection{LaTeX comments}
This is a line with lilypond code
after the comment char % \lilypond{\context Voice <<c' e' g'>>}
% \lilypond{\context Voice <<c' e' g'>>}

If you do not see any music from the heading 'LaTeX comments' and until
this line, then lilypond-book is handling latex comments pretty well :-)

\subsection{To float or not to float}
This music
\begin[fragment]{lilypond}
c' e'
\end{lilypond}
should be floating inside the text by using the \verb|eps| options.

This music

\begin[fragment]{lilypond}
c' e'
\end{lilypond}

has also the \verb|eps| options, but is not floating because there
are empty lines before and after the lilypond block. That is
correct behaviour because it follows La\TeX{} convention that an
empty line signals a new paragraph. The \verb|eps| option
is not necessary when you want the music in a paragraph on its own.

\subsection{More examples}

Itemize environment:
\begin{itemize}
\item
\lilypond[11pt,fragment]{ c'} do
\item
\lilypond[11pt,fragment]{d'} re
\item
\lilypond[11pt,fragment]{e'} mi
\item
\lilypond[11pt,fragment]{f'} fa
\item
\lilypond[11pt,fragment]{g'} sol
\end{itemize}

Tables\footnote{and footnotes:
\lilypond[11pt,fragment]{c' e' g'}}:
\marginpar{Yes, even as marginpar
\lilypond[11pt,fragment]{c' d' e'}}

\begin{tabular}{|l|l|r|}
\hline
\em Notes & \em Name \\
\hline
\lilypond[11pt,fragment,filename="cdur"]{\context Voice <<c' e' g'>>} & major \\
\lilypond[11pt,fragment]{\context Voice <<c' es' g'>>} & minor \\
\lilypond[11pt,fragment]{\context Voice <<c' es' ges'>>} & diminished \\
\lilypond[11pt,fragment]{\context Voice <<c' e' gis'>>} & augmented \\
\hline
\end{tabular}

\pagebreak

Testing of spacing. The next music is surrounded by an empty line.
text text text text text text text text text text text text
text text text text text text text text text text text text

\begin{lilypond}
\score{ \relative c'{ c d e f g a b c} }
\end{lilypond}

text text text text text text text text text text text text
text text text text text text text text text text text text
text text text text text text text text text text text text

Next has no empty lines.
text text text text text text text text text text text text
text text text text text text text text text text text text
text text text text text text text text text text text text
\begin{lilypond}
\score{ \relative c'{ c d e f g a b c} }
\end{lilypond}
text text text text text text text text text text text text
text text text text text text text text text text text text

%% need to use an -I ../../../input/test to find the file
%% \lilypondfile{tie.ly}

\end{document}

