<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <!-- header_tag --> <html lang="en"> <head> <title>File structure - GNU LilyPond Notation Reference</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta name="description" content="GNU LilyPond Notation Reference"> <meta name="generator" content="makeinfo 4.11"> <link title="Top" rel="start" href="index.es.html#Top"> <link rel="up" href="Input-structure.es.html#Input-structure" title="Input structure"> <link rel="prev" href="Multiple-scores-in-a-book.es.html#Multiple-scores-in-a-book" title="Multiple scores in a book"> <link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage"> <!-- Copyright (C) 1999--2007 by the authors Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections. A copy of the license is included in the section entitled ``GNU Free Documentation License''. --> <meta http-equiv="Content-Style-Type" content="text/css"> <style type="text/css"><!-- pre.display { font-family:inherit } pre.format { font-family:inherit } pre.smalldisplay { font-family:inherit; font-size:smaller } pre.smallformat { font-family:inherit; font-size:smaller } pre.smallexample { font-size:smaller } pre.smalllisp { font-size:smaller } span.sc { font-variant:small-caps } span.roman { font-family:serif; font-weight:normal; } span.sansserif { font-family:sans-serif; font-weight:normal; } hr { border:0; height:1; color: #000000; background-color: #000000; } /* hr { border: none; height: 1px; color: #666666; background-color: #666666; } body { border-left: 1px solid #666666; border-right: 1px solid #666666; color: #332d28; margin-right: auto; margin-left: auto; width: 60em; list-style-type: square; font-family: Arial,Helvetica,sans-serif; padding-right: 1em; padding-left: 1em; } a { border-bottom: 1px dashed #344242; text-decoration: none; color: #344242; } a:link { text-decoration: none; } a:visited { border-bottom: 1px dashed #666666; color: #666666; } a:active { border-bottom: 1px solid #00cccc; color: #00cccc; } a:hover { border-bottom: 1px solid #1d7b85; color: #1d7b85; } blockquote { border: 1px solid #cccccc; padding: 3px; width: 40em; } .node { border-left: 1px solid #666666; margin: -0.5em 0px 1em; padding: 2px 1px 0px; font-style: italic; } .node a { border: none; text-decoration: underline; font-style: normal; font-weight: bold; } .verbatim { font-family: "Courier New",Courier,monospace; } .unnumberedsubsubsec { font-size: large; color: #1d7b85; } .subsubheading { font-size: large; color: #3b220d; } .contents { border: 1px dashed #339999; margin: 3px 2em; list-style-type: square; padding-right: 1em; width: 40em; background-color: #fcfff9; } .contents a { border-bottom: 1px dashed #423d34; text-decoration: none; color: #423d34; } .contents a:visited { border-bottom: 1px dashed #666666; color: #666666; } .contents a:active { border-bottom: 1px solid #f0d86d; color: #f0d86d; } .contents a:hover { border-bottom: 1px solid #3b220d; color: #3b220d; } .menu { border-left: 1px dashed #339999; margin: 3px 2em 1em; list-style-type: square; padding-left: 1.4em; width: 40em; } .unnumbered { } h2 { font-size: x-large; color: #1d7b85; } */ --></style> </head> <BODY BGCOLOR=WHITE TEXT=BLACK> <div class="node"> <p> <a name="File-structure"></a> Previous: <a rel="previous" accesskey="p" href="Multiple-scores-in-a-book.es.html#Multiple-scores-in-a-book">Multiple scores in a book</a>, Up: <a rel="up" accesskey="u" href="Input-structure.es.html#Input-structure">Input structure</a> <hr> </div> <h4 class="subsection">3.1.3 File structure</h4> <p><a name="index-g_t_005cpaper-2341"></a><a name="index-g_t_005cpaper-2342"></a> <a name="index-g_t_005cmidi-2343"></a><a name="index-g_t_005cmidi-2344"></a> <a name="index-g_t_005clayout-2345"></a><a name="index-g_t_005clayout-2346"></a> <a name="index-g_t_005cheader-2347"></a><a name="index-g_t_005cheader-2348"></a> <a name="index-g_t_005cscore-2349"></a><a name="index-g_t_005cscore-2350"></a> <a name="index-g_t_005cbook-2351"></a><a name="index-g_t_005cbook-2352"></a> <p>A <code>.ly</code> file may contain any number of toplevel expressions, where a toplevel expression is one of the following: <ul> <li>An output definition, such as <code>\paper</code>, <code>\midi</code>, and <code>\layout</code>. Such a definition at the toplevel changes the default book-wide settings. If more than one such definition of the same type is entered at the top level any definitions in the later expressions have precedence. <li>A direct scheme expression, such as <code>#(set-default-paper-size "a7" 'landscape)</code> or <code>#(ly:set-option 'point-and-click #f)</code>. <li>A <code>\header</code> block. This sets the global header block. This is the block containing the definitions for book-wide settings, like composer, title, etc. <li>A <code>\score</code> block. This score will be collected with other toplevel scores, and combined as a single <code>\book</code>. This behavior can be changed by setting the variable <code>toplevel-score-handler</code> at toplevel. The default handler is defined in the init file <samp><span class="file">../scm/lily.scm</span></samp>. <li>A <code>\book</code> block logically combines multiple movements (i.e., multiple <code>\score</code> blocks) in one document. If there are a number of <code>\score</code>s, one output file will be created for each <code>\book</code> block, in which all corresponding movements are concatenated. The only reason to explicitly specify <code>\book</code> blocks in a <code>.ly</code> file is if you wish to create multiple output files from a single input file. One exception is within lilypond-book documents, where you explicitly have to add a <code>\book</code> block if you want more than a single <code>\score</code> or <code>\markup</code> in the same example. This behavior can be changed by setting the variable <code>toplevel-book-handler</code> at toplevel. The default handler is defined in the init file <samp><span class="file">../scm/lily.scm</span></samp>. <li>A compound music expression, such as <pre class="example"> { c'4 d' e'2 } </pre> <p>This will add the piece in a <code>\score</code> and format it in a single book together with all other toplevel <code>\score</code>s and music expressions. In other words, a file containing only the above music expression will be translated into <pre class="example"> \book { \score { \new Staff { \new Voice { { c'4 d' e'2 } } } } \layout { } \header { } } </pre> <p>This behavior can be changed by setting the variable <code>toplevel-music-handler</code> at toplevel. The default handler is defined in the init file <samp><span class="file">../scm/lily.scm</span></samp>. <li>A markup text, a verse for example <pre class="example"> \markup { 2. The first line verse two. } </pre> <p>Markup texts are rendered above, between or below the scores or music expressions, wherever they appear. <p><a name="index-variables-2353"></a> <li>A variable, such as <pre class="example"> foo = { c4 d e d } </pre> <p>This can be used later on in the file by entering <code>\foo</code>. The name of an variable should have alphabetic characters only; no numbers, underscores or dashes. </ul> <p>The following example shows three things that may be entered at toplevel <pre class="example">\layout { % Don't justify the output ragged-right = ##t } \header { title = "Do-re-mi" } { c'4 d' e2 } </pre> <p>At any point in a file, any of the following lexical instructions can be entered: <ul> <li><code>\version</code> <li><code>\include</code> <li><code>\sourcefilename</code> <li><code>\sourcefileline</code> <li>A single-line comment, introduced by a leading <code>%</code> sign. <li>A multi-line comment delimited by <code>%{ .. %}</code>. </ul> <p class="noindent"> <h5 class="subsubheading">See also</h5> <p class="indent"> <p>Learning Manual: <a name="index-How-LilyPond-input-files-work-2354"></a><a href="../lilypond-learning/How-LilyPond-input-files-work.es.html#How-LilyPond-input-files-work">How LilyPond input files work</a>. <!-- footer_tag --><br><hr> <div class="node"> <p> Previous: <a rel="previous" accesskey="p" href="Multiple-scores-in-a-book.es.html#Multiple-scores-in-a-book">Multiple scores in a book</a>, Up: <a rel="up" accesskey="u" href="Input-structure.es.html#Input-structure">Input structure</a> </div> <div style="background-color: #e8ffe8; padding: 2; border: #c0ffc0 1px solid;"> <p> <font size="-1"> Esta página corresponde a LilyPond-2.11.57 (rama de desarrollo). <br> <address> Informe de los fallos a través de la lista en español <a href="http://es.groups.yahoo.com/group/lilypond-es/">lilypond-es</a>, o en inglés a través de <a href="http://post.gmane.org/post.php?group=gmane.comp.gnu.lilypond.bugs">http://post.gmane.org/post.php?group=gmane.comp.gnu.lilypond.bugs</a>. </address> <br> Se agradecen las <a href="http://lilypond.org/web/devel/participating/documentation-adding">sugerencias para la documentación</a>. </font> </p> </div> </BODY></html>