Sophie

Sophie

distrib > Mandriva > 2009.0 > i586 > by-pkgid > 3a7b4dfc766af1222d90c7f03a0844e6 > files > 6167

lilypond-doc-2.11.57-1mdv2009.0.i586.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!-- header_tag -->
<html lang="de">
<head>
<title>Einführung in die Dateistruktur von LilyPond - GNU LilyPond Handbuch zum Lernen</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="GNU LilyPond Handbuch zum Lernen">
<meta name="generator" content="makeinfo 4.11">
<link title="Top" rel="start" href="index.de.html#Top">
<link rel="up" href="How-LilyPond-files-work.de.html#How-LilyPond-files-work" title="Wie eine LilyPond-Datei funktioniert">
<link rel="next" href="Score-is-a-_0028single_0029-compound-musical-expression.de.html#Score-is-a-_0028single_0029-compound-musical-expression" title="Score ist ein (einziger)  zusammengesetzter musikalischer Ausdruck">
<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
<!--
Copyright (C) 1999--2007 bei den Autoren

_The translation of the following copyright notice is provided
for courtesy to non-English speakers, but only the notice in English
legally counts._

_Die Übersetzung der folgenden Lizenzanmerkung ist zur Orientierung
für Leser, die nicht Englisch sprechen. Im rechtlichen Sinne ist aber
nur die englische Version gültig._

     Es ist erlaubt, dieses Dokument unter den Bedingungen der GNU Free
     Documentation Lizenz (Version 1.1 oder spätere, von der Free
     Software Foundation publizierte Versionen, ohne Invariante
     Abschnitte), zu kopieren, verbreiten und/oder zu verändern. Eine
     Kopie der Lizenz ist im Abschnitt ``GNU Free Documentation
     License'' angefügt.
     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="Introduction-to-the-LilyPond-file-structure"></a>
n&auml;chstes:&nbsp;<a rel="next" accesskey="n" href="Score-is-a-_0028single_0029-compound-musical-expression.de.html#Score-is-a-_0028single_0029-compound-musical-expression">Score ist ein (einziger)  zusammengesetzter musikalischer Ausdruck</a>,
aufw&auml;rts:&nbsp;<a rel="up" accesskey="u" href="How-LilyPond-files-work.de.html#How-LilyPond-files-work">Wie eine LilyPond-Datei funktioniert</a>
<hr>
</div>

<h4 class="subsection">3.1.1 Einführung in die Dateistruktur von LilyPond</h4>

<p><a name="index-Eingabeformat-191"></a><a name="index-Dateistruktur-192"></a>
Ein grundlegendes Beispiel einer Eingabedatei für LilyPond lautet:

<pre class="example">\version "2.11.57"<!-- /@w -->
\header { }
\score {
  <var>...zusammengesetzter Musik-Austruck...</var>  % Die gesamte Musik kommt hier!
  \layout { }
  \midi { }
}
</pre>
   <p class="noindent">Aufgrund der Flexibilität von LilyPond gibt es viele Variationen dieses
Schemas, aber dieses Beispiel dient als einfacher Ausgangspunkt.

   <p><a name="index-g_t_005cbook-193"></a><a name="index-g_t_005cbook-194"></a>
<a name="index-g_t_005cscore-195"></a><a name="index-g_t_005cscore-196"></a>
<a name="index-book-197"></a><a name="index-score-198"></a>
Bisher hat noch keines der Beispiele den <code>\score{}</code>-Befehl
benutzt, da Lilypond derartige zusätzliche Befehle automatisch
bei Bedarf einfügt, wenn die Eingabedatei eine einfache Struktur
hat.

   <p>Sehen wir uns als ein solches einfaches Beispiel an:

<pre class="example">\relative c'' {
  c4 a d c
}
</pre>
   <p class="noindent">Im Hintergrund kommen hier noch einige Ebenen dazu: LilyPond-Code
in der obigen Form ist in Wirklichkeit eine Abkürzung. Auch wenn man so
Dateien schreiben kann und sie auch korrekt gesetzt werden, heißt
der vollständige Code, der hier gemeint ist, eigentlich:

<pre class="example">\book {
  \score {
    \new Staff {
      \new Voice {
        \relative c'' {
          c4 a b c
        }
      }
    }
    \layout { }
  }
}
</pre>
   <p class="noindent">Mit anderen Worten: Wenn die Eingabedatei einen einfachen Musik-Ausdruck
enthält, wird LilyPond die Datei so interpretieren, als ob dieser
Ausdruck in den oben gezeigten Befehlen eingegeben wurde. Diese nötige
Stuktur wird automatisch im Speicher beim Aufruf von LilyPond erzeugt,
ohne dass der Benutzer davon etwas bemerkt.

   <p><a name="index-implicit-contexts-199"></a>
<strong>Ein Wort der Warnung ist jedoch angebracht!</strong> Viele der Beispiele
in der Dokumentation von LilyPond lassen die <code>\new Staff</code> und <code>\new Voice</code>
Befehle zur Erzeugung einer Notenzeile und einer Stimme (beides ist in
LilyPond ein sogenannter Kontext) bewusst aus,
damit sie implizit von LilyPond im Speicher erzeugt werden. 
Für einfache Dokumente funktioniert das im Allgemeinen sehr gut, für
komplexere Partituren können dadurch aber unerwartete Ergebnisse
entstehen, teilweise sogar unerwartete leere Notenzeilen. Um
die entsprechenden Kontexte in diesem Fall explizit zu erzeugen,
siehe <a href="Contexts-and-engravers.de.html#Contexts-and-engravers">Kontexte und Engraver</a>.

   <p><table class="cartouche" summary="cartouche" border="1"><tr><td>
<b>Achtung:</b> Wenn mehr als ein paar Zeilen an Musik eingegeben werden,
empfielt es sich, die Notenzeilen und die Stimmen immer explizit
mit <code>new Staff</code> und <code>new Voice</code> zu erzeugen. 
</td></tr></table>

   <p>Im Moment wollen wir aber zu unserem ersten Beispiel zurückkehren und
nur den <code>\score</code>-Befehl näher betrachten.

   <p>Eine Partitur (<code>\score</code>) muss immer mit einem musikalischen Ausdruck
beginnen. Das ist letztendlich alle Musik, angefangen bei einer
einzelnen
Note bis hin zu einer riesigen Partitur mit vielen Notensystemen
(bezeichnet durch <code>GrandStaff</code>):

<pre class="example">{
  \new GrandStaff &lt;&lt;
    <var>...hier die gesamte Partitur...</var>
  &gt;&gt;
}
</pre>
   <p class="noindent">Da sich alles innerhalb der geschweiften Klammern <code>{ ... }</code>
befindet, wird es wie ein einziger musikalischer Ausdruck behandelt.

   <p>Ein <code>\score</code> auch andere Dinge enthalten, wie etwa

<pre class="example">\score {
  { c'4 a b c' }
  \layout { }
  \midi { }
  \header { }
}
</pre>
   <p><a name="index-g_t_005cheader-200"></a><a name="index-g_t_005cheader-201"></a>
<a name="index-g_t_005clayout-202"></a><a name="index-g_t_005clayout-203"></a>
<a name="index-g_t_005cmidi-204"></a><a name="index-g_t_005cmidi-205"></a>
<a name="index-header-206"></a><a name="index-layout-207"></a><a name="index-midi-208"></a>
Wie man sieht sind die drei Befehle <code>\header</code>, <code>\layout</code> und
<code>\midi</code> von spezieller Natur: Im Gegensatz zu vielen Anderen Befehlen,
die auch mit einem <code>\</code> beginnen, liefern sie <em>keinen</em> Musikausdruck
und sind auch nicht Teil eines musikalischen Ausdrucks. Daher können sie
sowohl innerhalb eines <code>\score</code>-Blocks als auch außerhalb plaziert
werden. Tatsächlich werden einige dieser Befehle meist außerhalb des
<code>\score</code>-Blocksgesetzt, zum Beispiel findet sich der <code>\header</code>
sehr oft oberhalb der <code>\score</code>-Umgebung. Das
funktioniert genauso gut.

   <p>Zwei bisher noch nicht aufgetauchte Befehle sind
<code>\layout { }</code> und <code>\midi {}</code>. Wenn sie in einer
Datei vorkommen, führt dies dazu, dass Lilypond eine druckfähige PDF-Datei
bzw. eine MIDI-Datei erzeugt. Genauer beschrieben werden sie im
Benutzerhandbuch &ndash; <a name="index-Score-layout-209"></a><a href="../lilypond/Score-layout.de.html#Score-layout">Partiturlayout</a>, and
<a name="index-Creating-MIDI-files-210"></a><a href="../lilypond/Creating-MIDI-files.de.html#Creating-MIDI-files">MIDI-Dateien erstellen</a>.

   <p><a name="index-Partituren_002c-mehrfache-211"></a>
Ihr LilyPond Code kann auch mehrere <code>\score</code>-Blöcke enthalten. 
Jeder davon wird als eigenständige Partitur interpretiert, die
allerdings alle in dieselbe Ausgabedatei plaziert weden. 
Ein <code>\book</code>-Befehl ist nicht explizit notwendig &ndash; er wird
implizit erzeugt. Wenn jedoch für jeden <code>\score</code>-Block in einer
einzigen <code>.ly</code>-Datei eine eigene Ausgabe-Datei erzeugt werden soll,
dann muss jeder dieser Blöcke in einen eigenen <code>\book</code>-Block
gesetzt werden: Jeder <code>\book</code>-Block erzeugt dann eine
eigene Ausgabedatei.

   <p>Zusammenfassung:

   <p>Jeder <code>\book</code>-Block erzeugt eine eigene Ausgabedatei (z.B. eine
PDF-Datei). Wenn Sie keinen derartigen Block explizit angegeben haben,
setzt LilyPond den gesamten Dateiinhalt innerhalb eines einzigen
impliziten <code>\book</code>-Blocks.

   <p>Jeder <code>\score</code>-Block beschreibt ein eigenständiges Musikstück
innerhalb des <code>\book</code>-Blocks.

   <p>Jeder <code>\layout</code>-Block wirkt sich auf den <code>\score</code>- oder
<code>\book</code>-Block aus, in dem er auftritt. So wirkt z.B. ein
<code>\layout</code>-Block innerhalb eines <code>\score</code>-Blocks nur auf
diesen einen Block und seinen gesamten Inhalt, ein <code>\layout</code>-Block
außerhalb eines <code>\score</code>-Blocks (und daher innerhalb des implizit
erzeugten oder explizit angegebenen <code>\book</code>-Blocks) jedoch auf
alle <code>\score</code>-Blocks innerhalb dieses <code>\book</code>-Blocks.

   <p>Nähere Details finden sich im Abschnitt <a name="index-Multiple-scores-in-a-book-212"></a><a href="../lilypond/Multiple-scores-in-a-book.de.html#Multiple-scores-in-a-book">Mehrere Partituren in einem Buch</a>.

   <p><a name="index-Variablen-213"></a><a name="index-Bezeichner-214"></a>
Eine gute Möglichkeit zur Vereinfachung sind selbst definierte Variablen. 
Alle Vorlagen verwenden diese Möglichkeit.

<pre class="example">melodie = \relative c' {
  c4 a b c
}

\score {
  { \melodie }
}
</pre>
   <p>Wenn LilyPond diese Datei analysiert, nimmt es den Inhalt
von <code>melodie</code> (alles nach dem Gleichheitszeichen) und
fügt ihn immer dann ein, wenn ein <code>\melodie</code>
vorkommt. Die Namen sind frei wählbar, die Variable kann genauso
gut  <code>melodie</code>, <code>GLOBAL</code>,
<code>rechteHandklavier</code>, oder <code>foofoobarbaz</code> heißen. Für mehr
Information siehe
<a href="Saving-typing-with-variables-and-functions.de.html#Saving-typing-with-variables-and-functions">Tipparbeit sparen durch Bezeichner und Funktionen</a>. 
Als Variablenname kann fast jeder beliebige Name benutzt werden,
allerdings dürfen nur Buchstaben vorkommen (also keine Zahlen, Unterstriche,
Sonderzeichen, etc.) und er darf nicht wie ein LilyPond-Befehl
lauten. Die genauen Einschränkungen sind beschrieben in
<a name="index-File-structure-215"></a><a href="../lilypond/File-structure.de.html#File-structure">Die Dateistruktur</a>.

<p class="noindent">

<h5 class="subsubheading">Siehe auch</h5>

<p>Eine vollständige Definition des Eingabeformats findet sich in
<a name="index-File-structure-216"></a><a href="../lilypond/File-structure.de.html#File-structure">Die Dateistruktur</a>.

   <!-- footer_tag --><br><hr>
<div class="node">
<p>
n&auml;chstes:&nbsp;<a rel="next" accesskey="n" href="Score-is-a-_0028single_0029-compound-musical-expression.de.html#Score-is-a-_0028single_0029-compound-musical-expression">Score ist ein (einziger)  zusammengesetzter musikalischer Ausdruck</a>,
aufw&auml;rts:&nbsp;<a rel="up" accesskey="u" href="How-LilyPond-files-work.de.html#How-LilyPond-files-work">Wie eine LilyPond-Datei funktioniert</a>
</div>

<div style="background-color: #e8ffe8; padding: 2; border: #c0ffc0 1px solid;">
<p>
<font size="-1">
Diese Seite ist für LilyPond-2.11.57 (Entwicklungszweig).
<br>
<address>
Fehler bitte an <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> melden. </address>
<br>
Ihre <a href="http://lilypond.org/web/devel/participating/documentation-adding">Vorschläge für die Dokumentation</a> sind willkommen.
</font>
</p>
</div>


<P>
 Andere Sprachen: <a href="Introduction-to-the-LilyPond-file-structure.html">English</a>, <a href="Introduction-to-the-LilyPond-file-structure.fr.html">français</a>, <a href="Introduction-to-the-LilyPond-file-structure.es.html">español</a>.
 <BR>
 
</P>
</BODY></html>