Sophie

Sophie

distrib > Mandriva > 8.2 > i586 > by-pkgid > 403931bc8c38a4e3551ee55087d51cc1 > files > 66

kpl2-2.3.0-1mdk.i586.rpm

<?xml version="1.0" ?><!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.1-Based Variant V1.0//EN" "dtd/kdex.dtd" [
  <!ENTITY kpl "<application>Kpl</application>">
  <!ENTITY kappname "&kpl;">
  <!ENTITY % addindex "IGNORE">
  <!ENTITY % English "INCLUDE">
]>

<book lang="&language;">
<bookinfo>
<title>The Kpl Handbook</title>

<authorgroup>
<author>
<firstname>Werner</firstname>
<surname>Stille</surname>
<affiliation>
<address><email>stille@uni-freiburg.de</email></address>
</affiliation>
</author>
</authorgroup>

<!-- TRANS:ROLES_OF_TRANSLATORS -->

<copyright>
<year>2001</year>
<holder>Werner Stille</holder>
</copyright>
<legalnotice>&FDLNotice;</legalnotice>

<date>12/10/2001</date>
<releaseinfo>2.3.0</releaseinfo>

<abstract>
<para>
&kpl; is a program for two-dimensional graphical presentation of data
sets and functions.
</para>
</abstract>

<keywordset>
<keyword>KDE</keyword>
<keyword>Kpl</keyword>
<keyword>plot</keyword>
<keyword>parameter fit</keyword>
</keywordset>

</bookinfo>

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

<para>
&kpl; is a program for two-dimensional graphical presentation of data sets
and functions. Moreover multidimensional nonlinear parameter fits of
functions to data sets can be performed using the Levenberg-Marquardt
algorithm. Also general linear least square parameter fits are
possible. A <acronym>DCOP</acronym> interface can be used to control &kpl; by other
applications and scripts.</para>
<para>
All settings necessary for a complete description of the presentation can
be saved in plot files. These files as well as data files may be chosen by
command line parameters, using the File menu, or by drag and drop.</para>
<para>
Automatic scaling and normalization allow the easy graphical presentation
of data. Also parameter fits can be performed automatically.</para>
<para>
The settings of a presentation may be changed using the Edit menu. Here
also additional data sets and functions can be included which can be
displayed in the same as well as in different data windows.</para>

<sect1 id="kpl-revhistory">
<title>&kpl; Revision History</title>
<para>
<itemizedlist>

<listitem>
<para>Version 2.3.0 (October 12, 2001)</para>
<itemizedlist>
 <listitem><para>Needs KDE 2.2</para></listitem>
 <listitem><para>Residuals of parameter fits can be
  displayed</para></listitem>
 <listitem><para>Arrays optionally can be saved within plot
  files</para></listitem>
 <listitem><para>Separator for exported files can be set</para></listitem>
 <listitem><para>Parameters of function items can be applied
  directly</para></listitem>
 <listitem><para>New DCOP function: activateItem()</para></listitem>
 <listitem><para>Improved selection and activation in dialog Items</para></listitem>
 <listitem><para>Dialogs improved for KDE standard
  compliance</para></listitem>
 <listitem><para>Return type of boolean DCOP functions changed to
  int to avoid problems</para></listitem>
</itemizedlist>
</listitem>

<listitem>
<para>Version 2.2 (May 22, 2001)</para>
<itemizedlist>
 <listitem><para>Data and plot files optionally can be added to the
  current plot</para></listitem>
 <listitem><para>New decoration items: text, line, arrow, rectangle,
  ellipse</para></listitem>
 <listitem><para>Position of items can be changed by dragging with
  the mouse</para></listitem>
 <listitem><para>Reload button in Array dialog</para></listitem>
 <listitem><para>Empty lines in data files are ignored</para></listitem>
 <listitem><para>x-axis and y-axis can optionally be placed on top side or
  on right side, respectively</para></listitem>
 <listitem><para>Japanese translation</para></listitem>
</itemizedlist>
</listitem>

<listitem>
<para>Version 2.1.1 (January 27, 2001)</para>
<itemizedlist>
 <listitem><para>Bug fixes</para></listitem>
</itemizedlist>
</listitem>

<listitem>
<para>Version 2.1 (January 22, 2001)</para>
<itemizedlist>
 <listitem><para>DCOP interface</para></listitem>
 <listitem><para>Logarithmic scales</para></listitem>
 <listitem><para>Only modified files are reloaded periodically</para></listitem>
 <listitem><para>Position of toolbar saved in configuration
  file</para></listitem>
 <listitem><para>Improved New Item dialog</para></listitem>
 <listitem><para>New array or function items inherit the normalization factors
  of preceeding items</para></listitem>
</itemizedlist>
</listitem>

<listitem>
<para>Version 2.0 (November 21, 2000)</para>
<itemizedlist>
 <listitem><para>Needs KDE 2.0, optimized for KDE 2</para></listitem>
 <listitem><para>Toolbar configuration item in Settings menu
  </para></listitem>
 <listitem><para>Save absolute paths item in Settings menu
  </para></listitem>
 <listitem><para>Improved double value input validation</para></listitem>
 <listitem><para>Spinboxes in array dialog are updated</para></listitem>
 <listitem><para>Unicode text in .plo files (recode your old .plo files
  to UTF8 when they contain non-ASCII characters)</para></listitem>
 <listitem><para>Size of dialog windows can be changed</para></listitem>
 <listitem><para>Polish translation</para></listitem>
</itemizedlist>
</listitem>

<listitem>
<para>Version 1.2 (August 10, 2000)</para>
<itemizedlist>
 <listitem><para>Undo/Redo Actions</para></listitem>
 <listitem><para>Package for KDE 2 beta available</para></listitem>
</itemizedlist>
</listitem>

<listitem>
<para>Version 1.1 (May 5, 2000)</para>
<itemizedlist>
 <listitem><para>Multidimensional parameter fits</para></listitem>
 <listitem><para>Improved parameter fit dialog</para></listitem>
 <listitem><para>Increased printing resolution</para></listitem>
 <listitem><para>Both portrait and landscape PostScript output
  </para></listitem>
 <listitem><para>More examples</para></listitem>
</itemizedlist>
</listitem>

<listitem>
<para>Version 1.0 (February 21, 2000)</para>
<itemizedlist>
 <listitem><para>Buttons to open symbol selection dialog show actual symbol
  </para></listitem>
 <listitem><para>Improved internationalization</para></listitem>
 <listitem><para>Extended help</para></listitem>
 <listitem><para>More examples</para></listitem>
</itemizedlist>
</listitem>

<listitem>
<para>Version 0.4 (January 14, 2000)</para>
<itemizedlist>
 <listitem><para>General linear least square parameter fit
  </para></listitem>
 <listitem><para>Long parameter fit runs can be terminated by user
  </para></listitem>
 <listitem><para>Output format for parameter files and dialogs can be
  changed</para></listitem>
 <listitem><para>Output format for status bar is set according to screen
  resolution</para></listitem>
 <listitem><para>Item dialog is modeless now</para></listitem>
 <listitem><para>Multiple input files at commandline and at Drag and Drop
  </para></listitem>
 <listitem><para>Both KDE and Qt Drag and Drop protocols supported
  </para></listitem>
 <listitem><para>Session management</para></listitem>
 <listitem><para>Function value buffers for faster redrawing
  </para></listitem>
 <listitem><para>More example functions</para></listitem>
</itemizedlist>
</listitem>

<listitem>
<para>Version 0.3 (September 28, 1999)</para>
<itemizedlist>
 <listitem><para>Plot items can be deactivated to hide them (temporarily)
  </para></listitem>
 <listitem><para>Sequence of plot items can be changed easily
  </para></listitem>
 <listitem><para>Improved reading of plot files by use of KSimpleConfig
  </para></listitem>
 <listitem><para>New plot files save the (de)activation state of items
  </para></listitem>
 <listitem><para>Improved recognition of .plo files by file name
  </para></listitem>
 <listitem><para>No multiselection necessary for parameter fitting when
  only one function and one array item are present</para></listitem>
</itemizedlist>
</listitem>

<listitem>
<para>Version 0.2 (July 29, 1999)</para>
<itemizedlist>
 <listitem><para>Needs KDE 1.1</para></listitem>
 <listitem><para>Powered by KDevelop</para></listitem>
 <listitem><para>Nonlinear parameter fit</para></listitem>
 <listitem><para>Positions of menu bar and toolbar saved in configuration
  file</para></listitem>
 <listitem><para>Popup menus with icons</para></listitem>
 <listitem><para>Statusbar includes short help</para></listitem>
 <listitem><para>Close item in File menu</para></listitem>
 <listitem><para>Open Recent item in File menu</para></listitem>
 <listitem><para>(De)activation of unsaved changes warning
  </para></listitem>
 <listitem><para>Menu and toolbar items for magnification
  increasing/decreasing</para></listitem>
 <listitem><para>Configure Key Bindings item in Options menu
  </para></listitem>
 <listitem><para>Context menu</para></listitem>
 <listitem><para>Improved painting by use of pixmap buffer
  </para></listitem>
 <listitem><para>Function parameters may be saved separately in ASCII files
  </para></listitem>
 <listitem><para>Function values may be exported in ASCII files
  </para></listitem>
 <listitem><para>Optional display of function source in parameter dialogs
  </para></listitem>
 <listitem><para>Optional calculation of bounding box for PostScript files
  (using Ghostscript)</para></listitem>
 <listitem><para>MimeType for kpl plot files</para></listitem>
</itemizedlist>
</listitem>

<listitem>
<para>Version 0.1 (April 13, 1999, first release)</para>
</listitem>

</itemizedlist>
</para>
</sect1>
</chapter>

<chapter id="using-kpl">
<title>Using &kpl;</title>

<sect1 id="command-line-options">
<title>Command Line Options</title>

<sect2 id="specify-a-file">
<title>Specify a File</title>

<para>
When starting &kpl; from the command prompt, you can supply the names of
one or more plot or data files (either local filenames or URLs):
<cmdsynopsis>
<command>kpl</command>
<arg rep="repeat"><replaceable>file</replaceable></arg>
</cmdsynopsis>
</para>
<para>
In case of more than one entered file and activated setting
<guimenuitem>Add <accel>F</accel>iles</guimenuitem> all files are shown in one window,
otherwise new windows are opened for each file.</para>
<para>
In case of activated setting <guimenuitem>Aut<accel>o</accel>plot</guimenuitem>, the
graphical presentation is displayed immediately.</para>
<para>
When in addition <guilabel>Autofit</guilabel> is activated, in case of a data file also a
parameter fit to a function is automatically performed and the function
is displayed, too.</para>
</sect2>

<sect2>
<title>Other Command Line Options</title>

<para>The following command line help options are available</para>
<variablelist>
<varlistentry>
<term><command>kpl <option>--help</option></command></term>
<listitem><para>This lists the most basic options available at the
 command line.</para></listitem>
</varlistentry>

<varlistentry>
<term><command>kpl <option>--help-qt</option></command></term>
<listitem><para>This lists the options available for changing the
way &kpl; interacts with Qt.</para></listitem>
</varlistentry>

<varlistentry>
<term><command>kpl <option>--help-kde</option></command></term>
<listitem><para>This lists the options available for changing the way
&kpl; interacts with KDE.</para></listitem>
</varlistentry>

<varlistentry>
<term><command>kpl <option>--help-all</option></command></term>
<listitem><para>This lists all of the command line options.
</para></listitem>
</varlistentry>

<varlistentry>
<term><command>kpl <option>--author</option></command></term>
<listitem><para>Lists &kpl;'s author in the terminal window
</para></listitem>
</varlistentry>

<varlistentry>
<term><command>kpl  <option>--version</option></command></term>
<listitem><para>Lists version information for Qt, KDE, and &kpl;.
Also available through <command>kpl <option>-v</option></command>
</para></listitem>
</varlistentry>

</variablelist>
</sect2>
</sect1>

<sect1 id="konqueror">
<title>Start from Konqueror</title>

<para>
&kpl; can be started to display a plot file by clicking its symbol in a
&konqueror; file manager window or by selecting this action from its
context menu.</para>
</sect1>

<sect1 id="drag-and-drop">
<title>Drag and Drop</title>
<para>
&kpl; supports the Drag and Drop protocol of KDE and Qt. This means that
you can open one or more plot or data files by dragging their symbols onto
the &kpl; window. Data files will be recognized by the extension
<literal role="extension">.dat</literal>, plot files by the extension
<literal role="extension">.plo</literal>. In addition to local files also URLs may be
passed in this way.</para>
<para>
In case of more than one dropped file and activated setting
<guimenuitem>Add <accel>F</accel>iles</guimenuitem> all files are shown in one window,
otherwise new windows are opened for each file.</para>
</sect1>

<sect1 id="positioning">
<title>Positioning with the Mouse</title>
<para>
In addition to change the position of items by use of the dialogs, &kpl;
supports dragging of frame, legend, text, line, arrow, rectangle, and
ellipse items with the mouse.</para>
<para>
To move an item, its area has to be clicked with the &LMB;.
When the mouse is moved with the &LMB; pressed, a dashed rectangle
shows the current position, displayed also on the status bar. The plot will
be updated corresponding to the new position after releasing of the mouse
button.</para>
<para>
Moving of a frame item will update also the position of all its child
items.</para>
<para>
More than one item can be selected for simultaneous moving by clicking
their areas with the <keycap>Ctrl</keycap> key pressed.</para>
</sect1>

<sect1 id="statusbar">
<title>Status Bar</title>

<para>
The horizontal and vertical positions of the mouse pointer are displayed
in cm on the right side of the status bar at the bottom of the kpl window,
for positions inside the data frame in data units, too. When the position
of items is changed by dragging with the mouse, the current item position
will be displayed.</para>
<para>
Left to these position fields the state of the
<guimenuitem>Add <accel>F</accel>iles</guimenuitem> option is displayed.</para>
<para>
On the left side the short help for the different actions appears.</para>
</sect1>

</chapter>

<chapter id="commands">
<title>Command Reference</title>

<sect1 id="file-menu">
<title>The File Menu</title>

<para>
<variablelist>

<varlistentry><term><menuchoice><shortcut>
<keycombo><keycap>Ctrl</keycap><keycap>N</keycap></keycombo></shortcut>
<guimenu><accel>F</accel>ile</guimenu><guimenuitem><accel>N</accel>ew</guimenuitem>
</menuchoice></term>
<listitem><para><action>Creates a new empty plot to insert items
 using the dialog </action> <link linkend="items">Items</link>.
</para></listitem>
</varlistentry>

<varlistentry><term><menuchoice><shortcut>
<keycombo><keycap>Ctrl</keycap><keycap>O</keycap></keycombo></shortcut>
<guimenu><accel>F</accel>ile</guimenu><guimenuitem><accel>O</accel>pen Plot File</guimenuitem>
</menuchoice></term>
<listitem><para><action>Opens one or more existing plot files.</action></para>
<para>
In a plot file all settings of a graphical presentation are stored in ASCII
format.</para>
<para>
In case of activated setting <guimenuitem>Aut<accel>o</accel>plot</guimenuitem> the
graphical presentation is displayed immediately.</para>
<para>
In case of more than one selected file and activated setting
<guimenuitem>Add <accel>F</accel>iles</guimenuitem> all files are shown in one window,
otherwise new windows are opened for each file.</para></listitem>
</varlistentry>

<varlistentry><term><menuchoice>
<guimenu><accel>F</accel>ile</guimenu>
<guimenuitem>Open <accel>D</accel>ata File</guimenuitem>
</menuchoice></term>
<listitem><para><action>Opens one or more existing data files.</action></para>
<para>
The numeric values have to be arranged in rows and columns in an ASCII
file. Within a row the values may be separated by commas, tabs, or
spaces.</para>
<para>
The first character of comment lines has to be <keycap>#</keycap>.</para>
<para>
The number of rows and columns is detected by &kpl;. Empty lines are
ignored.</para>
<para>
In case of activated setting <guimenuitem>Aut<accel>o</accel>plot</guimenuitem> the
graphical presentation is displayed immediately according to the settings
done using the dialog
<link linkend="autoplot">Configure Autoplot</link>.</para>
<para>
In case of more than one selected file and activated setting
<guimenuitem>Add <accel>F</accel>iles</guimenuitem> all files are shown in one window,
otherwise new windows are opened for each file.</para>
<para>
Loading of data files overwrites an eventually displayed presentation
in case of deactivated setting <guimenuitem>Add <accel>F</accel>iles</guimenuitem>.
When a data file is to be inserted in an existing graphical presentation,
this has to be done by creating a new item using the dialog
<link linkend="items">Items</link> or by activating
<guimenuitem>Add <accel>F</accel>iles</guimenuitem>.</para></listitem>
</varlistentry>

<varlistentry><term><menuchoice>
<guimenu><accel>F</accel>ile</guimenu>
<guimenuitem>Open <accel>R</accel>ecent</guimenuitem>
</menuchoice></term>
<listitem><para><action>Opens a submenu for selecting one of up to ten
recently opened plot or data files.</action></para>
<para>
In case of activated setting <guimenuitem>Add <accel>F</accel>iles</guimenuitem> the file
is appended to a current plot, otherwise it will replace a current
plot.</para></listitem>
</varlistentry>

<varlistentry><term><menuchoice><shortcut>
<keycombo><keycap>Ctrl</keycap><keycap>S</keycap></keycombo></shortcut>
<guimenu><accel>F</accel>ile</guimenu><guimenuitem><accel>S</accel>ave</guimenuitem>
</menuchoice></term>
<listitem><para><action>Saves created or edited plot files.
</action></para></listitem>
</varlistentry>

<varlistentry><term><menuchoice>
<guimenu><accel>F</accel>ile</guimenu>
<guimenuitem>Save <accel>A</accel>s</guimenuitem>
</menuchoice></term>
<listitem><para><action>Allows to save the current graphical presentation
in a new plot file.</action></para></listitem>
</varlistentry>

<varlistentry><term><menuchoice><shortcut>
<keycombo><keycap>Ctrl</keycap><keycap>W</keycap></keycombo></shortcut>
<guimenu><accel>F</accel>ile</guimenu><guimenuitem><accel>C</accel>lose</guimenuitem>
</menuchoice></term>
<listitem><para><action>Closes the current plot file.
</action></para></listitem>
</varlistentry>

<varlistentry><term><menuchoice><shortcut>
<keycombo><keycap>Ctrl</keycap><keycap>P</keycap></keycombo></shortcut>
<guimenu><accel>F</accel>ile</guimenu><guimenuitem><accel>P</accel>rint</guimenuitem>
</menuchoice></term>
<listitem><para><action>Prints the graphical presentation to a printer
chosen from a list or to a file.</action></para></listitem>
</varlistentry>

<varlistentry><term><menuchoice>
<guimenu><accel>F</accel>ile</guimenu>
<guimenuitem>Display P<accel>l</accel>ot</guimenuitem>
</menuchoice></term>
<listitem><para><action>Displays the graphical presentation or refreshes
after changes.</action></para>
<para>
In case of activated setting <guimenuitem>Aut<accel>o</accel>plot</guimenuitem> the
graphical presentation is displayed immediately after loading of plot
or data files and after changes.</para></listitem>
</varlistentry>

<varlistentry><term><menuchoice>
<guimenu><accel>F</accel>ile</guimenu>
<guisubmenu>PostScript Outp<accel>u</accel>t</guisubmenu>
</menuchoice></term>
<listitem><para><action>Saves the graphical presentation as a PostScript
file in </action> <guimenuitem><accel>P</accel>ortrait</guimenuitem> or
<guimenuitem><accel>L</accel>andscape</guimenuitem> orientation.</para>
<para>
In comparison with the output obtained with <guimenuitem><accel>P</accel>rint</guimenuitem>
and <guilabel>Print to File</guilabel>, these files may be edited easily.
For example, the coordinates of data points are stored without scaling,
according to the values from data files or function evaluations.</para>
<para>
The output can be used as Encapsulated PostScript (EPS) to import graphics
in other applications. The bounding box is calculated exactly when
<guimenuitem>Calculate <accel>P</accel>S Bounding Box</guimenuitem> is checked in the
<link linkend="settings-menu">Settings</link> menu.</para></listitem>
</varlistentry>

<varlistentry><term><menuchoice>
<guimenu><accel>F</accel>ile</guimenu>
<guimenuitem>New <accel>W</accel>indow</guimenuitem>
</menuchoice></term>
<listitem><para><action>Opens a new instance of &kpl;.
</action></para></listitem>
</varlistentry>

<varlistentry><term><menuchoice>
<guimenu><accel>F</accel>ile</guimenu>
<guimenuitem>Close W<accel>i</accel>ndow</guimenuitem>
</menuchoice></term>
<listitem><para><action>Close the window.</action> If the closed window
was the last instance open, &kpl; will exit.</para></listitem>
</varlistentry>

<varlistentry><term><menuchoice><shortcut>
<keycombo><keycap>Ctrl</keycap><keycap>Q</keycap></keycombo></shortcut>
<guimenu><accel>F</accel>ile</guimenu><guimenuitem><accel>Q</accel>uit</guimenuitem>
</menuchoice></term>
<listitem><para><action>Exits &kpl;.</action></para></listitem>
</varlistentry>

</variablelist>
</para>

</sect1>

<sect1 id="edit-menu">
<title>The Edit Menu</title>

<para>
<variablelist>

<varlistentry><term><menuchoice><shortcut>
<keycombo><keycap>Ctrl</keycap><keycap>Z</keycap></keycombo></shortcut>
<guimenu><accel>E</accel>dit</guimenu><guimenuitem>Und<accel>o</accel></guimenuitem>
</menuchoice></term>
<listitem><para><action>This is used to eliminate or reverse the most
recent change of the plot.</action> The maximum number of saved states
is 20.</para></listitem>
</varlistentry>

<varlistentry><term><menuchoice><shortcut><keycombo><keycap>Ctrl</keycap>
<keycap>Shft</keycap><keycap>Z</keycap></keycombo></shortcut>
<guimenu><accel>E</accel>dit</guimenu><guimenuitem>Re<accel>d</accel>o</guimenuitem>
</menuchoice></term>
<listitem><para><action>This will reverse the most recent change (if
 any) made using </action> <guimenuitem>Und<accel>o</accel></guimenuitem>.
</para></listitem>
</varlistentry>

<varlistentry><term><menuchoice>
<guimenu><accel>E</accel>dit</guimenu><guimenuitem>I<accel></accel>tems</guimenuitem>
</menuchoice></term>
<listitem><para><action>Opens the dialog </action>
<link linkend="items">Items</link> (if not already open),
where items of the presentation may be added, edited, deleted, and copied.
Also parameter fits of functions to data sets can be performed here. The
dialog can be left open during work with &kpl;.</para></listitem>
</varlistentry>

</variablelist>
</para>

</sect1>

<sect1 id="view-menu">
<title>The View Menu</title>

<para>
<variablelist>

<varlistentry><term><menuchoice><shortcut>
<keycombo><keycap>Ctrl</keycap><keycap>+</keycap></keycombo></shortcut>
<guimenu><accel>V</accel>iew</guimenu><guimenuitem>Zoom <accel>I</accel>n</guimenuitem>
</menuchoice></term>
<listitem><para><action>Increases the magnification by 20&nbsp;%.
</action></para></listitem>
</varlistentry>

<varlistentry><term><menuchoice><shortcut>
<keycombo><keycap>Ctrl</keycap><keycap>-</keycap></keycombo></shortcut>
<guimenu><accel>V</accel>iew</guimenu><guimenuitem>Zoom <accel>O</accel>ut</guimenuitem>
</menuchoice></term>
<listitem><para><action>Decreases the magnification by 20&nbsp;%.
</action></para></listitem>
</varlistentry>

<varlistentry><term><menuchoice>
<guimenu><accel>V</accel>iew</guimenu><guimenuitem><accel>Z</accel>oom</guimenuitem>
</menuchoice></term>
<listitem><para><action>Here the magnification factor of the graphical
presentation can be set.</action></para></listitem>
</varlistentry>

<varlistentry><term><menuchoice><shortcut><keycap>F5</keycap></shortcut>
<guimenu><accel>V</accel>iew</guimenu><guimenuitem><accel>R</accel>edisplay</guimenuitem>
</menuchoice></term>
<listitem><para><action>By this the current data or plot file will be
reloaded and presented.</action> <guimenuitem>Aut<accel>o</accel>plot</guimenuitem>
will be activated.</para></listitem>
</varlistentry>

<varlistentry><term><menuchoice>
<guimenu><accel>V</accel>iew</guimenu><guimenuitem>Reload <accel>p</accel>eriodically</guimenuitem>
</menuchoice></term>
<listitem><para><action>Here periodically refreshing of the presentation
of plot or data files may be activated.</action> Also the time interval
may be set. <guimenuitem>Aut<accel>o</accel>plot</guimenuitem> will be activated
by refreshing.</para></listitem>
</varlistentry>

</variablelist>
</para>

</sect1>

<sect1 id="settings-menu">
<title>The Settings Menu</title>

<para>
<variablelist>

<varlistentry><term><menuchoice>
<guimenu><accel>S</accel>ettings</guimenu><guimenuitem>Show <accel>T</accel>ool Bar</guimenuitem>
</menuchoice></term>
<listitem><para><action>This toggles the display of the tool bar.
</action></para></listitem>
</varlistentry>

<varlistentry><term><menuchoice>
<guimenu><accel>S</accel>ettings</guimenu><guimenuitem>Show St<accel>a</accel>tus Bar</guimenuitem>
</menuchoice></term>
<listitem><para><action>This toggles the display of the status bar.
</action></para></listitem>
</varlistentry>

<varlistentry><term><menuchoice>
<guimenu><accel>S</accel>ettings</guimenu><guimenuitem>S<accel>h</accel>ow Function Source</guimenuitem>
</menuchoice></term>
<listitem><para><action>This toggles the display of the functions source
files in the dialogs for function parameters</action></para></listitem>
</varlistentry>

<varlistentry><term><menuchoice>
<guimenu><accel>S</accel>ettings</guimenu><guimenuitem>Aut<accel>o</accel>plot</guimenuitem>
</menuchoice></term>
<listitem><para><action>This toggles the automatic display of the
presentation after loading of data or plot files</action></para></listitem>
</varlistentry>

<varlistentry><term><menuchoice><shortcut><keycap>Insert</keycap></shortcut>
<guimenu><accel>S</accel>ettings</guimenu><guimenuitem>Add <accel>F</accel>iles</guimenuitem>
</menuchoice></term>
<listitem><para><action>This toggles the adding of plot and data files to
existing plots and overwriting, respectively. The current state of this
setting is displayed on the status bar.</action></para></listitem>
</varlistentry>

<varlistentry><term><menuchoice>
<guimenu><accel>S</accel>ettings</guimenu><guimenuitem>Calculate <accel>P</accel>S Bounding Box
</guimenuitem></menuchoice></term>
<listitem><para><action>This toggles the automatic calculation of the
bounding box for generated PostScript files.</action> The calculation needs
<application>Ghostscript</application> to be installed and assumes that the
<guilabel>Page format</guilabel> in the
<link linkend="basic">Basic Settings</link> dialog is set sufficiently large
to contain all parts of the plot. Without calculation the bounding box is set
according to that page format.</para></listitem>
</varlistentry>

<varlistentry><term><menuchoice>
<guimenu><accel>S</accel>ettings</guimenu><guimenuitem>Save Absol<accel>u</accel>te Paths
</guimenuitem></menuchoice></term>
<listitem><para><action>Tis toggles the saving of absolute or relative paths
of data and library files in plot files.</action> When this option
is set on, the paths always saved as absolute. This is the default setting,
compatible with older versions of &kpl;. When the option is set off, the
paths are saved as relative paths to that of the plot file, if possible.
This allows to move directory branches containing the plot file and all
files it depends on.</para></listitem>
</varlistentry>

<varlistentry><term><menuchoice>
<guimenu><accel>S</accel>ettings</guimenu><guimenuitem>Unsaved Changes <accel>W</accel>arning
</guimenuitem></menuchoice></term>
<listitem><para><action>This toggles the display of warnings at unsaved
changes.</action></para></listitem>
</varlistentry>

<varlistentry><term><menuchoice>
<guimenu><accel>S</accel>ettings</guimenu><guimenuitem>Save Settings At <accel>E</accel>nd
</guimenuitem></menuchoice></term>
<listitem><para><action>This toggles the saving of the current window size,
the visibility of the dialog </action> <guilabel>Items</guilabel>, and the settings
of the <guimenu><accel>S</accel>ettings</guimenu> menu at the program's ending.
</para>
<para>This setting itself also will be saved.</para></listitem>
</varlistentry>

<varlistentry><term><menuchoice>
<guimenu><accel>S</accel>ettings</guimenu><guimenuitem>Save <accel>S</accel>ettings
</guimenuitem></menuchoice></term>
<listitem><para><action>This saves the current window size, the visibility of
the dialog </action> <guilabel>Items</guilabel>, and the settings of the
<guimenu><accel>S</accel>ettings</guimenu> menu.</para></listitem>
</varlistentry>

<varlistentry><term><menuchoice>
<guimenu><accel>S</accel>ettings</guimenu><guimenuitem>Configure <accel>K</accel>ey Bindings
</guimenuitem></menuchoice></term>
<listitem><para><action>Opens the dialog </action>
<guilabel>Configure key bindings</guilabel>, where the shortcuts for the 
&kpl; actions may be changed.</para></listitem>
</varlistentry>

<varlistentry><term><menuchoice>
<guimenu><accel>S</accel>ettings</guimenu><guimenuitem>Configure Tool<accel>b</accel>ars
</guimenuitem></menuchoice></term>
<listitem><para><action>Opens the dialog </action>
<guilabel>Configure Toolbars</guilabel>, where the actions of the toolbar
may be changed.</para></listitem>
</varlistentry>

<varlistentry><term><menuchoice>
<guimenu><accel>S</accel>ettings</guimenu><guimenuitem>Configure Bas<accel>i</accel>cs
</guimenuitem></menuchoice></term>
<listitem><para><action>Opens the dialog </action>
<link linkend="basic">Basic Settings</link>, where the
size of the presentation and the colors as well as the output format for
function parameters may be preset.</para></listitem>
</varlistentry>

<varlistentry><term><menuchoice>
<guimenu><accel>S</accel>ettings</guimenu><guimenuitem><accel>C</accel>onfigure Autoplot
</guimenuitem></menuchoice></term>
<listitem><para><action>Opens the dialog </action>
<link linkend="autoplot">Autoplot Settings</link>, where the settings
for the automatic scaling of data files loaded by command line parameter,
by the file menu, or by drag and drop, are done.</para></listitem>
</varlistentry>

<varlistentry><term><menuchoice>
<guimenu><accel>S</accel>ettings</guimenu><guimenuitem>Co<accel>n</accel>figure Autofit
</guimenuitem></menuchoice></term>
<listitem><para><action>Opens the dialog </action>
<link linkend="autofit">Autofit Settings</link>, where the settings
for the automatic parameter fittings of functions to data sets from files
are performed.</para></listitem>
</varlistentry>

</variablelist>
</para>

</sect1>

<sect1 id="help-menu">
<title>The Help Menu</title>

<para>
<variablelist>

<varlistentry><term><menuchoice><shortcut><keycap>F1</keycap></shortcut>
<guimenu><accel>H</accel>elp</guimenu><guimenuitem><accel>C</accel>ontents</guimenuitem>
</menuchoice></term>
<listitem><para><action>Here the contents page of the help for
&kpl; is available.
</action></para></listitem>
</varlistentry>

<varlistentry><term><menuchoice>
<guimenu><accel>H</accel>elp</guimenu><guimenuitem><accel>A</accel>bout Kpl</guimenuitem>
</menuchoice></term>
<listitem><para><action>Displays essential information about &kpl;.
</action></para></listitem>
</varlistentry>

<varlistentry><term><menuchoice>
<guimenu><accel>H</accel>elp</guimenu><guimenuitem>About <accel>K</accel>DE</guimenuitem>
</menuchoice></term>
<listitem><para><action>Displays essential information about KDE.
</action></para></listitem>
</varlistentry>

</variablelist>
</para>

</sect1>

<sect1 id="context-menu">
<title>The Context Menu</title>

<para>
Clicking the plot area with the right mouse button brings up a context
menu with the most important actions:</para>

<para>
<variablelist>

<varlistentry><term><menuchoice>
<guimenuitem><accel>N</accel>ew</guimenuitem>
</menuchoice></term>
<listitem><para><action>Opens a new plot file.</action>
</para></listitem>
</varlistentry>

<varlistentry><term><menuchoice>
<guimenuitem><accel>O</accel>pen Plot File</guimenuitem>
</menuchoice></term>
<listitem><para><action>Opens one or more existing plot files.</action></para>
</listitem>
</varlistentry>

<varlistentry><term><menuchoice>
<guimenuitem>Open <accel>D</accel>ata File</guimenuitem>
</menuchoice></term>
<listitem><para><action>Opens one or more existing data files.</action></para>
</listitem>
</varlistentry>

<varlistentry><term><menuchoice>
<guimenuitem><accel>S</accel>ave</guimenuitem>
</menuchoice></term>
<listitem><para><action>Saves the current plot file.
</action></para></listitem>
</varlistentry>

<varlistentry><term><menuchoice>
<guimenuitem>Save <accel>A</accel>s</guimenuitem>
</menuchoice></term>
<listitem><para><action>Saves the current graphical presentation in a new plot
file.</action></para></listitem>
</varlistentry>

<varlistentry><term><menuchoice>
<guimenuitem><accel>P</accel>rint</guimenuitem>
</menuchoice></term>
<listitem><para><action>Prints the graphical presentation.</action></para></listitem>
</varlistentry>

<varlistentry><term><menuchoice>
<guisubmenu>PostScript Outp<accel>u</accel>t</guisubmenu>
</menuchoice></term>
<listitem><para><action>Saves the graphical presentation as a PostScript
file.</action></para>
</listitem>
</varlistentry>

<varlistentry><term><menuchoice>
<guimenuitem>I<accel></accel>tems</guimenuitem>
</menuchoice></term>
<listitem><para><action>Opens the dialog </action>
<guilabel>Items</guilabel>.</para></listitem>
</varlistentry>

<varlistentry><term><menuchoice>
<guimenuitem>Zoom <accel>I</accel>n</guimenuitem>
</menuchoice></term>
<listitem><para><action>Increases magnification by 20&nbsp;%.
</action></para></listitem>
</varlistentry>

<varlistentry><term><menuchoice>
<guimenuitem>Zoom <accel>O</accel>ut</guimenuitem>
</menuchoice></term>
<listitem><para><action>Decreases magnification by 20&nbsp;%.
</action></para></listitem>
</varlistentry>

<varlistentry><term><menuchoice>
<guimenuitem><accel>R</accel>edisplay</guimenuitem>
</menuchoice></term>
<listitem><para><action>Reloads the current file and refreshes the
plot.</action></para></listitem>
</varlistentry>

</variablelist>
</para>

</sect1>

<sect1 id="keybindings">
<title>Key Bindings</title>

<para>
Many of the key bindings (shortcuts) are configurable by way of the <link
linkend="settings-menu">Settings</link> menu. By default &kpl; honors the
following key bindings:</para>

<informaltable pgwide="1"><tgroup cols="2">

<thead>
<row>
<entry>Key Binding</entry>
<entry>Action</entry>
</row>
</thead>

<tbody>

<row>
<entry><keycombo><keycap>Ctrl</keycap><keycap>N</keycap></keycombo></entry>
<entry><action>Opens a new plot file.</action></entry>
</row>

<row>
<entry><keycombo><keycap>Ctrl</keycap><keycap>O</keycap></keycombo></entry>
<entry><action>Opens an existing plot file.</action></entry>
</row>

<row>
<entry><keycombo><keycap>Ctrl</keycap><keycap>S</keycap></keycombo></entry>
<entry><action>Saves the current plot file.</action></entry>
</row>

<row>
<entry><keycombo><keycap>Ctrl</keycap><keycap>W</keycap></keycombo></entry>
<entry><action>Closes the current plot file.</action></entry>
</row>

<row>
<entry><keycombo><keycap>Ctrl</keycap><keycap>P</keycap></keycombo></entry>
<entry><action>Prints the graphical presentation.</action></entry>
</row>

<row>
<entry><keycombo><keycap>Ctrl</keycap><keycap>Q</keycap></keycombo></entry>
<entry><action>Quits &kpl;.</action></entry>
</row>

<row>
<entry><keycombo><keycap>Ctrl</keycap><keycap>Z</keycap></keycombo></entry>
<entry><action>Reverses the last change of the plot.</action></entry>
</row>

<row>
<entry><keycombo><keycap>Ctrl</keycap><keycap>Shft</keycap>
<keycap>Z</keycap></keycombo></entry>
<entry><action>Reverses the last change of the plot made using </action>
<guimenuitem>Undo</guimenuitem>.</entry>
</row>

<row>
<entry><keycombo><keycap>Ctrl</keycap><keycap>+</keycap></keycombo></entry>
<entry><action>Increases magnification by 20&nbsp;%.
</action></entry>
</row>

<row>
<entry><keycombo><keycap>Ctrl</keycap><keycap>-</keycap></keycombo></entry>
<entry><action>Decreases magnification by 20&nbsp;%.
</action></entry>
</row>

<row>
<entry><keycombo><keycap>F5</keycap></keycombo></entry>
<entry><action>Reloads the current file and refreshes the plot.
</action></entry>
</row>

<row>
<entry><keycombo><keycap>Insert</keycap></keycombo></entry>
<entry><action>Toggles the adding of plot and data files to existing plots
 and overwriting, respectively.
</action></entry>
</row>

<row>
<entry><keycombo><keycap>F1</keycap></keycombo></entry>
<entry><action>Displays the kpl help pages.</action></entry>
</row>

<row>
<entry><keycombo><keysym>Left Arrow</keysym></keycombo></entry>
<entry><action>Scrolls left.</action></entry>
</row>

<row>
<entry><keycombo><keysym>Right Arrow</keysym></keycombo></entry>
<entry><action>Scrolls left.</action></entry>
</row>

<row>
<entry><keycombo><keysym>Down Arrow</keysym></keycombo></entry>
<entry><action>Scrolls down.</action></entry>
</row>

<row>
<entry><keycombo><keysym>Up Arrow</keysym></keycombo></entry>
<entry><action>Scrolls up.</action></entry>
</row>

<row>
<entry><keycombo><keycap>Page Up</keycap></keycombo></entry>
<entry><action>Scrolls page up.</action></entry>
</row>

<row>
<entry><keycombo><keycap>Page Down</keycap></keycombo></entry>
<entry><action>Scrolls page down.</action></entry>
</row>

<row>
<entry><keycombo><keycap>Ctrl</keycap><keycap>Page Up</keycap>
</keycombo></entry>
<entry><action>Scrolls page left.</action></entry>
</row>

<row>
<entry><keycombo><keycap>Ctrl</keycap><keycap>Page Down</keycap>
</keycombo></entry>
<entry><action>Scrolls page right.</action></entry>
</row>

<row>
<entry><keycombo><keycap>Home</keycap></keycombo></entry>
<entry><action>Scrolls to bottom margin.</action></entry>
</row>

<row>
<entry><keycombo><keycap>End</keycap></keycombo></entry>
<entry><action>Scrolls to top margin.</action></entry>
</row>

<row>
<entry><keycombo><keycap>Ctrl</keycap><keycap>Home</keycap>
</keycombo></entry>
<entry><action>Scrolls to left margin.</action></entry>
</row>

<row>
<entry><keycombo><keycap>Ctrl</keycap><keycap>End</keycap>
</keycombo></entry>
<entry><action>Scrolls to right margin.</action></entry>
</row>

</tbody>
</tgroup>
</informaltable>
</sect1>

<sect1 id="toolbar">
<title>Tool Bar</title>

<para>
The toolbar is are configurable by way of the <link
linkend="settings-menu">Settings</link> menu. By default the &kpl; toolbar
contains the following buttons:</para>

<informaltable pgwide="1"><tgroup cols="2">

<thead>
<row>
<entry>Button</entry>
<entry>Action</entry>
</row>
</thead>

<tbody>

<row>
<entry>New</entry>
<entry><action>Opens a new plot file.</action></entry>
</row>

<row>
<entry>Open Plot File</entry>
<entry><action>Opens an existing plot file.</action></entry>
</row>

<row>
<entry>Open Data File</entry>
<entry><action>Opens an existing data file.</action></entry>
</row>

<row>
<entry>Save</entry>
<entry><action>Saves the current plot file.</action></entry>
</row>

<row>
<entry>Print</entry>
<entry><action>Prints the graphical presentation.</action></entry>
</row>

<row>
<entry>Undo</entry>
<entry><action>Reverses the last change of the plot.</action></entry>
</row>

<row>
<entry>Redo</entry>
<entry><action>Reverses the last change of the plot made using </action>
<guimenuitem>Undo</guimenuitem>.</entry>
</row>

<row>
<entry>Zoom In</entry>
<entry><action>Increases magnification by 20&nbsp;%.</action></entry>
</row>

<row>
<entry>Zoom Out</entry>
<entry><action>Decreases magnification by 20&nbsp;%.</action></entry>
</row>

<row>
<entry>Reload</entry>
<entry><action>Reloads the current file and refreshes the
plot.</action></entry>
</row>

<row>
<entry>Help</entry>
<entry><action>Displays the &kpl; help pages.</action></entry>
</row>

</tbody>
</tgroup>
</informaltable>
</sect1>

</chapter>

<chapter id="dialogs">
<title>The Dialogs</title>

<sect1 id="items">
<title>Items</title>
<anchor id="sec-items"/>

<para>
When items of the presentation already exist, they are listed in the
dialog window. In case of a <guilabel>frame</guilabel>, a
<guilabel>rectangle</guilabel>, or a <guilabel>ellipse</guilabel> its
position and size is shown; in case of an <guilabel>array</guilabel> the
name of the data file as well as the column indices of x and y values, in
case of a <guilabel>function</guilabel> the names of the shared library
and the function, in case of a <guilabel>parametric function</guilabel>
the names of the shared libraries and the functions for x(t) and y(t), in
case of a <guilabel>legend</guilabel> the number of the marker or line,
and in case of a <guilabel>text</guilabel>, a <guilabel>line</guilabel>,
or an <guilabel>arrow</guilabel> its position and direction. When the
dialog is left open, it will reflect changes in the item list.</para>
<para>
In the tree view frames are displayed one hierarchical level higher than
the other item types. Other items following a frame are to be plotted in
that frame. The sequence of items belonging to a frame ends when another
frame item follows. Items not belonging to a frame, that is, items not
following a frame item, will be plotted without a frame. Function and data
set values then will be interpreted as cms. The position of the selected
item can be changed using the up and down arrow buttons left to the tree
view.</para>
<para>
Each item is preceeded by a checkbox field, displaying its activation state.
Activated items are shown in the plot, deactivated items are hidden.
The state can be toggled by clicking the checkbox field with the left mouse
button or by the item's context menu, which pops up when an item is clicked
with the right mouse button. An item can be selected without changing its
activation state by clicking it right of the checkbox field or by use of
the cursor keys.</para>
<para>
For appending a new item to the list, the button <guibutton><accel>N</accel>ew</guibutton>
opens the dialog <link linkend="newitem">New Item</link>, where the type
of the item is to be chosen.</para>
<para>
The button <guibutton><accel>E</accel>dit</guibutton> opens the according dialog for the
setting of the item selected from the list. Editing can also be selected
from a context menu, which pops up when an item is clicked with the right
mouse button. Finally the dialog for a selected item can be opened by use
of the <keycap>Enter</keycap> key.</para>
<para>
The button <guibutton><accel>F</accel>it</guibutton> is used to open the dialog
<link linkend="fit">Parameter fit</link> for performing a (multidimensional)
parameter fit of the selected function(s) to the data set(s) of the selected
array item(s). When the item list contains exactly one function and one array
item, no multiselection is necessary and the dialog is just opened by
clicking the button to perform a parameter fit in one dimension.
Otherwise you first have to select an equal number of function items and
array items. This can be done by holding down the <keycap>Ctrl</keycap> key
when clicking the items to be selected. In case of multidimensional fits
the first selected function item in the list corresponds to the first
selected array item in the list and so on.</para>
<para>
By using the button <guibutton><accel>D</accel>elete</guibutton> the selected item(s) may be
deleted. Deleting of an item can also be selected from its context
menu.</para>
<para>
By using the button <guibutton><accel>C</accel>opy</guibutton> the selected item(s) may be
copied to the end of the list. Copying of an item can also be selected from
the its context menu.</para>
<para>
The dialog is closed by using the button <guibutton>C<accel>l</accel>ose</guibutton>. The
dialog can be left open during work with &kpl;.
</para>

</sect1>

<sect1 id="newitem">
<title>New Item</title>

<para>
The type of the new item may be chosen using the buttons
<guibutton>Frame</guibutton>, <guibutton>Array</guibutton>,
<guibutton>Function</guibutton>, <guibutton>Parametric Function</guibutton>,
<guibutton>Legend</guibutton>, <guibutton>Text</guibutton>,
<guibutton>Line</guibutton>, <guibutton>Arrow</guibutton>,
<guibutton>Rectangle</guibutton>, and <guibutton>Ellipse</guibutton>.</para>
<para>
Scalable items like array or function items will inherit the normalization
factors of the last preceeding scalable item belonging to the same frame,
if existing.</para>
<para>
When the type is chosen, the according dialog for the settings of the new
item is displayed.</para>
<para>
The dialog may be canceled without selection by use of the button
<guibutton><accel>C</accel>ancel</guibutton>.</para>

</sect1>

<sect1 id="frame">
<title>Frame</title>
<anchor id="sec-frame"/>

<para>
Here the settings for frame and labels may be performed.</para>
<para>
In the group <guilabel>Axis mode</guilabel> one can choose between only a
frame around the data window or additional tick marks on the left and
lower sides of the frame or a grid. Tick marks and grid may be labeled
with numeric values.</para>
<para>
In the group <guilabel>Colors</guilabel> the colors for frame and ticks or
grid are selected with the dialog Select Color, displayed by using the
color buttons.</para>
<para>
The group <guilabel>Automatic</guilabel> allows convenient scaling of the
presentation by using the button <guibutton>Autoscale</guibutton>, when
arrays or functions are already set in subsequent items of the
presentation. When <guilabel>Normalization</guilabel> is checked, at this
time also powers of ten are evaluated to be multiplied with the numeric
data values in case of huge or tiny numbers. If not equal to 1, these
normalization factors are included in the axis labels.</para>
<para>
In the group <guilabel>Window</guilabel> position and size of the data
window may be set.</para>
<para>
The group <guilabel>Scaling</guilabel> allows manual scaling of the
presentation by specifying data values for the lower left and the upper
right corner of the data window. The settings also may be performed by
using the button <guibutton>Autoscale</guibutton>. The scaling can be
set to logarithmic individually for the axes by checking
<guilabel>log</guilabel>.</para>
<para>
The group <guilabel>Axes</guilabel> allows to specify the distances
<guilabel>xtic</guilabel> and <guilabel>ytic</guilabel> of major tick
marks or grid lines. In case of tick marks minor ticks may be drawn
between the (labeled) major ticks. The number of intervals dividing the
distance between the major ticks can be specified by
<guilabel>mticx</guilabel> and <guilabel>mticy</guilabel>. For axes with
numeric labels the number of digits behind the decimal point may be
selected by <guilabel>ndigx</guilabel> and <guilabel>ndigy</guilabel>.
Here values of -1 are used to suppress the output of the decimal point.
The settings also may be performed by using the button
<guibutton>Autoscale</guibutton>.</para>
<para>
For logarithmic scales the controls have a different meaning.
<guilabel>ndigx</guilabel> and <guilabel>ndigy</guilabel> are disabled,
the number of digits is determined automatically. The values of
<guilabel>xtic</guilabel> and <guilabel>ytic</guilabel> give the factor
between first and second major tick mark and will be rounded to
2, 5, or 10. Always ten minor tick marks per decade will be drawn when
<guilabel>mticx</guilabel> and <guilabel>mticy</guilabel> are set
larger than 1. In contrast to linear scales minor ticks will be
shown as grid lines in case of grid axis modes. The normalization option
for autoscaling will be deselected in case of logarithmic scales.</para>
<para>
In the group <guilabel>Labels</guilabel> text for the axis labels and a
heading may be entered. Text with special characters is entered more
conveniently in the dialog <link linkend="edit-text">Edit text</link>
which shows up when using the buttons right to the entry fields. Powers of
ten for normalization factors to be included in the axis labels may be
specified manually by <guilabel>iex</guilabel> and
<guilabel>iey</guilabel>. The placement of the x axis labels can
be changed by checking <guilabel>Top</guilabel>, that of the y axis labels
by checking <guilabel>Right</guilabel>.</para>
<para>
With <guilabel>Symbol size</guilabel> the relative size of characters and
markers as well as the relative line widths (proportional to the width of
the data window) may be specified. A setting of 100&nbsp;% corresponds
to default.</para>
<para>
The dialog may be canceled without saving by use of the button
<guibutton><accel>C</accel>ancel</guibutton>. By using <guibutton><accel>A</accel>pply</guibutton> changes
are saved without closing the dialog. With <guibutton><accel>O</accel>K</guibutton> changes
are saved and the dialog is closed.
</para>

</sect1>

<sect1 id="array">
<title>Array</title>
<anchor id="sec-array"/>

<para>
The dialog <guilabel>Array</guilabel> is used to perform the settings for
a data set from a data file.</para>
<para>
The button <guibutton><accel>F</accel>ile</guibutton> is used to open a file selection
dialog for selecting a data file. The path of the file is displayed right
to the button. The button right to this field is used to reload a data file
after changes of its contents. Selecting a file results in automatic
determination of suitable values for the following settings.</para>
<para>
By checking <guilabel>Internal Data</guilabel> the array data can be saved
within the plot file. For reasons of performance this should only done with
data sets not to large. Only the columns selected for plotting will be stored.
Internal data can be entered or changed by use of <guibutton><accel>E</accel>dit</guibutton>.
After unchecking of <guilabel>Internal Data</guilabel> a file selection dialog
will be opened to select a separate data file for (re)exporting.</para>
<para>
In <guilabel>x column</guilabel> and <guilabel>y column</guilabel> the
file columns for abscissa and ordinate values may be chosen. 0 corresponds
to the first column.</para>
<para>
When <guilabel>Error bar</guilabel> is checked the column chosen in
<guilabel>Error column</guilabel> is used for displaying error bars. This
column is also used in case of parameter fits of functions to the data
sets for weighing the data points.</para>
<para>
The <guilabel>Start index</guilabel> is the row index for the first data
point to be displayed. 0 corresponds to the first row of the data file,
not counting comment lines. Together with the
<guilabel>Number of points</guilabel> the displayed portion of the file is
selected.</para>
<para>
Factors for <guilabel>x normalization</guilabel> and
<guilabel>y normalization</guilabel> may be entered manually. These
factors also may be determined automatically using
<guibutton>Autoscale</guibutton> with checked
<guilabel>Normalization</guilabel> in the dialog
<link linkend="frame">Frame</link>.</para>
<para>
Markers (<guilabel>Symbol</guilabel>&nbsp;&lt;=&nbsp;0) or lines
(<guilabel>Symbol</guilabel>&nbsp;&gt;&nbsp;0) may be chosen to present the data
points. This is done most convenient using the dialog
<guilabel>Lines and Markers</guilabel>, to be opened with the button
right to the spin box, which shows the actual line or marker.</para>
<para>
The <guilabel>Color</guilabel> of lines or markers may be chosen using
the dialog <guilabel>Select Color</guilabel>, opened with the colored
button.</para>
<para>
The dialog may be canceled without saving by use of the button
<guibutton><accel>C</accel>ancel</guibutton>. By using <guibutton><accel>A</accel>pply</guibutton> changes
are saved without closing the dialog. With <guibutton><accel>O</accel>K</guibutton> changes
are saved and the dialog is closed.
</para>

</sect1>

<sect1 id="func">
<title>Function</title>
<anchor id="sec-func"/>

<para>
The dialog <guilabel>Function</guilabel> is used to perform the settings
for function plots.</para>
<para>
In the field <guilabel>Library</guilabel> in the group
<guilabel>y(x)</guilabel> the path of the shared library containing the
function to be chosen may be entered. The button right to the entry field
opens a file selection dialog for this purpose.</para>
<para>
The name of the <guilabel>Function</guilabel> is entered in another field.
When in the same directory as for the shared library a module definition
file with the same name but the extension <literal role="extension">.def</literal> is
present, the function may be chosen from a list in the dialog
<guilabel>Functions</guilabel>, opened with the button right to the entry
field.</para>
<para>
With the button <guibutton>Edit</guibutton> a dialog
<guilabel>Parameter</guilabel> may be opened, which allows to enter the
values of up to 20 parameters of the function. When the option
<guilabel>S<accel>h</accel>ow Function Source</guilabel> is activated in the Settings
menu and a C or C++ language source file with the same name as the shared
library with the extension <literal role="extension">.c</literal> or
<literal role="extension">.cpp</literal>, respectively, is present in the same directory,
its contents is displayed right to the parameter fields, too. The button
<guibutton>Load</guibutton> opens a file selection dialog for loading the
parameters from an ASCII file (one parameter each line). The button
<guibutton>Save</guibutton> opens a file selection dialog for saving the
parameters in an ASCII file.</para>
<para>
The limits for the function's argument are entered using the fields
<guilabel>xmin</guilabel> and <guilabel>xmax</guilabel>. With
<guilabel>Delta x</guilabel> the step length for the argument is set.
A value of 0 results in automatically dividing the range from xmin to
xmax into 100 intervals.</para>
<para>
Factors for <guilabel>x normalization</guilabel> and
<guilabel>y normalization</guilabel> may be entered manually. These
factors also may be determined automatically using
<guibutton>Autoscale</guibutton> with checked
<guilabel>Normalization</guilabel> in the dialog
<link linkend="frame">Frame</link>.</para>
<para>
Markers (<guilabel>Symbol</guilabel>&nbsp;&lt;=&nbsp;0) or lines
(<guilabel>Symbol</guilabel>&nbsp;&gt;&nbsp;0) may be chosen to present the function.
This is done most convenient using the dialog
<guilabel>Lines and Markers</guilabel>, to be opened with the button right
to the spin box, which shows the actual line or marker.</para>
<para>
The <guilabel>Color</guilabel> of lines or markers may be chosen using the
dialog <guilabel>Select Color</guilabel>, opened with the colored
button.</para>
<para>
A function value table may be exported as a data file by use of the button
<guibutton><accel>E</accel>xport</guibutton>. A file selection dialog will be opened for
this purpose.</para>
<para>
The dialog may be canceled without saving by use of the button
<guibutton><accel>C</accel>ancel</guibutton>. By using <guibutton><accel>A</accel>pply</guibutton> changes
are saved without closing the dialog. With <guibutton><accel>O</accel>K</guibutton> changes
are saved and the dialog is closed.
</para>

</sect1>

<sect1 id="parfunc">
<title>Parametric function</title>
<anchor id="sec-parfunc"/>

<para>
The dialog <guilabel>Parametric function</guilabel> is used to perform the
settings for plots of parametric functions.</para>
<para>
In the groups <guilabel>x(t)</guilabel> and <guilabel>y(t)</guilabel> the
setting for the abscissa an the ordinate function may be performed in the
same way.</para>
<para>
In the fields <guilabel>Library</guilabel> the paths of the shared
libraries containing the functions to be chosen may be entered. The
buttons right to the entry fields open file selection dialogs for this
purpose.</para>
<para>
The names of the <guilabel>Functions</guilabel> for x(t) and y(t) are
entered in the corresponding fields. When in the same directories as for
the shared libraries module definition files with the same names but the
extension <literal role="extension">.def</literal> are present, the functions may be
chosen from a list in the dialog <guilabel>Functions</guilabel>, opened
with the buttons right to the entry fields.</para>
<para>
With the buttons <guibutton>Edit</guibutton> a dialog
<guilabel>Parameter</guilabel> may be opened, which allows to enter the
values of up to 20 parameters of the functions. When the option
<guilabel>S<accel>h</accel>ow Function Source</guilabel> is activated in the Settings
menu and a C or C++ language source file with the same name as the shared
library with the extension <literal role="extension">.c</literal> or
<literal role="extension">.cpp</literal>, respectively, is present in the same directory,
its contents is displayed right to the parameter fields, too. The buttons
<guibutton>Load</guibutton> open a file selection dialog for loading the
parameters from an ASCII file (one parameter each line). The buttons
<guibutton>Save</guibutton> open a file selection dialog for saving the
parameters in an ASCII file.</para>
<para>
The limits for the function's common argument t are entered using the
fields <guilabel>tmin</guilabel> and <guilabel>tmax</guilabel>. With
<guilabel>Delta t</guilabel> the step length for the argument is set. A
value of 0 results in automatically dividing the range from tmin to tmax
into 100 intervals.</para>
<para>
Factors for <guilabel>x normalization</guilabel> and
<guilabel>y normalization</guilabel> may be entered manually. These
factors also may be determined automatically using
<guibutton>Autoscale</guibutton> with checked
<guilabel>Normalization</guilabel> in the dialog
<link linkend="frame">Frame</link>.</para>
<para>
Markers (<guilabel>Symbol</guilabel>&nbsp;&lt;=&nbsp;0) or lines
(<guilabel>Symbol</guilabel>&nbsp;&gt;&nbsp;0) may be chosen to present thefunctions.
This is done most convenient using the dialog
<guilabel>Lines and Markers</guilabel>, to be opened with the button right
to the spin box, which shows the actual line or marker.</para>
<para>
The <guilabel>Color</guilabel> of lines or markers may be chosen using the
dialog <guilabel>Select Color</guilabel>, opened with the colored
button.</para>
<para>
A function value table may be exported as a data file by use of the button
<guibutton><accel>E</accel>xport</guibutton>. A file selection dialog will be opened for
this purpose.</para>
<para>
The dialog may be canceled without saving by use of the button
<guibutton><accel>C</accel>ancel</guibutton>. By using <guibutton><accel>A</accel>pply</guibutton> changes
are saved without closing the dialog. With <guibutton><accel>O</accel>K</guibutton> changes
are saved and the dialog is closed.
</para>

</sect1>

<sect1 id="legend">
<title>Legend</title>
<anchor id="sec-legend"/>

<para>
The dialog <guilabel>Legend</guilabel> is used to perform the settings for
the explanation of line types and symbols as well as for additional
labels.</para>
<para>
In the group <guilabel>Data</guilabel> a <guilabel>Symbol</guilabel> to be
explained is selected. This is done most convenient using the dialog
<guilabel>Lines and Markers</guilabel>, opened using the button right to
the spin box, which shows the actual line or marker. The symbol number -17
may be chosen to draw labels without markers or lines. The
<guilabel>Color</guilabel> of lines and markers is selected in the dialog
<guilabel>Select Color</guilabel>, opened with the colored button.
With <guilabel>x</guilabel> and <guilabel>y</guilabel> the position with
respect to the lower left corner of the window may be set.</para>
<para>
In the group <guilabel>Label</guilabel> the <guilabel>Text</guilabel> may
be entered. Text with special characters is entered most conveniently
using the dialog <link linkend="edit-text">Edit text</link>, opened using
the button right to the entry field. With <guilabel>Size</guilabel> the
relative size of the characters may be set. A setting of 100&nbsp;% corresponds
to a normal value. The <guilabel>Color</guilabel> of the text label is
selected in the dialog <guilabel>Select Color</guilabel>, opened with the
colored button. With <guilabel>xoff</guilabel> and
<guilabel>yoff</guilabel> the position of the text with respect to that of
the symbol may be entered.</para>
<para>
The dialog may be canceled without saving by use of the button
<guibutton><accel>C</accel>ancel</guibutton>. By using <guibutton><accel>A</accel>pply</guibutton> changes
are saved without closing the dialog. With <guibutton><accel>O</accel>K</guibutton> changes
are saved and the dialog is closed.</para>

</sect1>

<sect1 id="text">
<title>Text</title>
<anchor id="sec-text"/>

<para>
The dialog <guilabel>Text</guilabel> is used to perform the settings for
a text to decorate the plot.</para>
<para>
The <guilabel>Text</guilabel> may be entered in the corresponding entry
field. Text with special characters is entered most conveniently using the
dialog <link linkend="edit-text">Edit text</link>, opened using
the button right to the entry field. The <guilabel>Direction</guilabel>
of the text can be entered in degrees. The <guilabel>Alignment</guilabel>
of the text with respect to the position may be chosen to be left, centered,
or right. With <guilabel>x</guilabel> and <guilabel>y</guilabel> the
position of the text may be set in cm.</para>
<para>
With <guilabel>Size</guilabel> the relative size of the characters may
be set. A setting of 100&nbsp;% corresponds to a normal value. The
<guilabel>Color</guilabel> of the line is selected in the dialog
<guilabel>Select Color</guilabel>, opened with the colored button.</para>
<para>
The dialog may be canceled without saving by use of the button
<guibutton><accel>C</accel>ancel</guibutton>. By using <guibutton><accel>A</accel>pply</guibutton> changes
are saved without closing the dialog. With <guibutton><accel>O</accel>K</guibutton> changes
are saved and the dialog is closed.</para>

</sect1>

<sect1 id="line">
<title>Line</title>
<anchor id="sec-line"/>

<para>
The dialog <guilabel>Line</guilabel> is used to perform the settings for
a line to decorate the plot.</para>
<para>
The <guilabel>Direction</guilabel> of the line can be entered in degrees.
With <guilabel>Length</guilabel> the length is set in cm. With
<guilabel>x</guilabel> and <guilabel>y</guilabel> the start position of
the line may be set.</para>
<para>
With <guilabel>Width</guilabel> the relative width of the line may
be set. A setting of 100&nbsp;% corresponds to a normal value. The
<guilabel>Color</guilabel> of the line is selected in the dialog
<guilabel>Select Color</guilabel>, opened with the colored button.</para>
<para>
The dialog may be canceled without saving by use of the button
<guibutton><accel>C</accel>ancel</guibutton>. By using <guibutton><accel>A</accel>pply</guibutton> changes
are saved without closing the dialog. With <guibutton><accel>O</accel>K</guibutton> changes
are saved and the dialog is closed.</para>

</sect1>

<sect1 id="arrow">
<title>Arrow</title>
<anchor id="sec-arrow"/>

<para>
The dialog <guilabel>Arrow</guilabel> is used to perform the settings for
an arrow to decorate the plot.</para>
<para>
The <guilabel>Direction</guilabel> of the arrow can be entered in degrees.
With <guilabel>Length</guilabel> the total length is set in cm. With
<guilabel>x</guilabel> and <guilabel>y</guilabel> the position of the
arrow head may be set.</para>
<para>
With <guilabel>Size</guilabel> the relative size of the arrow head
may be set. A setting of 100&nbsp;% corresponds to a normal value. The
<guilabel>Color</guilabel> of the arrow is selected in the dialog
<guilabel>Select Color</guilabel>, opened with the colored button.</para>
<para>
The dialog may be canceled without saving by use of the button
<guibutton><accel>C</accel>ancel</guibutton>. By using <guibutton><accel>A</accel>pply</guibutton> changes
are saved without closing the dialog. With <guibutton><accel>O</accel>K</guibutton> changes
are saved and the dialog is closed.</para>

</sect1>

<sect1 id="rect">
<title>Rectangle</title>
<anchor id="sec-rect"/>

<para>
The dialog <guilabel>Rectangle</guilabel> is used to perform the settings
for a rectangle to decorate the plot.</para>
<para>
The <guilabel>Width</guilabel> and <guilabel>Height</guilabel> of the
rectangle can be entered in cm. With <guilabel>x</guilabel>
and <guilabel>y</guilabel> the position of the left bottom point of
the rectangle may be set.</para>
<para>
With <guilabel>Line width</guilabel> the relative width of the line
to draw the rectangle may be set. A setting of 100&nbsp;% corresponds to a
normal value. The <guilabel>Color</guilabel> of the rectangle is selected
in the dialog <guilabel>Select Color</guilabel>, opened with the colored
button. The rectangle is filled with the color if
<guilabel>Filled</guilabel> is checked.</para>
<para>
The dialog may be canceled without saving by use of the button
<guibutton><accel>C</accel>ancel</guibutton>. By using <guibutton><accel>A</accel>pply</guibutton> changes
are saved without closing the dialog. With <guibutton><accel>O</accel>K</guibutton> changes
are saved and the dialog is closed.</para>

</sect1>

<sect1 id="ellipse">
<title>Ellipse</title>
<anchor id="sec-ellipse"/>

<para>
The dialog <guilabel>Ellipse</guilabel> is used to perform the settings
for a ellipse to decorate the plot.</para>
<para>
The <guilabel>Width</guilabel> and <guilabel>Height</guilabel> of the
ellipse can be entered in cm. With <guilabel>x</guilabel> and
<guilabel>y</guilabel> the position of the center may be set.</para>
<para>
With <guilabel>Line width</guilabel> the relative width of the line
to draw the ellipse may be set. A setting of 100&nbsp;% corresponds to a
normal value. The <guilabel>Color</guilabel> of the ellipse is selected
in the dialog <guilabel>Select Color</guilabel>, opened with the colored
button. The ellipse is filled with the color if <guilabel>Filled</guilabel>
is checked.</para>
<para>
The dialog may be canceled without saving by use of the button
<guibutton><accel>C</accel>ancel</guibutton>. By using <guibutton><accel>A</accel>pply</guibutton> changes
are saved without closing the dialog. With <guibutton><accel>O</accel>K</guibutton> changes
are saved and the dialog is closed.</para>

</sect1>

<sect1 id="fit">
<title>Parameter fit</title>
<anchor id="sec-fit"/>

<para>
The dialog <guilabel>Parameter fit</guilabel> is used to perform parameter
fits of one function (or more functions depending on the same set of
parameters in case of multidimensional fits) to the same number of data
sets. The dialog is shown either when <guibutton><accel>F</accel>it</guibutton> is selected
in the dialog <link linkend="items">Items</link>, or when a data file
is loaded and the options <guilabel>Autofit</guilabel> in the dialog
<link linkend="autoplot">Autoplot settings</link> and
<guilabel>Show dialog</guilabel> in the dialog
<link linkend="autofit">Autofit settings</link> both are
activated.</para>
<para>
Initial values for the parameters may be entered in the corresponding
fields. When the dialog is opened, the fields are initialized with the
current parameter set of the function (in case of multidimensional fits
with that of the first function in the list of selected functions). By
checking the boxes left to the entry fields the parameters are chosen to
be fitted, otherwise their values are kept constant. In case of general
linear least square fits no initial values need to be entered for the
parameters chosen to be fitted. The estimated standard deviations of the
parameter are displayed right to the corresponding entry fields.</para>
<para>
The buttons <guibutton>Load</guibutton> and <guibutton>Save</guibutton> are
used to load and save the current parameter set from or to text files,
respectively. Differing to the format used in the other parameter setting
dialogs, here a second column containing the estimated standard deviations
of the parameters is saved, too.</para>
<para>
When the box <guilabel>Nonlinear fit</guilabel> is checked, nonlinear
parameter fits by employing the iterative Levenberg-Marquardt method will
be performed. Otherwise noniterative general linear least square parameter
fits are selected. In this case the function must depend linearly on all
parameters chosen to be fitted.</para>
<para>
In the group <guilabel>Data errors</guilabel> the settings for weighing
the data points may be formed. The selected <guilabel>Array</guilabel> for
which the settings are performed is shown by its filename and the column
indices for x, y, and errors. In case of multidimensional fits the array
can be selected with a spin box showing its index within the list of
arrays. Then the settings can be performed individually for each
array.</para>

<anchor id="errormodel"/>
<para>
When the box <guilabel>Error column</guilabel> is checked, the
corresponding column of the data set, selected in the dialog
<guilabel>Array</guilabel>, is used as the standard deviation of the y
values for calculation of chi-square. Otherwise the standard deviation
will be estimated by an error model function taking the y value as its
argument. This function and their parameters may be selected in a dialog
which is displayed by clicking <guibutton>Model</guibutton>. A simple error
model might be selected by choosing a polynomial with p1&nbsp;=&nbsp;0.01, resulting
in standard deviations of 1&nbsp;%.</para>
<para>
Termination of the iterative nonlinear parameter fit algorithm may be
controlled by setting a <guilabel>Maximum iterations</guilabel> number and
a <guilabel>Tolerance</guilabel> value. Fitting is terminated when either
the maximum number of iterations is reached or the relative errors of
chi-square or of the parameters have decreased down to the tolerance
value.</para>
<para>
The fit is started by clicking the <guibutton><accel>S</accel>tart</guibutton> button.
Progress of the chi-square values during the iterations is displayed in
the listbox in the lower part of the dialog. Fitting can be terminated by
use of the button <guibutton><accel>C</accel>ancel</guibutton>. At the end the termination
reason is displayed as well as the average deviation of the y values, the
number of the degrees of freedom ny, and the significance Q, giving the
probability that chi-square should exceed the achieved value. The matrix
of the resulting parameter correlation coefficients is displayed by use of
the button <guibutton>Correlations</guibutton>.</para>
<para>
The residuals of the fit (the differences between data and function values)
can be plotted graphically by use of the button <guibutton><accel>R</accel>esiduals</guibutton>.
The plot displayed in a new window then can be printed and saved as a new plot
file with the residual data stored internally.</para>
<para>
The dialog may be canceled without saving the parameters by use of the
button <guibutton><accel>C</accel>ancel</guibutton>. By using <guibutton><accel>A</accel>pply</guibutton>
the parameters are saved without closing the dialog. With
<guibutton><accel>O</accel>K</guibutton> the parameters are saved and the dialog is closed.
In case of multidimensional fits then the parameters of each selected
function will be actualized.
</para>

</sect1>

<sect1 id="edit-text">
<title>Edit text</title>

<para>
The dialog <guilabel>Edit text</guilabel> is used to enter a text
containing superscripts, subscripts, and characters of different
fonts.</para>
<para>
The selection of a <guilabel>Font</guilabel> and a
<guilabel>Position</guilabel> is determined by a control sequence starting
with the character <keycap>#</keycap> and containing two additional characters
in the field located right to the button with the symbol &lt;. Using this
button inserts the control sequence (or another string, entered manually)
at the cursor position to the current text in the field left to the button.
Text may be inserted manually at any position in the field. The resulting
view is shown immediately in a window above the input field.</para>
<para>
The dialog may be canceled without saving by use of the button
<guibutton><accel>C</accel>ancel</guibutton>. With <guibutton><accel>O</accel>K</guibutton> changes are
saved and the dialog is closed.
</para>

</sect1>

<sect1 id="basic">
<title>Basic settings</title>
<anchor id="sec-basic"/>

<para>
The dialog <guilabel>Basic settings</guilabel> is used to perform the
presettings for size and colors of the graphical presentation.</para>
<para>
In the group <guilabel>Page format</guilabel> the
<guilabel>Width</guilabel> and <guilabel>Height</guilabel> of the page
can be set. For convenient setting of the standard sizes
<guibutton>Portrait A4</guibutton> and <guibutton>Landscape A4</guibutton>
two buttons are available.</para>
<para>
In the group <guilabel>Default colors</guilabel> the preselections of the
colors for <guilabel>Frame</guilabel>, <guilabel>Grid</guilabel>,
and <guilabel>Data</guilabel> may be performed. Selection is done in the
dialog <guilabel>Select Color</guilabel>, opened with the colored
buttons.</para>
<para>
In the group <guilabel>Output format</guilabel> the double value
<guilabel>Presentation</guilabel> and the <guilabel>Precision</guilabel>
for function parameters in output files and dialogs may be set,
corresponding to the format identifier of the C function <function>printf()</function>.
The separator char used to separate columns in exported data files
can be selected using the combobox <guilabel>Separator</guilabel>.
Space, tab or comma characters may be selected.
</para>

</sect1>

<sect1 id="autoplot">
<title>Autoplot settings</title>
<anchor id="sec-autoplot"/>

<para>
The dialog <guilabel>Autoplot settings</guilabel> is used to perform the
settings for automatic scaling of data files loaded by command line
parameters, file menu, or by drag and drop.</para>
<para>
In the group <guilabel>Axis mode</guilabel> one can choose between only
a frame around the data window or additional tick marks on the left and
lower sides of the frame or a grid. tick marks and grid may be labeled
with numeric values.</para>
<para>
In the group <guilabel>Window</guilabel> position and size of the data
window may be set.</para>
<para>
In the group <guilabel>Labels</guilabel> text for the axis labels and a
heading may be entered. Text with special characters is entered most
conveniently in the dialog <link linkend="edit-text">Edit text</link>
which shows up when using the buttons right to the entry fields. By
checking <guilabel>= path</guilabel> the path of the data files is used
as the heading label.</para>
<para>
In the group <guilabel>Data</guilabel> the file columns for abscissa and
ordinate values may be chosen by <guilabel>x column</guilabel> and
<guilabel>y column</guilabel>. 0 corresponds to the first column.
Logarithmic scaling can be selected individually by checking
<guilabel>log</guilabel>. When <guilabel>Error bar</guilabel> is checked,
the column chosen in <guilabel>Error column</guilabel> is used for
displaying error bars. Data may be presented by markers
(<guilabel>Symbol</guilabel>&nbsp;&lt;=&nbsp;0) or lines (<guilabel>Symbol</guilabel>&nbsp;&gt;&nbsp;0).
Most conveniently this is selected in the dialog
<guilabel>Lines and Markers</guilabel>, opened by the button
right to the spin box, which shows the actual line or marker. When
<guilabel>Normalization</guilabel> is checked, powers of ten are evaluated
to be multiplied with the numeric data values in case of huge or tiny
numbers. If not equal to 1, these normalization factors are included in
the axis labels.</para>
<para>
When <guilabel>Autofit</guilabel> is checked, an automatic parameter fit
will be performed after loading the data file, corresponding to the
settings performed in the <guilabel>Autofit settings</guilabel>
dialog.</para>
<para>
The dialog may be canceled without saving by use of the button
<guibutton><accel>C</accel>ancel</guibutton>. By using <guibutton><accel>A</accel>pply</guibutton> changes
are saved without closing the dialog. With <guibutton><accel>O</accel>K</guibutton> changes
are saved and the dialog is closed.
</para>

</sect1>

<sect1 id="autofit">
<title>Autofit settings</title>
<anchor id="sec-autofit"/>

<para>
The dialog <guilabel>Autofit settings</guilabel> is used to perform the
settings for automatic parameter fits of functions to data sets, which are
combined with the autoplot feature when the option
<guilabel>Autofit</guilabel> is activated in the
<guilabel>Autoplot settings</guilabel> dialog.</para>
<para>
In the <guilabel>Library</guilabel> field in the group
<guilabel>y(x)</guilabel> the path of the shared library containing the
function to be fitted may be entered. The button right to the entry field
opens a file selection dialog for this purpose.</para>
<para>
The name of the <guilabel>Function</guilabel> is entered in another field.
When in the same directory as for the shared library a module definition
file with the same name but the extension <literal role="extension">.def</literal> is
present, the function may be chosen from a list in the dialog
<guilabel>Functions</guilabel>, opened with the button right to the entry
field.</para>
<para>
With the button <guibutton>Edit</guibutton> a dialog
<guilabel>Parameter</guilabel> may be opened, which allows to enter the
values of up to 20 initial parameters of the function. Also the parameters
which should be fitted and not kept constant may be selected by checkboxes.
When the option <guilabel>S<accel>h</accel>ow Function Source</guilabel> is activated in
the Settings menu and a C or C++ language source file with the same name
as the shared library but the extension <literal role="extension">.c</literal> or
<literal role="extension">.cpp</literal>, respectively, is present in the same directory,
its contents is displayed right to the parameter fields, too. The button
<guibutton>Load</guibutton> opens a file selection dialog for loading the
parameters from an ASCII file (one parameter each line). The button
<guibutton>Save</guibutton> opens a file selection dialog for saving the
parameters in an ASCII file.</para>
<para>
When the box <guilabel>Nonlinear fit</guilabel> is checked, nonlinear
parameter fits by employing the iterative Levenberg-Marquardt method will
be performed. Otherwise noniterative general linear least square parameter
fits are selected. In this case the function must depend linearly on all
parameters chosen to be fitted.</para>
<para>
When the box <guilabel>Error column</guilabel> is checked, the
corresponding column of the data set, selected in the dialog
<guilabel>Array</guilabel>, will be used as the standard deviation of
the y values for calculation of chi-square. Otherwise the standard
deviation will be estimated by an error model function taking the y value
as its argument. This function and their parameters may be selected in a
dialog which is displayed by clicking <guibutton>Model</guibutton>. A simple
error model might be selected by choosing a polynomial with p1&nbsp;=&nbsp;0.01,
resulting in standard deviations of 1&nbsp;%.</para>
<para>
Termination of the iterative nonlinear parameter fit algorithm may be
controlled by setting a <guilabel>Maximum iterations</guilabel> number and
a <guilabel>Tolerance</guilabel> value. Fitting will be terminated when
either the maximum number of iterations is reached or the relative errors
of chi-square or of the parameters have decreased down to the tolerance
value.</para>
<para>
Markers (<guilabel>Symbol</guilabel>&nbsp;&lt;=&nbsp;0) or lines
(<guilabel>Symbol</guilabel> &gt; 0) may be chosen to present the fitted
function. This is done most convenient using the dialog
<guilabel>Lines and Markers</guilabel>, to be opened with the button right
to the spin box, which shows the actual line or marker.</para>
<para>
The <guilabel>Color</guilabel> of lines or markers may be chosen using the
dialog <guilabel>Select Color</guilabel>, opened with the colored
button.</para>
<para>
When <guilabel>Show dialog</guilabel> is active, the dialog
<link linkend="fit">Parameter fit</link> is shown when performing the
fit, allowing monitoring and interaction.</para>
<para>
The resulting parameter settings will be saved automatically on disk, when
the option <guilabel>Save parameters</guilabel> is active. The filename is
derived from the name of the data file. The extension is set to
<filename>.par</filename>.</para>
<para>
When <guilabel>Follow parameters</guilabel> is active, the set of initial
parameters will not be reset before starting a fit to the next data set of
a series of data files.</para>
<para>
The dialog may be canceled without saving by use of the button
<guibutton><accel>C</accel>ancel</guibutton>. With <guibutton><accel>O</accel>K</guibutton> changes are
saved and the dialog is closed.
</para>

</sect1>

</chapter>

<chapter id="developers">
<title>Developer's Guide to Kpl</title>

<sect1 id="functions">
<title>Functions</title>

<para>
User defined C or C++ functions for graphical presentation of ordinary and
parametric functions and for parameter fits are used by &kpl; as shared
libraries. These functions return <type>double</type> values and expect a <type>double</type>
function argument and a pointer to a <type>double</type> array of up to 20
parameters:</para>
<programlisting>
double myfunction(double x, const double *p);</programlisting>
<para>
Module definition files (of the type <literal role="extension">.def</literal> and the
same name as source and library files) are used as a lookup table by
&kpl;. They correspond to the output of the program <command>nm</command>.</para>
<para>
In the directory $<envar>KDEDIR</envar><filename>/share/apps/kpl</filename> a shared
library <filename>fkt.so</filename> as well as the source file
<filename>fkt.c</filename>, the module definition file
<filename>fkt.def</filename>, and a make file
<filename>Makefile.fkt</filename> are already installed. The files
<filename>fkt.c</filename> and <filename>Makefile.fkt</filename> may be
used as examples and have to be customized in this case.</para>
<para>
As an example for multidimensional parameter fits, a C++ source file
<filename>fcompl.cpp</filename> as well as the corresponding files
<filename>fcompl.so</filename>, <filename>fcompl.def</filename>, and
<filename>Makefile.fcompl</filename> are provided in the same directory.
Here two <type>double</type> valued functions make use of the real and imaginary part
of a complex function, implemented with the class <classname>complex</classname>.</para>

</sect1>

<sect1 id="dcop">
<title>DCOP Interface</title>

<para>
The <acronym>DCOP</acronym> interface allows to control &kpl; by other KDE applications and
scripts.</para>
<para>
For a KDE application which should make use of the <acronym>DCOP</acronym> interface of &kpl;
you should include the header file <filename>kpl_stub.h</filename>, which
is installed in the directory $<envar>KDEDIR</envar><filename>/include</filename>. You
also need to compile the file <filename>kpl_stub.cpp</filename> in
$<envar>KDEDIR</envar><filename>/share/apps/kpl</filename> and link it to your
application. These two files provide the <acronym>DCOP</acronym> interface functions of
&kpl; as methods of the class <classname>KplApp_stub</classname>. A C++ example
<filename>demo1.cpp</filename> which makes use of them is installed in
$<envar>KDEDIR</envar><filename>/share/apps/kpl</filename>.</para>
<para>
The KDE XmlRpc Daemon (<command>kxmlrpcd</command>) provides a way to use the <acronym>DCOP</acronym> interface
of &kpl; from scripts written in several languages by remote procedure
calls (RPC) with XML and HTTP, even running on another platform. An example
<filename>demo1.py</filename> written in Python is installed in
$<envar>KDEDIR</envar><filename>/share/apps/kpl</filename>. It essentially does the same
as the C++ example. To run it, you need to unzip the Python XML-RPC library
<ulink url="http://www.pythonware.com/downloads/xmlrpc-0.9.8-990621.zip">
http://www.pythonware.com/downloads/xmlrpc-0.9.8-990621.zip</ulink>
into your Python directory (<filename>/usr/lib/python2.0</filename>, for
instance). Note that the authentification mechanism of <command>kxmlrpcd</command> needs the
authentification string as the very first parameter of each interface
function call.</para>
<para>
Unfortunately on several installations the XmlRpc Daemon of KDE 2.2.1 still
fails resulting in errors due to uncomplete remote procedure calls, when more
than 1 Kbytes have to be transferred. This will happen when using functions
with very long parameter lists like <function>newFrameItem()</function> (see below). As a
workaround, until the problem is fixed in a more profound way, you can apply
a patch to the source code of kxmlrpcd. The patch file named
kxmlrpcserver-patch is installed in
$<envar>KDEDIR</envar><filename>/share/apps/kpl</filename>. It simply increases the size
of a buffer from 1 K to 4 K. You will have to unpack the source package of
kdebase-2.1.1 (available on
<ulink url="ftp://ftp.kde.org/pub/kde/">ftp://ftp.kde.org/pub/kde/</ulink>)
and to apply the patch in the directory
<filename>kdebase-2.2.1/kxmlrpc</filename> by running
<screen width="40">
<prompt>%</prompt> <userinput>patch -p0 &lt; kxmlrpcserver-patch</userinput>
</screen></para>
<para>
After that you should run
<screen width="40">
<prompt>%</prompt> <userinput>./configure</userinput>
</screen></para>
<para>
in the directory <filename>kdebase-2.2.1</filename> and (at least
in the directory <filename>kdebase-2.2.1/kxmlrpc</filename>)
<screen width="40">
<prompt>%</prompt> <userinput>make</userinput>
</screen></para>
<para>
and (as root)
<screen width="40">
<prompt>%</prompt> <userinput>make install</userinput>
</screen></para>
<para>
The patched version of kxmlrpc then will be active when you login
next time.</para>
<para>
To test the <acronym>DCOP</acronym> interface of &kpl; you also can use the KDE <acronym>DCOP</acronym> utilities
<command>dcop</command> (command line) and <command>kdcop</command> (GUI).</para>
<para>
The <acronym>DCOP</acronym> interface of &kpl; provides the following functions:</para>

<sect2>
<title>newPlot</title>
<synopsis>
void newPlot();
</synopsis>
<para>
Erases the current plot.
</para>
</sect2>

<sect2>
<title>openPlot</title>
<synopsis>
int openPlot(const QString&amp; <replaceable class="parameter">url</replaceable>);
</synopsis>
<para>Opens a plot file.</para>
<para>Parameters:</para>
<variablelist>
<varlistentry>
<term><replaceable class="parameter">url</replaceable>
</term>
<listitem><para>URL of the file.
</para></listitem>
</varlistentry>
</variablelist>
<para>Returns: true when succeeded.
</para>
</sect2>

<sect2>
<title>openData</title>
<synopsis>
int openData(const QString&amp; <replaceable class="parameter">url</replaceable>);
</synopsis>
<para>Opens a data file.</para>
<para>Parameters:</para>
<variablelist>
<varlistentry>
<term><replaceable class="parameter">url</replaceable>
</term>
<listitem><para>URL of the file.
</para></listitem>
</varlistentry>
</variablelist>
<para>Returns: true when succeeded.
</para>
</sect2>

<sect2>
<title>doPlot</title>
<synopsis>
void doPlot();
</synopsis>
<para>Performs plot.</para>
</sect2>

<sect2>
<title>savePlot</title>
<synopsis>
int savePlot(const QString&amp; <replaceable class="parameter">url</replaceable>);
</synopsis>
<para>Saves a plot file.</para>
<para>Parameters:</para>
<variablelist>
<varlistentry>
<term><replaceable class="parameter">url</replaceable>
</term>
<listitem><para>URL of the file.
</para></listitem>
</varlistentry>
</variablelist>
<para>Returns: true when succeeded.
</para>
</sect2>

<sect2>
<title>savePS</title>
<synopsis>
int savePS(const QString&amp; <replaceable class="parameter">url</replaceable>,
            int <replaceable class="parameter">landscape</replaceable>);
</synopsis>
<para>Generates a PostScript file.</para>
<para>Parameters:</para>
<variablelist>
<varlistentry>
<term><replaceable class="parameter">url</replaceable>
</term>
<listitem><para>URL of the file.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">landscape</replaceable>
</term>
<listitem><para>true for landscape orientation.
</para></listitem>
</varlistentry>
</variablelist>
<para>Returns: true when succeeded.
</para>
</sect2>

<sect2>
<title>printPlot</title>
<synopsis>
int printPlot(const QString&amp; <replaceable class="parameter">printerName</replaceable>,
              const QString&amp; <replaceable class="parameter">fileName</replaceable>,
              int <replaceable class="parameter">landscape</replaceable>,
              int <replaceable class="parameter">numCopies</replaceable>);
</synopsis>
<para>Prints current plot.</para>
<para>Parameters:</para>
<variablelist>
<varlistentry>
<term><replaceable class="parameter">printerName</replaceable>
</term>
<listitem><para>name of the printer.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">fileName</replaceable>
</term>
<listitem><para>name of the output file (empty for output to printer).
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">landscape</replaceable>
</term>
<listitem><para>true for landscape orientation.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">numCopies</replaceable>
</term>
<listitem><para>number of copies.
</para></listitem>
</varlistentry>
</variablelist>
<para>Returns: true when succeeded.
</para>
</sect2>

<sect2>
<title>setAutoplotOption</title>
<synopsis>
void setAutoplotOption(int <replaceable class="parameter">setting</replaceable>);
</synopsis>
<para>Sets autoplot option.</para>
<para>Parameters:</para>
<variablelist>
<varlistentry>
<term><replaceable class="parameter">setting</replaceable>
</term>
<listitem><para>true to plot automatically after changes.
</para></listitem>
</varlistentry>
</variablelist>
</sect2>

<sect2>
<title>setAddFilesOption</title>
<synopsis>
void setAddFilesOption(int <replaceable class="parameter">setting</replaceable>);
</synopsis>
<para>Sets add files option.</para>
<para>Parameters:</para>
<variablelist>
<varlistentry>
<term><replaceable class="parameter">setting</replaceable>
</term>
<listitem><para>true to add plot and data files to existing plots.
</para></listitem>
</varlistentry>
</variablelist>
</sect2>

<sect2>
<title>setPathOption</title>
<synopsis>
void setPathOption(int <replaceable class="parameter">setting</replaceable>);
</synopsis>
<para>Sets path saving option.</para>
<para>Parameters:</para>
<variablelist>
<varlistentry>
<term><replaceable class="parameter">setting</replaceable>
</term>
<listitem><para>true to save absolute paths.
</para></listitem>
</varlistentry>
</variablelist>
</sect2>

<sect2>
<title>setBoundingBoxOption</title>
<synopsis>
void setBoundingBoxOption(int <replaceable class="parameter">setting</replaceable>);
</synopsis>
<para>Sets calculate PS bounding box option.</para>
<para>Parameters:</para>
<variablelist>
<varlistentry>
<term><replaceable class="parameter">setting</replaceable>
</term>
<listitem><para>true to calculate automatically the box.
</para></listitem>
</varlistentry>
</variablelist>
</sect2>

<sect2>
<title>setPageFormat</title>
<synopsis>
void setPageFormat(double <replaceable class="parameter">w</replaceable>,
                   double <replaceable class="parameter">h</replaceable>);
</synopsis>
<para>Sets page size.</para>
<para>Parameters:</para>
<variablelist>
<varlistentry>
<term><replaceable class="parameter">w</replaceable>
</term>
<listitem><para>width in cm.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">h</replaceable>
</term>
<listitem><para>height in cm.
</para></listitem>
</varlistentry>
</variablelist>
</sect2>

<sect2>
<title>setColors</title>
<synopsis>
void setColors(const QString&amp; <replaceable class="parameter">colFrame</replaceable>,
               const QString&amp; <replaceable class="parameter">colGrid</replaceable>,
               const QString&amp; <replaceable class="parameter">colData</replaceable>);
</synopsis>
<para>Sets default colors (hex-encoded RGB strings, example: "ff" for red).</para>
<para>Parameters:</para>
<variablelist>
<varlistentry>
<term><replaceable class="parameter">colFrame</replaceable>
</term>
<listitem><para>color for frame and labels.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">colGrid</replaceable>
</term>
<listitem><para>color for ticks and grid lines.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">colData</replaceable>
</term>
<listitem><para>color for lines and markers.
</para></listitem>
</varlistentry>
</variablelist>
</sect2>

<sect2>
<title>setOutputFormat</title>
<synopsis>
void setOutputFormat(const QString&amp; <replaceable class="parameter">pres</replaceable>,
                     int <replaceable class="parameter">prec</replaceable>);
</synopsis>
<para>Sets format for numeric output.</para>
<para>Parameters:</para>
<variablelist>
<varlistentry>
<term><replaceable class="parameter">pres</replaceable>
</term>
<listitem><para><function>printf()</function> presentation character.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">prec</replaceable>
</term>
<listitem><para>precision.
</para></listitem>
</varlistentry>
</variablelist>
</sect2>

<sect2>
<title>setAutoplot</title>
<synopsis>
void setAutoplot(double <replaceable class="parameter">x0</replaceable>,
                 double <replaceable class="parameter">w</replaceable>,
                 double <replaceable class="parameter">y0</replaceable>,
                 double <replaceable class="parameter">h</replaceable>,
                 int <replaceable class="parameter">gridmode</replaceable>,
                 const QString&amp; <replaceable class="parameter">sx</replaceable>,
                 const QString&amp; <replaceable class="parameter">sy</replaceable>,
                 const QString&amp; <replaceable class="parameter">sh</replaceable>,
                 int <replaceable class="parameter">pathHeading</replaceable>,
                 int <replaceable class="parameter">ix</replaceable>,
                 int <replaceable class="parameter">iy</replaceable>,
                 int <replaceable class="parameter">ie</replaceable>,
                 int <replaceable class="parameter">logx</replaceable>,
                 int <replaceable class="parameter">logy</replaceable>,
                 int <replaceable class="parameter">errbars</replaceable>,
                 int <replaceable class="parameter">symb</replaceable>,
                 int <replaceable class="parameter">autoNorm</replaceable>,
                 int <replaceable class="parameter">autoFit</replaceable>);
</synopsis>
<para>Sets Autoplot options.</para>
<para>Parameters:</para>
<variablelist>
<varlistentry>
<term><replaceable class="parameter">x0</replaceable>
</term>
<listitem><para>left page margin in centimeters.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">w</replaceable>
</term>
<listitem><para>width of the data window in centimeters.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">y0</replaceable>
</term>
<listitem><para>bottom page margin in centimeters.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">h</replaceable>
</term>
<listitem><para>height of the data window in centimeters.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">gridmode</replaceable>
</term>
<listitem><para>0 for frame only, 1 for axes with tics,
 2 for axes with tics and labels, 3 for grid, 4 for grid with labels.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">sx</replaceable>
</term>
<listitem><para>x axis text.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">sy</replaceable>
</term>
<listitem><para>y axis text.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">sh</replaceable>
</term>
<listitem><para>heading text.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">pathHeading</replaceable>
</term>
<listitem><para>true for heading = path.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">ix</replaceable>
</term>
<listitem><para>x column index.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">iy</replaceable>
</term>
<listitem><para>y column index.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">ie</replaceable>
</term>
<listitem><para>y error column index.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">logx</replaceable>
</term>
<listitem><para>true for logarithmic scaling of x axis.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">logy</replaceable>
</term>
<listitem><para>true for logarithmic scaling of y axis.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">errbars</replaceable>
</term>
<listitem><para>true to plot error bars.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">symb</replaceable>
</term>
<listitem><para>0 for circles, &lt; 0 for different markers,&nbsp;&gt;&nbsp;0 for different line types.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">autoNorm</replaceable>
</term>
<listitem><para>true for automatic normalization.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">autoFit</replaceable>
</term>
<listitem><para>true for automatic parameter fit.
</para></listitem>
</varlistentry>
</variablelist>
</sect2>

<sect2>
<title>setAutofit</title>
<synopsis>
void setAutofit(const QString&amp; <replaceable class="parameter">path</replaceable>,
                const QString&amp; <replaceable class="parameter">name</replaceable>,
                int <replaceable class="parameter">nonLin</replaceable>,
                int <replaceable class="parameter">errCol</replaceable>,
                const QString&amp; <replaceable class="parameter">errModPath</replaceable>,
                const QString&amp; <replaceable class="parameter">errModName</replaceable>,
                int <replaceable class="parameter">itMax</replaceable>,
                double <replaceable class="parameter">tol</replaceable>,
                int <replaceable class="parameter">symb</replaceable>,
                const QString&amp; <replaceable class="parameter">color</replaceable>,
                int <replaceable class="parameter">showDlg</replaceable>,
                int <replaceable class="parameter">savePar</replaceable>,
                int <replaceable class="parameter">follow</replaceable>);
</synopsis>
<para>Sets Autofit parameters.</para>
<para>Parameters:</para>
<variablelist>
<varlistentry>
<term><replaceable class="parameter">path</replaceable>
</term>
<listitem><para>absolute path of the library for the fit function.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">name</replaceable>
</term>
<listitem><para>fit function name.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">nonLin</replaceable>
</term>
<listitem><para>true for nonlinear parameter fits.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">errCol</replaceable>
</term>
<listitem><para>true for data weighing by error column, false for weighing
 by error model function.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">errModPath</replaceable>
</term>
<listitem><para>absolute path of the library for the error model function.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">errModName</replaceable>
</term>
<listitem><para>error model function name.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">itMax</replaceable>
</term>
<listitem><para>maximum number of iterations (nonlinear fits only).
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">tol</replaceable>
</term>
<listitem><para>tolerance level (nonlinear fits only).
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">symb</replaceable>
</term>
<listitem><para>function plot: 0 for circles, &lt; 0 for different markers,
&nbsp;&gt;&nbsp;0 for different line types.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">color</replaceable>
</term>
<listitem><para>color for function plot.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">showDlg</replaceable>
</term>
<listitem><para>true to display parameter fit dialog.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">savePar</replaceable>
</term>
<listitem><para>true to save resulting parameter files.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">follow</replaceable>
</term>
<listitem><para>true to follow parameter sets in fit series.
</para></listitem>
</varlistentry>
</variablelist>
</sect2>

<sect2>
<title>loadAutofitPar</title>
<synopsis>
int loadAutofitPar(const QString&amp; <replaceable class="parameter">url</replaceable>);
</synopsis>
<para>Loads Autofit function parameters from file.</para>
<para>Parameters:</para>
<variablelist>
<varlistentry>
<term><replaceable class="parameter">url</replaceable>
</term>
<listitem><para>URL of the file.
</para></listitem>
</varlistentry>
</variablelist>
<para>Returns: true when succeeded.
</para>
</sect2>

<sect2>
<title>setAutofitPar</title>
<synopsis>
int setAutofitPar(int <replaceable class="parameter">iPar</replaceable>,
                  double <replaceable class="parameter">value</replaceable>);
</synopsis>
<para>Sets Autofit function parameter value.</para>
<para>Parameters:</para>
<variablelist>
<varlistentry>
<term><replaceable class="parameter">iPar</replaceable>
</term>
<listitem><para>parameter index.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">value</replaceable>
</term>
<listitem><para>parameter value.
</para></listitem>
</varlistentry>
</variablelist>
<para>Returns: true when succeeded.
</para>
</sect2>

<sect2>
<title>enableFitPar</title>
<synopsis>
int enableFitPar(int <replaceable class="parameter">iPar</replaceable>,
                 int <replaceable class="parameter">fit</replaceable>);
</synopsis>
<para>Enables/disables (Auto)fit function parameter.</para>
<para>Parameters:</para>
<variablelist>
<varlistentry>
<term><replaceable class="parameter">iPar</replaceable>
</term>
<listitem><para>parameter index.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">fit</replaceable>
</term>
<listitem><para>true enables parameter fitting.
</para></listitem>
</varlistentry>
</variablelist>
<para>Returns: true when succeeded.
</para>
</sect2>

<sect2>
<title>loadErrModPar</title>
<synopsis>
int loadErrModPar(const QString&amp; <replaceable class="parameter">url</replaceable>,
                  int iArr<replaceable class="parameter"></replaceable>);
</synopsis>
<para>Loads error model function parameters from file.</para>
<para>Parameters:</para>
<variablelist>
<varlistentry>
<term><replaceable class="parameter">url</replaceable>
</term>
<listitem><para>URL of the file.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">iArr</replaceable>
</term>
<listitem><para>array list index.
</para></listitem>
</varlistentry>
</variablelist>
<para>Returns: true when succeeded.
</para>
</sect2>

<sect2>
<title>setErrModPar</title>
<synopsis>
int setErrModPar(int <replaceable class="parameter">iPar</replaceable>,
                 double <replaceable class="parameter">value</replaceable>,
                 int iArr<replaceable class="parameter"></replaceable>);
</synopsis>
<para>Sets error model function parameter value.</para>
<para>Parameters:</para>
<variablelist>
<varlistentry>
<term><replaceable class="parameter">iPar</replaceable>
</term>
<listitem><para>parameter index.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">value</replaceable>
</term>
<listitem><para>parameter value.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">iArr</replaceable>
</term>
<listitem><para>array list index.
</para></listitem>
</varlistentry>
</variablelist>
<para>Returns: true when succeeded.
</para>
</sect2>

<sect2>
<title>deleteItem</title>
<synopsis>
int deleteItem(int <replaceable class="parameter">iItem</replaceable>);
</synopsis>
<para>Deletes plot item.</para>
<para>Parameters:</para>
<variablelist>
<varlistentry>
<term><replaceable class="parameter">iItem</replaceable>
</term>
<listitem><para>item index.
</para></listitem>
</varlistentry>
</variablelist>
<para>Returns: true when succeeded.
</para>
</sect2>

<sect2>
<title>moveItem</title>
<synopsis>
int moveItem(int <replaceable class="parameter">is</replaceable>,
             int <replaceable class="parameter">id</replaceable>);
</synopsis>
<para>Moves plot item.</para>
<para>Parameters:</para>
<variablelist>
<varlistentry>
<term><replaceable class="parameter">is</replaceable>
</term>
<listitem><para>source item index.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">id</replaceable>
</term>
<listitem><para>destination item index.
</para></listitem>
</varlistentry>
</variablelist>
<para>Returns: true when succeeded.
</para>
</sect2>

<sect2>
<title>activateItem</title>
<synopsis>
int activateItem(int <replaceable class="parameter">iItem</replaceable>,
                 int <replaceable class="parameter">active</replaceable>);
</synopsis>
<para>Sets activation state of plot item.</para>
<para>Parameters:</para>
<variablelist>
<varlistentry>
<term><replaceable class="parameter">iItem</replaceable>
</term>
<listitem><para>item index.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">active</replaceable>
</term>
<listitem><para>true for visible item.
</para></listitem>
</varlistentry>
</variablelist>
<para>Returns: true when succeeded.
</para>
</sect2>

<sect2>
<title>newFrameItem</title>
<synopsis>
void newFrameItem(double <replaceable class="parameter">x0</replaceable>,
                  double <replaceable class="parameter">w</replaceable>,
                  double <replaceable class="parameter">y0</replaceable>,
                  double <replaceable class="parameter">h</replaceable>,
                  double <replaceable class="parameter">xmin</replaceable>,
                  double <replaceable class="parameter">xmax</replaceable>,
                  double <replaceable class="parameter">ymin</replaceable>,
                  double <replaceable class="parameter">ymax</replaceable>,
                  int <replaceable class="parameter">logx</replaceable>,
                  int <replaceable class="parameter">logy</replaceable>,
                  int <replaceable class="parameter">ndigx</replaceable>,
                  int <replaceable class="parameter">ndigy</replaceable>,
                  const QString&amp; <replaceable class="parameter">colFrame</replaceable>,
                  const QString&amp; <replaceable class="parameter">colGrid</replaceable>,
                  double <replaceable class="parameter">xtic</replaceable>,
                  double <replaceable class="parameter">ytic</replaceable>,
                  int <replaceable class="parameter">mticx</replaceable>,
                  int <replaceable class="parameter">mticy</replaceable>,
                  int <replaceable class="parameter">gridmode</replaceable>,
                  int <replaceable class="parameter">iex</replaceable>,
                  int <replaceable class="parameter">iey</replaceable>,
                  const QString&amp; <replaceable class="parameter">sx</replaceable>,
                  const QString&amp; <replaceable class="parameter">sy</replaceable>,
                  const QString&amp; <replaceable class="parameter">sh</replaceable>,
                  double <replaceable class="parameter">relSize</replaceable>,
                  int <replaceable class="parameter">active</replaceable>);
</synopsis>
<para>Appends new frame item.</para>
<para>Parameters:</para>
<variablelist>
<varlistentry>
<term><replaceable class="parameter">x0</replaceable>
</term>
<listitem><para>left page margin in centimeters.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">w</replaceable>
</term>
<listitem><para>width in centimeters.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">y0</replaceable>
</term>
<listitem><para>bottom page margin in centimeters.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">h</replaceable>
</term>
<listitem><para>height in centimeters.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">xmin</replaceable>
</term>
<listitem><para>x value of left data window margin in user units.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">xmax</replaceable>
</term>
<listitem><para>x value of right data window margin in user units.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">ymin</replaceable>
</term>
<listitem><para>y value of bottom data window margin in user units.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">ymax</replaceable>
</term>
<listitem><para>y value of top window data margin in user units.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">logx</replaceable>
</term>
<listitem><para>true for logarithmic scaling of x axis.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">logy</replaceable>
</term>
<listitem><para>true for logarithmic scaling of y axis.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">ndigx</replaceable>
</term>
<listitem><para>number of digits for x axis.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">ndigy</replaceable>
</term>
<listitem><para>number of digits for y axis.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">colFrame</replaceable>
</term>
<listitem><para>color for frame and labels.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">colGrid</replaceable>
</term>
<listitem><para>color for grids and tics.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">xtic</replaceable>
</term>
<listitem><para>distance between major tics of x axis.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">ytic</replaceable>
</term>
<listitem><para>distance between major tics of y axis.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">mticx</replaceable>
</term>
<listitem><para>number of intervals between major tics of x axis.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">mticy</replaceable>
</term>
<listitem><para>number of intervals between major tics of y axis.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">gridmode</replaceable>
</term>
<listitem><para>0 for frame only, 1 for axes with tics,
 2 for axes with tics and labels, 3 for grid, 4 for grid with labels.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">iex</replaceable>
</term>
<listitem><para>logarithm of normalization factor for x axis.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">iey</replaceable>
</term>
<listitem><para>logarithm of normalization factor for y axis.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">sx</replaceable>
</term>
<listitem><para>x axis text.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">sy</replaceable>
</term>
<listitem><para>y axis text.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">sh</replaceable>
</term>
<listitem><para>heading text.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">relSize</replaceable>
</term>
<listitem><para>relative size of text, markers and lines.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">active</replaceable>
</term>
<listitem><para>true for visible item.
</para></listitem>
</varlistentry>
</variablelist>
</sect2>

<sect2>
<title>newAutoFrameItem</title>
<synopsis>
void newAutoFrameItem();
</synopsis>
<para>Appends new frame item corresponding to the autoplot settings.</para>
</sect2>

<sect2>
<title>newArrayItem</title>
<synopsis>
int newArrayItem(const QString&amp; <replaceable class="parameter">path</replaceable>,
                 int <replaceable class="parameter">ix</replaceable>,
                 int <replaceable class="parameter">iy</replaceable>,
                 int <replaceable class="parameter">ie</replaceable>,
                 int <replaceable class="parameter">istart</replaceable>,
                 int <replaceable class="parameter">n</replaceable>,
                 int <replaceable class="parameter">errbars</replaceable>,
                 int <replaceable class="parameter">symb</replaceable>,
                 const QString&amp; <replaceable class="parameter">color</replaceable>,
                 double <replaceable class="parameter">fx</replaceable>,
                 double <replaceable class="parameter">fy</replaceable>,
                 int <replaceable class="parameter">active</replaceable>);
</synopsis>
<para>Appends new array item.</para>
<para>Parameters:</para>
<variablelist>
<varlistentry>
<term><replaceable class="parameter">path</replaceable>
</term>
<listitem><para>absolute path of the data file.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">ix</replaceable>
</term>
<listitem><para>x column index.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">iy</replaceable>
</term>
<listitem><para>y column index.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">ie</replaceable>
</term>
<listitem><para>y error column index.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">istart</replaceable>
</term>
<listitem><para>start row index.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">n</replaceable>
</term>
<listitem><para>number of data points.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">errbars</replaceable>
</term>
<listitem><para>true to plot error bars.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">symb</replaceable>
</term>
<listitem><para>0 for circles, &lt; 0 for different markers,
&nbsp;&gt;&nbsp;0 for different line types.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">color</replaceable>
</term>
<listitem><para>color for data plot.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">fx</replaceable>
</term>
<listitem><para>normalization factor for x values.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">fy</replaceable>
</term>
<listitem><para>normalization factor for y values.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">active</replaceable>
</term>
<listitem><para>true for visible item.
</para></listitem>
</varlistentry>
</variablelist>
<para>Returns: true when succeeded.
</para>
</sect2>

<sect2>
<title>newFunItem</title>
<synopsis>
int newFunItem(const QString&amp; <replaceable class="parameter">path</replaceable>,
               const QString&amp; <replaceable class="parameter">name</replaceable>,
               double <replaceable class="parameter">xmin</replaceable>,
               double <replaceable class="parameter">xmax</replaceable>,
               double <replaceable class="parameter">dx</replaceable>,
               int <replaceable class="parameter">symb</replaceable>,
               const QString&amp; <replaceable class="parameter">color</replaceable>,
               double <replaceable class="parameter">fx</replaceable>,
               double <replaceable class="parameter">fy</replaceable>,
               int <replaceable class="parameter">active</replaceable>);
</synopsis>
<para>Appends new function item.</para>
<para>Parameters:</para>
<variablelist>
<varlistentry>
<term><replaceable class="parameter">path</replaceable>
</term>
<listitem><para>absolute path of the function library.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">name</replaceable>
</term>
<listitem><para>function name.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">xmin</replaceable>
</term>
<listitem><para>minimum argument value.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">xmax</replaceable>
</term>
<listitem><para>maximum argument value.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">dx</replaceable>
</term>
<listitem><para>argument stepsize.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">symb</replaceable>
</term>
<listitem><para>0 for circles, &lt; 0 for different markers,
&nbsp;&gt;&nbsp;0 for different line types.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">color</replaceable>
</term>
<listitem><para>color for function plot.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">fx</replaceable>
</term>
<listitem><para>normalization factor for x values.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">fy</replaceable>
</term>
<listitem><para>normalization factor for y values.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">active</replaceable>
</term>
<listitem><para>true for visible item.
</para></listitem>
</varlistentry>
</variablelist>
<para>Returns: true when succeeded.
</para>
</sect2>

<sect2>
<title>newParFunItem</title>
<synopsis>
int newParFunItem(const QString&amp; <replaceable class="parameter">pathx</replaceable>,
                  const QString&amp; <replaceable class="parameter">namex</replaceable>,
                  const QString&amp; <replaceable class="parameter">pathy</replaceable>,
                  const QString&amp; <replaceable class="parameter">namey</replaceable>,
                  double <replaceable class="parameter">tmin</replaceable>,
                  double <replaceable class="parameter">tmax</replaceable>,
                  double <replaceable class="parameter">dt</replaceable>,
                  int <replaceable class="parameter">symb</replaceable>,
                  const QString&amp; <replaceable class="parameter">color</replaceable>,
                  double <replaceable class="parameter">fx</replaceable>,
                  double <replaceable class="parameter">fy</replaceable>,
                  int <replaceable class="parameter">active</replaceable>);
</synopsis>
<para>Appends new parametric function item.</para>
<para>Parameters:</para>
<variablelist>
<varlistentry>
<term><replaceable class="parameter">pathx</replaceable>
</term>
<listitem><para>absolute path of the x function library.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">namex</replaceable>
</term>
<listitem><para>x function name.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">pathy</replaceable>
</term>
<listitem><para>absolute path of the y function library.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">namey</replaceable>
</term>
<listitem><para>y function name.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">tmin</replaceable>
</term>
<listitem><para>minimum argument value.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">tmax</replaceable>
</term>
<listitem><para>maximum argument value.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">dt</replaceable>
</term>
<listitem><para>argument stepsize.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">symb</replaceable>
</term>
<listitem><para>0 for circles, &lt; 0 for different markers,
&nbsp;&gt;&nbsp;0 for different line types.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">color</replaceable>
</term>
<listitem><para>color for function plot.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">fx</replaceable>
</term>
<listitem><para>normalization factor for x values.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">fy</replaceable>
</term>
<listitem><para>normalization factor for y values.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">active</replaceable>
</term>
<listitem><para>true for visible item.
</para></listitem>
</varlistentry>
</variablelist>
<para>Returns: true when succeeded.
</para>
</sect2>

<sect2>
<title>newLegendItem</title>
<synopsis>
void newLegendItem(int <replaceable class="parameter">symb</replaceable>,
                   const QString&amp; <replaceable class="parameter">colSymb</replaceable>,
                   double <replaceable class="parameter">x</replaceable>,
                   double <replaceable class="parameter">y</replaceable>,
                   const QString&amp; <replaceable class="parameter">text</replaceable>,
                   const QString&amp; <replaceable class="parameter">colText</replaceable>,
                   double <replaceable class="parameter">xoff</replaceable>,
                   double <replaceable class="parameter">yoff</replaceable>,
                   double <replaceable class="parameter">relSize</replaceable>,
                   int <replaceable class="parameter">active</replaceable>);
</synopsis>
<para>Appends new legend item.</para>
<para>Parameters:</para>
<variablelist>
<varlistentry>
<term><replaceable class="parameter">symb</replaceable>
</term>
<listitem><para>0 for circles, &lt; 0 for different markers,
&nbsp;&gt;&nbsp;0 for different line types.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">colSymb</replaceable>
</term>
<listitem><para>color for marker or line.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">x</replaceable>
</term>
<listitem><para>x position in cm.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">y</replaceable>
</term>
<listitem><para>y position in cm.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">text</replaceable>
</term>
<listitem><para>legend text.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">colText</replaceable>
</term>
<listitem><para>color for text.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">xoff</replaceable>
</term>
<listitem><para>x offset for text in cm.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">yoff</replaceable>
</term>
<listitem><para>y offset for text in cm.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">relSize</replaceable>
</term>
<listitem><para>relative size of text.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">active</replaceable>
</term>
<listitem><para>true for visible item.
</para></listitem>
</varlistentry>
</variablelist>
</sect2>

<sect2>
<title>newTextItem</title>
<synopsis>
void newTextItem(const QString&amp; <replaceable class="parameter">text</replaceable>,
                 const QString&amp; <replaceable class="parameter">color</replaceable>,
                 int <replaceable class="parameter">align</replaceable>,
                 double <replaceable class="parameter">x</replaceable>,
                 double <replaceable class="parameter">y</replaceable>,
                 double <replaceable class="parameter">dir</replaceable>,
                 double <replaceable class="parameter">relSize</replaceable>,
                 int <replaceable class="parameter">active</replaceable>);
</synopsis>
<para>Appends new text item.</para>
<para>Parameters:</para>
<variablelist>
<varlistentry>
<term><replaceable class="parameter">text</replaceable>
</term>
<listitem><para>text.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">color</replaceable>
</term>
<listitem><para>color for text.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">align</replaceable>
</term>
<listitem><para>1: left aligned, 2: centered, 3: right aligned.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">x</replaceable>
</term>
<listitem><para>x position in cm.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">y</replaceable>
</term>
<listitem><para>y position in cm.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">dir</replaceable>
</term>
<listitem><para>direction in degree.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">relSize</replaceable>
</term>
<listitem><para>relative size of text.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">active</replaceable>
</term>
<listitem><para>true for visible item.
</para></listitem>
</varlistentry>
</variablelist>
</sect2>

<sect2>
<title>newLineItem</title>
<synopsis>
void newLineItem(int <replaceable class="parameter">symb</replaceable>,
                 const QString&amp; <replaceable class="parameter">color</replaceable>,
                 double <replaceable class="parameter">x</replaceable>,
                 double <replaceable class="parameter">y</replaceable>,
                 double <replaceable class="parameter">dir</replaceable>,
                 double <replaceable class="parameter">len</replaceable>,
                 double <replaceable class="parameter">relSize</replaceable>,
                 int <replaceable class="parameter">active</replaceable>);
</synopsis>
<para>Appends new line item.</para>
<para>Parameters:</para>
<variablelist>
<varlistentry>
<term><replaceable class="parameter">symb</replaceable>
</term>
<listitem><para>1 to 9 for different line types.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">color</replaceable>
</term>
<listitem><para>color for line.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">x</replaceable>
</term>
<listitem><para>x start position in cm.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">y</replaceable>
</term>
<listitem><para>y start position in cm.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">dir</replaceable>
</term>
<listitem><para>direction in degree.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">len</replaceable>
</term>
<listitem><para>length in cm.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">relSize</replaceable>
</term>
<listitem><para>relative width.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">active</replaceable>
</term>
<listitem><para>true for visible item.
</para></listitem>
</varlistentry>
</variablelist>
</sect2>

<sect2>
<title>newArrowItem</title>
<synopsis>
void newArrowItem(const QString&amp; <replaceable class="parameter">color</replaceable>,
                  double <replaceable class="parameter">x</replaceable>,
                  double <replaceable class="parameter">y</replaceable>,
                  double <replaceable class="parameter">dir</replaceable>,
                  double <replaceable class="parameter">len</replaceable>,
                  double <replaceable class="parameter">relSize</replaceable>,
                  int <replaceable class="parameter">active</replaceable>);
</synopsis>
<para>Appends new arrow item.</para>
<para>Parameters:</para>
<variablelist>
<varlistentry>
<term><replaceable class="parameter">color</replaceable>
</term>
<listitem><para>color for arrow.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">x</replaceable>
</term>
<listitem><para>x position of head in cm.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">y</replaceable>
</term>
<listitem><para>y position of head in cm.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">iFun</replaceable>
</term>
<listitem><para>function item index.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">errCol</replaceable>
</term>
<listitem><para>true for data weighing by error column, false for weighing
 by error model function.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">errModPath</replaceable>
</term>
<listitem><para>absolute path of the library for the error model
 function.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">errModName</replaceable>
</term>
<listitem><para>error model function name.
</para></listitem>
</varlistentry>
</variablelist>
<para>Returns: true when succeeded.
</para>
</sect2>

<sect2>
<title>fit</title>
<synopsis>
int fit(int <replaceable class="parameter">nonLin</replaceable>,
        int <replaceable class="parameter">savePar</replaceable>,
        int <replaceable class="parameter">follow</replaceable>);
</synopsis>
<para>Performs parameter fit.</para>
<para>Parameters:</para>
<variablelist>
<varlistentry>
<term><replaceable class="parameter">nonLin</replaceable>
</term>
<listitem><para>true for nonlinear parameter fits.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">savePar</replaceable>
</term>
<listitem><para>true to save resulting parameter files.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">follow</replaceable>
</term>
<listitem><para>true to follow parameter sets in fit series.
</para></listitem>
</varlistentry>
</variablelist>
<para>Returns: true when succeeded.
</para>
</sect2>

<sect2>
<title>chiSquare</title>
<synopsis>
double chiSquare();
</synopsis>
<para>Returns chi-square of last fit.</para>
<para>Returns: chi-square.
</para>
</sect2>

<sect2>
<title>saveFitPar</title>
<synopsis>
int saveFitPar(const QString&amp; <replaceable class="parameter">url</replaceable>);
</synopsis>
<para>Saves parameters and their errors resulting from a fit to a file.</para>
<para>Parameters:</para>
<variablelist>
<varlistentry>
<term><replaceable class="parameter">url</replaceable>
</term>
<listitem><para>URL of the file.
</para></listitem>
</varlistentry>
</variablelist>
<para>Returns: true when succeeded.
</para>
</sect2>

<sect2>
<title>exportValues</title>
<synopsis>
int exportValues(const QString&amp; <replaceable class="parameter">url</replaceable>,
                 int <replaceable class="parameter">iItem</replaceable>);
</synopsis>
<para>Exports function value table to file.</para>
<para>Parameters:</para>
<variablelist>
<varlistentry>
<term><replaceable class="parameter">url</replaceable>
</term>
<listitem><para>URL of the file.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">iItem</replaceable>
</term>
<listitem><para>item index.
</para></listitem>
</varlistentry>
</variablelist>
<para>Returns: true when succeeded.
</para>
</sect2>

</sect1>

</chapter>

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

<para></para>

<qandaset id="faqlist">
<qandaentry>
<question>
<para>The automatic calculation of the Bounding Box for PostScript
files does not work correctly. The calculated values cut off parts of
the plot. What's wrong?</para>
</question>
<answer>
<para>To work correctly, the <guilabel>Page format</guilabel> must be set in
the <link linkend="basic">Basic Settings</link> dialog sufficiently
large, because &kpl; uses this area to look for the smallest rectangle
containing all plotted items.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>Why does my plot of a data file end with a line to the origin,
when the last point of the file does not have the coordinates (0,0)?
</para>
</question>
<answer>
<para>Your data file seems to end with some invisible but interfering
bytes. Delete them!</para>
</answer>
</qandaentry>
</qandaset>
</chapter>

<chapter id="credits">

<title>Credits and License</title>

<para>
&kpl;
</para>
<para>
Program copyright 2001 Werner Stille <email>stille@uni-freiburg.de</email>
</para>
<para>
Thanks to
<itemizedlist>
<listitem><para>the KDevelop Team for making KDE programming much more
easy</para></listitem>
<listitem><para>Dimi Shahbaz <email>dshahbaz@ucla.edu</email> for
suggestions and patches</para></listitem>
<listitem><para>Jürgen Siepmann <email>siepmann@kanzlei-siepmann.de</email>
for testing and criticism</para></listitem>
<listitem><para>Wojciech Migda <email>migda@chemia.uj.edu.pl</email> for
the polish translation</para></listitem>
<listitem><para>Taiki Komoda <email>kom@kde.gr.jp</email> for
the japanese translation</para></listitem>
</itemizedlist>
</para>

<para>
Documentation copyright 2001 Werner Stille
<email>stille@uni-freiburg.de</email>
</para>

&underFDL;
&underGPL;

</chapter>

<appendix id="installation">
<title>Installation</title>

<sect1 id="getting-kpl">
<title>How to Obtain &kpl;</title>

<para>
&kpl; can be found on its homepage
<ulink url="http://frsl06.physik.uni-freiburg.de/privat/stille/kpl/">
http://frsl06.physik.uni-freiburg.de/privat/stille/kpl/</ulink>
and on
<ulink url="ftp://ftp.kde.org/pub/kde/">ftp://ftp.kde.org/pub/kde/</ulink>,
the main ftp site of the KDE project.</para>
</sect1>

<sect1 id="requirements">
<title>Requirements</title>

<para>
In order to successfully use &kpl;, you need KDE 2. The PostScript
interpreter <application>Ghostscript</application> is required
for the automatic calculation of bounding boxes for generated PostScript
files.</para>

</sect1>

<sect1 id="compilation">
<title>Compilation and Installation</title>

<para>
In order to compile and install &kpl; on your system, type the following
in the base directory of &kpl; distribution:
<screen width="40">
<prompt>%</prompt> <userinput>./configure</userinput>
<prompt>%</prompt> <userinput>make</userinput>
<prompt>%</prompt> <userinput>make install</userinput>
</screen>
</para>
<para>Since &kpl; uses autoconf and automake you should have not trouble compiling it.
Should you run into problems please report them to the author of &kpl;.</para>

</sect1>

</appendix>

</book>