Warning, /education/kalgebra/doc/index.docbook is written in an unsupported language. File is not indexed.

0001 <?xml version="1.0" ?>
0002 <!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.5-Based Variant V1.1//EN" "dtd/kdedbx45.dtd" [
0003   <!ENTITY commands SYSTEM "commands.docbook">
0004 
0005   <!ENTITY MathML "<acronym>MathML</acronym>">
0006   <!ENTITY % addindex "IGNORE">
0007   <!ENTITY % English "INCLUDE">
0008 ]>
0009 
0010 <book id="kalgebra" lang="&language;">
0011 
0012 <bookinfo>
0013 <title>The &kalgebra; Handbook</title>
0014 
0015 <authorgroup>
0016 <author>
0017 <firstname>Aleix</firstname>
0018 <surname>Pol</surname>
0019 <affiliation>
0020 <address>&Aleix.Pol.mail;</address>
0021 </affiliation>
0022 </author>
0023 <!-- TRANS:ROLES_OF_TRANSLATORS -->
0024 </authorgroup>
0025 
0026 <copyright>
0027 <year>2007</year>
0028 <holder>&Aleix.Pol;</holder>
0029 </copyright>
0030 
0031 <legalnotice>&FDLNotice;</legalnotice>
0032 
0033 
0034 <date>2020-12-17</date>
0035 <releaseinfo>Applications 20.12</releaseinfo>
0036 
0037 <abstract>
0038 <para>
0039 &kalgebra; is an application that can replace your graphing calculator.
0040 It has numerical, logical, symbolic, and analysis features that let you calculate
0041 mathematical expressions on the calculator and graphically plot the results
0042 in 2D or 3D. &kalgebra; is rooted in the Mathematical Markup Language
0043 (&MathML;); however, one does not need to know &MathML; to use &kalgebra;.
0044 </para>
0045 </abstract>
0046 
0047 <keywordset>
0048 <keyword>KDE</keyword>
0049 <keyword>kdeedu</keyword>
0050 <keyword>graph</keyword>
0051 <keyword>mathematics</keyword>
0052 <keyword>2D</keyword>
0053 <keyword>3D</keyword>
0054 <keyword>MathML</keyword>
0055 </keywordset>
0056 
0057 </bookinfo>
0058 
0059 <chapter id="introduction">
0060 <title>Introduction</title>
0061 
0062 <para>
0063 &kalgebra; has numerous features that allow the user to perform all sorts
0064 of mathematical operations and show graphically. At one time, this
0065 program was &MathML; oriented. Now it can be used by anyone with a little
0066 mathematical knowledge to solve simple and advanced problems alike.
0067 </para>
0068 <!--FIXME Ask Burkhard where to put tutorials and if it is worth efforts to do. Example from UB page: https://swiftscythe.blogspot.de/2011/02/how-to-work-with-complex-numbers-in.html-->
0069 <para>
0070 It includes such features as:
0071 </para>
0072 
0073 
0074 <itemizedlist>
0075 <listitem><para>
0076 A calculator for quick and easy evaluation of math
0077 functions.
0078 </para></listitem>
0079 <listitem><para>
0080 Scripting capability for advanced series of calculations.
0081 </para></listitem>
0082 <listitem><para>
0083 Language capabilities including function definition and syntax autocompletion.
0084 </para></listitem>
0085 <listitem><para>
0086 Calculus functions including symbolic differentiation, vector calculus,
0087 and list manipulation.
0088 </para></listitem>
0089 <listitem><para>
0090 Function plotting with live cursor for graphical root finding and other
0091 types of analysis.
0092 </para></listitem>
0093 <listitem><para>
0094 3D plotting for useful visualization of 3D functions.
0095 </para></listitem>
0096 <listitem><para>
0097 A built-in operator dictionary for quick reference to the many available
0098 functions.
0099 </para></listitem>
0100 </itemizedlist>
0101 
0102 <para>
0103 Below is a screenshot of the &kalgebra; application in action:
0104 </para>
0105 
0106 <screenshot>
0107 <screeninfo>Here's a screenshot of &kalgebra; main window</screeninfo>
0108         <mediaobject>
0109           <imageobject>
0110             <imagedata fileref="kalgebra-main-window.png" format="PNG"/>
0111           </imageobject>
0112             <textobject>
0113             <phrase>&kalgebra; main window</phrase>
0114           </textobject>
0115         </mediaobject>
0116 </screenshot>
0117 
0118 <para>
0119 When the user begins a &kalgebra; session, they are presented with a
0120 single window consisting of a <guilabel>Calculator</guilabel> tab,
0121 a <guilabel>2D Graph</guilabel> tab,
0122 a <guilabel>3D Graph</guilabel> tab and a
0123 <guilabel>Dictionary</guilabel> tab. Within each tab, you will find an
0124 input field to enter your functions or calculations, and a display field
0125 which shows the results.
0126 </para>
0127 
0128 <para>At any time the user may manage their session with the main menu
0129 <guilabel>Session</guilabel> options:</para>
0130 
0131 <variablelist>
0132 
0133 <varlistentry>
0134 <term><menuchoice>
0135 <shortcut><keycombo action="simul">&Ctrl;
0136 <keycap>N</keycap></keycombo></shortcut>
0137 <guimenu>Session</guimenu><guimenuitem>New</guimenuitem>
0138 </menuchoice></term>
0139 <listitem><para>Opens a new &kalgebra; window.</para></listitem>
0140 </varlistentry>
0141 
0142 <varlistentry>
0143 <term><menuchoice>
0144 <shortcut><keycombo action="simul">&Ctrl;&Shift;
0145 <keycap>F</keycap></keycombo></shortcut>
0146 <guimenu>Session</guimenu><guimenuitem>Full Screen Mode</guimenuitem>
0147 </menuchoice></term>
0148 <listitem><para>Toogle full screen mode for &kalgebra; window. The full
0149 screen mode can also be switched on and off using  <inlinemediaobject>
0150 <imageobject> <imagedata fileref="view-fullscreen.png" format="PNG"/>
0151 </imageobject> </inlinemediaobject> button at the top right part of
0152 &kalgebra; window.</para></listitem>
0153 </varlistentry>
0154 
0155 <varlistentry>
0156 <term><menuchoice>
0157 <shortcut><keycombo action="simul">&Ctrl;
0158 <keycap>Q</keycap></keycombo></shortcut>
0159 <guimenu>Session</guimenu><guimenuitem>Quit</guimenuitem>
0160 </menuchoice></term>
0161 <listitem><para>Shuts the program down.</para></listitem>
0162 </varlistentry>
0163 
0164 </variablelist>
0165 
0166 </chapter>
0167 
0168 <chapter id="syntax">
0169 <title>Syntax</title>
0170 <para>
0171 &kalgebra; uses an intuitive algebraic syntax for entering user functions,
0172 similar to that used on most modern graphing calculators. This section
0173 lists the fundamental built-in operators available in &kalgebra;. The
0174 author of &kalgebra; modeled this syntax after
0175 <ulink url="http://maxima.sourceforge.net/">Maxima</ulink> and
0176 <ulink url="https://www.maplesoft.com/products/maple/">Maple</ulink> for users
0177 that may be familiar with these programs.
0178 </para>
0179 
0180 <para>
0181 For users that are interested in the inner workings of &kalgebra;, user
0182 entered expressions are converted to &MathML; on the backend. A rudimentary
0183 understanding of the capabilities supported by &MathML; will go a long way
0184 toward revealing the inner capabilities of &kalgebra;.
0185 </para>
0186 
0187 <para>Here is a list of the available operators we have by now:</para>
0188 <itemizedlist>
0189 <listitem><para><literal>+ - * / </literal>: Addition, subtraction, multiplication and
0190 division.</para> </listitem>
0191 <listitem><para><literal>^, ** </literal>: Power, you can use them both. Also it is possible to use
0192 the unicode <literal>²</literal> characters. Powers are one way to make roots too, you can do it
0193 like: <literal>a**(1/b)</literal></para></listitem>
0194 <listitem><para><literal>-&gt; </literal>: lambda. It is the way to specify one or more free
0195 variables that will be  bound in a function. For example, in the expression,
0196 <userinput>length:=(x,y)->(x*x+y*y)^0.5</userinput>, the lambda operator is used to denote
0197 that <literal>x</literal> and <literal>y</literal> will be bound when the length function is used.
0198 </para></listitem>
0199 <listitem><para><literal>x=a..b </literal>: This is used when we need to delimit a range
0200 (bounded variable+uplimit+downlimit). This means that <literal>x</literal> goes from <literal>a</literal>
0201 to <literal>b</literal>.</para></listitem>
0202 <listitem><para><literal>() </literal>: It is used to specify a higher priority.</para></listitem>
0203 <listitem><para><literal>abc(params) </literal>: Functions. When the parser finds a function, it checks
0204 if <literal>abc</literal> is an operator. If it is, it will be treated as an operator, if it is
0205 not, it will be treated as a user function.</para></listitem>
0206 <listitem><para><literal>:= </literal>: Definition. It is used to define a variable value. You can
0207 do things like <userinput>x:=3</userinput>, <userinput>x:=y</userinput> being <literal>y</literal> defined
0208 or not or <userinput>perimeter:=r->2*pi*r</userinput>.
0209 </para></listitem>
0210 <listitem><para><literal>? </literal>: Piecewise condition definition. Piecewise is the way we can define
0211 conditional operations in &kalgebra;. Put another way, this is a way of
0212 specifying an if, elseif, else condition. If we introduce the condition before the '<literal>?</literal>' it will
0213 use this condition only if it is true, if it finds a '<literal>?</literal>' without any condition, it will
0214 enter in the last instance.
0215 Example: <userinput>piecewise { x=0 ? 0, x=1 ? x+1, ? x**2 }</userinput>
0216 </para></listitem>
0217 <listitem><para><literal>{ } </literal>: &MathML; container. It can be used to define a container. Mainly
0218 useful for working with piecewise.
0219 </para></listitem>
0220 <listitem><para><literal>= &gt; &gt;= &lt; &lt;= </literal>: Value comparators for equal,
0221 greater, greater or equal, less and less or equal respectively.</para></listitem>
0222 </itemizedlist>
0223 
0224 <para>Now you could ask me, why should the user mind about &MathML;? That’s easy.
0225 With this, we can operate with functions like <function>cos()</function>, <function>sin()</function>, any other
0226 trigonometrical functions, <function>sum()</function> or <function>product()</function>. It does not matter what kind it is.
0227 We can use <function>plus()</function>, <function>times()</function> and everything which has its operator. Boolean
0228 functions are implemented as well, so we can do something like <function>or(1,0,0,0,0)</function>.</para>
0229 
0230 </chapter>
0231 
0232 <chapter id="using-calculator">
0233 <title>Using the Calculator</title>
0234 <para>&kalgebra;'s calculator is useful as a calculator on steroids. The
0235 user may enter expressions for evaluation in <guimenu>Calculate</guimenu>
0236 or <guimenu>Evaluate</guimenu> mode, depending on the <guimenu>Calculator</guimenu>
0237 menu selection.
0238 </para>
0239 <para>
0240 In evaluation mode &kalgebra; simplifies the expression even if it sees an undefined variable.
0241 When in calculation mode &kalgebra;, calculates everything and if it finds an undefined
0242 variable shows an error.
0243 </para>
0244 <para>
0245 In addition to displaying the user entered equations and results in the
0246 Calculator display, all variables that are declared are displayed in a
0247 persistent frame to the right. By double clicking on a variable you will see a
0248 dialog that lets you change their values (just a way to trick the log).
0249 </para>
0250 
0251 <para>
0252 The <quote><varname>ans</varname></quote> variable is special, every time you enter an expression, the
0253 <quote><varname>ans</varname></quote> variable value will be changed to the last result.
0254 </para>
0255 
0256 <para>The following are example functions that can be entered in
0257 the input field of the calculator window:</para>
0258 <itemizedlist>
0259 <listitem><para><userinput>sin(pi)</userinput></para></listitem>
0260 <listitem><para><userinput>k:=33</userinput></para></listitem>
0261 <listitem><para><userinput>sum(k*x : x=0..10)</userinput></para></listitem>
0262 <listitem><para><userinput>f:=p->p*k</userinput></para></listitem>
0263 <listitem><para><userinput>f(pi)</userinput></para></listitem>
0264 </itemizedlist>
0265 
0266 <para>
0267 The following shows a screenshot of the calculator window after entering
0268 the above example expressions:
0269 </para>
0270 <screenshot>
0271 <screeninfo>Screenshot of &kalgebra; calculator window with example expressions</screeninfo>
0272         <mediaobject>
0273           <imageobject>
0274             <imagedata fileref="kalgebra-console-window.png" format="PNG"/>
0275           </imageobject>
0276             <textobject>
0277             <phrase>&kalgebra; calculator window</phrase>
0278           </textobject>
0279         </mediaobject>
0280 </screenshot>
0281 
0282 
0283 <para>A user can control the execution of a series of calculations
0284 using the <guimenu>Calculator</guimenu> menu options:</para>
0285 
0286 <variablelist>
0287 
0288 <varlistentry>
0289 <term><menuchoice>
0290 <shortcut><keycombo action="simul">&Ctrl;
0291 <keycap>L</keycap></keycombo></shortcut>
0292 <guimenu>Calculator</guimenu><guimenuitem>Load Script...</guimenuitem>
0293 </menuchoice></term>
0294 <listitem><para>Executes the instructions in a file sequentially.
0295 Useful if you want to define some libraries or resume some previous work.</para></listitem>
0296 </varlistentry>
0297 
0298 <varlistentry>
0299 <term><menuchoice>
0300 <guimenu>Calculator</guimenu><guisubmenu>Recent Scripts</guisubmenu>
0301 </menuchoice></term>
0302 <listitem><para>Displays a submenu that will allow you to choose the recently executed scripts.</para></listitem>
0303 </varlistentry>
0304 
0305 <varlistentry>
0306 <term><menuchoice>
0307 <shortcut><keycombo action="simul">&Ctrl;
0308 <keycap>G</keycap></keycombo></shortcut>
0309 <guimenu>Calculator</guimenu><guimenuitem>Save Script...</guimenuitem>
0310 </menuchoice></term>
0311 <listitem><para>Saves the instructions you have typed since the session began to be able to reuse. Generates text files so it should be easy to fix
0312 using any text editor, like &kate;.</para></listitem>
0313 </varlistentry>
0314 
0315 <varlistentry>
0316 <term><menuchoice>
0317 <shortcut><keycombo action="simul">&Ctrl;
0318 <keycap>S</keycap></keycombo></shortcut>
0319 <guimenu>Calculator</guimenu><guimenuitem>Export Log...</guimenuitem>
0320 </menuchoice></term>
0321 <listitem><para>Saves the log with all results into an &HTML; file to be able to print or publish.</para></listitem>
0322 </varlistentry>
0323 
0324 <varlistentry>
0325 <term><menuchoice>
0326 <shortcut><keycap>F3</keycap></shortcut>
0327 <guimenu>Calculator</guimenu><guimenuitem>Insert ans...</guimenuitem>
0328 </menuchoice></term>
0329 <listitem><para>Insert the <quote><varname>ans</varname></quote> variable and makes it easier to reuse older values.</para></listitem>
0330 </varlistentry>
0331 
0332 <varlistentry>
0333 <term><menuchoice>
0334 <guimenu>Calculator</guimenu><guimenuitem>Calculate</guimenuitem>
0335 </menuchoice></term>
0336 <listitem><para>A radio button to set the <guilabel>Execution Mode</guilabel> to calculation.</para></listitem>
0337 </varlistentry>
0338 
0339 <varlistentry>
0340 <term><menuchoice>
0341 <guimenu>Calculator</guimenu><guimenuitem>Evaluate</guimenuitem>
0342 </menuchoice></term>
0343 <listitem><para>A radio button to set the <guilabel>Execution Mode</guilabel> to evaluation.</para></listitem>
0344 </varlistentry>
0345 
0346 </variablelist>
0347 </chapter>
0348 
0349 <chapter id="two-D-graphs">
0350 <title>2D Graphs</title>
0351 <para>To add a new 2D graph on &kalgebra;, select the <guilabel>2D
0352 Graph</guilabel> tab and click the <guilabel>Add</guilabel> tab to add
0353 a new function. Your focus will go to an input text box where you can
0354 type your function.</para>
0355 
0356 <sect1 id="two-D-syntax">
0357 <title>Syntax</title>
0358 <para>If you want to use a typical <function>f(x)</function> function it is not
0359 necessary to specify it, but if you want a <function>f(y)</function> or a polar
0360 function, you will have to add <literal>y-&gt;</literal> and <literal>q-&gt;</literal>
0361 as the bounded variables.</para>
0362 
0363 <para>Examples:</para>
0364 <itemizedlist>
0365 <listitem><para><userinput>sin(x)</userinput></para></listitem>
0366 <listitem><para><userinput>x²</userinput></para></listitem>
0367 <listitem><para><userinput>y->sin(y)</userinput></para></listitem>
0368 <listitem><para><userinput>q->3*sin(7*q)</userinput></para></listitem>
0369 <listitem><para><userinput>t->vector{sin t, t**2}</userinput></para></listitem>
0370 </itemizedlist>
0371 <para>If you have entered the function click on the <guibutton>OK</guibutton> button to display the graph in the main window.</para>
0372 
0373 </sect1>
0374 
0375 <sect1 id="two-D-features">
0376 <title>Features</title>
0377 <para>You can set several graphs on the same view. Just use the <guilabel>Add</guilabel> button when
0378 you are in List mode. You can set each graph its own color.</para>
0379 
0380 <para>The view can be zoomed and moved with the mouse. Using the wheel
0381 you can zoom in and out. You can also select an area with the &LMB; and this
0382 area will be zoomed in. Move the view with the keyboard arrow keys.</para>
0383 
0384 <note>
0385  <para>The viewport of 2D graphs can be explicitly defined using the <guilabel>Viewport</guilabel> tab on a <guilabel>2D Graph</guilabel> tab.</para>
0386 </note>
0387  
0388 <para>In the <guilabel>List</guilabel> tab at the bottom right part, you can open an <guilabel>Editing</guilabel> tab to edit or remove a function with double-click and check or uncheck the check box next to the function name to show or hide it.</para>
0389 <para>In the <guimenu>2D Graph</guimenu> menu you find these options:</para>
0390 <itemizedlist>
0391 <listitem><para><guimenuitem>Grid</guimenuitem>: Show or hide the grid</para></listitem>
0392 <listitem><para><guimenuitem>Keep Aspect Ratio</guimenuitem>: Keep the aspect ratio while zooming</para></listitem>
0393 <listitem><para><guimenuitem>Save</guimenuitem>: Save (<keycombo action="simul">&Ctrl;
0394 <keycap>S</keycap></keycombo>) the graph as image file</para></listitem>
0395 <listitem><para><guimenuitem>Zoom in/out</guimenuitem>: Zoom in (<keycombo action="simul">&Ctrl;
0396 <keycap>+</keycap></keycombo>) and zoom out (<keycombo action="simul">&Ctrl;
0397 <keycap>-</keycap></keycombo>)</para></listitem>
0398 <listitem><para><guimenuitem>Actual Size</guimenuitem>: Reset the view to the original zoom</para></listitem>
0399 <listitem><para><guilabel>Resolution</guilabel>: Followed by a list of radio buttons to select a resolution for the graphs</para></listitem>
0400 </itemizedlist>
0401 
0402 <para>
0403    Below is a screenshot of a user who's cursor is at the rightmost root
0404    of the function, <function>sin(1/x)</function>. The user who graphed
0405    it used very fine resolution to make this graph (as it oscillates at
0406    higher and higher frequency near the origin). There is also a live
0407    cursor feature where whenever you move your cursor over a spot, it
0408    shows you the <literal>x</literal> and <literal>y</literal> values in
0409    the bottom left corner of the screen. A live <quote>tangent line</quote>
0410    is plotted on the function at the live cursor location.
0411  </para>
0412 
0413 <screenshot>
0414 <screeninfo>Here's a screenshot of &kalgebra; 2D Graph window</screeninfo>
0415         <mediaobject>
0416           <imageobject>
0417             <imagedata fileref="kalgebra-2dgraph-window.png" format="PNG"/>
0418           </imageobject>
0419             <textobject>
0420             <phrase>&kalgebra; 2D Graph window</phrase>
0421           </textobject>
0422         </mediaobject>
0423 </screenshot>
0424 
0425 
0426 </sect1>
0427 
0428 </chapter>
0429 
0430 <chapter id="three-D-graphs">
0431 <title>3D Graphs</title>
0432 
0433 <para>To draw a 3D graph with &kalgebra; select the <guilabel>3D Graph</guilabel> tab
0434 and you will see an input field at the bottom where you will type your function.
0435 <literal>Z</literal> cannot be defined yet. For the moment &kalgebra; only supports
0436 3D graphs explicitly dependent only on the <literal>x</literal> and <literal>y</literal>,
0437 such as <userinput>(x,y)->x*y</userinput>, where <userinput>z=x*y</userinput>.
0438 </para>
0439 
0440 <para>Examples:</para>
0441 <itemizedlist>
0442 <listitem><para><userinput>(x,y)->sin(x)*sin(y)</userinput></para></listitem>
0443 <listitem><para><userinput>(x,y)->x/y</userinput></para></listitem>
0444 </itemizedlist>
0445 
0446 <para>The view can be zoomed and moved with the mouse. Using the wheel
0447 you can zoom in and out. Hold the &LMB; and move the mouse to rotate the graph.</para>
0448 
0449 <para>The &Left; and &Right; arrow keys rotate the graph around the <literal>z</literal> axis, the &Up; and &Down; arrow keys rotate around the horizontal axis of the view. Press <keycap>W</keycap> to zoom in the plot and <keycap>S</keycap> to zoom it out.</para>
0450 
0451 <para>In the <guimenu>3D Graph</guimenu> menu you find these options:</para>
0452 <itemizedlist>
0453 <!-- not in master for 4.11
0454 <listitem><para>Enable or disable transparency in the 3D Graph menu</para></listitem>
0455 -->
0456 <listitem><para><guimenuitem>Save</guimenuitem>: Save (<keycombo action="simul">&Ctrl;
0457 <keycap>S</keycap></keycombo>) the graph as image file or supported document</para></listitem>
0458 <listitem><para><guimenuitem>Reset View</guimenuitem>: Reset the view to the original zoom in the <guimenu>3D Graph</guimenu> menu</para></listitem>
0459 <listitem><para>You can draw the graphs with <guimenuitem>Dots</guimenuitem>, <guimenuitem>Lines</guimenuitem> or <guimenuitem>Solid</guimenuitem> styles in the <guimenu>3D Graph</guimenu> menu</para></listitem>
0460 </itemizedlist>
0461 
0462 <para>
0463 Below is a screenshot of the so-called <quote>sombrero</quote> function. This particular
0464 graph is shown using the 3D graph line-style.
0465 </para>
0466 
0467 <screenshot>
0468 <screeninfo>Here's a screenshot of &kalgebra; 3D Graph window</screeninfo>
0469         <mediaobject>
0470           <imageobject>
0471             <imagedata fileref="kalgebra-3dgraph-window.png" format="PNG"/>
0472           </imageobject>
0473             <textobject>
0474             <phrase>&kalgebra; 3D Graph window</phrase>
0475           </textobject>
0476         </mediaobject>
0477 </screenshot>
0478 
0479 </chapter>
0480 
0481 <chapter id="dictionary">
0482 <title>Dictionary</title>
0483 
0484 <para>
0485   The dictionary provides a list of all &kalgebra; built in functions. It can be
0486 used to find the definition of an operation and its input parameters. It's a useful
0487 place to go to find the many capabilities of &kalgebra;.
0488 </para>
0489 
0490  <para>
0491    Below is a screenshot of the &kalgebra; dictionary lookup of the cosine function.
0492  </para>
0493 
0494 <screenshot>
0495 <screeninfo>Here's a screenshot of the &kalgebra; dictionary window</screeninfo>
0496         <mediaobject>
0497           <imageobject>
0498             <imagedata fileref="kalgebra-dictionary-window.png" format="PNG"/>
0499           </imageobject>
0500             <textobject>
0501             <phrase>&kalgebra; dictionary window</phrase>
0502           </textobject>
0503         </mediaobject>
0504 </screenshot>
0505 
0506 
0507 </chapter>
0508 
0509 &commands;
0510 
0511 <chapter id="credits">
0512 <title>Credits and License</title>
0513 
0514 <itemizedlist>
0515 <listitem><para>Program copyright 2005-2009 &Aleix.Pol;</para>
0516 </listitem>
0517 </itemizedlist>
0518 
0519 <para>
0520 Documentation copyright 2007 &Aleix.Pol; &Aleix.Pol.mail;
0521 </para>
0522 
0523 <!-- TRANS:CREDIT_FOR_TRANSLATORS -->
0524 &underFDL;               <!-- FDL: do not remove -->
0525 &underGPL;               <!-- GPL License -->
0526 
0527 </chapter>
0528 
0529 &documentation.index;
0530 </book>
0531 
0532 <!--
0533 Local Variables:
0534 mode: sgml
0535 sgml-minimize-attributes:nil
0536 sgml-general-insert-case:lower
0537 sgml-indent-step:0
0538 sgml-indent-data:nil
0539 End:
0540 -->