Sophie

Sophie

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

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>Automatisierter Notensatz - 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="Background.de.html#Background" title="Hintergrund">
<link rel="prev" href="Engraving.de.html#Engraving" title="Notensatz">
<link rel="next" href="What-symbols-to-engrave_003f.de.html#What-symbols-to-engrave_003f" title="Welche Symbole?">
<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="Automated-engraving"></a>
n&auml;chstes:&nbsp;<a rel="next" accesskey="n" href="What-symbols-to-engrave_003f.de.html#What-symbols-to-engrave_003f">Welche Symbole?</a>,
voriges:&nbsp;<a rel="previous" accesskey="p" href="Engraving.de.html#Engraving">Notensatz</a>,
aufw&auml;rts:&nbsp;<a rel="up" accesskey="u" href="Background.de.html#Background">Hintergrund</a>
<hr>
</div>

<h4 class="unnumberedsubsec">Automatisierter Notensatz</h4>

<p>Wie sollen wir also jetzt die Typographie anwenden? 
Wie können wir erwarten, dass wir in der Lage wären,
ein Programm zu schreiben, dass den Beruf des
Notenstechers ersetzt, wo dieser doch mehr als zehn
Jahre braucht, um ein Meister zu werden?

   <p>Wir können es tatsächlich nicht! Da Typographie allein
durch das menschliche Auge bestimmt ist, kann der Mensch
nicht ersetzt werden. Aber sehr viel mechanische Arbeit
kann automatisiert werden. Indem etwa LilyPond die üblichen
Situationen kennt und bewältigt, können die restlichen
Fehler von Hand beseitigt werden. Das ist schon ein
großer Fortschritt im Vergleich zu den existierenden
Programmen. Und mit der Zeit können immer mehr Fälle
automatisiert werden, so dass immer weniger Eingriffe
von Hand notwendig werden.

   <p>Als wir anfingen, haben wir LilyPond vollständig in der Programmiersprache C++
geschrieben. Das hieß, dass der Funktionsumfang des Programms vollständig durch
die Programmierer festgelegt war. Das stellte sich aus einer Reihe von Gründen
als unzureichend heraus:

     <ul>
<li>Wenn LilyPond Fehler macht, muss der Benutzer die
Einstellungen ändern können. Er muss also Zugang zur
Formatierungsmaschinerie haben. Deshalb können die Regeln und
Einstellungen nicht beim Kompilieren des Programms festgelegt
werden, sondern sie müssen während des Laufes zugänglich sein.

     <li>Notensatz ist eine Frage des Augenmaßes, und damit auch vom
 Geschmack abhängig. Benutzer können mit unseren Entscheidungen
unzufrieden sein. Darum müssen also auch die Definitionen des
typographischen Stils dem Benutzer zugänglich sein.

     <li>Schließlich verfeinern wir unseren Formatierungsalgorithmus
immer weiter, also müssen die Regeln auch flexibel sein. Die
Sprache C++ zwingt zu einer bestimmten Gruppierungsmethode,
die nicht den Regeln für den Notensatz entspricht. 
</ul>

   <p>Diese Probleme wurden angegangen, indem ein Übersetzer für
die Programmiersprache Scheme integriert wurde und Teile
von LilyPond in Scheme neu geschrieben wurden. Die derzeitige
Formatierungsarchitektur ist um die Notation von graphischen
Objekten herum aufgebaut, die von Scheme-Variablen und -Funktionen
beschrieben werden. Diese Architektur umfasst Formatierungsregeln,
typographische Stile und individuelle Formatierungsentscheidungen. 
Der Benutzer hat direkten Zugang zu den meisten dieser Einstellungen.

   <p>Scheme-Variablen steuern Layout-Entscheidungen. Zum Beispiel haben
viele graphische Objekte eine Richtungsvariable, die zwischen
oben und unten (oder rechts und links) wählen kann. Hier etwa
sind zwei Akkorde mit Akzenten und Arpeggien. 
Beim ersten Akkord sind alle Objekte nach unten (oder links)
 ausgerichtet, beim zweiten nach oben (rechts).

   <blockquote>
     <p>
 <a href="../f7/lily-868d710f.ly"> <img align="middle" border="0" src="../f7/lily-868d710f.png" alt="[image of music]"> </a>
</p>

   </blockquote>

<p class="noindent">Der Prozess des Notensetzens besteht für das Programm darin,
die Variablen der graphischen Objekte zu lesen und zu
schreiben. Einige Variablen haben festgelegte Werte. So
ist etwa die Dicke von vielen Linien – ein Charakteristikum
des typographischen Stils – von vornherein festgelegt. 
Wenn sie geändert werden, ergibt sich ein anderer typographischer Eindruck.

   <blockquote>
     <p>
 <a href="../29/lily-1b1eab1c.ly"> <img align="middle" border="0" src="../29/lily-1b1eab1c.png" alt="[image of music]"> </a>
</p>

   </blockquote>

   <p>Formatierungsregeln sind auch vorbelegte Variablen. Zu jedem Objekt gehören
Variablen, die Prozeduren enthalten. Diese Prozeduren machen die eigentliche
Satzarbeit, und wenn man sie durch andere ersetzt, kann die Darstellung
von Objekten verändert werden. Im nächsten Beispiel wird die Regel, nach der
die Notenköpfe gezeichnet werden, während des Ausschnitts verändert.

   <blockquote>
     <p>
 <a href="../8f/lily-c9522073.ly"> <img align="middle" border="0" src="../8f/lily-c9522073.png" alt="[image of music]"> </a>
</p>

   </blockquote>

   <!-- footer_tag --><br><hr>
<div class="node">
<p>
n&auml;chstes:&nbsp;<a rel="next" accesskey="n" href="What-symbols-to-engrave_003f.de.html#What-symbols-to-engrave_003f">Welche Symbole?</a>,
voriges:&nbsp;<a rel="previous" accesskey="p" href="Engraving.de.html#Engraving">Notensatz</a>,
aufw&auml;rts:&nbsp;<a rel="up" accesskey="u" href="Background.de.html#Background">Hintergrund</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="Automated-engraving.html">English</a>, <a href="Automated-engraving.fr.html">français</a>, <a href="Automated-engraving.es.html">español</a>.
 <BR>
 
</P>
</BODY></html>