initial setup of thesis repository
[cluster_expansion_thesis.git] / little_helpers / tikz / sketch-0.2.161 / Doc / sketch / Installing-sketch.html
blobdaab1f760b233243d78df11a94372023ea700e19
1 <html lang="en">
2 <head>
3 <title>Installing sketch - 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="prev" href="Command-line.html#Command-line" title="Command line">
9 <link rel="next" href="Index-of-syntax.html#Index-of-syntax" title="Index of syntax">
10 <link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
11 <!--
12 Copyright (C) 2005, 2006, 2007, 2008 Eugene K. Ressler.
14 This manual is for `sketch', version 0.2 (build 161),
15 Tuesday, September 08, 2009, a program that converts descriptions of simple
16 three-dimensional scenes into static drawings. This version generates
17 `PSTricks' or `PGF/TikZ' code suitable for use with the
18 TeX document processing system.
20 `Sketch' is free software; you can redistribute it and/or modify
21 it under the terms of the GNU General Public License as published by
22 the Free Software Foundation; either version 3, or (at your option)
23 any later version.
25 Sketch is distributed in the hope that it will be useful,
26 but WITHOUT ANY WARRANTY; without even the implied warranty of
27 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
28 GNU General Public License for more details.
30 You should have received a copy of the GNU General Public License
31 along with `sketch'; see the file COPYING.txt. If not, see
32 http://www.gnu.org/copyleft.-->
33 <meta http-equiv="Content-Style-Type" content="text/css">
34 <style type="text/css"><!--
35 pre.display { font-family:inherit }
36 pre.format { font-family:inherit }
37 pre.smalldisplay { font-family:inherit; font-size:smaller }
38 pre.smallformat { font-family:inherit; font-size:smaller }
39 pre.smallexample { font-size:smaller }
40 pre.smalllisp { font-size:smaller }
41 span.sc { font-variant:small-caps }
42 span.roman { font-family: serif; font-weight: normal; }
43 --></style>
44 </head>
45 <body>
46 <div class="node">
47 <p>
48 <a name="Installing-sketch"></a>Next:&nbsp;<a rel="next" accesskey="n" href="Index-of-syntax.html#Index-of-syntax">Index of syntax</a>,
49 Previous:&nbsp;<a rel="previous" accesskey="p" href="Command-line.html#Command-line">Command line</a>,
50 Up:&nbsp;<a rel="up" accesskey="u" href="index.html#Top">Top</a>
51 <hr><br>
52 </div>
54 <!-- node-name, next, previous, up -->
55 <h2 class="chapter">6 Building and installing <code>sketch</code></h2>
57 <p><code>Sketch</code> is so small that compiling by brute force is probably
58 best. The following command ought to do the trick on any
59 systems where <code>gcc</code> is installed. Make sure to first change
60 current directories to the place where you have unpacked the sources.
61 <pre class="example"> gcc *.c -o sketch.exe -lm
62 </pre>
63 <p class="noindent">The <span class="samp">.exe</span> at the end is necessary for Windows systems. Drop it
64 if your system is some version of Unix. Other C compilers ought
65 to work as just as well. For example,
66 <pre class="example"> cl *.c -o sketch.exe
67 </pre>
68 <p class="noindent">is the correct command for many versions of MS Visual C. In the
69 latest versions, Microsoft has deprecated the <code>-o</code> option and, by
70 default, does not define the <code>__STDC__</code> macro. This causes
71 problems with some versions of <code>flex</code>, <code>bison</code>, <code>lex</code>,
72 and <code>yacc</code>, which are used to create the <code>sketch</code> scanner
73 and parser. It's nearly always possible to find a set of options that
74 compiles with no errors or warnings, and this means <code>sketch</code> is
75 <em>very</em> likely to work correctly. For example, the Visual C++
76 2005 Express Edition compiler (available free of charge from the
77 Microsoft web site), <code>flex</code> version 2.5.4, and <code>bison</code>
78 version 2.1 build error-free with
79 <pre class="example"> cl -DYY_NEVER_INTERACTIVE=1 -Za -Ox -Fesketch.exe *.c
80 </pre>
81 <p>For purists, there is also a <code>makefile</code> compatible with GNU
82 <code>make</code> and <code>gcc</code>. The command
83 <pre class="example"> make
84 </pre>
85 <p class="noindent">will build the executable, including the rebuilding of the scanner and
86 parser with <code>flex</code> and <code>bison</code> if you have changed
87 <span class="file">sketch.l</span> or <code>sketch.y</code> respectively.
89 <p>To build this document in all its myriad forms (assuming you have the
90 necessary conversion programs on your system), use
91 <pre class="example"> make docs
92 </pre>
93 <p class="noindent">The possibilities are listed in this following table.
94 <p><table summary=""><tr align="left"><th valign="top">Format </th><th valign="top">Converter </th><th valign="top">Pictures </th><th valign="top">Description
95 <br></th></tr><tr align="left"><td valign="top">manual.info
96 </td><td valign="top">makeinfo </td><td valign="top"><span class="file">.txt</span> </td><td valign="top"><acronym>GNU</acronym> Info.
97 <br></td></tr><tr align="left"><td valign="top">manual.dvi
98 </td><td valign="top">texi2dvi </td><td valign="top"><span class="file">.eps</span> </td><td valign="top">TeX typeset output.
99 <br></td></tr><tr align="left"><td valign="top">manual.ps
100 </td><td valign="top">texi2dvi,dvips </td><td valign="top"><span class="file">.eps</span> </td><td valign="top">Postscript.
101 <br></td></tr><tr align="left"><td valign="top">manual.pdf
102 </td><td valign="top">texi2dvi </td><td valign="top"><span class="file">.pdf</span> </td><td valign="top">Adobe PDF.
103 <br></td></tr><tr align="left"><td valign="top">manual.html
104 </td><td valign="top">makeinfo </td><td valign="top"><span class="file">.png</span> </td><td valign="top">A single web page.
105 <br></td></tr><tr align="left"><td valign="top">manual/index.html
106 </td><td valign="top">makeinfo </td><td valign="top"><span class="file">.png</span> </td><td valign="top">Linked web pages, one per node.
107 <br></td></tr></table>
108 An additional open source program <code>epstool</code> is needed to refine the
109 Encapsulated Postscript bounding boxes of <code>sketch</code>-generated
110 figures.
112 </body></html>