Sophie

Sophie

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

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>Tipparbeit sparen durch Bezeichner und Funktionen - 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="Suggestions-for-writing-LilyPond-files.de.html#Suggestions-for-writing-LilyPond-files" title="Vorschläge, wie LilyPond-Dateien geschrieben werden sollen">
<link rel="prev" href="Large-projects.de.html#Large-projects" title="Große Projekte">
<link rel="next" href="Style-sheets.de.html#Style-sheets" title="Stil-Dateien">
<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="Saving-typing-with-variables-and-functions"></a>
n&auml;chstes:&nbsp;<a rel="next" accesskey="n" href="Style-sheets.de.html#Style-sheets">Stil-Dateien</a>,
voriges:&nbsp;<a rel="previous" accesskey="p" href="Large-projects.de.html#Large-projects">Große Projekte</a>,
aufw&auml;rts:&nbsp;<a rel="up" accesskey="u" href="Suggestions-for-writing-LilyPond-files.de.html#Suggestions-for-writing-LilyPond-files">Vorschläge, wie LilyPond-Dateien geschrieben werden sollen</a>
<hr>
</div>

<h4 class="subsection">5.1.4 Tipparbeit sparen durch Bezeichner und Funktionen</h4>

<p><a name="index-Variable-258"></a><a name="index-Bezeichner-259"></a>
Bis jetzt haben Sie immer etwa solche Noten gesehen:

   <blockquote>
<pre class="verbatim">     
     HornNoten = \relative c'' { c4 b dis c }
     \score {
       {
         \HornNoten
       }
     }
</pre>
     <p>
 <a href="../8a/lily-718d27d0.ly"> <img align="middle" border="0" src="../8a/lily-718d27d0.png" alt="[image of music]"> </a>
</p>

   </blockquote>

   <p>Das könnte auch nützlich in Minimal-Music sein:

   <blockquote>
<pre class="verbatim">     
     fragA = \relative c'' { a4 a8. b16 }
     fragB = \relative c'' { a8. gis16 ees4 }
     Geige = \new Staff { \fragA \fragA \fragB \fragA }
     \score {
       {
         \Geige
       }
     }
</pre>
     <p>
 <a href="../98/lily-afb5e767.ly"> <img align="middle" border="0" src="../98/lily-afb5e767.png" alt="[image of music]"> </a>
</p>

   </blockquote>

   <p>Sie können diese Bezeichner oder Variablen aber auch für
(eigene) Einstellungen verwenden:

   <blockquote>
<pre class="verbatim">     
     dolce = \markup{ \italic \bold dolce }
     AbstandText = { \once \override TextScript #'padding = #5.0 }
     fthenp=_\markup{ \dynamic f \italic \small { 2nd } \hspace #0.1 \dynamic p }
     Geige = \relative c'' {
       \repeat volta 2 {
         c4._\dolce b8 a8 g a b |
         \AbstandText
         c4.^"hi there!" d8 e' f g d |
         c,4.\fthenp b8 c4 c-. |
       }
     }
     \score {
       {
         \Geige
       }
     \layout{ragged-right=##t}
     }
</pre>
     <p>
 <a href="../fb/lily-ace13d5f.ly"> <img align="middle" border="0" src="../fb/lily-ace13d5f.png" alt="[image of music]"> </a>
</p>

   </blockquote>

   <p>Die Variablen haben in diesem Beispiel deutlich die
Tipparbeit erleichtert. Aber es lohnt sich, sie zu
einzusetzen, auch wenn man sie nur einmal anwendet,
denn sie vereinfachen die Struktur. 
Hier ist das vorangegangene Beispiel ohne
Variablen. Es ist sehr viel komplizierter zu lesen,
besonders die letzte Zeile.

<pre class="example">violin = \relative c'' {
  \repeat volta 2 {
    c4._\markup{ \italic \bold dolce } b8 a8 g a b |
    \once \override TextScript #'padding = #5.0
    c4.^"hi there!" d8 e' f g d |
    c,4.\markup{ \dynamic f \italic \small { 2nd }
      \hspace #0.1 \dynamic p } b8 c4 c-. |
  }
}
</pre>
   <p>Bis jetzt wurde nur statische Substitution vorgestellt
&ndash; wenn LilyPond den Befehl <code>\padText</code> findet, wird
er ersetzt durch durch unsere vorherige Definition (alles,
was nach dem <code>padtext =</code> kommt).

   <p>LilyPond kennt aber auch nicht-statische Substitutionen (man
kann sie sich als Funktionen vorstellen).

   <blockquote>
<pre class="verbatim">     
     AbstandText =
     #(define-music-function (parser location padding) (number?)
       #{
         \once \override TextScript #'padding = #$padding
       #})
     
     \relative c''' {
       c4^"piu mosso" b a b
       \AbstandText #1.8
       c4^"piu mosso" d e f
       \AbstandText #2.6
       c4^"piu mosso" fis a g
     }
</pre>
     <p>
 <a href="../fd/lily-5fb6bbf8.ly"> <img align="middle" border="0" src="../fd/lily-5fb6bbf8.png" alt="[image of music]"> </a>
</p>

   </blockquote>

   <p>Die Benutzung von Variablen hilft auch, viele Schreibarbeit zu
vermeiden, wenn die Eingabesyntax von LilyPond sich verändert
(siehe auch <a href="Updating-old-files.de.html#Updating-old-files">Alte Dateien aktualisieren</a>). Wenn nur eine einzige
Definition (etwa <code>\dolce</code>) für alle Dateien verwendet wird
(vgl. <a href="Style-sheets.de.html#Style-sheets">Stil-Dateien</a>), muss nur diese einzige Definition
verändert werden, wenn sich die Syntax ändert. Alle Verwendungen
des Befehles beziehen sich dann auf die neue Definition.

   <!-- footer_tag --><br><hr>
<div class="node">
<p>
n&auml;chstes:&nbsp;<a rel="next" accesskey="n" href="Style-sheets.de.html#Style-sheets">Stil-Dateien</a>,
voriges:&nbsp;<a rel="previous" accesskey="p" href="Large-projects.de.html#Large-projects">Große Projekte</a>,
aufw&auml;rts:&nbsp;<a rel="up" accesskey="u" href="Suggestions-for-writing-LilyPond-files.de.html#Suggestions-for-writing-LilyPond-files">Vorschläge, wie LilyPond-Dateien geschrieben werden sollen</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="Saving-typing-with-variables-and-functions.html">English</a>, <a href="Saving-typing-with-variables-and-functions.fr.html">français</a>, <a href="Saving-typing-with-variables-and-functions.es.html">español</a>.
 <BR>
 
</P>
</BODY></html>