Sophie

Sophie

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

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>set versus override - GNU LilyPond - manuel de notation</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="GNU LilyPond - manuel de notation">
<meta name="generator" content="makeinfo 4.11">
<link title="Top" rel="start" href="index.fr.html#Top">
<link rel="up" href="The-override-command.fr.html#The-override-command" title="The override command">
<link rel="prev" href="Using-Scheme-code-instead-of-tweak.fr.html#Using-Scheme-code-instead-of-tweak" title="Using Scheme code instead of tweak">
<link rel="next" href="Difficult-tweaks.fr.html#Difficult-tweaks" title="Retouches complexes">
<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
<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="set-versus-override"></a>
Suivant&nbsp;:&nbsp;<a rel="next" accesskey="n" href="Difficult-tweaks.fr.html#Difficult-tweaks">Retouches complexes</a>,
Précédent&nbsp;:&nbsp;<a rel="previous" accesskey="p" href="Using-Scheme-code-instead-of-tweak.fr.html#Using-Scheme-code-instead-of-tweak">Using Scheme code instead of tweak</a>,
Haut&nbsp;:&nbsp;<a rel="up" accesskey="u" href="The-override-command.fr.html#The-override-command">The override command</a>
<hr>
</div>

<h4 class="subsection">5.2.7 <code>\set</code> vs. <code>\override</code></h4>

<p>Si les propriétés peuvent être modifiées de deux façons, par les commandes
<code>\set</code> et <code>\override</code>, c'est qu'il y a deux types de propriétés.

   <p>Les contextes peuvent avoir des propriétés, dont les noms commencent par une
minuscule puis comprennent une ou plusieurs majuscules (de style
<code>totoTutu</code>).  Elles ont surtout trait
à la notation des éléments musicaux&nbsp;: par exemple, <code>localKeySignature</code> permet
de choisir s'il faut ou non imprimer une altération, ou <code>measurePosition</code> permet
de choisir quand il faut imprimer une barre de mesure.  Ces propriétés de contextes
sont appelées à changer au long de l'interprétation de la partition&nbsp;:
<code>measurePosition</code> en est un exemple évident.  Ces propriétés doivent
être modifiées avec la commande <code>\set</code>.

   <p>Il existe un type particulier de propriétés&nbsp;: les descriptions
d'éléments.  Ces propriétés, dont les noms commencent par une majuscule, puis comprennent
une ou plusieurs majuscules (de style <code>TotoTata</code>), contiennent les réglages
&lsquo;par défaut&rsquo; pour les objets graphiques.  Ces réglages sont sous forme de liste Scheme&nbsp;; on
peut les consulter dans le fichier <samp><span class="file">scm/define-grobs.scm</span></samp>. 
Les descriptions d'éléments doivent être modifiées avec la commande <code>\override</code>.

   <p><code>\override</code> est en fait un raccourci&nbsp;:

<pre class="example">\override <var>contexte</var>.<var>objet</var> #'<var>propriété</var> = #<var>valeur</var>
</pre>
   <p class="noindent">est plus ou moins l'équivalent de

<!-- leave this long line -gp -->
<pre class="example">\set <var>contexte</var>.<var>objet</var> #'<var>propriété</var> = #(cons (cons '<var>propriété</var> <var>valeur</var>) &lt;valeur précédente de <var>contexte</var>)
</pre>
   <p>La valeur de <code>context</code> (la liste Scheme, ou &lsquo;alist&rsquo;) sert à initialiser
les propriétés des objets un par un.  Les objets eux-même ont leurs propriétés,
dont les noms, dans la tradition du langage Scheme, comprennent un trait d'union
(<code>toto-titi</code>).  Ces propriétés internes changent constamment au cours de la mise
en page&nbsp;: en fait, la gravure d'une page n'est autre que le calcul de toutes
ces propriétés, au moyen de fonctions de rappel.

   <p>La propriété <code>fontSize</code> est une exception&nbsp;: c'est un raccourci, qui équivaudrait
à saisir <code>\override ... #'font-size</code> pour tous les objets
textuels.  Dans la mesure où il s'agit d'une manipulation très
courante, une propriété spéciale a été créée.  Elle doit
être modifiée avec la commande <code>\set</code>.

   <!-- footer_tag --><br><hr>
<div class="node">
<p>
Suivant&nbsp;:&nbsp;<a rel="next" accesskey="n" href="Difficult-tweaks.fr.html#Difficult-tweaks">Retouches complexes</a>,
Précédent&nbsp;:&nbsp;<a rel="previous" accesskey="p" href="Using-Scheme-code-instead-of-tweak.fr.html#Using-Scheme-code-instead-of-tweak">Using Scheme code instead of tweak</a>,
Haut&nbsp;:&nbsp;<a rel="up" accesskey="u" href="The-override-command.fr.html#The-override-command">The override command</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="set-versus-override.html">English</a>, <a href="set-versus-override.es.html">español</a>.
 <BR>
 
</P>
</BODY></html>