Sophie

Sophie

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

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>Retouches complexes - 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="set-versus-override.fr.html#set-versus-override" title="set versus override">
<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="Difficult-tweaks"></a>
Précédent&nbsp;:&nbsp;<a rel="previous" accesskey="p" href="set-versus-override.fr.html#set-versus-override">set versus override</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.8 Retouches complexes</h4>

<p>Certains réglages sont plus délicats que d'autres.

     <ul>
<li>L'un d'entre eux est l'apparence des objets dits &lsquo;spanner&rsquo;, qui s'étendent
horizontalement, tels que les liaisons.  Si, en principe, un seul de ces objets
est créé à la fois et peut donc être modifié de façon habituelle, lorsque ces
objets doivent enjamber un changement de ligne, ils sont dupliqués au début
du ou des systèmes suivants.  Comme ces objets sont des clones de l'objet d'origine,
ils en héritent toutes les propriétés, y compris les éventuelles commandes <code>\override</code>.

     <p>En d'autres termes, une commande <code>\override</code> affecte toujours les deux extrémités
d'un objet &lsquo;spanner&rsquo;.  Pour ne modifier que la partie précédant ou suivant le changement
de ligne, il faut intervenir directement dans le processus de mise en page. 
La fonction de rappel <code>after-line-breaking</code> contient toute l'opération Scheme
effectuée lorsque les sauts de lignes ont été déterminés, et que des objets graphiques
ont été divisés sur des systèmes différents.

     <p>Dans l'exemple suivant, on définit une nouvelle opération nommée
<code>my-callback</code>.  Cette opération

          <ul>
<li>détermine si l'objet a été divisé à l'occasion d'un changement de ligne
<li>si oui, recherche les différents morceaux de l'objet
<li>vérifie si l'objet considéré est bien la deuxième moitié d'un objet divisé
<li>si oui, applique un espacement supplémentaire (<code>extra-offset</code>). 
</ul>

     <p>On ajoute cette procédure à l'objet <a name="index-Tie-1077"></a><a href="../lilypond-internals/Tie.fr.html#Tie">Tie</a> (liaison de tenue),
de façon à ce que le deuxième morceau d'une liaison divisée soit rehaussé.

     <!-- KEEP LY -->
     <blockquote>
<pre class="verbatim">          
          #(define (my-callback grob)
            (let* (
                  &nbsp;; l'objet a-t-il été divisé<font size="-4">&nbsp;</font>?
                   (orig (ly:grob-original grob))
          
                  &nbsp;; si oui, rechercher les morceaux frères (siblings)
                   (siblings (if (ly:grob? orig)
                               (ly:spanner-broken-into orig) '() )))
          
             (if (and (>= (length siblings) 2)
                       (eq? (car (last-pair siblings)) grob))
               (ly:grob-set-property! grob 'extra-offset '(-2 . 5)))))
          
          \relative c'' {
            \override Tie #'after-line-breaking =
            #my-callback
            c1 ~ \break c2 ~ c
          }
     </pre>
          <p>
 <a href="../c6/lily-2cdd9109.ly"> <img align="middle" border="0" src="../c6/lily-2cdd9109.png" alt="[image of music]"> </a>
</p>

     </blockquote>

     <p class="noindent">Lorsque cette astuce va être appliquée, notre nouvelle fonction de rappel
<code>after-line-breaking</code> devra également appeler celle d'origine
(<code>after-line-breaking</code>), si elle existe. 
Ainsi, pour l'utiliser dans le cas d'un crescendo (objet <code>Hairpin</code>),
il faudra appeler également <code>ly:hairpin::after-line-breaking</code>.

     <li>Pour des raisons d'ordre technique, certains objets ne peuvent être modifiés par
<code>\override</code>.  Parmi ceux-là, les objets <code>NonMusicalPaperColumn</code>
et <code>PaperColumn</code>.  La commande <code>\overrideProperty</code> sert à les modifier, de
façon similaire à <code>\once \override</code>, mais avec une syntaxe différente&nbsp;:

     <pre class="example">     \overrideProperty
     #"Score.NonMusicalPaperColumn"  % Nom de l'objet
     #'line-break-system-details     % Nom de la propriété
     #'((next-padding . 20))         % valeur
</pre>
     <p>Notez cependant que la commande <code>\override</code> peut tout de même être appliquée
à <code>NoteMusicalPaperColumn</code> et <code>PaperColumn</code> dans un bloc <code>\context</code>.

   </ul>

<!-- *- coding: utf-8; mode: texinfo; documentlanguage: fr -*- -->
<!-- This file is part of lilypond.tely -->
   <!-- footer_tag --><br><hr>
<div class="node">
<p>
Précédent&nbsp;:&nbsp;<a rel="previous" accesskey="p" href="set-versus-override.fr.html#set-versus-override">set versus override</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="Difficult-tweaks.html">English</a>.
 <BR>
 
</P>
</BODY></html>