<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <!-- header_tag --> <html lang="en"> <head> <title>Modifying stencils - GNU LilyPond Notation Reference</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta name="description" content="GNU LilyPond Notation Reference"> <meta name="generator" content="makeinfo 4.11"> <link title="Top" rel="start" href="index.es.html#Top"> <link rel="up" href="Advanced-tweaks.es.html#Advanced-tweaks" title="Advanced tweaks"> <link rel="prev" href="Modifying-ends-of-spanners.es.html#Modifying-ends-of-spanners" title="Modifying ends of spanners"> <link rel="next" href="Modifying-shapes.es.html#Modifying-shapes" title="Modifying shapes"> <link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage"> <!-- Copyright (C) 1999--2007 by the authors 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="Modifying-stencils"></a> Next: <a rel="next" accesskey="n" href="Modifying-shapes.es.html#Modifying-shapes">Modifying shapes</a>, Previous: <a rel="previous" accesskey="p" href="Modifying-ends-of-spanners.es.html#Modifying-ends-of-spanners">Modifying ends of spanners</a>, Up: <a rel="up" accesskey="u" href="Advanced-tweaks.es.html#Advanced-tweaks">Advanced tweaks</a> <hr> </div> <h4 class="subsection">5.6.3 Modifying stencils</h4> <p>All layout objects have a <code>stencil</code> property which is part of the <code>grob-interface</code>. By default, this property is usually set to a function specific to the object that is tailor-made to render the symbol which represents it in the output. For example, the standard setting for the <code>stencil</code> property of the <code>MultiMeasureRest</code> object is <code>ly:multi-measure-rest::print</code>. <p>The standard symbol for any object can be replaced by modifying the <code>stencil</code> property to reference a different, specially-written, procedure. This requires a high level of knowledge of the internal workings of LilyPond, but there is an easier way which can often produce adequate results. <p>This is to set the <code>stencil</code> property to the procedure which prints text – <code>ly:text-interface::print</code> – and to add a <code>text</code> property to the object which is set to contain the markup text which produces the required symbol. Due to the flexibility of markup, much can be achieved – see in particular <a href="Graphic-notation-inside-markup.es.html#Graphic-notation-inside-markup">Graphic notation inside markup</a>. <p>The following example demonstrates this by changing the note head symbol to a cross within a circle. <blockquote> <pre class="verbatim"> XinO = { \once \override NoteHead #'stencil = #ly:text-interface::print \once \override NoteHead #'text = \markup { \combine \halign #-0.7 \draw-circle #0.85 #0.2 ##f \musicglyph #"noteheads.s2cross" } } \relative c'' { a a \XinO a a } </pre> <p> <a href="../b8/lily-78b0125f.ly"> <img align="middle" border="0" src="../b8/lily-78b0125f.png" alt="[image of music]"> </a> </p> </blockquote> <p>Any of the glyphs in the feta Font can be supplied to the <code>\musicglyph</code> markup command – see <a href="The-Feta-font.es.html#The-Feta-font">The Feta font</a>. <!-- TODO Add inserting eps files or ref to later --> <!-- TODO Add inserting Postscript or ref to later --> <p class="noindent"> <h5 class="subsubheading">See also</h5> <p class="indent"> <p>Notation Reference: <a href="Graphic-notation-inside-markup.es.html#Graphic-notation-inside-markup">Graphic notation inside markup</a>, <a href="Formatting-text.es.html#Formatting-text">Formatting text</a>, <a href="Text-markup-commands.es.html#Text-markup-commands">Text markup commands</a>, <a href="The-Feta-font.es.html#The-Feta-font">The Feta font</a>. <!-- footer_tag --><br><hr> <div class="node"> <p> Next: <a rel="next" accesskey="n" href="Modifying-shapes.es.html#Modifying-shapes">Modifying shapes</a>, Previous: <a rel="previous" accesskey="p" href="Modifying-ends-of-spanners.es.html#Modifying-ends-of-spanners">Modifying ends of spanners</a>, Up: <a rel="up" accesskey="u" href="Advanced-tweaks.es.html#Advanced-tweaks">Advanced tweaks</a> </div> <div style="background-color: #e8ffe8; padding: 2; border: #c0ffc0 1px solid;"> <p> <font size="-1"> Esta página corresponde a LilyPond-2.11.57 (rama de desarrollo). <br> <address> Informe de los fallos a través de la lista en español <a href="http://es.groups.yahoo.com/group/lilypond-es/">lilypond-es</a>, o en inglés a través de <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> Se agradecen las <a href="http://lilypond.org/web/devel/participating/documentation-adding">sugerencias para la documentación</a>. </font> </p> </div> </BODY></html>