Sophie

Sophie

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

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>Fortgeschrittene Optimierungen mit Scheme - 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="Further-tweaking.de.html#Further-tweaking" title="Weitere Optimierungen">
<link rel="prev" href="Avoiding-tweaks-with-slower-processing.de.html#Avoiding-tweaks-with-slower-processing" title="Vermeiden von Optimierungen durch langsamere Übersetzung">
<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="Advanced-tweaks-with-Scheme"></a>
voriges:&nbsp;<a rel="previous" accesskey="p" href="Avoiding-tweaks-with-slower-processing.de.html#Avoiding-tweaks-with-slower-processing">Vermeiden von Optimierungen durch langsamere Übersetzung</a>,
aufw&auml;rts:&nbsp;<a rel="up" accesskey="u" href="Further-tweaking.de.html#Further-tweaking">Weitere Optimierungen</a>
<hr>
</div>

<h4 class="subsection">4.7.5 Fortgeschrittene Optimierungen mit Scheme</h4>

<p>Es wurde schon gezeigt, wie die LilyPond-Ausgabe sehr stark verändert
werden kann, indem man Befehle wie
<code>\override TextScript #'extra-offset = ( 1 . -1)</code> benutzt. Aber
noch mehr Einfluss auf die Formatierung kann durch den Einsatz von
Scheme genommen werden. Eine vollständige Erklärung findet sich in der
 <a href="Scheme-tutorial.de.html#Scheme-tutorial">Scheme-Übung</a> und den
<a name="index-Interfaces-for-programmers-254"></a><a href="../lilypond/Interfaces-for-programmers.de.html#Interfaces-for-programmers">Schnittstellen für Programmierer</a>.

   <p>Scheme kann benutzt werden, um einfach nur Befehle zu &bdquo;überschreiben&ldquo;
(<code>\override</code>):

   <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="../df/lily-7ebd8076.ly"> <img align="middle" border="0" src="../df/lily-7ebd8076.png" alt="[image of music]"> </a>
</p>

   </blockquote>

   <p>Hiermit können aber auch neue Befehle erstellt werden:

   <blockquote>
<pre class="verbatim">     
     tempoMark = #(define-music-function (parser location padding marktext)
                                         (number? string?)
     #{
       \once \override Score . RehearsalMark #'padding = $padding
       \once \override Score . RehearsalMark #'extra-spacing-width = #'(+inf.0 . -inf.0)
       \mark \markup { \bold $marktext }
     #})
     
     \relative c'' {
       c2 e
       \tempoMark #3.0 #"Allegro"
       g c
     }
</pre>
     <p>
 <a href="../dd/lily-8615b8fa.ly"> <img align="middle" border="0" src="../dd/lily-8615b8fa.png" alt="[image of music]"> </a>
</p>

   </blockquote>

   <p>Sogar ganze musikalische Ausdrücke können eingefügt werden:

   <blockquote>
<pre class="verbatim">     
     pattern = #(define-music-function (parser location x y) (ly:music? ly:music?)
     #{
       $x e8 a b $y b a e
     #})
     
     \relative c''{
       \pattern c8 c8\f
       \pattern {d16 dis} { ais16-> b\p }
     }
</pre>
     <p>
 <a href="../22/lily-99fb2d57.ly"> <img align="middle" border="0" src="../22/lily-99fb2d57.png" alt="[image of music]"> </a>
</p>

   </blockquote>

<!-- *- coding: utf-8; mode: texinfo; -*- -->
<!-- This file is part of lilypond.tely -->
<!-- \version "2.11.51" -->
   <!-- footer_tag --><br><hr>
<div class="node">
<p>
voriges:&nbsp;<a rel="previous" accesskey="p" href="Avoiding-tweaks-with-slower-processing.de.html#Avoiding-tweaks-with-slower-processing">Vermeiden von Optimierungen durch langsamere Übersetzung</a>,
aufw&auml;rts:&nbsp;<a rel="up" accesskey="u" href="Further-tweaking.de.html#Further-tweaking">Weitere Optimierungen</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="Advanced-tweaks-with-Scheme.html">English</a>, <a href="Advanced-tweaks-with-Scheme.fr.html">français</a>, <a href="Advanced-tweaks-with-Scheme.es.html">español</a>.
 <BR>
 
</P>
</BODY></html>