<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.lilypond.community/index.php?action=history&amp;feed=atom&amp;title=Shear_markup</id>
	<title>Shear markup - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.lilypond.community/index.php?action=history&amp;feed=atom&amp;title=Shear_markup"/>
	<link rel="alternate" type="text/html" href="https://wiki.lilypond.community/index.php?title=Shear_markup&amp;action=history"/>
	<updated>2026-05-05T05:52:56Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.44.2</generator>
	<entry>
		<id>https://wiki.lilypond.community/index.php?title=Shear_markup&amp;diff=4924&amp;oldid=prev</id>
		<title>Lemzwerg: New category</title>
		<link rel="alternate" type="text/html" href="https://wiki.lilypond.community/index.php?title=Shear_markup&amp;diff=4924&amp;oldid=prev"/>
		<updated>2025-11-21T23:36:16Z</updated>

		<summary type="html">&lt;p&gt;New category&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 23:36, 21 November 2025&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l474&quot;&gt;Line 474:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 474:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/lilypond&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/lilypond&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Text]][[Category:Snippet]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Text]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Snippet]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Lemzwerg</name></author>
	</entry>
	<entry>
		<id>https://wiki.lilypond.community/index.php?title=Shear_markup&amp;diff=3866&amp;oldid=prev</id>
		<title>Lemzwerg at 22:59, 21 November 2025</title>
		<link rel="alternate" type="text/html" href="https://wiki.lilypond.community/index.php?title=Shear_markup&amp;diff=3866&amp;oldid=prev"/>
		<updated>2025-11-21T22:59:54Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 22:59, 21 November 2025&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l474&quot;&gt;Line 474:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 474:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/lilypond&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/lilypond&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Text]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Text&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;]][[Category:Snippet&lt;/ins&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Lemzwerg</name></author>
	</entry>
	<entry>
		<id>https://wiki.lilypond.community/index.php?title=Shear_markup&amp;diff=2494&amp;oldid=prev</id>
		<title>Jean Abou Samra: Replace version=&quot;2.24.0&quot; with version=&quot;2.24&quot; now that the LilyWiki extension supports auto-selecting the latest release in a stable series</title>
		<link rel="alternate" type="text/html" href="https://wiki.lilypond.community/index.php?title=Shear_markup&amp;diff=2494&amp;oldid=prev"/>
		<updated>2025-11-16T18:51:59Z</updated>

		<summary type="html">&lt;p&gt;Replace version=&amp;quot;2.24.0&amp;quot; with version=&amp;quot;2.24&amp;quot; now that the LilyWiki extension supports auto-selecting the latest release in a stable series&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 18:51, 16 November 2025&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;This superseeds snippet 1166 and snippet 1167.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;This superseeds snippet 1166 and snippet 1167.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;lilypond version=&quot;2.24&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;.0&lt;/del&gt;&quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;lilypond version=&quot;2.24&quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;%% Thabks to Arnold from the geman forum&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;%% Thabks to Arnold from the geman forum&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;%% https://lilypondforum.de/index.php/topic,1216.msg6404.html#msg6404&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;%% https://lilypondforum.de/index.php/topic,1216.msg6404.html#msg6404&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Jean Abou Samra</name></author>
	</entry>
	<entry>
		<id>https://wiki.lilypond.community/index.php?title=Shear_markup&amp;diff=260&amp;oldid=prev</id>
		<title>Jean Abou Samra: Import snippet from LSR</title>
		<link rel="alternate" type="text/html" href="https://wiki.lilypond.community/index.php?title=Shear_markup&amp;diff=260&amp;oldid=prev"/>
		<updated>2025-10-26T22:39:02Z</updated>

		<summary type="html">&lt;p&gt;Import snippet from LSR&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;This superseeds snippet 1166 and snippet 1167.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;lilypond version=&amp;quot;2.24.0&amp;quot;&amp;gt;&lt;br /&gt;
%% Thabks to Arnold from the geman forum&lt;br /&gt;
%% https://lilypondforum.de/index.php/topic,1216.msg6404.html#msg6404&lt;br /&gt;
&lt;br /&gt;
#(define-markup-command (pop-override layout props arg)&lt;br /&gt;
  (markup?)&lt;br /&gt;
  &amp;quot;pop the last override in the markup chain&amp;quot;&lt;br /&gt;
  (let ((popped-props (if (&amp;gt; (length props) 1) (cdr props) props)))&lt;br /&gt;
   (interpret-markup layout popped-props arg)))&lt;br /&gt;
&lt;br /&gt;
#(define-markup-command (slant layout props phi arg)&lt;br /&gt;
  (number? markup?)&lt;br /&gt;
  #:category other&lt;br /&gt;
  #:properties ((par #t)&lt;br /&gt;
                (tilt 0.0)&lt;br /&gt;
                (finalrotation 0.0)&lt;br /&gt;
                (extrascaling &amp;#039;(1 . 1)))&lt;br /&gt;
  &amp;quot;&lt;br /&gt;
A geometric transformation which may be described in two ways:&lt;br /&gt;
 a) Shear Mapping: Cut your image in small stripes parallel to your&lt;br /&gt;
    base axis (e.g. X axis), then move them parallel to your base axis,&lt;br /&gt;
    the distance is proportional to the distance from the base axis.&lt;br /&gt;
 b) Skew Coordinates: See your input image as a geometric list by the&lt;br /&gt;
    cartesian coordiate system relative to your base axes (e.g. X axis&lt;br /&gt;
    and perpendicular the Y axis) - name these axes U resp. V. Now the&lt;br /&gt;
    V axis will be rotated to manipulate your image. Your U-V coordiante&lt;br /&gt;
    system is no longer cartesian, because it&amp;#039;s no longer pependicular.&lt;br /&gt;
 Tranformation matrix for an angle @var{phi}, default tilt, type a&lt;br /&gt;
 resp. property par = ##t:&lt;br /&gt;
    xx = 1.0    xy = tan(w)&lt;br /&gt;
    yx = 0.0    yy = 1.0&lt;br /&gt;
 Tranformation matrix for an angle @var{phi}, default tilt, type b&lt;br /&gt;
 resp. property par = ##f:&lt;br /&gt;
    xx = 1.0    xy = sin(w)&lt;br /&gt;
    yx = 0.0    yy = cos(w)&lt;br /&gt;
 Relation from type b to type a: the original Y axis (V axis) is&lt;br /&gt;
 scaled by factor 1/cos(w)&lt;br /&gt;
&lt;br /&gt;
 Properties for this markup:&lt;br /&gt;
   @var{par} is #t for Type a (default), #f for Type b&lt;br /&gt;
   @var{tilt} specifies the invariant axis, 0 for X axis (default),&lt;br /&gt;
   90 for Y axis, other values possible&lt;br /&gt;
   @var{finalrotation} specifies an additional rotation appended to this&lt;br /&gt;
   shear / skew mapping&lt;br /&gt;
   @var{extrascaling} will apply an extra scaling to the U and V axis&lt;br /&gt;
   &lt;br /&gt;
 Arguments for this markup:&lt;br /&gt;
   @var{phi} is the shear angle. (allmost) ±90° will force geometric&lt;br /&gt;
   problems.&lt;br /&gt;
   And finally the markup to be transformed.&lt;br /&gt;
   &lt;br /&gt;
Technically there is no SCHEME function available to apply a&lt;br /&gt;
ly:transform? object to a stencil. Therefore roation and scale&lt;br /&gt;
statements are used to fullfill the task. &lt;br /&gt;
Once the U and V axis are properly scaled, the stencil is rotated so&lt;br /&gt;
the U axis directs 45° up to the right and the V axis directs 45° up to&lt;br /&gt;
the left. A properly choosen scale factor pair will rotate both axes&lt;br /&gt;
together (or away from each other) by a specified angle without scaling&lt;br /&gt;
these axes. A final back rotation completes the sequence.&lt;br /&gt;
   &amp;quot;&lt;br /&gt;
  (let* ((half-phi (* 0.5 phi))&lt;br /&gt;
         (phi-dir (ly:directed phi))&lt;br /&gt;
         (cos-phi (car phi-dir))&lt;br /&gt;
         (half-dir (ly:directed half-phi))&lt;br /&gt;
         (sin-part (cdr half-dir))&lt;br /&gt;
         (cos-part (car half-dir))&lt;br /&gt;
         (px (- cos-part sin-part))&lt;br /&gt;
         (py (+ cos-part sin-part))&lt;br /&gt;
         (stil (interpret-markup layout props arg))&lt;br /&gt;
         (need-first-rot (or par&lt;br /&gt;
                             (not (= (car extrascaling) 1))&lt;br /&gt;
                             (not (= (cdr extrascaling) 1))))&lt;br /&gt;
         (first-scale (if par&lt;br /&gt;
                       (cons (car extrascaling) (/ (cdr extrascaling) cos-phi))&lt;br /&gt;
                       extrascaling)))&lt;br /&gt;
   ; for debugging:&lt;br /&gt;
   ; (for-each display (list &amp;quot;\n\\slant &amp;quot; phi &amp;quot; (par=&amp;quot; par &amp;quot; ori=&amp;quot; tilt &amp;quot; fin=&amp;quot; finalrotation &amp;quot; scl=&amp;quot; extrascaling &amp;quot;)\n&amp;quot;&lt;br /&gt;
   ;  &amp;quot;  cos-phi=&amp;quot; (ly:number-&amp;gt;string cos-phi)&lt;br /&gt;
   ;  &amp;quot; sin-part=&amp;quot; (ly:number-&amp;gt;string sin-part)&lt;br /&gt;
   ;  &amp;quot; cos-part=&amp;quot; (ly:number-&amp;gt;string cos-part)&lt;br /&gt;
   ;  &amp;quot; first-scale=&amp;quot; first-scale&lt;br /&gt;
   ;  &amp;quot;\n&amp;quot;))&lt;br /&gt;
   (if (&amp;lt; (abs cos-phi) 0.01) (ly:program-error&lt;br /&gt;
     &amp;quot;slant markup with angle too close to 90° may cause runtime error!&amp;quot;))&lt;br /&gt;
   (if (&amp;lt; (abs px) 0.00001)&lt;br /&gt;
    (set! px (if (negative? px) -0.00001 0.00001)))&lt;br /&gt;
   (if (&amp;lt; (abs py) 0.00001)&lt;br /&gt;
    (set! py (if (negative? py) -0.00001 0.00001)))&lt;br /&gt;
   (let* ((v-pos-stil&lt;br /&gt;
           (if need-first-rot&lt;br /&gt;
            (ly:stencil-rotate-absolute&lt;br /&gt;
             (ly:stencil-scale&lt;br /&gt;
              (if (= tilt 0.0)&lt;br /&gt;
               stil&lt;br /&gt;
               (ly:stencil-rotate-absolute&lt;br /&gt;
                stil&lt;br /&gt;
                (- tilt) 0.0 0.0))&lt;br /&gt;
              (car first-scale) (cdr first-scale))&lt;br /&gt;
             45.0 0.0 0.0)&lt;br /&gt;
            (ly:stencil-rotate-absolute stil (- 45.0 tilt) 0.0 0.0)))&lt;br /&gt;
          (final-stil&lt;br /&gt;
           (ly:stencil-rotate-absolute&lt;br /&gt;
            (ly:stencil-scale v-pos-stil px py)&lt;br /&gt;
            (+ -45.0 (- half-phi) tilt finalrotation) 0.0 0.0))&lt;br /&gt;
          (final-expr (ly:stencil-expr final-stil))&lt;br /&gt;
          (final-X-ext (stencil-true-extent final-stil X))&lt;br /&gt;
          (final-Y-ext (stencil-true-extent final-stil Y)))&lt;br /&gt;
    (ly:make-stencil final-expr final-X-ext final-Y-ext))))&lt;br /&gt;
&lt;br /&gt;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&lt;br /&gt;
&lt;br /&gt;
#(define di-wl 7.18)&lt;br /&gt;
#(define di-wr 41.41)&lt;br /&gt;
#(define bezier-round 0.551857)&lt;br /&gt;
#(define sz 16)&lt;br /&gt;
&lt;br /&gt;
#(define (di-map size z x y)&lt;br /&gt;
  (let ((dir-l (ly:directed di-wl size))&lt;br /&gt;
        (dir-r (ly:directed di-wr size)))&lt;br /&gt;
   (cons (- (* (car dir-l) x) (* (car dir-r) 0.5 z))&lt;br /&gt;
         (- (* y size) (* (cdr dir-l) x) (* (cdr dir-r) 0.5 z)))))&lt;br /&gt;
         &lt;br /&gt;
DiRoofL = #(define-scheme-function (m) (markup?)&lt;br /&gt;
 (let* ((h (sqrt 0.75))&lt;br /&gt;
        (PP (di-map sz -0.5 0 h))&lt;br /&gt;
        (lgs (/ (sqrt (+ (* (car PP) (car PP)) (* (cdr PP) (cdr PP)))) sz))&lt;br /&gt;
        (w (ly:angle (car PP) (cdr PP))))&lt;br /&gt;
  (make-override-markup `((finalrotation . ,(- di-wl))&lt;br /&gt;
                          (extrascaling . (1 . ,lgs))&lt;br /&gt;
                          (par . #f))&lt;br /&gt;
   (make-slant-markup (- 90 w di-wl) m))))&lt;br /&gt;
&lt;br /&gt;
DiRoofR = #(define-scheme-function (m) (markup?)&lt;br /&gt;
 (let* ((h (sqrt 0.75))&lt;br /&gt;
        (PP (di-map sz 0 -0.5 h))&lt;br /&gt;
        (lgs (/ (sqrt (+ (* (car PP) (car PP)) (* (cdr PP) (cdr PP)))) sz))&lt;br /&gt;
        (w (ly:angle (car PP) (cdr PP))))&lt;br /&gt;
  (make-override-markup `((finalrotation . ,di-wr)&lt;br /&gt;
                          (extrascaling . (0.5 . ,lgs))&lt;br /&gt;
                          (par . #f))&lt;br /&gt;
   (make-slant-markup (- 90 w (- di-wr)) m))))&lt;br /&gt;
   &lt;br /&gt;
DiPlaneL = #(define-scheme-function (m) (markup?)&lt;br /&gt;
 (make-override-markup `((finalrotation . ,(- di-wl))&lt;br /&gt;
                         (par . #f))&lt;br /&gt;
  (make-slant-markup (- di-wl) m)))&lt;br /&gt;
&lt;br /&gt;
DiPlaneL¹ = #(define-scheme-function (m) (markup?)&lt;br /&gt;
 (make-override-markup `((finalrotation . 90)&lt;br /&gt;
                         (par . #f))&lt;br /&gt;
  (make-slant-markup di-wl m)))&lt;br /&gt;
&lt;br /&gt;
DiPlaneR = #(define-scheme-function (m) (markup?)&lt;br /&gt;
 (make-override-markup `((finalrotation . ,di-wr)&lt;br /&gt;
                         (extrascaling . (0.5 . 1))&lt;br /&gt;
                         (par . #f))&lt;br /&gt;
  (make-slant-markup di-wr m)))&lt;br /&gt;
  &lt;br /&gt;
DiPlaneR¹ = #(define-scheme-function (m) (markup?)&lt;br /&gt;
 (make-override-markup `((finalrotation . 90)&lt;br /&gt;
                         (extrascaling . (1 . 0.5))&lt;br /&gt;
                         (par . #f))&lt;br /&gt;
  (make-slant-markup (- di-wr) m)))&lt;br /&gt;
  &lt;br /&gt;
DiPlaneT = #(define-scheme-function (m) (markup?)&lt;br /&gt;
 (make-override-markup `((finalrotation . ,(- di-wl))&lt;br /&gt;
                         (extrascaling . (1 . 0.5))&lt;br /&gt;
                         (par . #f))&lt;br /&gt;
  (make-slant-markup (- 90.0 di-wr di-wl) m)))&lt;br /&gt;
&lt;br /&gt;
DiPlaneT¹ = #(define-scheme-function (m) (markup?)&lt;br /&gt;
 (make-override-markup `((finalrotation . ,di-wr)&lt;br /&gt;
                         (extrascaling . (0.5 . 1))&lt;br /&gt;
                         (par . #f))&lt;br /&gt;
  (make-slant-markup (+ di-wr di-wl -90.0) m)))&lt;br /&gt;
&lt;br /&gt;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&lt;br /&gt;
&lt;br /&gt;
#(define roof-path `((moveto 0 0)&lt;br /&gt;
                     (lineto ,sz 0)&lt;br /&gt;
                     (lineto ,(* 0.5 sz) ,sz)&lt;br /&gt;
                     (closepath)))&lt;br /&gt;
#(define large-bow-path `((moveto 0 0)&lt;br /&gt;
                          (lineto ,sz 0)&lt;br /&gt;
                          (curveto ,sz ,(* sz bezier-round)&lt;br /&gt;
                                   ,(* sz (- 2 bezier-round)) ,sz&lt;br /&gt;
                                   ,(* sz 2) ,sz)&lt;br /&gt;
                          (curveto ,(* sz (+ 2 bezier-round)) ,sz&lt;br /&gt;
                                   ,(* sz 3) ,(* sz bezier-round)&lt;br /&gt;
                                   ,(* sz 3) 0)&lt;br /&gt;
                          (lineto ,(* sz 4) 0)&lt;br /&gt;
                          (lineto ,(* sz 4) ,(* sz 1.5))&lt;br /&gt;
                          (lineto 0 ,(* sz 1.5))&lt;br /&gt;
                          (closepath)))&lt;br /&gt;
#(define small-bow-path `((moveto 0 0)&lt;br /&gt;
                          (lineto ,sz 0)&lt;br /&gt;
                          (curveto ,sz ,(* sz bezier-round 0.5)&lt;br /&gt;
                                   ,(* sz 0.5 (- 3 bezier-round)) ,(* sz 0.5)&lt;br /&gt;
                                   ,(* sz 1.5) ,(* sz 0.5))&lt;br /&gt;
                          (curveto ,(* sz 0.5 (+ 3 bezier-round)) ,(* sz 0.5)&lt;br /&gt;
                                   ,(* sz 2) ,(* sz 0.5 bezier-round)&lt;br /&gt;
                                   ,(* sz 2) 0)&lt;br /&gt;
                          (lineto ,(* sz 3) 0)&lt;br /&gt;
                          (lineto ,(* sz 3) ,sz)&lt;br /&gt;
                          (lineto 0 ,sz)&lt;br /&gt;
                          (closepath)))&lt;br /&gt;
&lt;br /&gt;
RoofPlane = #(define-scheme-function (r g b) (number? number? number?)&lt;br /&gt;
 (make-with-color-markup (list r g b)&lt;br /&gt;
  (make-override-markup &amp;#039;(filled . #t)&lt;br /&gt;
   (make-path-markup 0 roof-path))))&lt;br /&gt;
   &lt;br /&gt;
BowPlaneSmall = #(define-scheme-function (r g b) (number? number? number?)&lt;br /&gt;
 (make-with-color-markup (list r g b)&lt;br /&gt;
  (make-override-markup &amp;#039;(filled . #t)&lt;br /&gt;
   (make-path-markup 0 small-bow-path))))&lt;br /&gt;
   &lt;br /&gt;
BowPlaneLarge = #(define-scheme-function (r g b) (number? number? number?)&lt;br /&gt;
 (make-with-color-markup (list r g b)&lt;br /&gt;
  (make-override-markup &amp;#039;(filled . #t)&lt;br /&gt;
   (make-path-markup 0 large-bow-path))))&lt;br /&gt;
&lt;br /&gt;
RectPlane = #(define-scheme-function (r g b x y) (number? number? number? number? number?)&lt;br /&gt;
 (make-with-color-markup (list r g b)&lt;br /&gt;
  (make-override-markup &amp;#039;(filled . #t)&lt;br /&gt;
   (make-path-markup 0 `((moveto 0 0)&lt;br /&gt;
                         (lineto ,(* sz x) 0)&lt;br /&gt;
                         (lineto ,(* sz x) ,(* sz y))&lt;br /&gt;
                         (lineto 0 ,(* sz y))&lt;br /&gt;
                         (closepath))))))&lt;br /&gt;
                         &lt;br /&gt;
&lt;br /&gt;
RoofPlaneR = \markup \RoofPlane #1.0 #0.4 #0.4&lt;br /&gt;
RoofPlaneL = \markup \RoofPlane #0.9 #0.2 #0.2&lt;br /&gt;
&lt;br /&gt;
BowPlaneLaRaw = \markup \BowPlaneLarge #0.2 #0.7 #0.2&lt;br /&gt;
BowPlaneLd = \markup \BowPlaneLarge #0.1 #0.5 #0.1&lt;br /&gt;
BowFeederL = \markup \RectPlane     #0.1 #0.5 #0.1 #1 #1&lt;br /&gt;
BowSideL   = \markup \RectPlane     #0.5 #0.9 #0.5 #1 #1.5&lt;br /&gt;
BowTopLa   = \markup \RectPlane     #0.2 #0.6 #0.2 #4 #1&lt;br /&gt;
&lt;br /&gt;
BowPlaneLbRaw = \markup \BowPlaneSmall #0.7 #0.7 #0.6&lt;br /&gt;
BowFeederSm = \markup \RectPlane    #0.5 #0.5 #0.4 #1 #0.8&lt;br /&gt;
BowTopSm    = \markup \RectPlane    #0.6 #0.6 #0.5 #3 #1&lt;br /&gt;
&lt;br /&gt;
RoofPlaneRV¹ = \markup \overlay {&lt;br /&gt;
  \RoofPlaneR&lt;br /&gt;
  \translate #(cons (* 0.5 sz) (* 0.4 sz))&lt;br /&gt;
   \scale #(cons (* 0.1 sz) (* 0.1 sz))&lt;br /&gt;
    \center-align \musicglyph #&amp;quot;clefs.F&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
RoofPlaneLB¹ = \markup \overlay {&lt;br /&gt;
  \RoofPlaneL&lt;br /&gt;
  \translate #(cons (* 0.5 sz) (* 0.3 sz))&lt;br /&gt;
   \scale #(cons (* 0.1 sz) (* 0.1 sz))&lt;br /&gt;
    \center-align \musicglyph #&amp;quot;clefs.G&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
RoofPlaneRV² = \markup \overlay {&lt;br /&gt;
  \RoofPlaneR&lt;br /&gt;
  \translate #(cons (* 0.5 sz) (* 0.1 sz))&lt;br /&gt;
   \scale #(cons (* 0.17 sz) (* 0.17 sz))&lt;br /&gt;
    \center-align \musicglyph #&amp;quot;pedal.Ped&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
RoofPlaneLB² = \markup \overlay {&lt;br /&gt;
  \RoofPlaneL&lt;br /&gt;
  \translate #(cons (* 0.5 sz) (* 0.3 sz))&lt;br /&gt;
   \scale #(cons (* 0.1 sz) (* 0.1 sz))&lt;br /&gt;
    \center-align \musicglyph #&amp;quot;clefs.C&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
RoofPlaneRV³ = \markup \overlay {&lt;br /&gt;
  \RoofPlaneR&lt;br /&gt;
  \translate #(cons (* 0.5 sz) (* 0.35 sz))&lt;br /&gt;
   \scale #(cons (* 0.22 sz) (* 0.22 sz))&lt;br /&gt;
    \center-align \musicglyph #&amp;quot;scripts.coda&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
RoofPlaneLB³ = \markup \overlay {&lt;br /&gt;
  \RoofPlaneL&lt;br /&gt;
  \translate #(cons (* 0.5 sz) (* 0.35 sz))&lt;br /&gt;
   \scale #(cons (* 0.15 sz) (* 0.15 sz))&lt;br /&gt;
    \center-align \musicglyph #&amp;quot;scripts.segno&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
LongPlane¹¹ = \markup \overlay {&lt;br /&gt;
  \RectPlane #0.1 #0.1 #1.0 #4 #1&lt;br /&gt;
  \translate #(cons (* sz 2) (* sz 0.6))&lt;br /&gt;
   \scale #(cons (* sz 0.15) (* sz 0.15))&lt;br /&gt;
    \bold \column {&lt;br /&gt;
      \center-align &amp;quot;deutschsprachiges&amp;quot;&lt;br /&gt;
      \center-align &amp;quot;Lilypondforum&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
LongPlane¹² = \markup \overlay {&lt;br /&gt;
  \RectPlane #0.3 #0.6 #1.0 #4 #1&lt;br /&gt;
  \translate #(cons (* sz 2) (* sz 0.4))&lt;br /&gt;
   \scale #(cons (* sz 0.15) (* sz 0.15))&lt;br /&gt;
    \center-align &amp;quot;https://lilypondforum.de&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
LongPlane²¹ = \markup \overlay {&lt;br /&gt;
  \RectPlane #1.0 #0.5 #0.1 #2.5 #1&lt;br /&gt;
  \translate #(cons (* sz 1.25) (* sz 0.35))&lt;br /&gt;
   \scale #(cons (* sz 0.2) (* sz 0.2))&lt;br /&gt;
    \bold \center-align &amp;quot;Lilypond&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
LongPlane²² = \markup \overlay {&lt;br /&gt;
  \RectPlane #1.0 #0.7 #0.5 #2.5 #1&lt;br /&gt;
  \translate #(cons (* sz 1.25) (* sz 0.4))&lt;br /&gt;
   \scale #(cons (* sz 0.12) (* sz 0.15))&lt;br /&gt;
    \center-align &amp;quot;www.lilypond.org&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
LongPlane³¹ = \markup \overlay {&lt;br /&gt;
  \RectPlane #0.4 #0.2 #0.0 #2.5 #1&lt;br /&gt;
  \translate #(cons (* sz 1.25) (* sz 0.55))&lt;br /&gt;
   \scale #(cons (* sz 0.15) (* sz 0.15))&lt;br /&gt;
    \with-color #yellow&lt;br /&gt;
    \italic \override #&amp;#039;(baseline-skip . 2.5) \column {&lt;br /&gt;
      \center-align &amp;quot;ein Notenbild,&amp;quot;&lt;br /&gt;
      \center-align &amp;quot;mit dem man&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
LongPlane³² = \markup \overlay {&lt;br /&gt;
  \RectPlane #0.6 #0.3 #0.1 #2.5 #1&lt;br /&gt;
  \translate #(cons (* sz 1.25) (* sz 0.55))&lt;br /&gt;
   \scale #(cons (* sz 0.15) (* sz 0.15))&lt;br /&gt;
    \with-color #&amp;#039;(1.0 1.0 0.5)&lt;br /&gt;
    \italic \override #&amp;#039;(baseline-skip . 2.5) \column {&lt;br /&gt;
      \center-align &amp;quot;gerne vom&amp;quot;&lt;br /&gt;
      \center-align &amp;quot;Blatt spielt.&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
BowPlaneLa = \markup \overlay {&lt;br /&gt;
  \BowPlaneLaRaw&lt;br /&gt;
  \translate #(cons (* sz 0.2) (* sz 1.2))&lt;br /&gt;
  %  \scale #(cons (* sz 0.15) (* sz 0.15))&lt;br /&gt;
    \score {&lt;br /&gt;
      { c&amp;#039;4 g&amp;#039; f&amp;#039; e&amp;#039;8 d&amp;#039; b&amp;#039;4. a&amp;#039;16 g&amp;#039; f&amp;#039;2&lt;br /&gt;
        e&amp;#039;&amp;#039;16( d&amp;#039;&amp;#039;) c&amp;#039;&amp;#039;-. b&amp;#039;-. \acciaccatura e&amp;#039;8 g&amp;#039; a&amp;#039;16 b&amp;#039;&lt;br /&gt;
        \repeat tremolo 4 { c&amp;#039;&amp;#039;16 a&amp;#039; }&lt;br /&gt;
        b&amp;#039;8 g&amp;#039;4 f&amp;#039;8( ~ f&amp;#039;8 d&amp;#039;8 c&amp;#039;4)_\fermata \bar &amp;quot;|.&amp;quot; }&lt;br /&gt;
      \layout {&lt;br /&gt;
        ragged-right = ##f&lt;br /&gt;
        line-width = #(* 6.3 sz)&lt;br /&gt;
        indent = 0&lt;br /&gt;
        \context {&lt;br /&gt;
          \Score&lt;br /&gt;
          \override NonMusicalPaperColumn.line-break-permission = ##f&lt;br /&gt;
          \override SpacingSpanner.common-shortest-duration = #(ly:make-moment 1/1)&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  \translate #(cons (* 0.5 sz) (* 0.5 sz))&lt;br /&gt;
   \scale #(cons (* 0.22 sz) (* 0.22 sz))&lt;br /&gt;
    \center-align \sharp&lt;br /&gt;
  \translate #(cons (* 3.5 sz) (* 0.3 sz))&lt;br /&gt;
   \scale #(cons (* 0.22 sz) (* 0.22 sz))&lt;br /&gt;
    \center-align \flat&lt;br /&gt;
  &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
BowPlaneLb = \markup \overlay {&lt;br /&gt;
  \BowPlaneLbRaw&lt;br /&gt;
  \translate #(cons (* sz 0.2) (* sz 0.7))&lt;br /&gt;
  %  \scale #(cons (* sz 0.15) (* sz 0.15))&lt;br /&gt;
    \score {&lt;br /&gt;
      { \clef alto&lt;br /&gt;
        c&amp;#039;4. f8 g4 b d&amp;#039;\downbow f&amp;#039;2 e&amp;#039;8( d&amp;#039;&lt;br /&gt;
        c&amp;#039;8 b a g f) e4.\trill&lt;br /&gt;
        c1\fermata \bar &amp;quot;|.&amp;quot; }&lt;br /&gt;
      \layout {&lt;br /&gt;
        ragged-right = ##f&lt;br /&gt;
        line-width = #(* 4.7 sz)&lt;br /&gt;
        indent = 0&lt;br /&gt;
        \context {&lt;br /&gt;
          \Score&lt;br /&gt;
          \override NonMusicalPaperColumn.line-break-permission = ##f&lt;br /&gt;
          \override SpacingSpanner.common-shortest-duration = #(ly:make-moment 1/1)&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  \translate #(cons (* 0.5 sz) (* 0.25 sz))&lt;br /&gt;
   \scale #(cons (* 0.12 sz) (* 0.12 sz))&lt;br /&gt;
    \center-align \natural&lt;br /&gt;
  \translate #(cons (* 2.5 sz) (* 0.15 sz))&lt;br /&gt;
   \scale #(cons (* 0.12 sz) (* 0.12 sz))&lt;br /&gt;
    \center-align \doubleflat&lt;br /&gt;
  &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
% Check, no projection&lt;br /&gt;
%{ &lt;br /&gt;
\markup {&lt;br /&gt;
 \RoofPlaneRV¹ \RoofPlaneLB¹ \RoofPlaneRV² \RoofPlaneLB² \RoofPlaneRV³ \RoofPlaneLB³&lt;br /&gt;
}&lt;br /&gt;
\markup {&lt;br /&gt;
  \BowPlaneLa&lt;br /&gt;
  \BowPlaneLb&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
\markup \column {&lt;br /&gt;
  \line { \LongPlane¹¹ \LongPlane²¹ }&lt;br /&gt;
  \line { \LongPlane¹² \LongPlane²² }&lt;br /&gt;
  \line { \LongPlane³¹ \LongPlane³² }&lt;br /&gt;
}&lt;br /&gt;
%}&lt;br /&gt;
&lt;br /&gt;
% Simple Dimetric 3D image&lt;br /&gt;
\markup \left-align \overlay {&lt;br /&gt;
  % Pilars&lt;br /&gt;
  \translate #(di-map sz  0 1 0) \DiPlaneL¹ \LongPlane¹¹&lt;br /&gt;
  \translate #(di-map sz -1 1 0) \DiPlaneR¹ \LongPlane¹²&lt;br /&gt;
&lt;br /&gt;
  \translate #(di-map sz -3 4 0) \DiPlaneL¹ \LongPlane³¹&lt;br /&gt;
  \translate #(di-map sz -4 4 0) \DiPlaneR¹ \LongPlane³²&lt;br /&gt;
&lt;br /&gt;
  \translate #(di-map sz  0 4 0) \DiPlaneL¹ \LongPlane²¹&lt;br /&gt;
  \translate #(di-map sz -1 4 0) \DiPlaneR¹ \LongPlane²²&lt;br /&gt;
&lt;br /&gt;
  % Bow brick on the right  &lt;br /&gt;
  \translate #(di-map sz -3 3 2.5) \DiPlaneL \BowFeederL&lt;br /&gt;
  \translate #(di-map sz  0 4 2.5) \DiPlaneR \BowPlaneLa&lt;br /&gt;
  \translate #(di-map sz  0 3 2.5) \DiPlaneL \RectPlane #0 #0.4 #0 #1 #1.5&lt;br /&gt;
  \translate #(di-map sz 0 3 4) \DiPlaneT \RectPlane #0.2 #0.4 #0.1 #1 #4&lt;br /&gt;
  &lt;br /&gt;
  % Small bow brick above&lt;br /&gt;
  \translate #(di-map sz -3 3 4) \DiPlaneL \BowFeederSm&lt;br /&gt;
  \translate #(di-map sz -1 4 4) \DiPlaneR \BowPlaneLb&lt;br /&gt;
  \translate #(di-map sz -1 4 5) \DiPlaneT¹ \BowTopSm&lt;br /&gt;
  &lt;br /&gt;
  % Bow brick to the left&lt;br /&gt;
  \translate #(di-map sz -1 0 4) \DiPlaneL \BowPlaneLd&lt;br /&gt;
  \translate #(di-map sz  0 1 4) \DiPlaneR \BowFeederL&lt;br /&gt;
  \translate #(di-map sz  0 0 4) \DiPlaneL \BowPlaneLa&lt;br /&gt;
  \translate #(di-map sz  0 4 4) \DiPlaneR \BowSideL&lt;br /&gt;
  \translate #(di-map sz  0 0 5.5) \DiPlaneT \BowTopLa&lt;br /&gt;
  &lt;br /&gt;
  % Roof&lt;br /&gt;
  \translate #(di-map sz  0 0 5.5) \DiRoofL \RoofPlaneLB¹&lt;br /&gt;
  \translate #(di-map sz  0 1 5.5) \DiRoofR \RoofPlaneRV¹&lt;br /&gt;
  \translate #(di-map sz -3 3 5.0) \DiRoofL \RoofPlaneLB³&lt;br /&gt;
  \translate #(di-map sz -3 4 5.0) \DiRoofR \RoofPlaneRV³&lt;br /&gt;
  \translate #(di-map sz  0 3 5.5) \DiRoofL \RoofPlaneLB²&lt;br /&gt;
  \translate #(di-map sz  0 4 5.5) \DiRoofR \RoofPlaneRV²&lt;br /&gt;
&lt;br /&gt;
  % Coordinate aid&lt;br /&gt;
  %{&lt;br /&gt;
  \translate #(di-map sz 0 0 0) \left-align &amp;quot;. 0 0 0&amp;quot;&lt;br /&gt;
  \translate #(di-map sz 1 0 0) \left-align &amp;quot;. 1 0 0&amp;quot;&lt;br /&gt;
  \translate #(di-map sz 2 0 0) \left-align &amp;quot;. 2 0 0&amp;quot;&lt;br /&gt;
  \translate #(di-map sz 3 0 0) \left-align &amp;quot;. 3 0 0&amp;quot;&lt;br /&gt;
  \translate #(di-map sz 0 1 0) \left-align &amp;quot;. 0 1 0&amp;quot;&lt;br /&gt;
  \translate #(di-map sz 0 2 0) \left-align &amp;quot;. 0 2 0&amp;quot;&lt;br /&gt;
  \translate #(di-map sz 0 3 0) \left-align &amp;quot;. 0 3 0&amp;quot;&lt;br /&gt;
  \translate #(di-map sz 0 4 0) \left-align &amp;quot;. 0 4 0&amp;quot;&lt;br /&gt;
  \translate #(di-map sz -4 4 0) \left-align &amp;quot;. -4 4 0&amp;quot;&lt;br /&gt;
  \translate #(di-map sz 0 0 1) \left-align &amp;quot;. 0 0 1&amp;quot;&lt;br /&gt;
  % \translate #(di-map sz 0 0 1.5) \left-align &amp;quot;. 0 0 1.5&amp;quot;&lt;br /&gt;
  % \translate #(di-map sz 0 1 1.5) \left-align &amp;quot;. 0 1 1.5&amp;quot;&lt;br /&gt;
  % \translate #(di-map sz -1 1 1.5) \left-align &amp;quot;. -1 1 1.5&amp;quot;&lt;br /&gt;
  % \translate #(di-map sz -0.5 0.5 2.5) \left-align &amp;quot;. -0.5 0.5 2.5&amp;quot;&lt;br /&gt;
  %}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/lilypond&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Text]]&lt;/div&gt;</summary>
		<author><name>Jean Abou Samra</name></author>
	</entry>
</feed>