3.2.1 LaTeX

El LaTeX és l’estàndard de facto per a la publicació al món de les ciències exactes. Està construït a sobre del motor de composició tipogràfica TeX, proporcionant el format tipogràfica de la millor qualitat que existeix.

Consulteu The Not So Short Introduction to LaTeX (Introducció no tan breu al LaTeX) per veure una panoràmica de l’ús del LaTeX.

lilypond-book aporta les ordres i els enrons per incloure música dins de fitxers del LaTeX:

Al fitxer d’entrada, especifica la música amb qualsevol de les ordres següents:

\begin{lilypond}[las,opciones,van,aquí]
  EL CODI DEL LILYPOND
\end{lilypond}

\lilypond[le,opcions,van,aquí]{ EL CODI DEL LILYPOND }

\lilypondfile[les,opcions,van,aquí]{fitxer}

\musicxmlfile[les,opcions,van,aquí]{fitxer}

De forma addicional, \lilypondversion imprimeix la versió actual del lilypond.

L’execució de lilypond-book deixa com a resultat un fitxer que es pot processar posteriorment amb el LaTeX.

A continuació mostrem alguns exemples. L’entorn lilypond

\begin{lilypond}[quote,fragment,staffsize=26]
  c' d' e' f' g'2 g'2
\end{lilypond}

produeix

[image of music]

La versió curta

\lilypond[quote,fragment,staffsize=11]{<c' e' g'>}

produeix

[image of music]

Pel moment no és possible incloure claus { o } dins de \lilypond{}, per tant aquesta ordre sols es útil amb l’opció fragment.

L’amplada predeterminada de les línies de música s’ajusta mitjançant l’examen de les ordres del preàmbul del document, la part del document que està abans de \begin{document}. L’ordre lilypond-book els envia al LaTeX per esbrinar l’amplada del text. L’amplada de la línia per als fragments de música s’ajusta aleshores a l’amplada del text. Observeu que aquest algoritme heurístic pot fàcilment fallar; en aquests casos cal usar l’opció line-width del fragment de música.

Cada fragment executarà els macros següents si han estat definits per l’usuari:

Fragments de codi seleccionats

A vegades és útil mostrar elements de música (com lligadures) com si continuessin més enllà del final del fragment. Això es pot fer dividint el pentagrama i suprimint la inclusió de la resta de la sortida del LilyPond.

Al LaTeX, definiu \betweenLilyPondSystem de tal forma que la inclusió d’altres sistemes es doni per acabada un cop que s’ha arribat al nombre desitjat de sistemes requerits. Atès que \betweenLilyPondSystem es crida en primer cop després del primer sistema, incloure solament el primer sistema és quelcom trivial.

\def\betweenLilyPondSystem#1{\endinput}

\begin{lilypond}[fragment]
  c'1\( e'( c'~ \break c' d) e f\)
\end{lilypond}

Si cal un major nombre de sistemes, s’ha d’usar un condicional de TeX abans del \endinput. En aquest exemple, substituïu el ‘2’ pel nombre de sistemes que voleu en la sortida:

\def\betweenLilyPondSystem#1{
    \ifnum#1<2\else\expandafter\endinput\fi
}

(Atès que \endinput atura immediatament el processament del fitxer d’entrada actual, ens cal \expandafter per a postposar la crida de \endinput després d’executar \fi de manera que la clàusula \if-\fi estigui equilibrada.)

Recordeu que la definició de \betweenLilyPondSystem és efectiva fins que TeX abandona el grup actual (com l’entorn LaTeX) o se sobreescriu per una altra definició (cosa que és gairebé sempre per a la resta del document). Per reposar la definició escriviu:

\let\betweenLilyPondSystem\undefined

dins de la font de LaTeX.

Es pot simplificar això definint un macro de TeX:

\def\onlyFirstNSystems#1{
    \def\betweenLilyPondSystem##1{\ifnum##1<#1\else\endinput\fi}
}

i després indicant sols quants sistemes voleu abans de cada fragment:

\onlyFirstNSystems{3}
\begin{lilypond}…\end{lilypond}
\onlyFirstNSystems{1}
\begin{lilypond}…\end{lilypond}

Vegeu també

Hi ha opcions de línia d’ordres específiques de lilypond-book i altres detalls que s’han de conèixer per processar documents deLaTeX vegeu Invocació lilypond-book.


LilyPond: manual d’utilització del programa v2.25.14 (branca de desenvolupament).