Sophie

Sophie

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

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

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!-- header_tag -->
<html lang="en">
<head>
<title>Gravure automatisée - GNU LilyPond - manuel d'initiation</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="GNU LilyPond - manuel d'initiation">
<meta name="generator" content="makeinfo 4.11">
<link title="Top" rel="start" href="index.fr.html#Top">
<link rel="up" href="Background.fr.html#Background" title="Contexte">
<link rel="prev" href="Engraving.fr.html#Engraving" title="Gravure">
<link rel="next" href="What-symbols-to-engrave_003f.fr.html#What-symbols-to-engrave_003f" title="Gravure des symboles musicaux">
<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
<!--
Copyright (C) 1999--2008 par les auteurs

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

_La traduction de la notice de droits d'auteur ci-dessous vise à
faciliter sa compréhension par le lecteur non anglophone, mais seule la
notice en anglais a valeur légale._

     Vous avez le droit de copier, distribuer et/ou modifier ce document
     selon les termes de la Licence GNU de documentation libre, version
     1.1 ou tout autre version ultérieure publiée par la Free Software
     Foundation, ``sans aucune section invariante''.  Une copie de la
     licence est fournie à la section ``Licence GNU de documentation
     libre''.
     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>
Suivant&nbsp;:&nbsp;<a rel="next" accesskey="n" href="What-symbols-to-engrave_003f.fr.html#What-symbols-to-engrave_003f">Gravure des symboles musicaux</a>,
Précédent&nbsp;:&nbsp;<a rel="previous" accesskey="p" href="Engraving.fr.html#Engraving">Gravure</a>,
Haut&nbsp;:&nbsp;<a rel="up" accesskey="u" href="Background.fr.html#Background">Contexte</a>
<hr>
</div>

<h4 class="unnumberedsubsec">Gravure automatisée</h4>

<p>Comment pouvons-nous implémenter la typographie<font size="-4">&nbsp;</font>? Si les artisans ont
besoin de plus de dix ans pour devenir de vrais maîtres, comment nous,
simples programmeurs, pourrions-nous jamais écrire un programme pour
faire leur travail<font size="-4">&nbsp;</font>?

   <p>La réponse est&nbsp;: nous ne le pouvons pas.  La typographie se base sur
le jugement visuel humain, donc les humains ne peuvent pas être
complètement remplacés.  Si LilyPond arrive à résoudre la plupart des
situations correctement, ce sera déjà une grande avancée sur les
logiciels existants.  Les autres situations peuvent être résolues à la
main.  Au fil des ans, le logiciel peut être affiné pour faire de plus
en plus de choses automatiquement, pour que les ajustements manuels
soient de moins en moins nécessaires.

   <p>Quand nous avons commencé, nous avons écrit le programme Lilypond
entièrement dans le language de programmation C++&nbsp;; les fonctions du
programme étaient figées par les développeurs.  Ceci s'est avéré
insatisfaisant pour plusieurs raisons&nbsp;:

     <ul>
<li>Quand Lilypond fait des erreurs,
les utilisateurs ont besoin de contredire les décisions de formatage. 
Les utilisateurs doivent donc avoir accès au moteur de formatage.  Par
conséquent, les règles et les propriétés ne peuvent pas être fixées
par nous au moment de la compilation, mais doivent être accessibles
aux utilisateurs au moment de l'exécution.

     <li>La gravure est une question de jugement visuel, et donc de goût. 
Aussi bien informés que nous le sommes, les utilisateurs peuvent être
en désaccord avec nos décisions personnelles.  Par conséquent, les
définitions du modèle typographique doivent également être accessibles
à l'utilisateur.

     <li>Enfin, nous affinons continuellement les algorithmes de formatage,
donc nous avons besoin d'une approche souple des règles.  Le language
C++ oblige à une certaine méthode de groupage des règles qui ne
convient pas bien au fonctionnement de la notation musicale. 
</ul>

   <p>Ces problèmes ont été résolus en intégrant un interpréteur pour le
language de programmation Scheme, et en réécrivant des parties de
LilyPond en Scheme.  L'architecture actuelle de formatage est
construite autour de la notion d'objets graphiques, décrits par des
fonctions et des variables Scheme.  Cette architecture comprend les
règles de formatage, le style typographique, et des décisions
individuelles de formatage.  L'utilisateur a un accès direct à la
plupart de ces contrôles.

   <p>Les variables Scheme contrôlent les décisions de mise en page.  Par
exemple, beaucoup d'objets graphiques ont une variable de direction
qui encode le choix entre haut et bas (ou gauche et droite).  Vous
pouvez voir ici deux accords, avec des accents, et des arpèges.  Dans
le premier accord, les objets graphiques sont tous dirigés vers le bas
(ou la gauche).  Dans le second accord ils sont tous dirigés vers le
haut (droite).

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

   </blockquote>

<p class="noindent">Le processus de formatage d'une partition consiste à lire et écrire
les variables d'objets graphiques.  Certaines variables ont une valeur
prédéfinie.  Par exemple, l'épaisseur d'un grand nombre de lignes &ndash;
une caractéristique du style typographique &ndash; est une variable avec
une valeur prédéfinie.  Vous êtes libres d'altérer cette valeur, ce
qui vous donne une partition avec une impression typographique
différente.

   <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>Les règles de formatage ont aussi des variables prédéfinies&nbsp;: chaque
objet possède des variables contenant des procédures.  Ces procédures
exécutent le formatage, et en les substituant par d'autres, nous
pouvons changer l'apparence des objets.  Dans l'exemple suivant, la
règle du choix de têtes de notes est changée au cours de l'extrait de
musique.

   <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>
Suivant&nbsp;:&nbsp;<a rel="next" accesskey="n" href="What-symbols-to-engrave_003f.fr.html#What-symbols-to-engrave_003f">Gravure des symboles musicaux</a>,
Précédent&nbsp;:&nbsp;<a rel="previous" accesskey="p" href="Engraving.fr.html#Engraving">Gravure</a>,
Haut&nbsp;:&nbsp;<a rel="up" accesskey="u" href="Background.fr.html#Background">Contexte</a>
</div>

<div style="background-color: #e8ffe8; padding: 2; border: #c0ffc0 1px solid;">
<p>
<font size="-1">
Cette page documente LilyPond-2.11.57 (branche de développement).
<br>
<address>
Rapportez toute anomalie en français à <a href="mailto:lilypond-user-fr@gnu.org">lilypond-user-fr@gnu.org</a> ou en anglais à <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>
Vos <a href="http://lilypond.org/web/devel/participating/documentation-adding">suggestions à propos de la documentation</a> sont les bienvenues.
</font>
</p>
</div>


<P>
 Autres langues&nbsp;: <a href="Automated-engraving.html">English</a>, <a href="Automated-engraving.es.html">español</a>, <a href="Automated-engraving.de.html">deutsch</a>.
 <BR>
 
</P>
</BODY></html>