Merge lp:~sschaefer/leo-editor/leo-manualUpdate into lp:leo-editor/old-trunk
- leo-manualUpdate
- Merge into trunk
Status: | Needs review |
---|---|
Proposed branch: | lp:~sschaefer/leo-editor/leo-manualUpdate |
Merge into: | lp:leo-editor/old-trunk |
Diff against target: | 26634 lines |
To merge this branch: | bzr merge lp:~sschaefer/leo-editor/leo-manualUpdate |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
The Leo editor team | Pending | ||
Review via email: mp+24335@code.launchpad.net |
Commit message
Description of the change
Work on documentation.
Also changes the version number in setup.py from 4.6 to 4.7.1.
- 3069. By Stephen P. Schaefer <email address hidden>
-
Commit merge from EKR trunk.
- 3070. By Stephen P. Schaefer <email address hidden>
-
Merge trunk.
- 3071. By Stephen P. Schaefer <email address hidden>
-
Merge from trunk.
- 3072. By Stephen P. Schaefer <email address hidden>
-
Partial update of User Guide Chapter 4.
- 3073. By Stephen P. Schaefer <email address hidden>
-
Fetch changes from trunk.
- 3074. By Stephen P. Schaefer <email address hidden>
-
Revision of Chapter 4, Writing Programs in Leo.
Added LeoDoc.pdf as demo of eventual result from fixup.pl. - 3075. By Stephen P. Schaefer <email address hidden>
-
Merge from trunk.
Chapter 4, more cleanup.
Unmerged revisions
- 3075. By Stephen P. Schaefer <email address hidden>
-
Merge from trunk.
Chapter 4, more cleanup. - 3074. By Stephen P. Schaefer <email address hidden>
-
Revision of Chapter 4, Writing Programs in Leo.
Added LeoDoc.pdf as demo of eventual result from fixup.pl. - 3073. By Stephen P. Schaefer <email address hidden>
-
Fetch changes from trunk.
- 3072. By Stephen P. Schaefer <email address hidden>
-
Partial update of User Guide Chapter 4.
- 3071. By Stephen P. Schaefer <email address hidden>
-
Merge from trunk.
- 3070. By Stephen P. Schaefer <email address hidden>
-
Merge trunk.
- 3069. By Stephen P. Schaefer <email address hidden>
-
Commit merge from EKR trunk.
- 3068. By Stephen P. Schaefer <email address hidden>
-
Get documentation generation working in Fedora 12 environment.
Proposed clarifications in Chapter 3.
Minor typo fixes.
Update version number in setup.py
Preview Diff
1 | === modified file 'leo/doc/LeoDocs.leo' |
2 | --- leo/doc/LeoDocs.leo 2010-05-06 15:19:03 +0000 |
3 | +++ leo/doc/LeoDocs.leo 2010-05-11 20:36:27 +0000 |
4 | @@ -34,6 +34,10 @@ |
5 | <v t="ville.20090705225609.5736"><vh><< html manual >></vh></v> |
6 | <v t="ville.20090705225609.5738"><vh><< pdf manual >></vh></v> |
7 | </v> |
8 | +<v t="sps.20100504170836.13118"><vh>@button generate-full-userguide</vh> |
9 | +<v t="sps.20100504170836.13120"><vh><< html manual >></vh></v> |
10 | +<v t="sps.20100504170836.13122"><vh><< pdf manual >></vh></v> |
11 | +</v> |
12 | <v t="ekr.20091006063434.13802"><vh>@button rst3</vh></v> |
13 | <v t="ville.20090520232034.6345"><vh>@button rst-preview</vh></v> |
14 | </v> |
15 | @@ -129,9 +133,9 @@ |
16 | <v t="ekr.20060111192108"><vh>When is deleting a node dangerous?</vh></v> |
17 | </v> |
18 | </v> |
19 | -<v t="ekr.20050830115714.12"><vh>How should I use Leo with bzr/git/hg/svn/cvs?</vh></v> |
20 | -<v t="ekr.20090706042206.14718"><vh>How can I use Leo cooperatively without sentinels?</vh></v> |
21 | -<v t="ekr.20050830115714.13"><vh>Using external files</vh> |
22 | +<v t="ekr.20050830115714.12"><vh>How Should I Use Leo With bzr/git/hg/svn/cvs?</vh></v> |
23 | +<v t="ekr.20090706042206.14718"><vh>How Can I Use Leo Cooperatively Without Sentinels?</vh></v> |
24 | +<v t="ekr.20050830115714.13"><vh>Using External Files</vh> |
25 | <v t="ekr.20090501093330.3"><vh>@rst-option show-sections = False</vh> |
26 | <v t="ekr.20050830115714.14"><vh>How do I inhibit sentinels in external files?</vh></v> |
27 | <v t="ekr.20050830115714.16"><vh>How do I prevent Leo from expanding sections?</vh></v> |
28 | @@ -156,7 +160,7 @@ |
29 | <v t="ekr.20091105080104.9031"><vh>How do I specify qt fonts?</vh></v> |
30 | </v> |
31 | </v> |
32 | -<v t="ekr.20050830115714.118"><vh>Tips and techniques</vh> |
33 | +<v t="ekr.20050830115714.118"><vh>Tips and Techniques</vh> |
34 | <v t="ekr.20090501093330.5"><vh>@rst-option show-sections = False</vh> |
35 | <v t="ekr.20080527063511.1"><vh>What is an easy way to profile code?</vh></v> |
36 | <v t="ekr.20070622185234"><vh>How can I do a simple find and replace?</vh></v> |
37 | @@ -169,7 +173,7 @@ |
38 | <v t="ekr.20060822111759"><vh>How can I reuse @button nodes in multiple files?</vh></v> |
39 | </v> |
40 | </v> |
41 | -<v t="ekr.20050830115714.76"><vh>Trouble shooting</vh> |
42 | +<v t="ekr.20050830115714.76"><vh>Trouble Shooting</vh> |
43 | <v t="ekr.20090501093330.6"><vh>@rst-option show-sections = False</vh> |
44 | <v t="ekr.20090130144433.1"><vh>How do I get help?</vh></v> |
45 | <v t="ekr.20090130144433.2"><vh>How do I report bugs?</vh></v> |
46 | @@ -192,7 +196,7 @@ |
47 | <v t="ekr.20091105080104.11492"><vh>Why don't @font nodes work with the Qt gui?</vh></v> |
48 | </v> |
49 | </v> |
50 | -<v t="ekr.20071026055929"><vh>Unicode issues</vh> |
51 | +<v t="ekr.20071026055929"><vh>Unicode Issues</vh> |
52 | <v t="ekr.20090501093330.7"><vh>@rst-option show-sections = False</vh> |
53 | <v t="ekr.20061021164213"><vh>I can not enter non-ascii characters. What can I do?</vh></v> |
54 | <v t="ekr.20050830115714.9"><vh>Some characters in external files look funny. What can I do?</vh></v> |
55 | @@ -241,77 +245,105 @@ |
56 | <v t="EKR.20040524104904.26"><vh>Chapter 3: Using Outlines</vh> |
57 | <v t="ekr.20050901101608"><vh>@rst html\outlines.html</vh> |
58 | <v t="ekr.20050901101608.1"><vh>@rst-no-head links</vh></v> |
59 | +<v t="sps.20100504170836.13115"><vh>Outline Related</vh> |
60 | <v t="EKR.20040524104904.27"><vh>Cloning nodes</vh></v> |
61 | <v t="EKR.20040524104904.36"><vh>Creating and destroying nodes</vh></v> |
62 | -<v t="ekr.20060920145745"><vh>Creating and destroying multiple body editors</vh></v> |
63 | <v t="EKR.20040524104904.37"><vh>Cutting, pasting and deleting nodes</vh></v> |
64 | <v t="EKR.20040524104904.38"><vh>Dragging nodes</vh></v> |
65 | -<v t="EKR.20040524104904.39"><vh>Editing body text</vh></v> |
66 | <v t="EKR.20040524104904.40"><vh>Expanding & contracting nodes</vh></v> |
67 | -<v t="EKR.20040524104904.41"><vh>Indenting body text automatically</vh></v> |
68 | <v t="EKR.20040524104904.43"><vh>Marking nodes</vh></v> |
69 | <v t="EKR.20040524104904.44"><vh>Moving & Reorganizing nodes</vh></v> |
70 | <v t="ekr.20060929040750"><vh>Navigating through the outline</vh></v> |
71 | +</v> |
72 | +<v t="sps.20100504170836.13116"><vh>Body Related</vh> |
73 | +<v t="ekr.20060920145745"><vh>Creating and destroying multiple body editors</vh></v> |
74 | +<v t="EKR.20040524104904.39"><vh>Editing body text</vh></v> |
75 | +<v t="EKR.20040524104904.41"><vh>Indenting body text automatically</vh></v> |
76 | +</v> |
77 | +<v t="sps.20100504170836.13117"><vh>Miscellaneous</vh> |
78 | <v t="EKR.20040524104904.45"><vh>Opening URL's automatically</vh></v> |
79 | <v t="EKR.20040524104904.47"><vh>Resizing panes</vh></v> |
80 | <v t="EKR.20040524104904.48"><vh>Undoing operations</vh></v> |
81 | <v t="ekr.20070623145346.2"><vh>Using chapters</vh></v> |
82 | </v> |
83 | </v> |
84 | -<v t="ekr.20050831184021.5"><vh>Chapter 4: Programming with Leo</vh> |
85 | -<v t="ekr.20050828061213"><vh>@rst html\directives.html</vh> |
86 | +</v> |
87 | +<v t="ekr.20050831184021.5" a="E"><vh>Chapter 4: Programming with Leo</vh> |
88 | +<v t="ekr.20050828061213" a="E"><vh>@rst html\directives.html</vh> |
89 | <v t="ekr.20050828160132"><vh>@rst-no-head links</vh></v> |
90 | <v t="ekr.20050828061501.1"><vh>@rst-no-head Intro.</vh></v> |
91 | -<v t="ekr.20050828163557"><vh>Overview: creating and using external files</vh></v> |
92 | -<v t="ekr.20050828211507"><vh>Overview: summary of directives</vh></v> |
93 | -<v t="ekr.20050828061501.30"><vh>Reference: all about directives</vh> |
94 | +<v t="sps.20100506030816.13127"><vh>A Brief and Inaccurate History of Leo for Programming</vh> |
95 | +<v t="sps.20100507011942.17790"><vh>@rst-ignore-node \@root</vh></v> |
96 | +</v> |
97 | +<v t="ekr.20050828163557"><vh>Creating and using external files: recommendations</vh> |
98 | +<v t="sps.20100507011942.17791"><vh>@rst-ignore-node \@root</vh></v> |
99 | +</v> |
100 | +<v t="ekr.20050828211507"><vh>Overview: summary of directives</vh> |
101 | +<v t="sps.20100507011942.13175"><vh>Body pane modifiers</vh></v> |
102 | +<v t="sps.20100507011942.13176"><vh>Headline Family Directives</vh> |
103 | +<v t="sps.20100507011942.13177"><vh>External File Directives</vh></v> |
104 | +<v t="sps.20100507011942.13178"><vh>Body Text Generation Modifiers</vh></v> |
105 | +<v t="sps.20100507011942.13179"><vh>Tree Walk Modifiers</vh></v> |
106 | +</v> |
107 | +<v t="sps.20100507011942.13180"><vh>@rst-ignore-node @root Family Directives</vh></v> |
108 | +</v> |
109 | +<v t="ekr.20050828061501.30" a="E"><vh>Reference: all about directives</vh> |
110 | +<v t="sps.20100506153234.13367" a="E"><vh>Body pane modifiers</vh> |
111 | +<v t="ekr.20050828061501.32"><vh>@color, @nocolor, @nocolor-node and @killcolor</vh></v> |
112 | +<v t="ekr.20050828061501.42"><vh>@wrap and @nowrap</vh></v> |
113 | +</v> |
114 | +<v t="sps.20100507011942.13181" a="E"><vh>Headline Directive Family</vh> |
115 | +<v t="sps.20100506153234.13364" a="E"><vh>External file directives</vh> |
116 | +<v t="ekr.20050828174453.2"><vh>\@asis</vh></v> |
117 | +<v t="ekr.20080730212711.47" a="E"><vh>\@auto</vh> |
118 | +<v t="sps.20100507011942.17787"><vh>Perfect import checks</vh></v> |
119 | +<v t="sps.20100507011942.17789"><vh>@rst-ignore-node Commands related to @auto</vh></v> |
120 | +</v> |
121 | +<v t="ekr.20090307063422.4"><vh>\@edit</vh></v> |
122 | +<v t="ekr.20050828061501.51"><vh>\@file</vh></v> |
123 | +<v t="ekr.20050828174453.1"><vh>\@nosent</vh></v> |
124 | +<v t="ekr.20050828061501.39"><vh>\@path</vh></v> |
125 | +<v t="ekr.20080730212711.41"><vh>\@shadow</vh></v> |
126 | +<v t="ekr.20080730212711.44"><vh>\@thin</vh></v> |
127 | +</v> |
128 | +<v t="sps.20100506153234.13365" a="E"><vh>Text generation modifiers</vh> |
129 | <v t="ekr.20050828173234"><vh>@ and @doc</vh></v> |
130 | -<v t="ekr.20050828061501.31"><vh>@all</vh></v> |
131 | -<v t="ekr.20050828174453.2"><vh>\@asis</vh></v> |
132 | -<v t="ekr.20080730212711.47"><vh>\@auto</vh></v> |
133 | <v t="ekr.20050828173234.1"><vh>@c and @code</vh></v> |
134 | -<v t="ekr.20050828061501.32"><vh>@color, @nocolor, @nocolor-node and @killcolor</vh></v> |
135 | <v t="ekr.20050828061501.33"><vh>@comment</vh></v> |
136 | <v t="ekr.20050828061501.34"><vh>@delims</vh></v> |
137 | -<v t="ekr.20090307063422.4"><vh>@edit</vh></v> |
138 | <v t="ekr.20050828061501.35"><vh>@encoding</vh></v> |
139 | -<v t="ekr.20050828061501.51"><vh>\@file</vh></v> |
140 | <v t="ekr.20050828061501.36"><vh>@first</vh></v> |
141 | -<v t="ekr.20050828065955.3"><vh>@ignore</vh></v> |
142 | <v t="ekr.20050828061501.37"><vh>@language</vh></v> |
143 | <v t="ekr.20050828210721"><vh>@last</vh></v> |
144 | <v t="ekr.20050828061501.38"><vh>@lineending</vh></v> |
145 | -<v t="ekr.20050828064254"><vh>@others</vh></v> |
146 | -<v t="ekr.20050828174453.1"><vh>\@nosent</vh></v> |
147 | -<v t="ekr.20050828061501.39"><vh>\@path</vh></v> |
148 | <v t="ekr.20050828210721.1"><vh>@pagewidth</vh></v> |
149 | <v t="ekr.20050828061501.40"><vh>@raw and @end_raw</vh></v> |
150 | +<v t="ekr.20050828210721.2"><vh>\@tabwidth</vh></v> |
151 | +<v t="sps.20100507011942.13198"><vh>\@verbatim</vh></v> |
152 | +</v> |
153 | +<v t="sps.20100506153234.13366" a="E"><vh>Tree walk modifiers</vh> |
154 | +<v t="sps.20100506153234.13369"><vh>\<\<section\>\></vh></v> |
155 | +<v t="ekr.20050828061501.31"><vh>@all</vh></v> |
156 | +<v t="ekr.20050828065955.3"><vh>@ignore</vh></v> |
157 | +<v t="ekr.20050828064254"><vh>@others</vh></v> |
158 | +</v> |
159 | +</v> |
160 | +</v> |
161 | +<v t="sps.20100507011942.13182"><vh>@rst-ignore-tree \@root Directive Family</vh> |
162 | +<v t="sps.20100507011942.13200"><vh>\<\<section\>\></vh></v> |
163 | +<v t="sps.20100507011942.13189"><vh>@ and @doc</vh></v> |
164 | +<v t="sps.20100507011942.13191"><vh>@c and @code</vh></v> |
165 | +<v t="sps.20100507011942.13193"><vh>@comment</vh></v> |
166 | +<v t="ekr.20050828061501.35"></v> |
167 | +<v t="sps.20100507011942.13195"><vh>@language</vh></v> |
168 | +<v t="ekr.20050828061501.38"></v> |
169 | +<v t="ekr.20050828210721.2"></v> |
170 | +<v t="sps.20100507011942.13185"><vh>\@path</vh></v> |
171 | <v t="ekr.20080730212711.51"><vh>\@root</vh></v> |
172 | <v t="ekr.20050828061501.41"><vh>\@root-code and @root-doc</vh></v> |
173 | -<v t="ekr.20080730212711.41"><vh>\@shadow</vh></v> |
174 | -<v t="ekr.20050828210721.2"><vh>\@tabwidth</vh></v> |
175 | -<v t="ekr.20080730212711.44"><vh>\@thin</vh></v> |
176 | -<v t="ekr.20080729064227.3"><vh>@unit</vh></v> |
177 | -<v t="ekr.20050828061501.50"><vh>@verbose, @terse, @quiet and @silent</vh></v> |
178 | -<v t="ekr.20050828061501.42"><vh>@wrap and @nowrap</vh></v> |
179 | -</v> |
180 | -<v t="ekr.20050828062751"><vh>Reference: creating and using external files</vh> |
181 | -<v t="ekr.20070814090306"><vh>\@auto</vh> |
182 | -<v t="ekr.20070814090306.2"><vh>Perfect import checks</vh></v> |
183 | -<v t="ekr.20070814090306.3"><vh>Commands related to @auto</vh></v> |
184 | -</v> |
185 | -<v t="ekr.20090307063422.7"><vh>\@edit</vh></v> |
186 | -<v t="ekr.20050828061501.51"></v> |
187 | -<v t="ekr.20050828174453.1"></v> |
188 | -<v t="ekr.20050828174453.2"></v> |
189 | -<v t="ekr.20050828061501.45"><vh>\@root reference</vh> |
190 | -<v t="ekr.20050828061501.47"><vh>Sections and section definitions</vh></v> |
191 | -<v t="ekr.20050828061501.48"><vh>Tangling @root trees with the Tangle commands</vh></v> |
192 | -<v t="ekr.20050828061501.49"><vh>Untangling @root trees with the Untangle commands</vh></v> |
193 | -</v> |
194 | -<v t="ekr.20080730212711.44"></v> |
195 | -<v t="ekr.20080730212711.41"></v> |
196 | -<v t="EKR.20040524104904.282"><vh>Converting @root trees to @file trees</vh></v> |
197 | +<v t="sps.20100507011942.13202"><vh>@unit</vh></v> |
198 | +<v t="sps.20100507011942.13197"><vh>@verbose, @terse, @quiet and @silent</vh></v> |
199 | +<v t="sps.20100507011942.13198"></v> |
200 | </v> |
201 | <v t="ekr.20050828061501.43"><vh>CWEB mode</vh></v> |
202 | </v> |
203 | @@ -377,8 +409,8 @@ |
204 | <v t="EKR.20040524104904.181"><vh>How Leo Changes the Notion of Literate Programming</vh></v> |
205 | </v> |
206 | </v> |
207 | -<v t="ekr.20050831195331.4" a="E"><vh>Chapter 7: Scripting Leo with Python</vh> |
208 | -<v t="ekr.20040403171740" a="E"><vh>@rst html\scripting.html</vh> |
209 | +<v t="ekr.20050831195331.4"><vh>Chapter 7: Scripting Leo with Python</vh> |
210 | +<v t="ekr.20040403171740"><vh>@rst html\scripting.html</vh> |
211 | <v t="ekr.20091104200540.6566"><vh>@rst-ignore</vh> |
212 | <v t="ekr.20091107181442.26607"><vh>old, too complicated intro</vh></v> |
213 | <v t="ekr.20091104200540.6567"><vh>details for later</vh></v> |
214 | @@ -465,7 +497,7 @@ |
215 | <v t="ekr.20100122073254.11655"><vh>Writing new importers</vh></v> |
216 | </v> |
217 | </v> |
218 | -<v t="EKR.20040524104904.245"><vh>Chapter 9: History of Leo</vh> |
219 | +<v t="EKR.20040524104904.245" a="E"><vh>Chapter 9: History of Leo</vh> |
220 | <v t="ekr.20050901101608.5"><vh>@rst html\history.html</vh> |
221 | <v t="ekr.20050901102147"><vh>@rst-no-head links</vh></v> |
222 | <v t="ekr.20050902105852"><vh>Beginnings</vh></v> |
223 | @@ -4959,45 +4991,6 @@ |
224 | again when its penultimate clone is deleted. Clones are useful for making |
225 | alternate views of a program. See `Clones and views`_ for full details.</t> |
226 | <t tx="EKR.20040524104904.274">@language rest</t> |
227 | -<t tx="EKR.20040524104904.282">To convert an @root tree to an @file tree, choose the root of the tree to be |
228 | -converted, then do the following in the Python window:: |
229 | - |
230 | - import c2py |
231 | - c2py.leo1to2() |
232 | - |
233 | -This script makes numerous changes throughout the tree. It does not, however, |
234 | -change @root to @file, or insert the needed @others directives. You must do that |
235 | -by hand. |
236 | - |
237 | -To convert @root trees to @file trees by hand: |
238 | - |
239 | -1. Change the @root node to an @file node. That is, delete the @root <filename> |
240 | - from the body text and insert @file <filename> in the headline. Typically, |
241 | - the root node contains a reference like <<methods of class x>> as the last |
242 | - body text. Replace this reference with the @others directive. The expansion |
243 | - of @others is all text that is not part of a section definition. |
244 | - |
245 | -2. Add @ to the start of all doc parts. Leo starts syntax coloring in code mode |
246 | - rather than doc mode, so if a doc part starts body text it should start with |
247 | - an '@' sign. |
248 | - |
249 | -3. Replace all section definition lines (like <<name>>=) by @c. This results in |
250 | - the node being added to the expansion of @others. |
251 | - |
252 | -4. Remove all unused code from the @file tree. Leo does not write external files |
253 | - whose @file trees contain orphan or @ignore nodes. |
254 | - |
255 | -5. Make sure that all nodes defining a section have a headline that starts with |
256 | - <<section>>. This will typically be true when converting @root trees that use |
257 | - the @code directive. |
258 | - |
259 | -6. If a section is referenced in more than one node (a rare occurrence in my |
260 | - code), clone the defining node and move one clone under each referencing |
261 | - node. |
262 | - |
263 | -7. If a node contains the definitions of several sections, place each different |
264 | - definition in a different node. |
265 | -</t> |
266 | <t tx="EKR.20040524104904.307">The following error messages may be generated by the Tangle commands. |
267 | |
268 | Can not re-open temp file |
269 | @@ -5307,7 +5300,7 @@ |
270 | <t tx="EKR.20040524104904.36">The Insert Node command inserts a new node into the outline. The |
271 | Delete Node command deletes a node and all its children. |
272 | </t> |
273 | -<t tx="EKR.20040524104904.37">The Cut Outline, Paste Outline, Copy Outline and Delete Outline commands work on |
274 | +<t tx="EKR.20040524104904.37">The Cut Node, Paste Node, Copy Node and Delete Node commands work on |
275 | nodes rather than text. For example, to delete a node, select the node and |
276 | choose the Cut Outline or Delete Outline command. The Cut Outline and Copy |
277 | Outline commands copy a text representation of the outline to the clipboard. |
278 | @@ -5315,20 +5308,21 @@ |
279 | deleted. You may copy this text representation into a body pane (or into any |
280 | other text editor) using the Edit:Paste command. |
281 | |
282 | -**Warning**: In practice, it is almost always wiser to move clones rather than |
283 | -cutting or pasting them. Cutting and pasting outlines preserves clones, but the |
284 | -links between clones only exist within the part of the outline that was pasted. |
285 | -Therefore, if you are cutting and pasting an outline containing clones it is |
286 | -best to cut and paste the *entire* outline. Alternatively, you can paste part of |
287 | -an outline, then delete all clones.</t> |
288 | -<t tx="EKR.20040524104904.38">You may drag an node (including all its descendants) from one place to another |
289 | +**Warning**: If you want to preserve the "cloned" attribute of a node, or want to paste the node as a clone of the node you cut or copied, use the paste-retaining-clones command (in the Outline menu, called "Past Node as Clone"). |
290 | +The paste-node command instead creates a new, distinct version of the node you previously cut or copied, though if there were descendants nodes which were clones of each other, the new version will have parallel, distinct nodes that are also clones of each other (just not to the originals). You may paste a node between .leo files, but there can be no clone relationship between them. |
291 | + |
292 | +There are places to which you are prevented from paste-retaining-clones, because it would cause a node to become a parent of itself, and thus cuase outline traversals like \@thin expansion to loop until they consumed all memory and crashed the program. The leo outline is thus mathematically a *directed acyclic graph*: clones make it more flexible than a tree, but not a generalized graph. |
293 | +</t> |
294 | +<t tx="EKR.20040524104904.38">If you are using the Tk GUI ( by starting Leo with the argument --gui=tk ) you may drag a node (including all its descendants) from one place to another |
295 | in an outline. To start a drag, press the main (left) mouse button while the |
296 | cursor is over the icon for a node. The cursor will change to a hand icon. If |
297 | you release the mouse button while the hand cursor is above the icon for another |
298 | node, Leo will move the dragged node after that node. If you release the mouse |
299 | button when the hand cursor is not over an icon, Leo will leave the outline pane |
300 | -as it is. Leo scrolls the outline pane as the result of mouse-moved events, so |
301 | -to continue scrolling you must keep moving the mouse.</t> |
302 | +as it is. Leo scrolls the outline pane as the result of mouse-moved events so near the top and bottom boundaries of the outline pane, so to continue scrolling you must keep moving the mouse. |
303 | +to continue scrolling you must keep moving the mouse. |
304 | + |
305 | +In both GUIs, you can use the move-outline-down and move-outline-up commands (bound to Ctrl-D and Ctrl-U by default) to move a node within the outline. It may be easier to move within a large outline by cutting the node and pasting it.</t> |
306 | <t tx="EKR.20040524104904.380">@language rest</t> |
307 | <t tx="EKR.20040524104904.39">Leo auto indents unless @nocolor is in effect. Typing a newline |
308 | automatically inserts the same leading whitespace present on the previous line. |
309 | @@ -5440,7 +5434,10 @@ |
310 | <t tx="EKR.20040524104904.40">You can expand or contract a node by clicking in the standard Windows Tree |
311 | View icon to the left of the status icon. Expanding a node shows its immediate |
312 | children; contracting a node hides all its children. The Expand All Subheads |
313 | -command expands all of a nodes offspring (children, grandchildren, etc.)</t> |
314 | +command expands all of a nodes offspring (children, grandchildren, etc.) |
315 | + |
316 | +Alt-Leftarrow on an expanded node will contract the node; Alt-RightArrow on a contracted node will expand the node. |
317 | +</t> |
318 | <t tx="EKR.20040524104904.41">Leo auto indents body text following colons when @language Python is in |
319 | effect. When the smart_auto_indent setting is True, Leo uses Emacs-style |
320 | auto-indentation instead. This style of auto-indent aligns newly created lines |
321 | @@ -5467,13 +5464,7 @@ |
322 | selecting another location in the outline and pasting the node in the new |
323 | location. |
324 | |
325 | -**Warning**: In practice, it is almost always wiser to move clones rather than |
326 | -cutting or pasting them. Cutting and pasting outlines preserves clones, but the |
327 | -links between clones only exist within the part of the outline that was pasted. |
328 | -Therefore, if you are cutting and pasting an outline containing clones it is |
329 | -best to cut and paste the _entire_ outline. Alternatively, you can paste part of |
330 | -an outline, then delete all clones. |
331 | -</t> |
332 | +See the **Warning** above in `Cutting, pasting and deleting nodes`_.</t> |
333 | <t tx="EKR.20040524104904.45">Double-clicking the icon box of a node whose headline has the form:: |
334 | |
335 | @url <any url> |
336 | @@ -8140,7 +8131,7 @@ |
337 | Naud Olivier, Joe Orr, |
338 | Marc-Antoine Parent, Paul Paterson, Sean Shaleh Perry, Tim Peters, David Priest, Gary Poster, Scott Powell, |
339 | Bruce Rafnel, Walter H. Rauser, Olivier Ravard, David Speed Ream, Rich Ries, Aharon Robbins, Guido van Rossum, David Rowe, |
340 | -Davide Salomoni, Steven Schaefer,Johannes Schöön, Wolfram Schwenzer, Casey Wong Kam Shun, |
341 | +Davide Salomoni, Stephen Schaefer,Johannes Schöön, Wolfram Schwenzer, Casey Wong Kam Shun, |
342 | Gil Shwartz, Jim Sizelove, Paul Snively, Jurjen Stellingwerff, Phil Straus, David Szent-Györgyi, |
343 | Kent Tenney, Jeffrey Thompson, |
344 | Gabriel Valiente, Jim Vickroy, Tony Vignaux, Tom van Vleck, |
345 | @@ -8201,7 +8192,7 @@ |
346 | François Pinard wrote pymacs. |
347 | Norman Ramsey created noweb and gave permission to quote from the noweb web documentation. |
348 | Rich Ries has contributed a huge number of suggestions. |
349 | -Steven P. Schaefer pointed out major security problems lurking in hooks. |
350 | +Stephen P. Schaefer pointed out major security problems lurking in hooks. |
351 | Gil Shwartz helped with unicode support. |
352 | Phil Straus has been a great friend and constant support. |
353 | Guido van Rossum created Python, Tkinter and the Python License. |
354 | @@ -10233,7 +10224,7 @@ |
355 | widget. This allows users to set Tk options.</t> |
356 | <t tx="ekr.20050812090111">import leo.core.leoPlugins as leoPlugins |
357 | |
358 | -rst3 = leoPlugins.getPluginModule('rst3') |
359 | +rst3 = c.rstCommands.rst3 |
360 | |
361 | if rst3: |
362 | controller = rst3.controllers.get(c) |
363 | @@ -10899,130 +10890,132 @@ |
364 | for that you should read `Leo's tutorial`_. |
365 | This chapter assumes you are thoroughly familiar with the terminology introduced in the tutorial. |
366 | **Note**: Are you *sure* you want to read this chapter? |
367 | -It contains many details that are no interest to the average user of Leo. |
368 | +It contains many details that are of no interest to the average user of Leo. |
369 | I recommend using Leo for two weeks, or longer, before attempting this chapter. |
370 | |
371 | .. .. contents::</t> |
372 | -<t tx="ekr.20050828061501.30">The following sections give full details about each directive. |
373 | -The directives listed here may appear in headlines or body text. |
374 | +<t tx="ekr.20050828061501.30">The following sections give full details about each directive. The `Headline Directive Family`_ directives will be supplemented by the `\@root Directive Family`_ once the latter has settled in its semantics; the same directive may have different effects depending on whether it is governed by a headline directive or an ``@root`` directive; at this point, just don't use ``@root``. |
375 | + |
376 | </t> |
377 | -<t tx="ekr.20050828061501.31">The @all directive is valid only in @thin trees. |
378 | -The @all directive is similar to @others, but it is less restrictive: |
379 | -it dumps *all* nodes to the external file, including @ignore nodes and nodes that |
380 | -in an @others tree would be considered to be orphan nodes. |
381 | +<t tx="ekr.20050828061501.31">The ``@all`` directive is valid only in ``@thin`` style trees. |
382 | +The ``@all`` directive is similar to ``@others``, but it is less fastidious: |
383 | +it dumps the current node and *all* child nodes to the external file, |
384 | +including ``@ignore`` nodes and nodes that |
385 | +in an ``@others`` tree would be considered to be orphan nodes, generally ceasing to |
386 | +interpret any |
387 | +further tree walk or text generation modifying directives. |
388 | |
389 | -The @all directive is required for files such as @thin leoProjects.txt in LeoPy.leo. |
390 | +The ``@all`` directive is required for files such as ``@thin`` leoProjects.txt in LeoPy.leo. |
391 | leoProjects.txt contains so-called project nodes. |
392 | It doesn't have any meaning as a program file: it is simply a collection of unrelated data. |
393 | -@others would not work at all: it would complain about lots of orphan nodes.</t> |
394 | +``@others`` would not work at all: it would complain about lots of orphan nodes.</t> |
395 | <t tx="ekr.20050828061501.32">Syntax coloring is on by default in all body text. |
396 | Leo formats comments and documentation parts in red, |
397 | directives and C keywords in blue, |
398 | -strings and character constants in gray and all other text in code parts in black. |
399 | -The @nocolor directive disables syntax coloring for the body text in which it appears. |
400 | -No syntax coloring is done until an @color directive re-enables syntax coloring. |
401 | +strings and character constants in green and all other text in code parts in black. |
402 | +The color directives are recognized only in the first column of the body text. |
403 | +The ``@nocolor`` directive disables syntax coloring for the lines of body text after which it appears. |
404 | +No syntax coloring is done until an ``@color`` directive re-enables syntax coloring. |
405 | |
406 | -If a node contains neither the @color nor the @nocolor directive |
407 | +If a node contains neither the ``@color`` nor the ``@nocolor`` directive |
408 | it may inherit the syntax coloring attribute from an ancestor. |
409 | -The nearest ancestor that contains exactly one of the @color or @nocolor directives |
410 | +The nearest ancestor that contains exactly one of the ``@color`` or ``@nocolor`` directives |
411 | will control the syntax coloring. |
412 | -**Ambiguous nodes**, nodes containing both the @color and @nocolor directives, |
413 | -never affect the coloring of their offspring. |
414 | +**Ambiguous nodes**, nodes containing both the ``@color`` and ``@nocolor`` directives, |
415 | +never affect the coloring of their children. |
416 | |
417 | -The @nocolor-node directive completely disables coloring for that node only. |
418 | +The ``@nocolor-node`` directive completely disables coloring for that node only, taking precedence over other color directives that may be present. |
419 | Descedant nodes are not affected. |
420 | |
421 | -The @killcolor directive completely disables the colorizer for that node. |
422 | +The ``@killcolor`` directive completely disables the colorizer for that node. |
423 | The result is much faster syntax coloring of large body text. |
424 | -As usual @killcolor may itself be overridden in descendant nodes. |
425 | -The differences between @killcolor and @nocolor: |
426 | - |
427 | -- @nocolor suppresses coloring only until the next @color directive. |
428 | - |
429 | -- @killcolor overrides @nocolor and @color directives. |
430 | - Any node containing @killcolor is unambiguously a @killcolor node regardless of |
431 | - whether that node also contains @color or @nocolor directives. |
432 | - |
433 | -**Note**: |
434 | -These directives do not affect the Tangle commands in any way. |
435 | -In particular, the Tangle commands will recognize section definitions as usual even |
436 | -after an @nocolor directive is seen.</t> |
437 | -<t tx="ekr.20050828061501.33">**Note**: the @comment directive is deprecated: you should use the @language |
438 | -directive whenever possible. However, sometimes using both @language and |
439 | -@comment is useful. For this to be effective the @comment directive should |
440 | -appear after the @language directive (in outline order). |
441 | - |
442 | -The Untangle command will not process an @root or @unit node if an @comment |
443 | -directive is in effect because Untangle can't be sure of properly parsing an |
444 | -external file if the language of the external file isn't known. It might be |
445 | -possible to assume some defaults in this case, but that is not done at present |
446 | -and is not a high priority. By default, the Tangle commands produces C-language |
447 | -comments. Single-line comments generated during tangling start with ///, while |
448 | -documentation parts are surrounded by \* and \*. The @comment directive allows |
449 | -you to use Tangle to produce shell and make files, as well as source code for |
450 | -other programming languages. |
451 | - |
452 | -The @comment directive may be followed by zero to three delimiters, separated by |
453 | +``@killcolor`` may itself be overridden in descendant nodes. |
454 | +The differences between ``@killcolor`` and ``@nocolor``: |
455 | + |
456 | +- ``@nocolor`` suppresses coloring only until the next ``@color`` directive. |
457 | + |
458 | +- ``@killcolor`` overrides ``@nocolor`` and ``@color`` directives. |
459 | + Any node containing ``@killcolor`` is unambiguously a ``@killcolor`` node regardless of |
460 | + whether that node also contains ``@color`` or ``@nocolor`` directives. |
461 | + |
462 | +``@killcolor`` and ``@nocolor-node`` differ in that the influence of ``@nocolor-node`` does not extend to descendant nodes, whereas ``@killcolor`` does influence descendant nodes. |
463 | + |
464 | +Leo recognizes the color directives only in the first column of body text, not in headlines. |
465 | +They have no effect on the "tangle" processes. |
466 | +</t> |
467 | +<t tx="ekr.20050828061501.33">**Note**: the ``@comment`` directive is deprecated: you should use the ``@language`` |
468 | +directive whenever possible. However, sometimes using both ``@language`` and |
469 | +``@comment`` is useful. For this to be effective the ``@comment`` directive should |
470 | +appear after the ``@language`` directive (in outline order). In such cases ``@comment`` |
471 | +overrides the comment delimiters normally used by ``@language``. Even in this case, you will generally |
472 | +do better combining ``@language`` and ``@delims``. See `\@delims`_. **DO NOT** combine ``@comment`` |
473 | +with ``@delims``: the result is undefined and often generates a file which Leo cannot read and from |
474 | +which **data will be lost** after any subsequent ''save''. |
475 | + |
476 | +``@comment`` controls the text used to designate comment strings in the external file. |
477 | +By default, saving an ``@thin`` style tree produces C-language |
478 | +comments. Single-line comments generated during generation start with ``//``, while |
479 | +documentation parts are surrounded by ``/*`` and ``*/``. The ``@comment`` directive allows |
480 | +you to work with source code for almost any programming languages. |
481 | + |
482 | +The ``@comment`` directive may be followed by zero to three delimiters, separated by |
483 | whitespace. This directive sets the single-line comment delimiter and the |
484 | opening and closing block comment delimiters as follows: |
485 | |
486 | -====================== ===================================================================== |
487 | -\@comment no args\: restores the defaults to ///, /\* and \*/ |
488 | ----------------------- --------------------------------------------------------------------- |
489 | -\@comment /// \1 arg\: sets the single-line comment and clears the other delims. |
490 | ----------------------- --------------------------------------------------------------------- |
491 | -\@comment /\* \*/ \2 args\: sets the block comment delims; clears the single-line delim. |
492 | ----------------------- --------------------------------------------------------------------- |
493 | -\@comment /// /\* \*/ \3 args\: sets all three delimiters. |
494 | -====================== ===================================================================== |
495 | - |
496 | -If only one delimiter is given, Leo does not write any documentation parts while tangling. |
497 | -If two delimiters are given, block-style comments are used instead of single-line comments. |
498 | -For example, the @comment { } directive could be used to tangle Pascal files. |
499 | - |
500 | -The @comment directive is only recognized in @root, @unit, @file and @thin nodes, |
501 | -and the @comment directive must precede the first section name or @code directive. |
502 | -An @comment directive in the body text of an @unit directive specifies the current global defaults. |
503 | -An @comment directive in the body text of an @root directive affects comments generated for one root only. |
504 | -Comments in all other roots are governed by the global defaults. |
505 | - |
506 | -Leo will convert underscores in the @comment directives to significant spaces. For example:: |
507 | +======================== ===================================================================== |
508 | +``@comment`` no args\: restores the defaults to ``//``, ``/*`` and ``*/`` |
509 | +------------------------ --------------------------------------------------------------------- |
510 | +``@comment //`` \1 arg\: sets the single-line comment and clears the other delims. |
511 | +------------------------ --------------------------------------------------------------------- |
512 | +``@comment /* */`` \2 args\: sets the block comment delims; clears the single-line delim. |
513 | +------------------------ --------------------------------------------------------------------- |
514 | +``@comment // /* */`` \3 args\: sets all three delimiters. |
515 | +======================== ===================================================================== |
516 | + |
517 | +If only one delimiter is given, Leo uses it to begin each line of a |
518 | +recognized documentation part (that is, one ungoverned by something like ``@all``). |
519 | + |
520 | +If two delimiters are given, Leo uses block-style comments instead of single-line comments. |
521 | +For example, ``@comment { }`` could be used with Pascal files. |
522 | + |
523 | +The ``@comment`` directive must precede the first section name or ``@c`` directive. |
524 | + |
525 | +Leo will convert underscores in the ``@comment`` directives to significant spaces. For example:: |
526 | |
527 | @comment REM_ |
528 | |
529 | -causes the comment delimiter to be "REM " (Note the trailing space).</t> |
530 | -<t tx="ekr.20050828061501.34">The @delims directive changes the comment strings used to mark sentinel lines. |
531 | +causes the comment delimiter to be "REM " (Note the trailing space). |
532 | +</t> |
533 | +<t tx="ekr.20050828061501.34">The ``@delims`` directive changes the comment strings used to mark sentinel lines from that point forward in the body text. |
534 | This directive is often used to place Javascript text inside XML or HTML files. |
535 | -The delims directive is not valid in @root or @unit trees. |
536 | |
537 | -The @delims directive contains one or two delimiters, separated by whitespace. |
538 | +The ``@delims`` directive contains one or two delimiters, separated by whitespace. |
539 | If only one delim is present it delimits single-line comments. |
540 | If two delims are present they delimit block comments. |
541 | -The @delims directive can not be used to change the comment strings at the start of the external file, |
542 | -that is, the comment strings for the @+leo sentinel and the initial @+body and @+node sentinels. |
543 | +The ``@delims`` directive can not be used to change the comment strings at the start of the external file, |
544 | +that is, the comment strings for the ``@+leo`` sentinel and the initial ``@+body`` and ``@+node`` sentinels. |
545 | |
546 | -The @delims directive inserts @@delims sentinels into the external file. |
547 | -The new delimiter strings continue in effect until the next @@delims sentinel in the external file or |
548 | +The ``@delims`` directive inserts ``@@delims`` sentinels into the external file. |
549 | +The new delimiter strings continue in effect until the next ``@@delims`` sentinel in the external file or |
550 | the end of the external file. |
551 | |
552 | **Note**: Leo can not revert to previous delimiters automatically; |
553 | -you must change back to previous delimiters using another @delims directive. For example:: |
554 | +you must change back to previous delimiters using another ``@delims`` directive. For example:: |
555 | |
556 | @delims /* */ |
557 | Javascript stuff |
558 | @delims <-- --> |
559 | HTML stuff |
560 | |
561 | -Adding, deleting or changing @@delims sentinels will destroy Leo's ability to read the external file. |
562 | -Mistakes using the @delims directive have no effect on Leo, |
563 | -though such mistakes will thoroughly mess up a external file as far as compilers, |
564 | -HTML renderers, etc. are concerned.</t> |
565 | -<t tx="ekr.20050828061501.35">You may use the @encoding directive to specify the encoding used in an external file. |
566 | +Adding, deleting or changing ``@@delims`` sentinels will destroy Leo's ability to read the external file. |
567 | +``@delims`` affects only external files, having no effect on Leo's colorizer or internal data representation. |
568 | +Incorrect use will thoroughly corrupt the external file as far as compilers, HTML renderers, etc. are concerned.</t> |
569 | +<t tx="ekr.20050828061501.35">You may use the ``@encoding`` directive to specify the encoding used in an external file. |
570 | You can't mix encodings in a single external file. For example:: |
571 | |
572 | @encoding iso-8859-1 |
573 | |
574 | -If the encoding used in an external file is not "utf-8" it is represented in the @+leo sentinel line, like this:: |
575 | +If the encoding used in an external file is not "utf-8" it is represented in the ``@+leo`` sentinel line, like this:: |
576 | |
577 | #@+leo-encoding=iso-8859-1. |
578 | |
579 | @@ -11031,56 +11024,72 @@ |
580 | so encoding and decoding to and from utf-8 plain strings will never cause a problem. |
581 | When reading or writing a character not in a "lossy" encoding (such as iso-8859-1), |
582 | Leo converts such characters to '?' and issues a warning. </t> |
583 | -<t tx="ekr.20050828061501.36">The @first directive allows you to place lines at the very start of external files created |
584 | -by @thin and @file nodes. |
585 | -For example, the body text of @file spam.py |
586 | -might be:: |
587 | +<t tx="ekr.20050828061501.36">The ``@first`` directive allows you to place lines at the very start of external files. |
588 | +For example, the first line of body text of ``@file spam.py`` might be:: |
589 | |
590 | @first #! /usr/bin/env python |
591 | |
592 | -The body text of @file foo.perl might be:: |
593 | +The first line of body text of ``@file foo.pl`` might be:: |
594 | |
595 | @first #/usr/bin/perl |
596 | |
597 | -@first directives are recognized only at the start of the body text of @file and @thin nodes. |
598 | -No text may precede @first directives. |
599 | -More than one @first directive may exist, like this:: |
600 | +``@first`` directives are recognized only at the start of the body text of external |
601 | +file directive headline nodes, such as ``@file`` or ``@thin``. |
602 | +No text may precede ``@first`` directives. |
603 | +More than one ``@first`` directive may exist, like this:: |
604 | |
605 | @first #! /usr/bin/env python |
606 | @first # more comments. |
607 | - |
608 | -The @first directive is not valid in @root or @unit trees.</t> |
609 | -<t tx="ekr.20050828061501.37">The @language directive specifies the comment delimiters and string types used by the |
610 | +</t> |
611 | +<t tx="ekr.20050828061501.37">The ``@language`` directive specifies the comment delimiters and string types used by the |
612 | Tangle and Untangle commands. |
613 | This directive over-rides the default specified in the settings dialog. |
614 | |
615 | -When the threading_colorizer plugin is enabled, the valid @language directives are:: |
616 | - |
617 | - @language x |
618 | - |
619 | -where the leo/modes folder contains the file x.py. When the threading_colorizier plugin is not enabled, |
620 | -the 'old' colorizer is used and the valid @language directives are:: |
621 | +The valid @language directives are:: |
622 | |
623 | @language actionscript |
624 | + @language ada |
625 | + @language autohotkey |
626 | + @language batch |
627 | @language c |
628 | - @language c++ |
629 | + @language cpp |
630 | + @language css |
631 | @language cweb |
632 | @language elisp |
633 | + @language forth |
634 | + @language fortran |
635 | + @language fortran90 |
636 | + @language haskell |
637 | + @language haxe |
638 | @language html |
639 | + @language ini |
640 | @language java |
641 | + @language kshell |
642 | @language latex |
643 | - @language objective-c |
644 | + @language lua |
645 | + @language noweb |
646 | @language pascal |
647 | @language perl |
648 | @language perlpod |
649 | + @language php |
650 | @language plain |
651 | + @language plsql |
652 | @language python |
653 | + @language rapidq |
654 | @language rebol |
655 | + @language rest |
656 | + @language rst |
657 | + @language ruby |
658 | @language shell |
659 | + @language tex |
660 | @language tcltk |
661 | + @language vim |
662 | + @language vimoutline |
663 | + @language xml |
664 | + @language xslt |
665 | |
666 | Shell files have comments that start with `#`. |
667 | -Case is ignored in the language specifiers, but not in the @language itself. |
668 | +Case is ignored in the language specifiers, but not in the ``@language`` itself. |
669 | Thus, the following are equivalent:: |
670 | |
671 | @language html |
672 | @@ -11090,462 +11099,164 @@ |
673 | but the following is invalid:: |
674 | |
675 | @LANGUAGE html</t> |
676 | -<t tx="ekr.20050828061501.38">The @lineending directive sets the line endings for individual external files. |
677 | -This directive will override the output_newline setting. |
678 | -The @lineending *never* affects the line endings in .leo files themselves: |
679 | +<t tx="ekr.20050828061501.38">The ``@lineending`` directive sets the line endings for individual external files. |
680 | +This directive will override the ``@string output_newline`` setting. |
681 | +The ``@lineending`` *never* affects the line endings in .leo files themselves: |
682 | .leo files must have consistent line endings! |
683 | |
684 | The valid forms of the @lineending directive are: |
685 | |
686 | -======================= ====================================================== |
687 | -\@lineending nl The default, Linux. |
688 | ------------------------ ------------------------------------------------------ |
689 | -\@lineending cr Mac |
690 | ------------------------ ------------------------------------------------------ |
691 | -\@lineending crlf Windows |
692 | ------------------------ ------------------------------------------------------ |
693 | -\@lineending lf Same as 'nl', not recommended |
694 | ------------------------ ------------------------------------------------------ |
695 | -\@lineending platform Same as platform value for output_newline setting. |
696 | -======================= ======================================================</t> |
697 | -<t tx="ekr.20050828061501.39">The @path directives override the deprecated default_tangle_directory setting. |
698 | - |
699 | -The form of the \@path directive is @path *filename*, |
700 | -where *filename* is taken to be everything following \@path to the end of the line. |
701 | - |
702 | -If *filename* is an absolute filename the location of the external file is specified only by the filename. |
703 | -Otherwise, if *filename* is a relative filename, the location of the external file is relative to: |
704 | - |
705 | -1. the directory specified the applicable @path directive, or |
706 | -2. the "Default Tangle Directory" in the Settings dialog if no @path directive is in effect, or |
707 | +======================== ====================================================== |
708 | +``@lineending nl`` The default, Linux. |
709 | +------------------------ ------------------------------------------------------ |
710 | +``@lineending cr`` Mac |
711 | +------------------------ ------------------------------------------------------ |
712 | +``@lineending crlf`` Windows |
713 | +------------------------ ------------------------------------------------------ |
714 | +``@lineending lf`` Same as 'nl', not recommended |
715 | +------------------------ ------------------------------------------------------ |
716 | +``@lineending platform`` Same as platform value for output_newline setting. |
717 | +======================== ======================================================</t> |
718 | +<t tx="ekr.20050828061501.39">The ``@path`` directives override the deprecated ``@directory default_tangle_directory`` setting. |
719 | + |
720 | +The form is: |
721 | + |
722 | + ``@path`` *directory* |
723 | + |
724 | +where *directory* is taken to be everything following ``@path`` to the end of the line. |
725 | + |
726 | +When an external file directive such as ``@thin`` specifies an absolute path, |
727 | +no ``@path`` or setting affects the external file name. |
728 | +When an external file directive specifies a relative name, |
729 | +Leo derives the directory to which that path is relative as follows: |
730 | + |
731 | +1. the directory specified by ``@path`` directives in parent nodes, or |
732 | +2. the "Default Tangle Directory" in the Settings dialog if no ``@path`` directive is in effect, or |
733 | 3. the directory in which the .leo file resides if the .leo file has ever been saved. |
734 | |
735 | +As parent nodes are examined beginning with the closest, Leo prepends relative path components, and finishes when prepending an absolute path. In other words, ``@path`` directives specifying relative directory names are relative to their parent nodes. If no ``@path`` directive gives an absolute directory name, then the topmost ``@path`` is relative to either (2) or (3) in the list above. |
736 | + |
737 | An error occurs if no absolute path can be computed according to these rules, |
738 | -or if *filename* does not exist.</t> |
739 | -<t tx="ekr.20050828061501.40">The @raw and @end_raw directives are valid only within @file and @thin trees. |
740 | -The @raw directive starts a section of "raw" text. The @end_raw directive ends |
741 | +or if the derived directory name does not exist. |
742 | +</t> |
743 | +<t tx="ekr.20050828061501.40">The ``@raw`` directive starts a section of "raw" text. The ``@end_raw`` directive ends |
744 | such a section, as does the end of body text. No section references are |
745 | recognized within raw text, and no additional leading whitespace is generated |
746 | within raw text when writing the external file.</t> |
747 | <t tx="ekr.20050828061501.41">Leo allows you to choose whether body text in @root trees will start in code |
748 | -mode or doc mode by default. The @root-doc *filename* and @root-code *filename* |
749 | +mode or doc mode by default. The \@root-doc *filename* and \@root-code *filename* |
750 | directives specify that body text is assumed to start in doc mode or code mode |
751 | -respectively. The options (-doc and -code) must follow @root immediately with no |
752 | -intervening whitespace. In effect, @root-code and @root-doc are two new |
753 | +respectively. The options (-doc and -code) must follow \@root immediately with no |
754 | +intervening whitespace. In effect, \@root-code and \@root-doc are two new |
755 | directives. |
756 | |
757 | -These @root options override the at_root_bodies_start_in_doc_mode setting. This |
758 | -setting affects only @root trees without options. Such "plain" @root trees are |
759 | +These \@root options override the at_root_bodies_start_in_doc_mode setting. This |
760 | +setting affects only \@root trees without options. Such "plain" \@root trees are |
761 | now deprecated, which only means that it is better style to use either the |
762 | -\@root-code or @root-doc directive. The reason is simple: the meaning of plain |
763 | +\@root-code or \@root-doc directive. The reason is simple: the meaning of plain |
764 | \@root trees will depend on the at_root_bodies_start_in_doc_mode setting. It's |
765 | better to be explicit. By default, at_root_bodies_start_in_doc_mode = 1 for |
766 | -compatibility for old @root trees. I actually don't think this option is good |
767 | -for much; I created it before I created @root-doc and @root-code settings, and I |
768 | +compatibility for old \@root trees. I actually don't think this option is good |
769 | +for much; I created it before I created \@root-doc and \@root-code settings, and I |
770 | decided it wouldn't hurt to leave it in. Anyway, you now have complete |
771 | -flexibility about how @root works, and in particular you can make @root work |
772 | -just like @file.</t> |
773 | -<t tx="ekr.20050828061501.42">By default, the body_pane_wraps setting controls whether body text wraps. |
774 | -You may override this setting for a particular tree using the @wrap and @nowrap directives. |
775 | -Only the first @wrap or @nowrap directive in a node has any effect.</t> |
776 | +flexibility about how \@root works. |
777 | +</t> |
778 | +<t tx="ekr.20050828061501.42">@nowrap |
779 | +By default, the ``@bool body_pane_wraps`` setting controls whether body text wraps. You may override this setting for a particular tree using the ``@wrap`` and ``@nowrap`` directives. Only the first ``@wrap`` or ``@nowrap`` directive in a node has any effect. ``@wrap`` and ``@nowrap`` are recognized in both headlines and the body. In the body, these directives are recognized only in the first column of body text. |
780 | + |
781 | +</t> |
782 | <t tx="ekr.20050828061501.43">See `CWEB`_ for a discussion of the CWEB language. CWEB mode refers to how Leo |
783 | -tangles an outline when @language cweb is in effect or the cweb setting is in |
784 | +tangles an outline when ``@language cweb`` is in effect or the cweb setting is in |
785 | effect. Leo treats *all* cweb code in cweb mode as unevaluated text. That is, |
786 | -Leo treats cweb control codes, including @<...@>, @<..@>=, @c, @, @* and @** as |
787 | +Leo treats cweb control codes, including ``@<`` ... ``@>``, ``@<`` ... ``@>=``, ``@c``, ``@``, ``@*`` and ``@**`` as |
788 | "raw" text within cweb mode. Leo does *not* expand *cweb* section references |
789 | when writing external files in cweb mode. However, Leo *does* expand *noweb* |
790 | section references, so you may use noweb sections to organize cweb files! You |
791 | -can create *noweb* code and doc sections using the @code and @doc directives in |
792 | -place of @c and @ directives. |
793 | +can create *noweb* code and doc sections using the ``@code`` and ``@doc`` directives in |
794 | +place of ``@c`` and ``@`` directives. |
795 | |
796 | -By default, cweb colors @, @* and @** sections using the same syntax coloring as |
797 | -for LaTeX. In addition, cweb colors C // and /*..*/ comments using LaTeX |
798 | +By default, cweb colors ``@``, ``@*`` and ``@**`` sections using the same syntax coloring as |
799 | +for LaTeX. In addition, cweb colors C ``//`` and ``/*`` .. ``*/`` comments using LaTeX |
800 | coloring by default. You may change these defaults using the |
801 | -color_cweb_doc_parts_with_latex and color_cweb_comments_with_latex settings. |
802 | -</t> |
803 | -<t tx="ekr.20050828061501.45">This section discusses all aspects of @root trees. |
804 | -\@root directives must appear in body text, not headlines. |
805 | - |
806 | -You should carefully consider whether the extra flexibility afforded by @root |
807 | -trees is worth the extra bother. Indeed, @file trees are much easier to use than |
808 | -\@root trees: |
809 | - |
810 | -- @file and @thin trees use less markup than @root trees. |
811 | - In particular, the @others directive is valid only within @file and @thin trees. |
812 | - |
813 | -- You must explicitly tangle and untangle @root trees using the Tangle and |
814 | - Untangle commands. |
815 | - |
816 | -However, @root trees are more flexible than @file and @thin trees: |
817 | - |
818 | -- Sections may be defined anywhere within @root trees. Moreover, the @unit |
819 | - directive expands the scope of section definitions in @root trees so that a |
820 | - section may be referenced in several @root trees. |
821 | - |
822 | -- The meaning of section definitions in @root trees are independent of their position within the tree. |
823 | -</t> |
824 | -<t tx="ekr.20050828061501.47">Just as with @file trees, @root trees may contain code parts and doc parts. |
825 | -Code parts start with section definition lines (see below) or the @c directive. |
826 | -Doc parts start with @ directive. |
827 | -Doc parts continue until the end of body text or until the next @c or @ directive. |
828 | - |
829 | -Body text in @root trees contain zero or more code and doc parts in any order. |
830 | -The @c directive starts a named code section if the node's headline starts with <<section name>>. |
831 | -Otherwise, the @c directive is invalid. |
832 | - |
833 | -**Section definition lines** are lines of the form:: |
834 | - |
835 | - << section name>>= |
836 | - |
837 | -(note the equal sign). |
838 | -Such lines also start named code parts. |
839 | -Named code parts in @root trees may be defined in several places. |
840 | -The definition of a named code part is the concatenation of all code parts with the same name. |
841 | -Body text that defines no code part is ignored. |
842 | -At least one non-blank line must follow the section definition line; |
843 | -empty sections are not allowed. |
844 | - |
845 | -As in @file trees, paired << and >> characters on the same line always denote a section name, |
846 | -even within comments and strings. |
847 | -Thus, << and >> characters that do not delimit a section name must be placed on separate lines. |
848 | -If << and >> are not paired on a line, they are treated as ordinary << and >> characters. |
849 | - |
850 | -Here is a typical example of body text within an @root tree:: |
851 | - |
852 | - @ This method puts an open node sentinel for node v. |
853 | - <<atFile methods>>= |
854 | - def putOpenNodeSentinel(self,v): |
855 | - if v.isAtFileNode() and v != self.root: |
856 | - << issue an error message >> |
857 | - else: |
858 | - s = self.nodeSentinelText(v) |
859 | - self.putSentinel("@+node:" + s) |
860 | - |
861 | -Provided that the node's headline starts with <<atFile methods>>, |
862 | -the example above is equivalent to:: |
863 | - |
864 | - @ This method puts an open node sentinel for node v. |
865 | - @c |
866 | - def putOpenNodeSentinel(self,v): |
867 | - if v.isAtFileNode() and v != self.root: |
868 | - << issue an error message >> |
869 | - else: |
870 | - s = self.nodeSentinelText(v) |
871 | - self.putSentinel("@+node:" + s) |
872 | - |
873 | -We may not eliminate @c directives in @root trees. |
874 | -If we convert the doc part to a comment we are left with:: |
875 | - |
876 | - @c |
877 | - # This method puts an open node sentinel for node v. |
878 | - def putOpenNodeSentinel(self,v): |
879 | - if v.isAtFileNode() and v != self.root: |
880 | - << issue an error message >> |
881 | - else: |
882 | - s = self.nodeSentinelText(v) |
883 | - self.putSentinel("@+node:" + s) |
884 | - |
885 | -The following escape convention applies only in @root trees. |
886 | -Within a code part @@ in the first column (and only in the first column) stands for a single @ sign.</t> |
887 | -<t tx="ekr.20050828061501.48">Each @root tree represents a single external file. **Tangling** is the process |
888 | -of creating external files from @file, @thin or @root trees. Leo tangles @file |
889 | -and @thin trees automatically whenever an outline is saved. The user must tangle |
890 | -@root trees explicitly using one of the Tangle commands. |
891 | - |
892 | -Leo creates external files by expanding all section references in an @root node. |
893 | -Leo expands a section reference by substituting the code section itself for the |
894 | -section reference. This is a recursive process: the substituted code section may |
895 | -contain other code references which are themselves expanded, and so on. |
896 | - |
897 | -The outline provides a natural way of organizing an sections as follows:: |
898 | - |
899 | - Place the definition of a section S in a child of |
900 | - the node containing the reference to S. |
901 | - |
902 | -If a section is referenced in more than one node, I usually place its definition |
903 | -in a node containing all the nodes that refer to it. Using this rule of thumb |
904 | -creates an outline whose structure mirrors the intrinsic organization of a |
905 | -program. |
906 | - |
907 | -The Tangle command creates external files from @root node. The @root directive |
908 | -indicates which sections constitute an output file. The text following a @root |
909 | -directive forms the entire content of the file, that is, after section |
910 | -references are expanded. An outline can contain arbitrarily many @root |
911 | -directives: Leo's Tangle commands will create one output file for each. The |
912 | -process of creating external files is called "tangling" because the code from |
913 | -the outline is rearranged to create the external files. |
914 | - |
915 | -For example, the following @root section shows a typical way of specifying a |
916 | -header file xx.h:: |
917 | - |
918 | - @root xx.h |
919 | - #ifndef xx_defined |
920 | - #define xx_defined |
921 | - << declarations of public constants of the xx class >> |
922 | - << declarations of public types of the xx class >> |
923 | - << declarations of public variables of the xx class >> |
924 | - << public prototypes of the xx class >> |
925 | - #endif |
926 | - |
927 | -The Tangle commands will create the file xx.h from this body text by expanding |
928 | -all the section references. Incidentally, the introductory documentation will be |
929 | -included in the header file: any text preceding the @root directive is treated |
930 | -just like the doc part of a section definition. |
931 | - |
932 | -As another example, the following shows a typical way of specifying the |
933 | -corresponding xx.c file:: |
934 | - |
935 | - @root xx.c |
936 | - << public variables of the xx class >> |
937 | - << private types of the xx class >> |
938 | - << private variables of the xx class >> |
939 | - << private function prototypes of the xx class >> |
940 | - << methods of the xx class >> |
941 | - |
942 | -There are three menu commands that tangle an outline: Tangle, Tangle All and |
943 | -Tangle Marked. These commands are identical except for how much of the outline |
944 | -is tangled. The Tangle command tangles only the selected portion of the outline, |
945 | -the Tangle All command tangles the entire outline, and the Tangle Marked command |
946 | -tangles only marked headlines. |
947 | - |
948 | -The @root directive has three forms. All three forms mean exactly the same |
949 | -thing:: |
950 | - |
951 | - @root filename |
952 | - @root "filename" |
953 | - @root <filename> |
954 | - |
955 | -If *filename* is an absolute filename the location of the external file is specified only by the filename. |
956 | -Otherwise, if the @root node contains a relative filename, the location of the external file is relative to: |
957 | - |
958 | -1. the directory specified by an @path directive, or |
959 | - |
960 | -2. the default_tangle_directory setting if no @path directive is in effect, or |
961 | - |
962 | -3. the directory in which the .leo resides if the .leo file has ever been saved. |
963 | - |
964 | -An error occurs if no absolute path can be computed according to these rules, |
965 | -or if the filename or directory does not exist. |
966 | - |
967 | -The scope of a definition is the tree in which the definition is known. By |
968 | -default, Tangle commands look for section definitions only in the suboutline of |
969 | -the @root node being tangled. That is, all sections are assumed to be defined |
970 | -either in the body text of the headline, say h, containing the @root directive, |
971 | -or in the body texts of the descendants of h. The @unit directive explicitly |
972 | -indicates the scope of section definitions. When a Tangle command encounters the |
973 | -@unit directive it treats the suboutline containing the @unit command as the |
974 | -scope for all enclosed roots. This ensures that the group of roots in the |
975 | -subtree use the same section definitions. |
976 | - |
977 | -For example, suppose we have a tree organized as follows:: |
978 | - |
979 | - + @unit |
980 | - + @root A |
981 | - sections in A |
982 | - + @root B |
983 | - sections in B |
984 | - |
985 | -The @unit directive insures that only sections defined in the unit can affect |
986 | -files A and B and that all sections definitions in A and B are compatible with |
987 | -each other. |
988 | - |
989 | -The Tangle commands ignore any tree containing an @ignore directive. This |
990 | -ensures that trees that contain cloned nodes or other subsidiary information do |
991 | -not cause the tangle commands to issue spurious error messages. It also ensures |
992 | -that a tree can never contribute a section definition to another part of the |
993 | -outline by mistake.</t> |
994 | -<t tx="ekr.20050828061501.49">The Untangle, Untangle All and Untangle Marked commands are the reverse of the |
995 | -corresponding Tangle commands. They update one or more @root nodes based on |
996 | -changes made to the corresponding external files. |
997 | - |
998 | -For example, suppose you create a new part of the outline and tangle it for the |
999 | -first time. When you compile external files for the first you are likely to get |
1000 | -many syntax errors. You could fix those errors in the outline and tangle the |
1001 | -outline again, but there is a much easier way: you fix the errors in the |
1002 | -external files using the compiler's editor, then run the untangle command on the |
1003 | -part of the outline that created the external file. The Untangle command updates |
1004 | -the selected outline to match the changes in the external files. It's as simple |
1005 | -as that. By the way, the Untangle command marks all the nodes in the outline |
1006 | -that it updates, and you can examine all such nodes with the Go To Next Marked |
1007 | -command in the Outline menu. |
1008 | - |
1009 | -You cannot use Untangle to update doc parts, or leading comments in code parts |
1010 | -or "trivial" whitespace in code parts. This is a limitation of the Untangle |
1011 | -command that cannot be fixed; Untangle has no way of knowing whether leading |
1012 | -comments came from doc parts or are just leading comments. |
1013 | - |
1014 | -Untangle never changes the structure of an outline; it never inserts, deletes or |
1015 | -moves nodes. Don't attempt to change the structure of an outline by modifying |
1016 | -external files; it won't work. Also, never delete, move or alter the sentinel |
1017 | -lines in external files written by the Tangle command. Such lines start with the |
1018 | -comment delimiter followed by a section name. |
1019 | - |
1020 | -If you change the section name in a sentinel line Untangle will not update the |
1021 | -code in the outline (with the old name) that generated the renamed section. |
1022 | -Untangle warns about sections that appear in an external file but not in the |
1023 | -outline. Untangle has no trouble with changed section references in external |
1024 | -files; it is only changed sentinel lines that cause problems. |
1025 | - |
1026 | -Cloned nodes that generate code in several files may cause problems for |
1027 | -Untangle. If Untangle is run separately on these external files, Untangle will |
1028 | -update all cloned nodes each time it is run, so only the code in the last |
1029 | -Untangle run will take effect. Therefore, the safe way to update text in cloned |
1030 | -nodes is to make the change in the .leo file rather than the external files. |
1031 | -</t> |
1032 | -<t tx="ekr.20050828061501.50">The @verbose, @terse, @quiet and @silent directives determine |
1033 | -how the Tangle command outputs comments in @root trees. |
1034 | -Comments written by the user in code sections are always output. |
1035 | -These directives control only: |
1036 | -a) the comments containing doc sections and |
1037 | -b) sentinel comments that delimit the beginning and end of code sections. |
1038 | - |
1039 | -When @verbose is in effect Tangle outputs all comments. |
1040 | -When @terse is in effect, Tangle outputs only those comments necessary for Untangle to work. |
1041 | -When @silent is in effect Tangle adds no additional comments. |
1042 | -The @quiet directive is like @silent except that it does output leading sentinels as comments. |
1043 | -Like @silent, @quiet inhibits untangling. |
1044 | -@verbose is the default. |
1045 | -If more than one of these directives appear in the same body text the "most verbose" of these options will be in effect.</t> |
1046 | -<t tx="ekr.20050828061501.51">The @file is a synonym for @thin. The @file directive creates an external file |
1047 | -containing sentinels.</t> |
1048 | -<t tx="ekr.20050828062751">In the following table all terms in each row are equivalent. |
1049 | -The spelling in the first column is preferred: |
1050 | - |
1051 | -=========== =============== ================= |
1052 | -\@asis \@file-asis \@silent |
1053 | ------------ --------------- ----------------- |
1054 | -\@nosent \@file-nosent \@nosentinelsfile |
1055 | -=========== =============== ================= |
1056 | - |
1057 | -The following table summarizes the differences between |
1058 | -the various kinds of @<file> trees. |
1059 | - |
1060 | -+---------+------------+-------------------+ |
1061 | -| | | Sections and | |
1062 | -| Type | Sentinels? | @others expanded? | |
1063 | -+---------+------------+-------------------+ |
1064 | -| @asis | no | no | |
1065 | -+---------+------------+-------------------+ |
1066 | -| @auto | no | no | |
1067 | -+---------+------------+-------------------+ |
1068 | -| @edit | no | yes | |
1069 | -+---------+------------+-------------------+ |
1070 | -| @file | yes | yes | |
1071 | -+---------+------------+-------------------+ |
1072 | -| @nosent | no | yes | |
1073 | -+---------+------------+-------------------+ |
1074 | -| @root | yes | yes | |
1075 | -+---------+------------+-------------------+ |
1076 | -| @shadow | yes and no | yes | |
1077 | -+---------+------------+-------------------+ |
1078 | -| @thin | yes | yes | |
1079 | -+---------+------------+-------------------+ |
1080 | - |
1081 | -Leo can not update the outline from changes made from external files unless |
1082 | -those files contain sentinels. The primary source for @nosent and @asis trees |
1083 | -are the outlines from which those files were created. |
1084 | - |
1085 | -For @shadow trees, Leo creates *two* files, a **public** file without sentinels, |
1086 | -and a **private** file (by default in the .leo_shadow subfolder) containing |
1087 | -sentinels. The primary sources for @shadow trees are the private files, updated |
1088 | -by changes to the public file. |
1089 | -</t> |
1090 | -<t tx="ekr.20050828064254">The @others directive refers to the body text of all nodes *except* section |
1091 | -definition nodes. The @others directive places the body text of section |
1092 | +``@bool color_cweb_doc_parts_with_latex`` and ``@bool color_cweb_comments_with_latex`` settings. |
1093 | +</t> |
1094 | +<t tx="ekr.20050828061501.51">The ``@file`` is a synonym for ``@thin``. The ``@file`` directive creates an external file |
1095 | +containing sentinels. |
1096 | + |
1097 | +This was not always so; if you work on the same .leo file with Leo 4.6 |
1098 | +or earlier as well as with Leo 4.7 and later, the two interpretations will corrupt |
1099 | +each other: the workaround is to change all ``@file`` directives to ``@thin``, then save the |
1100 | +leo file and its generated files. ``@thin`` works regardless of Leo version, since all |
1101 | +versions of Leo which support ``@thin``, support ``@thin`` in the |
1102 | +same way. If you work only with versions of Leo 4.7 or later, you avoid this issue entirely. |
1103 | +</t> |
1104 | +<t tx="ekr.20050828064254">The ``@others`` directive refers to the body text of all nodes *except* section |
1105 | +definition nodes. The ``@others`` directive places the body text of section |
1106 | definition nodes in the external file in outline order. |
1107 | |
1108 | -An @file or @thin tree may contain more than one @others directive. @others |
1109 | -directives that descend from other @others directives refer only to unnamed |
1110 | -nodes that descend from them. The @others directive that occurs highest in the |
1111 | -@file tree refers to all other unnamed nodes. |
1112 | - |
1113 | -**Notes**: |
1114 | - |
1115 | -- No node may contain more than one @others directive. |
1116 | - |
1117 | -- No section definition node may intervene between an non-section definition |
1118 | - node containing body text and an @others node. In practice this is never a |
1119 | - problem. |
1120 | - |
1121 | -- The @others directive is not valid in @root or @unit trees.</t> |
1122 | -<t tx="ekr.20050828065955.3">Generally speaking, @ignore directive prevents nodes from being processed. |
1123 | - |
1124 | -1. In the root node of any @auto, @edit, @file, @nosent, @root, @thin or @shadow tree, |
1125 | - the @ignore directive prevents Leo from writing the external file. |
1126 | - |
1127 | -2. @auto trees are an exception. Everything, including @ignore directives, are written. |
1128 | - However, you can disable the writing of an @auto tree by putting an @ignore directive in an |
1129 | - ancestor of the @auto tree. |
1130 | - |
1131 | -3. At present, @ignore can be used to prevent the inclusion of a node that descends from @others. |
1132 | - This may be dubious behavior, but that's how Leo works. |
1133 | - |
1134 | -4. @ignore can be used by scripts and plugins as they like, but should preserve the behavior in item 1 above.</t> |
1135 | +An external file directive tree may contain more than one ``@others`` directive. ``@others`` |
1136 | +directives that descend from other ``@others`` directives refer only to non-section |
1137 | +nodes (i.e., nodes with headlines that do not contain the patter ``<<`` *section* ``>>``) |
1138 | +that descend from them. The ``@others`` directive that occurs highest in the |
1139 | +``@file`` tree refers to all other unnamed nodes. If ``@others`` occurs multiple in the same node, all non-section nodes appear at the location of the first instance of the ``@others`` directive; the remainder |
1140 | +are remembered as sentinels but have no other content. |
1141 | +</t> |
1142 | +<t tx="ekr.20050828065955.3">Generally speaking, ``@ignore`` directive prevents nodes from being processed. |
1143 | + |
1144 | +#. In the root node of any ``@auto``, ``@edit``, ``@file``, ``@nosent``, ``@thin`` or ``@shadow`` tree, |
1145 | + the ``@ignore`` directive prevents Leo from writing the external file. |
1146 | + |
1147 | +#. ``@auto`` trees are an exception. Everything, including ``@ignore`` directives occuring outside the root node, are written. |
1148 | + However, you can disable the writing of an ``@auto`` tree by putting an ``@ignore`` directive in the root node or in an |
1149 | + ancestor of the ``@auto`` tree. |
1150 | + |
1151 | +#. ``@ignore`` can be used by scripts and plugins as they like, but should preserve the behavior in item 1 above.</t> |
1152 | <t tx="ekr.20050828160132">.. External links... |
1153 | .. _`CWEB`: http://www-cs-faculty.stanford.edu/~knuth/cweb.html |
1154 | .. _`noweb`: http://www.eecs.harvard.edu/~nr/noweb/ |
1155 | |
1156 | .. Relative links... |
1157 | -.. _`@root reference`: directives.html#id5 |
1158 | +.. _`\@root reference`: directives.html#id5 |
1159 | .. _front: front.html |
1160 | .. _`Leo's tutorial`: intro.html |
1161 | .. _`@auto reference`: directives#id1 |
1162 | -</t> |
1163 | -<t tx="ekr.20050828163557">You create and use external files using @<file> directives. |
1164 | -Most of these directives may only appear in headlines. |
1165 | -Here are all the ways of creating external files: |
1166 | +.. _ `History of Leo`: history.html</t> |
1167 | +<t tx="ekr.20050828163557">Differing external file directives are appropriate in different situations: |
1168 | |
1169 | \@asis |
1170 | - This directive copies body text verbatim, without even ensuring that |
1171 | - newlines terminate each node. Use this directive only when you must have |
1172 | - complete control over every character of the external file. |
1173 | + Use this directive only when you must have complete control over |
1174 | + every character of the external file: it copies body text verbatim, |
1175 | + without even ensuring that newlines terminate each node. |
1176 | |
1177 | \@auto |
1178 | - Imports the external file when Leo reads an outline. See the `@auto |
1179 | - reference`_ for full details. |
1180 | + Use this when you don't want sentinels and Leo's parser for your language |
1181 | + works well. It can be tricky: see the `\@auto reference`_ for full details. |
1182 | |
1183 | \@edit |
1184 | - Reads the external file into a single node. |
1185 | + Use for small files which can't have sentinels and it's ok for them to occupy a single node. |
1186 | |
1187 | \@file |
1188 | - As of Leo 4.7 b2, @file works exactly like @thin. See below. |
1189 | + As of Leo 4.7 b2, ``@file`` works exactly like ``@thin``. See `\@file`_ |
1190 | |
1191 | \@thin |
1192 | - Creates external files containing sentinels that minimize conflicts |
1193 | - in source code control systems such as bzr. |
1194 | - Use @thin unless you have a good reason not to. |
1195 | + Use ``@thin`` unless you have a good reason not to. |
1196 | |
1197 | \@nosent |
1198 | - Creates external files without sentinels. |
1199 | - Use @nosent only as a last resort: |
1200 | - @auto or @shadow are usually a better choice. |
1201 | - Leo can not update @nosent trees from changes made to the external files. |
1202 | - |
1203 | - The @bool force_newlines_in_at_nosent_bodies setting |
1204 | - controls whether Leo writes a trailing newline if non-empty body text does not |
1205 | - end in a newline. The default is True. In effect, the default value of this |
1206 | - setting was False in previous versions of Leo. |
1207 | - |
1208 | -\@root |
1209 | - This directive is the most flexible, and the most difficult to use. |
1210 | - **Note**: @root is a true directive: you must put @root in body text. |
1211 | - Historically, this was the first directive that created external files. |
1212 | - It comes closest in spirit to traditional literate programming tools. |
1213 | - However, it is seldom necessary to suffer the drawbacks of using @root. |
1214 | - My advice is to avoid using @root unless you have a compelling reason. |
1215 | + Use ``@nosent`` only as a last resort: |
1216 | + ``@auto`` or ``@shadow`` are usually a better choice. |
1217 | + Leo can not update ``@nosent`` trees from changes made to external files. |
1218 | |
1219 | \@shadow |
1220 | - This directive writes *two* external files, a **public** file without sentinels, |
1221 | - and a **private** file (by default in the .leo_shadow subfolder) containing sentinels. |
1222 | - This allows Leo to get the benefits of @thin trees, |
1223 | - without having sentinels in the public files that people care about. |
1224 | - |
1225 | + Use this directive when you can't have sentinels in the **public** version |
1226 | + of the file, but want all the features of ``@thin`` trees. This directive writes |
1227 | + *two* external files, a **public** file without sentinels, and a **private** |
1228 | + file (by default in the ``.leo_shadow`` subfolder) containing sentinels. |
1229 | To complicate matters further, |
1230 | you can use `CWEB`_ markup instead of `noweb`_ markup. |
1231 | See the section called `CWEB mode`_ for the details. |
1232 | The choice between CWEB and noweb is independent of the directive is used to create external files.</t> |
1233 | -<t tx="ekr.20050828173234">The @ directive starts a doc part. |
1234 | -Doc parts continue until an @c directive or the end of the body text. |
1235 | +<t tx="ekr.20050828173234">The ``@`` directive starts a doc part. |
1236 | +Doc parts continue until an ``@c`` directive or the end of the body text. |
1237 | For example:: |
1238 | |
1239 | @ This is a comment in a doc part. |
1240 | @@ -11553,49 +11264,66 @@ |
1241 | The next line ends the doc part |
1242 | @c |
1243 | |
1244 | -@doc is a synonym for @, but @ is preferred.</t> |
1245 | -<t tx="ekr.20050828173234.1">The @c directive ends a doc part and begins a code part. |
1246 | -@code is a synonym for @c, but @c is preferred. |
1247 | - |
1248 | -In @root and @unit trees, the headline must contain a valid section name.</t> |
1249 | -<t tx="ekr.20050828174453.1">Leo writes @nosent trees just as for @thin trees, |
1250 | -but Leo writes no sentinels at all. |
1251 | - |
1252 | -The @bool force_newlines_in_at_nosent_bodies setting |
1253 | +``@doc`` is a synonym for ``@``, but ``@`` is preferred. |
1254 | + |
1255 | +The directive is only recognized in the first column. |
1256 | + |
1257 | +In ``@thin`` style external files, such documentation sections appear as comments, using comment |
1258 | +characters appropriate to the language, or as specified by the prevailing ``@comment`` or ``@delims`` |
1259 | +directive. |
1260 | + |
1261 | +A governing ``@asis``, ``@all``, ``@raw`` or ``@verbatim`` directive causes the directive |
1262 | +to be uninterpreted and simply copied to the external file. |
1263 | +</t> |
1264 | +<t tx="ekr.20050828173234.1">The ``@c`` directive ends a doc part and begins a code part. |
1265 | +``@code`` is a synonym for ``@c``, but ``@c`` is preferred. |
1266 | + |
1267 | +The directive is only recognized in the first column. |
1268 | + |
1269 | +A governing ``@asis``, ``@all``, ``@raw`` or ``@verbatim`` directive causes the directive |
1270 | +to be uninterpreted and simply copied to the external file. |
1271 | +</t> |
1272 | +<t tx="ekr.20050828174453.1">Leo writes ``@nosent`` trees just as for ``@thin`` trees, except it writes no sentinels at all. |
1273 | +All the information for the ``@nosent`` tree is kept in the .leo file, |
1274 | +and Leo incorporates no changes from the external file. |
1275 | + |
1276 | +The ``@bool force_newlines_in_at_nosent_bodies`` setting |
1277 | controls whether Leo writes a trailing newline if non-empty body text does not |
1278 | end in a newline. The default is True. In effect, the default value of this |
1279 | -setting was False in previous versions of Leo.</t> |
1280 | -<t tx="ekr.20050828174453.2">Leo creates files from @asis trees by writing the body text of all nodes of the |
1281 | -tree in outline order. Leo writes the body text *as is*, without recognizing |
1282 | +setting was False in previous versions of Leo. |
1283 | +</t> |
1284 | +<t tx="ekr.20050828174453.2">Leo creates files from ``@asis`` trees by writing the body text of all nodes of the |
1285 | +``@asis`` tree in outline order. Leo writes the body text *as is*, without recognizing |
1286 | section definitions, without expanding section references, and without treating |
1287 | directives specially in any way. In particular, Leo copies all directives, |
1288 | -including @ or @c directives, to the external file as text. |
1289 | +including ``@`` or ``@c`` directives, to the external file as text. |
1290 | |
1291 | -Leo does recognize the @ignore directive in the *ancestors* of @asis nodes, so |
1292 | -you may use the @ignore directive as usual to prevent Leo from writing @asis |
1293 | +Leo does recognize the ``@ignore`` directive in the *ancestors* of ``@asis`` nodes, so |
1294 | +you may use the ``@ignore`` directive as usual to prevent Leo from writing ``@asis`` |
1295 | trees. |
1296 | |
1297 | **Notes**: |
1298 | |
1299 | -- Within @asis trees only, if a headline starts with @@, Leo writes |
1300 | - everything in the headline following the @@ just before the corresponding |
1301 | +- Within ``@asis`` trees only, if a headline starts with ``@@``, Leo writes |
1302 | + everything in the headline following the ``@@`` just before the corresponding |
1303 | body text. |
1304 | |
1305 | -- Files created from @asis trees contain *nothing* not contained in body |
1306 | - text (or @@ headlines). In particular, if body text does not end in a |
1307 | +- Files created from ``@asis`` trees contain *nothing* not contained in body |
1308 | + text (or ``@@`` headlines). In particular, if body text does not end in a |
1309 | newline, the first line from the next node will concatenated to the last line |
1310 | - of the preceding node.</t> |
1311 | -<t tx="ekr.20050828210721">The @last directive allows you to place lines at the very end of external files |
1312 | -created from @file and @thin nodes. The @last directive is recognized only at |
1313 | -the end of body text of @file and @thin nodes. No text may follow @last |
1314 | -directives. More than one @last directive may exist. For example, here is how a |
1315 | + of the preceding node. |
1316 | +</t> |
1317 | +<t tx="ekr.20050828210721">The ``@last`` directive allows you to place lines at the very end of external files (except those |
1318 | +specified with ``@asis``). The ``@last`` directive is recognized only at |
1319 | +the end of body text of the external file directive (e.g., the ``@thin`` node). No text may follow ``@last`` |
1320 | +directives. More than one ``@last`` directive may exist. For example, here is how a |
1321 | PHP file might be set up:: |
1322 | |
1323 | @first <?php |
1324 | ... |
1325 | @last ?></t> |
1326 | -<t tx="ekr.20050828210721.1">The @pagewidth directive overrides the page_width setting. |
1327 | -The form of the @pagewidth directive is @pagewidth *n*, |
1328 | +<t tx="ekr.20050828210721.1">The ``@pagewidth`` directive overrides the ``@int page_width`` setting. |
1329 | +The form of the ``@pagewidth`` directive is ``@pagewidth`` *n*, |
1330 | where n is a positive integer that indicates the width of tangled pages in columns. |
1331 | For example:: |
1332 | |
1333 | @@ -11604,8 +11332,8 @@ |
1334 | This setting only affects how Leo reformats doc parts, and how the Tangle command outputs block comments. |
1335 | |
1336 | </t> |
1337 | -<t tx="ekr.20050828210721.2">The @tabwidth directive overrides the tab_width setting. |
1338 | -The form of the @tabwidth directive is @tabwidth *n*, |
1339 | +<t tx="ekr.20050828210721.2">The ``@tabwidth`` directive overrides the ``@int tab_width`` setting. |
1340 | +The form of the ``@tabwidth`` directive is ``@tabwidth`` *n*, |
1341 | where n is a positive integer that indicates the width of tabs in spaces. |
1342 | For example:: |
1343 | |
1344 | @@ -11613,101 +11341,7 @@ |
1345 | |
1346 | Negative values cause Leo to convert tabs to blanks.</t> |
1347 | <t tx="ekr.20050828211507">Here is a brief summary of each directive: |
1348 | - |
1349 | -- **\@** |
1350 | - Starts a doc part. @doc is a deprecated synonym. |
1351 | - |
1352 | -- **\@all** |
1353 | - Copies *all* descendant nodes to the external file. |
1354 | - Not valid in @root trees. |
1355 | - |
1356 | -- **\@asis** |
1357 | - Creates an external file without sentinels, |
1358 | - containing exactly the data in the @asis tree, |
1359 | - without expanding section references or @others directives. |
1360 | - |
1361 | -- **\@auto** |
1362 | - Imports the external file every time Leo reads the outline. |
1363 | - The read-at-auto-nodes and write-at-auto-nodes commands can |
1364 | - be used to read and write and @auto nodes. |
1365 | - |
1366 | -- **\@c** |
1367 | - Starts a code part. @code is a deprecated synonym. |
1368 | - |
1369 | -- **\@color**, **\@nocolor**, **\@nocolor-node** and **\@killcolor** |
1370 | - Control syntax coloring. |
1371 | - |
1372 | -- **\@comment** |
1373 | - Sets comment delimiters in @root and @unit trees. |
1374 | - |
1375 | -- **\@delims** |
1376 | - Sets comment delimiters in @thin and @file trees. |
1377 | - |
1378 | -- **\@edit** |
1379 | - Reads an external file into a single node. |
1380 | - |
1381 | -- **\@encoding** |
1382 | - Sets the Unicode encoding used in external files. |
1383 | - |
1384 | -- **\@file** |
1385 | - A synonym for @thin. |
1386 | - |
1387 | -- **\@first** |
1388 | - Forces lines to appear before the first sentinel of an external file. |
1389 | - |
1390 | -- **\@ignore** |
1391 | - Causes Leo to ignore all or part of an external file. |
1392 | - |
1393 | -- **\@language** |
1394 | - Sets the language used for syntax coloring **and** |
1395 | - sets the comment delimiters used in sentinel lines and in doc parts. |
1396 | - |
1397 | -- **\@last** |
1398 | - Forces lines to appear after the last sentinel of an external file. |
1399 | - |
1400 | -- **\@lineending** |
1401 | - Sets the line ending to be used in external files. |
1402 | - |
1403 | -- **\@others** |
1404 | - Copies all nodes *except* section definition nodes to the external file. |
1405 | - |
1406 | -- **\@nosent** |
1407 | - Same as @thin, but the external file contains no sentinels. |
1408 | - |
1409 | -- **\@pagewidth** |
1410 | - Sets the page width used to break doc parts into lines. |
1411 | - |
1412 | -- **\@path** |
1413 | - Set the path to be appended to filenames. |
1414 | - |
1415 | -- **\@raw** and **\@end_raw** |
1416 | - Delimit a section of 'raw' text. |
1417 | - Not valid in @root or @unit trees. |
1418 | - |
1419 | -- **\@root**, **\@root-code** and **\@root-code** |
1420 | - Start an @root tree. |
1421 | - The last two forms set the starting mode for body text. |
1422 | - These directives must appear in body text. |
1423 | - |
1424 | -- **\@shadow** |
1425 | - Creates two external files, a **public** file without sentinels, |
1426 | - and a **private** file containing sentinels. |
1427 | - Imports the file just as @auto does if the private file does not exist. |
1428 | - |
1429 | -- **\@tabwidth** |
1430 | - Sets the width of tabs. |
1431 | - Negative tab widths cause Leo to convert tabs to spaces. |
1432 | - |
1433 | -- **\@thin** |
1434 | - Creates an external file containing sentinels. |
1435 | - Thin external files miminize cvs and bzr conflicts. |
1436 | - All essential information is stored in the thin external file. |
1437 | - |
1438 | -- **@verbose**, **@terse**, **@quiet** and **@silent** |
1439 | - Set the verbosity of sentinels in external files from @root. |
1440 | - |
1441 | -- **\@wrap** and **\@nowrap** |
1442 | - Enable or disable line wrapping the Leo's body pane.</t> |
1443 | +</t> |
1444 | <t tx="ekr.20050830074716">################################### |
1445 | What People Are Saying About Leo |
1446 | ################################### |
1447 | @@ -12199,7 +11833,7 @@ |
1448 | layers simultaneously: data structures, object structure, entity-relationship |
1449 | structure, client-server structure, design pattern structure, temporal |
1450 | structure, project management structure, and any other structure relevant to the |
1451 | -system." -- Steven P. Schaefer |
1452 | +system." -- Stephen P. Schaefer |
1453 | |
1454 | "A funny observation with Leo is that when I 'Leo-ise' other people's code, Leo |
1455 | makes the code's structure so transparent that design faults become very quickly |
1456 | @@ -12608,7 +12242,7 @@ |
1457 | The C compiler is happy: the C preprocessor strips out the offending line before the C |
1458 | compiler gets it.</t> |
1459 | <t tx="ekr.20050830115714.26"></t> |
1460 | -<t tx="ekr.20050830115714.29">See the instructions are in LeoPy.leo in:: |
1461 | +<t tx="ekr.20050830115714.29">The instructions are in LeoPy.leo in:: |
1462 | |
1463 | Notes:How To:How to add support for a new language section. |
1464 | |
1465 | @@ -24264,102 +23898,6 @@ |
1466 | |
1467 | - Added @bool big_outline_pane setting. False (legacy): Top pane contains outline and log panes. |
1468 | True: Top pane contains only the outline pane. Bottom pane contains body and log panes.</t> |
1469 | -<t tx="ekr.20070814090306">@auto trees allow people to use Leo in collaborative environments without using |
1470 | -sentinels in the files Leo generates. In contrast to @nosent, @auto trees can |
1471 | -change when the corresponding file changes outside of Leo. |
1472 | - |
1473 | -Leo will automatically recreate (import) all @auto trees when reading a .leo |
1474 | -file, and will write all dirty @auto trees when saving a .leo file. There are |
1475 | -two exceptions to this statement: |
1476 | - |
1477 | -1. Leo will never read (import) or write an @auto tree if |
1478 | -the root @auto tree is under the influence of an @ignore directive. |
1479 | - |
1480 | -2. Saving a .leo file does not save @auto nodes if: |
1481 | - |
1482 | -a) they haven't been changed or, |
1483 | - |
1484 | -b) they do not contain a **significant** amount of information. An @auto tree |
1485 | - contains a significant amount of information if it has children or if the |
1486 | - root node contains more than 10 characters. |
1487 | - |
1488 | -Leo creates @auto trees by parsing the corresponding external file. Parsers |
1489 | -create descendant nodes of the @auto tree: one node for each class, method and |
1490 | -function in the external file. |
1491 | - |
1492 | -Parsers presently exist for C, elisp, Java, Javascript, Pascal, PHP, Python and xml. Leo |
1493 | -determines the language using the file's extension. Notes: |
1494 | - |
1495 | -- If no parser exists for a language, the entire body of the external file is |
1496 | - copied to the body of the @auto node. |
1497 | - |
1498 | -- Javascript regexps that look like section references cause problems, but that |
1499 | - can not be helped. |
1500 | - |
1501 | -- Use the @data import_xml_tags setting in leoSettings.leo to specify the xml |
1502 | - tags that create outline nodes. By default, the **organizer tags** are html, |
1503 | - body, head, and div.</t> |
1504 | -<t tx="ekr.20070814090306.2">Leo performs several checks to ensure that the result of importing an external |
1505 | -file will be equivalent to the file that writing the @auto tree would produce. |
1506 | - |
1507 | -These checks can produces **errors** or **warnings**. Errors indicate a |
1508 | -potentially serious problem. Leo inserts an @ignore directive in the @auto tree |
1509 | -if any error is found. This @ignore directive prevents the @auto tree from |
1510 | -modifying the external file. If you @ignore directive, a later write of the |
1511 | -@auto tree will attempt to fix the problems that gave rise to the errors. There |
1512 | -are no guarantees however. |
1513 | - |
1514 | -Before importing a file, Leo **regularizes** the leading whitespace of all lines |
1515 | -of the original source file. That is, Leo converts blanks to tabs or tabs to |
1516 | -blanks depending on the value of the @tabwidth directive in effect for the @auto |
1517 | -node. Leo also checks that the indentation of any non-blank line is not a |
1518 | -multiple of the indentation specified by the @tabwidth directive in effect for |
1519 | -the @auto node. |
1520 | - |
1521 | -Leo cannot guarantee to reproduce the original source file exactly if problems |
1522 | -are discovered while regularizing leading whitespace. **Strict languages** are |
1523 | -languages such as Python for which leading whitespace must be preserved exactly |
1524 | -as it appears in the original source file. Problems during regularizing generate |
1525 | -errors for strict languages and warnings for non-strict languages. |
1526 | - |
1527 | -After importing a file, Leo verifies that writing the @auto node would create |
1528 | -*exactly* the same file as the original file. Such file comparison mismatches |
1529 | -generate errors unless the problem involves only leading whitespace for |
1530 | -non-strict languages. Whenever a mismatch occurs the first non-matching line is |
1531 | -printed. |
1532 | - |
1533 | -File comparison mismatches can arise for several reasons: |
1534 | - |
1535 | -1. Bugs in the import parsers. Please report any suspected bugs immediately. |
1536 | - |
1537 | -2. Underindented lines in classes, methods or function. An **underindented |
1538 | - line** is a line that is indented less then the starting line of the class, |
1539 | - method or function in which it appears. Leo outlines can not represent such |
1540 | - lines exactly: every line of node implicitly has at least the indentation of |
1541 | - any unindented line of the node. |
1542 | - |
1543 | -Leo will issue a warning (not an error) for underindented Python comment lines. |
1544 | -Such lines can not change the meaning of Python programs.</t> |
1545 | -<t tx="ekr.20070814090306.3">Three commands in the File:Read/Write menu allow you to manually read and |
1546 | -write @auto nodes from the presently selected outline. As always, an @ignore |
1547 | -directive in the @auto node or its ancestors will suppress any of these |
1548 | -commands: |
1549 | - |
1550 | -- The Read @auto Nodes (read-at-auto-nodes) command reads all @auto nodes in the |
1551 | - presently selected outline. An @ignore directive will suppress this import. |
1552 | - |
1553 | -- The Write @auto Nodes (write-at-auto-nodes) command writes all @auto nodes. An |
1554 | - @ignore directive will suppress this import. Caution: the write will occur even |
1555 | - if Leo has not previously read the @auto node. |
1556 | - |
1557 | -- The Write Dirty @auto Nodes (write-dirty-at-auto-nodes) is the same as the |
1558 | - write-at-auto-nodes command, except that only changed @auto trees are written. |
1559 | - |
1560 | -Most users will rarely use these explicit commands, because reading and writing |
1561 | -.leo files handles @auto nodes well enough. However, you can use the |
1562 | -read-at-auto-nodes command to update @auto nodes without having to reload the |
1563 | -.leo file. |
1564 | -</t> |
1565 | <t tx="ekr.20070814104719">You enable or disable plugins using @enabled-plugins nodes in leoSettings files (leoSettings.leo, myLeoSettings.leo or the .leo file being loaded). See `Specifying settings`_ for full details of settings files. |
1566 | |
1567 | The body text of the @enabled-plugins node contains a list of enabled plugins. |
1568 | @@ -27176,9 +26714,6 @@ |
1569 | actually not visible lines, but the second time you drag something in |
1570 | it's ok, as if it has an accurate count on visible lines now. |
1571 | </t> |
1572 | -<t tx="ekr.20080729064227.3">The @unit directive expands the scope of section definitions in @root trees |
1573 | -so that a section may be referenced in several @root trees. |
1574 | -The @unit directive is ignored outside of @root trees.</t> |
1575 | <t tx="ekr.20080729064227.6">The timit button in unitTest.leo allows you to apply Python's timeit module. |
1576 | See http://docs.python.org/lib/module-timeit.html. |
1577 | The contents of @button timer is:: |
1578 | @@ -27305,28 +26840,28 @@ |
1579 | please study the x.propagate_changed_lines method in leoShadow.py. This code is |
1580 | heavily commented. |
1581 | </t> |
1582 | -<t tx="ekr.20080730212711.41">When writing an @shadow tree, Leo writes *two* files, a **public** file without |
1583 | -sentinels, and a **private** file (by default in the .leo_shadow subfolder) |
1584 | -containing sentinels. The primary sources for @shadow trees are the private |
1585 | +<t tx="ekr.20080730212711.41">When writing an ``@shadow`` tree, Leo writes *two* files, a **public** file without |
1586 | +sentinels, and a **private** file (by default in the ``.leo_shadow`` subfolder) |
1587 | +containing sentinels. The primary sources for ``@shadow`` trees are the private |
1588 | files, updated by changes to the public file. |
1589 | |
1590 | -When reading an @shadow tree, Leo will import the tree from the public file if |
1591 | -the private file does not exist. **Important**: just as for @auto, the following |
1592 | +When reading an ``@shadow`` tree, Leo will import the tree from the public file if |
1593 | +the private file does not exist. **Important**: just as for ``@auto``, the following |
1594 | exceptions apply: |
1595 | |
1596 | -1. Leo will never read (import) or write an @shadow tree if the @shadow tree is |
1597 | - under the influence of an @ignore directive. |
1598 | +1. Leo will never read (import) or write an ``@shadow`` tree if the ``@shadow`` tree is |
1599 | + under the influence of an ``@ignore`` directive. |
1600 | |
1601 | -2. Saving a .leo file does not save @shadow nodes if: |
1602 | +2. Saving a .leo file does not save ``@shadow`` nodes if: |
1603 | |
1604 | a) they haven't been changed or, |
1605 | |
1606 | - b) they do not contain a **significant** amount of information. An @auto tree |
1607 | + b) they do not contain a **significant** amount of information. An ``@auto`` tree |
1608 | contains a significant amount of information if it has children or if the |
1609 | root node contains more than 10 characters. |
1610 | |
1611 | -Leo imports shadow trees by parsing the corresponding public file, exactly as is |
1612 | -done for @auto node. See the discussion of @auto above for details. |
1613 | +Leo can do an initial import of ``@shadow`` trees by parsing the corresponding public file, exactly as is |
1614 | +done for ``@auto`` node. See the discussion of `\@auto`_ for details. |
1615 | </t> |
1616 | <t tx="ekr.20080730212711.42">The first step in creating an @shadow tree is to create a node whose headline is |
1617 | @shadow *<filename>*. This is always safe, even if *<filename>* already |
1618 | @@ -27350,64 +26885,65 @@ |
1619 | **Note**: just as for @auto, Leo will never read (import) or write an @shadow tree if |
1620 | the @shadow node is under the influence of an @ignore directive. |
1621 | </t> |
1622 | -<t tx="ekr.20080730212711.44">Creates an external file containing sentinels. Thin exteral files contain all |
1623 | -information needed to recreate the @thin tree in the outline. The @all directive |
1624 | -is valid only in @thin trees, not @file trees. In a collaborative environment, |
1625 | +<t tx="ekr.20080730212711.44">Create an external file containing sentinels. An ``@thin`` external file contains all the |
1626 | +information needed to recreate the ``@thin`` tree in the outline. In a collaborative environment, |
1627 | where a version control system is utilized and everyone can use Leo for editing, |
1628 | -@thin is the recommended way to hold most of the content. |
1629 | +``@thin`` is the recommended way to hold most of the content. |
1630 | </t> |
1631 | -<t tx="ekr.20080730212711.47">@auto trees allow people to use Leo in collaborative environments without using |
1632 | -sentinels in the files Leo generates. In contrast to @nosent, @auto trees can |
1633 | +<t tx="ekr.20080730212711.47">``@auto`` trees allow people to use Leo in collaborative environments without using |
1634 | +sentinels in the files Leo generates. In contrast to ``@nosent``, ``@auto`` trees can |
1635 | change when the corresponding file changes outside of Leo. |
1636 | |
1637 | -Leo will automatically recreate (import) all @auto trees when reading a .leo |
1638 | -file, and will write all dirty @auto trees when saving a .leo file. There are |
1639 | +Leo automatically recreates (imports) all ``@auto`` trees when reading a .leo |
1640 | +file, and writes all dirty ``@auto`` trees when saving a .leo file. There are |
1641 | two exceptions to this statement: |
1642 | |
1643 | -1. Leo will never read (import) or write an @auto tree if |
1644 | -the root @auto tree is under the influence of an @ignore directive. |
1645 | - |
1646 | -2. Saving a .leo file does not save @auto nodes if: |
1647 | - |
1648 | -a) they haven't been changed or, |
1649 | - |
1650 | -b) they do not contain a **significant** amount of information. An @auto tree |
1651 | +1. Leo never reads (imports) or writes an ``@auto`` tree if |
1652 | +the root ``@auto`` tree is under the influence of an ``@ignore`` directive. |
1653 | + |
1654 | +2. Saving a .leo file does not save ``@auto`` nodes if: |
1655 | + |
1656 | +a) they haven't changed or, |
1657 | + |
1658 | +b) they do not contain a **significant** amount of information. An ``@auto`` tree |
1659 | contains a significant amount of information if it has children or if the |
1660 | root node contains more than 10 characters. |
1661 | |
1662 | -Leo creates @auto trees by parsing the corresponding external file. Parsers |
1663 | +Leo creates ``@auto`` trees by parsing the corresponding external file. Parsers |
1664 | create descendant nodes of the @auto tree: one node for each class, method and |
1665 | -function in the external file. |
1666 | +function in the external file, and sometimes nodes for declarations, docstrings |
1667 | +or other recognized components. |
1668 | |
1669 | Parsers presently exist for C, elisp, Java, Javascript, Pascal, PHP, Python and xml. Leo |
1670 | determines the language using the file's extension. Notes: |
1671 | |
1672 | -- If no parser exists for a language, the entire body of the external file is |
1673 | - copied to the body of the @auto node. |
1674 | - |
1675 | -- Javascript regexps that look like section references cause problems, but that |
1676 | - can not be helped. |
1677 | - |
1678 | -- Use the @data import_xml_tags setting in leoSettings.leo to specify the xml |
1679 | +- If no parser exists for a language, Leo copies the entire body of the external file into the ``@auto`` node. |
1680 | + |
1681 | +- Javascript regexps that look like section references are dealt with using the ``@verbatim`` directive |
1682 | + which suppresses all directive interpretation in the single immediately following line |
1683 | + (the colorizer may remain confused). |
1684 | + |
1685 | +- Use the ``@data import_xml_tags`` setting to specify the xml |
1686 | tags that create outline nodes. By default, the **organizer tags** are html, |
1687 | - body, head, and div.</t> |
1688 | -<t tx="ekr.20080730212711.51">The @root directive creates external files that are more flexible than @file, |
1689 | + body, head, and div. |
1690 | +</t> |
1691 | +<t tx="ekr.20080730212711.51">The \@root directive creates external files that are more flexible than @file, |
1692 | @thin, @shadow, etc. The @root directive must appear in body text, not the headline. |
1693 | |
1694 | -- Sections may be defined anywhere within @root trees. |
1695 | - Moreover, the @unit directive expands the scope of section definitions in @root trees |
1696 | - so that a section may be referenced in several @root trees. |
1697 | +- Sections may be defined anywhere within \@root trees. |
1698 | + Moreover, the @unit directive expands the scope of section definitions in \@root trees |
1699 | + so that a section may be referenced in by any \@root trees beneath the @unit directive. |
1700 | |
1701 | - The meaning of section definitions in @root trees are independent of their position within the tree. |
1702 | |
1703 | However, this flexibility comes at a cost: |
1704 | |
1705 | - @thin and @file trees use less markup than @root trees. |
1706 | - In particular, the @others directive is valid only within @file and @thin trees. |
1707 | - |
1708 | -- You must explicitly tangle and untangle @root trees using the Tangle and Untangle commands. |
1709 | - |
1710 | -See `@root reference`_ for more details.</t> |
1711 | + In particular, the \@others directive is valid only within @file and @thin trees. |
1712 | + |
1713 | +- You must explicitly tangle and untangle \@root trees using the Tangle and Untangle commands. |
1714 | + |
1715 | +See `\@root reference`_ for more details.</t> |
1716 | <t tx="ekr.20080730212711.52">There is one boundary case that the update algorithm can not resolve. |
1717 | If a line is inserted at the boundary between nodes, |
1718 | the updated algorithm can not determine whether the line should be inserted |
1719 | @@ -28432,22 +27968,15 @@ |
1720 | |
1721 | - color is a tk color name, even when using the qt gui plugin. |
1722 | </t> |
1723 | -<t tx="ekr.20090307063422.4">Reads a file into a single node. |
1724 | -@edit is similar to @auto; saving a .leo file does not save dirty @edit nodes |
1725 | -if they do not contain a **significant** amount of information. An @edit tree |
1726 | +<t tx="ekr.20090307063422.4">Read a file into a single node. |
1727 | +``@edit`` is similar to ``@auto`` in that saving a .leo file does not save a dirty ``@edit`` node |
1728 | +unless it contains a **significant** amount of information. An ``@edit`` tree |
1729 | contains a significant amount of information if it has children or if the root |
1730 | -node contains more than 10 characters. |
1731 | +node contains more than 10 characters. In and ``@edit`` tree, Leo interprets text generation and tree walk |
1732 | +directives in the manner of an ``@file`` or ``@thin`` subtree, but any such structure is lost |
1733 | +once you close the leo window. |
1734 | + |
1735 | </t> |
1736 | -<t tx="ekr.20090307063422.7">Initially, Leo's File:Open command creates such nodes when opening any |
1737 | -non-.leo file. |
1738 | - |
1739 | -When writing @edit nodes, Leo uses Leo's @auto write logic. That is, |
1740 | -no sentinels are written. |
1741 | - |
1742 | -When reading @edit nodes, Leo just puts then entire text of the file |
1743 | -into the node, along with @language or @nocolor directives as |
1744 | -appropriate. These added directives will not change the file when it |
1745 | -gets written because no sentinels are written.</t> |
1746 | <t tx="ekr.20090324085713.2">Leo 4.6 beta 1 March 23, 2009 |
1747 | |
1748 | Leo 4.6 b1 is now available at: |
1749 | @@ -29247,6 +28776,8 @@ |
1750 | python configure.py |
1751 | make |
1752 | sudo make install |
1753 | + |
1754 | + E: If you have a pre-packaged way to install these libraries, please contribute! |
1755 | </t> |
1756 | <t tx="ekr.20090705111443.10370">Leo sends more detailed error messages to stderr, |
1757 | the output stream that goes to the console window. In Linux and MacOS |
1758 | @@ -31173,7 +30704,7 @@ |
1759 | commands`_ that apply to the body pane. |
1760 | </t> |
1761 | <t tx="ekr.20091130111843.6817">A **clone** is a node that appears in more than one place in a Leo outline. |
1762 | -Clones are marked with a small red arrow in the icon box. All clones of a node |
1763 | +Clones are marked with a small red circular arrow in the icon box. All clones of a node |
1764 | are actually *the same node*, so any change to one clone affects all clones. For |
1765 | example, inserting, moving or deleting any child of a clone will change all |
1766 | other clones on the screen. |
1767 | @@ -31366,7 +30897,7 @@ |
1768 | outside of Leo, Leo will update the corresponding \@thin tree to reflect those |
1769 | changes when Leo next opens the outline. |
1770 | |
1771 | -- When you save your outline, Leo writes all **dirty** \@thin nodes. An \@thin |
1772 | +- When you save your outline, Leo writes all **dirty** \@thin nodes. An \@thin node |
1773 | is dirty if the node or any of its descendant nodes has changed. |
1774 | **Important**: When Leo writes an external file, Leo writes all the essential |
1775 | information in the \@thin tree to the external file, *not* to the .leo file. |
1776 | @@ -34574,6 +34105,467 @@ |
1777 | containing the body text's cursor, **fcol** shows the cursor coordinate |
1778 | relative to the external file, not to the curent node. The relation |
1779 | **fcol >= col** is always true.</t> |
1780 | +<t tx="sps.20100504170836.13115"></t> |
1781 | +<t tx="sps.20100504170836.13116"></t> |
1782 | +<t tx="sps.20100504170836.13117"></t> |
1783 | +<t tx="sps.20100504170836.13118">@language python |
1784 | +import os |
1785 | +pos = c.find_h("Users Guide")[0] |
1786 | +c.selectPosition(pos) |
1787 | +c.k.simulateCommand('rst3') |
1788 | +<< html manual >> |
1789 | +<< pdf manual >> |
1790 | +</t> |
1791 | +<t tx="sps.20100504170836.13120">d = c.scanAllDirectives(p) |
1792 | +mandir = d.get('path') + "/html" |
1793 | +g.es(mandir) |
1794 | +os.chdir(mandir) |
1795 | +os.system('make html')</t> |
1796 | +<t tx="sps.20100504170836.13122"># you probably need to install several packages |
1797 | +# to create pdf (e.g. jadetex) |
1798 | +mandir = d.get('path') + "/html" |
1799 | +g.es(mandir) |
1800 | +os.chdir(mandir) |
1801 | +os.system('make latex') |
1802 | +os.chdir('_build/latex') |
1803 | +os.system('make all-pdf') |
1804 | +</t> |
1805 | +<t tx="sps.20100506030816.13127">Leo has an initially bewildering array of ways to turn outlines into external files. This history, simplified to the point of inaccuracy, may help you decide which of the varieties are appropriate to your project. For a better and more detailed history, see `History of Leo`_. |
1806 | + |
1807 | +The original external file directive was ``@root``, which has gone through several sets of semantics, and |
1808 | +is about to change again, so it will not be described here until those semantics are settled. |
1809 | + |
1810 | +Patterns in how ``@root`` trees were used suggested a different and easier way of deriving code from the outline: ``@file``. This directive occurs in the headline. Instead of explicitly naming each section, just put an ``@others`` directive where you want all the otherwise unplaced child sections collected; if you want a section put in a more specific place, specifying ``<<`` *section* ``>>`` will put it at that location in the body, and consequently require that ``<<`` *section* ``>>`` appear as a child headline defining that section. The other innovation with ``@file`` is what happens when Leo starts: there is an immediate "untangle" of each ``@file``, thus incorporating changes from outside Leo into Leo's model of the file. Correspondingly, when Leo exits, you're prompted to "save" (tangle) any altered ``@file`` (including alterations to child nodes). |
1811 | + |
1812 | +The next mutation was ``@thin``. ``@file`` created source code with sentinels containing almost, but not all, of what was needed to recreate the outline for the ``@file``. That same information was in the .leo file. Situations could arise where that information was inconsistent, and create headaches. ``@thin`` was like ``@file``, except that *everything* needed to create the ``@thin`` outline goes into the sentinels, and *does not* go into the Leo file, thus severely reducing opportunities for inconsistency. This has been so successful that the old ``@file`` directive now forcibly converts ``@file`` derived source code to ``@thin`` style sentinels, and otherwise acts as a synonym for ``@thin``. (Beware, however, if you use both pre-4.7 and 4.7 *et post* versions of Leo with ``@file``: change each ``@file`` headline to ``@thin`` immediately, else the incompatible sentinels for ``@file`` between the versions will be most painful.) |
1813 | + |
1814 | +If you look at source code managed with ``@thin``, the sentinels will stand silently in their commented multitudes - which may be reassuring to the Leo user, but appear to the non-Leo reader as a massive invasion. The sentinels are almost necessary for pulling in changes from external files, but if those sentinels are banished, any number of compromise approaches can be imagined - and most of them seem to have been implemented. All these directives can appear in a headline and create files without sentinels: |
1815 | + |
1816 | +\@auto |
1817 | + parses the external file to put language apppropriate nodes (modules, classes, methods, functions...) into an @thin-like outline |
1818 | + |
1819 | +\@asis |
1820 | + does a strict tree walk to generate the file, ignoring ``@others`` and ``<<`` *section* ``>>`` references, keeps everything in the .leo file and ignores changes from outside Leo |
1821 | + |
1822 | +\@edit |
1823 | + honors markup directives like ``@others`` when writing the external file, but when opening the .leo file, the contents of the external file all go into one node, which *might* have a language directive (e.g., ``@language python``), but never any children |
1824 | + |
1825 | +\@nosent |
1826 | + writes files honoring the directives in the manner of ``@thin``, keeps copies of everything in the Leo file, and ignores changes introduced into the external file |
1827 | + |
1828 | +\@shadow |
1829 | + reads and writes two versions of each file, one without sentinels, and a hidden one with sentinels as if it were ``@thin``, then uses the sentinels in the hidden file to make sense of externally introduced changes to the unsentineled file |
1830 | + |
1831 | +There are subtleties and crucial details to each of these external file generation directives: read the descriptive sections carefully.</t> |
1832 | +<t tx="sps.20100506153234.13364">These file directives are valid only in headlines, with the exception of ``@path``, which may appear in both a headline or a body. |
1833 | + |
1834 | +In the following table all terms in each row are equivalent. |
1835 | +The spelling in the first column is preferred: |
1836 | + |
1837 | +=========== =============== ================= |
1838 | +\@asis \@file-asis \@silent |
1839 | +----------- --------------- ----------------- |
1840 | +\@nosent \@file-nosent \@nosentinelsfile |
1841 | +=========== =============== ================= |
1842 | + |
1843 | +The following table summarizes the differences between |
1844 | +the various kinds of external file directives. |
1845 | + |
1846 | ++---------+------------+-------------------+ |
1847 | +| | | Sections and | |
1848 | +| Type | Sentinels? | @others expanded? | |
1849 | ++---------+------------+-------------------+ |
1850 | +| @asis | no | no | |
1851 | ++---------+------------+-------------------+ |
1852 | +| @auto | no | no | |
1853 | ++---------+------------+-------------------+ |
1854 | +| @edit | no | yes | |
1855 | ++---------+------------+-------------------+ |
1856 | +| @file | yes | yes | |
1857 | ++---------+------------+-------------------+ |
1858 | +| @nosent | no | yes | |
1859 | ++---------+------------+-------------------+ |
1860 | +| @shadow | yes and no | yes | |
1861 | ++---------+------------+-------------------+ |
1862 | +| @thin | yes | yes | |
1863 | ++---------+------------+-------------------+ |
1864 | + |
1865 | +The ``@all`` directive in any environment supercedes ``@others`` and section expansion. |
1866 | + |
1867 | +Leo can not update the outline from changes made from external files unless |
1868 | +those files contain sentinels. The primary source for ``@nosent`` and ``@asis`` trees |
1869 | +are the outlines from which those files were created. |
1870 | + |
1871 | +For ``@shadow`` trees, Leo creates *two* files, a **public** file without sentinels, |
1872 | +and a **private** file (by default in the ``.leo_shadow`` subfolder) containing |
1873 | +sentinels. The primary sources for ``@shadow`` trees are the private files, updated |
1874 | +by changes to the public file. |
1875 | +</t> |
1876 | +<t tx="sps.20100506153234.13365"></t> |
1877 | +<t tx="sps.20100506153234.13366"></t> |
1878 | +<t tx="sps.20100506153234.13367"></t> |
1879 | +<t tx="sps.20100506153234.13369">In the ``@auto``, ``@edit``, ``@file``, ``@nosent``, ``@shadow`` and ``@thin`` trees, ``<<`` *section* ``>>`` in the headline specifies that this node and its descendants define a named section; in the body of a node, it specifies the location at which the text of a named section (defined in a child node) is to be interpolated. |
1880 | + |
1881 | +As with nearly all other directives, sections are ignored in ``@asis`` trees or when governed by ``@all``. |
1882 | +</t> |
1883 | +<t tx="sps.20100507011942.13175">- **\@color**, **\@nocolor**, **\@nocolor-node** and **\@killcolor** |
1884 | + Control syntax coloring. |
1885 | + |
1886 | +- **\@wrap** and **\@nowrap** |
1887 | + Enable or disable line wrapping the Leo's body pane. |
1888 | +</t> |
1889 | +<t tx="sps.20100507011942.13176"></t> |
1890 | +<t tx="sps.20100507011942.13177">- **\@asis** |
1891 | + Creates an external file without sentinels, |
1892 | + containing exactly the data in the ``@asis`` tree, |
1893 | + without expanding section references or ``@others`` directives. |
1894 | + |
1895 | +- **\@auto** |
1896 | + Imports the external file every time Leo reads the outline. |
1897 | + The ``read-at-auto-nodes`` and ``write-at-auto-nodes`` commands can |
1898 | + be used to read and write and ``@auto`` nodes. |
1899 | + |
1900 | +- **\@edit** |
1901 | + Reads an external file into a single node. |
1902 | + |
1903 | +- **\@file** |
1904 | + A synonym for ``@thin``. |
1905 | + |
1906 | +- **\@nosent** |
1907 | + Same as ``@thin``, but the external file contains no sentinels. |
1908 | + |
1909 | +- **\@path** |
1910 | + Set the path to be appended to filenames (influences all child external file directives). |
1911 | + |
1912 | +- **\@shadow** |
1913 | + Creates two external files, a **public** file without sentinels, |
1914 | + and a **private** file containing sentinels. |
1915 | + Imports the file just as ``@auto`` does if the private file does not exist. |
1916 | + |
1917 | +- **\@thin** |
1918 | + Creates an external file containing sentinels. |
1919 | + Thin external files miminize cvs and bzr conflicts. |
1920 | + All essential information is stored in the thin external file. |
1921 | +</t> |
1922 | +<t tx="sps.20100507011942.13178">- **\@** |
1923 | + Starts a doc part. ``@doc`` is a deprecated synonym. |
1924 | + |
1925 | +- **\@c** |
1926 | + Starts a code part. ``@code`` is a deprecated synonym. |
1927 | + |
1928 | +- **\@comment** |
1929 | + Sets comment delimiters. |
1930 | + |
1931 | +- **\@delims** |
1932 | + Sets comment delimiters in ``@thin`` and ``@file`` trees. |
1933 | + |
1934 | +- **\@encoding** |
1935 | + Sets the Unicode encoding used in external files. |
1936 | + |
1937 | +- **\@first** |
1938 | + Forces lines to appear before the first sentinel of an external file. |
1939 | + |
1940 | +- **\@last** |
1941 | + Forces lines to appear after the last sentinel of an external file. |
1942 | + |
1943 | +- **\@language** |
1944 | + Sets the language used for syntax coloring **and** |
1945 | + sets the comment delimiters used in sentinel lines and in doc parts. |
1946 | + |
1947 | +- **\@lineending** |
1948 | + Sets the line ending to be used in external files. |
1949 | + |
1950 | +- **\@pagewidth** |
1951 | + Sets the page width used to break doc parts into lines. |
1952 | + |
1953 | +- **\@raw** and **\@end_raw** |
1954 | + Delimit a section of 'raw' text. |
1955 | + |
1956 | +- **\@tabwidth** |
1957 | + Sets the width of tabs. |
1958 | + Negative tab widths cause Leo to convert tabs to spaces. |
1959 | + |
1960 | +- **\@verbatim** |
1961 | + Causes directives on the immediately following line to be uninterpreted. |
1962 | +</t> |
1963 | +<t tx="sps.20100507011942.13179">- **\<\<** *section* **\>\>** |
1964 | + In body, interpolates a named section; in headline, defines a named section. |
1965 | + |
1966 | +- **\@all** |
1967 | + Copies *all* descendant nodes to the external file, with node sentinels. |
1968 | + No further directives honored. |
1969 | + |
1970 | +- **\@ignore** |
1971 | + Causes Leo to skip processing all or part of an external file. |
1972 | + |
1973 | +- **\@others** |
1974 | + Copies all nodes *except* section definition nodes to the external file.</t> |
1975 | +<t tx="sps.20100507011942.13180">- **\<\<** *section* **\>\>** and **\<\<** *section* **\>\>=** |
1976 | + Interpolate or define a named section of code. |
1977 | + |
1978 | +- **\@root**, **\@root-code** and **\@root-code** |
1979 | + Start an ``\@root`` tree. |
1980 | + The last two forms set the starting mode for body text. |
1981 | + These directives must appear in body text. |
1982 | + |
1983 | +- **\@** |
1984 | + Start a doc part. ``@doc`` is a deprecated synonym. |
1985 | + |
1986 | +- **\@c** |
1987 | + Start a code part. ``@code`` is a deprecated synonym. |
1988 | + |
1989 | +- **\@comment** |
1990 | + Set comment delimiters. |
1991 | + |
1992 | +- **\@language** |
1993 | + Set the language used for syntax coloring **and** |
1994 | + set the comment delimiters used in sentinel lines. |
1995 | + |
1996 | +- **\@lineending** |
1997 | + Set the line ending to be used in external files. |
1998 | + |
1999 | +- **\@tabwidth** |
2000 | + Set the width of tabs. |
2001 | + Negative tab widths cause Leo to convert tabs to spaces. |
2002 | + |
2003 | +- **\@unit** |
2004 | + Change the scope within which ``\@root`` section names are valid. |
2005 | + |
2006 | +- **@verbose**, **@terse**, **@quiet** and **@silent** |
2007 | + Set the verbosity of sentinels.</t> |
2008 | +<t tx="sps.20100507011942.13181"></t> |
2009 | +<t tx="sps.20100507011942.13182"></t> |
2010 | +<t tx="sps.20100507011942.13185">The @path directives override the deprecated default_tangle_directory setting. |
2011 | + |
2012 | +The form of the \@path directive is ``\@path`` *directory*, |
2013 | +where *directory* is taken to be everything following \@path to the end of the line. |
2014 | + |
2015 | +When an external file directive such as @thin or @root specifies an absolute path, no \@path or setting affects the external file name. When the external file directive specifies a relative name, Leo derives the directory to which that path is relative as follows: |
2016 | + |
2017 | +1. the directory specified by @path directives in parent nodes, or |
2018 | +2. the "Default Tangle Directory" in the Settings dialog if no @path directive is in effect, or |
2019 | +3. the directory in which the .leo file resides if the .leo file has ever been saved. |
2020 | + |
2021 | +The closest parent with an absolute path takes precedence; \@path directives specifying relative directory names are relative to their parent nodes; if no \@path directive gives an absolute directory name, then the topmost @path is relative to either (2) or (3) in the list above. |
2022 | + |
2023 | +An error occurs if no absolute path can be computed according to these rules, |
2024 | +or if the derived directory name does not exist. |
2025 | +</t> |
2026 | +<t tx="sps.20100507011942.13189">The @ directive starts a doc part. |
2027 | +Doc parts continue until an @c directive or the end of the body text. |
2028 | +For example:: |
2029 | + |
2030 | + @ This is a comment in a doc part. |
2031 | + Doc parts can span multiple lines. |
2032 | + The next line ends the doc part |
2033 | + @c |
2034 | + |
2035 | +\@doc is a synonym for @, but @ is preferred. |
2036 | + |
2037 | +In \@thin style external files, such documentation sections appear as comments, using comment |
2038 | +characters appropriate to the language, or as specified by the prevailing @comment or @delims |
2039 | +directive. |
2040 | + |
2041 | +**NOTES**: |
2042 | + |
2043 | +- Following in the tradition of Literate Programming tangle, |
2044 | + content of the body of an \@root node or its subnodes |
2045 | + which is not contained in the code part of a section definition |
2046 | + will not appear in the external file. |
2047 | + |
2048 | +- A governing @asis, @all, @raw or @verbatim directive causes the directive |
2049 | + to be uninterpreted and simply copied to the external file. |
2050 | +</t> |
2051 | +<t tx="sps.20100507011942.13191">The @c directive ends a doc part and begins a code part. |
2052 | +@code is a synonym for @c, but @c is preferred. |
2053 | + |
2054 | +In @root and @unit trees, the headline must contain a valid section name.</t> |
2055 | +<t tx="sps.20100507011942.13193">**Note**: the @comment directive is deprecated: you should use the @language |
2056 | +directive whenever possible. However, sometimes using both @language and |
2057 | +@comment is useful. For this to be effective the @comment directive should |
2058 | +appear after the @language directive (in outline order). |
2059 | + |
2060 | +Untangle will not process an @root or @unit node if an @comment |
2061 | +directive is in effect because @comment make parsing an |
2062 | +external file ambiguous. It might be |
2063 | +possible to assume some defaults in this case, but that is not done at present |
2064 | +and is not a high priority. |
2065 | +(If you donate code and proper unit tests, it will be happily considered.) |
2066 | +By default, tangle of an @root node or saving an @thin style tree produces C-language |
2067 | +comments. Single-line comments generated during tangling start with ``//``, while |
2068 | +documentation parts are surrounded by ``/*`` and ``*/``. The @comment directive allows |
2069 | +you to use Tangle to produce shell and make files, as well as source code for |
2070 | +other programming languages. |
2071 | + |
2072 | +The @comment directive may be followed by zero to three delimiters, separated by |
2073 | +whitespace. This directive sets the single-line comment delimiter and the |
2074 | +opening and closing block comment delimiters as follows: |
2075 | + |
2076 | +======================== ===================================================================== |
2077 | +``@comment`` no args\: restores the defaults to ``//``, ``/*`` and ``*/`` |
2078 | +------------------------ --------------------------------------------------------------------- |
2079 | +``@comment //`` \1 arg\: sets the single-line comment and clears the other delims. |
2080 | +------------------------ --------------------------------------------------------------------- |
2081 | +``@comment /* */`` \2 args\: sets the block comment delims; clears the single-line delim. |
2082 | +------------------------ --------------------------------------------------------------------- |
2083 | +``@comment // /\* \*/`` \3 args\: sets all three delimiters. |
2084 | +======================== ===================================================================== |
2085 | + |
2086 | +If only one delimiter is given and the external file is generated by \@root, tangle does not write |
2087 | +any documentation parts; @thin style external files precede each line of a |
2088 | +recognized (that is, ungoverned by something like @all) documentation part with the delimiter. |
2089 | + |
2090 | +If two delimiters are given, block-style comments are used instead of single-line comments. |
2091 | +For example, ``@comment { }`` could be used to tangle Pascal files. |
2092 | + |
2093 | +The @comment directive is only recognized in \@root, \@unit, @file and @thin nodes, |
2094 | +and the @comment directive must precede the first section name or @c directive. |
2095 | +An @comment directive in the same body text as an @unit directive specifies the current global defaults. |
2096 | +An @comment directive in the same body text as an @root directive affects comments generated for that root only. |
2097 | +Comments in all other roots are governed by the global defaults. |
2098 | + |
2099 | +Leo will convert underscores in the @comment directives to significant spaces. For example:: |
2100 | + |
2101 | + @comment REM_ |
2102 | + |
2103 | +causes the comment delimiter to be "REM " (Note the trailing space).</t> |
2104 | +<t tx="sps.20100507011942.13195">The @language directive specifies the comment delimiters and string types used by the |
2105 | +Tangle and Untangle commands. |
2106 | +This directive over-rides the default specified in the settings dialog. |
2107 | + |
2108 | +When the threading_colorizer plugin is enabled, the valid @language directives are:: |
2109 | + |
2110 | + @language x |
2111 | + |
2112 | +where the leo/modes folder contains the file x.py. When the threading_colorizier plugin is not enabled, |
2113 | +the 'old' colorizer is used and the valid @language directives are:: |
2114 | + |
2115 | + @language actionscript |
2116 | + @language c |
2117 | + @language c++ |
2118 | + @language cweb |
2119 | + @language elisp |
2120 | + @language html |
2121 | + @language java |
2122 | + @language latex |
2123 | + @language objective-c |
2124 | + @language pascal |
2125 | + @language perl |
2126 | + @language perlpod |
2127 | + @language plain |
2128 | + @language python |
2129 | + @language rebol |
2130 | + @language shell |
2131 | + @language tcltk |
2132 | + |
2133 | +Shell files have comments that start with `#`. |
2134 | +Case is ignored in the language specifiers, but not in the @language itself. |
2135 | +Thus, the following are equivalent:: |
2136 | + |
2137 | + @language html |
2138 | + @language HTML |
2139 | + @language hTmL |
2140 | + |
2141 | +but the following is invalid:: |
2142 | + |
2143 | + @LANGUAGE html</t> |
2144 | +<t tx="sps.20100507011942.13197">The @verbose, @terse, @quiet and @silent directives determine |
2145 | +how the Tangle command outputs comments in @root trees. |
2146 | +Comments written by the user in code sections are always output. |
2147 | +These directives control only: |
2148 | +a) the comments containing doc sections and |
2149 | +b) sentinel comments that delimit the beginning and end of code sections. |
2150 | + |
2151 | +When @verbose is in effect Tangle outputs all comments. |
2152 | +When @terse is in effect, Tangle outputs only those comments necessary for Untangle to work. |
2153 | +When @silent is in effect Tangle adds no additional comments. |
2154 | +The @quiet directive is like @silent except that it does output leading sentinels as comments. |
2155 | +Like @silent, @quiet inhibits untangling. |
2156 | +@verbose is the default. |
2157 | +If more than one of these directives appear in the same body text the "most verbose" of these options will be in effect.</t> |
2158 | +<t tx="sps.20100507011942.13198">The ``@verbatime`` directive causes the immediately succeeding single line to be copied to the generated file; |
2159 | +in this way, content that might otherwise be mistaken for a section definition or directive can be escaped. |
2160 | +</t> |
2161 | +<t tx="sps.20100507011942.13200">In the \@auto, \@edit, \@file, \@nosent, \@shadow and \@thin trees, ``\<\<``*section*``\>\>`` in the headline specifies that this node and its descendants defines a named section; in the body of a node, it specifies the location at which the text of a named section (defined in a child node) is to be interpolated |
2162 | + |
2163 | +In \@root nodes, ``\<\<``*section*``\>\>`` in a headline *adds* the text of its body and descendants to to the named section; in a body, ``\<\<``*section*``\>\>`` spcifies the point at which Leo should interpolated a named section. In a body, ``\<\<``*section*``\>\>=`` appends the following text to the definition of *section*. Surprises abound; study the `\@root reference`_ . |
2164 | + |
2165 | +As with nearly all other directives, sections are ignored in \@asis trees. |
2166 | +</t> |
2167 | +<t tx="sps.20100507011942.13202">The @unit directive expands the scope of section definitions in @root trees |
2168 | +so that a section may be referenced in several @root trees. |
2169 | +The @unit directive is ignored outside of @root trees.</t> |
2170 | +<t tx="sps.20100507011942.17787">Leo performs several checks to ensure that the result of importing an external |
2171 | +file will be equivalent to the file that writing the ``@auto ``tree would produce. |
2172 | + |
2173 | +These checks can produces **errors** or **warnings**. Errors indicate a |
2174 | +potentially serious problem. Leo inserts an ``@ignore`` directive in the ``@auto`` tree |
2175 | +if any error is found. This ``@ignore`` directive prevents the ``@auto`` tree from |
2176 | +modifying the external file. If you remove or displace the ``@ignore`` directive, a later write of the |
2177 | +``@auto`` tree will attempt to fix the problems that gave rise to the errors. There |
2178 | +are no guarantees however. |
2179 | + |
2180 | +Before importing a file, Leo **regularizes** the leading whitespace of all lines |
2181 | +of the original source file. That is, Leo converts blanks to tabs or tabs to |
2182 | +blanks depending on the value of the @tabwidth directive in effect for the ``@auto`` |
2183 | +node. Leo also checks that the indentation of any non-blank line is not a |
2184 | +multiple of the indentation specified by the ``@tabwidth`` directive in effect for |
2185 | +the ``@auto`` node. |
2186 | + |
2187 | +Leo cannot guarantee to reproduce the original source file exactly if problems |
2188 | +are discovered while regularizing leading whitespace. **Strict languages** are |
2189 | +languages such as Python for which leading whitespace must be preserved exactly |
2190 | +as it appears in the original source file. Problems during regularizing whitespace generate |
2191 | +errors for strict languages and warnings for non-strict languages. |
2192 | + |
2193 | +After importing a file, Leo verifies that writing the ``@auto`` node would create |
2194 | +*exactly* the same file as the original file. Such file comparison mismatches |
2195 | +generate errors unless the problem involves only leading whitespace for |
2196 | +non-strict languages. Whenever a mismatch occurs the first non-matching line is |
2197 | +printed. |
2198 | + |
2199 | +File comparison mismatches can arise for several reasons: |
2200 | + |
2201 | +1. Bugs in the import parsers. Please report any suspected bugs immediately. |
2202 | + |
2203 | +2. Underindented lines in classes, methods or function. An **underindented |
2204 | + line** is a line that is indented less then the starting line of the class, |
2205 | + method or function in which it appears. Leo outlines can not represent such |
2206 | + lines exactly: every line of node implicitly has at least the indentation of |
2207 | + any unindented line of the node. |
2208 | + |
2209 | +Leo will issue a warning (not an error) for underindented Python comment lines. |
2210 | +Such lines can not change the meaning of Python programs.</t> |
2211 | +<t tx="sps.20100507011942.17789">FIXME: This section is probably relevant to Read @<file> Nodes; the former named menu entries are no longer present. |
2212 | + |
2213 | +Three commands in the File:Read/Write menu allow you to manually read and |
2214 | +write ``@auto`` nodes from the presently selected outline. As always, an ``@ignore`` |
2215 | +directive in the ``@auto`` node or its ancestors will suppress any of these |
2216 | +commands: |
2217 | + |
2218 | +- The **Read @auto Nodes** (read-at-auto-nodes) command reads all @auto nodes in the |
2219 | + presently selected outline. An @ignore directive will suppress this import. |
2220 | + |
2221 | +- The **Write @auto Nodes** (write-at-auto-nodes) command writes all @auto nodes. An |
2222 | + ``@ignore`` directive will suppress this import. Caution: the write will occur even |
2223 | + if Leo has not previously read the @auto node. |
2224 | + |
2225 | +- The **Write Dirty @auto Nodes** (write-dirty-at-auto-nodes) is the same as the |
2226 | + write-at-auto-nodes command, except that only changed ``@auto`` trees are written. |
2227 | + |
2228 | +Most users will rarely use these explicit commands, because reading and writing |
2229 | +.leo files handles ``@auto`` nodes well enough. However, you can use the |
2230 | +read-at-auto-nodes command to update @auto nodes without having to reload the |
2231 | +.leo file. |
2232 | +</t> |
2233 | +<t tx="sps.20100507011942.17790">The earliest variety of file generation was the \@root directive, designed to work with either `CWEB`_ or `noweb`_ markup. The model for CWEB and noweb were for the person to edit a text ("web") file containing code and markup, and then "tangle" the file into a source code file appropriate for the compiler or interpreter, and to "weave" the text file into a beautifully typeset narrative which explained all the inner workings of the code. Leo's innovation was to realize that a lot of what the markup was doing was to expose the often hidden conceptual structure of the code, and that this could be done better with an outline. Thus in Leo, "tangling" creates the source files from the outline, "weaving" is dropped, and "untangling" turns source files into outlines. That last trick nearly always requires some assistance from the source file, in the form of special comments called "sentinels" which help Leo discover the names of outline headlines and the boundaries in the chunks of text (bodies) corresponding to those headlines - and which chunks are subheads to other subheads. As with CWEB and noweb, the specifications for how to assemble the nodes into the program source code are explicit: ``\<\<`` *section* ``\>\>`` specifies the location where Leo emits the section, and ``\<\<`` *section* ``\>\>=`` *code* adds snippets of code to the end of the section.</t> |
2234 | +<t tx="sps.20100507011942.17791">\@root |
2235 | + This directive is the most flexible, the most difficult to use, and behaves |
2236 | + very differently from every other file generating directive. It comes closest |
2237 | + in spirit to traditional literate programming tools. |
2238 | + However, it is seldom necessary to suffer the drawbacks of using ``@root``. |
2239 | + Avoid using ``@root`` unless you have a compelling reason. Forget everything |
2240 | + you've read about headline family file generation as you carefully study the `\@root reference`_.</t> |
2241 | <t tx="tbrown.20091203211538.14165">Makes \@path nodes "active". |
2242 | |
2243 | With this plugin running, double clicking on \@path nodes |
2244 | |
2245 | === added directory 'leo/doc/html/_build' |
2246 | === added directory 'leo/doc/html/_build/latex' |
2247 | === added file 'leo/doc/html/_build/latex/LeoDoc.pdf' |
2248 | --- leo/doc/html/_build/latex/LeoDoc.pdf 1970-01-01 00:00:00 +0000 |
2249 | +++ leo/doc/html/_build/latex/LeoDoc.pdf 2010-05-11 20:36:27 +0000 |
2250 | @@ -0,0 +1,24321 @@ |
2251 | +%PDF-1.4 |
2252 | +%ÐÔÅØ |
2253 | +5 0 obj |
2254 | +<< /S /GoTo /D (chapter*.1) >> |
2255 | +endobj |
2256 | +8 0 obj |
2257 | +(Acknowledgements) |
2258 | +endobj |
2259 | +9 0 obj |
2260 | +<< /S /GoTo /D (chapter*.1) >> |
2261 | +endobj |
2262 | +11 0 obj |
2263 | +(Leo's MIT License) |
2264 | +endobj |
2265 | +12 0 obj |
2266 | +<< /S /GoTo /D (chapter*.2) >> |
2267 | +endobj |
2268 | +15 0 obj |
2269 | +(Preface) |
2270 | +endobj |
2271 | +16 0 obj |
2272 | +<< /S /GoTo /D (chapter*.3) >> |
2273 | +endobj |
2274 | +19 0 obj |
2275 | +(What People Are Saying About Leo) |
2276 | +endobj |
2277 | +20 0 obj |
2278 | +<< /S /GoTo /D (section*.4) >> |
2279 | +endobj |
2280 | +23 0 obj |
2281 | +(Leo is revolutionary) |
2282 | +endobj |
2283 | +24 0 obj |
2284 | +<< /S /GoTo /D (section*.4) >> |
2285 | +endobj |
2286 | +26 0 obj |
2287 | +(Leo is a showcase Python/Tkinter application) |
2288 | +endobj |
2289 | +27 0 obj |
2290 | +<< /S /GoTo /D (section*.4) >> |
2291 | +endobj |
2292 | +29 0 obj |
2293 | +(Leo is fun, even addicting) |
2294 | +endobj |
2295 | +30 0 obj |
2296 | +<< /S /GoTo /D (section*.4) >> |
2297 | +endobj |
2298 | +32 0 obj |
2299 | +(Leo is a flexible, powerful IDE) |
2300 | +endobj |
2301 | +33 0 obj |
2302 | +<< /S /GoTo /D (section*.4) >> |
2303 | +endobj |
2304 | +35 0 obj |
2305 | +(Leo is a superb outliner) |
2306 | +endobj |
2307 | +36 0 obj |
2308 | +<< /S /GoTo /D (section*.4) >> |
2309 | +endobj |
2310 | +38 0 obj |
2311 | +(Leo is an excellent PIM) |
2312 | +endobj |
2313 | +39 0 obj |
2314 | +<< /S /GoTo /D (section*.4) >> |
2315 | +endobj |
2316 | +41 0 obj |
2317 | +(Leo extends, completes and simplifies literate programming) |
2318 | +endobj |
2319 | +42 0 obj |
2320 | +<< /S /GoTo /D (section*.4) >> |
2321 | +endobj |
2322 | +44 0 obj |
2323 | +(Leo is a superb documentation tool) |
2324 | +endobj |
2325 | +45 0 obj |
2326 | +<< /S /GoTo /D (section*.4) >> |
2327 | +endobj |
2328 | +47 0 obj |
2329 | +(Leo simplifies the understanding of complex systems) |
2330 | +endobj |
2331 | +48 0 obj |
2332 | +<< /S /GoTo /D (section*.4) >> |
2333 | +endobj |
2334 | +50 0 obj |
2335 | +(Leo is stable, well designed and well supported) |
2336 | +endobj |
2337 | +51 0 obj |
2338 | +<< /S /GoTo /D (section*.4) >> |
2339 | +endobj |
2340 | +53 0 obj |
2341 | +(Longer quotes...) |
2342 | +endobj |
2343 | +54 0 obj |
2344 | +<< /S /GoTo /D (chapter*.5) >> |
2345 | +endobj |
2346 | +57 0 obj |
2347 | +(FAQ) |
2348 | +endobj |
2349 | +58 0 obj |
2350 | +<< /S /GoTo /D (section*.6) >> |
2351 | +endobj |
2352 | +61 0 obj |
2353 | +(Getting Leo) |
2354 | +endobj |
2355 | +62 0 obj |
2356 | +<< /S /GoTo /D (Item.10) >> |
2357 | +endobj |
2358 | +65 0 obj |
2359 | +(Installing Leo) |
2360 | +endobj |
2361 | +66 0 obj |
2362 | +<< /S /GoTo /D (Item.10) >> |
2363 | +endobj |
2364 | +68 0 obj |
2365 | +(Learning to use Leo) |
2366 | +endobj |
2367 | +69 0 obj |
2368 | +<< /S /GoTo /D (Item.10) >> |
2369 | +endobj |
2370 | +71 0 obj |
2371 | +(How Should I Use Leo With bzr/git/hg/svn/cvs?) |
2372 | +endobj |
2373 | +72 0 obj |
2374 | +<< /S /GoTo /D (Item.10) >> |
2375 | +endobj |
2376 | +74 0 obj |
2377 | +(How Can I Use Leo Cooperatively Without Sentinels?) |
2378 | +endobj |
2379 | +75 0 obj |
2380 | +<< /S /GoTo /D (Item.10) >> |
2381 | +endobj |
2382 | +77 0 obj |
2383 | +(Using External Files) |
2384 | +endobj |
2385 | +78 0 obj |
2386 | +<< /S /GoTo /D (Item.10) >> |
2387 | +endobj |
2388 | +80 0 obj |
2389 | +(Customizing Leo) |
2390 | +endobj |
2391 | +81 0 obj |
2392 | +<< /S /GoTo /D (Item.15) >> |
2393 | +endobj |
2394 | +84 0 obj |
2395 | +(Tips and Techniques) |
2396 | +endobj |
2397 | +85 0 obj |
2398 | +<< /S /GoTo /D (Item.40) >> |
2399 | +endobj |
2400 | +88 0 obj |
2401 | +(Trouble Shooting) |
2402 | +endobj |
2403 | +89 0 obj |
2404 | +<< /S /GoTo /D (Item.45) >> |
2405 | +endobj |
2406 | +92 0 obj |
2407 | +(Unicode Issues) |
2408 | +endobj |
2409 | +93 0 obj |
2410 | +<< /S /GoTo /D (chapter.1) >> |
2411 | +endobj |
2412 | +96 0 obj |
2413 | +(Installing Leo) |
2414 | +endobj |
2415 | +97 0 obj |
2416 | +<< /S /GoTo /D (section.1.1) >> |
2417 | +endobj |
2418 | +100 0 obj |
2419 | +(System requirements) |
2420 | +endobj |
2421 | +101 0 obj |
2422 | +<< /S /GoTo /D (section.1.2) >> |
2423 | +endobj |
2424 | +104 0 obj |
2425 | +(Leo's HOME directory) |
2426 | +endobj |
2427 | +105 0 obj |
2428 | +<< /S /GoTo /D (section.1.3) >> |
2429 | +endobj |
2430 | +108 0 obj |
2431 | +(How to install Leo on Linux) |
2432 | +endobj |
2433 | +109 0 obj |
2434 | +<< /S /GoTo /D (section.1.4) >> |
2435 | +endobj |
2436 | +112 0 obj |
2437 | +(Installing Leo on MacOS X) |
2438 | +endobj |
2439 | +113 0 obj |
2440 | +<< /S /GoTo /D (section.1.5) >> |
2441 | +endobj |
2442 | +116 0 obj |
2443 | +(Installing Leo on Windows) |
2444 | +endobj |
2445 | +117 0 obj |
2446 | +<< /S /GoTo /D (section.1.6) >> |
2447 | +endobj |
2448 | +120 0 obj |
2449 | +(Tracking the development version) |
2450 | +endobj |
2451 | +121 0 obj |
2452 | +<< /S /GoTo /D (section.1.7) >> |
2453 | +endobj |
2454 | +124 0 obj |
2455 | +(Running Leo) |
2456 | +endobj |
2457 | +125 0 obj |
2458 | +<< /S /GoTo /D (section.1.8) >> |
2459 | +endobj |
2460 | +128 0 obj |
2461 | +(Running Leo from a console window) |
2462 | +endobj |
2463 | +129 0 obj |
2464 | +<< /S /GoTo /D (section.1.9) >> |
2465 | +endobj |
2466 | +132 0 obj |
2467 | +(Running Leo in batch mode) |
2468 | +endobj |
2469 | +133 0 obj |
2470 | +<< /S /GoTo /D (section.1.10) >> |
2471 | +endobj |
2472 | +136 0 obj |
2473 | +(How to install the Aspell spell checker) |
2474 | +endobj |
2475 | +137 0 obj |
2476 | +<< /S /GoTo /D (chapter.2) >> |
2477 | +endobj |
2478 | +140 0 obj |
2479 | +(The Leo Tutorial) |
2480 | +endobj |
2481 | +141 0 obj |
2482 | +<< /S /GoTo /D (section.2.1) >> |
2483 | +endobj |
2484 | +144 0 obj |
2485 | +(Leo's main window) |
2486 | +endobj |
2487 | +145 0 obj |
2488 | +<< /S /GoTo /D (section.2.2) >> |
2489 | +endobj |
2490 | +148 0 obj |
2491 | +(Outline commands) |
2492 | +endobj |
2493 | +149 0 obj |
2494 | +<< /S /GoTo /D (section.2.3) >> |
2495 | +endobj |
2496 | +152 0 obj |
2497 | +(External files and @thin nodes) |
2498 | +endobj |
2499 | +153 0 obj |
2500 | +<< /S /GoTo /D (section.2.4) >> |
2501 | +endobj |
2502 | +156 0 obj |
2503 | +(Creating external files from outlines) |
2504 | +endobj |
2505 | +157 0 obj |
2506 | +<< /S /GoTo /D (section.2.5) >> |
2507 | +endobj |
2508 | +160 0 obj |
2509 | +(Clones \046 views) |
2510 | +endobj |
2511 | +161 0 obj |
2512 | +<< /S /GoTo /D (section.2.6) >> |
2513 | +endobj |
2514 | +164 0 obj |
2515 | +(More about directives) |
2516 | +endobj |
2517 | +165 0 obj |
2518 | +<< /S /GoTo /D (section.2.7) >> |
2519 | +endobj |
2520 | +168 0 obj |
2521 | +(Scripting, extending and customizing Leo) |
2522 | +endobj |
2523 | +169 0 obj |
2524 | +<< /S /GoTo /D (section.2.8) >> |
2525 | +endobj |
2526 | +172 0 obj |
2527 | +(Summary) |
2528 | +endobj |
2529 | +173 0 obj |
2530 | +<< /S /GoTo /D (section.2.9) >> |
2531 | +endobj |
2532 | +176 0 obj |
2533 | +(Further study) |
2534 | +endobj |
2535 | +177 0 obj |
2536 | +<< /S /GoTo /D (chapter.3) >> |
2537 | +endobj |
2538 | +180 0 obj |
2539 | +(Using Outlines) |
2540 | +endobj |
2541 | +181 0 obj |
2542 | +<< /S /GoTo /D (section.3.1) >> |
2543 | +endobj |
2544 | +184 0 obj |
2545 | +(Outline Related) |
2546 | +endobj |
2547 | +185 0 obj |
2548 | +<< /S /GoTo /D (section.3.2) >> |
2549 | +endobj |
2550 | +188 0 obj |
2551 | +(Body Related) |
2552 | +endobj |
2553 | +189 0 obj |
2554 | +<< /S /GoTo /D (section.3.3) >> |
2555 | +endobj |
2556 | +192 0 obj |
2557 | +(Miscellaneous) |
2558 | +endobj |
2559 | +193 0 obj |
2560 | +<< /S /GoTo /D (chapter.4) >> |
2561 | +endobj |
2562 | +196 0 obj |
2563 | +(Writing Programs in Leo) |
2564 | +endobj |
2565 | +197 0 obj |
2566 | +<< /S /GoTo /D (section.4.1) >> |
2567 | +endobj |
2568 | +200 0 obj |
2569 | +(A Brief and Inaccurate History of Leo for Programming) |
2570 | +endobj |
2571 | +201 0 obj |
2572 | +<< /S /GoTo /D (section.4.2) >> |
2573 | +endobj |
2574 | +204 0 obj |
2575 | +(Creating and using external files: recommendations) |
2576 | +endobj |
2577 | +205 0 obj |
2578 | +<< /S /GoTo /D (section.4.3) >> |
2579 | +endobj |
2580 | +208 0 obj |
2581 | +(Overview: summary of directives) |
2582 | +endobj |
2583 | +209 0 obj |
2584 | +<< /S /GoTo /D (section.4.4) >> |
2585 | +endobj |
2586 | +212 0 obj |
2587 | +(Reference: all about directives) |
2588 | +endobj |
2589 | +213 0 obj |
2590 | +<< /S /GoTo /D (section.4.5) >> |
2591 | +endobj |
2592 | +216 0 obj |
2593 | +(CWEB mode) |
2594 | +endobj |
2595 | +217 0 obj |
2596 | +<< /S /GoTo /D (chapter.5) >> |
2597 | +endobj |
2598 | +220 0 obj |
2599 | +(Using Leo's Commands) |
2600 | +endobj |
2601 | +221 0 obj |
2602 | +<< /S /GoTo /D (section.5.1) >> |
2603 | +endobj |
2604 | +224 0 obj |
2605 | +(Autocompletion) |
2606 | +endobj |
2607 | +225 0 obj |
2608 | +<< /S /GoTo /D (section.5.2) >> |
2609 | +endobj |
2610 | +228 0 obj |
2611 | +(Calltips) |
2612 | +endobj |
2613 | +229 0 obj |
2614 | +<< /S /GoTo /D (section.5.3) >> |
2615 | +endobj |
2616 | +232 0 obj |
2617 | +(The minibuffer) |
2618 | +endobj |
2619 | +233 0 obj |
2620 | +<< /S /GoTo /D (section.5.4) >> |
2621 | +endobj |
2622 | +236 0 obj |
2623 | +(The File Menu) |
2624 | +endobj |
2625 | +237 0 obj |
2626 | +<< /S /GoTo /D (section.5.5) >> |
2627 | +endobj |
2628 | +240 0 obj |
2629 | +(The Edit Menu) |
2630 | +endobj |
2631 | +241 0 obj |
2632 | +<< /S /GoTo /D (section.5.6) >> |
2633 | +endobj |
2634 | +244 0 obj |
2635 | +(The Outline Menu) |
2636 | +endobj |
2637 | +245 0 obj |
2638 | +<< /S /GoTo /D (section.5.7) >> |
2639 | +endobj |
2640 | +248 0 obj |
2641 | +(The Window Menu) |
2642 | +endobj |
2643 | +249 0 obj |
2644 | +<< /S /GoTo /D (section.5.8) >> |
2645 | +endobj |
2646 | +252 0 obj |
2647 | +(The Help Menu) |
2648 | +endobj |
2649 | +253 0 obj |
2650 | +<< /S /GoTo /D (chapter.6) >> |
2651 | +endobj |
2652 | +256 0 obj |
2653 | +(Leo and Literate Programming) |
2654 | +endobj |
2655 | +257 0 obj |
2656 | +<< /S /GoTo /D (section.6.1) >> |
2657 | +endobj |
2658 | +260 0 obj |
2659 | +(Why I like Literate Programming) |
2660 | +endobj |
2661 | +261 0 obj |
2662 | +<< /S /GoTo /D (section.6.2) >> |
2663 | +endobj |
2664 | +264 0 obj |
2665 | +(How Leo Improves Literate Programming) |
2666 | +endobj |
2667 | +265 0 obj |
2668 | +<< /S /GoTo /D (section.6.3) >> |
2669 | +endobj |
2670 | +268 0 obj |
2671 | +(How Leo Changes the Notion of Literate Programming) |
2672 | +endobj |
2673 | +269 0 obj |
2674 | +<< /S /GoTo /D (chapter.7) >> |
2675 | +endobj |
2676 | +272 0 obj |
2677 | +(Scripting Leo with Python) |
2678 | +endobj |
2679 | +273 0 obj |
2680 | +<< /S /GoTo /D (section.7.1) >> |
2681 | +endobj |
2682 | +276 0 obj |
2683 | +(Leo's most import objects) |
2684 | +endobj |
2685 | +277 0 obj |
2686 | +<< /S /GoTo /D (section.7.2) >> |
2687 | +endobj |
2688 | +280 0 obj |
2689 | +(Predefined objects) |
2690 | +endobj |
2691 | +281 0 obj |
2692 | +<< /S /GoTo /D (section.7.3) >> |
2693 | +endobj |
2694 | +284 0 obj |
2695 | +(g.es writes to the log pane) |
2696 | +endobj |
2697 | +285 0 obj |
2698 | +<< /S /GoTo /D (section.7.4) >> |
2699 | +endobj |
2700 | +288 0 obj |
2701 | +(app.windowList: the list of all open frames) |
2702 | +endobj |
2703 | +289 0 obj |
2704 | +<< /S /GoTo /D (section.7.5) >> |
2705 | +endobj |
2706 | +292 0 obj |
2707 | +(Getting and setting headline and body text) |
2708 | +endobj |
2709 | +293 0 obj |
2710 | +<< /S /GoTo /D (section.7.6) >> |
2711 | +endobj |
2712 | +296 0 obj |
2713 | +(Getting and setting body text directly) |
2714 | +endobj |
2715 | +297 0 obj |
2716 | +<< /S /GoTo /D (section.7.7) >> |
2717 | +endobj |
2718 | +300 0 obj |
2719 | +(Ensuring that positions are valid) |
2720 | +endobj |
2721 | +301 0 obj |
2722 | +<< /S /GoTo /D (section.7.8) >> |
2723 | +endobj |
2724 | +304 0 obj |
2725 | +(About copying positions) |
2726 | +endobj |
2727 | +305 0 obj |
2728 | +<< /S /GoTo /D (section.7.9) >> |
2729 | +endobj |
2730 | +308 0 obj |
2731 | +(Traversing outlines) |
2732 | +endobj |
2733 | +309 0 obj |
2734 | +<< /S /GoTo /D (section.7.10) >> |
2735 | +endobj |
2736 | +312 0 obj |
2737 | +(Updating the screen) |
2738 | +endobj |
2739 | +313 0 obj |
2740 | +<< /S /GoTo /D (section.7.11) >> |
2741 | +endobj |
2742 | +316 0 obj |
2743 | +(Invoking commands from scripts) |
2744 | +endobj |
2745 | +317 0 obj |
2746 | +<< /S /GoTo /D (section.7.12) >> |
2747 | +endobj |
2748 | +320 0 obj |
2749 | +(Getting settings from @settings trees) |
2750 | +endobj |
2751 | +321 0 obj |
2752 | +<< /S /GoTo /D (section.7.13) >> |
2753 | +endobj |
2754 | +324 0 obj |
2755 | +(Getting and setting preferences) |
2756 | +endobj |
2757 | +325 0 obj |
2758 | +<< /S /GoTo /D (section.7.14) >> |
2759 | +endobj |
2760 | +328 0 obj |
2761 | +(Functions for finding and changing text from scripts) |
2762 | +endobj |
2763 | +329 0 obj |
2764 | +<< /S /GoTo /D (section.7.15) >> |
2765 | +endobj |
2766 | +332 0 obj |
2767 | +(Functions defined in leoGlobals.py) |
2768 | +endobj |
2769 | +333 0 obj |
2770 | +<< /S /GoTo /D (section.7.16) >> |
2771 | +endobj |
2772 | +336 0 obj |
2773 | +(Event handlers) |
2774 | +endobj |
2775 | +337 0 obj |
2776 | +<< /S /GoTo /D (section.7.17) >> |
2777 | +endobj |
2778 | +340 0 obj |
2779 | +(How to make operations undoable) |
2780 | +endobj |
2781 | +341 0 obj |
2782 | +<< /S /GoTo /D (section.7.18) >> |
2783 | +endobj |
2784 | +344 0 obj |
2785 | +(Redirecting output from scripts) |
2786 | +endobj |
2787 | +345 0 obj |
2788 | +<< /S /GoTo /D (section.7.19) >> |
2789 | +endobj |
2790 | +348 0 obj |
2791 | +(Writing to different log tabs) |
2792 | +endobj |
2793 | +349 0 obj |
2794 | +<< /S /GoTo /D (section.7.20) >> |
2795 | +endobj |
2796 | +352 0 obj |
2797 | +(Invoking dialogs using the g.app.gui class) |
2798 | +endobj |
2799 | +353 0 obj |
2800 | +<< /S /GoTo /D (section.7.21) >> |
2801 | +endobj |
2802 | +356 0 obj |
2803 | +(Inserting and deleting icons) |
2804 | +endobj |
2805 | +357 0 obj |
2806 | +<< /S /GoTo /D (section.7.22) >> |
2807 | +endobj |
2808 | +360 0 obj |
2809 | +(Customizing panes with different widgets) |
2810 | +endobj |
2811 | +361 0 obj |
2812 | +<< /S /GoTo /D (section.7.23) >> |
2813 | +endobj |
2814 | +364 0 obj |
2815 | +(Working with directives and paths) |
2816 | +endobj |
2817 | +365 0 obj |
2818 | +<< /S /GoTo /D (section.7.24) >> |
2819 | +endobj |
2820 | +368 0 obj |
2821 | +(Summary of the vnode and position classes) |
2822 | +endobj |
2823 | +369 0 obj |
2824 | +<< /S /GoTo /D (section.7.25) >> |
2825 | +endobj |
2826 | +372 0 obj |
2827 | +(Creating script buttons) |
2828 | +endobj |
2829 | +373 0 obj |
2830 | +<< /S /GoTo /D (section.7.26) >> |
2831 | +endobj |
2832 | +376 0 obj |
2833 | +(Running Leo in batch mode) |
2834 | +endobj |
2835 | +377 0 obj |
2836 | +<< /S /GoTo /D (section.7.27) >> |
2837 | +endobj |
2838 | +380 0 obj |
2839 | +(Getting interactive input from scripts) |
2840 | +endobj |
2841 | +381 0 obj |
2842 | +<< /S /GoTo /D (section.7.28) >> |
2843 | +endobj |
2844 | +384 0 obj |
2845 | +(Creating Leo commands with the @g.command decorator) |
2846 | +endobj |
2847 | +385 0 obj |
2848 | +<< /S /GoTo /D (section.7.29) >> |
2849 | +endobj |
2850 | +388 0 obj |
2851 | +(Modifying plugins with @script scripts) |
2852 | +endobj |
2853 | +389 0 obj |
2854 | +<< /S /GoTo /D (chapter.8) >> |
2855 | +endobj |
2856 | +392 0 obj |
2857 | +(Customizing Leo) |
2858 | +endobj |
2859 | +393 0 obj |
2860 | +<< /S /GoTo /D (section.8.1) >> |
2861 | +endobj |
2862 | +396 0 obj |
2863 | +(Specifying settings) |
2864 | +endobj |
2865 | +397 0 obj |
2866 | +<< /S /GoTo /D (section.8.2) >> |
2867 | +endobj |
2868 | +400 0 obj |
2869 | +(Input modes) |
2870 | +endobj |
2871 | +401 0 obj |
2872 | +<< /S /GoTo /D (section.8.3) >> |
2873 | +endobj |
2874 | +404 0 obj |
2875 | +(Adding extensible attributes to nodes and .leo files) |
2876 | +endobj |
2877 | +405 0 obj |
2878 | +<< /S /GoTo /D (section.8.4) >> |
2879 | +endobj |
2880 | +408 0 obj |
2881 | +(Specifying Tk options using .leo\137xresources) |
2882 | +endobj |
2883 | +409 0 obj |
2884 | +<< /S /GoTo /D (section.8.5) >> |
2885 | +endobj |
2886 | +412 0 obj |
2887 | +(Translating Leo's menus and messages) |
2888 | +endobj |
2889 | +413 0 obj |
2890 | +<< /S /GoTo /D (section.8.6) >> |
2891 | +endobj |
2892 | +416 0 obj |
2893 | +(Writing new importers) |
2894 | +endobj |
2895 | +417 0 obj |
2896 | +<< /S /GoTo /D (chapter.9) >> |
2897 | +endobj |
2898 | +420 0 obj |
2899 | +(History of Leo) |
2900 | +endobj |
2901 | +421 0 obj |
2902 | +<< /S /GoTo /D (section.9.1) >> |
2903 | +endobj |
2904 | +424 0 obj |
2905 | +(Beginnings) |
2906 | +endobj |
2907 | +425 0 obj |
2908 | +<< /S /GoTo /D (section.9.2) >> |
2909 | +endobj |
2910 | +428 0 obj |
2911 | +(Breakthrough) |
2912 | +endobj |
2913 | +429 0 obj |
2914 | +<< /S /GoTo /D (section.9.3) >> |
2915 | +endobj |
2916 | +432 0 obj |
2917 | +(Apple and YellowBox) |
2918 | +endobj |
2919 | +433 0 obj |
2920 | +<< /S /GoTo /D (section.9.4) >> |
2921 | +endobj |
2922 | +436 0 obj |
2923 | +(Borland C++) |
2924 | +endobj |
2925 | +437 0 obj |
2926 | +<< /S /GoTo /D (section.9.5) >> |
2927 | +endobj |
2928 | +440 0 obj |
2929 | +(Discovering Python) |
2930 | +endobj |
2931 | +441 0 obj |
2932 | +<< /S /GoTo /D (section.9.6) >> |
2933 | +endobj |
2934 | +444 0 obj |
2935 | +(SourceForge) |
2936 | +endobj |
2937 | +445 0 obj |
2938 | +<< /S /GoTo /D (section.9.7) >> |
2939 | +endobj |
2940 | +448 0 obj |
2941 | +(Allowing sentinel lines in external files) |
2942 | +endobj |
2943 | +449 0 obj |
2944 | +<< /S /GoTo /D (section.9.8) >> |
2945 | +endobj |
2946 | +452 0 obj |
2947 | +(Untangling @file is easy!) |
2948 | +endobj |
2949 | +453 0 obj |
2950 | +<< /S /GoTo /D (section.9.9) >> |
2951 | +endobj |
2952 | +456 0 obj |
2953 | +(Leo 3.x: Continuous improvement) |
2954 | +endobj |
2955 | +457 0 obj |
2956 | +<< /S /GoTo /D (section.9.10) >> |
2957 | +endobj |
2958 | +460 0 obj |
2959 | +(Leo 4.0: Eliminating error `recovery') |
2960 | +endobj |
2961 | +461 0 obj |
2962 | +<< /S /GoTo /D (section.9.11) >> |
2963 | +endobj |
2964 | +464 0 obj |
2965 | +(Leo 4.1: The debut of gnx's) |
2966 | +endobj |
2967 | +465 0 obj |
2968 | +<< /S /GoTo /D (section.9.12) >> |
2969 | +endobj |
2970 | +468 0 obj |
2971 | +(Leo 4.2: Complete at last) |
2972 | +endobj |
2973 | +469 0 obj |
2974 | +<< /S /GoTo /D (section.9.13) >> |
2975 | +endobj |
2976 | +472 0 obj |
2977 | +(Leo 4.3 Settings) |
2978 | +endobj |
2979 | +473 0 obj |
2980 | +<< /S /GoTo /D (section.9.14) >> |
2981 | +endobj |
2982 | +476 0 obj |
2983 | +(Leo 4.4 The minibuffer and key bindings) |
2984 | +endobj |
2985 | +477 0 obj |
2986 | +<< /S /GoTo /D (section.9.15) >> |
2987 | +endobj |
2988 | +480 0 obj |
2989 | +(Leo 4.4.4 Improvements) |
2990 | +endobj |
2991 | +481 0 obj |
2992 | +<< /S /GoTo /D (chapter.10) >> |
2993 | +endobj |
2994 | +484 0 obj |
2995 | +(Theory of Operation) |
2996 | +endobj |
2997 | +485 0 obj |
2998 | +<< /S /GoTo /D (section.10.1) >> |
2999 | +endobj |
3000 | +488 0 obj |
3001 | +(Overview) |
3002 | +endobj |
3003 | +489 0 obj |
3004 | +<< /S /GoTo /D (section.10.2) >> |
3005 | +endobj |
3006 | +492 0 obj |
3007 | +(Nodes) |
3008 | +endobj |
3009 | +493 0 obj |
3010 | +<< /S /GoTo /D (section.10.3) >> |
3011 | +endobj |
3012 | +496 0 obj |
3013 | +(Drawing and events) |
3014 | +endobj |
3015 | +497 0 obj |
3016 | +<< /S /GoTo /D (section.10.4) >> |
3017 | +endobj |
3018 | +500 0 obj |
3019 | +(Clones) |
3020 | +endobj |
3021 | +501 0 obj |
3022 | +<< /S /GoTo /D (section.10.5) >> |
3023 | +endobj |
3024 | +504 0 obj |
3025 | +(Find and change commands) |
3026 | +endobj |
3027 | +505 0 obj |
3028 | +<< /S /GoTo /D (section.10.6) >> |
3029 | +endobj |
3030 | +508 0 obj |
3031 | +(Tangle and untangle commands) |
3032 | +endobj |
3033 | +509 0 obj |
3034 | +<< /S /GoTo /D (section.10.7) >> |
3035 | +endobj |
3036 | +512 0 obj |
3037 | +(Unicode) |
3038 | +endobj |
3039 | +513 0 obj |
3040 | +<< /S /GoTo /D (section.10.8) >> |
3041 | +endobj |
3042 | +516 0 obj |
3043 | +(Unlimited undo) |
3044 | +endobj |
3045 | +517 0 obj |
3046 | +<< /S /GoTo /D (section.10.9) >> |
3047 | +endobj |
3048 | +520 0 obj |
3049 | +(Key bindings) |
3050 | +endobj |
3051 | +521 0 obj |
3052 | +<< /S /GoTo /D (chapter.11) >> |
3053 | +endobj |
3054 | +524 0 obj |
3055 | +(White Papers) |
3056 | +endobj |
3057 | +525 0 obj |
3058 | +<< /S /GoTo /D (section.11.1) >> |
3059 | +endobj |
3060 | +528 0 obj |
3061 | +(Why I like Python) |
3062 | +endobj |
3063 | +529 0 obj |
3064 | +<< /S /GoTo /D (chapter.12) >> |
3065 | +endobj |
3066 | +532 0 obj |
3067 | +(Plugins) |
3068 | +endobj |
3069 | +533 0 obj |
3070 | +<< /S /GoTo /D (section.12.1) >> |
3071 | +endobj |
3072 | +536 0 obj |
3073 | +(Enabling plugins) |
3074 | +endobj |
3075 | +537 0 obj |
3076 | +<< /S /GoTo /D (section.12.2) >> |
3077 | +endobj |
3078 | +540 0 obj |
3079 | +(Body pane) |
3080 | +endobj |
3081 | +541 0 obj |
3082 | +<< /S /GoTo /D (section.12.3) >> |
3083 | +endobj |
3084 | +544 0 obj |
3085 | +(Commands \046 directives) |
3086 | +endobj |
3087 | +545 0 obj |
3088 | +<< /S /GoTo /D (section.12.4) >> |
3089 | +endobj |
3090 | +548 0 obj |
3091 | +(Dialogs) |
3092 | +endobj |
3093 | +549 0 obj |
3094 | +<< /S /GoTo /D (section.12.5) >> |
3095 | +endobj |
3096 | +552 0 obj |
3097 | +(Debugging \046 testing) |
3098 | +endobj |
3099 | +553 0 obj |
3100 | +<< /S /GoTo /D (section.12.6) >> |
3101 | +endobj |
3102 | +556 0 obj |
3103 | +(External editors \046 Open With) |
3104 | +endobj |
3105 | +557 0 obj |
3106 | +<< /S /GoTo /D (section.12.7) >> |
3107 | +endobj |
3108 | +560 0 obj |
3109 | +(Files) |
3110 | +endobj |
3111 | +561 0 obj |
3112 | +<< /S /GoTo /D (section.12.8) >> |
3113 | +endobj |
3114 | +564 0 obj |
3115 | +(Guis) |
3116 | +endobj |
3117 | +565 0 obj |
3118 | +<< /S /GoTo /D (section.12.9) >> |
3119 | +endobj |
3120 | +568 0 obj |
3121 | +(Icon and status areas) |
3122 | +endobj |
3123 | +569 0 obj |
3124 | +<< /S /GoTo /D (section.12.10) >> |
3125 | +endobj |
3126 | +572 0 obj |
3127 | +(LeoN) |
3128 | +endobj |
3129 | +573 0 obj |
3130 | +<< /S /GoTo /D (section.12.11) >> |
3131 | +endobj |
3132 | +576 0 obj |
3133 | +(Menus \046 translations) |
3134 | +endobj |
3135 | +577 0 obj |
3136 | +<< /S /GoTo /D (section.12.12) >> |
3137 | +endobj |
3138 | +580 0 obj |
3139 | +(Nodes) |
3140 | +endobj |
3141 | +581 0 obj |
3142 | +<< /S /GoTo /D (section.12.13) >> |
3143 | +endobj |
3144 | +584 0 obj |
3145 | +(Plugins manager \046 menu) |
3146 | +endobj |
3147 | +585 0 obj |
3148 | +<< /S /GoTo /D (section.12.14) >> |
3149 | +endobj |
3150 | +588 0 obj |
3151 | +(Scripting) |
3152 | +endobj |
3153 | +589 0 obj |
3154 | +<< /S /GoTo /D (section.12.15) >> |
3155 | +endobj |
3156 | +592 0 obj |
3157 | +(Servers) |
3158 | +endobj |
3159 | +593 0 obj |
3160 | +<< /S /GoTo /D (section.12.16) >> |
3161 | +endobj |
3162 | +596 0 obj |
3163 | +(Spell checking) |
3164 | +endobj |
3165 | +597 0 obj |
3166 | +<< /S /GoTo /D (section.12.17) >> |
3167 | +endobj |
3168 | +600 0 obj |
3169 | +(Text formatting) |
3170 | +endobj |
3171 | +601 0 obj |
3172 | +<< /S /GoTo /D (section.12.18) >> |
3173 | +endobj |
3174 | +604 0 obj |
3175 | +(Windows) |
3176 | +endobj |
3177 | +605 0 obj |
3178 | +<< /S /GoTo /D (chapter.13) >> |
3179 | +endobj |
3180 | +608 0 obj |
3181 | +(Writing Plugins) |
3182 | +endobj |
3183 | +609 0 obj |
3184 | +<< /S /GoTo /D (section.13.1) >> |
3185 | +endobj |
3186 | +612 0 obj |
3187 | +(Overview) |
3188 | +endobj |
3189 | +613 0 obj |
3190 | +<< /S /GoTo /D (section.13.2) >> |
3191 | +endobj |
3192 | +616 0 obj |
3193 | +(Support for unit testing) |
3194 | +endobj |
3195 | +617 0 obj |
3196 | +<< /S /GoTo /D (section.13.3) >> |
3197 | +endobj |
3198 | +620 0 obj |
3199 | +(Turning script buttons into plugins) |
3200 | +endobj |
3201 | +621 0 obj |
3202 | +<< /S /GoTo /D (section.13.4) >> |
3203 | +endobj |
3204 | +624 0 obj |
3205 | +(Important security warnings) |
3206 | +endobj |
3207 | +625 0 obj |
3208 | +<< /S /GoTo /D (chapter.14) >> |
3209 | +endobj |
3210 | +628 0 obj |
3211 | +(Leo and ReStructuredText) |
3212 | +endobj |
3213 | +629 0 obj |
3214 | +<< /S /GoTo /D (section.14.1) >> |
3215 | +endobj |
3216 | +632 0 obj |
3217 | +(Overview) |
3218 | +endobj |
3219 | +633 0 obj |
3220 | +<< /S /GoTo /D (section.14.2) >> |
3221 | +endobj |
3222 | +636 0 obj |
3223 | +(Power features of @rst trees) |
3224 | +endobj |
3225 | +637 0 obj |
3226 | +<< /S /GoTo /D (section.14.3) >> |
3227 | +endobj |
3228 | +640 0 obj |
3229 | +(Options) |
3230 | +endobj |
3231 | +641 0 obj |
3232 | +<< /S /GoTo /D (section.14.4) >> |
3233 | +endobj |
3234 | +644 0 obj |
3235 | +(Headline Commands) |
3236 | +endobj |
3237 | +645 0 obj |
3238 | +<< /S /GoTo /D (section.14.5) >> |
3239 | +endobj |
3240 | +648 0 obj |
3241 | +(Using doc parts) |
3242 | +endobj |
3243 | +649 0 obj |
3244 | +<< /S /GoTo /D (section.14.6) >> |
3245 | +endobj |
3246 | +652 0 obj |
3247 | +(Setting defaults) |
3248 | +endobj |
3249 | +653 0 obj |
3250 | +<< /S /GoTo /D (section.14.7) >> |
3251 | +endobj |
3252 | +656 0 obj |
3253 | +(The code-block directive) |
3254 | +endobj |
3255 | +657 0 obj |
3256 | +<< /S /GoTo /D (section.14.8) >> |
3257 | +endobj |
3258 | +660 0 obj |
3259 | +(Required cascading style sheets) |
3260 | +endobj |
3261 | +661 0 obj |
3262 | +<< /S /GoTo /D (section.14.9) >> |
3263 | +endobj |
3264 | +664 0 obj |
3265 | +(Notes about rST markup) |
3266 | +endobj |
3267 | +665 0 obj |
3268 | +<< /S /GoTo /D (section.14.10) >> |
3269 | +endobj |
3270 | +668 0 obj |
3271 | +(Examples) |
3272 | +endobj |
3273 | +669 0 obj |
3274 | +<< /S /GoTo /D (section.14.11) >> |
3275 | +endobj |
3276 | +672 0 obj |
3277 | +(Theory of operation) |
3278 | +endobj |
3279 | +673 0 obj |
3280 | +<< /S /GoTo /D (section.14.12) >> |
3281 | +endobj |
3282 | +676 0 obj |
3283 | +(Controlling the rst3 command from scripts) |
3284 | +endobj |
3285 | +677 0 obj |
3286 | +<< /S /GoTo /D (section.14.13) >> |
3287 | +endobj |
3288 | +680 0 obj |
3289 | +(Acknowledgements) |
3290 | +endobj |
3291 | +681 0 obj |
3292 | +<< /S /GoTo /D (chapter.15) >> |
3293 | +endobj |
3294 | +684 0 obj |
3295 | +(Controlling Syntax Coloring) |
3296 | +endobj |
3297 | +685 0 obj |
3298 | +<< /S /GoTo /D (section.15.1) >> |
3299 | +endobj |
3300 | +688 0 obj |
3301 | +(Files) |
3302 | +endobj |
3303 | +689 0 obj |
3304 | +<< /S /GoTo /D (section.15.2) >> |
3305 | +endobj |
3306 | +692 0 obj |
3307 | +(The colorizer's inner loop) |
3308 | +endobj |
3309 | +693 0 obj |
3310 | +<< /S /GoTo /D (section.15.3) >> |
3311 | +endobj |
3312 | +696 0 obj |
3313 | +(Format of colorizer control files) |
3314 | +endobj |
3315 | +697 0 obj |
3316 | +<< /S /GoTo /D (section.15.4) >> |
3317 | +endobj |
3318 | +700 0 obj |
3319 | +(Rule methods) |
3320 | +endobj |
3321 | +701 0 obj |
3322 | +<< /S /GoTo /D (section.15.5) >> |
3323 | +endobj |
3324 | +704 0 obj |
3325 | +(Syntax coloring settings) |
3326 | +endobj |
3327 | +705 0 obj |
3328 | +<< /S /GoTo /D (section.15.6) >> |
3329 | +endobj |
3330 | +708 0 obj |
3331 | +(The threading\137colorizer plugin) |
3332 | +endobj |
3333 | +709 0 obj |
3334 | +<< /S /GoTo /D (chapter.16) >> |
3335 | +endobj |
3336 | +712 0 obj |
3337 | +(Debugging with Leo) |
3338 | +endobj |
3339 | +713 0 obj |
3340 | +<< /S /GoTo /D (section.16.1) >> |
3341 | +endobj |
3342 | +716 0 obj |
3343 | +(Using g.trace and g.pdb) |
3344 | +endobj |
3345 | +717 0 obj |
3346 | +<< /S /GoTo /D (section.16.2) >> |
3347 | +endobj |
3348 | +720 0 obj |
3349 | +(Settings for winpdb) |
3350 | +endobj |
3351 | +721 0 obj |
3352 | +<< /S /GoTo /D (section.16.3) >> |
3353 | +endobj |
3354 | +724 0 obj |
3355 | +(Debugging scripts with winpdb) |
3356 | +endobj |
3357 | +725 0 obj |
3358 | +<< /S /GoTo /D (chapter.17) >> |
3359 | +endobj |
3360 | +728 0 obj |
3361 | +(Using ZODB with Leo) |
3362 | +endobj |
3363 | +729 0 obj |
3364 | +<< /S /GoTo /D (section.17.1) >> |
3365 | +endobj |
3366 | +732 0 obj |
3367 | +(Configuring Leo to use zodb) |
3368 | +endobj |
3369 | +733 0 obj |
3370 | +<< /S /GoTo /D (section.17.2) >> |
3371 | +endobj |
3372 | +736 0 obj |
3373 | +(Initing zodb) |
3374 | +endobj |
3375 | +737 0 obj |
3376 | +<< /S /GoTo /D (section.17.3) >> |
3377 | +endobj |
3378 | +740 0 obj |
3379 | +(Writing data to zodb) |
3380 | +endobj |
3381 | +741 0 obj |
3382 | +<< /S /GoTo /D (section.17.4) >> |
3383 | +endobj |
3384 | +744 0 obj |
3385 | +(Defining zodb keys) |
3386 | +endobj |
3387 | +745 0 obj |
3388 | +<< /S /GoTo /D (section.17.5) >> |
3389 | +endobj |
3390 | +748 0 obj |
3391 | +(Reading data from zodb) |
3392 | +endobj |
3393 | +749 0 obj |
3394 | +<< /S /GoTo /D (section.17.6) >> |
3395 | +endobj |
3396 | +752 0 obj |
3397 | +(About connections) |
3398 | +endobj |
3399 | +753 0 obj |
3400 | +<< /S /GoTo /D (section.17.7) >> |
3401 | +endobj |
3402 | +756 0 obj |
3403 | +(Convenience routines) |
3404 | +endobj |
3405 | +757 0 obj |
3406 | +<< /S /GoTo /D (chapter.18) >> |
3407 | +endobj |
3408 | +760 0 obj |
3409 | +(Leo and Emacs) |
3410 | +endobj |
3411 | +761 0 obj |
3412 | +<< /S /GoTo /D (section.18.1) >> |
3413 | +endobj |
3414 | +764 0 obj |
3415 | +(Controlling Leo from Emacs using Pymacs) |
3416 | +endobj |
3417 | +765 0 obj |
3418 | +<< /S /GoTo /D (section.18.2) >> |
3419 | +endobj |
3420 | +768 0 obj |
3421 | +(Functions in leoPymacs.py) |
3422 | +endobj |
3423 | +769 0 obj |
3424 | +<< /S /GoTo /D (section.18.3) >> |
3425 | +endobj |
3426 | +772 0 obj |
3427 | +(The minibuffer) |
3428 | +endobj |
3429 | +773 0 obj |
3430 | +<< /S /GoTo /D (chapter.19) >> |
3431 | +endobj |
3432 | +776 0 obj |
3433 | +(Embedding Leo with the leoBridge module) |
3434 | +endobj |
3435 | +777 0 obj |
3436 | +<< /S /GoTo /D (section.19.1) >> |
3437 | +endobj |
3438 | +780 0 obj |
3439 | +(The basics) |
3440 | +endobj |
3441 | +781 0 obj |
3442 | +<< /S /GoTo /D (section.19.2) >> |
3443 | +endobj |
3444 | +784 0 obj |
3445 | +(Running leoBridge from within Leo) |
3446 | +endobj |
3447 | +785 0 obj |
3448 | +<< /S /GoTo /D (chapter.20) >> |
3449 | +endobj |
3450 | +788 0 obj |
3451 | +(Unit testing with Leo) |
3452 | +endobj |
3453 | +789 0 obj |
3454 | +<< /S /GoTo /D (section.20.1) >> |
3455 | +endobj |
3456 | +792 0 obj |
3457 | +(Overview) |
3458 | +endobj |
3459 | +793 0 obj |
3460 | +<< /S /GoTo /D (section.20.2) >> |
3461 | +endobj |
3462 | +796 0 obj |
3463 | +(Using @test nodes) |
3464 | +endobj |
3465 | +797 0 obj |
3466 | +<< /S /GoTo /D (section.20.3) >> |
3467 | +endobj |
3468 | +800 0 obj |
3469 | +(Using @suite nodes) |
3470 | +endobj |
3471 | +801 0 obj |
3472 | +<< /S /GoTo /D (section.20.4) >> |
3473 | +endobj |
3474 | +804 0 obj |
3475 | +(How the unit test commands work) |
3476 | +endobj |
3477 | +805 0 obj |
3478 | +<< /S /GoTo /D (section.20.5) >> |
3479 | +endobj |
3480 | +808 0 obj |
3481 | +(@button timer) |
3482 | +endobj |
3483 | +809 0 obj |
3484 | +<< /S /GoTo /D (section.20.6) >> |
3485 | +endobj |
3486 | +812 0 obj |
3487 | +(@button profile) |
3488 | +endobj |
3489 | +813 0 obj |
3490 | +<< /S /GoTo /D (chapter.21) >> |
3491 | +endobj |
3492 | +816 0 obj |
3493 | +(IPython and Leo) |
3494 | +endobj |
3495 | +817 0 obj |
3496 | +<< /S /GoTo /D (section.21.1) >> |
3497 | +endobj |
3498 | +820 0 obj |
3499 | +(Introduction) |
3500 | +endobj |
3501 | +821 0 obj |
3502 | +<< /S /GoTo /D (section.21.2) >> |
3503 | +endobj |
3504 | +824 0 obj |
3505 | +(Installation and startup) |
3506 | +endobj |
3507 | +825 0 obj |
3508 | +<< /S /GoTo /D (section.21.3) >> |
3509 | +endobj |
3510 | +828 0 obj |
3511 | +(Accessing IPython from Leo) |
3512 | +endobj |
3513 | +829 0 obj |
3514 | +<< /S /GoTo /D (section.21.4) >> |
3515 | +endobj |
3516 | +832 0 obj |
3517 | +(Accessing Leo nodes from IPython) |
3518 | +endobj |
3519 | +833 0 obj |
3520 | +<< /S /GoTo /D (section.21.5) >> |
3521 | +endobj |
3522 | +836 0 obj |
3523 | +(@cl definitions) |
3524 | +endobj |
3525 | +837 0 obj |
3526 | +<< /S /GoTo /D (section.21.6) >> |
3527 | +endobj |
3528 | +840 0 obj |
3529 | +(Special node types) |
3530 | +endobj |
3531 | +841 0 obj |
3532 | +<< /S /GoTo /D (section.21.7) >> |
3533 | +endobj |
3534 | +844 0 obj |
3535 | +(Launching ILeo from IPython) |
3536 | +endobj |
3537 | +845 0 obj |
3538 | +<< /S /GoTo /D (section.21.8) >> |
3539 | +endobj |
3540 | +848 0 obj |
3541 | +(Declaring custom push-to-ipython handlers) |
3542 | +endobj |
3543 | +849 0 obj |
3544 | +<< /S /GoTo /D (section.21.9) >> |
3545 | +endobj |
3546 | +852 0 obj |
3547 | +(Example code snippets) |
3548 | +endobj |
3549 | +853 0 obj |
3550 | +<< /S /GoTo /D (section.21.10) >> |
3551 | +endobj |
3552 | +856 0 obj |
3553 | +(Example use case: pylab) |
3554 | +endobj |
3555 | +857 0 obj |
3556 | +<< /S /GoTo /D (section.21.11) >> |
3557 | +endobj |
3558 | +860 0 obj |
3559 | +(Magic functions) |
3560 | +endobj |
3561 | +861 0 obj |
3562 | +<< /S /GoTo /D (section.21.12) >> |
3563 | +endobj |
3564 | +864 0 obj |
3565 | +(Acknowledgements and history) |
3566 | +endobj |
3567 | +865 0 obj |
3568 | +<< /S /GoTo /D (chapter.22) >> |
3569 | +endobj |
3570 | +868 0 obj |
3571 | +(Using Vim Bindings with Leo) |
3572 | +endobj |
3573 | +869 0 obj |
3574 | +<< /S /GoTo /D (section.22.1) >> |
3575 | +endobj |
3576 | +872 0 obj |
3577 | +(Vim bindings) |
3578 | +endobj |
3579 | +873 0 obj |
3580 | +<< /S /GoTo /D (section.22.2) >> |
3581 | +endobj |
3582 | +876 0 obj |
3583 | +(Avoiding changes to `tag' files) |
3584 | +endobj |
3585 | +877 0 obj |
3586 | +<< /S /GoTo /D (chapter.23) >> |
3587 | +endobj |
3588 | +880 0 obj |
3589 | +(Eliminating sentinel lines with @shadow) |
3590 | +endobj |
3591 | +881 0 obj |
3592 | +<< /S /GoTo /D (section.23.1) >> |
3593 | +endobj |
3594 | +884 0 obj |
3595 | +(Overview) |
3596 | +endobj |
3597 | +885 0 obj |
3598 | +<< /S /GoTo /D (section.23.2) >> |
3599 | +endobj |
3600 | +888 0 obj |
3601 | +(Creating @shadow trees) |
3602 | +endobj |
3603 | +889 0 obj |
3604 | +<< /S /GoTo /D (section.23.3) >> |
3605 | +endobj |
3606 | +892 0 obj |
3607 | +(What the update algorithm does) |
3608 | +endobj |
3609 | +893 0 obj |
3610 | +<< /S /GoTo /D (section.23.4) >> |
3611 | +endobj |
3612 | +896 0 obj |
3613 | +(Aha: boundary cases don't matter) |
3614 | +endobj |
3615 | +897 0 obj |
3616 | +<< /S /GoTo /D (chapter.24) >> |
3617 | +endobj |
3618 | +900 0 obj |
3619 | +(Appendices) |
3620 | +endobj |
3621 | +901 0 obj |
3622 | +<< /S /GoTo /D (section.24.1) >> |
3623 | +endobj |
3624 | +904 0 obj |
3625 | +(Bugs) |
3626 | +endobj |
3627 | +905 0 obj |
3628 | +<< /S /GoTo /D (section.24.2) >> |
3629 | +endobj |
3630 | +908 0 obj |
3631 | +(Errors while tangling) |
3632 | +endobj |
3633 | +909 0 obj |
3634 | +<< /S /GoTo /D (section.24.3) >> |
3635 | +endobj |
3636 | +912 0 obj |
3637 | +(Errors while untangling) |
3638 | +endobj |
3639 | +913 0 obj |
3640 | +<< /S /GoTo /D (section.24.4) >> |
3641 | +endobj |
3642 | +916 0 obj |
3643 | +(Errors while reading @file nodes) |
3644 | +endobj |
3645 | +917 0 obj |
3646 | +<< /S /GoTo /D (section.24.5) >> |
3647 | +endobj |
3648 | +920 0 obj |
3649 | +(Errors while writing @file nodes) |
3650 | +endobj |
3651 | +921 0 obj |
3652 | +<< /S /GoTo /D (section.24.6) >> |
3653 | +endobj |
3654 | +924 0 obj |
3655 | +(Format of .leo files) |
3656 | +endobj |
3657 | +925 0 obj |
3658 | +<< /S /GoTo /D (section.24.7) >> |
3659 | +endobj |
3660 | +928 0 obj |
3661 | +(Format of external files) |
3662 | +endobj |
3663 | +929 0 obj |
3664 | +<< /S /GoTo /D (section.24.8) >> |
3665 | +endobj |
3666 | +932 0 obj |
3667 | +(Unicode reference) |
3668 | +endobj |
3669 | +933 0 obj |
3670 | +<< /S /GoTo /D (chapter.25) >> |
3671 | +endobj |
3672 | +936 0 obj |
3673 | +(What's New in Leo 4.7) |
3674 | +endobj |
3675 | +937 0 obj |
3676 | +<< /S /GoTo /D (section.25.1) >> |
3677 | +endobj |
3678 | +940 0 obj |
3679 | +(Leo supports Python 3.x) |
3680 | +endobj |
3681 | +941 0 obj |
3682 | +<< /S /GoTo /D (section.25.2) >> |
3683 | +endobj |
3684 | +944 0 obj |
3685 | +(Improved file handling) |
3686 | +endobj |
3687 | +945 0 obj |
3688 | +<< /S /GoTo /D (section.25.3) >> |
3689 | +endobj |
3690 | +948 0 obj |
3691 | +(New command-line options) |
3692 | +endobj |
3693 | +949 0 obj |
3694 | +<< /S /GoTo /D (section.25.4) >> |
3695 | +endobj |
3696 | +952 0 obj |
3697 | +(New commands) |
3698 | +endobj |
3699 | +953 0 obj |
3700 | +<< /S /GoTo /D (section.25.5) >> |
3701 | +endobj |
3702 | +956 0 obj |
3703 | +(New settings) |
3704 | +endobj |
3705 | +957 0 obj |
3706 | +<< /S /GoTo /D (section.25.6) >> |
3707 | +endobj |
3708 | +960 0 obj |
3709 | +(Improved plugins) |
3710 | +endobj |
3711 | +961 0 obj |
3712 | +<< /S /GoTo /D (chapter.26) >> |
3713 | +endobj |
3714 | +964 0 obj |
3715 | +(What's New in Leo 4.6) |
3716 | +endobj |
3717 | +965 0 obj |
3718 | +<< /S /GoTo /D (section.26.1) >> |
3719 | +endobj |
3720 | +968 0 obj |
3721 | +(Improved unit testing) |
3722 | +endobj |
3723 | +969 0 obj |
3724 | +<< /S /GoTo /D (section.26.2) >> |
3725 | +endobj |
3726 | +972 0 obj |
3727 | +(Improved file handling) |
3728 | +endobj |
3729 | +973 0 obj |
3730 | +<< /S /GoTo /D (section.26.3) >> |
3731 | +endobj |
3732 | +976 0 obj |
3733 | +(Improved handling of rST files) |
3734 | +endobj |
3735 | +977 0 obj |
3736 | +<< /S /GoTo /D (section.26.4) >> |
3737 | +endobj |
3738 | +980 0 obj |
3739 | +(New code features) |
3740 | +endobj |
3741 | +981 0 obj |
3742 | +<< /S /GoTo /D (section.26.5) >> |
3743 | +endobj |
3744 | +984 0 obj |
3745 | +(New command-line options) |
3746 | +endobj |
3747 | +985 0 obj |
3748 | +<< /S /GoTo /D (section.26.6) >> |
3749 | +endobj |
3750 | +988 0 obj |
3751 | +(New commands) |
3752 | +endobj |
3753 | +989 0 obj |
3754 | +<< /S /GoTo /D (section.26.7) >> |
3755 | +endobj |
3756 | +992 0 obj |
3757 | +(New and improved directives) |
3758 | +endobj |
3759 | +993 0 obj |
3760 | +<< /S /GoTo /D (section.26.8) >> |
3761 | +endobj |
3762 | +996 0 obj |
3763 | +(New settings) |
3764 | +endobj |
3765 | +997 0 obj |
3766 | +<< /S /GoTo /D (section.26.9) >> |
3767 | +endobj |
3768 | +1000 0 obj |
3769 | +(Plugins) |
3770 | +endobj |
3771 | +1001 0 obj |
3772 | +<< /S /GoTo /D (chapter.27) >> |
3773 | +endobj |
3774 | +1004 0 obj |
3775 | +(What's New in Leo 4.5) |
3776 | +endobj |
3777 | +1005 0 obj |
3778 | +<< /S /GoTo /D (section.27.1) >> |
3779 | +endobj |
3780 | +1008 0 obj |
3781 | +(Major new features) |
3782 | +endobj |
3783 | +1009 0 obj |
3784 | +<< /S /GoTo /D (section.27.2) >> |
3785 | +endobj |
3786 | +1012 0 obj |
3787 | +(Major code reorganizations) |
3788 | +endobj |
3789 | +1013 0 obj |
3790 | +<< /S /GoTo /D (section.27.3) >> |
3791 | +endobj |
3792 | +1016 0 obj |
3793 | +(Minor new features) |
3794 | +endobj |
3795 | +1017 0 obj |
3796 | +<< /S /GoTo /D (section.27.4) >> |
3797 | +endobj |
3798 | +1020 0 obj |
3799 | +(New settings) |
3800 | +endobj |
3801 | +1021 0 obj |
3802 | +<< /S /GoTo /D (chapter.28) >> |
3803 | +endobj |
3804 | +1024 0 obj |
3805 | +(What's New in Leo 4.4.7 and Leo 4.4.8) |
3806 | +endobj |
3807 | +1025 0 obj |
3808 | +<< /S /GoTo /D (section.28.1) >> |
3809 | +endobj |
3810 | +1028 0 obj |
3811 | +(New features) |
3812 | +endobj |
3813 | +1029 0 obj |
3814 | +<< /S /GoTo /D (section.28.2) >> |
3815 | +endobj |
3816 | +1032 0 obj |
3817 | +(New and improved plugins) |
3818 | +endobj |
3819 | +1033 0 obj |
3820 | +<< /S /GoTo /D (section.28.3) >> |
3821 | +endobj |
3822 | +1036 0 obj |
3823 | +(New settings) |
3824 | +endobj |
3825 | +1037 0 obj |
3826 | +<< /S /GoTo /D (chapter.29) >> |
3827 | +endobj |
3828 | +1040 0 obj |
3829 | +(What's New in Leo 4.4.6) |
3830 | +endobj |
3831 | +1041 0 obj |
3832 | +<< /S /GoTo /D (section.29.1) >> |
3833 | +endobj |
3834 | +1044 0 obj |
3835 | +(New commands) |
3836 | +endobj |
3837 | +1045 0 obj |
3838 | +<< /S /GoTo /D (section.29.2) >> |
3839 | +endobj |
3840 | +1048 0 obj |
3841 | +(New features) |
3842 | +endobj |
3843 | +1049 0 obj |
3844 | +<< /S /GoTo /D (section.29.3) >> |
3845 | +endobj |
3846 | +1052 0 obj |
3847 | +(New settings) |
3848 | +endobj |
3849 | +1053 0 obj |
3850 | +<< /S /GoTo /D (chapter.30) >> |
3851 | +endobj |
3852 | +1056 0 obj |
3853 | +(What's New in Leo 4.4.5) |
3854 | +endobj |
3855 | +1057 0 obj |
3856 | +<< /S /GoTo /D (section.30.1) >> |
3857 | +endobj |
3858 | +1060 0 obj |
3859 | +(Bug fixed) |
3860 | +endobj |
3861 | +1061 0 obj |
3862 | +<< /S /GoTo /D (section.30.2) >> |
3863 | +endobj |
3864 | +1064 0 obj |
3865 | +(New features) |
3866 | +endobj |
3867 | +1065 0 obj |
3868 | +<< /S /GoTo /D (section.30.3) >> |
3869 | +endobj |
3870 | +1068 0 obj |
3871 | +(New commands) |
3872 | +endobj |
3873 | +1069 0 obj |
3874 | +<< /S /GoTo /D (section.30.4) >> |
3875 | +endobj |
3876 | +1072 0 obj |
3877 | +(New settings) |
3878 | +endobj |
3879 | +1073 0 obj |
3880 | +<< /S /GoTo /D (chapter.31) >> |
3881 | +endobj |
3882 | +1076 0 obj |
3883 | +(What's New in Leo 4.4.4) |
3884 | +endobj |
3885 | +1077 0 obj |
3886 | +<< /S /GoTo /D (section.31.1) >> |
3887 | +endobj |
3888 | +1080 0 obj |
3889 | +(The Great Graph Aha) |
3890 | +endobj |
3891 | +1081 0 obj |
3892 | +<< /S /GoTo /D (section.31.2) >> |
3893 | +endobj |
3894 | +1084 0 obj |
3895 | +(Added support for @auto files) |
3896 | +endobj |
3897 | +1085 0 obj |
3898 | +<< /S /GoTo /D (section.31.3) >> |
3899 | +endobj |
3900 | +1088 0 obj |
3901 | +(New commands for resolving cvs conflicts) |
3902 | +endobj |
3903 | +1089 0 obj |
3904 | +<< /S /GoTo /D (section.31.4) >> |
3905 | +endobj |
3906 | +1092 0 obj |
3907 | +(New kinds of settings trees) |
3908 | +endobj |
3909 | +1093 0 obj |
3910 | +<< /S /GoTo /D (section.31.5) >> |
3911 | +endobj |
3912 | +1096 0 obj |
3913 | +(New plugins) |
3914 | +endobj |
3915 | +1097 0 obj |
3916 | +<< /S /GoTo /D (section.31.6) >> |
3917 | +endobj |
3918 | +1100 0 obj |
3919 | +(Leo's core is now compatible with jython) |
3920 | +endobj |
3921 | +1101 0 obj |
3922 | +<< /S /GoTo /D (section.31.7) >> |
3923 | +endobj |
3924 | +1104 0 obj |
3925 | +(Improved prototype for icons in headlines) |
3926 | +endobj |
3927 | +1105 0 obj |
3928 | +<< /S /GoTo /D (section.31.8) >> |
3929 | +endobj |
3930 | +1108 0 obj |
3931 | +(Minor improvements) |
3932 | +endobj |
3933 | +1109 0 obj |
3934 | +<< /S /GoTo /D (section.31.9) >> |
3935 | +endobj |
3936 | +1112 0 obj |
3937 | +(Summary of new commands) |
3938 | +endobj |
3939 | +1113 0 obj |
3940 | +<< /S /GoTo /D (chapter.32) >> |
3941 | +endobj |
3942 | +1116 0 obj |
3943 | +(What's New in Leo 4.4.3) |
3944 | +endobj |
3945 | +1117 0 obj |
3946 | +<< /S /GoTo /D (section.32.1) >> |
3947 | +endobj |
3948 | +1120 0 obj |
3949 | +(Important new features) |
3950 | +endobj |
3951 | +1121 0 obj |
3952 | +<< /S /GoTo /D (section.32.2) >> |
3953 | +endobj |
3954 | +1124 0 obj |
3955 | +(New commands) |
3956 | +endobj |
3957 | +1125 0 obj |
3958 | +<< /S /GoTo /D (section.32.3) >> |
3959 | +endobj |
3960 | +1128 0 obj |
3961 | +(New settings) |
3962 | +endobj |
3963 | +1129 0 obj |
3964 | +<< /S /GoTo /D (section.32.4) >> |
3965 | +endobj |
3966 | +1132 0 obj |
3967 | +(Plugins) |
3968 | +endobj |
3969 | +1133 0 obj |
3970 | +<< /S /GoTo /D (section.32.5) >> |
3971 | +endobj |
3972 | +1136 0 obj |
3973 | +(Minor improvements) |
3974 | +endobj |
3975 | +1137 0 obj |
3976 | +<< /S /GoTo /D (chapter.33) >> |
3977 | +endobj |
3978 | +1140 0 obj |
3979 | +(What's New in Leo 4.4.2) |
3980 | +endobj |
3981 | +1141 0 obj |
3982 | +<< /S /GoTo /D (section.33.1) >> |
3983 | +endobj |
3984 | +1144 0 obj |
3985 | +(A major code reorg) |
3986 | +endobj |
3987 | +1145 0 obj |
3988 | +<< /S /GoTo /D (section.33.2) >> |
3989 | +endobj |
3990 | +1148 0 obj |
3991 | +(New commands) |
3992 | +endobj |
3993 | +1149 0 obj |
3994 | +<< /S /GoTo /D (section.33.3) >> |
3995 | +endobj |
3996 | +1152 0 obj |
3997 | +(New features) |
3998 | +endobj |
3999 | +1153 0 obj |
4000 | +<< /S /GoTo /D (section.33.4) >> |
4001 | +endobj |
4002 | +1156 0 obj |
4003 | +(New and improved plugins) |
4004 | +endobj |
4005 | +1157 0 obj |
4006 | +<< /S /GoTo /D (section.33.5) >> |
4007 | +endobj |
4008 | +1160 0 obj |
4009 | +(Settings) |
4010 | +endobj |
4011 | +1161 0 obj |
4012 | +<< /S /GoTo /D (section.33.6) >> |
4013 | +endobj |
4014 | +1164 0 obj |
4015 | +(ZODB scripting) |
4016 | +endobj |
4017 | +1165 0 obj |
4018 | +<< /S /GoTo /D (chapter.34) >> |
4019 | +endobj |
4020 | +1168 0 obj |
4021 | +(What's New in Leo 4.4.1) |
4022 | +endobj |
4023 | +1169 0 obj |
4024 | +<< /S /GoTo /D (section.34.1) >> |
4025 | +endobj |
4026 | +1172 0 obj |
4027 | +(New commands) |
4028 | +endobj |
4029 | +1173 0 obj |
4030 | +<< /S /GoTo /D (section.34.2) >> |
4031 | +endobj |
4032 | +1176 0 obj |
4033 | +(New features) |
4034 | +endobj |
4035 | +1177 0 obj |
4036 | +<< /S /GoTo /D (section.34.3) >> |
4037 | +endobj |
4038 | +1180 0 obj |
4039 | +(New and improved plugins) |
4040 | +endobj |
4041 | +1181 0 obj |
4042 | +<< /S /GoTo /D (section.34.4) >> |
4043 | +endobj |
4044 | +1184 0 obj |
4045 | +(New settings) |
4046 | +endobj |
4047 | +1185 0 obj |
4048 | +<< /S /GoTo /D (section.34.5) >> |
4049 | +endobj |
4050 | +1188 0 obj |
4051 | +(Improved settings) |
4052 | +endobj |
4053 | +1189 0 obj |
4054 | +<< /S /GoTo /D (section.34.6) >> |
4055 | +endobj |
4056 | +1192 0 obj |
4057 | +(Minor improvements) |
4058 | +endobj |
4059 | +1193 0 obj |
4060 | +<< /S /GoTo /D (chapter.35) >> |
4061 | +endobj |
4062 | +1196 0 obj |
4063 | +(What's New in Leo 4.4) |
4064 | +endobj |
4065 | +1197 0 obj |
4066 | +<< /S /GoTo /D (section.35.1) >> |
4067 | +endobj |
4068 | +1200 0 obj |
4069 | +(New commands) |
4070 | +endobj |
4071 | +1201 0 obj |
4072 | +<< /S /GoTo /D (section.35.2) >> |
4073 | +endobj |
4074 | +1204 0 obj |
4075 | +(New features) |
4076 | +endobj |
4077 | +1205 0 obj |
4078 | +<< /S /GoTo /D (section.35.3) >> |
4079 | +endobj |
4080 | +1208 0 obj |
4081 | +(Added new convenience methods for scripts and plugins) |
4082 | +endobj |
4083 | +1209 0 obj |
4084 | +<< /S /GoTo /D (section.35.4) >> |
4085 | +endobj |
4086 | +1212 0 obj |
4087 | +(New and improved plugins) |
4088 | +endobj |
4089 | +1213 0 obj |
4090 | +<< /S /GoTo /D (section.35.5) >> |
4091 | +endobj |
4092 | +1216 0 obj |
4093 | +(New and improved settings) |
4094 | +endobj |
4095 | +1217 0 obj |
4096 | +<< /S /GoTo /D (chapter.36) >> |
4097 | +endobj |
4098 | +1220 0 obj |
4099 | +(Indices and tables) |
4100 | +endobj |
4101 | +1221 0 obj |
4102 | +<< /S /GoTo /D [1222 0 R /Fit ] >> |
4103 | +endobj |
4104 | +1224 0 obj << |
4105 | +/Length 267 |
4106 | +/Filter /FlateDecode |
4107 | +>> |
4108 | +stream |
4109 | +xÚ½�=OÄ0 |
4110 | †÷ü |
4111 | +�DŒ�ï¬HÒG·»*Zn q |
4112 | 'þ=.©(;CbçÕë'ÖKp ‚+Ese¹ ¢�2¦ |
4113 | £¢Y|R„ÒÍçx€ïÏÍù×ë×â:£ |
4114 | ~Ú{»'èDY‹=ç §OÏÎ3š¤à^Ý-ý |
4115 | +AK |
4116 | +z‰á¢Qç—&�qSdh |
4117 | ÁÅŒ†œÄå�‚�¦ƒmuÓ¿Ôûf-Þ |
4118 | |
4119 | Ñ°w“WgÂä |
4120 | hŠwÓ}ûÖ×"¦J¸zGdžÛa¤ B+ŠæÈh/€UW³¯Ní±6Tu…s�¥núv, ËÀŒÙ{3�BB—d)`"[@·í»Lyª˜ÏJcˆiÿ“ϪQWZu… |
4121 | +endstream |
4122 | +endobj |
4123 | +1222 0 obj << |
4124 | +/Type /Page |
4125 | +/Contents 1224 0 R |
4126 | +/Resources 1223 0 R |
4127 | +/MediaBox [0 0 595.276 841.89] |
4128 | +/Parent 1230 0 R |
4129 | +>> endobj |
4130 | +1225 0 obj << |
4131 | +/D [1222 0 R /XYZ 72 794.796 null] |
4132 | +>> endobj |
4133 | +1226 0 obj << |
4134 | +/D [1222 0 R /XYZ 72 769.89 null] |
4135 | +>> endobj |
4136 | +1223 0 obj << |
4137 | +/Font << /F28 1227 0 R /F29 1228 0 R /F31 1229 0 R >> |
4138 | +/ProcSet [ /PDF /Text ] |
4139 | +>> endobj |
4140 | +1233 0 obj << |
4141 | +/Length 19 |
4142 | +/Filter /FlateDecode |
4143 | +>> |
4144 | +stream |
4145 | +xÚ3PHW0Ppç2ÀA c(á |
4146 | +endstream |
4147 | +endobj |
4148 | +1232 0 obj << |
4149 | +/Type /Page |
4150 | +/Contents 1233 0 R |
4151 | +/Resources 1231 0 R |
4152 | +/MediaBox [0 0 595.276 841.89] |
4153 | +/Parent 1230 0 R |
4154 | +>> endobj |
4155 | +1234 0 obj << |
4156 | +/D [1232 0 R /XYZ 72 794.796 null] |
4157 | +>> endobj |
4158 | +1231 0 obj << |
4159 | +/ProcSet [ /PDF ] |
4160 | +>> endobj |
4161 | +1278 0 obj << |
4162 | +/Length 1468 |
4163 | +/Filter /FlateDecode |
4164 | +>> |
4165 | +stream |
4166 | +xÚí›]SÛ8†ïó+|·öÌÆH²eËW;,K[:¥Ð¦;Óí…±E¢Á‘‚?J鯯Œd‡Ø�¥‹ÜnÁ7XQŒäñ£stΫ`Í-`½œ }ýs6Ùy�ˆ…|7$!´fç–G7ò‰à"X³Ôúhï |
4167 | ½�í¿��8Ÿf¯'² |
4168 | ¸^èË¿> ¬\ŽÖë|ÿRŽíA+r£ |
4169 | çÜšz ¸ øÖ4‚n€õØ»ÉÂöUFÓ9]R^j |
4170 | ý�ÖÇ)&Èv�)à]ü(zü(� ±Ol¸Ñûpœòö)„n„±"÷†Šß |
4171 | Œí™" |
4172 | ìÙj¼a åíÎM<<Büé¥M’Û6 }iîÒ$‘ |
4173 | ‰{œ;�Øô<N:}?pQ$GS÷yßé¬i3ÀÆtq©VჀMÅ*£êó®zõá$¾f|®¿8•þ¹ |
4174 | +»/E˜`?Î[5/¦³âÕ¤L¯ùœÖžësýØ"«J&xœ_wǾÁ…�Íy¯M–±º |
4175 | µ%q¡Þñu¹|gvÁxIs}ój•±$®‰wŸ2 |
4176 | Ã'‰fÁ |
4177 | 0Î+þ»ji |
4178 | ƒØ¦\¿û4eIYû‚Î#y! |
4179 | Më¿` |
4180 | ¶© ðh�ð |
4181 | ;˨»RvFóó*S=í÷"¿ˆŒô~2½¢ZÑüLµå¶›1.½`—GÓû_2ä�Í/¡Y&,½¯ |
4182 | |
4183 | öB• Ž1Ê#0†¦1*l%åi¡Ýf"–2>.iË7ÕVÊd?“ž5_eL†+q©£˜U.æy¼\nÙ7e¼ü+Pø!/ü |
4184 | ß—Š¤ªå õÝt•Bd=‚d´ |
4185 | ó º‘b½— |
4186 | ½Ô+žÒ¼(¥i´ £8¿m=7F¥‡¹.Jºì)N¡G~YÛ^?ÊNäk^‡tWr{ѶB |
4187 | 6ç4í8©õ |
4188 | Ò°V"/å |
4189 | ]™�§eƒâ|Þ¤¤—•�»‚ëöfÄ >?ýÁdÀ6 ȇÈp/œØ»Ž�íw]º |
4190 | ôz�Ôå}¸^m.—´,[÷¹Ed |
4191 | "ülWÕ�Ë |
4192 | @-õz†¼Å—Þ:Ë#Î�qúÆöâ8ç-ÌRoÌU#[n¡ë‡þÒ |
4193 | HSRô+¥„écŽ…¨2 |
4194 | . |
4195 | ¨Ëém¤7�Ž/C°r¡>�}Íwæ¬ÜYÌwŠÏ|'ù\üÑ#O¼§ |
4196 | UÝ |
4197 | %@ö åN{B¬êL›¥êìzT{\u"HÆiÖGäôËB††6�Ó¢urû_JšóXç/XF{™ |
4198 | +ÉèãÌù8SË^U”bɾÞ|Ïà |
4199 | ã#CgŽ‡m¶êêŽ3'6Mœ]VÛ¬ÑYc‰ I–¹¨ÎšJ |
4200 | uˆmGª!G“4ŽÑ7§œr–ˆT#<(Š-A2frCq |
4201 | Dý µªãÈIäÔÿš´wÔ UƒôJƒný<^í)nó¦üé²bùöšMŸøãªú®åä™òîÐEV§DóÕÑá¾Öç%¶¤ýb5ïÉIƒ™¿A^žæµ‘x6ŠS |
4202 | “t6G�o¯¾ô$ÿÀ |
4203 | lH`¾¶Í;oà9Œ“£Õü»\E£ÜB £„JIÉ4<Uæ×Ïb |
4204 | ž"==^ž1^�æ¥Ò“8¹X«ÛÍÙ~z« |
4205 | 4«e[ͤºòbKEn}P÷lH |
4206 | Ĭ |
4207 | C�è}Åù½IxL1 |
4208 | Ú˜oÌÆÈ] UÝu.–P‰à…hT‚«ÖEö¶²àùù=sL¢{™0½I�Åe¢O|–uÖß+Yc¾-”°1J8Sò ½Ýv‹ÕºâiÝL4¹p °û…Ô‘>Ÿm X=ƒ´~2[t�ëfN„ìJ&¿,Îî—RÂ! |
4209 | +kP+¥t²óeÜXúÝ~6"pÜA¿o‘™ªµCªr¤~ÑV”.cžö³üÄ+i†Ö9°Ò×ýÙäreXÐ |
4210 | +‘…}¡•,'?+•Ý¯k‚±®nnZZ>†. |
4211 | +Ùά“É»ö×îkŸ–/m"…™mÌ.gý€pŠ |
4212 | +endstream |
4213 | +endobj |
4214 | +1277 0 obj << |
4215 | +/Type /Page |
4216 | +/Contents 1278 0 R |
4217 | +/Resources 1276 0 R |
4218 | +/MediaBox [0 0 595.276 841.89] |
4219 | +/Parent 1230 0 R |
4220 | +/Annots [ 1235 0 R 1236 0 R 1237 0 R 1238 0 R 1239 0 R 1240 0 R 1241 0 R 1242 0 R 1243 0 R 1244 0 R 1245 0 R 1246 0 R 1247 0 R 1248 0 R 1249 0 R 1250 0 R 1251 0 R 1252 0 R 1253 0 R 1254 0 R 1255 0 R 1256 0 R 1257 0 R 1258 0 R 1259 0 R 1260 0 R 1261 0 R 1262 0 R 1263 0 R 1264 0 R 1265 0 R 1266 0 R 1267 0 R 1268 0 R 1269 0 R 1270 0 R 1271 0 R 1272 0 R 1273 0 R 1274 0 R ] |
4221 | +>> endobj |
4222 | +1235 0 obj << |
4223 | +/Type /Annot |
4224 | +/Border[0 0 0]/H/I/C[1 0 0] |
4225 | +/Rect [85.948 585.417 166.824 596.321] |
4226 | +/Subtype /Link |
4227 | +/A << /S /GoTo /D (chapter*.1) >> |
4228 | +>> endobj |
4229 | +1236 0 obj << |
4230 | +/Type /Annot |
4231 | +/Border[0 0 0]/H/I/C[1 0 0] |
4232 | +/Rect [85.948 575.519 164.303 584.365] |
4233 | +/Subtype /Link |
4234 | +/A << /S /GoTo /D (chapter*.1) >> |
4235 | +>> endobj |
4236 | +1237 0 obj << |
4237 | +/Type /Annot |
4238 | +/Border[0 0 0]/H/I/C[1 0 0] |
4239 | +/Rect [71.004 553.581 104.896 562.557] |
4240 | +/Subtype /Link |
4241 | +/A << /S /GoTo /D (chapter*.2) >> |
4242 | +>> endobj |
4243 | +1238 0 obj << |
4244 | +/Type /Annot |
4245 | +/Border[0 0 0]/H/I/C[1 0 0] |
4246 | +/Rect [71.004 529.76 224.547 540.639] |
4247 | +/Subtype /Link |
4248 | +/A << /S /GoTo /D (chapter*.3) >> |
4249 | +>> endobj |
4250 | +1239 0 obj << |
4251 | +/Type /Annot |
4252 | +/Border[0 0 0]/H/I/C[1 0 0] |
4253 | +/Rect [85.948 517.671 168.288 528.575] |
4254 | +/Subtype /Link |
4255 | +/A << /S /GoTo /D (section*.4) >> |
4256 | +>> endobj |
4257 | +1240 0 obj << |
4258 | +/Type /Annot |
4259 | +/Border[0 0 0]/H/I/C[1 0 0] |
4260 | +/Rect [85.948 505.716 269.487 516.619] |
4261 | +/Subtype /Link |
4262 | +/A << /S /GoTo /D (section*.4) >> |
4263 | +>> endobj |
4264 | +1241 0 obj << |
4265 | +/Type /Annot |
4266 | +/Border[0 0 0]/H/I/C[1 0 0] |
4267 | +/Rect [85.948 493.76 191.302 504.664] |
4268 | +/Subtype /Link |
4269 | +/A << /S /GoTo /D (section*.4) >> |
4270 | +>> endobj |
4271 | +1242 0 obj << |
4272 | +/Type /Annot |
4273 | +/Border[0 0 0]/H/I/C[1 0 0] |
4274 | +/Rect [85.948 481.805 211.496 492.709] |
4275 | +/Subtype /Link |
4276 | +/A << /S /GoTo /D (section*.4) >> |
4277 | +>> endobj |
4278 | +1243 0 obj << |
4279 | +/Type /Annot |
4280 | +/Border[0 0 0]/H/I/C[1 0 0] |
4281 | +/Rect [85.948 469.85 182.016 480.754] |
4282 | +/Subtype /Link |
4283 | +/A << /S /GoTo /D (section*.4) >> |
4284 | +>> endobj |
4285 | +1244 0 obj << |
4286 | +/Type /Annot |
4287 | +/Border[0 0 0]/H/I/C[1 0 0] |
4288 | +/Rect [85.948 459.952 182.973 468.799] |
4289 | +/Subtype /Link |
4290 | +/A << /S /GoTo /D (section*.4) >> |
4291 | +>> endobj |
4292 | +1245 0 obj << |
4293 | +/Type /Annot |
4294 | +/Border[0 0 0]/H/I/C[1 0 0] |
4295 | +/Rect [85.948 445.94 326.592 456.844] |
4296 | +/Subtype /Link |
4297 | +/A << /S /GoTo /D (section*.4) >> |
4298 | +>> endobj |
4299 | +1246 0 obj << |
4300 | +/Type /Annot |
4301 | +/Border[0 0 0]/H/I/C[1 0 0] |
4302 | +/Rect [85.948 433.984 228.233 444.888] |
4303 | +/Subtype /Link |
4304 | +/A << /S /GoTo /D (section*.4) >> |
4305 | +>> endobj |
4306 | +1247 0 obj << |
4307 | +/Type /Annot |
4308 | +/Border[0 0 0]/H/I/C[1 0 0] |
4309 | +/Rect [85.948 422.029 299.764 432.933] |
4310 | +/Subtype /Link |
4311 | +/A << /S /GoTo /D (section*.4) >> |
4312 | +>> endobj |
4313 | +1248 0 obj << |
4314 | +/Type /Annot |
4315 | +/Border[0 0 0]/H/I/C[1 0 0] |
4316 | +/Rect [85.948 410.074 276.651 420.978] |
4317 | +/Subtype /Link |
4318 | +/A << /S /GoTo /D (section*.4) >> |
4319 | +>> endobj |
4320 | +1249 0 obj << |
4321 | +/Type /Annot |
4322 | +/Border[0 0 0]/H/I/C[1 0 0] |
4323 | +/Rect [85.948 398.119 152.687 409.023] |
4324 | +/Subtype /Link |
4325 | +/A << /S /GoTo /D (section*.4) >> |
4326 | +>> endobj |
4327 | +1250 0 obj << |
4328 | +/Type /Annot |
4329 | +/Border[0 0 0]/H/I/C[1 0 0] |
4330 | +/Rect [71.004 376.625 92.682 387.215] |
4331 | +/Subtype /Link |
4332 | +/A << /S /GoTo /D (chapter*.5) >> |
4333 | +>> endobj |
4334 | +1251 0 obj << |
4335 | +/Type /Annot |
4336 | +/Border[0 0 0]/H/I/C[1 0 0] |
4337 | +/Rect [85.948 364.246 135.81 375.15] |
4338 | +/Subtype /Link |
4339 | +/A << /S /GoTo /D (section*.6) >> |
4340 | +>> endobj |
4341 | +1252 0 obj << |
4342 | +/Type /Annot |
4343 | +/Border[0 0 0]/H/I/C[1 0 0] |
4344 | +/Rect [85.948 352.291 143.561 363.195] |
4345 | +/Subtype /Link |
4346 | +/A << /S /GoTo /D (Item.10) >> |
4347 | +>> endobj |
4348 | +1253 0 obj << |
4349 | +/Type /Annot |
4350 | +/Border[0 0 0]/H/I/C[1 0 0] |
4351 | +/Rect [85.948 340.336 167.9 351.24] |
4352 | +/Subtype /Link |
4353 | +/A << /S /GoTo /D (Item.10) >> |
4354 | +>> endobj |
4355 | +1254 0 obj << |
4356 | +/Type /Annot |
4357 | +/Border[0 0 0]/H/I/C[1 0 0] |
4358 | +/Rect [85.948 328.381 279.889 339.284] |
4359 | +/Subtype /Link |
4360 | +/A << /S /GoTo /D (Item.10) >> |
4361 | +>> endobj |
4362 | +1255 0 obj << |
4363 | +/Type /Annot |
4364 | +/Border[0 0 0]/H/I/C[1 0 0] |
4365 | +/Rect [85.948 316.425 304.108 327.329] |
4366 | +/Subtype /Link |
4367 | +/A << /S /GoTo /D (Item.10) >> |
4368 | +>> endobj |
4369 | +1256 0 obj << |
4370 | +/Type /Annot |
4371 | +/Border[0 0 0]/H/I/C[1 0 0] |
4372 | +/Rect [85.948 304.47 169.852 315.374] |
4373 | +/Subtype /Link |
4374 | +/A << /S /GoTo /D (Item.10) >> |
4375 | +>> endobj |
4376 | +1257 0 obj << |
4377 | +/Type /Annot |
4378 | +/Border[0 0 0]/H/I/C[1 0 0] |
4379 | +/Rect [85.948 292.515 156.851 303.419] |
4380 | +/Subtype /Link |
4381 | +/A << /S /GoTo /D (Item.10) >> |
4382 | +>> endobj |
4383 | +1258 0 obj << |
4384 | +/Type /Annot |
4385 | +/Border[0 0 0]/H/I/C[1 0 0] |
4386 | +/Rect [85.948 280.56 169.902 291.464] |
4387 | +/Subtype /Link |
4388 | +/A << /S /GoTo /D (Item.15) >> |
4389 | +>> endobj |
4390 | +1259 0 obj << |
4391 | +/Type /Annot |
4392 | +/Border[0 0 0]/H/I/C[1 0 0] |
4393 | +/Rect [85.948 268.605 157.608 279.509] |
4394 | +/Subtype /Link |
4395 | +/A << /S /GoTo /D (Item.40) >> |
4396 | +>> endobj |
4397 | +1260 0 obj << |
4398 | +/Type /Annot |
4399 | +/Border[0 0 0]/H/I/C[1 0 0] |
4400 | +/Rect [85.948 258.707 148.532 267.553] |
4401 | +/Subtype /Link |
4402 | +/A << /S /GoTo /D (Item.45) >> |
4403 | +>> endobj |
4404 | +1261 0 obj << |
4405 | +/Type /Annot |
4406 | +/Border[0 0 0]/H/I/C[1 0 0] |
4407 | +/Rect [71.004 234.866 146.898 245.745] |
4408 | +/Subtype /Link |
4409 | +/A << /S /GoTo /D (chapter.1) >> |
4410 | +>> endobj |
4411 | +1262 0 obj << |
4412 | +/Type /Annot |
4413 | +/Border[0 0 0]/H/I/C[1 0 0] |
4414 | +/Rect [85.948 222.777 197.688 233.68] |
4415 | +/Subtype /Link |
4416 | +/A << /S /GoTo /D (section.1.1) >> |
4417 | +>> endobj |
4418 | +1263 0 obj << |
4419 | +/Type /Annot |
4420 | +/Border[0 0 0]/H/I/C[1 0 0] |
4421 | +/Rect [85.948 210.821 206.256 221.725] |
4422 | +/Subtype /Link |
4423 | +/A << /S /GoTo /D (section.1.2) >> |
4424 | +>> endobj |
4425 | +1264 0 obj << |
4426 | +/Type /Annot |
4427 | +/Border[0 0 0]/H/I/C[1 0 0] |
4428 | +/Rect [85.948 200.923 226.779 209.77] |
4429 | +/Subtype /Link |
4430 | +/A << /S /GoTo /D (section.1.3) >> |
4431 | +>> endobj |
4432 | +1265 0 obj << |
4433 | +/Type /Annot |
4434 | +/Border[0 0 0]/H/I/C[1 0 0] |
4435 | +/Rect [85.948 186.911 224.527 197.815] |
4436 | +/Subtype /Link |
4437 | +/A << /S /GoTo /D (section.1.4) >> |
4438 | +>> endobj |
4439 | +1266 0 obj << |
4440 | +/Type /Annot |
4441 | +/Border[0 0 0]/H/I/C[1 0 0] |
4442 | +/Rect [85.948 174.956 221.947 185.86] |
4443 | +/Subtype /Link |
4444 | +/A << /S /GoTo /D (section.1.5) >> |
4445 | +>> endobj |
4446 | +1267 0 obj << |
4447 | +/Type /Annot |
4448 | +/Border[0 0 0]/H/I/C[1 0 0] |
4449 | +/Rect [85.948 163.001 249.354 173.905] |
4450 | +/Subtype /Link |
4451 | +/A << /S /GoTo /D (section.1.6) >> |
4452 | +>> endobj |
4453 | +1268 0 obj << |
4454 | +/Type /Annot |
4455 | +/Border[0 0 0]/H/I/C[1 0 0] |
4456 | +/Rect [85.948 151.046 166.147 161.949] |
4457 | +/Subtype /Link |
4458 | +/A << /S /GoTo /D (section.1.7) >> |
4459 | +>> endobj |
4460 | +1269 0 obj << |
4461 | +/Type /Annot |
4462 | +/Border[0 0 0]/H/I/C[1 0 0] |
4463 | +/Rect [85.948 139.09 262.186 149.994] |
4464 | +/Subtype /Link |
4465 | +/A << /S /GoTo /D (section.1.8) >> |
4466 | +>> endobj |
4467 | +1270 0 obj << |
4468 | +/Type /Annot |
4469 | +/Border[0 0 0]/H/I/C[1 0 0] |
4470 | +/Rect [85.948 127.135 225.085 138.039] |
4471 | +/Subtype /Link |
4472 | +/A << /S /GoTo /D (section.1.9) >> |
4473 | +>> endobj |
4474 | +1271 0 obj << |
4475 | +/Type /Annot |
4476 | +/Border[0 0 0]/H/I/C[1 0 0] |
4477 | +/Rect [85.948 115.18 267.893 126.084] |
4478 | +/Subtype /Link |
4479 | +/A << /S /GoTo /D (section.1.10) >> |
4480 | +>> endobj |
4481 | +1272 0 obj << |
4482 | +/Type /Annot |
4483 | +/Border[0 0 0]/H/I/C[1 0 0] |
4484 | +/Rect [71.004 95.3 160.089 104.276] |
4485 | +/Subtype /Link |
4486 | +/A << /S /GoTo /D (chapter.2) >> |
4487 | +>> endobj |
4488 | +1273 0 obj << |
4489 | +/Type /Annot |
4490 | +/Border[0 0 0]/H/I/C[1 0 0] |
4491 | +/Rect [85.948 83.364 192.737 92.211] |
4492 | +/Subtype /Link |
4493 | +/A << /S /GoTo /D (section.2.1) >> |
4494 | +>> endobj |
4495 | +1274 0 obj << |
4496 | +/Type /Annot |
4497 | +/Border[0 0 0]/H/I/C[1 0 0] |
4498 | +/Rect [85.948 71.29 189.389 80.256] |
4499 | +/Subtype /Link |
4500 | +/A << /S /GoTo /D (section.2.2) >> |
4501 | +>> endobj |
4502 | +6 0 obj << |
4503 | +/D [1277 0 R /XYZ 72 600.215 null] |
4504 | +>> endobj |
4505 | +1276 0 obj << |
4506 | +/Font << /F28 1227 0 R /F31 1229 0 R /F38 1279 0 R >> |
4507 | +/ProcSet [ /PDF /Text ] |
4508 | +>> endobj |
4509 | +1336 0 obj << |
4510 | +/Length 1879 |
4511 | +/Filter /FlateDecode |
4512 | +>> |
4513 | +stream |
4514 | +xÚíœßw›6ÇßóWð´ÙçÌ |
4515 | �$ÄžÚä$iwÚµKÓ“‡®Ä(¶V@ |
4516 | p²î¯Ÿ0’l#’懜&5/1ÇÆúè^Ýû½Wöœ™ã9Ç{žzt}�8ž„Pü…;¥¸`œ<9ÞÛ?Ýûõ( NäFØÇÎé…C°Aè„HœòCç4q>�|7O@€¼Ñá¿5-ó8 |
4517 | O|ñì/ÏóSZµOâ<i^Ôs–·‡9OÄåϧ¿ë[s>MFîx‚<ï>À(zÀ¿wFx�Œ‚hãôíÙ‰—O p#„%() |
4518 | ”4®Y>k!Ð1@£ë¹]”<k�ø¢NYnƒ¡¿ˆúØ@Ϥؤ<WCÿSûpÉèØG£+cà}‚Ÿ¯¥<²iÝDÑ·FKŠoyI¥Û;fÓ |
4519 | &¬¤Óš5,/›3-)p€vKhÁC¡a-”Ð>LKV4~ñ—Mǘ'ÚWêElº¨jž±ÿô•7”~à |
4520 | p�КñÅa‘eqùµûq€ |
4521 | òv[0£›("k#IñhQÖsZ¶ÖQÕ‹ÄDÂï�Pød-ÀŸ ¸Œð'¾À |
4522 | +H‹µ‰ï=ñÑ+íðÞõFƒ7 �x²ü?¶—ïr3ëÙÆúØ |
4523 | p´9ÉÈI&o¢½£šÆ5MÌ| |
4524 | ÓÌÂü |
4525 | +-¹ˆÀõ%½}.œÂMè O_o�`d� Ê÷ß²jJÓ4Î)_Ñ, ƒÛñ!o‹Ž |
4526 | JÇ~V²•"ð¾ |
4527 | 2â³2Îd&ª›ž(7ð=à�Pð0G¯îm}šAíæ_¶Ÿ¾_2zÑ Ä_çñtº(…÷hŸ¿b"0/¥[á«ÛnÅ |
4528 | ^ª¯¸üzYó�;_(|¬8ó®3¦wr–lj¯¼©é�^TßVŒ~O1DšË³LäMâ}xnÊ!|FæÚ;êÐRò µ'}×J¥{äPV2Ú˜ÎßB„wÇ…n‡�¶ |
4529 | ¥šžÐ |
4530 | ZÒ|J%š8Mï!ñÀ é±É Yã¤Ô³Ãý–FƺÛIç¶c¼Í¤™I§XÈ |
4531 | áH†%b™ |
4532 | ”YBò1G8´“ UL²¨¹X抔6‹œ¡äëaËV¶‰Vq�pØ5+*Ó#��ÕI›²HSÅK§sð‹ž��} ^4Ë®X£»·€Á�‡Ú€H¬A„]ˆG,•Goi¾0¢Yo¨sZ †–²¤c- |
4533 | ð0aõõ Q„r FÖ,wn(é½FˆýÞ}¨‘Àµ°Kíl |
4534 | q.áKÍàzx j÷‚‡¬Á#]x¯hZÜ€ |
4535 | �aÑûŽ o“¡b™¡j}Y«¥oXMW¢ôš Þ§8ûoB¶�®b�®žÍÇh$uÄ×íCʾŒA£æöÞñõúxHv»#“ØÊf°ÎM_;p=›^gEÉQi‰w€h`k0‚a |
4536 | Ìã|¦ÔʇÿÁ—êÏfµé¶€|=éÑï |
4537 | ïh‹þ4”þTwâu\±z.Gõk=7U· ˆG°ïHCíH—$BJ‚Ìx%–¼”Çüüo:ͲL |
4538 | |
4539 | öu3Ka{pzj·ú¾¤ mj“9Mn |
4540 | áÕw‚¦ |
4541 | L¹ß™«¼ìU)<©ò¸¼ãyS.½CçÔTŒÂݵÌ|kÌ”�…{¥óÐ7¬ªe‘t…‹)?©–I]?åÍÕ^“83K¦øéí/±XµHC©rÇ´îià¨ÖÏÎiœ¬ô |
4542 | ýšsÝ‘WË&£°õd7û؈n,ÂÀ·‡Ñ3êkÝ©Ñ8 |
4543 | Âh×ú¢À%¢ |
4544 | æÕ¢Ô |
4545 | êy,G½àkû–Zdj'ÏeãÛâ”™]ª |
4546 | ëŠF:€SZÙËUkÍ”�ZñU[qêVB<,þ�gOjÃÇé8@£2nJ±²—mÕ·qýÖQ0ÄÝ÷âñÞxB£�E²Ö÷©·jZRÚÓß2TƒîH |
4547 | Û#Zb¯ó¦üsÙX |
4548 | ÿ¢ÉMUSTgûvµUÌ=§ |
4549 | `l�ñ[01Ÿ |
4550 | õ |
4551 | |
4552 | /6/ÔÂÌL]‚ �‹ô°µ(=8úCð¢Tݽ¦�`hÕmÀ„öì¶`Žùt-ÔÖ»3–’]ß®ëFƒ_-QÉÒ7 |
4553 | |
4554 | ñгMK-=ê |
4555 | úŽLªöû¤”§ü<N+·�¾Í_,ØÙeƒØc‚[&‡mÜœË-&{’Š(ÚÐÃ"8t<-€a |
4556 | p£r¨ë,^/³ó¢© |
4557 | ® |
4558 | o‘'<>O |
4559 | b´³at€g¯² H‹ç„Êý9kii±¸õúñ,·³nŒo/@‹Z0»O•Ý$L5tk�¨k>u|nÆÊ |
4560 | |
4561 | ÒÎ-ÐÒfä{7¥� ‹žÊØ,ª…„™ÛT‰f |
4562 | &c¹4®L=ÈC?t Ý"±§½ùZ ¨hÙ“ã$´Ùž¤N³i�ZJ~€>Ã-˜�EFR8èþdTS¸®º�-=^ïŠ%3j®GÁÁVîÂAªgc" |
4563 | W¹ò\ëƒolßÝ´§"®ç&ˆg�Û„Ô‘läãáéÞ?{@ |
4564 | zpBßAÐõqèL³½OŸ='§o¨EĹZ¾(s ®bqœ:öþl~Ô_oo} ¿¥ÊØÆ'‹Oü¦õ‚ |
4565 | +endstream |
4566 | +endobj |
4567 | +1335 0 obj << |
4568 | +/Type /Page |
4569 | +/Contents 1336 0 R |
4570 | +/Resources 1334 0 R |
4571 | +/MediaBox [0 0 595.276 841.89] |
4572 | +/Parent 1230 0 R |
4573 | +/Annots [ 1275 0 R 1280 0 R 1281 0 R 1282 0 R 1283 0 R 1284 0 R 1285 0 R 1286 0 R 1287 0 R 1288 0 R 1289 0 R 1290 0 R 1291 0 R 1292 0 R 1293 0 R 1294 0 R 1295 0 R 1296 0 R 1297 0 R 1298 0 R 1299 0 R 1300 0 R 1301 0 R 1302 0 R 1303 0 R 1304 0 R 1305 0 R 1306 0 R 1307 0 R 1308 0 R 1309 0 R 1310 0 R 1311 0 R 1312 0 R 1313 0 R 1314 0 R 1315 0 R 1316 0 R 1317 0 R 1318 0 R 1319 0 R 1320 0 R 1321 0 R 1322 0 R 1323 0 R 1324 0 R 1325 0 R 1326 0 R 1327 0 R 1328 0 R 1329 0 R 1330 0 R 1331 0 R 1332 0 R ] |
4574 | +>> endobj |
4575 | +1275 0 obj << |
4576 | +/Type /Annot |
4577 | +/Border[0 0 0]/H/I/C[1 0 0] |
4578 | +/Rect [85.948 758.712 236.472 767.678] |
4579 | +/Subtype /Link |
4580 | +/A << /S /GoTo /D (section.2.3) >> |
4581 | +>> endobj |
4582 | +1280 0 obj << |
4583 | +/Type /Annot |
4584 | +/Border[0 0 0]/H/I/C[1 0 0] |
4585 | +/Rect [85.948 744.819 257.582 755.723] |
4586 | +/Subtype /Link |
4587 | +/A << /S /GoTo /D (section.2.4) >> |
4588 | +>> endobj |
4589 | +1281 0 obj << |
4590 | +/Type /Annot |
4591 | +/Border[0 0 0]/H/I/C[1 0 0] |
4592 | +/Rect [85.948 734.921 177.245 743.768] |
4593 | +/Subtype /Link |
4594 | +/A << /S /GoTo /D (section.2.5) >> |
4595 | +>> endobj |
4596 | +1282 0 obj << |
4597 | +/Type /Annot |
4598 | +/Border[0 0 0]/H/I/C[1 0 0] |
4599 | +/Rect [85.948 722.966 200.876 731.812] |
4600 | +/Subtype /Link |
4601 | +/A << /S /GoTo /D (section.2.6) >> |
4602 | +>> endobj |
4603 | +1283 0 obj << |
4604 | +/Type /Annot |
4605 | +/Border[0 0 0]/H/I/C[1 0 0] |
4606 | +/Rect [85.948 708.953 280.556 719.857] |
4607 | +/Subtype /Link |
4608 | +/A << /S /GoTo /D (section.2.7) >> |
4609 | +>> endobj |
4610 | +1284 0 obj << |
4611 | +/Type /Annot |
4612 | +/Border[0 0 0]/H/I/C[1 0 0] |
4613 | +/Rect [85.948 696.998 152.587 707.902] |
4614 | +/Subtype /Link |
4615 | +/A << /S /GoTo /D (section.2.8) >> |
4616 | +>> endobj |
4617 | +1285 0 obj << |
4618 | +/Type /Annot |
4619 | +/Border[0 0 0]/H/I/C[1 0 0] |
4620 | +/Rect [85.948 685.043 167.252 695.947] |
4621 | +/Subtype /Link |
4622 | +/A << /S /GoTo /D (section.2.9) >> |
4623 | +>> endobj |
4624 | +1286 0 obj << |
4625 | +/Type /Annot |
4626 | +/Border[0 0 0]/H/I/C[1 0 0] |
4627 | +/Rect [71.004 663.26 150.774 674.139] |
4628 | +/Subtype /Link |
4629 | +/A << /S /GoTo /D (chapter.3) >> |
4630 | +>> endobj |
4631 | +1287 0 obj << |
4632 | +/Type /Annot |
4633 | +/Border[0 0 0]/H/I/C[1 0 0] |
4634 | +/Rect [85.948 653.227 176.657 662.074] |
4635 | +/Subtype /Link |
4636 | +/A << /S /GoTo /D (section.3.1) >> |
4637 | +>> endobj |
4638 | +1288 0 obj << |
4639 | +/Type /Annot |
4640 | +/Border[0 0 0]/H/I/C[1 0 0] |
4641 | +/Rect [85.948 639.215 168.358 650.119] |
4642 | +/Subtype /Link |
4643 | +/A << /S /GoTo /D (section.3.2) >> |
4644 | +>> endobj |
4645 | +1289 0 obj << |
4646 | +/Type /Annot |
4647 | +/Border[0 0 0]/H/I/C[1 0 0] |
4648 | +/Rect [85.948 629.317 171.396 638.164] |
4649 | +/Subtype /Link |
4650 | +/A << /S /GoTo /D (section.3.3) >> |
4651 | +>> endobj |
4652 | +1290 0 obj << |
4653 | +/Type /Annot |
4654 | +/Border[0 0 0]/H/I/C[1 0 0] |
4655 | +/Rect [71.004 605.476 195.406 616.355] |
4656 | +/Subtype /Link |
4657 | +/A << /S /GoTo /D (chapter.4) >> |
4658 | +>> endobj |
4659 | +1291 0 obj << |
4660 | +/Type /Annot |
4661 | +/Border[0 0 0]/H/I/C[1 0 0] |
4662 | +/Rect [85.948 593.387 337.393 604.291] |
4663 | +/Subtype /Link |
4664 | +/A << /S /GoTo /D (section.4.1) >> |
4665 | +>> endobj |
4666 | +1292 0 obj << |
4667 | +/Type /Annot |
4668 | +/Border[0 0 0]/H/I/C[1 0 0] |
4669 | +/Rect [85.948 581.432 319.33 592.336] |
4670 | +/Subtype /Link |
4671 | +/A << /S /GoTo /D (section.4.2) >> |
4672 | +>> endobj |
4673 | +1293 0 obj << |
4674 | +/Type /Annot |
4675 | +/Border[0 0 0]/H/I/C[1 0 0] |
4676 | +/Rect [85.948 569.476 247.281 580.38] |
4677 | +/Subtype /Link |
4678 | +/A << /S /GoTo /D (section.4.3) >> |
4679 | +>> endobj |
4680 | +1294 0 obj << |
4681 | +/Type /Annot |
4682 | +/Border[0 0 0]/H/I/C[1 0 0] |
4683 | +/Rect [85.948 559.579 235.495 568.425] |
4684 | +/Subtype /Link |
4685 | +/A << /S /GoTo /D (section.4.4) >> |
4686 | +>> endobj |
4687 | +1295 0 obj << |
4688 | +/Type /Annot |
4689 | +/Border[0 0 0]/H/I/C[1 0 0] |
4690 | +/Rect [85.948 547.623 167.252 556.47] |
4691 | +/Subtype /Link |
4692 | +/A << /S /GoTo /D (section.4.5) >> |
4693 | +>> endobj |
4694 | +1296 0 obj << |
4695 | +/Type /Annot |
4696 | +/Border[0 0 0]/H/I/C[1 0 0] |
4697 | +/Rect [71.004 523.783 188.861 534.662] |
4698 | +/Subtype /Link |
4699 | +/A << /S /GoTo /D (chapter.5) >> |
4700 | +>> endobj |
4701 | +1297 0 obj << |
4702 | +/Type /Annot |
4703 | +/Border[0 0 0]/H/I/C[1 0 0] |
4704 | +/Rect [85.948 511.693 178.6 522.597] |
4705 | +/Subtype /Link |
4706 | +/A << /S /GoTo /D (section.5.1) >> |
4707 | +>> endobj |
4708 | +1298 0 obj << |
4709 | +/Type /Annot |
4710 | +/Border[0 0 0]/H/I/C[1 0 0] |
4711 | +/Rect [85.948 499.738 144.846 510.642] |
4712 | +/Subtype /Link |
4713 | +/A << /S /GoTo /D (section.5.2) >> |
4714 | +>> endobj |
4715 | +1299 0 obj << |
4716 | +/Type /Annot |
4717 | +/Border[0 0 0]/H/I/C[1 0 0] |
4718 | +/Rect [85.948 489.84 173.987 498.687] |
4719 | +/Subtype /Link |
4720 | +/A << /S /GoTo /D (section.5.3) >> |
4721 | +>> endobj |
4722 | +1300 0 obj << |
4723 | +/Type /Annot |
4724 | +/Border[0 0 0]/H/I/C[1 0 0] |
4725 | +/Rect [85.948 477.885 173.06 486.732] |
4726 | +/Subtype /Link |
4727 | +/A << /S /GoTo /D (section.5.4) >> |
4728 | +>> endobj |
4729 | +1301 0 obj << |
4730 | +/Type /Annot |
4731 | +/Border[0 0 0]/H/I/C[1 0 0] |
4732 | +/Rect [85.948 465.81 174.166 474.776] |
4733 | +/Subtype /Link |
4734 | +/A << /S /GoTo /D (section.5.5) >> |
4735 | +>> endobj |
4736 | +1302 0 obj << |
4737 | +/Type /Annot |
4738 | +/Border[0 0 0]/H/I/C[1 0 0] |
4739 | +/Rect [85.948 453.975 187.446 462.821] |
4740 | +/Subtype /Link |
4741 | +/A << /S /GoTo /D (section.5.6) >> |
4742 | +>> endobj |
4743 | +1303 0 obj << |
4744 | +/Type /Annot |
4745 | +/Border[0 0 0]/H/I/C[1 0 0] |
4746 | +/Rect [85.948 442.019 191.223 450.866] |
4747 | +/Subtype /Link |
4748 | +/A << /S /GoTo /D (section.5.7) >> |
4749 | +>> endobj |
4750 | +1304 0 obj << |
4751 | +/Type /Annot |
4752 | +/Border[0 0 0]/H/I/C[1 0 0] |
4753 | +/Rect [85.948 428.007 176.926 438.911] |
4754 | +/Subtype /Link |
4755 | +/A << /S /GoTo /D (section.5.8) >> |
4756 | +>> endobj |
4757 | +1305 0 obj << |
4758 | +/Type /Annot |
4759 | +/Border[0 0 0]/H/I/C[1 0 0] |
4760 | +/Rect [71.004 406.224 221.409 417.103] |
4761 | +/Subtype /Link |
4762 | +/A << /S /GoTo /D (chapter.6) >> |
4763 | +>> endobj |
4764 | +1306 0 obj << |
4765 | +/Type /Annot |
4766 | +/Border[0 0 0]/H/I/C[1 0 0] |
4767 | +/Rect [85.948 394.134 247.062 405.038] |
4768 | +/Subtype /Link |
4769 | +/A << /S /GoTo /D (section.6.1) >> |
4770 | +>> endobj |
4771 | +1307 0 obj << |
4772 | +/Type /Annot |
4773 | +/Border[0 0 0]/H/I/C[1 0 0] |
4774 | +/Rect [85.948 382.179 281.523 393.083] |
4775 | +/Subtype /Link |
4776 | +/A << /S /GoTo /D (section.6.2) >> |
4777 | +>> endobj |
4778 | +1308 0 obj << |
4779 | +/Type /Annot |
4780 | +/Border[0 0 0]/H/I/C[1 0 0] |
4781 | +/Rect [85.948 370.224 334.125 381.128] |
4782 | +/Subtype /Link |
4783 | +/A << /S /GoTo /D (section.6.3) >> |
4784 | +>> endobj |
4785 | +1309 0 obj << |
4786 | +/Type /Annot |
4787 | +/Border[0 0 0]/H/I/C[1 0 0] |
4788 | +/Rect [71.004 348.44 200.029 359.319] |
4789 | +/Subtype /Link |
4790 | +/A << /S /GoTo /D (chapter.7) >> |
4791 | +>> endobj |
4792 | +1310 0 obj << |
4793 | +/Type /Annot |
4794 | +/Border[0 0 0]/H/I/C[1 0 0] |
4795 | +/Rect [85.948 336.351 217.623 347.255] |
4796 | +/Subtype /Link |
4797 | +/A << /S /GoTo /D (section.7.1) >> |
4798 | +>> endobj |
4799 | +1311 0 obj << |
4800 | +/Type /Annot |
4801 | +/Border[0 0 0]/H/I/C[1 0 0] |
4802 | +/Rect [85.948 324.395 187.167 335.299] |
4803 | +/Subtype /Link |
4804 | +/A << /S /GoTo /D (section.7.2) >> |
4805 | +>> endobj |
4806 | +1312 0 obj << |
4807 | +/Type /Annot |
4808 | +/Border[0 0 0]/H/I/C[1 0 0] |
4809 | +/Rect [85.948 312.44 217.882 323.344] |
4810 | +/Subtype /Link |
4811 | +/A << /S /GoTo /D (section.7.3) >> |
4812 | +>> endobj |
4813 | +1313 0 obj << |
4814 | +/Type /Annot |
4815 | +/Border[0 0 0]/H/I/C[1 0 0] |
4816 | +/Rect [85.948 300.485 285.477 311.389] |
4817 | +/Subtype /Link |
4818 | +/A << /S /GoTo /D (section.7.4) >> |
4819 | +>> endobj |
4820 | +1314 0 obj << |
4821 | +/Type /Annot |
4822 | +/Border[0 0 0]/H/I/C[1 0 0] |
4823 | +/Rect [85.948 288.53 282.489 299.434] |
4824 | +/Subtype /Link |
4825 | +/A << /S /GoTo /D (section.7.5) >> |
4826 | +>> endobj |
4827 | +1315 0 obj << |
4828 | +/Type /Annot |
4829 | +/Border[0 0 0]/H/I/C[1 0 0] |
4830 | +/Rect [85.948 276.575 262.295 287.479] |
4831 | +/Subtype /Link |
4832 | +/A << /S /GoTo /D (section.7.6) >> |
4833 | +>> endobj |
4834 | +1316 0 obj << |
4835 | +/Type /Annot |
4836 | +/Border[0 0 0]/H/I/C[1 0 0] |
4837 | +/Rect [85.948 264.62 242.549 275.524] |
4838 | +/Subtype /Link |
4839 | +/A << /S /GoTo /D (section.7.7) >> |
4840 | +>> endobj |
4841 | +1317 0 obj << |
4842 | +/Type /Annot |
4843 | +/Border[0 0 0]/H/I/C[1 0 0] |
4844 | +/Rect [85.948 252.664 211.715 263.568] |
4845 | +/Subtype /Link |
4846 | +/A << /S /GoTo /D (section.7.8) >> |
4847 | +>> endobj |
4848 | +1318 0 obj << |
4849 | +/Type /Annot |
4850 | +/Border[0 0 0]/H/I/C[1 0 0] |
4851 | +/Rect [85.948 240.709 190.345 251.613] |
4852 | +/Subtype /Link |
4853 | +/A << /S /GoTo /D (section.7.9) >> |
4854 | +>> endobj |
4855 | +1319 0 obj << |
4856 | +/Type /Annot |
4857 | +/Border[0 0 0]/H/I/C[1 0 0] |
4858 | +/Rect [85.948 228.754 193.524 239.658] |
4859 | +/Subtype /Link |
4860 | +/A << /S /GoTo /D (section.7.10) >> |
4861 | +>> endobj |
4862 | +1320 0 obj << |
4863 | +/Type /Annot |
4864 | +/Border[0 0 0]/H/I/C[1 0 0] |
4865 | +/Rect [85.948 216.799 245.239 227.703] |
4866 | +/Subtype /Link |
4867 | +/A << /S /GoTo /D (section.7.11) >> |
4868 | +>> endobj |
4869 | +1321 0 obj << |
4870 | +/Type /Annot |
4871 | +/Border[0 0 0]/H/I/C[1 0 0] |
4872 | +/Rect [85.948 204.844 261.936 215.748] |
4873 | +/Subtype /Link |
4874 | +/A << /S /GoTo /D (section.7.12) >> |
4875 | +>> endobj |
4876 | +1322 0 obj << |
4877 | +/Type /Annot |
4878 | +/Border[0 0 0]/H/I/C[1 0 0] |
4879 | +/Rect [85.948 192.889 238.066 203.793] |
4880 | +/Subtype /Link |
4881 | +/A << /S /GoTo /D (section.7.13) >> |
4882 | +>> endobj |
4883 | +1323 0 obj << |
4884 | +/Type /Annot |
4885 | +/Border[0 0 0]/H/I/C[1 0 0] |
4886 | +/Rect [85.948 180.933 321.512 191.837] |
4887 | +/Subtype /Link |
4888 | +/A << /S /GoTo /D (section.7.14) >> |
4889 | +>> endobj |
4890 | +1324 0 obj << |
4891 | +/Type /Annot |
4892 | +/Border[0 0 0]/H/I/C[1 0 0] |
4893 | +/Rect [85.948 168.978 253.219 179.882] |
4894 | +/Subtype /Link |
4895 | +/A << /S /GoTo /D (section.7.15) >> |
4896 | +>> endobj |
4897 | +1325 0 obj << |
4898 | +/Type /Annot |
4899 | +/Border[0 0 0]/H/I/C[1 0 0] |
4900 | +/Rect [85.948 158.961 173.18 167.927] |
4901 | +/Subtype /Link |
4902 | +/A << /S /GoTo /D (section.7.16) >> |
4903 | +>> endobj |
4904 | +1326 0 obj << |
4905 | +/Type /Annot |
4906 | +/Border[0 0 0]/H/I/C[1 0 0] |
4907 | +/Rect [85.948 145.068 250.181 155.972] |
4908 | +/Subtype /Link |
4909 | +/A << /S /GoTo /D (section.7.17) >> |
4910 | +>> endobj |
4911 | +1327 0 obj << |
4912 | +/Type /Annot |
4913 | +/Border[0 0 0]/H/I/C[1 0 0] |
4914 | +/Rect [85.948 133.113 238.644 144.017] |
4915 | +/Subtype /Link |
4916 | +/A << /S /GoTo /D (section.7.18) >> |
4917 | +>> endobj |
4918 | +1328 0 obj << |
4919 | +/Type /Annot |
4920 | +/Border[0 0 0]/H/I/C[1 0 0] |
4921 | +/Rect [85.948 121.158 225.383 132.062] |
4922 | +/Subtype /Link |
4923 | +/A << /S /GoTo /D (section.7.19) >> |
4924 | +>> endobj |
4925 | +1329 0 obj << |
4926 | +/Type /Annot |
4927 | +/Border[0 0 0]/H/I/C[1 0 0] |
4928 | +/Rect [85.948 109.202 280.666 120.106] |
4929 | +/Subtype /Link |
4930 | +/A << /S /GoTo /D (section.7.20) >> |
4931 | +>> endobj |
4932 | +1330 0 obj << |
4933 | +/Type /Annot |
4934 | +/Border[0 0 0]/H/I/C[1 0 0] |
4935 | +/Rect [85.948 97.247 224.248 108.151] |
4936 | +/Subtype /Link |
4937 | +/A << /S /GoTo /D (section.7.21) >> |
4938 | +>> endobj |
4939 | +1331 0 obj << |
4940 | +/Type /Annot |
4941 | +/Border[0 0 0]/H/I/C[1 0 0] |
4942 | +/Rect [85.948 85.292 280.177 96.196] |
4943 | +/Subtype /Link |
4944 | +/A << /S /GoTo /D (section.7.22) >> |
4945 | +>> endobj |
4946 | +1332 0 obj << |
4947 | +/Type /Annot |
4948 | +/Border[0 0 0]/H/I/C[1 0 0] |
4949 | +/Rect [85.948 73.337 249.892 84.241] |
4950 | +/Subtype /Link |
4951 | +/A << /S /GoTo /D (section.7.23) >> |
4952 | +>> endobj |
4953 | +1334 0 obj << |
4954 | +/Font << /F31 1229 0 R /F38 1279 0 R /F28 1227 0 R >> |
4955 | +/ProcSet [ /PDF /Text ] |
4956 | +>> endobj |
4957 | +1393 0 obj << |
4958 | +/Length 1771 |
4959 | +/Filter /FlateDecode |
4960 | +>> |
4961 | +stream |
4962 | +xÚíœ]w›6Çïý)ØÍjN�ˆ]uyi–n}Yãžœ�®g#¶bë |
4963 | p›ìÓOXÛˆ¦Y+l7æ&†¢Ÿ |
4964 | =ý%áZ˵Îznùé@—X®ãHüDÄ·RqBûòõYïhØû马Р}è[Ãk‹øNˆ�`ñ |
4965 | ¬áØzÛ |
4966 | ˆìÁnÿb1›Eé=€â ¹–Ÿù”ÊÂGžŒU1âcY˜'ËYÂåÑ(Ž²Œfö»á³êi·ì“¾c°ëîÍ |
4967 | +ïù½ú?†H¸þÆ×÷§#. à„W |
4968 | °äpœÒ(g|"k5¥lžËò• |
4969 | Ýþ"Ï®×2÷–wé |
4970 | ÈsÈ|‰ìõ‚óŠØï4‘¦ã*ÊGSYœAT{¨ÀC |
4971 | %�1G)�”Îh¾Š+ÆsšF£œÙ÷?Ú ÷iyb¾Pñv�&³õ(Ô¢Ž`ò�)µÃů¸�¦¯ |
4972 | +ŸQ"ògòè˧µ”ôdâ¨käñ˜Ž’4Ê“´þà~ìY7Ölh®Å‡²fŸ'cv}[Uí<^L×*ôÉzŽùLK÷>˜&ܯ!äY“[€–zk |
4973 | @$ |
4974 | Ñæ�+n}¼ÈòdÆþÝh÷Oƒ<ßñ<(–¿ �çÿÏ㬫¿Ïá²ÙXˆÄy…þ›ÓÑzkÉdw©K |
4975 |