1@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*- 2 3@ignore 4 Translation of GIT committish: 31a7a1eb0078a93718248b442568d045113837ab 5 6 When revising a translation, copy the HEAD committish of the 7 version that you are working on. For details, see the Contributors' 8 Guide, node Updating translation committishes.. 9@end ignore 10 11@c \version "2.19.22" 12 13@c Note: keep this node named so that `info lilypond-book' brings you here. 14@node lilypond-book 15@chapter Ejecución de @command{lilypond-book} 16@translationof lilypond-book 17 18Si quiere añadir imágenes de música a un documento, puede hacerlo 19simplemente de la forma en que lo haría con otros tipos de 20imágenes. Las imágenes se crean por separado, dando como 21resultado una salida PostScript o imágenes PNG, y luego se 22incluyen en un documento de @LaTeX{} o de HTML. 23 24@command{lilypond-book} ofrece una manera de automatizar este 25proceso: este programa extrae los fragmentos de música del 26documento, ejecuta @command{lilypond} sobre cada uno de ellos, y 27devuelve como salida el documento con la música sustituida por las 28imágenes. Las definiciones de ancho de línea y tamaño de letra de 29la música se ajustan de forma que coincidan con los ajustes de su 30documento. 31 32Es un programa distinto a @command{lilypond} propiamente dicho, y 33se ejecuta sobre la línea de órdenes; para ver más información, 34consulte @ref{Utilización desde la línea de órdenes}. Si 35experimenta algún problema al ejecutar @code{lilypond-book} sobre 36Windows o Mac OS X utilizando la línea de órdenes, consulte 37@rweb{Windows} o @rweb{MacOS X}. 38 39Este procedimiento se puede aplicar a documentos de @LaTeX{}, 40HTML, Texinfo o DocBook. 41 42@cindex texinfo 43@cindex LaTex 44@cindex texinfo 45@cindex texi 46@cindex HTML 47@cindex docbook 48@cindex documentos, insertar música en 49@cindex HTML, insertar música en 50@cindex Texinfo, insertar música en 51@cindex DocBook, insertar música en 52@cindex LaTeX, insertar música en 53 54@menu 55* Un ejemplo de documento musicológico:: 56* Integrar música y texto:: 57* Opciones de fragmentos de música:: 58* Invocar lilypond-book:: 59* Extensiones de nombres de archivo:: 60* Plantillas de lilypond-book:: 61* Compartir el índice general:: 62* Métodos alternativos para mezclar texto y música:: 63@end menu 64 65 66@node Un ejemplo de documento musicológico 67@section Un ejemplo de documento musicológico 68@translationof An example of a musicological document 69 70@cindex musicología 71Ciertos textos contienen ejemplos musicales. Son tratados 72musicales, cancioneros o manuales como este mismo. Estos textos 73se pueden hacer a mano, importando simplemente una imagen en 74formato PostScript en el editor de textos. Sin embargo, hay un 75procedimiento automático para reducir la carga de trabajo que esto 76implica los documentos de HTML, @LaTeX{}, Texinfo y DocBook. 77 78Un guión ejecutable llamado @code{lilypond-book} extrae los 79fragmentos de música, les da formato y vuelve a poner en su lugar 80la partitura resultante. A continuación presentamos un pequeño 81ejemplo de su utilización con @LaTeX{}. El ejemplo contiene 82también texto explicativo, por lo que no vamos a comentarlo 83posteriormente. 84 85@subheading Entrada 86 87@quotation 88@verbatim 89\documentclass[a4paper]{article} 90 91\begin{document} 92 93Los documentos para \verb+lilypond-book+ pueden mezclar libremente 94música y texto. Por ejemplo: 95 96\begin{lilypond} 97\relative { 98 c'2 e2 \tuplet 3/2 { f8 a b } a2 e4 99} 100\end{lilypond} 101 102Las opciones se escriben entre corchetes. 103 104\begin{lilypond}[fragment,quote,staffsize=26,verbatim] 105 c'4 f16 106\end{lilypond} 107 108Los ejemplos grandes se pueden grabar en archivos separados e 109introducirse con \verb+\lilypondfile+. 110 111\lilypondfile[quote,noindent]{screech-and-boink.ly} 112 113(Si es necesario, sustituya @file{screech-and-boink.ly} 114por cualquier archivo @file{.ly} 115situado en el mismo directorio que este archivo.) 116 117\end{document} 118@end verbatim 119@end quotation 120 121@subheading Procesado 122 123Guarde el código anterior como un archivo llamado 124@file{lilybook.lytex}, y luego ejecute en un terminal: 125 126@c keep space after @version{} so TeX doesn't choke 127@example 128lilypond-book --output=out --pdf lilybook.lytex 129@emph{lilypond-book (GNU LilyPond) @version{} } 130@emph{Leyendo lilybook.lytex...} 131@emph{@dots{}montañas de mensajes suprimidos@dots{}} 132@emph{Compilando lilybook.tex@dots{}} 133cd out 134pdflatex lilybook 135@emph{@dots{}montañas de mensajes suprimidos@dots{}} 136xpdf lilybook 137@emph{(sustituya @command{xpdf} por su visor de PDF favorito)} 138@end example 139 140La ejecución de @command{lilypond-book} y @command{latex} crea un 141gran número de archivos temporales, que podrían abarrotar el 142directorio de trabajo. Para poner remedio a esto utilice la 143opción @option{--output=@var{directorio}}. Creará los archivos en 144un subdirectorio aparte @file{directorio}. 145 146Finalmente el resultado del ejemplo de @LaTeX{} que acabamos de 147mostrar@footnote{Este tutorial se procesa con Texinfo, por lo que 148el ejemplo presenta un resultado en la disposición ligeramente 149distinto.}. Así acaba la sección del tutorial. 150 151@page 152 153@subheading Salida 154 155Los documentos para @command{lilypond-book} pueden mezclar 156libremente música y texto. Por ejemplo: 157 158@lilypond 159\relative { 160 c'2 e2 \tuplet 3/2 { f8 a b } a2 e4 161} 162@end lilypond 163 164Las opciones se escriben entre corchetes. 165 166@lilypond[fragment,quote,staffsize=26,verbatim] 167c'4 f16 168@end lilypond 169 170Los ejemplos grandes se pueden grabar en archivos separados e 171introducirse con @code{\lilypondfile}. 172 173@lilypondfile[quote,noindent]{snippets/screech-and-boink.ly} 174 175Si se requiere un campo @code{tagline}, ya sea predeterminado o 176personalizado, entonces el fragmento completo se debe incluir 177dentro de una construcción @code{\book @{ @}}. 178 179@c KEEP LY 180@lilypond[papersize=a8,verbatim] 181\book{ 182 \header{ 183 title = "Una escala en LilyPond" 184 } 185 186 \relative { 187 c' d e f g a b c 188 } 189} 190@end lilypond 191 192@page 193 194@node Integrar música y texto 195@section Integrar música y texto 196@translationof Integrating music and text 197 198Aquí vamos a explicar cómo integrar LilyPond con algunos otros 199formatos de salida. 200 201@menu 202* LaTeX:: 203* Texinfo:: 204* HTML:: 205* DocBook:: 206@end menu 207 208@node LaTeX 209@subsection @LaTeX{} 210@translationof LaTeX 211 212@LaTeX{} es el estándar de facto para la publicación en el mundo 213de las ciencias exactas. Está construido encima del motor de 214composición tipográfica @TeX{}, proporcionando la tipografía de 215mejor calidad que existe. 216 217Consulte 218@uref{http://@/www@/.ctan@/.org/@/tex@/-archive/@/info/@/lshort/@/english/, 219@emph{The Not So Short Introduction to @LaTeX{}}} (Introducción no tan 220breve a @LaTeX{}) para ver una panorámica sobre cómo usar @LaTeX{}. 221 222@code{lilypond-book} aporta las instrucciones y entornos 223siguientes para incluir música dentro de archivos de @LaTeX{}: 224 225@itemize 226 227@item 228la instrucción @code{\lilypond@{@dots{}@}}, donde podemos escribir 229directamente fragmentos cortos de código de LilyPond 230 231@item 232el entorno @code{\begin@{lilypond@}@dots{}\end@{lilypond@}}, donde 233podemos introducir directamente bloques más largos de código de 234LilyPond 235 236@item 237la instrucción @code{\lilypondfile@{@dots{}@}} para insertar un 238archivo de LilyPond 239 240@item 241la instrucción @code{\musicxmlfile@{@dots{}@}} para insertar un 242archivo de MusicXML, que se procesa por parte de 243@code{musicxml2ly} y @code{lilypond}. 244 245@end itemize 246 247En el archivo de entrada, se especifica la música con cualquiera 248de las instrucciones siguientes: 249 250@example 251\begin@{lilypond@}[las,opciones,van,aquí] 252 EL CÓDIGO DE LILYPOND 253\end@{lilypond@} 254 255\lilypond[las,opciones,van,aquí]@{ EL CÓDIGO DE LILYPOND @} 256 257\lilypondfile[las,opciones,van,aquí]@{@var{archivo}@} 258 259\musicxmlfile[las,opciones,van,aquí]@{@var{archivo}@} 260@end example 261 262 263@noindent 264 265De forma adicional, @code{\lilypondversion} imprime la versión 266actual de lilypond. 267 268La ejecución de @command{lilypond-book} deja como resultado un 269archivo que se puede procesar posteriormente con @LaTeX{}. 270 271A continuación mostramos algunos ejemplos. El entorno 272@code{lilypond} 273 274@example 275\begin@{lilypond@}[quote,fragment,staffsize=26] 276 c' d' e' f' g'2 g'2 277\end@{lilypond@} 278@end example 279 280@noindent 281produce 282 283@lilypond[quote,fragment,staffsize=26] 284c' d' e' f' g'2 g'2 285@end lilypond 286 287La versión corta 288 289@example 290\lilypond[quote,fragment,staffsize=11]@{<c' e' g'>@} 291@end example 292 293@noindent 294produce 295 296@lilypond[quote,fragment,staffsize=11]{<c' e' g'>} 297 298@noindent 299Por el momento no es posible incluir llaves @code{@{} o @code{@}} 300dentro de @code{\lilypond@{@}}, así que esta instrucción solamente 301es útil con la opción @code{fragment}. 302 303El ancho predeterminado de las líneas de música se ajusta mediante 304el examen de las instrucciones del preámbulo del documento, la 305parte del documento que está antes de @code{\begin@{document@}}. 306La instrucción @command{lilypond-book} los envía a @LaTeX{} para 307averiguar la anchura del texto. El ancho de la línea para los 308fragmentos de música se ajusta entonces al ancho del texto. 309Observe que este algoritmo heurístico puede fácilmente fallar; en 310estos casos es necesario usar la opción @code{line-width} del 311fragmento de música. 312 313@cindex títulos y lilypond-book 314@cindex \header dentro de documentos @LaTeX{} 315 316Cada fragmento ejecutará los macros siguientes si han sido 317definidos por el usuario: 318 319@itemize @bullet 320@item @code{\preLilyPondExample} que se llama antes de la música, 321 322@item @code{\postLilyPondExample} que se llama después de la música, 323 324@item @code{\betweenLilyPondSystem[1]} se llama entre los sistemas si 325@code{lilypond-book} ha dividido el fragmento en varios archivos 326PostScript. Se debe definir de forma que tome un parámetro y 327recibirá el número de archivos ya incluidos dentro del fragmento 328actual. La acción predeterminada es simplemente insertar un 329@code{\linebreak}. 330@end itemize 331 332@ignore 333Broken stuff. :( 334 335@cindex Latex, feta symbols 336@cindex fetachar 337 338To include feta symbols (such as flat, segno, etc) in a LaTeX 339document, use @code{\input@{titledefs@}} 340 341@example 342\documentclass[a4paper]@{article@} 343 344\input@{titledefs@} 345 346\begin@{document@} 347 348\fetachar\fetasharp 349 350\end@{document@} 351@end example 352 353The font symbol names are defined in the file feta20.tex; to find 354the location of this file, use the command 355 356@example 357kpsewhich feta20.tex 358@end example 359 360@end ignore 361 362@snippets 363 364A veces es útil mostrar elementos de música (como ligaduras) como 365si continuasen más allá del final del fragmento. Esto se puede 366hacer dividiendo el pentagrama y suprimiendo la inclusión del 367resto de la salida de LilyPond. 368 369En @LaTeX{}, defina @code{\betweenLilyPondSystem} de tal forma que 370la la inclusión de otros sistemas se dé por terminada una vez que 371se ha alcanzado el número deseado de sistemas requeridos. Puesto 372que @code{\betweenLilyPondSystem} se llama en primer lugar 373@emph{después} del primer sistema, incluir solamente el primer 374sistema es algo trivial. 375 376@example 377\def\betweenLilyPondSystem#1@{\endinput@} 378 379\begin[fragment]@{lilypond@} 380 c'1\( e'( c'~ \break c' d) e f\) 381\end@{lilypond@} 382@end example 383 384Si se necesita un mayor número de sistemas, se tiene que usar un 385condicional de @TeX{} antes del @code{\endinput}. En este 386ejemplo, sustituya el @q{2} por el número de sistemas que quiere 387en la salida: 388 389@example 390\def\betweenLilyPondSystem#1@{ 391 \ifnum#1<2\else\expandafter\endinput\fi 392@} 393@end example 394 395@noindent 396(Dado que @code{\endinput} detiene inmediatamente el procesado del 397archivo de entrada actual, necesitamos @code{\expandafter} para 398posponer la llamada de @code{\endinput} después de ejecutar 399@code{\fi} de manera que la cláusula @code{\if}-@code{\fi} esté 400equilibrada.) 401 402Recuerde que la definición de @code{\betweenLilyPondSystem} es 403efectiva hasta que @TeX{} abandona el grupo actual (como el 404entorno @LaTeX{}) o se sobreescribe por otra definición (lo que 405casi siempre es por el resto del documento). Para reponer la 406definición, escriba 407 408@example 409\let\betweenLilyPondSystem\undefined 410@end example 411 412@noindent 413dentro de la fuente de @LaTeX{}. 414 415Se puede simplificar esto definiendo un macro de @TeX{}: 416 417@example 418\def\onlyFirstNSystems#1@{ 419 \def\betweenLilyPondSystem##1@{\ifnum##1<#1\else\endinput\fi@} 420@} 421@end example 422 423@noindent 424y luego diciendo solamente cuántos sistemas quiere antes de cada 425fragmento: 426 427@example 428\onlyFirstNSystems@{3@} 429\begin@{lilypond@}@dots{}\end@{lilypond@} 430\onlyFirstNSystems@{1@} 431\begin@{lilypond@}@dots{}\end@{lilypond@} 432@end example 433 434 435@morerefs 436Hay opciones de línea de órdenes específicas de 437@command{lilypond-book} y otros detalles que conocer para procesar 438documentos de@LaTeX{} véase @ref{Invocar lilypond-book}. 439 440 441@node Texinfo 442@subsection Texinfo 443@translationof Texinfo 444 445Texinfo es el formato estándar para la documentación del proyecto 446GNU. Este mismo manual es un ejemplo de documento Texinfo. Las 447versiones HTML, PDF e Info del manual se hacen a partir del 448documento Texinfo. 449 450@code{lilypond-book} aporta las siguientes instrucciones y 451entornos para incluir música dentro de archivos de Texinfo: 452 453@itemize 454 455@item 456la instrucción @code{@@lilypond@{@dots{}@}}, donde podemos 457introducir directamente fragmentos cortos de código de LilyPond 458 459@item 460el entorno @code{@@lilypond@dots{}@@end lilypond}, donde podemos 461escribir directamente bloques más extensos de código de LilyPond 462 463@item 464la instrucción @code{@@lilypondfile@{@dots{}@}} para insertar un 465archivo de LilyPond 466 467@item 468la instrucción @code{@@musicxmlfile@{@dots{}@}} para insertar un 469archivo de MusicXML, que se procesa después por parte de 470@code{musicxml2ly} y de @code{lilypond}. 471 472@end itemize 473 474En el archivo de entrada, la música se especifica con cualquiera 475de las instrucciones siguientes: 476 477@example 478@@lilypond[las,opciones,van,aquí] 479 EL CÓDIGO DE LILYPOND 480@@end lilypond 481 482@@lilypond[las,opciones,van,aquí]@{ EL CÓDIGO DE LILYPOND @} 483 484@@lilypondfile[las,opciones,van,aquí]@{@var{archivo}@} 485 486@@musicxmlfile[las,opciones,van,aquí]@{@var{archivo}@} 487@end example 488 489De forma adicional, @code{@@lilypondversion} imprime la versión 490actual de lilypond. 491 492Cuando se ejecuta @command{lilypond-book} sobre el archivo, se 493obtiene como resultado un archivo Texinfo (con la extensión 494@file{.texi}) que contiene etiquetas @code{@@image} para el HTML, 495Info y la salida impresa. @command{lilypond-book} genera imágenes 496de la música en formatos EPS y PDF para usarlos en la salida 497impresa, y en formato PNG para usarlos en las salidas HTML e Info. 498 499Aquí podemos ver dos ejemplos sencillos. Un entorno 500@code{lilypond} 501 502@example 503@@lilypond[fragment] 504c' d' e' f' g'2 g' 505@@end lilypond 506@end example 507 508@noindent 509produce 510 511@lilypond[fragment] 512c' d' e' f' g'2 g' 513@end lilypond 514 515La versión corta 516 517@example 518@@lilypond[fragment,staffsize=11]@{<c' e' g'>@} 519@end example 520 521@noindent 522produce 523 524@lilypond[fragment,staffsize=11]{<c' e' g'>} 525 526A diferencia de @LaTeX{}, @code{@@lilypond@{@dots{}@}} no genera 527una imagen en línea. Siempre consiste en un párrafo para ella 528sola. 529 530 531@node HTML 532@subsection HTML 533@translationof HTML 534 535@code{lilypond-book} aporta las siguientes instrucciones y 536entornos para incluir música dentro de archivos HTML: 537 538@itemize 539 540@item 541la instrucción @code{<lilypond @dots{} />}, donde podemos 542introducir directamente fragmentos cortos de código de LilyPond 543 544@item 545el entorno @code{<lilyond>@dots{}</lilypond>}, donde podemos 546escribir directamente bloques más extensos de código de LilyPond 547 548@item 549la instrucción @code{<lilypondfile>@dots{}</lilypondfile>} para 550insertar un archivo de LilyPond 551 552@item 553la instrucción @code{<musicxmlfile>@dots{}</musicxmlfile>} para 554insertar un archivo de MusicXML, que se procesa después por parte 555de @code{musicxml2ly} y de @code{lilypond}. 556 557@end itemize 558 559En el archivo de entrada, la música se especifica con cualquiera 560de las instrucciones siguientes: 561 562@example 563<lilypond las opciones van aquí> 564 EL CÓDIGO DE LILYPOND 565</lilypond> 566 567<lilypond las opciones van aquí: EL CÓDIGO DE LILYPOND /> 568 569<lilypondfile las opciones van aquí>@var{archivo}</lilypondfile> 570 571<musicxmlfile las opciones van aquí>@var{archivo}</musicxmlfile> 572@end example 573 574Por ejemplo, podemos escribr 575@example 576<lilypond fragment relative=2> 577\key c \minor c4 es g2 578</lilypond> 579@end example 580 581@noindent 582@command{lilypond-book} entonces produce un archivo HTML con las 583etiquetas de imagen adecuadas para los fragmentos de música: 584 585@lilypond[fragment,relative=2] 586\key c \minor c4 es g2 587@end lilypond 588 589Para imágenes en línea, utilice @code{<lilypond @dots{} />}, donde 590las opciones están separadas de la música por el símbolo de dos 591puntos, por ejemplo 592 593@example 594Algo de música dentro de <lilypond relative=2: a b c/> una línea 595de texto. 596@end example 597 598Para incluir archivos externos, escriba 599 600@example 601<lilypondfile @var{opción1} @var{opción2} @dots{}>@var{archivo}</lilypondfile> 602@end example 603 604@code{<musicxmlfile>} usa la misma sintaxis que 605@code{<lilypondfile>}, pero sencillamente referencia un archivo de 606MusicXML en lugar de un archivo de LilyPond. 607 608Para ver una lista de las opciones que utilizar con las etiquetas 609@code{lilypond} o @code{lilypondfile}, véase @ref{Opciones de 610fragmentos de música}. 611 612De forma adicional, @code{<lilypondversion/>} imprime la versión 613actual de lilypond. 614 615@cindex títulos en HTML 616@cindex vista previa, imagen 617@cindex miniatura 618 619@node DocBook 620@subsection DocBook 621@translationof DocBook 622 623Para insertar fragmentos de LilyPond es bueno tratar de mantener 624la conformidad del documento de DocBook, permitiendo así el uso de 625editores de DocBook, validación, etc. Así pues, no usamos 626etiquetas personalizadas, sólo especificamos una convención basada 627en los elementos estándar de DocBook. 628 629@subheading Convenciones usuales 630 631Para insertar toda clase de fragmentos utilizamos los elementos 632@code{mediaobject} y @code{inlinemediaobject}, de forma que 633nuestros fragmentos puedan ser formateados en línea o no en línea. 634Las opciones de formateo del fragmento se escriben siempre dentro 635de la propiedad @code{role} del elemento más interno (véanse las 636secciones siguientes). Las etiquetas se eligen de forma que 637permitan a los editores de DocBook formatear el contenido 638satisfactoriamente. Los archivos de DocBook que se van a procesar 639con @command{lilypond-book} deben tener la extensión 640@file{.lyxml}. 641 642@subheading Incluir un archivo de LilyPond 643 644Este es el caso más sencillo. Debemos usar la extensión 645@file{.ly} para el archivo incluido, e insertarlo como un 646@code{imageobject} estándar, con la estructura siguiente: 647 648@example 649<mediaobject> 650 <imageobject> 651 <imagedata fileref="music1.ly" role="printfilename" /> 652 </imageobject> 653</mediaobject> 654@end example 655 656Observe que puede usar mediaobject o inlinemediaobject como el 657elemento más externo, a elección suya. 658 659@subheading Incluir código de LilyPond 660 661Se puede incluir código de LilyPond mediante la utilización de un 662elemento @code{programlisting}, en que el lenguaje se establece 663como @code{lilypond} con la estructura siguiente: 664 665@example 666<inlinemediaobject> 667 <textobject> 668 <programlisting language="lilypond" role="fragment verbatim staffsize=16 ragged-right relative=2"> 669\context Staff \with @{ 670 \remove "Time_signature_engraver" 671 \remove "Clef_engraver"@} 672 @{ c4( fis) @} 673 </programlisting> 674 </textobject> 675</inlinemediaobject> 676@end example 677 678Como puede ver, el elemento más externo es un @code{mediaobject} o 679un @code{inlinemediaobject}, y hay un elemento @code{textobject} 680que lleva el @code{programlisting} en su interior. 681 682@subheading Procesar el documento de DocBook 683 684Al ejecutar @command{lilypond-book} sobre el archivo @file{.lyxml} 685se creará un documento de DocBook válido que se puede procesar 686posteriormente con la extensión @file{.xml}. Si usa 687@uref{http://@/dblatex@/.sourceforge@/.net@/,dblatex}, creará un 688archivo PDF a partir de este documento automáticamente. Para la 689generación de HTML (HTML Help, JavaHelp, etc.) puede usar las 690hojas de estilo oficiales XSL de DocBook, aunque es posible que 691tenga que aplicarles algún tipo de personalización. 692 693 694@node Opciones de fragmentos de música 695@section Opciones de fragmentos de música 696@translationof Music fragment options 697 698Durante los próximos párrafos, una @q{instrucción de LilyPond} se 699refiere a cualquier instrucción descrita en las secciones 700anteriores que se maneja por parte de @command{lilypond-book} para 701que produzca un fragmento de música. Por simplicidad, las 702instrucciones de LilyPond solamente se muestran en la sintaxis de 703@LaTeX{}. 704 705Observe que la cadena de opciones se analiza de izquierda a 706derecha; si una opción aparece varias veces, se toma la última 707solamente. 708 709Están disponibles las siguientes opciones para las instrucciones 710de LilyPond: 711 712@table @code 713@item staffsize=@var{altura} 714Establecer la altura del pentagrama como @var{altura}, medida en 715puntos. 716 717@item ragged-right 718Producir líneas no justificadas por la derecha y con espaciado 719natural, es decir, se añade @code{ragged-right = ##t} al fragmento 720de LilyPond. Los fragmentos de una sola línea siempre se 721tipografían de forma predeterminada sin justificación por la 722derecha, a no ser que se use explícitamente la opción 723@code{noragged-right}. 724 725@item noragged-right 726Para fragmentos de una sola línea, permitir que la longitud del 727pentagrama se amplíe hasta igualar la anchura de la línea, es 728decir, se añade @code{ragged-right = ##f} al fragmento de 729LilyPond. 730 731@item line-width 732@itemx line-width=@var{tamaño}\@var{unidades} 733Establecer el ancho de línea como @var{tamaño}, utilizando 734@var{unidades} como unidad. @var{unidades} es una de las 735siguientes cadenas: @code{cm}, @code{mm}, @code{in} o @code{pt}. 736Esta opción afecta a la salida de LilyPond (esto es, a la longitud 737del pentagrama del fragmento musical), no al formato del texto. 738 739Si se usa sin ningún argumento, se establece el ancho de la línea 740a un valor predeterminado (calculado con un algoritmo heurístico). 741 742Si no se da ninguna opción @code{line-width}, 743@command{lilypond-book} trata de adivinar un valor predeterminado 744para los entornos @code{lilypond} que no usan la opción 745@code{ragged-right}. 746 747@item papersize=@var{cadena} 748Donde @var{cadena} es un tamaño del papel definido en el archivo 749@file{scm/paper.scm}, es decir, @code{a5}, @code{quarto}, 750@code{11x17}, etc. 751 752Los valores no definidos en el archivo @file{scm/paper.scm} se 753ignoran, se emite una advertencia y el fragmento se imprime 754utilizando el tamaño predeterminado @code{a4}. 755 756@item notime 757No imprimir la indicación de compás, y desactivar las indicaciones 758temporales de la música (indicación del compás y líneas 759divisorias). 760 761@item fragment 762Hacer que @command{lilypond-book} añada algunos códigos necesarios 763para que podamos escribir simplemente, por ejemplo, 764 765@example 766c'4 767@end example 768 769@noindent 770sin @code{\layout}, @code{\score}, etc. 771 772@item nofragment 773No incluir el código adicional que completa la sintaxis de 774LilyPond en los fragmentos de música. Al ser la opción 775predeterminada, @code{nofragment} normalmente es redundante. 776 777@item indent=@var{tamaño}\@var{unidades} 778Establecer el sangrado del primer sistema de pentagramas como 779@var{tamaño}, utilizando @var{unidades} como 780unidad. @var{unidades} es una de las siguientes cadenas: 781@code{cm}, @code{mm}, @code{in} o @code{pt}. Esta opción afecta a 782LilyPond, no al formato del texto. 783 784@item noindent 785Establecer el sangrado del primer sistema de la música como cero. 786Esta opción afecta a LilyPond, no al formato del texto. Puesto 787que el valor predeterminado es que no haya ningún sangrado, 788@code{noindent} normalmente es redundante. 789 790@item quote 791Reducir la longitud de la línea de un fragmento musical en 792@math{2*0.4}@dmn{in} (pulgadas) y colocar la salida dentro de un 793bloque de cita (quotation). El valor de @q{0.4@dmn{in}} se puede 794controlar con la opción @code{exampleindent}. 795 796@item exampleindent 797Establecer la longitud del sangrado que la opción @code{quote} 798aplica al fragmento musical. 799 800@item relative 801@itemx relative=@var{n} 802Usar el modo de octava relativa. De forma predeterminada, las 803notas se especifican con relación al Do@tie{}central. El 804argumento entero opcional especifica la octava de la nota inicial, 805donde el valor predeterminado @code{1} es el Do central. La 806opción @code{relative} sólo funciona cuando está establecida la 807opción @code{fragment}, de manera que @code{fragment} viene 808implicada automáticamente por @code{relative}, independientemente 809de la presencia de @code{fragment} o de @code{nofragment} en la 810fuente. 811 812@end table 813 814LilyPond utiliza también @command{lilypond-book} para producir su 815propia documentación. Para hacerlo, están a nuestra disposición 816ciertas opciones algo esotéricas para los fragmentos musicales. 817 818@table @code 819@item verbatim 820El argumento de una instrucción de LilyPond se copia al archivo de 821salida y se incluye dentro de un bloque «verbatim» o 822preformateado, seguido del texto que se escriba con la opción 823@code{intertext} (que no funciona aún); después se imprime la 824música en sí. Esta opción no funciona bien con 825@code{\lilypond@{@}} si forma parte de un párrafo. 826 827Si se usa la opción @code{verbatim} dentro de una instrucción 828@code{lilypondfile}, es posible incluir con estilo preformateado 829sólo una parte del archivo fuente. Si el archivo de código fuente 830contiene un comentario que contiene @samp{begin verbatim} (sin las 831comillas), la cita del bloque de estilo preformateado empezará 832después de la última vez que aparezca este comentario; de forma 833similar, la cita del bloque preformateado se detendrá justo antes 834de la primera vez que aparezca un comentario que contenga 835@samp{end verbatim}, si lo hay. En el siguiente ejemplo de código 836fuente, la música se interpreta en el modo relativo, pero la cita 837preformateada no presentará el bloque @code{relative}, es decir 838 839@example 840\relative @{ % begin verbatim 841 c'4 e2 g4 842 f2 e % end verbatim 843@} 844@end example 845 846@noindent 847se imprime como un bloque preformateado como 848 849@example 850 c4 e2 g4 851 f2 e 852@end example 853 854@noindent 855Si queremos traducir los comentarios y los nombres de variable en 856la salida literal pero no en el código fuente, podemos establecer 857el valor de la variable de entorno @code{LYDOC_LOCALEDIR} a la 858ruta de un directorio; este directorio debe contener un árbol de 859catálogos de mensajes @file{.mo} con @code{lilypond-doc} como 860dominio. 861 862@item texidoc 863(Sólo para la salida de Texinfo.) Si se llama a 864@command{lilypond} con la opción @option{--header=@/texidoc}, y el 865archivo que se procesa se llama @file{fulanito.ly}, crea un 866archivo @file{fulanito.texidoc} si existe un campo @code{texidoc} 867dentro del bloque @code{\header} de cabecera. La opción 868@code{texidoc} hace que @command{lilypond-book} incluya estos 869archivos, añadiendo su contenido como un bloque de documentación 870inmediatamente antes del fragmento musical (pero fuera del entorno 871@code{example} generado por la opción @code{quote}). 872 873Suponiendo que el archivo @file{fulanito.ly} contiene 874 875@example 876\header @{ 877 texidoc = "Este archivo es un ejemplo de una sola nota." 878@} 879@{ c'4 @} 880@end example 881 882@noindent 883y que tenemos lo siguiente en nuestro documento de Texinfo 884@file{prueba.texinfo} 885 886@example 887@@lilypondfile[texidoc]@{fulanito.ly@} 888@end example 889 890@noindent 891la siguiente orden da como salida el resultado esperado: 892 893@example 894lilypond-book --pdf --process="lilypond \ 895 -dbackend=eps --header=texidoc" test.texinfo 896@end example 897 898La mayoría de los documentos de prueba de LilyPond (en el 899directorio @file{input} de la distribución) son pequeños archivos 900@file{.ly} que tienen exactamente este aspecto. 901 902Por motivos de localización de idioma, si el documento de Texinfo 903contiene @code{@@documentlanguage @var{LANG}} y la cabecera de 904@file{loquesea.ly} contiene un campo @code{texidoc@var{LANG}}, y 905@command{lilypond} se ejecuta con 906@option{--header=@/texidoc@var{LANG}}, entonces se incluirá 907@file{loquesea.texidoc@var{LANG}} en lugar de 908@file{loquesea.texidoc}. 909 910@item doctitle 911(Sólo para la salida de Texinfo.) Esta opción funciona de forma 912parecida a la opción @code{texidoc}: si @command{lilypond} se 913llama con la opción @option{--header=@/doctitle}, y el archivo que 914procesar se llama @file{loquesea.ly} y contiene un campo 915@code{doctitle} en el bloque @code{\header}, crea un archivo 916@file{loquesea.doctitle}. Cuando se usa la opción 917@code{doctitle}, el contenido de @file{loquesea.doctitle}, que 918debería ser una línea única de @var{texto}, se inserta en el 919documento de Texinfo como @code{@@lydoctitle @var{texto}}. 920@code{@@lydoctitle} debe ser un macro definido en el documento de 921Texinfo. La misma indicación referida al procesado de 922@code{texidoc} con idiomas localizados se aplica a 923@code{doctitle}. 924 925@item nogettext 926(Sólo para la salida de Texinfo.) No traducir los comentarios y 927nombres de variable en el fragmento de código literal citado. 928 929@item printfilename 930Si un archivo de entrada de LilyPond se incluye con 931@code{\lilypondfile}, imprimir el nombre del archivo 932inmediatamente antes del fragmento musical. Para la salida HTML, 933esto es un enlace. Sólo se imprime el nombre base del archivo, es 934decir, se elimina la parte del directorio de la ruta del archivo. 935 936@end table 937 938 939@node Invocar lilypond-book 940@section Invocar @command{lilypond-book} 941@translationof Invoking lilypond-book 942 943@command{lilypond-book} produce un archivo con una de las 944siguientes extensiones: @file{.tex}, @file{.texi}, @file{.html} o 945@file{.xml}, dependiendo del formato de salida. Todos los 946archivos @file{.tex}, @file{.texi} y @file{.xml} necesitan un 947procesado posterior. 948 949@subheading Instrucciones específicas de formato 950 951@subsubheading @LaTeX{} 952 953Hay dos formas de procesar el documento en @LaTeX{} para su 954impresión o publicación: hacer un archivo PDF directamente con 955PDF@LaTeX{}, o generar un archivo PostScript con @LaTeX{} a través 956de un traductor de DVI a PostScript como @command{dvips}. la 957primera forma es más sencilla y es la que se 958recomienda@footnote{Observe que PDF@LaTeX{} y @LaTeX{} podrían no 959ser utilizables para compilar cualquier documento @LaTeX{}, y es 960por lo que explicamos las dos formas.}, y cualquiera que sea el 961método que utilice, podrá convertir fácilmente entre PostScript y 962PDF con herramientas como @command{ps2pdf} y @command{pdf2ps} que 963vienen incluidas con Ghostscript. 964 965Para producir un archivo PDF por medio de PDF@LaTeX{}, utilice: 966 967@example 968lilypond-book --pdf miarchivo.pdftex 969pdflatex miarchivo.tex 970@end example 971 972@cindex tipografías de outline 973@cindex type1, tipografías 974@cindex dvips 975@cindex invocación de dvips 976 977Para producir una salida PDF por medio de 978@LaTeX{}/@command{dvips}/@command{ps2pdf}: 979 980@example 981lilypond-book miarchivo.lytex 982latex miarchivo.tex 983dvips -Ppdf miarchivo.dvi 984ps2pdf miarchivo.ps 985@end example 986 987@noindent 988El archivo @file{.dvi} creado por este proceso no contiene las 989cabezas de las notas. Esto es normal; si sigue las instrucciones, 990las cabezas aparecerán en los archivos @file{.ps} y @file{.pdf}. 991 992La ejecución de @command{dvips} puede dar como resultado algunas 993advertencias sobre las fuentes tipográficas; son inocuas y se 994pueden ignorar. Si está ejecutando @command{latex} en modo de dos 995columnas, recuerde añadir @option{-t landscape} a las opciones de 996@command{dvips}. 997 998Entornos tales como: 999 1000@example 1001\begin@{lilypond@} @dots{} \end@{lilypond@} 1002@end example 1003 1004@noindent 1005no se interpretan por parte de @LaTeX{}. En su lugar, el programa 1006@code{lilypond-book} extrae estos @q{entornos} como archivos 1007independientes y ejecuta LilyPond sobre ellos. Después, toma las 1008imágenes resultantes y crea un archivo @file{.tex} en el que los 1009macros @code{\begin@{lilypond@}}@dots{}@code{\end@{lilypond@}} se 1010sustituyen por instrucciones de @q{inserción de gráficos}. A 1011continuación, se ejecuta @LaTeX{} (aunque @LaTeX{} se ha ejecutado 1012anteriormente, lo habrá sido sobre un archivo @q{vacío} para 1013calcular cosas como el @code{\linewidth}). 1014 1015@knownissues 1016 1017La instrucción @code{\pageBreak} no funciona dentro de un entorno 1018@code{\begin@{lilypond@} @dots{} \end@{lilypond@}}. 1019 1020Muchas variables del bloque @code{\paper} tampoco funcionan dentro 1021de un entorno @code{\begin@{lilypond@} @dots{} \end@{lilypond@}}. 1022Use @code{\newcommand} con @code{\betweenLilyPondSystem} en el 1023preámbulo: 1024 1025@example 1026\newcommand@{\betweenLilyPondSystem@}[1]@{\vspace@{36mm@}\linebreak@} 1027@end example 1028 1029 1030@subsubheading Texinfo 1031 1032Para producir un documento de Texinfo (en cualquier formato de 1033salida), siga el procedimiento normal para Texinfo, esto es: o 1034bien llame a @command{texi2pdf} o a @command{texi2dvi} o a 1035@command{makeinfo}, según el formato de la salida que quiera 1036crear. 1037@ifinfo 1038@xref{Format with texi2dvi, , , texinfo, GNU Texinfo}, y 1039@ref{Creating an Info File, , , texinfo, GNU Texinfo}. 1040@end ifinfo 1041@ifnotinfo 1042Consulte la documentación de Texinfo para ver más detalles. 1043@end ifnotinfo 1044 1045 1046@subheading Opciones de la línea de órdenes 1047 1048@command{lilypond-book} acepta las siguientes opciones de la línea 1049de órdenes: 1050 1051@table @code 1052@item -f @var{formato} 1053@itemx --format=@var{formato} 1054Especificar el tipo del documento que se va a procesar: 1055@code{html}, @code{latex}, @code{texi} (predeterminado) o 1056@code{docbook}. Si falta esta opción, @command{lilypond-book} 1057tratará de detectar el formato automáticamente, véase 1058@ref{Extensiones de nombres de archivo}. Por el momento, 1059@code{texi} es lo mismo que @code{texi-html}. 1060 1061@c This complicated detail is not implemented, comment it out -jm 1062@ignore 1063The @code{texi} document type produces a Texinfo file with music 1064fragments in the printed output only. For getting images in the HTML 1065version, the format @code{texi-html} must be used instead. 1066@end ignore 1067 1068@item -F @var{filtro} 1069@itemx --filter=@var{filtro} 1070Conducir los fragmentos a través de @var{filter} por medio de una 1071tubería. @code{lilypond-book} no obedecerá --filter y --process 1072al mismo tiempo. Por ejemplo, 1073 1074@example 1075lilypond-book --filter='convert-ly --from=2.0.0 -' mi-libro.tely 1076@end example 1077 1078@item -h 1079@itemx --help 1080Imprimir un breve mensaje de ayuda. 1081 1082@item -I @var{directorio} 1083@itemx --include=@var{directorio} 1084Añadir @var{directorio} a la ruta de inclusión. 1085@command{lilypond-book} busca también los fragmentos ya compilados 1086en la ruta de inclusión, y no los vuelve a escribir en el 1087directorio de salida, así que en ciertos casos es necesario 1088invocar instrucciones de procesado posteriores como 1089@command{makeinfo} o @command{latex} con las mismas opciones 1090@option{-I @var{directorio}}. 1091 1092@item -l @var{nivel_de_registro} 1093@itemx --loglevel=@var{nivel_de_registro} 1094Fijar el nivel en que la salida es prolija, al valor 1095@var{nivel_de_registro}. Los valores posibles son @code{NONE} 1096(nada), @code{ERROR} (errores), @code{WARNING} (advertencias), 1097@code{PROGRESS} (avance; predeterminado) y @code{DEBUG} 1098(depuración). Si esta opción no se utiliza, y la variable de 1099entorno @code{LILYPOND_BOOK_LOGLEVEL} está establecida, se usa su 1100valor como el nivel de registro. 1101 1102@item -o @var{directorio} 1103@itemx --output=@var{directorio} 1104Colocar los archivos generados en el @var{directorio}. La 1105ejecución de @command{lilypond-book} genera montañas de pequeños 1106archivos que luego procesará LilyPond. Para evitar toda esta 1107parafernalia en el mismo directorio que la fuente, utilice la 1108opción @option{--output}, y cambie a este directorio antes de 1109ejecutar @command{latex} o @command{makeinfo}. 1110 1111@example 1112lilypond-book --output=out miarchivo.lytex 1113cd out 1114@dots{} 1115@end example 1116 1117@item --skip-lily-check 1118Evitar el fracaso si no se encuentra ninguna salida de lilypond. 1119Se usa para la documentación de LilyPond en formato Info sin 1120imágenes. 1121 1122@item --skip-png-check 1123Evitar el fracaso si no se encuentran las imágenes PNG de los 1124archivos EPS. Se usa para la documentación de LilyPond en formato 1125Info sin imágenes. 1126 1127@item --lily-output-dir=@var{directorio} 1128Escribir archivos lily-XXX en el directorio @var{directorio}, 1129enlazar en el directorio de @option{--output}. Use esta opción 1130para ahorrar tiempo de construcción para documentos de distintos 1131directorios que comparten muchos fragmentos idénticos de código. 1132 1133@item --lily-loglevel=@var{nivel_de_registro} 1134Fijar el nivel en que la salida es prolija para las llamadas de la 1135instrucción invocada @command{lilypond}, al valor 1136@var{nivel_de_registro}. Los valores posibles son @code{NONE} 1137(nada), @code{ERROR} (errores), @code{WARNING} (advertencias), 1138@code{BASIC_PROGRESS} (avance básico), @code{PROGRESS} (avance), 1139@code{INFO} (información; predeterminado) y @code{DEBUG} 1140(depuración). Si no se utiliza esta opción y la variable de 1141entorno @code{LILYPOND_LOGLEVEL} está establecida, su valor se usa 1142como nivel de registro. 1143 1144 1145@item --info-images-dir=@var{directorio} 1146Dar formato a la salida de Texinfo de manera que Info busque las 1147imágenes de música en @var{directorio}. 1148 1149@item --latex-program=@var{prog} 1150Ejecutar el programa @command{prog} en vez de @command{latex}. 1151Esto es útil si nuestro documento se procesa con 1152@command{xelatex}, por ejemplo. 1153 1154@item --left-padding=@var{cantidad} 1155Rellenar las cajas EPS en esta medida, alrededor. @var{cantidad} 1156se mide en milímetros, y es 3.0 como valor predeterminado. Esta 1157opción se debe usar si las líneas de música están muy pegadas al 1158margen derecho. 1159 1160El ancho de un sistema que está muy ajustado dentro de su 1161rectángulo puede variar, debido a los elementos de notación que 1162están pegados al margen izquierdo, como los números de compás y el 1163nombre del instrumento. Esta opción acorta todas las líneas y las 1164mueve a la derecha en la misma medida. 1165 1166@item -P @var{instrucción} 1167@itemx --process=@var{instrucción} 1168Procesar los fragmentos de LilyPond utilizando @var{instrucción}. 1169La instrucción predeterminada es @code{lilypond}. 1170@code{lilypond-book} no obedecerá a @option{--filter} y a 1171@option{--process} al mismo tiempo. 1172 1173@item --pdf 1174Crear archivos PDF para su uso con PDF@LaTeX{}. 1175 1176@item --redirect-lilypond-output 1177De forma predeterminada, la salida se imprime por la consola. 1178Esta opción redirecciona toda la salida hacia archivos de registro 1179situados en el mismo directorio que los archivos fuente. 1180 1181@item --use-source-file-names 1182Escribir los archivos de salida de los fragmentos de música con el 1183mismo nombre de base que su archivo fuente. Esta opción sólo 1184funciona para fragmentos incluidos con @code{lilypondfile} y sólo 1185si los directorios determinados por las opciones 1186@option{--output-dir} y @option{--lily-output-dir} son distintos. 1187 1188@item -V 1189@itemx --verbose 1190Ser prolijo. Equivale a @code{--loglevel=DEBUG}. 1191 1192@item -v 1193@itemx --version 1194Imprimir la información de la versión. 1195@end table 1196 1197@knownissues 1198 1199La instrucción de Texinfo @code{@@pagesizes} no se interpreta. De 1200forma similar, las instrucciones de @LaTeX{} que cambian los 1201márgenes y anchos de línea después del preámbulo se ignoran. 1202 1203Sólo se procesa el primer @code{\score} de un bloque LilyPond. 1204 1205 1206@node Extensiones de nombres de archivo 1207@section Extensiones de nombres de archivo 1208@translationof Filename extensions 1209 1210Puede usar cualquier extensión para el nombre del archivo de 1211entrada, pero si no usa la extensión recomendada para un formato 1212en particular tendrá que especificar manualmente el formato de 1213salida; para ver más detalles, consulte @ref{Invocar 1214lilypond-book}. En caso contrario, @command{lilypond-book} 1215selecciona automáticamente el formato de salida basándose en la 1216extensión del nombre del archivo de entrada. 1217 1218@quotation 1219@multitable @columnfractions .2 .5 1220@item @strong{extensión} @tab @strong{formato de salida} 1221@item 1222@item @file{.html} @tab HTML 1223@item @file{.htmly} @tab HTML 1224@item @file{.itely} @tab Texinfo 1225@item @file{.latex} @tab @LaTeX{} 1226@item @file{.lytex} @tab @LaTeX{} 1227@item @file{.lyxml} @tab DocBook 1228@item @file{.tely} @tab Texinfo 1229@item @file{.tex} @tab @LaTeX{} 1230@item @file{.texi} @tab Texinfo 1231@item @file{.texinfo} @tab Texinfo 1232@item @file{.xml} @tab HTML 1233@end multitable 1234@end quotation 1235 1236Si usa la misma extensión para el archivo de entrada que la que 1237usa @command{lilypond-book} para el archivo de salida, y si el 1238archivo de entrada está en el mismo directorio que el directorio 1239de trabajo de @command{lilypond-book}, debe usar la opción 1240@option{--output} para que funcione @command{lilypond-book}, pues 1241en caso contrario saldrá con un mensaje de error como @qq{La 1242salida sobreescribirá al archivo de entrada}. 1243 1244 1245@node Plantillas de lilypond-book 1246@section Plantillas de lilypond-book 1247@translationof lilypond-book templates 1248 1249Estas plantillas se usan para @code{lilypond-book}. Si no está 1250familiarizado con este programa, consulte 1251@rprogram{lilypond-book}. 1252 1253@subsection LaTeX 1254 1255Podemos insertar fragmentos de LilyPond dentro de un documento de 1256LaTeX. 1257 1258@example 1259\documentclass[]@{article@} 1260 1261\begin@{document@} 1262 1263Texto normal en LaTeX. 1264 1265\begin@{lilypond@} 1266\relative @{ 1267 a'4 b c d 1268@} 1269\end@{lilypond@} 1270 1271Más texto en LaTeX, y las opciones dentro de los corchetes. 1272 1273\begin@{lilypond@}[fragment,relative=2,quote,staffsize=26,verbatim] 1274d4 c b a 1275\end@{lilypond@} 1276\end@{document@} 1277@end example 1278 1279@subsection Texinfo 1280 1281Podemos insertar fragmentos de LilyPond dentro de Texinfo; de 1282hecho, todo el presente manual está escrito en Texinfo. 1283 1284@example 1285\input texinfo @c -*-texinfo-*- 1286@@node Top 1287@@top 1288 1289Texto en Texinfo 1290 1291@@lilypond 1292\relative @{ 1293 a4 b c d 1294@} 1295@@end lilypond 1296 1297Más texto en Texinfo, y las opciones dentro de los corchetes. 1298 1299@@lilypond[verbatim,fragment,ragged-right] 1300d4 c b a 1301@@end lilypond 1302 1303@@bye 1304@end example 1305 1306 1307@subsection html 1308 1309@example 1310<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 1311<!-- header_tag --> 1312<HTML> 1313<body> 1314 1315<p> 1316Los documentos para lilypond-book pueden mezclar música y texto libremente. Por 1317ejemplo, 1318<lilypond> 1319\relative @{ 1320 a'4 b c d 1321@} 1322</lilypond> 1323</p> 1324 1325<p> 1326Otro poco de lilypond, esta vez con opciones: 1327 1328<lilypond fragment quote staffsize=26 verbatim> 1329a4 b c d 1330</lilypond> 1331</p> 1332 1333</body> 1334</html> 1335 1336 1337@end example 1338 1339@subsection xelatex 1340 1341@verbatim 1342\documentclass{article} 1343\usepackage{ifxetex} 1344\ifxetex 1345%xetex specific stuff 1346\usepackage{xunicode,fontspec,xltxtra} 1347\setmainfont[Numbers=OldStyle]{Times New Roman} 1348\setsansfont{Arial} 1349\else 1350%Esto se puede dejar vacío si no vamos a utilizar pdftex 1351\usepackage[T1]{fontenc} 1352\usepackage[utf8]{inputenc} 1353\usepackage{mathptmx}%Times 1354\usepackage{helvet}%Helvetica 1355\fi 1356%Aquí insertamos todos los paquetes que pdftex también entiende 1357\usepackage[ngerman,finnish,english]{babel} 1358\usepackage{graphicx} 1359 1360\begin{document} 1361\title{Un documento breve con LilyPond y xelatex} 1362\maketitle 1363 1364Las instrucciones \textbf{font} normales dentro del \emph{texto} 1365funcionan, porque \textsf{están contempladas por \LaTeX{} y 1366XeteX.} Si queremos usar instrucciones específicas como 1367\verb+\XeTeX+, debemos incluirlas de nuevo dentro de un entorno 1368\verb+\ifxetex+. Podemos utilizar esto para imprimir la 1369instrucción \ifxetex \XeTeX{} \else XeTeX \fi que no es conocida 1370para el \LaTeX\ normal. 1371 1372Dentro del texto normal podemos utilizar instrucciones de LilyPond 1373fácilmente, de esta forma: 1374 1375\begin{lilypond} 1376{a2 b c'8 c' c' c'} 1377\end{lilypond} 1378 1379\noindent 1380y así sucesivamente. 1381 1382La fuente tipográfica de los fragmentos, establecida con LilyPond, 1383tendrá que establecerse desde dentro del fragmento. Para esto 1384puede leer la parte de lilypond-book en el manual de utilización. 1385 1386\selectlanguage{ngerman} 1387Auch Umlaute funktionieren ohne die \LaTeX -Befehle, wie auch alle 1388anderen 1389seltsamen Zeichen: __ ______, wenn sie von der Schriftart 1390unterst__tzt werden. 1391\end{document} 1392@end verbatim 1393 1394 1395@node Compartir el índice general 1396@section Compartir el índice general 1397@translationof Sharing the table of contents 1398 1399Estas funciones ya existen en el paquete OrchestralLily: 1400 1401@example 1402@url{http://repo.or.cz/w/orchestrallily.git} 1403@end example 1404 1405Para conseguir más flexibilidad en el manejo del texto, algunos 1406usuarios prefieren exportar la el índice general o tabla de 1407contenidos desde lilypond y leerla dentro de @LaTeX{}. 1408 1409@subsubheading Exportación del índice general desde LilyPond 1410 1411Esto supone que nuestra partitura tiene varios movimientos dentro 1412del mismo archivo de salida de lilypond. 1413 1414@smallexample 1415#(define (oly:create-toc-file layout pages) 1416 (let* ((label-table (ly:output-def-lookup layout 'label-page-table))) 1417 (if (not (null? label-table)) 1418 (let* ((format-line (lambda (toc-item) 1419 (let* ((label (car toc-item)) 1420 (text (caddr toc-item)) 1421 (label-page (and (list? label-table) 1422 (assoc label label-table))) 1423 (page (and label-page (cdr label-page)))) 1424 (format #f "~a, section, 1, @{~a@}, ~a" page text label)))) 1425 (formatted-toc-items (map format-line (toc-items))) 1426 (whole-string (string-join formatted-toc-items ",\n")) 1427 (output-name (ly:parser-output-name)) 1428 (outfilename (format #f "~a.toc" output-name)) 1429 (outfile (open-output-file outfilename))) 1430 (if (output-port? outfile) 1431 (display whole-string outfile) 1432 (ly:warning (_ "Unable to open output file ~a for the TOC information") outfilename)) 1433 (close-output-port outfile))))) 1434 1435\paper @{ 1436 #(define (page-post-process layout pages) (oly:create-toc-file layout pages)) 1437@} 1438@end smallexample 1439 1440@subsubheading Importación del índice general dentro de LaTeX 1441 1442En LaTeX, la cabecera debe incluir lo siguiente: 1443 1444@c no, this doesn't require the smallexample, but since the other 1445@c two blocks on this page use it, I figured I might as well 1446@c user it here as well, for consistency. -gp 1447@smallexample 1448\usepackage@{pdfpages@} 1449\includescore@{nombredelapartitura@} 1450@end smallexample 1451 1452@noindent 1453donde @code{\includescore} está definido como: 1454 1455@smallexample 1456%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 1457% \includescore@{PossibleExtension@} 1458%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 1459 1460% Leer las entradas del índice general para un archivo PDF 1461% a partir del archivo .toc correspondeiente. 1462% Esto requiere bastantes trucos de latex, porque leer cosas de un archivo 1463% e insertarlo dentro de los argumentos de un macro no es posible 1464% fácilmente. 1465 1466% Solución de Patrick Fimml en el canal #latex el 18 de abril de 2009: 1467% \readfile@{filename@}@{\variable@} 1468% lee el contenido del archivo en \variable (no definida si el 1469% archivo no existe) 1470\newread\readfile@@f 1471\def\readfile@@line#1@{% 1472@{\catcode`\^^M=10\global\read\readfile@@f to \readfile@@tmp@}% 1473\edef\do@{\noexpand\g@@addto@@macro@{\noexpand#1@}@{\readfile@@tmp@}@}\do% 1474\ifeof\readfile@@f\else% 1475\readfile@@line@{#1@}% 1476\fi% 1477@} 1478\def\readfile#1#2@{% 1479\openin\readfile@@f=#1 % 1480\ifeof\readfile@@f% 1481\typeout@{No TOC file #1 available!@}% 1482\else% 1483\gdef#2@{@}% 1484\readfile@@line@{#2@}% 1485\fi 1486\closein\readfile@@f% 1487@}% 1488 1489 1490\newcommand@{\includescore@}[1]@{ 1491\def\oly@@fname@{\oly@@basename\@@ifmtarg@{#1@}@{@}@{_#1@}@} 1492\let\oly@@addtotoc\undefined 1493\readfile@{\oly@@xxxxxxxxx@}@{\oly@@addtotoc@} 1494\ifx\oly@@addtotoc\undefined 1495\includepdf[pages=-]@{\oly@@fname@} 1496\else 1497\edef\includeit@{\noexpand\includepdf[pages=-,addtotoc=@{\oly@@addtotoc@}] 1498@{\oly@@fname@}@}\includeit 1499\fi 1500@} 1501@end smallexample 1502 1503 1504@node Métodos alternativos para mezclar texto y música 1505@section Métodos alternativos para mezclar texto y música 1506@translationof Alternate methods of mixing text and music 1507 1508Otras formas de mezclar texto y música (sin 1509@command{lilypond-book}) se estudian en @ref{Otros programas}. 1510