3 <title>Definitions - Sketch
</title>
4 <meta http-equiv=
"Content-Type" content=
"text/html">
5 <meta name=
"description" content=
"Sketch">
6 <meta name=
"generator" content=
"makeinfo 4.7">
7 <link title=
"Top" rel=
"start" href=
"index.html#Top">
8 <link rel=
"up" href=
"Input-language.html#Input-language" title=
"Input language">
9 <link rel=
"prev" href=
"Drawables.html#Drawables" title=
"Drawables">
10 <link rel=
"next" href=
"Global-environment.html#Global-environment" title=
"Global environment">
11 <link href=
"http://www.gnu.org/software/texinfo/" rel=
"generator-home" title=
"Texinfo Homepage">
13 Copyright (C) 2005, 2006, 2007, 2008 Eugene K. Ressler.
15 This manual is for `sketch', version 0.2 (build 161),
16 Tuesday, September 08, 2009, a program that converts descriptions of simple
17 three-dimensional scenes into static drawings. This version generates
18 `PSTricks' or `PGF/TikZ' code suitable for use with the
19 TeX document processing system.
21 `Sketch' is free software; you can redistribute it and/or modify
22 it under the terms of the GNU General Public License as published by
23 the Free Software Foundation; either version 3, or (at your option)
26 Sketch is distributed in the hope that it will be useful,
27 but WITHOUT ANY WARRANTY; without even the implied warranty of
28 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
29 GNU General Public License for more details.
31 You should have received a copy of the GNU General Public License
32 along with `sketch'; see the file COPYING.txt. If not, see
33 http://www.gnu.org/copyleft.-->
34 <meta http-equiv=
"Content-Style-Type" content=
"text/css">
35 <style type=
"text/css"><!--
36 pre
.display
{ font-family:inherit
}
37 pre
.format
{ font-family:inherit
}
38 pre
.smalldisplay
{ font-family:inherit
; font-size:smaller
}
39 pre
.smallformat
{ font-family:inherit
; font-size:smaller
}
40 pre
.smallexample
{ font-size:smaller
}
41 pre
.smalllisp
{ font-size:smaller
}
42 span
.sc
{ font-variant:small-caps
}
43 span
.roman
{ font-family: serif
; font-weight: normal
; }
49 <a name=
"Definitions"></a>Next:
<a rel=
"next" accesskey=
"n" href=
"Global-environment.html#Global-environment">Global environment
</a>,
50 Previous:
<a rel=
"previous" accesskey=
"p" href=
"Drawables.html#Drawables">Drawables
</a>,
51 Up:
<a rel=
"up" accesskey=
"u" href=
"Input-language.html#Input-language">Input language
</a>
55 <!-- node-name, next, previous, up -->
56 <h3 class=
"section">3.3 Definitions
</h3>
58 <p><a name=
"index-definition-335"></a>Definitions give names to
<code>sketch
</code> objects. Definitions alone
59 are benign. A
<code>sketch
</code> input file consisting entirely of
60 definitions will generate no drawing. Only when definitions are
61 <dfn>referenced
</dfn> do they potentially lead to ink on the drawing.
63 <p>The intent of definitions is to make
<code>sketch
</code> code more concise
64 and readable. There is no input file employing definitions
65 that could not be re-written without them.
67 <p>Definable objects include any result of an affine arithmetic
68 expression (scalar, point, vector, or transform), any drawable
69 object (dots, line, curve, polygon, block, sweep, put, repeat, or
70 special), and option strings. In addition,
<dfn>tag definitions
</dfn>,
71 <a name=
"index-definition_002c-tag-336"></a><a name=
"index-tag-definition-337"></a>which have no associated object at all, allow the meaning of other
72 definitions to be selected from a set of alternatives. Since tags may
73 be defined (and undefined) in the command line of
<code>sketch
</code>, they
74 can be an aid in the script-driven preparation of documents.
77 <li><a accesskey=
"1" href=
"Forms-of-definitions.html#Forms-of-definitions">Forms of definitions
</a>: Different defs for different purposes.
78 <li><a accesskey=
"2" href=
"Forms-of-references.html#Forms-of-references">Forms of references
</a>: How references denote types.