[ << Execució de lilypond-book ] | [Top][Contents][Index] | [ External programs >> ] |
[ < Integració de música i text ] | [ Up : Integració de música i text ] | [ Texinfo > ] |
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:
- l’ordre
\lilypond{…}
, on podem escriure directament fragments curs de codi del LilyPond - l’entorn
\begin{lilypond}…\end{lilypond}
, on podem introduir directament blocs més llargs de codi del Lilypond - l’ordre
\lilypondfile{…}
per inserir un fitxer del LilyPond - l’ordre
\musicxmlfile{…}
para inserir un fitxer del MusicXML, que es processa per part demusicxml2ly
ililypond
.
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
La versió curta
\lilypond[quote,fragment,staffsize=11]{<c' e' g'>}
produeix
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:
-
\preLilyPondExample
que es crida abans de la música, -
\postLilyPondExample
que es crida després de la música, -
\betweenLilyPondSystem[1]
es crida entre els sistemes sililypond-book
ha dividit el fragment en diversos fitxers PostScript. S’ha de definir de forma que agafi un paràmetre i rebrà el nombre de fitxers ja inclosos dins del fragment actual. L’acció predeterminada és simplement inserir un\linebreak
.
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
.
[ << Execució de lilypond-book ] | [Top][Contents][Index] | [ External programs >> ] |
[ < Integració de música i text ] | [ Up : Integració de música i text ] | [ Texinfo > ] |