Warning, /education/kmplot/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 % addindex "IGNORE">
0004   <!ENTITY % English "INCLUDE"><!-- change language only here -->
0005 ]>
0006 
0007 <book id="kmplot" lang="&language;">
0008 
0009 <bookinfo>
0010 <title>The &kmplot; Handbook</title>
0011 <authorgroup>
0012 <author>
0013 <firstname>Klaus-Dieter</firstname>
0014 <surname>M&ouml;ller</surname>
0015 <affiliation>
0016 <address>&Klaus-Dieter.Moeller.mail;</address>
0017 </affiliation>
0018 </author>
0019 <author>
0020 &Philip.Rodrigues; &Philip.Rodrigues.mail;
0021 </author>
0022 <author>
0023 <firstname>David</firstname>
0024 <surname>Saxton</surname>
0025 </author>
0026 <!-- TRANS:ROLES_OF_TRANSLATORS -->
0027 </authorgroup>
0028 
0029 <copyright>
0030 <year>2000</year><year>2001</year><year>2002</year>
0031 <holder>Klaus-Dieter M&ouml;ller</holder>
0032 </copyright>
0033 
0034 <copyright>
0035 <year>2003</year>
0036 <holder>&Philip.Rodrigues; &Philip.Rodrigues.mail;</holder>
0037 </copyright>
0038 
0039 <copyright>
0040 <year>2006</year>
0041 <holder>David Saxton</holder>
0042 </copyright>
0043 
0044 <legalnotice>&FDLNotice;</legalnotice>
0045 
0046 <date>2021-01-05</date>
0047 <releaseinfo>1.3.0 (Applications 20.12)</releaseinfo>
0048 
0049 <!-- Abstract about this handbook -->
0050 
0051 <abstract>
0052 <para>&kmplot; is a mathematical function plotter by &kde;.</para>
0053 <para> <inlinemediaobject><imageobject><imagedata
0054 fileref="edu-logo.png"
0055 format="PNG"/></imageobject></inlinemediaobject> &kmplot; is part of
0056 the &kde;-EDU Project: <ulink
0057 url="https://edu.kde.org/">https://edu.kde.org/</ulink></para></abstract>
0058 
0059 
0060 <keywordset>
0061 <keyword>KDE</keyword>
0062 <keyword>KmPlot</keyword>
0063 <keyword>EDU</keyword>
0064 <keyword>education</keyword>
0065 <keyword>plotting</keyword>
0066 <keyword>math</keyword>
0067 </keywordset>
0068 
0069 </bookinfo>
0070 
0071 <chapter id="introduction">
0072 <title>Introduction</title>
0073 
0074 <para>&kmplot; is a mathematical function plotter by &kde;.
0075         It has a powerful built-in parser.  You can plot different
0076         functions simultaneously and combine them to build new
0077         functions.</para>
0078 
0079 <screenshot>
0080         <screeninfo>Examples</screeninfo>
0081         <mediaobject>
0082                 <imageobject>
0083                         <imagedata fileref="threeplots.png" format="PNG"/>
0084                 </imageobject>
0085                 <textobject>
0086                         <phrase>Examples</phrase>
0087                 </textobject>
0088         </mediaobject>
0089 </screenshot>
0090 
0091 <para>&kmplot; supports several different types of plots:</para>
0092 <itemizedlist>
0093         <listitem><para>Explicit cartesian plots of the form y = f(x).</para></listitem>
0094         <listitem><para>Parametric plots, where the x and y components are specified as functions of an independent variable.</para></listitem>
0095         <listitem><para>Polar plots of the form r = r(&thgr;).</para></listitem>
0096         <listitem><para>Implicit plots, where the x and y coordinates are related by an expression.</para></listitem>
0097         <listitem><para>Explicit differential plots.</para></listitem>
0098 </itemizedlist>
0099 
0100 <para>&kmplot; also provides some numerical and visual features like:</para>
0101 <itemizedlist>
0102         <listitem><para>Filling and calculating the area between the plot and the first axis.</para></listitem>
0103         <listitem><para>Finding maximum and minimum values.</para></listitem>
0104         <listitem><para>Changing function parameters dynamically.</para></listitem>
0105         <listitem><para>Plotting derivatives and integral functions.</para></listitem>
0106 </itemizedlist>
0107 
0108 <para>These features help in learning the
0109         relationship between mathematical functions and their graphical
0110         representation in a coordinate system.</para>
0111 
0112 </chapter>
0113 
0114 <chapter id="first-steps">
0115 <title>First Steps With &kmplot;</title>
0116 
0117 <sect1 id="simple-function-plot">
0118         <title>Simple Function Plot</title>
0119 
0120         <para>
0121                 In the sidebar on the left, there is the <guibutton>Create</guibutton> button with a drop down menu for creating new plots.
0122                 Click on it, and select <guilabel>Cartesian Plot</guilabel>. The text box for editing the current equation will be focused. Replace the default text with
0123                 <screen><userinput>y = x^2</userinput></screen>
0124                 and press &Enter;.
0125                 This will draw the plot of y = x<superscript>2</superscript> in the coordinate system.
0126                 Clicking on the <guibutton>Create</guibutton> button again, select <guilabel>Cartesian Plot</guilabel>, and this time enter the text
0127                 <screen><userinput>y = 5sin(x)</userinput></screen>
0128                 to get another plot.
0129         </para>
0130 
0131         <para>
0132                 Drag and drop the item <userinput>y = 5sin(x)</userinput> in the left sidebar to clone the plot. Replace <userinput>sin</userinput> with <userinput>cos</userinput> to get the cosine plot of the same color.
0133         </para>
0134 
0135         <para>Click on one of the lines you have just plotted. Now the crosshair
0136                 becomes the color of the current plot and is attached to the it.  You can
0137                 use the mouse to move the crosshair along the plot.  In the status
0138                 bar at the bottom of the window the coordinates of the current
0139                 position is displayed. Note that if the plot touches the  horizontal axis the
0140                 root will be displayed in the status bar, too.</para>
0141 
0142         <para>Click the mouse again and the crosshair will be detached from
0143                 the plot.</para>
0144 </sect1>
0145 
0146 <sect1 id="edit-properties">
0147         <title>Edit Properties</title>
0148 
0149         <para>Let us make some changes to the function and change the color of
0150                 the plot.</para>
0151 
0152         <para>The <guilabel>Functions</guilabel> sidebar lists all the functions that you have plotted.
0153                 If <guilabel>y = x^2</guilabel> isn't already selected, select it.
0154                 Here you have access to a lot of options. Let us rename
0155                 the function and move the plot 5 units down. Change the function
0156                 equation to <screen><userinput>parabola(x) = x^2 - 5</userinput></screen> and hit enter.
0157                 To select another color for the plot, click the <guilabel>Color</guilabel> button in the section
0158                 <guilabel>Appearance</guilabel> at the bottom of the Functions sidebar and select a new color.
0159                 <note>
0160                         <para>All changes can be undone via <menuchoice><guimenu>Edit</guimenu><guimenuitem>Undo</guimenuitem> </menuchoice>.</para>
0161                 </note>
0162         </para>
0163 </sect1>
0164 </chapter>
0165 
0166 <chapter id="using-kmplot">
0167 <title>Using &kmplot;</title>
0168 
0169 <para>&kmplot; deals with several different types of functions, which can be written in function form or as an equation:</para>
0170 
0171 <itemizedlist>
0172         <listitem><para>Cartesian plots can either be written as &eg; <quote>y = x^2</quote>, where x has to be used as the variable; or as &eg; <quote>f(a) = a^2</quote>, where the name of the variable is arbitrary.</para></listitem>
0173         <listitem><para>Parametric plots are similar to Cartesian plots. The x and y coordinates can be entered as equations in t, &eg; <quote>x = sin(t)</quote>, <quote>y = cos(t)</quote>, or as functions, &eg; <quote>f_x(s) = sin(s)</quote>, <quote>f_y(s) = cos(s)</quote>.</para></listitem>
0174         <listitem><para>Polar plots are also similar to Cartesian plots. They can be either be entered as an equation in &thgr;, &eg; <quote>r = &thgr;</quote>, or as a function, &eg;
0175 <quote>f(x) = x</quote>.</para></listitem>
0176         <listitem><para>For implicit plots, the name of the function is entered separately from the expression relating the x and y coordinates. If the x and y variables are specified via the function name (by entering &eg;<quote>f(a,b)</quote> as the function name), then these variables will be used. Otherwise, the letters x and y will be used for the variables.</para></listitem>
0177         <listitem><para>Explicit differential plots are differential equations whereby the highest derivative is given in terms of the lower derivatives. Differentiation is denoted by a prime ('). In function form, the equation will look like <quote>f''(x) = f' &minus; f</quote>. In equation form, it will look like <quote>y'' = y' &minus; y</quote>. Note that in both cases, the <quote>(x)</quote> part is not added to the lower order differential terms (so you would enter <quote>f'(x) = &minus;f</quote> and not <quote>f'(x) = &minus;f(x)</quote>).</para></listitem>
0178 </itemizedlist>
0179 
0180 <para>All the equation entry boxes come with a button on the right. Clicking this invokes the advanced <guilabel>Equation Editor</guilabel> dialog, which provides:
0181 
0182         <itemizedlist>
0183                 <listitem>
0184                         <para>A variety of mathematical symbols that can be used in equations, but aren't found on normal keyboards.</para>
0185                 </listitem>
0186                 <listitem>
0187                         <para>The list of user constants and a button for editing them.</para>
0188                 </listitem>
0189                 <listitem>
0190                         <para>The list of predefined functions. Note that if you have text already selected, it will be used as the function argument when a function is inserted. For example, if <quote>1 + x</quote> is selected in the equation <quote>y = 1 + x</quote>, and the sine function is chosen, then the equation will become <quote> y = sin(1+x)</quote>.
0191                         </para>
0192                 </listitem>
0193         </itemizedlist>
0194 </para>
0195 
0196 <screenshot>
0197         <screeninfo>Here is a screenshot of the &kmplot; welcome window</screeninfo>
0198         <mediaobject>
0199                 <imageobject>
0200                         <imagedata fileref="main.png" format="PNG"/>
0201                 </imageobject>
0202                 <textobject>
0203                         <phrase>Screenshot</phrase>
0204                 </textobject>
0205         </mediaobject>
0206 </screenshot>
0207 
0208 <sect1 id="function-types">
0209         <title>Function Types</title>
0210 
0211         <sect2 id="cartesian-functions">
0212                 <title>Cartesian Functions</title>
0213                 <para>To enter an explicit function (&ie;, a function in the form y=f(x)) into &kmplot;, just enter it in the
0214                         following form:
0215                         <screen><userinput><replaceable>f</replaceable>(<replaceable>x</replaceable>) = <replaceable>expression</replaceable></userinput></screen>
0216                         where:
0217                         <itemizedlist>
0218                                 <listitem><para>
0219                                                 <replaceable>f</replaceable> is the name of the function, and can be any
0220                                                 string of letters and numbers.</para>
0221                                 </listitem>
0222 
0223                                 <listitem><para>
0224                                                 <replaceable>x</replaceable> is the horizontal coordinate, to be used in the expression
0225                                                 following the equals sign. It is a dummy variable, so you can use any
0226                                                 variable name you like to achieve the same effect.</para>
0227                                 </listitem>
0228 
0229                                 <listitem>
0230                                         <para><replaceable>expression</replaceable> is the expression to be plotted,
0231                                                 given in the appropriate syntax for &kmplot;. See <xref linkend="math-syntax"/>.
0232                                         </para>
0233                                 </listitem>
0234 
0235                         </itemizedlist>
0236                 </para>
0237         </sect2>
0238 
0239         <sect2 id="parametric-functions">
0240                 <title>Parametric Functions</title>
0241                 <para>Parametric functions are those in which the x and y coordinates are
0242                         defined by separate functions of another variable, often called t. To enter a
0243                         parametric function in &kmplot;, follow the procedure as for a Cartesian
0244                         function for each of the x and y functions. As with Cartesian functions, you may use any variable name you wish for the
0245                         parameter.</para>
0246                 <para>As an example, suppose you want to draw a circle, which has parametric
0247                         equations x = sin(t), y = cos(t). After creating a parametric plot, enter the appropriate equations in the x and y boxes, &ie;,
0248                         <userinput>f_x(t)=sin(t)</userinput> and
0249                         <userinput>f_y(t)=cos(t)</userinput>.
0250                 </para>
0251                 <para>You can set some further options for the plot in the function editor:
0252                         <variablelist>
0253                                 <varlistentry>
0254                                         <term><guilabel>Min:</guilabel></term>
0255                                         <term><guilabel>Max:</guilabel></term>
0256                                         <listitem>
0257                                                 <para>These options control the range of the parameter t for which the function is plotted.</para>
0258                                         </listitem>
0259                                 </varlistentry>
0260                         </variablelist>
0261                 </para>
0262         </sect2>
0263 
0264         <sect2 id="polar-functions">
0265                 <title>Functions in Polar Coordinates</title>
0266 
0267                 <para>Polar coordinates represent a point by its distance from the origin
0268                         (usually called r), and the angle a line from the origin to the point makes
0269                         with the horizontal axis (usually represented by &thgr; the Greek letter theta). To enter
0270                         functions in polar coordinates, click the <guibutton>Create</guibutton> button and select <guilabel>Polar Plot</guilabel> from the list.
0271                         In the definition box, complete the
0272                         function definition, including the name of the theta variable you want
0273                         to use, &eg;, to draw the Archimedes' spiral r = &thgr;, enter:
0274                         <screen><userinput>r(&thgr;) = &thgr;</userinput></screen>
0275                         Note that you can use any name for the theta variable, so
0276                         <quote>r(t) = t</quote> or <quote>f(x) = x</quote> will produce exactly the same output.
0277                 </para>
0278         </sect2>
0279 
0280         <sect2 id="implicit-functions">
0281                 <title>Implicit Functions</title>
0282 
0283                 <para>An implicit expression relates the x and y coordinates as an equality. To create a circle, for example,
0284                 click the <guibutton>Create</guibutton> button and select <guilabel>Implicit Plot</guilabel> from the list.
0285                 Then, enter into the equation box (below the function name box) the following:
0286                         <screen><userinput>x^2 + y^2 = 25</userinput></screen>
0287                 </para>
0288         </sect2>
0289 
0290         <sect2 id="differential-functions">
0291                 <title>Differential Functions</title>
0292 
0293                 <para>&kmplot; can plot explicit differential equations. These are equations of the form
0294                         y<superscript>(n)</superscript> = F(x,y',y'',...,y<superscript>(n&minus;1)</superscript>), where y<superscript>k</superscript> is the k<superscript>th</superscript> derivative of y(x). &kmplot; can only interpret the derivative order as the number of primes following the function name.
0295 
0296                         To draw a sinusoidal curve, for example, you would use the differential equation
0297                         <userinput>y'' = &minus; y</userinput> or <userinput>f''(x) = −f</userinput>.
0298                 </para>
0299 
0300                 <para>However, a differential equation on its own isn't enough to determine a plot. Each curve in the diagram is generated by a combination of the differential equation and the initial conditions. You can edit the initial conditions by clicking on the <guilabel>Initial Conditions</guilabel> tab when a differential equation is selected. The number of columns provided for editing the initial conditions is dependent on the order of the differential equation.
0301                 </para>
0302 
0303                 <para>You can set some further options for the plot in the function editor:
0304                         <variablelist>
0305                                 <varlistentry>
0306                                         <term><guilabel>Step:</guilabel></term>
0307                                         <listitem>
0308                                                 <para>The step value in the precision box is used in numerically solving the differential equation (using the Runge Kutta method). Its value is the maximum step size used; a smaller step size may be used if part of the differential plot is zoomed in close enough.</para>
0309                                         </listitem>
0310                                 </varlistentry>
0311                         </variablelist>
0312                 </para>
0313 
0314         </sect2>
0315 </sect1>
0316 
0317 <sect1 id="combining-functions">
0318         <title>Combining Functions</title>
0319         <para>Functions can be combined to produce new ones. Simply enter the functions
0320                 after the equals sign in an expression as if the functions were variables. For
0321                 example, if you have defined functions f(x) and g(x), you can plot the sum of f
0322                 and g with:
0323                 <screen><userinput>sum(x) = f(x) + g(x)</userinput></screen>
0324         </para>
0325 </sect1>
0326 
0327 <sect1 id="function-appearance">
0328         <title>Changing the appearance of functions</title>
0329 
0330         <para>To change the appearance of a function's graph on the main plot
0331                 window, select the function in the <guilabel>Functions</guilabel> sidebar.
0332                 You can change the plot's line width, color and many other aspects by clicking on the
0333                 <guibutton>Color:</guibutton> or <guibutton>Advanced...</guibutton>
0334                  button at the bottom of the section <guilabel>Appearance</guilabel>.
0335         </para>
0336 
0337         <para>
0338                 If you are editing a Cartesian function, the function editor will have three tabs.
0339                 In the first one you specify the equation of the function.
0340                 The <guilabel>Derivatives</guilabel> tab lets you draw the first and second derivative to the function.
0341                 With the <guilabel>Integral</guilabel> tab you can draw the integral of the function.
0342         </para>
0343 </sect1>
0344 
0345 <sect1 id="popupmenu">
0346         <title>Popup menu</title>
0347         <screenshot>
0348         <screeninfo>Graph right-click popup menu</screeninfo>
0349         <mediaobject>
0350                 <imageobject>
0351                         <imagedata fileref="popup.png" format="PNG"/>
0352                 </imageobject>
0353                 <textobject>
0354                         <phrase>Graph right-click popup menu</phrase>
0355                 </textobject>
0356         </mediaobject>
0357         </screenshot>
0358 
0359         <para>When right-clicking on a plot function or a single-point parametric plot function a popup menu will appear.
0360                 In the menu there are five items available:</para>
0361 
0362         <variablelist>
0363                 <varlistentry>
0364                         <term><menuchoice><guimenuitem>Edit</guimenuitem>
0365                                 </menuchoice></term>
0366                         <listitem>
0367                                 <para>Selects the function in the <guilabel>Functions</guilabel> sidebar for editing.</para>
0368                         </listitem>
0369                 </varlistentry>
0370 
0371                 <varlistentry>
0372                         <term><menuchoice><guimenuitem>Hide</guimenuitem>
0373                                 </menuchoice></term>
0374                         <listitem>
0375                                 <para>Hides the selected graph. Other plots of the graph's function will still be shown.</para>
0376                         </listitem>
0377                 </varlistentry>
0378 
0379                 <varlistentry>
0380                         <term><menuchoice><guimenuitem>Remove</guimenuitem>
0381                                 </menuchoice></term>
0382                         <listitem>
0383                                 <para>Removes the function. All its graphs will disappear.</para>
0384                         </listitem>
0385                 </varlistentry>
0386                 <varlistentry>
0387                         <term><menuchoice><guimenuitem>Animate Plot...</guimenuitem>
0388                                 </menuchoice></term>
0389                         <listitem>
0390                                 <para>Displays the <guilabel>Parameter Animator</guilabel> dialog.</para>
0391                         </listitem>
0392                 </varlistentry>
0393                 <varlistentry>
0394                         <term><menuchoice><guimenuitem>Calculator</guimenuitem>
0395                                 </menuchoice></term>
0396                         <listitem>
0397                                 <para>Opens the <guilabel>Calculator</guilabel> dialog.</para>
0398                         </listitem>
0399                 </varlistentry>
0400         </variablelist>
0401 
0402         <para>Depending on the plot type, there will also be up to five tools available:</para>
0403 
0404         <variablelist>
0405                 <varlistentry>
0406                         <term><menuchoice><guimenuitem>Copy (x, y)</guimenuitem>
0407                                 </menuchoice></term>
0408                         <listitem>
0409                                 <para>Copies the current value on the plot to the system clipboard.
0410                                         This tool can be useful for creating tables of function values outside of &kmplot;.
0411                                 </para>
0412                         </listitem>
0413                 </varlistentry>
0414 
0415                 <varlistentry>
0416                         <term><menuchoice><guimenuitem>Copy Root Value</guimenuitem>
0417                                 </menuchoice></term>
0418                         <listitem>
0419                             <para>Copies the root <literal>x</literal> value to the system clipboard.
0420                                         Only up to the first five digits after the decimal point can be copied.
0421                                         Use some <ulink url="https://en.wikipedia.org/wiki/Computer_algebra_system">computer algebra system</ulink> to determine this root with arbitrary precision.
0422                                         This tool is only available when the current tracking position is close to a root.
0423                                 </para>
0424                         </listitem>
0425                 </varlistentry>
0426 
0427                 <varlistentry>
0428                         <term><menuchoice><guimenuitem>Plot Area...</guimenuitem>
0429                                 </menuchoice></term>
0430                         <listitem>
0431                                 <para>Select the minimum and maximum horizontal values for the graph in the new dialog that appears.
0432                                         Calculates the integral and draws the area between the graph and the horizontal axis in the
0433                                         selected range in the color of the graph.
0434                                 </para>
0435                         </listitem>
0436                 </varlistentry>
0437 
0438                 <varlistentry>
0439                         <term><menuchoice><guimenuitem>Find Minimum...</guimenuitem>
0440                                 </menuchoice></term>
0441                         <listitem>
0442                                 <para>
0443                                         Find the minimum value of the graph in a specified range. The
0444                                         selected graph will be highlighted in the dialog that appears. Enter
0445                                         the lower and upper boundaries of the region in which you want to
0446                                         search for a minimum.
0447                                 </para>
0448                                 <para>
0449                                         Note: You can also tell the plot to visually show the extreme points in the <guilabel>Plot Appearance</guilabel> dialog, accessible in the <guilabel>Functions</guilabel> sidebar by clicking on <guibutton>Advanced...</guibutton>.
0450                                 </para>
0451                         </listitem>
0452                 </varlistentry>
0453 
0454                 <varlistentry>
0455                         <term><menuchoice><guimenuitem>Find Maximum...</guimenuitem>
0456                                 </menuchoice></term>
0457                         <listitem>
0458                                 <para>This is the same as <guimenuitem>Find Minimum...</guimenuitem> above, but finds the maximum value instead of the minimum value.</para>
0459                         </listitem>
0460                 </varlistentry>
0461 
0462         </variablelist>
0463 </sect1>
0464 
0465 </chapter>
0466 
0467 <chapter id="configuration">
0468 <title>Configuring &kmplot;</title>
0469 <para>To access the &kmplot; configuration
0470         dialog, select <menuchoice><guimenu>Settings</guimenu><guimenuitem>Configure
0471     &kmplot;...</guimenuitem></menuchoice> menu item.
0472         The settings for <guimenuitem>Constants...</guimenuitem> can only be changed
0473         from the <guimenu>Edit</guimenu> menu and the <guimenuitem>Coordinate System...</guimenuitem> only
0474         from the <guimenu>View</guimenu> menu.</para>
0475 
0476 <sect1 id="general-config">
0477         <title>General Configuration</title>
0478 
0479         <screenshot>
0480                 <screeninfo>Screenshot of the General Settings dialog</screeninfo>
0481                 <mediaobject>
0482                         <imageobject>
0483                                 <imagedata fileref="settings-general.png" format="PNG"/>
0484                         </imageobject>
0485                         <textobject>
0486                                 <phrase>Screenshot of the General Settings dialog</phrase>
0487                         </textobject>
0488                 </mediaobject>
0489         </screenshot>
0490 
0491     <para>Here you can set global settings which automatic will be saved when you exit &kmplot;. You can set angle-mode (radians and degrees), zoom in and zoom out factors for zooming using &Ctrl; with mouse wheel or the <link linkend="a-view-menu">corresponding menu items</link>, and whether to show advanced plot tracing.</para>
0492 </sect1>
0493 
0494 <sect1 id="diagram-config">
0495         <title>Diagram Configuration</title>
0496 
0497         <screenshot>
0498                 <screeninfo>Screenshot of the Diagram Appearance dialog</screeninfo>
0499                 <mediaobject>
0500                         <imageobject>
0501                                 <imagedata fileref="settings-diagram.png" format="PNG"/>
0502                         </imageobject>
0503                         <textobject>
0504                                 <phrase>Screenshot of the Diagram Appearance dialog</phrase>
0505                         </textobject>
0506                 </mediaobject>
0507         </screenshot>
0508 
0509         <para>You can set the <guilabel>Grid Style</guilabel> to one of four options:
0510                 <variablelist>
0511 
0512                         <varlistentry>
0513                                 <term><guilabel>None</guilabel></term>
0514                                 <listitem>
0515                                         <para>No gridlines are drawn on the plot area.</para>
0516                                 </listitem>
0517                         </varlistentry>
0518 
0519                         <varlistentry>
0520                                 <term><guilabel>Lines</guilabel></term>
0521                                 <listitem>
0522                                         <para>Straight lines form a grid of squares on the plot area.</para>
0523                                 </listitem>
0524                         </varlistentry>
0525 
0526                         <varlistentry>
0527                                 <term><guilabel>Crosses</guilabel></term>
0528                                 <listitem>
0529                                         <para>Crosses are drawn to indicate points where x and y have integer values
0530                                                 (&eg;, (1,1), (4,2) &etc;).</para>
0531                                 </listitem>
0532                         </varlistentry>
0533 
0534                         <varlistentry>
0535                                 <term><guilabel>Polar</guilabel></term>
0536                                 <listitem>
0537                                         <para>Lines of constant radius and of constant angle are drawn on the plot
0538                                                 area.</para>
0539                                 </listitem>
0540                         </varlistentry>
0541                 </variablelist>
0542         </para>
0543 
0544         <para>Other options for the diagram appearance can also be configured:
0545                 <variablelist>
0546                         <varlistentry>
0547                                 <term><guilabel>Axis Labels</guilabel></term>
0548                                 <listitem>
0549                                         <para>This section sets labels for the horizontal and vertical axes.</para>
0550                                 </listitem>
0551                         </varlistentry>
0552 
0553                         <varlistentry>
0554                                 <term><guilabel>Axis widths:</guilabel></term>
0555                                 <listitem>
0556                                         <para>Sets the width of the lines representing the axes.</para>
0557                                 </listitem>
0558                         </varlistentry>
0559 
0560                         <varlistentry>
0561                                 <term><guilabel>Line width:</guilabel></term>
0562                                 <listitem>
0563                                         <para>Sets the width of the lines used for drawing the grid.</para>
0564                                 </listitem>
0565                         </varlistentry>
0566 
0567                         <varlistentry>
0568                                 <term><guilabel>Tic width:</guilabel></term>
0569                                 <listitem>
0570                                         <para>Sets the width of the lines representing tics on the axes.</para>
0571                                 </listitem>
0572                         </varlistentry>
0573 
0574                         <varlistentry>
0575                                 <term><guilabel>Tic length:</guilabel></term>
0576                                 <listitem>
0577                                         <para>Sets the length of the lines representing tics on the axes.</para>
0578                                 </listitem>
0579                         </varlistentry>
0580 
0581                         <varlistentry>
0582                                 <term><guilabel>Show labels</guilabel></term>
0583                                 <listitem>
0584                                         <para>If checked, the names of the axes are shown on the plot and the axes' tics are labeled.</para>
0585                                 </listitem>
0586                         </varlistentry>
0587 
0588                         <varlistentry>
0589                                 <term><guilabel>Show axes</guilabel></term>
0590                                 <listitem>
0591                                         <para>If checked, the axes are visible.</para>
0592                                 </listitem>
0593                         </varlistentry>
0594 
0595                         <varlistentry>
0596                                 <term><guilabel>Show arrows</guilabel></term>
0597                                 <listitem>
0598                                         <para>If checked, the axes are displayed with arrows at their ends.</para>
0599                                 </listitem>
0600                         </varlistentry>
0601 
0602                 </variablelist>
0603 
0604         </para>
0605 </sect1>
0606 
0607 <sect1 id="colors-config">
0608         <title>Colors Configuration</title>
0609 
0610         <screenshot>
0611                 <screeninfo>Screenshot of the Colors dialog</screeninfo>
0612                 <mediaobject>
0613                         <imageobject>
0614                                 <imagedata fileref="settings-colors.png" format="PNG"/>
0615                         </imageobject>
0616                         <textobject>
0617                                 <phrase>Screenshot of the Colors dialog</phrase>
0618                         </textobject>
0619                 </mediaobject>
0620         </screenshot>
0621 
0622         <para>
0623                 In the <guilabel>Coords</guilabel> section of the <guilabel>Colors</guilabel>
0624                 configuration dialog, you can change the colors of the axes, the grid and the background of the
0625                 main &kmplot; area.
0626         </para>
0627 
0628         <para>The <guilabel>Default Function Colors</guilabel> control which colors are cycled through when creating new functions.</para>
0629 </sect1>
0630 
0631 <sect1 id="font-config">
0632         <title>Fonts Configuration</title>
0633 
0634         <screenshot>
0635                 <screeninfo>Screenshot of the Fonts dialog</screeninfo>
0636                 <mediaobject>
0637                         <imageobject>
0638                                 <imagedata fileref="settings-fonts.png" format="PNG"/>
0639                         </imageobject>
0640                         <textobject>
0641                                 <phrase>Screenshot of the Fonts dialog</phrase>
0642                         </textobject>
0643                 </mediaobject>
0644         </screenshot>
0645 
0646         <variablelist>
0647 
0648                 <varlistentry>
0649                         <term><guilabel>Axes labels:</guilabel></term>
0650                         <listitem>
0651                                 <para>The font used for drawing the axis numbers and x/y labels.</para>
0652                         </listitem>
0653                 </varlistentry>
0654 
0655                 <varlistentry>
0656                         <term><guilabel>Diagram labels:</guilabel></term>
0657                         <listitem>
0658                                 <para>The font used for drawing diagram labels (&eg;, those showing the plot name or extreme points).</para>
0659                         </listitem>
0660                 </varlistentry>
0661                 <varlistentry>
0662                         <term><guilabel>Header table:</guilabel></term>
0663                         <listitem>
0664                                 <para>The font used for drawing the header when printing a plot.</para>
0665                         </listitem>
0666                 </varlistentry>
0667 
0668         </variablelist>
0669 </sect1>
0670 
0671 </chapter>
0672 
0673 <chapter id="reference">
0674 <title>&kmplot; Reference</title>
0675 
0676 <sect1 id="func-syntax">
0677         <title>Function Syntax</title>
0678 
0679         <para>Some syntax rules must be complied with:</para>
0680 
0681         <screen>
0682                 <userinput>name(var1[, var2])=term [;extensions]</userinput>
0683         </screen>
0684 
0685 
0686         <variablelist>
0687                 <varlistentry>
0688                         <term>name</term>
0689                         <listitem>
0690 
0691                                 <para>The function name.  If the first character is <quote>r</quote>
0692                                         the parser assumes that you are using polar coordinates.  If the first
0693                                         character is <quote>x</quote> (for instance <quote>xfunc</quote>) the
0694                                         parser expects a second function with a leading <quote>y</quote> (here
0695                                         <quote>yfunc</quote>) to define the function in parametric form.
0696                                 </para>
0697                         </listitem>
0698                 </varlistentry>
0699                 <varlistentry>
0700                         <term>var1</term>
0701                         <listitem><para>The function's variable.</para></listitem>
0702                 </varlistentry>
0703                 <varlistentry>
0704                         <term>var2</term>
0705                         <listitem><para> The function <quote>group parameter</quote>. It must be
0706                                         separated from the function's variable by a comma. You can use the group
0707                                         parameter to, for example, plot a number of graphs from one function. The parameter values can be selected manually or you can choose to have a slider bar that controls one parameter. By changing the value of the slider the value parameter will be changed. The slider can be set to an integer between 0 and 100.</para></listitem>
0708                 </varlistentry>
0709                 <varlistentry>
0710                         <term>term</term>
0711                         <listitem><para>The expression defining the function.</para></listitem>
0712                 </varlistentry>
0713         </variablelist>
0714 </sect1>
0715 
0716 <sect1 id="func-predefined">
0717         <title>Predefined Function Names and Constants</title>
0718 
0719         <para>
0720                 All the predefined functions and constants that &kmplot; knows can be shown by
0721                 selecting <menuchoice><guimenu>Help</guimenu><guimenuitem>Predefined Math Functions</guimenuitem>
0722                 </menuchoice>, which displays this page of &kmplot;'s handbook.
0723         </para>
0724 
0725         <para>
0726                 These functions and constants and even all user defined functions can
0727                 be used to determine the axes settings as well. See <xref linkend="axes-config"/>.
0728         </para>
0729 
0730         <sect2 id="trigonometric-functions">
0731                 <title>Trigonometric Functions</title>
0732 
0733                 <para>
0734                         By default, the trigonometric functions work in radians. However, this can be changed via <menuchoice><guimenu>Settings</guimenu><guimenuitem>Configure &kmplot;...</guimenuitem></menuchoice> menu item.
0735                 </para>
0736 
0737                 <variablelist>
0738 
0739                         <varlistentry>
0740                                 <term>sin(x)</term>
0741                                 <term>arcsin(x)</term>
0742                                 <term>cosec(x)</term>
0743                                 <term>arccosec(x)</term>
0744                                 <listitem><para>The sine, inverse sine, cosecant and inverse cosecant respectively.</para></listitem>
0745                         </varlistentry>
0746 
0747                         <varlistentry>
0748                                 <term>cos(x)</term>
0749                                 <term>arccos(x)</term>
0750                                 <term>sec(x)</term>
0751                                 <term>arcsec(x)</term>
0752                                 <listitem><para>The cosine, inverse cosine, secant and inverse secant respectively.</para></listitem>
0753                         </varlistentry>
0754 
0755                         <varlistentry>
0756                                 <term>tan(x)</term>
0757                                 <term>arctan(x)</term>
0758                                 <term>cot(x)</term>
0759                                 <term>arccot(x)</term>
0760                                 <listitem><para>The tangent, inverse tangent, cotangent and inverse cotangent respectively.</para></listitem>
0761                         </varlistentry>
0762 
0763                 </variablelist>
0764         </sect2>
0765 
0766         <sect2 id="hyperbolic-functions">
0767                 <title>Hyperbolic Functions</title>
0768                 <para>The Hyperbolic Functions.</para>
0769 
0770                 <variablelist>
0771 
0772                         <varlistentry>
0773                                 <term>sinh(x)</term>
0774                                 <term>arcsinh(x)</term>
0775                                 <term>cosech(x)</term>
0776                                 <term>arccosech(x)</term>
0777                                 <listitem><para>The hyperbolic sine, inverse sine, cosecant and inverse cosecant respectively.</para></listitem>
0778                         </varlistentry>
0779 
0780                         <varlistentry>
0781                                 <term>cosh(x)</term>
0782                                 <term>arccosh(x)</term>
0783                                 <term>sech(x)</term>
0784                                 <term>arcsech(x)</term>
0785                                 <listitem><para>The hyperbolic cosine, inverse cosine, secant and inverse secant respectively.</para></listitem>
0786                         </varlistentry>
0787 
0788                         <varlistentry>
0789                                 <term>tanh(x)</term>
0790                                 <term>arctanh(x)</term>
0791                                 <term>coth(x)</term>
0792                                 <term>arccoth(x)</term>
0793                                 <listitem><para>The hyperbolic tangent, inverse tangent, cotangent and inverse cotangent respectively.</para></listitem>
0794                         </varlistentry>
0795 
0796                 </variablelist>
0797         </sect2>
0798 
0799         <sect2 id="other-functions">
0800                 <title>Other Functions</title>
0801                 <variablelist>
0802 
0803                         <varlistentry>
0804                                 <term>sqr(x)</term>
0805                                 <listitem><para>The square x^2 of x.</para></listitem>
0806                         </varlistentry>
0807 
0808                         <varlistentry>
0809                                 <term>sqrt(x)</term>
0810                                 <listitem><para>The square root of x.</para></listitem>
0811                         </varlistentry>
0812 
0813                         <varlistentry>
0814                                 <term>sign(x)</term>
0815                                 <listitem><para>The sign of x. Returns 1 if x is positive, 0 if x is zero, or &minus;1 if x is negative.</para></listitem>
0816                         </varlistentry>
0817 
0818                         <varlistentry>
0819                                 <term>H(x)</term>
0820                                 <listitem><para>The Heaviside Step Function. Returns 1 if x is positive, 0.5 if x is zero, or 0 if x is negative.</para></listitem>
0821                         </varlistentry>
0822 
0823                         <varlistentry>
0824                                 <term>exp(x)</term>
0825                                 <listitem><para>The exponent e^x of x.</para></listitem>
0826                         </varlistentry>
0827 
0828                         <varlistentry>
0829                                 <term>ln(x)</term>
0830                                 <listitem><para>The natural logarithm (inverse exponent) of x.</para></listitem>
0831                         </varlistentry>
0832 
0833                         <varlistentry>
0834                                 <term>log(x)</term>
0835                                 <listitem><para>The logarithm of x to base 10.</para></listitem>
0836                         </varlistentry>
0837 
0838                         <varlistentry>
0839                                 <term>abs(x)</term>
0840                                 <listitem><para>The absolute value of x.</para></listitem>
0841                         </varlistentry>
0842 
0843                         <varlistentry>
0844                                 <term>floor(x)</term>
0845                                 <listitem><para>Rounds x to closest integer less than or equal to x.</para></listitem>
0846                         </varlistentry>
0847 
0848                         <varlistentry>
0849                                 <term>ceil(x)</term>
0850                                 <listitem><para>Rounds x to the closest integer greater than or equal to x.</para></listitem>
0851                         </varlistentry>
0852 
0853                         <varlistentry>
0854                                 <term>round(x)</term>
0855                                 <listitem><para>Rounds x to the closest integer.</para></listitem>
0856                         </varlistentry>
0857 
0858                         <varlistentry>
0859                                 <term>gamma(x)</term>
0860                                 <listitem><para>The gamma function.</para></listitem>
0861                         </varlistentry>
0862 
0863                         <varlistentry>
0864                                 <term>factorial(x)</term>
0865                                 <listitem><para>The factorial of x.</para></listitem>
0866                         </varlistentry>
0867 
0868                         <varlistentry>
0869                                 <term>min(x<subscript>1</subscript>,x<subscript>2</subscript>,...,x<subscript>n</subscript>)</term>
0870                                 <listitem><para>Returns the minimum of the set of numbers {x<subscript>1</subscript>,x<subscript>2</subscript>,...,x<subscript>n</subscript>}.</para></listitem>
0871                         </varlistentry>
0872 
0873                         <varlistentry>
0874                                 <term>max(x<subscript>1</subscript>,x<subscript>2</subscript>,...,x<subscript>n</subscript>)</term>
0875                                 <listitem><para>Returns the maximum of the set of numbers {x<subscript>1</subscript>,x<subscript>2</subscript>,...,x<subscript>n</subscript>}.</para></listitem>
0876                         </varlistentry>
0877 
0878                         <varlistentry>
0879                                 <term>mod(x<subscript>1</subscript>,x<subscript>2</subscript>,...,x<subscript>n</subscript>)</term>
0880                                 <listitem><para>Returns the modulus (Euclidean length) of the set of numbers {x<subscript>1</subscript>,x<subscript>2</subscript>,...,x<subscript>n</subscript>}.</para></listitem>
0881                         </varlistentry>
0882 
0883                         <!-- TODO: Legendre polynomials -->
0884 
0885                 </variablelist>
0886         </sect2>
0887 
0888         <sect2>
0889                 <title>Predefined Constants</title>
0890                 <variablelist>
0891 
0892                         <varlistentry>
0893                                 <term>pi</term>
0894                                 <term>&pgr;</term>
0895                                 <listitem>
0896                                         <para>Constants representing &pgr; (3.14159...).</para>
0897                                 </listitem>
0898                         </varlistentry>
0899 
0900                         <varlistentry>
0901                                 <term>e</term>
0902                                 <listitem>
0903                                         <para>Constant representing Euler's Number e (2.71828...).</para>
0904                                 </listitem>
0905                         </varlistentry>
0906 
0907                 </variablelist>
0908         </sect2>
0909 </sect1>
0910 
0911 <sect1 id="func-extension"> <!--FIXME does this still work-->
0912         <title>Extensions</title>
0913         <para>An extension for a function is specified by entering a semicolon,
0914                 followed by the extension, after the function definition. The extension can be entered by using the &DBus; method <quote><methodname>parser addFunction</methodname></quote>. None of the extensions are available
0915 for parametric functions but N and D[a,b] work for polar functions too. For example:
0916                 <screen>
0917                         <userinput>
0918                                 f(x)=x^2; A1
0919                         </userinput>
0920                 </screen>
0921                 will show the graph y=x<superscript>2</superscript> with its first
0922                 derivative. Supported extensions are described below:
0923                 <variablelist>
0924                         <varlistentry>
0925                                 <term>N</term>
0926                                 <listitem>
0927                                         <para>
0928                                                 The function will be stored but not be drawn.
0929                                                 It can be used like any other user-defined or predefined function.
0930                                         </para>
0931                                 </listitem>
0932                         </varlistentry>
0933                         <varlistentry>
0934                                 <term>A1</term>
0935                                 <listitem>
0936                                         <para>
0937                                                 The graph of the derivative of the function will be drawn
0938                                                 additionally with the same color but less line width.
0939                                         </para>
0940                                 </listitem>
0941                         </varlistentry>
0942                         <varlistentry>
0943                                 <term>A2</term>
0944                                 <listitem>
0945                                         <para>
0946                                                 The graph of the second derivative of the function will be
0947                                                 drawn additionally with the same color but less line width.
0948                                         </para>
0949                                 </listitem>
0950                         </varlistentry>
0951                         <varlistentry>
0952                                 <term>D[a,b]</term>
0953                                 <listitem>
0954                                         <para>
0955                                                 Sets the domain for which the function will be displayed.
0956                                         </para>
0957                                 </listitem>
0958                         </varlistentry>
0959                         <varlistentry>
0960                                 <term>P[a{,b...}]</term>
0961                                 <listitem>
0962                                         <para>
0963                                                 Give a set of values of a group parameter for which the function should be
0964                                                 displayed. For example: <userinput>f(x,k)=k*x;P[1,2,3]</userinput> will plot
0965                                                 the functions f(x)=x, f(x)=2*x and f(x)=3*x. You can also use functions as the
0966                                                 arguments to the P option.
0967                                         </para>
0968                                 </listitem>
0969                         </varlistentry>
0970                 </variablelist>
0971         </para>
0972         <para>
0973                 Please note that you can do all of these operations by editing the items in the <guilabel>Derivatives</guilabel> tab, the <guilabel>Custom plot range</guilabel> section and the <guilabel>Parameters</guilabel> section in the <guilabel>Functions</guilabel> sidebar too.
0974         </para>
0975 </sect1>
0976 
0977 <sect1 id="math-syntax">
0978         <title>Mathematical Syntax</title>
0979         <para>&kmplot; uses a common way of expressing mathematical functions, so you
0980                 should have no trouble working it out. The operators &kmplot; understands are,
0981                 in order of decreasing precedence:
0982                 <variablelist>
0983 
0984                         <varlistentry>
0985                                 <term>^</term>
0986                                 <listitem><para>The caret symbol performs exponentiation. &eg;,
0987                                                 <userinput>2^4</userinput> returns 16.</para>
0988                                 </listitem>
0989                         </varlistentry>
0990 
0991                         <varlistentry>
0992                                 <term>*</term>
0993                                 <term>/</term>
0994                                 <listitem>
0995                                         <para>The asterisk and slash symbols perform multiplication and
0996                                                 division . &eg;,
0997                                                 <userinput>3*4/2</userinput> returns 6.</para>
0998                                 </listitem>
0999                         </varlistentry>
1000 
1001                         <varlistentry>
1002                                 <term>+</term>
1003                                 <term>&minus;</term>
1004                                 <listitem><para>The plus and minus symbols perform addition and
1005                                                 subtraction. &eg;, <userinput>1+3&minus;2</userinput> returns 2.</para>
1006                                 </listitem>
1007                         </varlistentry>
1008 
1009                         <varlistentry>
1010                                 <term>&lt;</term>
1011                                 <term>&gt;</term>
1012                                 <term>&le;</term>
1013                                 <term>&ge;</term>
1014                                 <listitem><para>Comparison operators. They return 1 if the expression is true, otherwise they return 0.
1015                                                 &eg;, <userinput>1 &le; 2</userinput> returns 1.</para>
1016                                 </listitem>
1017                         </varlistentry>
1018 
1019                         <varlistentry>
1020                                 <term>&radic;</term>
1021                                 <listitem><para>The square root of a number.
1022                                                 &eg;, <userinput>&radic;4</userinput> returns 2.</para>
1023                                 </listitem>
1024                         </varlistentry>
1025 
1026                         <varlistentry>
1027                                 <term>|x|</term>
1028                                 <listitem><para>The absolute value of x.  &eg;,
1029                                                 <userinput>|&minus;4|</userinput> returns 4.</para>
1030                                 </listitem>
1031                         </varlistentry>
1032 
1033                         <varlistentry>
1034                                 <term>&plusmn;</term>
1035                                 <term></term>
1036                                 <listitem><para>Each plus-minus sign gives two sets of plots: one in which the plus is taken, and one in which the minus is taken.&eg;.
1037                                                 <userinput>y = &plusmn;sqrt(1&minus;x^2)</userinput> will draw a circle.
1038                                                 These, therefore, cannot be used in constants.</para>
1039                                 </listitem>
1040                         </varlistentry>
1041 
1042 
1043 
1044                 </variablelist>
1045         </para>
1046         <para>
1047                 Note the precedence, which means that if parentheses are not used,
1048                 exponentiation is performed before multiplication/division, which is performed
1049                 before addition/subtraction. So <userinput>1+2*4^2</userinput> returns 33, and
1050                 not, say 144. To override this, use parentheses. To use the above example,
1051                 <userinput>((1+2)*4)^2</userinput> <emphasis>will</emphasis> return 144.
1052         </para>
1053 </sect1>
1054 
1055 <sect1 id="coord-area"><title>Plotting Area</title>
1056         <para>
1057                 By default, explicitly given functions are plotted for the whole of the visible part of the
1058                 horizontal axis. You can specify an other range in the edit-dialog for the function.
1059                 If the plotting area contains the resulting point it is connected to the last
1060                 drawn point by a line.
1061         </para>
1062         <para>
1063                 Parametric and polar functions have a default plotting range of 0 to 2&pgr;.
1064                 This plotting range can also be changed in the <guilabel>Functions</guilabel> sidebar.
1065         </para>
1066 </sect1>
1067 
1068 <sect1 id="coord-cross">
1069         <title>Crosshair Cursor</title>
1070         <para>
1071                 While the mouse cursor is over the plotting area the cursor changes to a crosshair. The current coordinates can be seen at the intersections with the coordinate axes and also in the status bar at the bottom of the main window.
1072         </para>
1073         <para>
1074                 You can trace a function's values more precisely by clicking onto or next to a graph. The selected function is shown in the status bar in the right column. The crosshair then will be caught and be colored in the same color as the graph. If the graph has the same color as the background color, the crosshair will have the inverted color of the background. When moving the mouse or pressing the keys &Left; or &Right; the crosshair will follow the function and you see the current horizontal and vertical value. If the crosshair is close to  vertical axis, the root-value is shown in the statusbar. You can switch function with the &Up; and &Down; keys. A second click anywhere in the window or pressing any non-navigating key will leave this trace mode.
1075         </para>
1076         <para>
1077                 For more advanced tracing, open up the configuration dialog, and select <guilabel>Draw tangent and normal when tracing</guilabel> from the <guilabel>General Settings</guilabel> page. This option will draw the tangent, normal and oscillating circle of the plot currently being traced.
1078         </para>
1079 
1080 </sect1>
1081 
1082 <sect1 id="coords-config">
1083         <title>Coordinate System Configuration</title>
1084         <para>To open this dialog select <menuchoice><guimenu>View</guimenu><guimenuitem>Coordinate System...</guimenuitem></menuchoice> from the menubar.</para>
1085         <screenshot>
1086                 <screeninfo>Screenshot of the Coordinate System dialog</screeninfo>
1087                 <mediaobject>
1088                         <imageobject>
1089                                 <imagedata fileref="settings-coords.png" format="PNG"/>
1090                         </imageobject>
1091                         <textobject>
1092                                 <phrase>Screenshot of the Coordinate System dialog</phrase>
1093                         </textobject>
1094                 </mediaobject>
1095         </screenshot>
1096 
1097         <sect2 id="axes-config">
1098                 <title>Axes Configuration</title>
1099                 <para>
1100                         <variablelist>
1101 
1102                                 <varlistentry>
1103                                         <term><guilabel>Horizontal axis Range</guilabel></term>
1104                                         <listitem>
1105                                                 <para>Sets the range for the horizontal axis scale.
1106                                                         Note that you can use the
1107                                                         predefined functions and constants (see <xref linkend="func-predefined"/>) as
1108                                                         the extremes of the range (&eg;, set <guilabel>Min:</guilabel> to
1109                                                         <userinput>2*pi</userinput>). You can even use functions you have defined to
1110                                                         set the extremes of the axis range. For example, if you have defined a function
1111                                                         <userinput>f(x) = x^2</userinput>, you could set <guilabel>Min:</guilabel> to
1112                                                         <userinput>f(3)</userinput>, which would make the lower end of the range equal
1113                                                         to 9.</para>
1114                                         </listitem>
1115                                 </varlistentry>
1116 
1117                                 <varlistentry>
1118                                   <term><guilabel>Vertical axis Range</guilabel></term>
1119                                         <listitem>
1120                                                 <para>Sets the range for the vertical axis. See <quote>Horizontal axis Range</quote> above.</para>
1121                                         </listitem>
1122                                 </varlistentry>
1123 
1124                                 <varlistentry>
1125                                         <term><guilabel>Horizontal axis Grid Spacing</guilabel></term>
1126                                         <listitem>
1127                                                 <para>This controls the spacing between grid lines in the horizontal direction.
1128                                                         If <guilabel>Automatic</guilabel> is selected, then &kmplot; will try to find a grid line spacing of about two centimeters that is also numerically nice.
1129                                                         If <guilabel>Custom:</guilabel> is selected, then you can enter the horizontal grid spacing. This value will be used regardless of the zoom. For example, if a value of 0.5 is entered, and the x range is 0 to 8, then 16 grid lines will be shown.
1130                                                 </para>
1131                                         </listitem>
1132                                 </varlistentry>
1133 
1134                                 <varlistentry>
1135                                         <term><guilabel>Vertical axis Grid Spacing</guilabel></term>
1136                                         <listitem>
1137                                                 <para>This controls the spacing between grid lines in the vertical direction.
1138                                                         See <quote>Horizontal axis Grid Spacing</quote> above.
1139                                                 </para>
1140                                         </listitem>
1141                                 </varlistentry>
1142 
1143                         </variablelist>
1144                 </para>
1145 
1146         </sect2>
1147 </sect1>
1148 
1149 <sect1 id="constants-config">
1150         <title>Constants Configuration</title>
1151         <para>To open this dialog select <menuchoice><guimenu>Edit</guimenu><guimenuitem>Constants...</guimenuitem></menuchoice> from the menubar.</para>
1152 
1153         <screenshot>
1154                 <screeninfo>Screenshot of the Constants dialog</screeninfo>
1155                 <mediaobject>
1156                         <imageobject>
1157                                 <imagedata fileref="settings-constants.png" format="PNG"/>
1158                         </imageobject>
1159                         <textobject>
1160                                 <phrase>Screenshot of the Constants dialog</phrase>
1161                         </textobject>
1162                 </mediaobject>
1163         </screenshot>
1164 
1165         <para>
1166                 Constants can be used as part of an expression anywhere inside of &kmplot;. Each constant must have a name and a value. Some names are invalid, however, such as existing function names or existing constants.
1167         </para>
1168 
1169         <para>
1170                 There are two options that control the scope of a constant:
1171 
1172                 <variablelist>
1173 
1174                         <varlistentry>
1175                                 <term><guilabel>Document</guilabel></term>
1176                                 <listitem>
1177                                         <para>If you select the <guilabel>Document</guilabel> checkbox, then the Constant will be saved along with the current diagram when you save it to file. However, unless you have also selected the <guilabel>Global</guilabel> option, the constant will not be available between instances of &kmplot;.</para>
1178                                 </listitem>
1179                         </varlistentry>
1180 
1181                         <varlistentry>
1182                                 <term><guilabel>Global</guilabel></term>
1183                                 <listitem>
1184                                         <para>If you select the <guilabel>Global</guilabel> checkbox, then the Constant's name and value will be written to &kde; settings (where it can
1185 also be used by &kcalc;). The constant will not be lost when &kmplot; is closed, and will be available again for use when &kmplot; is started again.</para>
1186                                 </listitem>
1187                         </varlistentry>
1188 
1189                 </variablelist>
1190         </para>
1191 </sect1>
1192 
1193 </chapter>
1194 
1195 <chapter id="commands">
1196 <title>Command Reference</title>
1197 
1198 <sect1 id="menu">
1199 <title>Menu Items</title>
1200 
1201 <para>Apart from the common &kde; menus described in the <ulink url="help:/fundamentals/menus.html">Menu</ulink>
1202 chapter of the &kde; Fundamentals documentation &kmplot; has these application specific menu entries:
1203 </para>
1204 
1205 <sect2 id="a-file-menu">
1206         <title>The File Menu</title>
1207         <variablelist>
1208 
1209                 <varlistentry>
1210                         <term>
1211                                 <menuchoice>
1212                                         <guimenu>File</guimenu>
1213                                         <guimenuitem>Export...</guimenuitem></menuchoice></term>
1214                         <listitem><para><action>Exports</action> the plotted graphs to an image file in all formats supported by &kde;.</para></listitem>
1215                 </varlistentry>
1216                 <varlistentry>
1217                         <term>
1218                                 <menuchoice>
1219                                         <guimenu>File</guimenu>
1220                                         <guimenuitem>Print...</guimenuitem>
1221                                 </menuchoice>
1222                         </term>
1223                         <listitem>
1224                                 <para><action>Opens</action> print configuration window. Press the <guibutton>Options >></guibutton> button then choose the <guilabel>KmPlot Options</guilabel> tab to configure options that are specific for &kmplot;.</para>
1225                         </listitem>
1226                 </varlistentry>
1227                 <varlistentry>
1228                         <term>
1229                                 <menuchoice>
1230                                         <guimenu>File</guimenu>
1231                                         <guimenuitem>Print Preview</guimenuitem>
1232                                 </menuchoice>
1233                         </term>
1234                         <listitem>
1235                                 <para><action>Shows</action> the preliminary image of the current plot as printed on the current default printer. Press the rightmost button on the toolbar of the print preview window to configure options that are specific for &kmplot;.</para>
1236                         </listitem>
1237                 </varlistentry>
1238         </variablelist>
1239 </sect2>
1240 
1241 <sect2 id="a-edit-menu">
1242         <title>The Edit Menu</title>
1243         <variablelist>
1244                 <varlistentry>
1245                         <term><menuchoice><guimenu>Edit</guimenu><guimenuitem>Constants...</guimenuitem>
1246                                 </menuchoice></term>
1247                         <listitem><para>Displays the <guilabel>Constants Editor</guilabel> dialog box. See <xref linkend="constants-config"/>.
1248                                 </para>
1249                         </listitem>
1250                 </varlistentry>
1251         </variablelist>
1252 </sect2>
1253 
1254 <sect2 id="a-view-menu">
1255         <title>The View Menu</title>
1256         <para>The first three items in the menu are related to zooming.</para>
1257         <note>
1258                 <para>
1259                         The mouse wheel can also be used as a zoom control. To zoom in or out using the mouse, hold down the &Ctrl; key while you turn the mouse wheel. Each tick increases or decreases the zoom factor by the value defined in the <link linkend="general-config">&kmplot; General settings</link>.
1260                 </para>
1261         </note>
1262 
1263         <variablelist>
1264                 <varlistentry>
1265                         <term>
1266                                 <menuchoice>
1267                                         <shortcut>
1268                                                 <keycombo action="simul">&Ctrl;<keycap>1</keycap></keycombo>
1269                                         </shortcut>
1270                                         <guimenu>View</guimenu>
1271                                         <guimenuitem>Zoom In</guimenuitem>
1272                                 </menuchoice>
1273                         </term>
1274                         <listitem>
1275                                 <para>This tool can be operator in two different manners. To zoom in on a point on the graph, click on it. To zoom in on a specific section of the graph, hold and drag the mouse to form a rectangle, which will be the new axes ranges when the mouse button is released.</para>
1276                         </listitem>
1277                 </varlistentry>
1278 
1279                 <varlistentry>
1280                         <term>
1281                                 <menuchoice>
1282                                         <shortcut>
1283                                                 <keycombo action="simul">&Ctrl;<keycap>2</keycap></keycombo>
1284                                         </shortcut>
1285                                         <guimenu>View</guimenu>
1286                                         <guimenuitem>Zoom Out</guimenuitem>
1287                                 </menuchoice>
1288                         </term>
1289                         <listitem>
1290                                 <para>The tool can also be used in two different manners. To zoom out and center on a point, click on that point. To fit the existing view into a rectangle, hold and drag the mouse to form that rectangle.</para></listitem>
1291                 </varlistentry>
1292 
1293                 <varlistentry>
1294                         <term>
1295                                 <menuchoice>
1296                                         <guimenu>View</guimenu>
1297                                         <guimenuitem>Fit Widget to Trigonometric Functions</guimenuitem>
1298                                 </menuchoice>
1299                         </term>
1300                         <listitem><para>The scale will be adapted to trigonometric functions. This works both for radians and degrees.</para></listitem>
1301                 </varlistentry>
1302 
1303                 <varlistentry>
1304                         <term><menuchoice><guimenu>View</guimenu><guimenuitem>Reset View</guimenuitem>
1305                                 </menuchoice></term>
1306                         <listitem><para>Resets the view.
1307                                 </para>
1308                         </listitem>
1309                 </varlistentry>
1310 
1311                 <varlistentry>
1312                         <term><menuchoice><guimenu>View</guimenu><guimenuitem>Coordinate System...</guimenuitem>
1313                                 </menuchoice></term>
1314                         <listitem><para>Displays the <guilabel>Coordinate System</guilabel> dialog box. See <xref linkend="coords-config"/>.
1315                                 </para>
1316                         </listitem>
1317                 </varlistentry>
1318 
1319                 <varlistentry>
1320                         <term><menuchoice><guimenu>View</guimenu>
1321                                         <guimenuitem>Show Sliders</guimenuitem>
1322                                 </menuchoice></term>
1323                         <listitem>
1324                                 <para><action>Toggles</action> the visibility of the slider dialog.
1325                                 In the dialog move a slider to change the parameter of the function plot connected to it.</para>
1326                                 <para>Enable this on the Function tab and select one of the sliders to change the parameter value dynamically. The values vary from 0 (left) to 10 (right) by default, but can be changed in the slider dialog.</para>
1327                                 <para>For a small tutorial see <ulink url="https://userbase.kde.org/Special:MyLanguage/KmPlot/Using_Sliders">Using Sliders</ulink>.</para>
1328                                 <!--https://forum.kde.org/viewtopic.php?f=21&t=90183 kmplot slider examples
1329                                 KmPlot supports only one parameter. Feature request on bugs.kde.org: https://bugs.kde.org/show_bug.cgi?id=139097-->
1330                         </listitem>
1331                 </varlistentry>
1332 
1333         </variablelist>
1334 </sect2>
1335 
1336 <sect2 id="a-tools-menu">
1337         <title>The Tools Menu</title>
1338 
1339         <para>This menu contains some tools for the functions that can be useful:</para>
1340 
1341         <variablelist>
1342 
1343                 <varlistentry>
1344                         <term><menuchoice><guimenu>Tools</guimenu>
1345                                         <guimenuitem>Calculator</guimenuitem>
1346                                 </menuchoice></term>
1347                         <listitem>
1348                                 <para>Opens the <guilabel>Calculator</guilabel> dialog.</para>
1349                         </listitem>
1350                 </varlistentry>
1351 
1352                 <varlistentry>
1353                         <term><menuchoice><guimenu>Tools</guimenu>
1354                                         <guimenuitem>Plot Area...</guimenuitem>
1355                                 </menuchoice></term>
1356                         <listitem>
1357                                 <para>Select a graph and the values of the horizontal axis in the new dialog that appears.
1358                                         Calculates the integral and draws the area between the graph and the horizontal axis in the
1359                                         range of the selected values in the color of the graph.</para>
1360                         </listitem>
1361                 </varlistentry>
1362 
1363                 <varlistentry>
1364                         <term><menuchoice><guimenu>Tools</guimenu>
1365                                         <guimenuitem>Find Minimum...</guimenuitem>
1366                                 </menuchoice></term>
1367                         <listitem>
1368                                 <para>Find the minimum value of the graph in a specified range.</para>
1369                         </listitem>
1370                 </varlistentry>
1371 
1372                 <varlistentry>
1373                         <term><menuchoice><guimenu>Tools</guimenu>
1374                                         <guimenuitem>Find Maximum...</guimenuitem>
1375                                 </menuchoice></term>
1376                         <listitem>
1377                                 <para>Find the maximum value of the graph in a specified range.</para>
1378                         </listitem>
1379                 </varlistentry>
1380 
1381         </variablelist>
1382 </sect2>
1383 
1384 <sect2 id="a-help-menu">
1385         <title>The Help Menu</title>
1386 
1387         <para>&kmplot; has a standard &kde; <guimenu>Help</guimenu> with one addition:</para>
1388 
1389         <variablelist>
1390                 <varlistentry>
1391                         <term><menuchoice><guimenu>Help</guimenu>
1392                                         <guimenuitem>Predefined Math Functions...</guimenuitem>
1393                                 </menuchoice></term>
1394                         <listitem>
1395                                 <para>Opens this handbook with a list of the predefined function names and constants
1396                                         that &kmplot; knows.</para>
1397                         </listitem>
1398                 </varlistentry>
1399         </variablelist>
1400 
1401 </sect2>
1402 </sect1>
1403 
1404 </chapter>
1405 
1406 <chapter id="dbus">
1407         <title>Scripting &kmplot;</title>
1408         <para>You can write scripts for &kmplot; using &DBus;. For example, if you want to define a new function <userinput>f(x)=2sin x+3cos
1409 x</userinput>, set its line width to 20 and then draw it, you type in a console:</para>
1410         <para><command>qdbus org.kde.kmplot-PID /parser org.kde.kmplot.Parser.addFunction "f(x)=2sin x+3cos x" ""</command>
1411                 As a result, the new function's id number will be returned, or -1 if the function could not be defined.</para>
1412         <para><command>qdbus org.kde.kmplot-PID /parser org.kde.kmplot.Parser.setFunctionFLineWidth ID 20</command>
1413                 This command sets the function with the id number ID the line width to 20.</para>
1414         <para><command>qdbus org.kde.kmplot-PID /view org.kde.kmplot.View.drawPlot</command>
1415         This command repaints the window so that the function get visible.</para>
1416 <para>
1417         A list of the available functions:
1418         <variablelist>
1419                 <varlistentry>
1420                         <term>
1421                                 /kmplot org.kde.kmplot.KmPlot.fileOpen url
1422                         </term>
1423                         <listitem>
1424                                 <para>Load the file <parameter>url</parameter>.</para>
1425                         </listitem>
1426                 </varlistentry>
1427                 <varlistentry>
1428                         <term>
1429                                 /maindlg org.kde.kmplot.MainDlg.isModified
1430                         </term>
1431                         <listitem>
1432                                 <para>Returns true if any changes are done.</para>
1433                         </listitem>
1434                 </varlistentry>
1435                 <varlistentry>
1436                         <term>
1437                                 /maindlg org.kde.kmplot.MainDlg.checkModified
1438                         </term>
1439                         <listitem>
1440                                 <para>If there are any unsaved changes, a dialog appears to save, discard or cancel the plots.</para>
1441                         </listitem>
1442                 </varlistentry>
1443                 <varlistentry>
1444                         <term>
1445                                 /maindlg org.kde.kmplot.MainDlg.editAxes
1446                         </term>
1447                         <listitem>
1448                                 <para>Opens the coordinate system edit dialog.</para>
1449                         </listitem>
1450                 </varlistentry>
1451                 <varlistentry>
1452                         <term>
1453                                 /maindlg org.kde.kmplot.MainDlg.toggleShowSlider
1454                         </term>
1455                         <listitem>
1456                                 <para>Shows/hides parameter slider window.</para>
1457                         </listitem>
1458                 </varlistentry>
1459                 <varlistentry>
1460                         <term>
1461                                 /maindlg org.kde.kmplot.MainDlg.slotSave
1462                         </term>
1463                         <listitem>
1464                                 <para>Saves the functions (opens the save dialog if it is a new file).</para>
1465                         </listitem>
1466                 </varlistentry>
1467                 <varlistentry>
1468                         <term>
1469                                 /maindlg org.kde.kmplot.MainDlg.slotSaveas
1470                         </term>
1471                         <listitem>
1472                                 <para>The same as choosing the <menuchoice><guimenu>File</guimenu><guimenuitem>Save As...</guimenuitem></menuchoice> in the menu.</para>
1473                         </listitem>
1474                 </varlistentry>
1475                 <varlistentry>
1476                         <term>
1477                                 /maindlg org.kde.kmplot.MainDlg.slotPrint
1478                         </term>
1479                         <listitem>
1480                                 <para>Opens the print dialog.</para>
1481                         </listitem>
1482                 </varlistentry>
1483                 <varlistentry>
1484                         <term>
1485                                 /maindlg org.kde.kmplot.MainDlg.slotResetView
1486                         </term>
1487                         <listitem>
1488                                 <para>The same as choosing <menuchoice><guimenu>View</guimenu><guimenuitem>Reset View</guimenuitem></menuchoice> in the menu.</para>
1489                         </listitem>
1490                 </varlistentry>
1491                 <varlistentry>
1492                         <term>
1493                                 /maindlg org.kde.kmplot.MainDlg.slotExport
1494                         </term>
1495                         <listitem>
1496                                 <para>Opens the export dialog.</para>
1497                         </listitem>
1498                 </varlistentry>
1499                 <varlistentry>
1500                         <term>
1501                                 /maindlg org.kde.kmplot.MainDlg.slotSettings
1502                         </term>
1503                         <listitem>
1504                                 <para>Opens the settings dialog.</para>
1505                         </listitem>
1506                 </varlistentry>
1507                 <varlistentry>
1508                         <term>
1509                                 /maindlg org.kde.kmplot.MainDlg.slotNames
1510                         </term>
1511                         <listitem>
1512                                 <para>Shows the predefined math functions in the handbook.</para>
1513                         </listitem>
1514                 </varlistentry>
1515                 <varlistentry>
1516                         <term>
1517                                 /maindlg org.kde.kmplot.MainDlg.findMinimumValue
1518                         </term>
1519                         <listitem>
1520                                 <para>The same as choosing <menuchoice><guimenu>Tools</guimenu><guimenuitem>Minimum Value...</guimenuitem></menuchoice> in the menu.</para>
1521                         </listitem>
1522                 </varlistentry>
1523                 <varlistentry>
1524                         <term>
1525                                 /maindlg org.kde.kmplot.MainDlg.findMaximumValue
1526                         </term>
1527                         <listitem>
1528                                 <para>The same as choosing <menuchoice><guimenu>Tools</guimenu><guimenuitem>Maximum Value...</guimenuitem></menuchoice> in the menu.</para>
1529                         </listitem>
1530                 </varlistentry>
1531                 <varlistentry>
1532                         <term>
1533                                 /maindlg org.kde.kmplot.MainDlg.graphArea
1534                         </term>
1535                         <listitem>
1536                                 <para>The same as choosing <menuchoice><guimenu>Tools</guimenu><guimenuitem>Plot Area...</guimenuitem></menuchoice> in the menu.</para>
1537                         </listitem>
1538                 </varlistentry>
1539                 <varlistentry>
1540                         <term>
1541                                 /maindlg org.kde.kmplot.MainDlg.calculator
1542                         </term>
1543                         <listitem>
1544                                 <para>The same as choosing <menuchoice><guimenu>Tools</guimenu><guimenuitem>Calculator</guimenuitem></menuchoice> in the menu.</para>
1545                         </listitem>
1546                 </varlistentry>
1547                 <varlistentry>
1548                         <term>
1549                                 /parser org.kde.kmplot.Parser.addFunction f_str0 f_fstr1
1550                         </term>
1551                         <listitem>
1552                                 <para>Adds a new function with the expressions <parameter>f_str0</parameter> and <parameter>f_str1</parameter>. If the expression does not contain a function name, it will be auto-generated. The id number of the new function is returned, or -1 if the function could not be defined.</para>
1553                         </listitem>
1554                 </varlistentry>
1555                 <varlistentry>
1556                         <term>
1557                                 /parser org.kde.kmplot.Parser.removeFunction id
1558                         </term>
1559                         <listitem>
1560                                 <para>Removes the function with the id number <parameter>id</parameter>. If the function could not be deleted, false is returned, otherwise true.</para>
1561                         </listitem>
1562                 </varlistentry>
1563                 <varlistentry>
1564                         <term>
1565                                 /parser org.kde.kmplot.Parser.setFunctionExpression id eq f_str
1566                         </term>
1567                         <listitem>
1568                                 <para>Sets the expression for the function with the id number <parameter>id</parameter> to <parameter>f_str</parameter>. Returns true if it succeed, otherwise false.</para>
1569                         </listitem>
1570                 </varlistentry>
1571                 <varlistentry>
1572                         <term>
1573                                 /parser org.kde.kmplot.Parser.countFunctions
1574                         </term>
1575                         <listitem>
1576                                 <para>Returns the number of functions (parametric functions are calculated as two).</para>
1577                         </listitem>
1578                 </varlistentry>
1579 <!-- method double org.kde.kmplot.Parser.fkt(uint id, uint eq, double eq) what is this?-->
1580                 <varlistentry>
1581                   <term>
1582                     /parser org.kde.kmplot.Parser.listFunctionNames
1583                   </term>
1584                   <listitem>
1585                     <para>Returns a list with all functions.</para>
1586                   </listitem>
1587                 </varlistentry>
1588                 <varlistentry>
1589                   <term>
1590                     /parser org.kde.kmplot.Parser.fnameToID f_str
1591                   </term>
1592                   <listitem>
1593                     <para>Returns the id number of <parameter>f_str</parameter> or -1 if the function name <parameter>f_str</parameter> was not found.</para>
1594                   </listitem>
1595                 </varlistentry>
1596                 <varlistentry>
1597                   <term>
1598                     /parser org.kde.kmplot.Parser.functionFVisible id
1599                   </term>
1600                   <listitem>
1601                     <para>Returns true if the function with the ID <parameter>id</parameter> is visible, otherwise false.</para>
1602                   </listitem>
1603                 </varlistentry>
1604                 <varlistentry>
1605                   <term>
1606                     /parser org.kde.kmplot.Parser.functionF1Visible id
1607                   </term>
1608                   <listitem>
1609                     <para>Returns true if the first derivative of the function with the ID <parameter>id</parameter> is visible, otherwise false.</para>
1610                   </listitem>
1611                 </varlistentry>
1612                 <varlistentry>
1613                   <term>
1614                     /parser org.kde.kmplot.Parser.functionF2Visible id
1615                   </term>
1616                   <listitem>
1617                     <para>Returns true if the second derivative of the function with the ID <parameter>id</parameter> is visible, otherwise false.</para>
1618                   </listitem>
1619                 </varlistentry>
1620                 <varlistentry>
1621                   <term>
1622                     /parser org.kde.kmplot.Parser.functionIntVisible id
1623                   </term>
1624                   <listitem>
1625                     <para>Returns true if the integral of the function with the ID <parameter>id</parameter> is visible, otherwise false.</para>
1626                   </listitem>
1627                 </varlistentry>
1628                 <varlistentry>
1629                   <term>
1630                     /parser org.kde.kmplot.Parser.setFunctionFVisible id visible
1631                   </term>
1632                   <listitem>
1633                     <para>Shows the function with the ID <parameter>id</parameter> if <parameter>visible</parameter> is true. If <parameter>visible</parameter> is false, the function will be hidden. True is returned if the function exists, otherwise false.</para>
1634                   </listitem>
1635                 </varlistentry>
1636                 <varlistentry>
1637                   <term>
1638                     /parser org.kde.kmplot.Parser.setFunctionF1Visible id visible
1639                   </term>
1640                   <listitem>
1641                     <para>Shows the first derivative of the function with the ID <parameter>id</parameter> if <parameter>visible</parameter> is true. If <parameter>visible</parameter> is false, the function will be hidden. True is returned if the function exists, otherwise false.</para>
1642                   </listitem>
1643                 </varlistentry>
1644                 <varlistentry>
1645                   <term>
1646                     /parser org.kde.kmplot.Parser.setFunctionF2Visible id visible
1647                   </term>
1648                   <listitem>
1649                     <para>Shows the second derivative of the function with the ID <parameter>id</parameter> if <parameter>visible</parameter> is true. If <parameter>visible</parameter> is false, the function will be hidden. True is returned if the function exists, otherwise false.</para>
1650                   </listitem>
1651                 </varlistentry>
1652                 <varlistentry>
1653                   <term>
1654                     /parser org.kde.kmplot.Parser.setFunctionIntVisible id visible
1655                   </term>
1656                   <listitem>
1657                     <para>Shows the integral of the function with the ID <parameter>id</parameter> if <parameter>visible</parameter> is true. If <parameter>visible</parameter> is false, the function will be hidden. True is returned if the function exists, otherwise false.</para>
1658                   </listitem>
1659                 </varlistentry>
1660                 <varlistentry>
1661                   <term>
1662                     /parser org.kde.kmplot.Parser.functionStr id eq <!-- what is eq?-->
1663                   </term>
1664                   <listitem>
1665                     <para>Returns the function expression of the function with the ID <parameter>id</parameter>. If the function not exists, an empty string is returned instead.</para>
1666                   </listitem>
1667                 </varlistentry>
1668                 <varlistentry>
1669                   <term>
1670                     /parser org.kde.kmplot.Parser.functionFLineWidth id
1671                   </term>
1672                   <listitem>
1673                     <para>Returns the line width of the function with the ID <parameter>id</parameter>. If the function not exists, 0 is returned.</para>
1674                   </listitem>
1675                 </varlistentry>
1676                 <varlistentry>
1677                   <term>
1678                     /parser org.kde.kmplot.Parser.functionF1LineWidth id
1679                   </term>
1680                   <listitem>
1681                     <para>Returns the line width of the first derivative of the function with the ID <parameter>id</parameter>. If the function not exists, 0 is returned.</para>
1682                   </listitem>
1683                 </varlistentry>
1684                 <varlistentry>
1685                   <term>
1686                     /parser org.kde.kmplot.Parser.functionF2LineWidth id
1687                   </term>
1688                   <listitem>
1689                     <para>Returns the line width of the second derivative of the function with the ID <parameter>id</parameter>. If the function not exists, 0 is returned.</para>
1690                   </listitem>
1691                 </varlistentry>
1692                 <varlistentry>
1693                   <term>
1694                     /parser org.kde.kmplot.Parser.functionIntLineWidth id
1695                   </term>
1696                   <listitem>
1697                     <para>Returns the line width of the integral of the function with the ID <parameter>id</parameter>. If the function not exists, 0 is returned.</para>
1698                   </listitem>
1699                 </varlistentry>
1700                 <varlistentry>
1701                   <term>
1702                     /parser org.kde.kmplot.Parser.setFunctionFLineWidth id linewidth
1703                   </term>
1704                   <listitem>
1705                     <para>Sets the line width of the function with the ID <parameter>id</parameter> to <parameter>linewidth</parameter>. True is returned if the function exists, otherwise false.</para>
1706                   </listitem>
1707                 </varlistentry>
1708                 <varlistentry>
1709                   <term>
1710                     /parser org.kde.kmplot.Parser.setFunctionF1LineWidth id linewidth
1711                   </term>
1712                   <listitem>
1713                     <para>Sets the line width of the first derivative of the function with the ID <parameter>id</parameter> to <parameter>linewidth</parameter>. True is returned if the function exists, otherwise false.</para>
1714                   </listitem>
1715                 </varlistentry>
1716                 <varlistentry>
1717                   <term>
1718                     /parser org.kde.kmplot.Parser.setFunctionF2LineWidth id linewidth
1719                   </term>
1720                   <listitem>
1721                     <para>Sets the line width of the second derivative of the function with the ID <parameter>id</parameter> to <parameter>linewidth</parameter>. True is returned if the function exists, otherwise false.</para>
1722                   </listitem>
1723                 </varlistentry>
1724                 <varlistentry>
1725                   <term>
1726                     /parser org.kde.kmplot.Parser.setFunctionIntLineWidth id linewidth
1727                   </term>
1728                   <listitem>
1729                     <para>Sets the line width of the integral of the function with the ID <parameter>id</parameter> to <parameter>linewidth</parameter>. True is returned if the function exists, otherwise false.</para>
1730                   </listitem>
1731                 </varlistentry>
1732                 <varlistentry>
1733                   <term>
1734                     /parser org.kde.kmplot.Parser.functionParameterList id
1735                   </term>
1736                   <listitem>
1737                     <para>Returns a list with all the parameter values for the function with the ID <parameter>id</parameter>.</para>
1738                   </listitem>
1739                 </varlistentry>
1740                 <varlistentry>
1741                   <term>
1742                     /parser org.kde.kmplot.Parser.functionAddParameter id new_parameter
1743                   </term>
1744                   <listitem>
1745                     <para>Adds the parameter value  <parameter>new_parameter</parameter> to the function with the ID <parameter>id</parameter>. True is returned if the operation succeed, otherwise false.</para>
1746                   </listitem>
1747                 </varlistentry>
1748                 <varlistentry>
1749                   <term>
1750                     /parser org.kde.kmplot.Parser.functionRemoveParameter id remove_parameter
1751                   </term>
1752                   <listitem>
1753                     <para>Removes the parameter value <parameter>remove_parameter</parameter> from the function with the ID <parameter>id</parameter>. True is returned if the operation succeed, otherwise false.</para>
1754                   </listitem>
1755                 </varlistentry>
1756                 <varlistentry>
1757                   <term>
1758                     /parser org.kde.kmplot.Parser.functionMinValue id
1759                   </term>
1760                   <listitem>
1761                     <para>Returns the minimum plot range value of the function with the ID <parameter>id</parameter>. If the function not exists or if the minimum value is not defined, an empty string is returned.</para>
1762                   </listitem>
1763                 </varlistentry>
1764                 <varlistentry>
1765                   <term>
1766                     /parser org.kde.kmplot.Parser.functionMaxValue id
1767                   </term>
1768                   <listitem>
1769                     <para>Returns the maximum plot range value of the function with the ID <parameter>id</parameter>. If the function not exists or if the maximum value is not defined, an empty string is returned.</para>
1770                   </listitem>
1771                 </varlistentry>
1772                 <varlistentry>
1773                   <term>
1774                     /parser org.kde.kmplot.Parser.setFunctionMinValue id min
1775                   </term>
1776                   <listitem>
1777                     <para>Sets the minimum plot range value of the function with the ID <parameter>id</parameter> to <parameter>min</parameter>. True is returned if the function exists and the expression is valid, otherwise false.</para>
1778                   </listitem>
1779                 </varlistentry>
1780                 <varlistentry>
1781                   <term>
1782                     /parser org.kde.kmplot.Parser.setFunctionMaxValue id max
1783                   </term>
1784                   <listitem>
1785                     <para>Sets the maximum plot range value of the function with the ID <parameter>id</parameter> to <parameter>max</parameter>. True is returned if the function exists and the expression is valid, otherwise false.</para>
1786                   </listitem>
1787                 </varlistentry>
1788 
1789                 <varlistentry>
1790                   <term>
1791                     /parser org.kde.kmplot.Parser.functionStartXValue id
1792                   </term>
1793                   <listitem>
1794                     <para>Returns the initial x point for the integral of the function with the ID <parameter>id</parameter>. If the function not exists or if the x-point-expression is not defined, an empty string is returned.</para>
1795                   </listitem>
1796                 </varlistentry>
1797                 <varlistentry>
1798                   <term>
1799                     /parser org.kde.kmplot.Parser.functionStartYValue id
1800                   </term>
1801                   <listitem>
1802                     <para>Returns the initial y point for the integral of the function with the ID <parameter>id</parameter>. If the function not exists or if the y-point-expression is not defined, an empty string is returned.</para>
1803                   </listitem>
1804                 </varlistentry>
1805                 <varlistentry>
1806                   <term>
1807                     /parser org.kde.kmplot.Parser.setFunctionStartValue id x y
1808                   </term>
1809                   <listitem>
1810                     <para>Sets the initial x and y point for the integral of the function with the ID <parameter>id</parameter> to <parameter>x</parameter> and  <parameter>y</parameter>. True is returned if the function exists and the expression is valid, otherwise false.</para>
1811                   </listitem>
1812                 </varlistentry>
1813                 <varlistentry>
1814                         <term>
1815                         /view org.kde.kmplot.View.stopDrawing
1816                         </term>
1817                         <listitem>
1818                                 <para>If &kmplot; currently is drawing a function, the procedure will stop.</para>
1819                         </listitem>
1820                 </varlistentry>
1821                 <varlistentry>
1822                         <term>
1823                         /view org.kde.kmplot.View.drawPlot
1824                         </term>
1825                         <listitem>
1826                                 <para>Redraws all functions.</para>
1827                         </listitem>
1828                 </varlistentry>
1829         </variablelist>
1830 </para>
1831 </chapter>
1832 
1833 <chapter id="credits">
1834 <title>Credits and License</title>
1835 
1836 <para>
1837 &kmplot;
1838 </para>
1839 
1840 <para>
1841 Program copyright 2000-2002 <personname><firstname>Klaus-Dieter</firstname><surname>M&ouml;ller</surname></personname> &Klaus-Dieter.Moeller.mail;
1842 </para>
1843 
1844 <itemizedlist>
1845 <title>Contributors</title>
1846   <listitem>
1847     <para><acronym>CVS</acronym>: &Robert.Gogolok; &Robert.Gogolok.mail;</para>
1848   </listitem>
1849   <listitem>
1850     <para>Porting &GUI; to &kde; 3 and Translating: &Matthias.Messmer; &Matthias.Messmer.mail;</para>
1851   </listitem>
1852   <listitem>
1853     <para>Various improvements: Fredrik Edemar <email>f_edemar@linux.se</email></para>
1854   </listitem>
1855   <listitem>
1856         <para>Porting to &Qt; 4, UI improvements, features: David Saxton <email>david@bluehaze.org</email></para>
1857   </listitem>
1858 </itemizedlist>
1859 
1860 <para>
1861 Documentation copyright 2000--2002 by Klaus-Dieter M&ouml;ller &Klaus-Dieter.Moeller.mail;.
1862 </para>
1863 <para>Documentation extended and updated for &kde; 3.2 by &Philip.Rodrigues; &Philip.Rodrigues.mail;.</para>
1864 <para>Documentation extended and updated for &kde; 3.3 by &Philip.Rodrigues; &Philip.Rodrigues.mail; and Fredrik Edemar <email>f_edemar@linux.se</email>.</para>
1865 <para>Documentation extended and updated for &kde; 3.4 by Fredrik Edemar <email>f_edemar@linux.se</email>.</para>
1866 <para>Documentation extended and updated for &kde; 4.0 by David Saxton <email>david@bluehaze.org</email>.</para>
1867 <!-- TRANS:CREDIT_FOR_TRANSLATORS -->
1868 
1869 &underFDL;               <!-- FDL: do not remove. Commercial development should
1870  -->
1871 &underGPL;               <!-- GPL License -->
1872 
1873 </chapter>
1874 
1875 &documentation.index;
1876 </book>
1877 <!--
1878 Local Variables:
1879 mode: sgml
1880 sgml-minimize-attributes:nil
1881 sgml-general-insert-case:lower
1882 sgml-indent-step:0
1883 sgml-indent-data:nil
1884 End:
1885 -->
1886 
1887 
1888 
1889 
1890 
1891 
1892 
1893 
1894 
1895 
1896 
1897 
1898 
1899