index.docbook 35.2 KB
Newer Older
Alexander Rieder's avatar
Alexander Rieder committed
1
<?xml version="1.0" ?>
Laurent Montel's avatar
Laurent Montel committed
2
<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.5-Based Variant V1.1//EN" "dtd/kdedbx45.dtd" [
Alexander Rieder's avatar
Alexander Rieder committed
3

4
  <!ENTITY latex "L<superscript>A</superscript>T<subscript>E</subscript>X">
5
  <!ENTITY % addindex "IGNORE">
6
  <!ENTITY % English "INCLUDE">
Alexander Rieder's avatar
Alexander Rieder committed
7
]>
8
<book id="cantor" lang="&language;">
Alexander Rieder's avatar
Alexander Rieder committed
9
10

<bookinfo>
Alexander Rieder's avatar
Alexander Rieder committed
11
<title>The &cantor; Handbook</title>
Alexander Rieder's avatar
Alexander Rieder committed
12
13
14
15
16
17
18
19
20
21

<authorgroup>
<author>
<personname>
<firstname>Alexander</firstname>
<surname>Rieder</surname>
</personname>
<email>alexanderrieder@gmail.com</email>
</author>
<!-- TRANS:ROLES_OF_TRANSLATORS -->
22
</authorgroup>
Alexander Rieder's avatar
Alexander Rieder committed
23
24

<copyright>
Yuri Chornoivan's avatar
Yuri Chornoivan committed
25
<year>2009</year>
Alexander Rieder's avatar
Alexander Rieder committed
26
27
28
29
<holder>Alexander Rieder</holder>
</copyright>
<legalnotice>&FDLNotice;</legalnotice>

Antoni Bella Pérez's avatar
Antoni Bella Pérez committed
30
31
<date>2020-12-16</date>
<releaseinfo>Applications 20.12</releaseinfo>
Alexander Rieder's avatar
Alexander Rieder committed
32
33
34

<abstract>
<para>
35
&cantor; is an application, aimed at providing a
Anne-Marie Mahfouf's avatar
Anne-Marie Mahfouf committed
36
nice worksheet view to other Free Software Math packages.
Alexander Rieder's avatar
Alexander Rieder committed
37
38
39
40
41
42
43
44
</para>
</abstract>

<keywordset>
<keyword>KDE</keyword>
<keyword>kdeedu</keyword>
<keyword>mathematics</keyword>
<keyword>math</keyword>
Alexander Rieder's avatar
Alexander Rieder committed
45
<keyword>Cantor</keyword>
Yuri Chornoivan's avatar
Yuri Chornoivan committed
46
<keyword>Julia</keyword>
Yuri Chornoivan's avatar
Yuri Chornoivan committed
47
<keyword>Lua</keyword>
Alexander Rieder's avatar
Alexander Rieder committed
48
<keyword>Maxima</keyword>
Yuri Chornoivan's avatar
Yuri Chornoivan committed
49
50
<keyword>Octave</keyword>
<keyword>Python</keyword>
Pino Toscano's avatar
Pino Toscano committed
51
<keyword>Qalculate</keyword>
Yuri Chornoivan's avatar
Yuri Chornoivan committed
52
53
54
<keyword>R</keyword>
<keyword>Sage</keyword>
<keyword>Scilab</keyword>
Alexander Rieder's avatar
Alexander Rieder committed
55
56
57
58
59
60
61
62
</keywordset>

</bookinfo>

<chapter id="introduction">
<title>Introduction</title>

<para>
63
64
65
&cantor; is an application to allow you to you use your favorite
mathematical applications from within an elegant &kde;-integrated
Worksheet Interface. It provides dialogs to assist with common tasks
Alexander Rieder's avatar
Alexander Rieder committed
66
67
68
69
70
and allows you to share your worksheets with others.
</para>
</chapter>

<chapter id="using-kapp">
Alexander Rieder's avatar
Alexander Rieder committed
71
<title>Using &cantor;</title>
Alexander Rieder's avatar
Alexander Rieder committed
72
73
74
75

<para>
Screenshot:
<screenshot>
76
<screeninfo>Here is a screenshot of &cantor;</screeninfo>
Alexander Rieder's avatar
Alexander Rieder committed
77
78
79
80
81
82
83
84
85
86
87
88
89
	<mediaobject>
	  <imageobject>
	    <imagedata fileref="screenshot.png" format="PNG"/>
	  </imageobject>
	  <textobject>
	    <phrase>Screenshot</phrase>
	  </textobject>
	</mediaobject>
</screenshot>
</para>


<sect1 id="kapp-features">
Alexander Rieder's avatar
Alexander Rieder committed
90
<title>&cantor; features</title>
Alexander Rieder's avatar
Alexander Rieder committed
91
<itemizedlist>
92
93
94
95
  <listitem><para>Intuitive worksheet view for evaluating expressions.</para></listitem>
  <listitem><para>Results of graph plotting shown inside the worksheet.</para></listitem>
  <listitem><para>Easy plugin-based structure to allow different backends to be added.</para></listitem>
  <listitem><para>GetHotNewStuff integration to allow example worksheets to be downloaded (or uploaded.)</para></listitem>
96
  <listitem><para>Mathematical formula typesetting using &latex;.</para></listitem>
97
98
  <listitem><para>Backend-aware syntax highlighting.</para></listitem>
  <listitem><para>Plugin-based assistant dialogs to help with common tasks, such as integrating a function, or entering a matrix.</para></listitem>
Alexander Rieder's avatar
Alexander Rieder committed
99
100
101
102
</itemizedlist>
</sect1>

<sect1 id="backends">
Alexander Rieder's avatar
Alexander Rieder committed
103
<title>The &cantor; backends</title>
Alexander Rieder's avatar
Alexander Rieder committed
104
<para>
105
106
  &cantor; offers you several choices for the backends you wish to use with it.
  The choice to make depends on what you want to achieve.
Alexander Rieder's avatar
Alexander Rieder committed
107
108
109
110
111
112
113
114
115
</para>
<para>
  Currently the following backends are available:
  <variablelist>
    <varlistentry>
      <term>Sage:</term>
      <listitem>
	<para>
	  Sage is a free open-source mathematics software system licensed under the GPL.
116
	  It combines the power of many existing open-source packages, within a common Python-based interface.
Antoni Bella Pérez's avatar
Antoni Bella Pérez committed
117
	  See <ulink url="https://sagemath.org">https://sagemath.org</ulink> for more information.
Alexander Rieder's avatar
Alexander Rieder committed
118
119
120
121
122
123
124
	</para>
	</listitem>
    </varlistentry>
    <varlistentry>
      <term>Maxima:</term>
      <listitem>
	<para>
125
	  Maxima is a system for the manipulation of symbolic and numeric expressions,
126
	  including differentiation, integration, Taylor series, Laplace transforms,
127
128
	  ordinary differential equations, systems of linear equations, polynomials, sets,
	  lists, vectors, matrices, and tensors. Maxima yields high-precision numeric results
129
	  by using exact fractions, arbitrary precision integers, and variable precision
Alexander Rieder's avatar
Alexander Rieder committed
130
	  floating point numbers. Maxima can plot functions and data in two and three dimensions.
Yuri Chornoivan's avatar
Yuri Chornoivan committed
131
	  See <ulink url="http://maxima.sourceforge.net">http://maxima.sourceforge.net</ulink> for more information.
Alexander Rieder's avatar
Alexander Rieder committed
132
133
134
135
136
137
138
139
140
141
	</para>
      </listitem>
    </varlistentry>
    <varlistentry>
      <term>R:</term>
      <listitem>
	<para>
	  R is a language and environment for statistical computing and graphics, similar to the S language and environment.
	  It provides a wide variety of statistical (linear and nonlinear modelling,
	  classical statistical tests, time-series analysis, classification, clustering, ...)
142
143
	  and graphical techniques, and is highly extensible. The S language is often the
	  vehicle of choice for research in statistical methodology,
144
	  and R provides an open-source route to this.
145
	  See <ulink url="https://www.r-project.org">https://www.r-project.org</ulink> for more information.
Alexander Rieder's avatar
Alexander Rieder committed
146
147
148
	</para>
      </listitem>
    </varlistentry>
Yuri Chornoivan's avatar
Yuri Chornoivan committed
149
150
151
152
153
154
155
156
157
    <varlistentry>
      <term>Julia:</term>
      <listitem>
	<para>
    Julia is a high-level, high-performance dynamic programming
    language for technical computing, with syntax that is familiar to users of
    other technical computing environments. It provides a sophisticated
    compiler, distributed parallel execution, numerical accuracy, and an
    extensive mathematical function library.
Antoni Bella Pérez's avatar
Antoni Bella Pérez committed
158
	  See <ulink url="https://docs.julialang.org/en/">Julia documentation</ulink> for more information.
Yuri Chornoivan's avatar
Yuri Chornoivan committed
159
160
161
	</para>
      </listitem>
    </varlistentry>
162
    <varlistentry>
163
      <term>&kalgebra;:</term>
164
165
      <listitem>
	<para>
166
	  &kalgebra; is a MathML-based graph calculator, that ships with &kde; Education project.
167
	  See <ulink url="https://edu.kde.org/kalgebra/">https://edu.kde.org/kalgebra/</ulink> for more information.
168
169
170
	  </para>
      </listitem>
    </varlistentry>
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
    <varlistentry>
      <term>Qalculate!:</term>
      <listitem>
  <para>
    Qalculate! is not your regular software replication of the cheapest
    available calculator. Qalculate! aims to make full use of the superior
    interface, power and flexibility of modern computers. The center of
    attention in Qalculate! is the expression entry. Instead of entering each
    number in a mathematical expression separately, you can directly write the
    whole expression and later modify it. The interpretation of expressions is
    flexible and fault tolerant, and if you nevertheless do something wrong,
    Qalculate! will tell you so. Not fully solvable expressions are however not
    errors. Qalculate! will simplify as far as it can and answer with an
    expression. In addition to numbers and arithmetic operators, an expression
    may contain any combination of variables, units, and functions.
186
    See <ulink url="https://qalculate.github.io/">https://qalculate.github.io/</ulink> for more information.
187
  </para>
188
189
190
  </listitem>
    </varlistentry>
    <varlistentry>
191
      <term>Python2 and Python3:</term>
192
193
194
195
196
197
198
      <listitem>
  <para>
    Python is a remarkably powerful dynamic programming language that is used
in a wide variety of application domains. There are several Python packages
to scientific programming.
  </para>
  <para>Python is distributed under Python Software Foundation license (GPL compatible).
199
    See the <ulink url="https://www.python.org/">official website</ulink> for more information.
200
201
202
203
204
205
  </para>
  <note>
    <para>
      This backend adds an additional item to the &cantor;'s main menu, <guimenu>Package</guimenu>. The only item of this menu is <menuchoice><guimenu>Package</guimenu><guimenuitem>Import Package</guimenuitem></menuchoice>. This item can be used to import Python packages to the worksheet.
    </para>
  </note>
206
    </listitem>
207
208
    </varlistentry>
    <varlistentry>
Yuri Chornoivan's avatar
Yuri Chornoivan committed
209
      <term>Scilab:</term>
210
211
212
213
214
215
      <listitem>
  <para>
    Scilab is an free software, cross-platform numerical computational package
    and a high-level, numerically oriented programming language.
  </para>
  <para>Scilab is distributed under CeCILL license (GPL compatible).
216
    See <ulink url="https://www.scilab.org/">https://www.scilab.org/</ulink> for more information.
217
218
219
  </para>
  <warning>
    <para>
220
      You need Scilab version 5.5 or higher to be installed in your system to make this backend usable.
221
222
223
224
    </para>
  </warning>
  </listitem>
    </varlistentry>
225
226
227
228
    <varlistentry>
      <term>Octave:</term>
      <listitem>
  <para>
229
    &GNU; Octave is a high-level language, primarily intended for numerical
230
231
    computations. It provides a convenient command line interface for
    solving linear and nonlinear problems numerically, and for performing other
232
233
    numerical experiments using a language that is mostly compatible with <ulink url="https://www.mathworks.com/products/matlab.html">MATLAB</ulink>.
    See <ulink url="https://www.gnu.org/software/octave/">https://www.gnu.org/software/octave/</ulink> for more information.
234
235
236
    </para>
      </listitem>
    </varlistentry>
Yuri Chornoivan's avatar
Yuri Chornoivan committed
237
238
239
240
241
242
243
    <varlistentry>
      <term>Lua:</term>
      <listitem>
  <para>
    Lua is a fast and lightweight scripting language, with a simple procedural syntax. There are several libraries in Lua aimed at math and science.
  </para>
  <para>
244
    See <ulink url="https://www.lua.org/">https://www.lua.org/</ulink> for more information.
Yuri Chornoivan's avatar
Yuri Chornoivan committed
245
246
  </para>
  <para>
247
    This backend supports <ulink url="https://luajit.org/">luajit 2</ulink>.
Yuri Chornoivan's avatar
Yuri Chornoivan committed
248
249
250
  </para>
      </listitem>
    </varlistentry>
Alexander Rieder's avatar
Alexander Rieder committed
251
252
253
254
  </variablelist>
</para>
</sect1>

Yuri Chornoivan's avatar
Yuri Chornoivan committed
255
<sect1 id="workspace">
Alexander Rieder's avatar
Alexander Rieder committed
256
<title>The &cantor; Workspace</title>
Alexander Rieder's avatar
Alexander Rieder committed
257
258
<para>
<screenshot>
Alexander Rieder's avatar
Alexander Rieder committed
259
  <screeninfo>Screenshot of the &cantor; Workspace</screeninfo>
Alexander Rieder's avatar
Alexander Rieder committed
260
261
262
263
264
  <mediaobject>
    <imageobject>
      <imagedata fileref="screenshot.png" format="PNG"/>
    </imageobject>
    <textobject>
Alexander Rieder's avatar
Alexander Rieder committed
265
      <phrase>Screenshot of the &cantor; Workspace</phrase>
Alexander Rieder's avatar
Alexander Rieder committed
266
267
268
269
270
    </textobject>
  </mediaobject>
</screenshot>
</para>
<para>
Alexander Rieder's avatar
Alexander Rieder committed
271
  The Worksheet interface of &cantor; consists of three parts:
Alexander Rieder's avatar
Alexander Rieder committed
272
  <orderedlist>
273
    <listitem><para>The tab bar, where you can switch through the open worksheets.</para></listitem>
274
    <listitem><para>A help panel, where help for a specific command is displayed if you enter <userinput>?? <replaceable>command</replaceable></userinput>, <userinput>describe(<replaceable>command</replaceable>)</userinput> or <userinput>example(<replaceable>command</replaceable>)</userinput> (<application>Maxima</application> backend).</para></listitem>
275
    <listitem><para>A Variable Manager panel where you can see the list of all available variables on the current worksheet. The Help and Variable Manager panels are shown as tabs on a sidebar of a &cantor; window. Variable manager can be used for Maxima (if enabled on <menuchoice><guimenu>Settings</guimenu><guimenuitem>Configure &cantor;...</guimenuitem></menuchoice> <guilabel>Maxima</guilabel> page), &kalgebra;, Octave, Python2, Python3, Qalculate, and Scilab backends only.</para></listitem>
276
    <listitem><para>The worksheet itself.</para></listitem>
Alexander Rieder's avatar
Alexander Rieder committed
277
278
  </orderedlist>
</para>
Yuri Chornoivan's avatar
Yuri Chornoivan committed
279
<sect2 id="worksheet">
Alexander Rieder's avatar
Alexander Rieder committed
280
281
<title>The Worksheet</title>
<para>
282
283
  The worksheet is the basic area for working with &cantor;.  Using it, you can enter
  expressions, allow the backend to perform calculations, and look at the results.
Anne-Marie Mahfouf's avatar
Anne-Marie Mahfouf committed
284
  The commands the worksheets accept depend on the chosen backend, so you should
Antoni Bella Pérez's avatar
Antoni Bella Pérez committed
285
  learn the appropriate backend syntax (the <guibutton>Show Help</guibutton> button takes you there directly).
286
  If you know the command, but you need additional information, you can type "? <replaceable>command</replaceable>",
Alexander Rieder's avatar
Alexander Rieder committed
287
  and contextual help will appear on the right of the worksheet.
Antoni Bella Pérez's avatar
Antoni Bella Pérez committed
288
  If you want to see some example worksheets, you can go to <menuchoice><guimenu>File</guimenu><guimenuitem>Download Example Worksheets</guimenuitem></menuchoice> menu item, and download worksheets other users have published.
Alexander Rieder's avatar
Alexander Rieder committed
289
</para>
290
291
292
293
294
295
<para>
  To control each command entry of the worksheet you can use control buttons shown at the right part of the worksheet when hovering the entry field with a mouse cursor. There are three basic actions for each entry: <guilabel>Evaluate Entry</guilabel> to update the result of calculations for the entry, <guilabel>Drag Entry</guilabel> to move the entry at the other place of the current worksheet and <guilabel>Remove Entry</guilabel> to remove the entry from the current worksheet.
</para>
<para>
  Font settings and alignment of worksheet entries can be changed using a toolbar above the worksheet.
</para>
Yuri Chornoivan's avatar
Yuri Chornoivan committed
296
<sect3 id="worksheet-settings">
Alexander Rieder's avatar
Alexander Rieder committed
297
298
299
300
301
302
303
  <title>Settings</title>
  <para>
    The <guimenu>Settings</guimenu> menu allows you to change some settings of the appearance of your
    current worksheet.
  </para>
  <variablelist>
    <varlistentry>
Antoni Bella Pérez's avatar
Antoni Bella Pérez committed
304
      <term>Typeset using LaTeX</term>
Alexander Rieder's avatar
Alexander Rieder committed
305
306
      <listitem>
	<para>
307
	  This setting changes the way results are presented to you. If enabled, it passes the result through
308
	  the &latex; system, to produce visually appealing formulas. For example, <quote>3*x^2*sqrt(2)*x+2/3</quote> becomes
Alexander Rieder's avatar
Alexander Rieder committed
309
310
311
312
	  <inlinemediaobject>
	      <imageobject>
		<imagedata fileref="latex_formula.png" format="PNG"/>
	      </imageobject>
Yuri Chornoivan's avatar
Yuri Chornoivan committed
313
	      <textobject><phrase>3*x^2*sqrt(2)*x+2/3</phrase></textobject>
Alexander Rieder's avatar
Alexander Rieder committed
314
315
316
317
318
319
320
321
322
	  </inlinemediaobject>
	</para>
      </listitem>
    </varlistentry>
    <varlistentry>
      <term>Syntax Highlighting</term>
      <listitem>
	<para>
	  Syntax Highlighting increases the readability of code, by highlighting
323
	  keywords, or matching brackets in different colors.
Alexander Rieder's avatar
Alexander Rieder committed
324
325
326
327
	</para>
      </listitem>
    </varlistentry>
    <varlistentry>
328
      <term>Completion</term>
Alexander Rieder's avatar
Alexander Rieder committed
329
330
      <listitem>
	<para>
Alexander Rieder's avatar
Alexander Rieder committed
331
	  When this is enabled, &cantor; will show you possible completions
Alexander Rieder's avatar
Alexander Rieder committed
332
	  for the command you are currently typing when you press the Tab-key. If there is only one choice
333
	  remaining, it will insert the rest of the command for you.
Alexander Rieder's avatar
Alexander Rieder committed
334
335
336
337
338
339
340
	</para>
      </listitem>
    </varlistentry>
  <varlistentry>
    <term>Line Numbers</term>
    <listitem>
      <para>
341
	This setting controls whether the different expressions should have a number in front.  This allows you
342
	to recall older results - in Maxima, for instance, this is done with the <quote>%O1</quote> command.
Alexander Rieder's avatar
Alexander Rieder committed
343
344
345
      </para>
    </listitem>
  </varlistentry>
346
347
348
349
350
351
352
353
  <varlistentry>
    <term>Animate Worksheet</term>
    <listitem>
      <para>
  This setting controls whether the different animations will be used to highlight changes on a worksheet.
      </para>
    </listitem>
  </varlistentry>
354
355
356
357
  <varlistentry>
    <term>Embedded Math</term>
    <listitem>
      <para>
Antoni Bella Pérez's avatar
Antoni Bella Pérez committed
358
  This setting controls whether rendering math expressions inside <literal>$$..$$</literal> in Text and &Markdown; entries is enabled by default (needs <application>pdflatex</application> installed).
359
360
361
      </para>
    </listitem>
  </varlistentry>
Yuri Chornoivan's avatar
Yuri Chornoivan committed
362
  </variablelist>
Alexander Rieder's avatar
Alexander Rieder committed
363
364
365
</sect3>
</sect2>
</sect1>
Yuri Chornoivan's avatar
Yuri Chornoivan committed
366
<sect1 id="assistant-dlgs">
Alexander Rieder's avatar
Alexander Rieder committed
367
<title>The assistant dialogs</title>
Yuri Chornoivan's avatar
Yuri Chornoivan committed
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
<para>
There are several assistant dialogs implemented in &cantor; to alleviate some basic operations.
</para>
<para>
These dialogs can be accessed using the main menu items. Each backend has its own assistant dialogs.
</para>
<sect2 id="create-matrix-dlg">
<title>The Create Matrix dialog</title>
<screenshot>
  <screeninfo>Screenshot of the &cantor; matrix creation dialog</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="create-dlg.png" format="PNG"/>
    </imageobject>
    <textobject>
      <phrase>Screenshot of the &cantor; matrix creation dialog</phrase>
    </textobject>
  </mediaobject>
</screenshot>
<para>
This dialog can be used to input matrices. You can define matrix dimensions and its elements.
</para>
<para>
It is possible to navigate between cells quickly during input using the &Tab; key.
</para>
</sect2>
<sect2 id="compute-invert-dlg">
<title>Matrix operation dialog</title>
<screenshot>
  <screeninfo>Screenshot of the &cantor; matrix input dialog</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="matrix-dlg.png" format="PNG"/>
    </imageobject>
    <textobject>
      <phrase>Screenshot of the &cantor; matrix input dialog</phrase>
    </textobject>
  </mediaobject>
</screenshot>
<para>
This dialog allows entering name of the matrix to compute its eigenvectors, eigenvalues or invert matrix. The default value (<userinput>%</userinput>) is used to refer to the previous result of calculation or input.
</para>
</sect2>
<sect2 id="calculate-derivative-dlg">
<title>Differentiation dialog</title>
<screenshot>
  <screeninfo>Screenshot of the &cantor; differentiation dialog</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="differentiate-dlg.png" format="PNG"/>
    </imageobject>
    <textobject>
      <phrase>Screenshot of the &cantor; differentiation dialog</phrase>
    </textobject>
  </mediaobject>
</screenshot>
<para>
This dialog allows entering expression of the function to differentiate, the name of the variable and the order of derivative.
</para>
</sect2>
<sect2 id="calculate-integral-dlg">
<title>Integration dialog</title>
<screenshot>
  <screeninfo>Screenshot of the &cantor; integration dialog</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="integrate-dlg.png" format="PNG"/>
    </imageobject>
    <textobject>
      <phrase>Screenshot of the &cantor; integration dialog</phrase>
    </textobject>
  </mediaobject>
</screenshot>
<para>
This dialog allows entering expression of the function to integrate, the name of the variable and the limits of integration (for the definite integral).
</para>
</sect2>
<sect2 id="calculate-solve-dlg">
<title>Solve equations dialog</title>
<screenshot>
  <screeninfo>Screenshot of the &cantor; solve equation dialog</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="solve-equations-dlg.png" format="PNG"/>
    </imageobject>
    <textobject>
      <phrase>Screenshot of the &cantor; solve equation dialog</phrase>
    </textobject>
  </mediaobject>
</screenshot>
<para>
This dialog allows entering equations to solve (each equation in a separate line) and the variables to determine (separated by the comma).
</para>
</sect2>
<sect2 id="package-import-dlg">
<title>Package import dialog</title>
<screenshot>
  <screeninfo>Screenshot of the &cantor; package import dialog</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="import-dlg.png" format="PNG"/>
    </imageobject>
    <textobject>
      <phrase>Screenshot of the &cantor; package import dialog</phrase>
    </textobject>
  </mediaobject>
</screenshot>
<para>
This dialog allows entering name of the package to import (&eg; <userinput>numpy</userinput> for Python).
</para>
</sect2>
<sect2 id="plot-dlg">
<title>Plot dialog</title>
<screenshot>
  <screeninfo>Screenshot of the &cantor; plot dialog (Functions tab)</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="plot-dlg1.png" format="PNG"/>
    </imageobject>
    <textobject>
      <phrase>Screenshot of the &cantor; plot dialog (Functions tab)</phrase>
    </textobject>
  </mediaobject>
</screenshot>
<para>
The options of this dialog are separated into two groups using tabs. The <guilabel>Functions</guilabel> tab allows entering functions to plot.
</para>
<para>
To enter new function click on the <guibutton>Add</guibutton>. Double-click on the <guilabel>Title</guilabel> cell and enter the title, then double-click on the <guilabel>Expression</guilabel> cell and enter the function expression.
</para>
<screenshot>
  <screeninfo>Screenshot of the &cantor; plot dialog (Options tab)</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="plot-dlg2.png" format="PNG"/>
    </imageobject>
    <textobject>
      <phrase>Screenshot of the &cantor; plot dialog (Options tab)</phrase>
    </textobject>
  </mediaobject>
</screenshot>
<para>
The <guilabel>Options</guilabel> tab is used to define plot and legend options. You can fine-tune almost every plot option to obtain the pleasant look of your figure.
</para>
</sect2>
<sect2 id="plot2d-dlg">
<title>Plot 2D dialog</title>
<screenshot>
  <screeninfo>Screenshot of the &cantor; plot 2D dialog</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="plot2d-dlg.png" format="PNG"/>
    </imageobject>
    <textobject>
      <phrase>Screenshot of the &cantor; plot 2D dialog</phrase>
    </textobject>
  </mediaobject>
</screenshot>
<para>
This dialog allows entering expression of the function, its variable and the limits for this variable.
</para>
</sect2>
<sect2 id="plot3d-dlg">
<title>Plot 3D dialog</title>
<screenshot>
  <screeninfo>Screenshot of the &cantor; plot 3D dialog</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="plot3d-dlg.png" format="PNG"/>
    </imageobject>
    <textobject>
      <phrase>Screenshot of the &cantor; plot 3D dialog</phrase>
    </textobject>
  </mediaobject>
</screenshot>
<para>
This dialog allows entering expression of the function, its variables and the limits for each variable.
</para>
</sect2>
Alexander Rieder's avatar
Alexander Rieder committed
547
548
</sect1>
</chapter>
Yuri Chornoivan's avatar
Yuri Chornoivan committed
549

Alexander Rieder's avatar
Alexander Rieder committed
550
551
552
553
<chapter id="commands">
<title>Command Reference</title>

<sect1 id="kapp-mainwindow">
Alexander Rieder's avatar
Alexander Rieder committed
554
<title>The main &cantor; window</title>
Alexander Rieder's avatar
Alexander Rieder committed
555

556
<para>
557
&cantor; has the common &kde; menu items, for more information read the <ulink url="help:/fundamentals/menus.html"
558
559
560
>Menu</ulink> chapter of the &kde; Fundamentals.
</para>

Yuri Chornoivan's avatar
Yuri Chornoivan committed
561
<para>Below is the list of the additional or special menu items in &cantor;. Please note that some menus are only shown for backends that have corresponding implementation.
562
563
</para>

Yuri Chornoivan's avatar
Yuri Chornoivan committed
564
<sect2 id="file-menu">
565
<title>The File Menu</title>
Alexander Rieder's avatar
Alexander Rieder committed
566
567
568
569
570
571
572
573
574
575
<para>
<variablelist>
<varlistentry>
<term><menuchoice>
<shortcut>
<keycombo action="simul">&Ctrl;<keycap>N</keycap></keycombo>
</shortcut>
<guimenu>File</guimenu>
<guimenuitem>New</guimenuitem>
</menuchoice></term>
576
577
578
579
580
581
582
583
584
585
586
587
<listitem><para><action>Creates a new worksheet with the default backend.</action></para></listitem>
</varlistentry>
<varlistentry>
<term><menuchoice>
<guimenu>File</guimenu>
<guisubmenu>New</guisubmenu>
<guimenuitem><replaceable>Backend</replaceable></guimenuitem>
</menuchoice></term>
<listitem><para><action>Creates a new worksheet with the chosen backend.</action></para></listitem>
</varlistentry>
<varlistentry>
<term><menuchoice>
Antoni Bella Pérez's avatar
Antoni Bella Pérez committed
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
<shortcut>
<keycombo action="simul">&Ctrl;<keycap>O</keycap></keycombo>
</shortcut>
<guimenu>File</guimenu>
<guimenuitem>Open...</guimenuitem>
</menuchoice></term>
<listitem><para><action>Open a supported new worksheet with the file dialog.</action></para></listitem>
</varlistentry>
<varlistentry>
<term><menuchoice>
<guimenu>File</guimenu>
<guisubmenu>Open Recent</guisubmenu>
</menuchoice></term>
<listitem><para><action>Choose a worksheet from a list of recently used files.</action></para></listitem>
</varlistentry>
<varlistentry>
<term><menuchoice>
605
606
607
608
<guimenu>File</guimenu>
<guimenuitem>Download Example Worksheets</guimenuitem>
</menuchoice></term>
<listitem><para><action>Opens the dialog to download examples uploaded by other &cantor; users with
609
 <ulink url="https://userbase.kde.org/Special:MyLanguage/Glossary#Get_Hot_New_Stuff">GetHotNewStuff</ulink>.</action></para></listitem>
610
611
612
613
614
615
616
617
</varlistentry>
<varlistentry>
<term><menuchoice>
<guimenu>File</guimenu>
<guimenuitem>Open Example</guimenuitem>
</menuchoice></term>
<listitem><para><action>Opens the dialog to choose an example to load.</action> The examples should be downloaded with <menuchoice><guimenu>File</guimenu>
<guimenuitem>Download Example Worksheets</guimenuitem></menuchoice> beforehand.</para></listitem>
Alexander Rieder's avatar
Alexander Rieder committed
618
619
620
</varlistentry>
<varlistentry>
<term><menuchoice>
621
<guimenu>File</guimenu>
622
623
624
625
626
627
628
<guimenuitem>Save Plain Text</guimenuitem>
</menuchoice></term>
<listitem><para><action>Allows saving the current worksheet as a plain text document.</action></para></listitem>
</varlistentry>
<varlistentry>
<term><menuchoice>
<guimenu>File</guimenu>
629
<guimenuitem>Export to LaTeX</guimenuitem>
630
</menuchoice></term>
631
<listitem><para><action>Allows saving the current worksheet as a &latex; document.</action></para></listitem>
632
633
634
635
636
637
638
</varlistentry>
<varlistentry>
<term><menuchoice>
<guimenu>File</guimenu>
<guimenuitem>Publish Worksheet</guimenuitem>
</menuchoice></term>
<listitem><para><action>Opens the dialog to publish your current worksheet and make it available to other &cantor; users through
639
 <ulink url="https://userbase.kde.org/Special:MyLanguage/Glossary#Get_Hot_New_Stuff">GetHotNewStuff</ulink>.</action></para></listitem>
640
641
642
643
644
645
646
647
</varlistentry>
<varlistentry>
<term><menuchoice>
<guimenu>File</guimenu>
<guimenuitem>Run Script</guimenuitem>
</menuchoice></term>
<listitem><para><action>Allows to load and run the batch scripts for the current backend.</action></para></listitem>
</varlistentry>
Alexander Rieder's avatar
Alexander Rieder committed
648
649
650
651
652
</variablelist>
</para>

</sect2>

653
654
655
656
657
<sect2 id="view-menu">
<title>The View Menu</title>
<para>
<variablelist>
<varlistentry>
Antoni Bella Pérez's avatar
Antoni Bella Pérez committed
658
<term><menuchoice><guimenu>View</guimenu><guisubmenu>Panels</guisubmenu></menuchoice></term>
Antoni Bella Pérez's avatar
Antoni Bella Pérez committed
659
660
661
662
<listitem><para>Allows you to toggle the visibility of some tabs in the sidebar. Choices are:
<variablelist>
  <varlistentry>
  <term><guimenuitem>File Browser</guimenuitem></term>
Antoni Bella Pérez's avatar
Antoni Bella Pérez committed
663
  <listitem><para><action>Toggles</action> the visibility of the <guilabel>File Browser</guilabel> tab in the sidebar.</para></listitem>
Antoni Bella Pérez's avatar
Antoni Bella Pérez committed
664
665
666
667
668
669
670
671
672
673
674
675
676
677
  </varlistentry>

  <varlistentry>
  <term><guimenuitem>Help</guimenuitem></term>
  <listitem><para><action>Toggles</action> the visibility of the <guilabel>Help</guilabel> tab in the sidebar.</para></listitem>
  </varlistentry>

  <varlistentry>
  <term><guimenuitem>Variable Manager</guimenuitem></term>
  <listitem><para><action>Toggles</action> the visibility of the <guilabel>Variable Manager</guilabel> tab in the sidebar.</para></listitem>
  </varlistentry>
</variablelist></para></listitem>
</varlistentry>
<varlistentry>
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
<term><menuchoice>
<shortcut>
<keycombo action="simul">&Ctrl;<keycap>+</keycap></keycombo>
</shortcut>
<guimenu>View</guimenu>
<guimenuitem>Zoom In</guimenuitem>
</menuchoice></term>
<listitem><para><action>Zoom in</action> the current worksheet by 10%.</para></listitem>
</varlistentry>
<varlistentry>
<term><menuchoice>
<shortcut>
<keycombo action="simul">&Ctrl;<keycap>-</keycap></keycombo>
</shortcut>
<guimenu>View</guimenu>
<guimenuitem>Zoom Out</guimenuitem>
</menuchoice></term>
<listitem><para><action>Zoom out</action> the current worksheet by 10%.</para></listitem>
</varlistentry>
<varlistentry>
<term><menuchoice>
<guimenu>View</guimenu>
<guimenuitem>Show Script Editor</guimenuitem>
</menuchoice></term>
<listitem><para><action>Opens the batch script editor window for the current backend.</action></para></listitem>
</varlistentry>
</variablelist>
</para>
</sect2>

<sect2 id="worsheet-menu">
<title>The Worksheet Menu</title>
<para>
<variablelist>
<varlistentry>
<term><menuchoice>
Antoni Bella Pérez's avatar
Antoni Bella Pérez committed
714
715
716
<shortcut>
<keycombo action="simul">&Ctrl;<keycap>E</keycap></keycombo>
</shortcut>
717
718
719
720
721
722
723
724
<guimenu>Worksheet</guimenu>
<guimenuitem>Evaluate Worksheet</guimenuitem>
</menuchoice></term>
<listitem><para><action>Triggers</action> the evaluation of the whole worksheet.</para></listitem>
</varlistentry>
<varlistentry>
<term><menuchoice>
<shortcut>
Antoni Bella Pérez's avatar
Antoni Bella Pérez committed
725
<keycombo action="simul">&Shift;&Enter;</keycombo>
726
727
728
729
730
731
732
733
734
</shortcut>
<guimenu>Worksheet</guimenu>
<guimenuitem>Evaluate Entry</guimenuitem>
</menuchoice></term>
<listitem><para><action>Triggers</action> the current entry evaluation.</para></listitem>
</varlistentry>
<varlistentry>
<term><menuchoice>
<shortcut>
Antoni Bella Pérez's avatar
Antoni Bella Pérez committed
735
<keycombo action="simul">&Ctrl;&Enter;</keycombo>
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
</shortcut>
<guimenu>Worksheet</guimenu>
<guimenuitem>Insert Command Entry</guimenuitem>
</menuchoice></term>
<listitem><para><action>Inserts a new command entry below the current cursor position.</action></para></listitem>
</varlistentry>
<varlistentry>
<term><menuchoice>
<guimenu>Worksheet</guimenu>
<guimenuitem>Insert Text Entry</guimenuitem>
</menuchoice></term>
<listitem><para><action>Inserts a new text entry below the current cursor position.</action></para></listitem>
</varlistentry>
<varlistentry>
<term><menuchoice>
<guimenu>Worksheet</guimenu>
Antoni Bella Pérez's avatar
Antoni Bella Pérez committed
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
<guimenuitem>Insert Markdown Entry</guimenuitem>
</menuchoice></term>
<listitem><para><action>Inserts a &Markdown; entry below the current cursor position.</action>.</para></listitem>
</varlistentry>
<varlistentry>
<term><menuchoice>
<guimenu>Worksheet</guimenu>
<guimenuitem>Insert LaTeX Entry</guimenuitem>
</menuchoice></term>
<listitem><para><action>Inserts a &latex; entry below the current cursor position.</action>.</para></listitem>
</varlistentry>
<varlistentry>
<term><menuchoice>
<guimenu>Worksheet</guimenu>
<guimenuitem>Insert Image</guimenuitem>
767
</menuchoice></term>
Antoni Bella Pérez's avatar
Antoni Bella Pérez committed
768
<listitem><para><action>Inserts an image below the current cursor position.</action></para></listitem>
769
770
771
772
773
774
775
776
777
778
</varlistentry>
<varlistentry>
<term><menuchoice>
<guimenu>Worksheet</guimenu>
<guimenuitem>Insert Page Break</guimenuitem>
</menuchoice></term>
<listitem><para><action>Inserts the page break below the current cursor position.</action></para></listitem>
</varlistentry>
<varlistentry>
<term><menuchoice>
Antoni Bella Pérez's avatar
Antoni Bella Pérez committed
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
<guimenu>Worksheet</guimenu>
<guimenuitem>Collapse All Results</guimenuitem>
</menuchoice></term>
<listitem><para><action>Collapse all results of the command entry.</action></para></listitem>
</varlistentry>
<varlistentry>
<term><menuchoice>
<guimenu>Worksheet</guimenu>
<guimenuitem>Expand All Results</guimenuitem>
</menuchoice></term>
<listitem><para><action>Expand all results of the command entry.</action></para></listitem>
</varlistentry>
<varlistentry>
<term><menuchoice>
<guimenu>Worksheet</guimenu>
<guimenuitem>Remove All Results</guimenuitem>
</menuchoice></term>
<listitem><para><action>Remove all results of the command entry.</action></para></listitem>
</varlistentry>
<varlistentry>
<term><menuchoice>
800
<shortcut>
Antoni Bella Pérez's avatar
Antoni Bella Pérez committed
801
<keycombo action="simul">&Shift;&Del;</keycombo>
802
803
804
805
806
807
808
809
810
811
</shortcut>
<guimenu>Worksheet</guimenu>
<guimenuitem>Remove current Entry</guimenuitem>
</menuchoice></term>
<listitem><para><action>Removes</action> current entry from the worksheet.</para></listitem>
</varlistentry>
</variablelist>
</para>
</sect2>

Yuri Chornoivan's avatar
Yuri Chornoivan committed
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
<sect2 id="linear-algebra-menu">
<title>The Linear Algebra Menu</title>
<para>
<variablelist>
<varlistentry>
<term><menuchoice>
<guimenu>Linear Algebra</guimenu>
<guimenuitem>Create Matrix</guimenuitem>
</menuchoice></term>
<listitem><para><action>Opens</action> the <link linkend="create-matrix-dlg">matrix creation assistant dialog</link>.</para></listitem>
</varlistentry>
<varlistentry>
<term><menuchoice>
<guimenu>Linear Algebra</guimenu>
<guimenuitem>Compute Eigenvalues</guimenuitem>
</menuchoice></term>
<listitem><para><action>Opens</action> the <link linkend="compute-invert-dlg">matrix name input assistant dialog</link> to compute its eigenvalues and dimensions of the multiplicities of the eigenvalues in the corresponding order.
</para></listitem>
</varlistentry>
<varlistentry>
<term><menuchoice>
<guimenu>Linear Algebra</guimenu>
<guimenuitem>Compute Eigenvectors</guimenuitem>
</menuchoice></term>
<listitem><para><action>Opens</action> the <link linkend="compute-invert-dlg">matrix name input assistant dialog</link> to compute its eigenvalues, dimensions of the multiplicities of the eigenvalues and eigenvectors in the corresponding order.
</para></listitem>
</varlistentry>
<varlistentry>
<term><menuchoice>
<guimenu>Linear Algebra</guimenu>
<guimenuitem>Invert Matrix</guimenuitem>
</menuchoice></term>
<listitem><para><action>Opens</action> the <link linkend="compute-invert-dlg">matrix name input assistant dialog</link> to find the inverse of the matrix.
</para></listitem>
</varlistentry>
</variablelist>
</para>
</sect2>

<sect2 id="calculate-menu">
<title>The Calculate Menu</title>
<para>
<variablelist>
<varlistentry>
<term><menuchoice>
<guimenu>Calculate</guimenu>
<guimenuitem>Differentiate</guimenuitem>
</menuchoice></term>
<listitem><para><action>Opens</action> the <link linkend="calculate-derivative-dlg">differentiation parameters dialog</link>.
</para></listitem>
</varlistentry>
<varlistentry>
<term><menuchoice>
<guimenu>Calculate</guimenu>
<guimenuitem>Integrate</guimenuitem>
</menuchoice></term>
<listitem><para><action>Opens</action> the <link linkend="calculate-integral-dlg">integration parameters dialog</link>.
</para></listitem>
</varlistentry>
<varlistentry>
<term><menuchoice>
<guimenu>Calculate</guimenu>
<guimenuitem>Solve equations</guimenuitem>
</menuchoice></term>
<listitem><para><action>Opens</action> the <link linkend="calculate-solve-dlg">parameters input dialog</link> to solve linear and non-linear equations.
</para></listitem>
</varlistentry>
</variablelist>
</para>
</sect2>

<sect2 id="package-menu">
<title>The Package Menu</title>
<para>
<variablelist>
<varlistentry>
<term><menuchoice>
<guimenu>Package</guimenu>
<guimenuitem>Import Package</guimenuitem>
</menuchoice></term>
<listitem><para><action>Opens</action> the <link linkend="package-import-dlg">package import dialog</link>.
</para></listitem>
</varlistentry>
</variablelist>
</para>
</sect2>

<sect2 id="plot-menu">
<title>The Plot Menu</title>
<para>
<variablelist>
<varlistentry>
<term><menuchoice>
<guimenu>Plot</guimenu>
<guimenuitem>Plot</guimenuitem>
</menuchoice></term>
Yuri Chornoivan's avatar
Yuri Chornoivan committed
908
<listitem><para><action>Opens</action> the <link linkend="plot-dlg">plot parameters dialog</link>.
Yuri Chornoivan's avatar
Yuri Chornoivan committed
909
910
911
912
913
914
915
</para></listitem>
</varlistentry>
<varlistentry>
<term><menuchoice>
<guimenu>Plot</guimenu>
<guimenuitem>Plot 2D</guimenuitem>
</menuchoice></term>
Yuri Chornoivan's avatar
Yuri Chornoivan committed
916
<listitem><para><action>Opens</action> the <link linkend="plot2d-dlg">plot parameters dialog</link>.
Yuri Chornoivan's avatar
Yuri Chornoivan committed
917
918
919
920
921
922
923
</para></listitem>
</varlistentry>
<varlistentry>
<term><menuchoice>
<guimenu>Plot</guimenu>
<guimenuitem>Plot 3D</guimenuitem>
</menuchoice></term>
Yuri Chornoivan's avatar
Yuri Chornoivan committed
924
<listitem><para><action>Opens</action> the <link linkend="plot3d-dlg">plot parameters dialog</link>.
Yuri Chornoivan's avatar
Yuri Chornoivan committed
925
926
927
928
929
930
</para></listitem>
</varlistentry>
</variablelist>
</para>
</sect2>

931
932
<sect2 id="settings-help-menu">
<title>The Settings and Help Menu</title>
933
<para>
934
935
&cantor; has the common &kde; <guimenu>Settings</guimenu> and <guimenu>Help</guimenu>
menu items, for more information read the sections about the <ulink
936
937
url="help:/fundamentals/menus.html#menus-settings">Settings Menu</ulink> and
<ulink url="help:/fundamentals/menus.html#menus-help">Help Menu</ulink>
938
of the &kde; Fundamentals.
939
</para>
Alexander Rieder's avatar
Alexander Rieder committed
940
941
942
943
944
945
946
947
948
949
950

</sect2>

</sect1>
</chapter>

<chapter id="faq">
<title>Questions and Answers</title>

<qandaset id="faqlist">
<qandaentry>
951
  <question><para>The Menu Item <guimenuitem>Typeset using LaTeX</guimenuitem> is not available</para></question>
952
  <answer><para>Not every backend supports every option. Current version supports &latex; output for Maxima, Qalculate! and Sage backends.</para></answer>
Alexander Rieder's avatar
Alexander Rieder committed
953
954
</qandaentry>
<qandaentry>
Yuri Chornoivan's avatar
Yuri Chornoivan committed
955
  <question><para>I have installed Sage/Maxima or other supported CAS, but the appropriate backend does not appear.</para></question>
Alexander Rieder's avatar
Alexander Rieder committed
956
957
  <answer>
    <para>
958
      One possible explanation is that &cantor; did not correctly detect the location. Go to the <menuchoice><guimenu>Settings</guimenu><guimenuitem>Configure &cantor;...</guimenuitem></menuchoice> dialog and change
Yuri Chornoivan's avatar
Yuri Chornoivan committed
959
      the <guilabel>Path</guilabel> to the appropriate application on the backend's page.
Alexander Rieder's avatar
Alexander Rieder committed
960
961
962
    </para>
  </answer>
</qandaentry>
Alexander Rieder's avatar
Alexander Rieder committed
963
<qandaentry>
Burkhard Lück's avatar
Burkhard Lück committed
964
  <question><para>What a peculiar name - what does it have to do with mathematics?</para></question>
965
  <answer><para>&cantor; is named after the German mathematician <ulink url="https://en.wikipedia.org/wiki/Georg_Cantor">Georg Cantor</ulink>, the creator of set theory.</para></answer>
Alexander Rieder's avatar
Alexander Rieder committed
966
</qandaentry>
Alexander Rieder's avatar
Alexander Rieder committed
967
968
969
970
971
972
973
974
</qandaset>
</chapter>

<chapter id="credits">

<title>Credits and License</title>

<para>
Alexander Rieder's avatar
Alexander Rieder committed
975
&cantor;
Alexander Rieder's avatar
Alexander Rieder committed
976
977
</para>
<para>
978
Program copyright 2009-2011 Alexander Rieder <email>alexanderrieder@gmail.com</email>
Alexander Rieder's avatar
Alexander Rieder committed
979
980
981
</para>

<para>
982
Documentation Copyright &copy; 2009-2011 Alexander Rieder <email>alexanderrieder@gmail.com</email>
Alexander Rieder's avatar
Alexander Rieder committed
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
</para>

<!-- TRANS:CREDIT_FOR_TRANSLATORS -->

&underFDL;               <!-- FDL: do not remove -->
&underGPL;        	 <!-- GPL License -->
</chapter>

&documentation.index;
</book>

<!--
Local Variables:
mode: xml
sgml-minimize-attributes:nil
sgml-general-insert-case:lower
sgml-indent-step:0
sgml-indent-data:nil