1<page xmlns="http://projectmallard.org/1.0/"
2      xmlns:e="http://projectmallard.org/experimental/"
3      xmlns:its="http://www.w3.org/2005/11/its"
4      type="guide"
5      id="mancreate">
6
7  <info>
8    <link type="guide" xref="index#advanced"/>
9    <revision pkgversion="3.0" version="0.1" date="2010-05-04" status="incomplete"/>
10    <revision pkgversion="3.0.1" version="0.1" date="2011-06-20" status="incomplete"/>
11    <desc>
12      Create your templates manually.
13    </desc>
14    <credit type="author">
15      <name>Jim Evins</name>
16      <email>evins@snaught.com</email>
17    </credit>
18    <credit type="author">
19      <name>Mario Blättermann</name>
20      <email>mario.blaettermann@gmail.com</email>
21    </credit>
22    <license>
23      <p>Creative Commons Share Alike 3.0</p>
24    </license>
25  </info>
26
27  <title>Manually creating new templates</title>
28
29
30
31  <!-- ****************** -->
32  <!-- BEGIN Introduction -->
33  <!-- ****************** -->
34  <p>This page is a reference guide to manually creating <app>gLabels</app> templates.
35  <app>gLabels</app> templates are defined in simple XML files as described in the DTD:
36  <link href="http://glabels.org/xmlns/2.3/glabels-2.3.dtd.txt">glabels-2.3.dtd</link>
37  (this DTD also describes other XML files used by <app>gLabels</app>).</p>
38
39  <p>Manually created template files should be placed in the <file>${HOME}/.glabels</file>
40  and be named with a <file>.template</file> extension.</p>
41
42  <note style="advanced">
43    <p><app>gLabels</app> searches for templates in several other locations as defined here:</p>
44    <table frame="all" rules="rows">
45      <tr>
46        <td><p>Location</p></td>
47        <td><p>Description</p></td>
48      </tr>
49      <tr>
50        <td><p></p></td>
51        <td><p></p></td>
52      </tr>
53      <tr>
54        <td its:translate="no"><p><file>${prefix}/share/libglabels-3.0/templates</file></p></td>
55        <td><p>Predefined templates distributed with <app>gLabels</app>.</p>
56            <p><file>${prefix}</file> is usually <file>/usr</file> or <file>/usr/local</file>,
57            depending on where <app>gLabels</app> was installed.</p></td>
58      </tr>
59      <tr>
60        <td its:translate="no"><p><file>${XDG_CONFIG_HOME}/libglabels/templates</file></p></td>
61        <td><p>User defined templates created with the <app>gLabels</app> <gui>Template Designer</gui>.
62            <em>Do not put manually created templates in this directory.</em></p>
63            <p>If <file>${XDG_CONFIG_HOME}</file> is not defined, it defaults to
64            <file>${HOME}/.config</file>.</p></td>
65      </tr>
66      <tr>
67        <td its:translate="no"><p><file>${HOME}/.glabels</file></p></td>
68        <td><p>User defined templates that have been created manually should be placed in this
69            directory.
70            Older versions of the <app>gLabels</app> <gui>Template Designer</gui> (prior to 3.0)
71            would also put templates in this directory.</p></td>
72      </tr>
73    </table>
74  </note>
75
76  <note><p>Completed template files can be sent to the
77        <app>gLabels</app> template
78        <link href="mailto:glabels-templates@lists.sourceforge.net">mailing list</link>
79        for possible inclusion in future versions of <app>gLabels</app>.</p>
80  </note>
81  <!-- ****************** -->
82  <!-- END Introduction   -->
83  <!-- ****************** -->
84
85
86  <!-- ***************** -->
87  <!-- BEGIN Assumptions -->
88  <!-- ***************** -->
89  <section id="template-assumptions">
90    <title>Assumptions/caveats</title>
91    <list>
92      <item>
93        <p>A sheet contains only one size of label or card (if a sheet
94          contains more than one size of item, it can be split into
95           multiple templates for multiple pass printing)</p>
96      </item>
97      <item>
98        <p>Distances can be expressed in units of <code>pt</code>, <code>in</code>,
99	  <code>mm</code>, <code>cm</code>, or <code>pc</code>.  For example:
100          "<code>1.0in</code>" or "<code>2.54cm</code>".  If no
101          units are specified, computer points (<code>pt</code>) will
102          be assumed (1 <em>pt</em> =
103          1/72 <em>in</em> = 0.352778 <em>mm</em>).
104          </p>
105      </item>
106    </list>
107  </section>
108  <!-- ***************** -->
109  <!-- END Assumptions   -->
110  <!-- ***************** -->
111
112
113
114  <!-- ******************** -->
115  <!-- BEGIN Template Files -->
116  <!-- ******************** -->
117  <section id="template-file">
118    <title>Template Files</title>
119
120    <p>A template file contains a single <code>Glabels-templates</code> top-level
121    node.</p>
122
123    <code mime="text/xml">
124&lt;?xml version="1.0"?&gt;
125&lt;Glabels-templates&gt;
126
127   <var>...templates...</var>
128
129&lt;/Glabels-templates&gt;</code>
130
131    <listing>
132      <title>Example Template</title>
133      <desc>Example <app>gLabels</app> template file containing a single
134            <code>Template</code> node.</desc>
135      <code mime="text/xml" its:translate="no">
136&lt;?xml version="1.0"?&gt;
137&lt;Glabels-templates&gt;
138
139  &lt;Template brand="Avery" part="8160" size="US-Letter" description="Mailing Labels"&gt;
140    &lt;Meta category="label"/&gt;
141    &lt;Meta category="mail"/&gt;
142    &lt;Meta product_url="http://www.avery.com/avery/en_us/"/&gt;
143    &lt;Label-rectangle id="0" width="189pt" height="72pt" round="5pt"&gt;
144      &lt;Markup-margin size="5pt"/&gt;
145      &lt;Layout nx="3" ny="10" x0="11.25pt" y0="36pt" dx="200pt" dy="72pt"/&gt;
146    &lt;/Label-rectangle&gt;
147  &lt;/Template&gt;
148
149&lt;/Glabels-templates&gt;</code>
150    </listing>
151
152  </section>
153  <!-- ******************** -->
154  <!-- END Template Files   -->
155  <!-- ******************** -->
156
157
158
159  <!-- ******************** -->
160  <!-- BEGIN Template Node  -->
161  <!-- ******************** -->
162  <section id="template-template-node">
163    <title><code>Template</code> Node</title>
164
165    <p>A <code>Template</code> node describes a single
166      stationery product.  It must contain one instance of any type of Label node
167      (<code>Label-rectangle</code>,
168      <code>Label-round</code>, or
169      <code>Label-cd</code>).</p>
170
171    <table frame="all" rules="rows">
172      <tr>
173        <td><p>Property</p></td>  <td><p>Description</p></td>
174      </tr>
175      <tr>
176        <td><p></p></td>  <td><p></p></td>
177      </tr>
178      <tr>
179        <td its:translate="no"><p><code>brand</code></p></td>
180        <td><p>Brand or manufacturer of stationery product. E.g. "Avery"</p></td>
181      </tr>
182      <tr>
183        <td its:translate="no"><p><code>part</code></p></td>
184        <td><p>Part number or name of stationery product. E.g. "8160"</p></td>
185      </tr>
186      <tr>
187        <td its:translate="no"><p><code>size</code></p></td>
188        <td><p>Size of sheet.
189               E.g., "<code>US-Letter</code>", "<code>A4</code>", ...
190            </p></td>
191      </tr>
192      <tr>
193        <td its:translate="no"><p><code>description</code></p></td>
194        <td><p>Description of stationery product.  E.g, "Mailing Labels."</p></td>
195      </tr>
196      <tr>
197        <td its:translate="no"><p><code>_description</code></p></td>
198        <td><p>Translatable description of stationery product. E.g, "Mailing Labels."
199            (Only useful for predefined templates)</p></td>
200      </tr>
201      <tr>
202        <td its:translate="no"><p><code>width</code></p></td>
203        <td><p>Page width.  Only valid if size="Other"</p></td>
204      </tr>
205      <tr>
206        <td its:translate="no"><p><code>height</code></p></td>
207        <td><p>Page height.  Only valid if size="Other"</p></td>
208      </tr>
209      <tr>
210        <td its:translate="no"><p><code>equiv</code></p></td>
211        <td><p>Equivalent part number.  If this property is present, the template
212            is a clone of another template of the same brand.  The template will
213            inherit all properties, except brand and name from the other template.
214            This equiv property must refer to a previously defined template -
215            <app>gLabels</app> does not currently support forward references.</p></td>
216      </tr>
217    </table>
218
219  </section>
220  <!-- ******************** -->
221  <!-- END Template Node    -->
222  <!-- ******************** -->
223
224
225  <!-- ******************** -->
226  <!-- BEGIN Meta Node      -->
227  <!-- ******************** -->
228  <section id="meta-template-node">
229    <title><code>Meta</code> Node</title>
230
231    <p>A <code>Meta</code> node contains some additional
232         information about the template. A <code>Template</code>
233         node may contain zero or more <code>Meta</code> nodes.</p>
234
235    <table frame="all" rules="rows">
236      <tr>
237        <td><p>Subnode</p></td>  <td><p>Description</p></td>
238      </tr>
239      <tr>
240        <td><p></p></td>  <td><p></p></td>
241      </tr>
242      <tr>
243        <td its:translate="no"><p><code>category</code></p></td>
244        <td><p>A category for the template.
245            A template can belong to multiple categories by simply adding multiple
246            <code>Meta</code> nodes to the parent
247            <code>Template</code> node.
248            Template categories are used by the <app>gLabels</app> <gui>New Label
249            Dialog</gui> to filter the results of template searches.</p>
250
251            <p>The value of this category must match a predefined category ID defined in
252            the file <file>${prefix}/libglabels-3.0/templates/categories.xml</file>.
253	      Currently defined category IDs include:</p>
254            <list>
255              <item its:translate="no"><p><code>label</code></p></item>
256              <item its:translate="no"><p><code>round-label</code></p></item>
257              <item its:translate="no"><p><code>elliptical-label</code></p></item>
258              <item its:translate="no"><p><code>square-label</code></p></item>
259              <item its:translate="no"><p><code>rectangle-label</code></p></item>
260              <item its:translate="no"><p><code>card</code></p></item>
261              <item its:translate="no"><p><code>business-card</code></p></item>
262              <item its:translate="no"><p><code>media</code></p></item>
263              <item its:translate="no"><p><code>mail</code></p></item>
264              <item its:translate="no"><p><code>foldable</code></p></item>
265              <item its:translate="no"><p><code>photo</code></p></item>
266            </list>
267
268
269        </td>
270      </tr>
271      <tr>
272        <td its:translate="no"><p><code>product_url</code></p></td>
273        <td><p>A URL pointing to the vendor's webpage for the specific product, if available.</p></td>
274      </tr>
275    </table>
276
277    <note><p>Suggestions for additional categories can be sent to the
278          <app>gLabels</app> developer's
279          <link href="mailto:glabels-devel@lists.sourceforge.net">mailing list</link>.</p>
280          <p>Product URLs may be of limited use, because they may not be permanent.</p>
281    </note>
282
283  </section>
284  <!-- ******************** -->
285  <!-- END Meta Node        -->
286  <!-- ******************** -->
287
288
289  <!-- ************************** -->
290  <!-- BEGIN Label-rectangle Node -->
291  <!-- ************************** -->
292  <section id="template-label-rectangle-node">
293    <title><code>Label-rectangle</code> Node</title>
294
295    <p>A <code>Label-rectangle</code> node describes the
296      dimensions of a single label or business card that is rectangular
297      in shape (may have rounded edges).</p>
298
299    <table frame="all" rules="rows">
300      <tr>
301        <td><p>Property</p></td>  <td><p>Description</p></td>
302      </tr>
303      <tr>
304        <td><p></p></td>  <td><p></p></td>
305      </tr>
306      <tr>
307        <td its:translate="no"><p><code>id</code></p></td>
308        <td><p>Reserved for future use.  Should always be 0.</p></td>
309      </tr>
310      <tr>
311        <td its:translate="no"><p><code>width</code></p></td>
312        <td><p>Width of label/card</p></td>
313      </tr>
314      <tr>
315        <td its:translate="no"><p><code>height</code></p></td>
316        <td><p>Height of label/card</p></td>
317      </tr>
318      <tr>
319        <td its:translate="no"><p><code>round</code></p></td>
320        <td><p>Radius of corners.  For items with square edges (business cards),
321               the radius should be 0.</p></td>
322      </tr>
323      <tr>
324        <td its:translate="no"><p><code>x_waste</code></p></td>
325        <td><p>Amount of horizontal waste (over-print) to allow.  This is useful
326                      for minimizing alignment problems when using non-white
327                      backgrounds (e.g. images).</p></td>
328      </tr>
329      <tr>
330        <td its:translate="no"><p><code>y_waste</code></p></td>
331        <td><p>Amount of vertical waste (over-print) to allow.  This is useful
332                      for minimizing alignment problems when using non-white
333                      backgrounds (e.g. images).</p></td>
334      </tr>
335    </table>
336
337    <!-- ==== Figure ==== -->
338    <figure>
339      <desc><code>Label-rectangle</code> parameters</desc>
340      <media its:translate="no" type="image" src="figures/glabels-template-rect-label.png" mime="image/png" style="right">
341        <p><code>Label-rectangle</code> parameters</p>
342      </media>
343    </figure>
344    <!-- ==== End of Figure ==== -->
345
346  </section>
347  <!-- ************************** -->
348  <!-- END Label-rectangle Node   -->
349  <!-- ************************** -->
350
351
352  <!-- ************************ -->
353  <!-- BEGIN Label-ellipse Node -->
354  <!-- ************************ -->
355  <section id="template-label-ellipse-node">
356    <title><code>Label-ellipse</code> Node</title>
357
358    <p>A <code>Label-ellipse</code> node describes the
359      dimensions of a single label or business card that is elliptic
360      in shape.</p>
361
362    <table frame="all" rules="rows">
363      <tr>
364        <td><p>Property</p></td>  <td><p>Description</p></td>
365      </tr>
366      <tr>
367        <td><p></p></td>  <td><p></p></td>
368      </tr>
369      <tr>
370        <td its:translate="no"><p><code>id</code></p></td>
371        <td><p>Reserved for future use.  Should always be 0.</p></td>
372      </tr>
373      <tr>
374        <td its:translate="no"><p><code>width</code></p></td>
375        <td><p>Width of the ellipse</p></td>
376      </tr>
377      <tr>
378        <td its:translate="no"><p><code>height</code></p></td>
379        <td><p>Height of the ellipse</p></td>
380      </tr>
381      <tr>
382        <td its:translate="no"><p><code>waste</code></p></td>
383        <td><p>Amount of waste (over-print) to allow.  This is useful
384            for minimizing alignment problems when using non-white
385            backgrounds (e.g. images).</p></td>
386      </tr>
387    </table>
388
389    <!-- ==== Figure ==== -->
390    <figure>
391      <desc><span>Label-ellipse</span> parameters</desc>
392      <media type="image" src="figures/glabels-template-ellipse-label.png" mime="image/png" style="right">
393        <p><code>Label-ellipse</code> parameters</p>
394      </media>
395    </figure>
396    <!-- ==== End of Figure ==== -->
397
398  </section>
399  <!-- ************************ -->
400  <!-- END Label-ellipse Node   -->
401  <!-- ************************ -->
402
403
404  <!-- ********************** -->
405  <!-- BEGIN Label-round Node -->
406  <!-- ********************** -->
407  <section id="template-label-round-node">
408    <title><code>Label-round</code> Node</title>
409
410    <p>A <code>Label-round</code> node describes the dimensions
411      of a simple round label (not a CD).</p>
412
413    <table frame="all" rules="rows">
414      <tr>
415        <td><p>Property</p></td>  <td><p>Description</p></td>
416      </tr>
417      <tr>
418        <td><p></p></td>  <td><p></p></td>
419      </tr>
420      <tr>
421        <td its:translate="no"><p><code>id</code></p></td>
422        <td><p>Reserved for future use.  Should always be 0.</p></td>
423      </tr>
424      <tr>
425        <td its:translate="no"><p><code>radius</code></p></td>
426        <td><p>Radius (1/2 diameter) of label</p></td>
427      </tr>
428      <tr>
429        <td its:translate="no"><p><code>waste</code></p></td>
430        <td><p>Amount of waste (over-print) to allow.  This is useful
431                for minimizing alignment problems when using non-white
432                backgrounds (e.g. images).</p></td>
433      </tr>
434    </table>
435
436    <!-- ==== Figure ==== -->
437    <figure>
438      <desc><code>Label-ellipse</code> parameters</desc>
439      <media its:translate="no" type="image" src="figures/glabels-template-circle-label.png" mime="image/png" style="right">
440        <p><code>Label-ellipse</code> parameters</p>
441      </media>
442    </figure>
443    <!-- ==== End of Figure ==== -->
444
445  </section>
446  <!-- ********************** -->
447  <!-- END Label-round Node   -->
448  <!-- ********************** -->
449
450
451  <!-- ******************* -->
452  <!-- BEGIN Label-cd Node -->
453  <!-- ******************* -->
454  <section id="template-label-cd-node">
455    <title><code>Label-cd</code> Node</title>
456
457    <p>A <code>Label-cd</code> node describes the dimensions
458      of a CD, DVD, or business card CD.</p>
459
460    <table frame="all" rules="rows">
461      <tr>
462        <td><p>Property</p></td>  <td><p>Description</p></td>
463      </tr>
464      <tr>
465        <td><p></p></td>  <td><p></p></td>
466      </tr>
467      <tr>
468        <td its:translate="no"><p><code>id</code></p></td>
469        <td><p>Reserved for future use.  Should always be 0.</p></td>
470      </tr>
471      <tr>
472        <td its:translate="no"><p><code>radius</code></p></td>
473        <td><p>Outer radius of label</p></td>
474      </tr>
475      <tr>
476        <td its:translate="no"><p><code>hole</code></p></td>
477        <td><p>Radius of concentric hole</p></td>
478      </tr>
479      <tr>
480        <td its:translate="no"><p><code>width</code></p></td>
481        <td><p>If present, the label is clipped to the given width.
482                      (Useful for "business card CDs").</p></td>
483      </tr>
484      <tr>
485        <td its:translate="no"><p><code>height</code></p></td>
486        <td><p>If present, the label is clipped to the given height.
487                      (Useful for "business card CDs").</p></td>
488      </tr>
489      <tr>
490        <td its:translate="no"><p><code>waste</code></p></td>
491        <td><p>Amount of waste (over-print) to allow.  This is useful
492                      for minimizing alignment problems when using non-white
493                      backgrounds (e.g. images).</p></td>
494      </tr>
495    </table>
496
497    <!-- ==== Figure ==== -->
498    <figure>
499      <desc><code>Label-cd</code> parameters</desc>
500      <media its:translate="no" type="image" src="figures/glabels-template-cd-label.png" mime="image/png" style="right">
501        <p>CD label parameters</p>
502      </media>
503    </figure>
504    <!-- ==== End of Figure ==== -->
505
506  </section>
507  <!-- ******************* -->
508  <!-- END Label-cd Node   -->
509  <!-- ******************* -->
510
511
512  <!-- ***************** -->
513  <!-- BEGIN Markup Node -->
514  <!-- ***************** -->
515  <section id="template-markup">
516    <title><code>Markup</code> Nodes</title>
517
518    <p>Templates may contain optional markup nodes.  These nodes are used to describe
519    a simple set of markup lines that are visible in the <app>glabels</app> drawing canvas, but
520    not visible when printed.  These lines can represent margins, fold lines, center lines,
521    special areas, or other helpful hints to the user of a template.</p>
522
523
524    <!-- ======================== -->
525    <!-- BEGIN Markup-margin Node -->
526    <!-- ======================== -->
527    <section id="template-markup-margin-node">
528      <title><code>Markup-margin</code> Node</title>
529
530      <p>A <code>Markup-margin</code> describes a margin along
531      all edges of a label.</p>
532
533      <table frame="all" rules="rows">
534        <tr>
535          <td><p>Property</p></td>  <td><p>Description</p></td>
536        </tr>
537        <tr>
538          <td><p></p></td>  <td><p></p></td>
539        </tr>
540        <tr>
541          <td its:translate="no"><p><code>size</code></p></td>
542          <td><p>Size of the margin.  I.e. the distance of the margin
543                        line from the edge of the card/label.</p></td>
544        </tr>
545      </table>
546    </section>
547    <!-- ======================== -->
548    <!-- END Markup-margin Node   -->
549    <!-- ======================== -->
550
551
552    <!-- ====================== -->
553    <!-- BEGIN Markup-line Node -->
554    <!-- ====================== -->
555    <section id="template-markup-line-node">
556      <title><code>Markup-line</code> Node</title>
557
558      <p>A <code>Markup-line</code> node describes a markup line.</p>
559
560      <table frame="all" rules="rows">
561        <tr>
562          <td><p>Property</p></td>  <td><p>Description</p></td>
563        </tr>
564        <tr>
565          <td><p></p></td>  <td><p></p></td>
566        </tr>
567        <tr>
568          <td its:translate="no"><p><code>x1</code></p></td>
569          <td><p>x coordinate of 1st endpoint of the line segment.</p></td>
570        </tr>
571        <tr>
572          <td its:translate="no"><p><code>y1</code></p></td>
573          <td><p>y coordinate of 1st endpoint of the line segment.</p></td>
574        </tr>
575        <tr>
576          <td its:translate="no"><p><code>x2</code></p></td>
577          <td><p>x coordinate of 2nd endpoint of the line segment.</p></td>
578        </tr>
579        <tr>
580          <td its:translate="no"><p><code>y2</code></p></td>
581          <td><p>y coordinate of 2nd endpoint of the line segment.</p></td>
582        </tr>
583      </table>
584    </section>
585    <!-- ====================== -->
586    <!-- END Markup-line Node   -->
587    <!-- ====================== -->
588
589
590    <!-- ======================== -->
591    <!-- BEGIN Markup-circle Node -->
592    <!-- ======================== -->
593    <section id="template-markup-circle-node">
594      <title><code>Markup-circle</code> Node</title>
595
596      <p>A <code>Markup-circle</code> describes a markup circle.</p>
597
598      <table frame="all" rules="rows">
599        <tr>
600          <td><p>Property</p></td>  <td><p>Description</p></td>
601        </tr>
602        <tr>
603          <td><p></p></td>  <td><p></p></td>
604        </tr>
605        <tr>
606          <td its:translate="no"><p><code>x0</code></p></td>
607          <td><p>x coordinate of circle origin (center).</p></td>
608        </tr>
609        <tr>
610          <td its:translate="no"><p><code>y0</code></p></td>
611          <td><p>y coordinate of circle origin (center).</p></td>
612        </tr>
613        <tr>
614          <td its:translate="no"><p><code>radius</code></p></td>
615          <td><p>Radius of circle.</p></td>
616        </tr>
617      </table>
618    </section>
619    <!-- ======================== -->
620    <!-- END Markup-circle Node   -->
621    <!-- ======================== -->
622
623
624    <!-- ====================== -->
625    <!-- BEGIN Markup-rect Node -->
626    <!-- ====================== -->
627    <section id="template-markup-rect-node">
628      <title><code>Markup-rect</code> Node</title>
629
630      <p>A <code>Markup-rect</code> describes a markup rectangle.</p>
631
632      <table frame="all" rules="rows">
633        <tr>
634          <td><p>Property</p></td>  <td><p>Description</p></td>
635        </tr>
636        <tr>
637          <td><p></p></td>  <td><p></p></td>
638        </tr>
639        <tr>
640          <td its:translate="no"><p><code>x1</code></p></td>
641          <td><p>x coordinate of upper left corner of rectangle.</p></td>
642        </tr>
643        <tr>
644          <td its:translate="no"><p><code>y1</code></p></td>
645          <td><p>y coordinate of upper left corner of rectangle.</p></td>
646        </tr>
647        <tr>
648          <td its:translate="no"><p><code>w</code></p></td>
649          <td><p>Width of rectangle.</p></td>
650        </tr>
651        <tr>
652          <td its:translate="no"><p><code>h</code></p></td>
653          <td><p>Height of rectangle.</p></td>
654        </tr>
655        <tr>
656          <td its:translate="no"><p><code>r</code></p></td>
657          <td><p>Radius of rounded corners of rectangle.</p></td>
658        </tr>
659      </table>
660    </section>
661    <!-- ====================== -->
662    <!-- END Markup-rect Node   -->
663    <!-- ====================== -->
664
665
666    <!-- ========================= -->
667    <!-- BEGIN Markup-ellipse Node -->
668    <!-- ========================= -->
669    <section id="template-markup-ellipse-node">
670      <title><code>Markup-ellipse</code> Node</title>
671
672      <p>A <code>Markup-ellipse</code> describes a markup ellipse.</p>
673
674      <table frame="all" rules="rows">
675        <tr>
676          <td><p>Property</p></td>  <td><p>Description</p></td>
677        </tr>
678        <tr>
679          <td><p></p></td>  <td><p></p></td>
680        </tr>
681        <tr>
682          <td its:translate="no"><p><code>x1</code></p></td>
683          <td><p>x coordinate of upper left corner of ellipse.</p></td>
684        </tr>
685        <tr>
686          <td its:translate="no"><p><code>y1</code></p></td>
687          <td><p>y coordinate of upper left corner of ellipse.</p></td>
688        </tr>
689        <tr>
690          <td its:translate="no"><p><code>w</code></p></td>
691          <td><p>Width of ellipse.</p></td>
692        </tr>
693        <tr>
694          <td its:translate="no"><p><code>h</code></p></td>
695          <td><p>Height of ellipse.</p></td>
696        </tr>
697      </table>
698    </section>
699    <!-- ========================= -->
700    <!-- END Markup-ellipse Node   -->
701    <!-- ========================= -->
702
703  </section>
704  <!-- ***************** -->
705  <!-- END Markup Node   -->
706  <!-- ***************** -->
707
708
709  <!-- ***************** -->
710  <!-- BEGIN Layout Node -->
711  <!-- ***************** -->
712  <section id="template-layout-node">
713    <title><code>Layout</code> Node</title>
714
715    <p>A label node may contain multiple <code>Layout</code>
716      children.  If labels are arranged in a simple grid pattern, only
717      one layout is needed.  However, if labels are arranged in multiple
718      grids, such as a running bond pattern, multiple
719      <code>Layout</code> tags can be used.</p>
720    <p>A common example for multiple layouts is a sheet with three
721       CD labels:</p>
722
723    <!-- ==== Figure ==== -->
724    <figure>
725      <desc>CD label sheet</desc>
726      <media its:translate="no" type="image" src="figures/layouts-cdlabel.png" mime="image/png" style="right">
727        <p>CD label sheet</p>
728      </media>
729    </figure>
730    <!-- ==== End of Figure ==== -->
731
732    <p>The two labels on the left edge can be assigned to a grid, assuming we
733       can define the coordinates for the top left label and the distance to
734       the second label properly. The distance to the left edge is common to
735       these labels. The third one on the right edge has no common distance
736       values with the other ones, that's why we have to define a second layout,
737       with unique coordinates for the top left corner of that label.</p>
738
739	<note style="tip">
740	<p>You can define multiple layouts only if the labels on the sheet
741        have the same shape. If your sheet contains different shapes, you have
742        to define each shape in another template separately. Future versions
743        of <app>gLabels</app> will probably be able to concatenate such sheets
744        with different shapes within a single template.</p>
745      </note>
746
747	<note style="tip">
748	<p>A single label can always be treated as a grid of one.</p>
749      </note>
750
751    <table frame="all" rules="rows">
752      <tr>
753        <td><p>Property</p></td>  <td><p>Description</p></td>
754      </tr>
755      <tr>
756        <td><p></p></td>  <td><p></p></td>
757      </tr>
758      <tr>
759        <td its:translate="no"><p><code>nx</code></p></td>
760        <td><p>Number of labels/cards across in the grid (horizontal)</p></td>
761      </tr>
762      <tr>
763        <td its:translate="no"><p><code>ny</code></p></td>
764        <td><p>Number of labels/cards across in the grid (vertical)</p></td>
765      </tr>
766      <tr>
767        <td its:translate="no"><p><code>x0</code></p></td>
768        <td><p>Distance from left edge of sheet to the left edge of
769            the left column of cards/labels in the layout.</p></td>
770      </tr>
771      <tr>
772        <td its:translate="no"><p><code>y0</code></p></td>
773        <td><p>Distance from the top edge of sheet to the top edge of
774             the top row of labels/cards in the layout.</p></td>
775      </tr>
776      <tr>
777        <td its:translate="no"><p><code>dx</code></p></td>
778        <td><p>Horizontal pitch of grid.</p></td>
779      </tr>
780      <tr>
781        <td its:translate="no"><p><code>dy</code></p></td>
782        <td><p>Vertical pitch of grid.</p></td>
783      </tr>
784    </table>
785
786    <!-- ==== Figure ==== -->
787    <figure>
788      <desc><code>Layout</code> parameters</desc>
789      <media its:translate="no" type="image" src="figures/glabels-template-layout.png" mime="image/png" style="right">
790        <p><span>Layout</span> Parameters</p>
791      </media>
792    </figure>
793    <!-- ==== End of Figure ==== -->
794
795  </section>
796  <!-- ***************** -->
797  <!-- END Layout Node   -->
798  <!-- ***************** -->
799
800
801</page>
802