<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <!-- header_tag --> <html lang="en"> <head> <title>Compiling a file - GNU LilyPond Learning Manual</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta name="description" content="GNU LilyPond Learning Manual"> <meta name="generator" content="makeinfo 4.11"> <link title="Top" rel="start" href="index.html#Top"> <link rel="up" href="First-steps.html#First-steps" title="First steps"> <link rel="next" href="Simple-notation.html#Simple-notation" title="Simple notation"> <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="Compiling-a-file"></a> Next: <a rel="next" accesskey="n" href="Simple-notation.html#Simple-notation">Simple notation</a>, Up: <a rel="up" accesskey="u" href="First-steps.html#First-steps">First steps</a> <hr> </div> <h4 class="subsection">2.1.1 Compiling a file</h4> <p>“Compiling” is the term used for processing an input file in LilyPond format to produce a file which can be printed and (optionally) a MIDI file which can be played. LilyPond input files are simple text files. The first example shows what a simple input file looks like. <p>To create sheet music, we write an input file that specifies the notation. For example, if we write: <pre class="example">{ c' e' g' e' } </pre> <p class="noindent">the result looks like this: <!-- in this case we don't want verbatim --> <blockquote> <p> <a href="../b1/lily-138ef780.ly"> <img align="middle" border="0" src="../b1/lily-138ef780.png" alt="[image of music]"> </a> </p> </blockquote> <p><table class="cartouche" summary="cartouche" border="1"><tr><td> <b>Note:</b> Notes and lyrics in LilyPond input must always be surrounded by <strong>{ curly braces }</strong>. The braces should also be surrounded by a space unless they are at the beginning or end of a line to avoid ambiguities. The braces may be omitted in some examples in this manual, but don't forget them in your own music! For more information about the display of examples in the manual, see <a href="How-to-read-the-manual.html#How-to-read-the-manual">How to read the manual</a>. </td></tr></table> <p><a name="index-case-sensitive-39"></a>In addition, LilyPond input is <strong>case sensitive</strong>. <code>{ c d e }</code><!-- /@w --> is valid input; <code>{ C D E }</code><!-- /@w --> will produce an error message. <pre class="sp"> </pre> <h4 class="subheading">Entering music and viewing output</h4> <p><a name="index-PDF-file-40"></a><a name="index-viewing-music-41"></a> In this section we will explain what commands to run and how to view or print the output. <p>Note that there are several other text editors available with better support for LilyPond. For more information, see <a name="index-Text-editor-support-42"></a><a href="../lilypond-program/Text-editor-support.html#Text-editor-support">Text editor support</a>. <p><table class="cartouche" summary="cartouche" border="1"><tr><td> <b>Note:</b> The first time you ever run LilyPond, it may take a minute or two because all of the system fonts have to be analyzed first. After this, LilyPond will be much faster! </td></tr></table> <h5 class="subsubheading">MacOS X</h5> <p>If you double click <samp><span class="command">LilyPond.app</span></samp>, it will open with an example file. Save it, for example, to <samp><span class="file">test.ly</span></samp> on your Desktop, and then process it with the menu command <code>Compile > Typeset File</code><!-- /@w -->. The resulting PDF file will be displayed on your screen. <p>For future use of LilyPond, you should begin by selecting ‘New’ or ‘Open’. You must save your file before typesetting it. If any errors occur in processing, please see the log window. <h5 class="subsubheading">Windows</h5> <p>On Windows, if you double-click in the LilyPond icon on the Desktop, it will open a simple text editor with an example file. Save it, for example, to <samp><span class="file">test.ly</span></samp> on your Desktop and then double-click on the file to process it (the file icon looks like a note). After some seconds, you will get a file <samp><span class="file">test.pdf</span></samp> on your desktop. Double-click on this PDF file to view the typeset score. An alternative method to process the <samp><span class="file">test.ly</span></samp> file is to drag and drop it onto the LilyPond icon using your mouse pointer. <p>To edit an existing <samp><span class="file">.ly</span></samp> file, right-click on it and select “Edit source”. To get an empty file to start from, run the editor as described above and use “New” in the “File” menu, or right-click on the desktop and select “New..Text Document”, change its name to a name of your choice and change the file extension to <code>.ly</code>. Double-click the icon to type in your LilyPond source code as before. <p>Double-clicking the file does not only result in a PDF file, but also produces a <samp><span class="file">.log</span></samp> file that contains some information on what LilyPond has done to the file. If any errors occur, please examine this file. <h5 class="subsubheading">UNIX</h5> <p>Create a text file called <samp><span class="file">test.ly</span></samp> and enter: <pre class="example">{ c' e' g' e' } </pre> <p>To process <samp><span class="file">test.ly</span></samp>, proceed as follows: <pre class="example">lilypond test.ly </pre> <p class="noindent">You will see something resembling: <pre class="example">lilypond test.ly GNU LilyPond 2.11.57 Processing `test.ly' Parsing... Interpreting music... Preprocessing graphical objects... Finding the ideal number of pages... Fitting music on 1 page... Drawing systems... Layout output to `test.ps'... Converting to `test.pdf'... </pre> <!-- footer_tag --><br><hr> <div class="node"> <p> Next: <a rel="next" accesskey="n" href="Simple-notation.html#Simple-notation">Simple notation</a>, Up: <a rel="up" accesskey="u" href="First-steps.html#First-steps">First steps</a> </div> <div style="background-color: #e8ffe8; padding: 2; border: #c0ffc0 1px solid;"> <p> <font size="-1"> This page is for LilyPond-2.11.57 (development-branch). <br> <address> Report errors to <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> Your <a href="http://lilypond.org/web/devel/participating/documentation-adding">suggestions for the documentation</a> are welcome. </font> </p> </div> <P> Other languages: <a href="Compiling-a-file.fr.html">français</a>, <a href="Compiling-a-file.es.html">español</a>, <a href="Compiling-a-file.de.html">deutsch</a>. <BR> </P> </BODY></html>