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

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

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

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

<date>2011-06-14</date>
<releaseinfo>4.0</releaseinfo>

<abstract>
<para>
&kpl; is a program for two- and three-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- and three-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>D-Bus</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 dialogs for editing the
plot items. Additional data sets and functions 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 4.0 (June 14, 2011)</para>
<itemizedlist>
 <listitem><para>Version for KDE 4</para></listitem>
 <listitem><para>K menu entry moved to category
 Education/Mathematics</para></listitem>
 <listitem><para>Status bar shows informations about item under mouse
 pointer</para></listitem>
 <listitem><para>Coordinates in arrow dialog now can be entered as those of
 head, center or end</para></listitem>
 <listitem><para>Double headed checkbox in arrow dialog</para></listitem>
 <listitem><para>Image items can be rotated</para></listitem>
 <listitem><para>Parameter files may contain empty lines and comment lines
 (starting with #)</para></listitem>
 <listitem><para>Parameter files with more than one column are loaded
 correctly</para></listitem>
 <listitem><para>Item list can now be docked at the main
 window</para></listitem>
 <listitem><para>Cut, copy and paste of items, also between different
 instances of &kpl;</para></listitem>
 <listitem><para>Export file type can be selected to be Encapsulated PostScript
 or PostScript</para></listitem>
 <listitem><para>PostScript preview uses the program currently associated
 to PostScript files</para></listitem>
 <listitem><para><acronym>D-Bus</acronym> interface</para></listitem>
</itemizedlist>
</listitem>

<listitem>
<para>Version 3.3 (December 28, 2005)</para>
<itemizedlist>
 <listitem><para>Multiple spline items can be fitted simultaneously to
 the same array item</para></listitem>
 <listitem><para>x and y values of array, function, and spline items can
 be shifted</para></listitem>
 <listitem><para>Square checkbox in rectangle dialog, circle checkbox in
 ellipse dialog, circular arc checkbox in arc dialog</para></listitem>
 <listitem><para>Colored symbol pixmaps are displayed in item
 list</para></listitem>
 <listitem><para>Text of legend and text items is displayed in item
 list</para></listitem>
 <listitem><para>Buttons of items dialog are disabled when action cannot
 be applied</para></listitem>
 <listitem><para>Relative symbol size can be preset in Autoplot
 settings</para></listitem>
 <listitem><para>Notifications about completed plots and parameter fits
 can be set</para></listitem>
 <listitem><para>Needs KDE 3.x</para></listitem>
</itemizedlist>
</listitem>

<listitem>
<para>Version 3.2 (February 7, 2004)</para>
<itemizedlist>
 <listitem><para>Pattern filled areas given by arrays, functions, splines,
 rectangles and ellipses</para></listitem>
 <listitem><para>New item for embedding of EPS image files</para></listitem>
 <listitem><para>New scale bar item</para></listitem>
 <listitem><para>New DCOP functions for image and scale bar
  items</para></listitem>
 <listitem><para>PostScript preview</para></listitem>
 <listitem><para>Option to print PostScript output files</para></listitem>
 <listitem><para>Frame items can be kept closed in tree view</para></listitem>
 <listitem><para>Error model function argument for parameter fits or smoothing
  spline fits can be chosen to be x or y column</para></listitem>
 <listitem><para>Decimal symbol of data files can be chosen to be point or
  comma (needs KDE 3.1)</para></listitem>
 <listitem><para>Context menu for visible items</para></listitem>
 <listitem><para>NaN (not a number) and inf (infinity) in data files are
  ignored in plots</para></listitem>
 <listitem><para>K menu entry moved to category Office</para></listitem>
</itemizedlist>
</listitem>

<listitem>
<para>Version 3.1 (April 2, 2003)</para>
<itemizedlist>
 <listitem><para>Root finding for functions and cubic
  splines</para></listitem>
 <listitem><para>Items can be moved by drag and drop within the item
  list</para></listitem>
 <listitem><para>New or copied items can be inserted before the
  current item</para></listitem>
 <listitem><para>Middle mouse button can be used to rescale a
  frame</para></listitem>
 <listitem><para>Format and precision settings now affect function range
  values</para></listitem>
</itemizedlist>
</listitem>

<listitem>
<para>Version 3.0 (September 30, 2002)</para>
<itemizedlist>
 <listitem><para>Version for KDE 3</para></listitem>
 <listitem><para>New items for 3D surface plots of arrays and
  functions</para></listitem>
 <listitem><para>New item for smoothing spline interpolation</para></listitem>
 <listitem><para>New decoration item: arc</para></listitem>
 <listitem><para>Rectangle and ellipse items can be rotated</para></listitem>
 <listitem><para>New DCOP functions for 3D, spline, and arc
  items</para></listitem>
 <listitem><para>Autoscaling reflects only the ranges of active
  items</para></listitem>
 <listitem><para>Symbol size can be set individually for each array, function,
  or legend item</para></listitem>
 <listitem><para>Combobox for several standard page formats</para></listitem>
 <listitem><para>x-axis and y-axis can be placed on both
  sides</para></listitem>
 <listitem><para>  First numbers on x- and y-axis dont have to be at left or
  bottom end, respectively</para></listitem>
 <listitem><para>Parameter fits for huge and tiny data values
  improved</para></listitem>
</itemizedlist>
</listitem>

<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-files">
<title>Specify Files</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
<guilabel>Add files</guilabel> option in the
<link linkend="settings">Basic settings</link>, all files are shown in one
window, otherwise new windows are opened for each file.</para>
<para>
When <guilabel>Autofit</guilabel> is activated in the
<link linkend="settings">Basic settings</link>, 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>Show help about options</para></listitem>
</varlistentry>

<varlistentry>
<term><command>kpl <option>--help-qt</option></command></term>
<listitem><para>Show Qt specific options</para></listitem>
</varlistentry>

<varlistentry>
<term><command>kpl <option>--help-kde</option></command></term>
<listitem><para>Show KDE specific options</para></listitem>
</varlistentry>

<varlistentry>
<term><command>kpl <option>--help-all</option></command></term>
<listitem><para>Show all options</para></listitem>
</varlistentry>

<varlistentry>
<term><command>kpl <option>--author</option></command></term>
<listitem><para>Show author information</para></listitem>
</varlistentry>

<varlistentry>
<term><command>kpl  <option>--version</option></command></term>
<listitem><para>Show version information, also available through
<command>kpl <option>-v</option></command>
</para></listitem>
</varlistentry>

<varlistentry>
<term><command>kpl  <option>--license</option></command></term>
<listitem><para>Show license information</para></listitem>
</varlistentry>

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

<sect1 id="dolphin">
<title>Start from Dolphin</title>

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

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

<para>
When items of the presentation already exist, they are listed as a tree view in
the dock window <guilabel>Items</guilabel>. The window can be docked to any
side of the main window of &kpl;. It also can be undocked to show as a separate
window. When the window is left open, it will reflect changes in the item
list.</para>
<para>
In case of a <guilabel>frame</guilabel>, an
<guilabel>arc</guilabel>, a <guilabel>rectangle</guilabel>, or an
<guilabel>ellipse</guilabel> its position and size is shown in the item list;
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>3D array</guilabel> the name of the data file, in case of a
<guilabel>function</guilabel>  or a <guilabel>3D 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>spline</guilabel> the
order of the polynomial, in case of a <guilabel>legend</guilabel> or a
<guilabel>text</guilabel> the text and the position, in case of an
<guilabel>image</guilabel> the name of the EPS file and the position, in case
of a <guilabel>scale bar</guilabel> its orientation and position, and in case
of a <guilabel>line</guilabel> or an <guilabel>arrow</guilabel> its position
and direction. In case of an <guilabel>array</guilabel>, a
<guilabel>function</guilabel> or <guilabel>parametric function</guilabel> or a
<guilabel>legend</guilabel> in addition the plot symbol is shown in the
selected color. Colors are also indicated for arc, rectangle, ellipse, line,
arrow, and scale bar items.</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 cm. 3D arrays and 3D functions
contain the function of frames and therefore do not need an additional
frame item; also other items can belong to them. The position of an item can be
changed by <link linkend="drag-and-drop">Drag and Drop</link> within the list
using the mouse.</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.</para>
<para>An item can be selected without changing its activation state by clicking
it right of the checkbox field. More than one item can be selected by holding
down the <keycap>Ctrl</keycap> key when clicking the items. Several actions for
selected items can be found in the menu
<link linkend="edit-menu">Edit</link>.</para>
<para>
In the tree view, frame items may closed to hide their children for clearness
by clicking the arrow symbol. Reopening to show their children is done by
clicking the arrow symbol again. The corresponding state of the frame items
will be saved in the plot files.</para>

</sect1>

<sect1 id="drag-and-drop">
<title>Drag and Drop</title>
<para>
&kpl; supports the Drag and Drop protocol of Qt. This means that you can open
one or more plot or data files by dragging their symbols onto the &kpl; plot
window or the dock window <link linkend="items">Items</link>, containing the
item list of the presentation. 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 option
<guilabel>Add files</guilabel> in the
<link linkend="settings">Basic settings</link> all files are shown in one
window, otherwise new windows are opened for each file.</para>
<para>
Drag and drop can also be used to move or copy selected items within the item
list. For moving, the <keycap>Shft</keycap> key has to be pressed at drop
time. Dropped items will be inserted before the item they are dropped on, or
at the end of the list.</para>
<para>Also Copying of items to another instance of &kpl; can be be performed
by dropping selected items on the item list or the plot window of that
instance.</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, 3D array, 3D function, legend, text, line, arrow,
arc, rectangle, ellipse, scale bar, and image 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="scaling">
<title>Scaling with the Mouse</title>
<para>
In addition to change the scaling of a 2D plot using the
<link linkend="frame">Frame</link> dialog, a displayed plot containing a frame
item can be rescaled conveniently with the help of the mouse. For this, one
corner of a rectangle has to be defined by pressing the middle mouse button.
Then, by moving the mouse diagonally, a rectangle is drawn. Its final size will
be defined by the point where the mouse button is released. The data space
coordinates of the corners then are rounded using &kpl;'s autoscale feature to
corresponding scaling values of the frameitem and the display is
updated.</para>
<para>
The ranges for the x axes of function and spline child items of the frame are
updated correspondingly; the x step widths are set to 0 (resulting in
automatically dividing the ranges into 100 intervals).</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 of a 2D plot 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>
Informations about the item currently under the mouse pointer are also
displayed, including its position in the list (z value).</para>
<para>
Left to these fields the state of the <guilabel>Add files</guilabel> option of
the <link linkend="settings">Basic settings</link> 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.</action>
</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 the INI
style.</para>
<para>
In case of more than one selected file and activated option
<guilabel>Add files</guilabel> in the
<link linkend="settings">Basic settings</link>, 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 text file.
Within a row the values may be separated by commas, tabs, or spaces.</para>
<para>
Point or comma can be selected as the decimal symbol in the dialog.</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>
After reading, the 2D graphical presentation is displayed immediately
according to the <link linkend="autoplot">Autoplot settings</link>.</para>
<para>
In case of more than one selected file and activated option
<guilabel>Add files</guilabel> in the
<link linkend="settings">Basic settings</link>, all files are shown in one
window, otherwise for each file a new window is opened.</para>
<para>
Loading of data files overwrites an eventually displayed presentation
in case of deactivated option <guilabel>Add files</guilabel>.
When a data file is to be inserted in an existing graphical presentation,
this has to be done by first activating <guilabel>Add files</guilabel>, or
by creating a new array item using
<link linkend="edit-menu"><guimenuitem>New Item</guimenuitem></link>.</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 <guilabel>Add files</guilabel> the file is
appended to an existing plot, otherwise it will replace the 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
as a plot file with another name.</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>
<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>
If the <guilabel>Use internal PS encoding</guilabel> option in the
<link linkend="basic">Basic Settings</link> is checked, &kpl; creates files
which may be edited easily.</para>
<para>
The output can be chosen to be PostScript (PS) or Encapsulated PostScript
(EPS), the latter allowing to import the graphics in other applications.
The bounding box is calculated exactly when
<guilabel>Calculate PS Bounding Box</guilabel> is checked in the
<link linkend="basic">Basic Settings</link>.</para></listitem>
</varlistentry>

<varlistentry><term><menuchoice>
<guimenu><accel>F</accel>ile</guimenu>
<guisubmenu>PostScript Pre<accel>v</accel>iew</guisubmenu>
</menuchoice></term>
<listitem><para><action>Creates a temporary PostScript file in
</action> <guimenuitem><accel>P</accel>ortrait</guimenuitem> or
<guimenuitem><accel>L</accel>andscape</guimenuitem> orientation and displays it
by invoking the application (e.g. Okular) currently associated to PostScript
files. This allows to print the PostScript output without permanently saving a
PostScript file.</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><accel>U</accel>ndo</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 1000.</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><accel>R</accel>edo</guimenuitem>
</menuchoice></term>
<listitem><para><action>This will reverse the most recent change
 made using </action> <guimenuitem><accel>U</accel>ndo</guimenuitem>.
</para></listitem>
</varlistentry>

<varlistentry><term><menuchoice><shortcut><keycombo><keycap>Ctrl</keycap>
<keycap>X</keycap></keycombo></shortcut>
<guimenu><accel>E</accel>dit</guimenu><guimenuitem>Cu<accel>t</accel></guimenuitem>
</menuchoice></term>
<listitem><para><action>Moves</action> the selected items from the item list
to the clipboard.</para></listitem>
</varlistentry>

<varlistentry><term><menuchoice><shortcut><keycombo><keycap>Ctrl</keycap>
<keycap>C</keycap></keycombo></shortcut>
<guimenu><accel>E</accel>dit</guimenu><guimenuitem><accel>C</accel>opy</guimenuitem>
</menuchoice></term>
<listitem><para><action>Copies</action> the selected items of the item list
to the clipboard.</para></listitem>
</varlistentry>

<varlistentry><term><menuchoice><shortcut><keycombo><keycap>Ctrl</keycap>
<keycap>V</keycap></keycombo></shortcut>
<guimenu><accel>E</accel>dit</guimenu><guimenuitem><accel>P</accel>aste</guimenuitem>
</menuchoice></term>
<listitem><para><action>Pastes</action> items or a plot file stored in the
clipboard before the selected item of the list, or, if no item is selected, at
the end of the list.</para></listitem>
</varlistentry>

<varlistentry><term><menuchoice>
<guimenu><accel>E</accel>dit</guimenu><guimenuitem><accel>N</accel>ew Item</guimenuitem>
</menuchoice></term>
<listitem><para><action>Opens the dialog <link linkend="newitem">New
item</link></action> to choose a new item to be inserted before the
selected item of the list, or, if no item is selected, to be appended to
the list.</para></listitem>
</varlistentry>

<varlistentry><term><menuchoice><shortcut><keycap>F2</keycap>
</shortcut>
<guimenu><accel>E</accel>dit</guimenu><guimenuitem><accel>E</accel>dit</guimenuitem>
</menuchoice></term>
<listitem><para><action>Opens a dialog to edit</action> the selected item.</para></listitem>
</varlistentry>

<varlistentry><term><menuchoice>
<guimenu><accel>E</accel>dit</guimenu><guimenuitem><accel>F</accel>it</guimenuitem>
</menuchoice></term>
<listitem><para><action>Opens a dialog to perform a fit</action> of function(s)
or spline(s) to the data set(s) of array item(s). When one ore more functions
and one or more arrays are selected, the dialog
<link linkend="fit">Parameter fit</link> to perform a (multidimensional)
parameter fit of the function(s) to the data set(s) of the array item(s) will
be opened. When the item list contains exactly one function and one array
item, no multiselection is necessary and the dialog is just opened to perform a
parameter fit in one dimension. Otherwise you first have to select an equal
number of function items and array items. 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. When one or more splines and one
array are selected, the button opens the dialog
<link linkend="spline-fit">Smoothing spline fit</link> to perform a fit of
a (smoothing) spline to the data set of the array item.</para></listitem>
</varlistentry>

<varlistentry><term><menuchoice><shortcut><keycap>Del</keycap>
</shortcut>
<guimenu><accel>E</accel>dit</guimenu><guimenuitem><accel>D</accel>elete</guimenuitem>
</menuchoice></term>
<listitem><para><action>Deletes</action> the selected item(s).</para></listitem>
</varlistentry>

<varlistentry><term><menuchoice>
<guimenu><accel>E</accel>dit</guimenu><guimenuitem><accel>A</accel>ctive</guimenuitem>
</menuchoice></term>
<listitem><para><action>Changes the activation state of the selected item.
Activated items are shown in the plot, deactivated items are
hidden.</action></para></listitem>
</varlistentry>

<varlistentry><term><menuchoice><shortcut>
<keycombo><keycap>Ctrl</keycap><keycap>Up Arrow</keycap></keycombo></shortcut>
<guimenu><accel>E</accel>dit</guimenu><guimenuitem><accel>U</accel>p</guimenuitem>
</menuchoice></term>
<listitem><para><action>Moves the selected item upwards in the
list.</action></para></listitem>
</varlistentry>

<varlistentry><term><menuchoice><shortcut>
<keycombo><keycap>Ctrl</keycap><keycap>Down Arrow</keycap></keycombo></shortcut>
<guimenu><accel>E</accel>dit</guimenu><guimenuitem>D<accel>o</accel>wn</guimenuitem>
</menuchoice></term>
<listitem><para><action>Moves the selected item downwards in the
list.</action></para></listitem>
</varlistentry>

<varlistentry><term><menuchoice>
<guimenu><accel>E</accel>dit</guimenu><guimenuitem><accel>T</accel>op</guimenuitem>
</menuchoice></term>
<listitem><para><action>Moves the selected item to the top of the
list.</action></para></listitem>
</varlistentry>

<varlistentry><term><menuchoice>
<guimenu><accel>E</accel>dit</guimenu><guimenuitem><accel>B</accel>ottom</guimenuitem>
</menuchoice></term>
<listitem><para><action>Moves the selected item to the bottom of the
list.</action></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 dock window </action>
<link linkend="items">Items</link> (if not already open), containing the item
list of the presentation.</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></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.</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><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> on the page
<link linkend="basic">Basic Settings</link> of &kpl;'s settings 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>Configure S<accel>h</accel>ortcuts
</guimenuitem></menuchoice></term>
<listitem><para><action>Opens the dialog </action>
<guilabel>Configure Shortcuts</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
<accel>N</accel>otifications
</guimenuitem></menuchoice></term>
<listitem><para><action>Opens the dialog </action>
<guilabel>Configure Notification</guilabel>, where notifications about
completed plots and parameter fits can be configured.</para></listitem>
</varlistentry>

<varlistentry><term><menuchoice>
<guimenu><accel>S</accel>ettings</guimenu><guimenuitem><accel>C</accel>onfigure Kpl
</guimenuitem></menuchoice></term>
<listitem><para><action>Opens the dialog </action>
<link linkend="settings">Kpl Settings</link>. On the page
<link linkend="basic">Basic Settings</link> the size of the presentation
and the colors as well as the output format for function parameters may be
preset. Also the toggle options of the <guilabel>Settings</guilabel> menu can
be set at once here.</para>
<para>On the page <link linkend="autoplot">Autoplot Settings</link> the settings
for the automatic scaling of loaded 2D data files are done.</para>
<para>On the page <link linkend="autofit">Autofit Settings</link> the settings
for the automatic parameter fittings of functions to 2D 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>Kpl
<accel>H</accel>andbook</guimenuitem>
</menuchoice></term>
<listitem><para><action>Here the help for &kpl; is available.
</action></para></listitem>
</varlistentry>

<varlistentry><term><menuchoice>
<guimenu><accel>H</accel>elp</guimenu><guimenuitem>
<accel>R</accel>eport Bug</guimenuitem>
</menuchoice></term>
<listitem><para><action>Opens a dialog for submitting a bug report to
the author of &kpl;.
</action></para></listitem>
</varlistentry>

<varlistentry><term><menuchoice>
<guimenu><accel>H</accel>elp</guimenu><guimenuitem>
Switch Application <accel>L</accel>anguage</guimenuitem>
</menuchoice></term>
<listitem><para><action>Opens a dialog for selecting the language which should
be used for &kpl;.
</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>Context Menus</title>

<sect2><title>Item Specific</title>

<para>
Clicking the area of an item in the plot or in the item list with the right
mouse button brings up a context menu with actions corresponding to that item
(also available in the <link linkend="edit-menu">Edit</link>) menu:</para>

<para>
<variablelist>

<varlistentry><term><menuchoice><shortcut><keycombo><keycap>Ctrl</keycap>
<keycap>X</keycap></keycombo></shortcut>
<guimenuitem>Cu<accel>t</accel></guimenuitem>
</menuchoice></term>
<listitem><para><action>Moves</action> the selected items from the item list
to the clipboard.</para></listitem>
</varlistentry>

<varlistentry><term><menuchoice><shortcut><keycombo><keycap>Ctrl</keycap>
<keycap>C</keycap></keycombo></shortcut>
<guimenuitem><accel>C</accel>opy</guimenuitem>
</menuchoice></term>
<listitem><para><action>Copies</action> the selected items of the item list
to the clipboard.</para></listitem>
</varlistentry>

<varlistentry><term><menuchoice><shortcut><keycombo><keycap>Ctrl</keycap>
<keycap>V</keycap></keycombo></shortcut>
<guimenuitem><accel>P</accel>aste</guimenuitem>
</menuchoice></term>
<listitem><para><action>Pastes</action> items stored in the clipboard before
the selected item of the list, or, if no item is selected, at the end
of the list.</para></listitem>
</varlistentry>

<varlistentry><term><menuchoice>
<guimenuitem><accel>N</accel>ew Item</guimenuitem>
</menuchoice></term>
<listitem><para><action>Opens the dialog <link linkend="newitem">New
item</link></action> to choose a new item to be inserted before the
item.</para></listitem>
</varlistentry>

<varlistentry><term><menuchoice><shortcut><keycap>F2</keycap>
</shortcut>
<guimenuitem><accel>E</accel>dit</guimenuitem>
</menuchoice></term>
<listitem><para><action>Opens a dialog to edit</action> the
item.</para></listitem>
</varlistentry>

<varlistentry><term><menuchoice><shortcut><keycap>Del</keycap>
</shortcut>
<guimenuitem><accel>D</accel>elete</guimenuitem>
</menuchoice></term>
<listitem><para><action>Deletes</action> the item.</para></listitem>
</varlistentry>

<varlistentry><term><menuchoice>
<guimenuitem><accel>A</accel>ctive</guimenuitem>
</menuchoice></term>
<listitem><para><action>Changes the activation state of the item.
Activated items are shown in the plot, deactivated items are
hidden.</action></para></listitem>
</varlistentry>

</variablelist>
</para>

</sect2>

<sect2><title>General</title>

<para>
Clicking the empty parts of the plot window or the item list with the right
mouse button brings up a context menu with the most important
actions:</para>

<para>
<variablelist>

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

<varlistentry><term><menuchoice><shortcut>
<keycombo><keycap>Ctrl</keycap><keycap>O</keycap></keycombo></shortcut>
<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><shortcut>
<keycombo><keycap>Ctrl</keycap><keycap>S</keycap></keycombo></shortcut>
<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><shortcut>
<keycombo><keycap>Ctrl</keycap><keycap>P</keycap></keycombo></shortcut>
<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 in </action> <guimenuitem><accel>P</accel>ortrait</guimenuitem> or
<guimenuitem><accel>L</accel>andscape</guimenuitem> orientation.</para>
</listitem>
</varlistentry>

<varlistentry><term><menuchoice><shortcut><keycombo><keycap>Ctrl</keycap>
<keycap>V</keycap></keycombo></shortcut>
<guimenuitem><accel>P</accel>aste</guimenuitem>
</menuchoice></term>
<listitem><para><action>Pastes</action> items stored in the clipboard before
the item.</para></listitem>
</varlistentry>

<varlistentry><term><menuchoice>
<guimenuitem><accel>N</accel>ew Item</guimenuitem>
</menuchoice></term>
<listitem><para><action>Opens the dialog <link linkend="newitem">New
item</link></action> to choose a new item to be inserted before the
item.</para></listitem>
</varlistentry>

<varlistentry><term><menuchoice>
<guimenuitem>I<accel></accel>tems</guimenuitem>
</menuchoice></term>
<listitem><para><action>Opens the dock window </action>
<link linkend="items">Items</link> (if not already open).</para></listitem>
</varlistentry>

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

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

<varlistentry><term><menuchoice><shortcut><keycap>F5</keycap></shortcut>
<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>

</sect2>

</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>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>X</keycap></keycombo></entry>
<entry><action>Moves the selected items from the item list
to the clipboard.</action></entry>
</row>

<row>
<entry><keycombo><keycap>Ctrl</keycap><keycap>C</keycap></keycombo></entry>
<entry><action>Copies the selected items from the item list
to the clipboard.</action></entry>
</row>

<row>
<entry><keycombo><keycap>Ctrl</keycap><keycap>V</keycap></keycombo></entry>
<entry><action>Pastes items stored in the clipboard before
the selected item of the list, or, if no item is selected, at the end
of the list.</action></entry>
</row>

<row>
<entry><keycombo><keycap>F2</keycap></keycombo></entry>
<entry><action>Opens a dialog to edit the selected item.</action></entry>
</row>

<row>
<entry><keycombo><keycap>Del</keycap></keycombo></entry>
<entry><action>Deletes the selected item.</action></entry>
</row>

<row>
<entry><keycombo><keycap>Ctrl</keycap><keycap>Up Arrow</keycap></keycombo></entry>
<entry><action>Moves the selected item upwards in the list.
</action></entry>
</row>

<row>
<entry><keycombo><keycap>Ctrl</keycap><keycap>Down Arrow</keycap></keycombo></entry>
<entry><action>Moves the selected item downwards in the list.
</action></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>Opens the &kpl; handbook.
</action></entry>
</row>

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

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

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

<row>
<entry><keycombo><keycap>Up Arrow</keycap></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>Shft</keycap><keycap>Page Up</keycap>
</keycombo></entry>
<entry><action>Scrolls page left.</action></entry>
</row>

<row>
<entry><keycombo><keycap>Shft</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="3">

<thead>
<row>
<entry>Icon</entry>
<entry>Text</entry>
<entry>Action</entry>
</row>
</thead>

<tbody>

<row>
<entry><inlinemediaobject><imageobject>
<imagedata fileref="document-new.png" format="PNG"/>
</imageobject></inlinemediaobject></entry>
<entry>New</entry>
<entry><action>Opens a new plot file.</action></entry>
</row>

<row>
<entry><inlinemediaobject><imageobject>
<imagedata fileref="document-open.png" format="PNG"/>
</imageobject></inlinemediaobject></entry>
<entry>Open Plot File</entry>
<entry><action>Opens an existing plot file.</action></entry>
</row>

<row>
<entry><inlinemediaobject><imageobject>
<imagedata fileref="document-open.png" format="PNG"/>
</imageobject></inlinemediaobject></entry>
<entry>Open Data File</entry>
<entry><action>Opens an existing data file.</action></entry>
</row>

<row>
<entry><inlinemediaobject><imageobject>
<imagedata fileref="document-save.png" format="PNG"/>
</imageobject></inlinemediaobject></entry>
<entry>Save</entry>
<entry><action>Saves the current plot file.</action></entry>
</row>

<row>
<entry><inlinemediaobject><imageobject>
<imagedata fileref="document-print.png" format="PNG"/>
</imageobject></inlinemediaobject></entry>
<entry>Print</entry>
<entry><action>Prints the graphical presentation.</action></entry>
</row>

<row>
<entry><inlinemediaobject><imageobject>
<imagedata fileref="edit-undo.png" format="PNG"/>
</imageobject></inlinemediaobject></entry>
<entry>Undo</entry>
<entry><action>Reverses the last change of the plot.</action></entry>
</row>

<row>
<entry><inlinemediaobject><imageobject>
<imagedata fileref="edit-redo.png" format="PNG"/>
</imageobject></inlinemediaobject></entry>
<entry>Redo</entry>
<entry><action>Reverses the last change of the plot made using </action>
<guimenuitem>Undo</guimenuitem>.</entry>
</row>

<row>
<entry><inlinemediaobject><imageobject>
<imagedata fileref="list-add.png" format="PNG"/>
</imageobject></inlinemediaobject></entry>
<entry>New Item</entry>
<entry><action>Opens the dialog <link linkend="newitem">New
item</link></action> to choose a new item to be inserted.</entry>
</row>

<row>
<entry><inlinemediaobject><imageobject>
<imagedata fileref="document-edit.png" format="PNG"/>
</imageobject></inlinemediaobject></entry>
<entry>Edit</entry>
<entry><action>Opens a dialog to edit</action> the selected item.</entry>
</row>

<row>
<entry><inlinemediaobject><imageobject>
<imagedata fileref="configure.png" format="PNG"/>
</imageobject></inlinemediaobject></entry>
<entry>Fit</entry>
<entry><action>Opens a dialog to perform a parameter or spline
fit.</action></entry>
</row>

<row>
<entry><inlinemediaobject><imageobject>
<imagedata fileref="list-remove.png" format="PNG"/>
</imageobject></inlinemediaobject></entry>
<entry>Delete</entry>
<entry><action>Deletes</action> the selected item.</entry>
</row>

<row>
<entry><inlinemediaobject><imageobject>
<imagedata fileref="go-up.png" format="PNG"/>
</imageobject></inlinemediaobject></entry>
<entry>Up</entry>
<entry><action>Moves the selected item upwards.</action></entry>
</row>

<row>
<entry><inlinemediaobject><imageobject>
<imagedata fileref="go-down.png" format="PNG"/>
</imageobject></inlinemediaobject></entry>
<entry>Down</entry>
<entry><action>Moves the selected item downwards.</action></entry>
</row>

<row>
<entry><inlinemediaobject><imageobject>
<imagedata fileref="zoom-in.png" format="PNG"/>
</imageobject></inlinemediaobject></entry>
<entry>Zoom In</entry>
<entry><action>Increases magnification by 20&nbsp;%.</action></entry>
</row>

<row>
<entry><inlinemediaobject><imageobject>
<imagedata fileref="zoom-out.png" format="PNG"/>
</imageobject></inlinemediaobject></entry>
<entry>Zoom Out</entry>
<entry><action>Decreases magnification by 20&nbsp;%.</action></entry>
</row>

<row>
<entry><inlinemediaobject><imageobject>
<imagedata fileref="view-refresh.png" format="PNG"/>
</imageobject></inlinemediaobject></entry>
<entry>Redisplay</entry>
<entry><action>Reloads the current file and refreshes the
plot.</action></entry>
</row>

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

</chapter>

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

<sect1 id="newitem">
<title>New item</title>
<anchor id="sec-newitem"/>

<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>Spline</guibutton>, <guibutton>3D Array</guibutton>,
<guibutton>3D Function</guibutton>, <guibutton>Image</guibutton>,
<guibutton>Legend</guibutton>, <guibutton>Text</guibutton>,
<guibutton>Line</guibutton>, <guibutton>Arrow</guibutton>,
<guibutton>Arc</guibutton>, <guibutton>Rectangle</guibutton>,
<guibutton>Ellipse</guibutton>, and <guibutton>Scale Bar</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>Cancel</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 <guilabel>Select Color</guilabel>, 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. With <guilabel>xoff</guilabel> and <guilabel>yoff</guilabel>
offsets for the first labeled ticks from the respective axis start may be set.
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 set by checking
<guilabel>Bottom</guilabel> and <guilabel>Top</guilabel>, that of the y axis
labels by checking <guilabel>Left</guilabel> and
<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 the
default. Additional individual size factors may be set in the dialogs of the
corresponding items.</para>
<para>
The dialog may be canceled without saving by use of the button
<guibutton>Cancel</guibutton>. By using <guibutton>Apply</guibutton> changes
are saved without closing the dialog. With <guibutton>OK</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>...</guibutton> is used to open a file selection dialog
for selecting a data file. The decimal symbol for reading the file can be
selected in this dialog. The path of the file is displayed in the field
<guibutton>File</guibutton> left to the button. The button with the reload
symbol 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>Edit</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>
The x and y values can be shifted in the presentation by entering
<guilabel>x shift</guilabel> and <guilabel>y shift</guilabel>
values.</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, showing the actual line or marker.</para>
<para>
The <guilabel>Size</guilabel> of lines or markers may be chosen as an
additional individual factor to the global setting of the corresponding frame
item.</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>
By choosing a <guilabel>Fill pattern</guilabel> the polygon given by the points
of the array can be filled with a solid color or a pattern instead of being
represented by lines or markers.</para>
<para>
The dialog may be canceled without saving by use of the button
<guibutton>Cancel</guibutton>. By using <guibutton>Apply</guibutton> changes
are saved without closing the dialog. With <guibutton>OK</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>Show 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 text file (one parameter each line). The button
<guibutton>Save</guibutton> opens a file selection dialog for saving the
parameters in an text 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>
The x and y values can be shifted in the presentation by entering
<guilabel>x shift</guilabel> and <guilabel>y shift</guilabel>
values.</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, showing the actual line or marker.</para>
<para>
The <guilabel>Size</guilabel> of lines or markers may be chosen as an
additional individual factor to the global setting of the corresponding
frame item.</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>
By choosing a <guilabel>Fill pattern</guilabel> the polygon given by the
points of the function can be filled with a solid color or a pattern instead of
being represented by lines or markers.</para>
<para>
The dialog <link linkend="roots">Roots</link> for finding roots of the function
or of its derivatives is opened by use of the button <guibutton>Roots</guibutton>.</para>
<para>
A function value table may be exported as a data file by use of the button
<guibutton>Export</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>Cancel</guibutton>. By using <guibutton>Apply</guibutton> changes
are saved without closing the dialog. With <guibutton>OK</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>Show 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 text file (one parameter each line). The buttons
<guibutton>Save</guibutton> open a file selection dialog for saving the
parameters in an text 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>
The x and y values can be shifted in the presentation by entering
<guilabel>x shift</guilabel> and <guilabel>y shift</guilabel> values.</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
functions. This is done most convenient using the dialog
<guilabel>Lines and Markers</guilabel>, to be opened with the button right to
the spin box, showing the actual line or marker.</para>
<para>
The <guilabel>Size</guilabel> of lines or markers may be chosen as an
additional individual factor to the global setting of the corresponding frame
item.</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>
By choosing a <guilabel>Fill pattern</guilabel> the polygon given by the points
of the function can be filled with a solid color or a pattern instead of being
represented by lines or markers.</para>
<para>
A function value table may be exported as a data file by use of the button
<guibutton>Export</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>Cancel</guibutton>. By using <guibutton>Apply</guibutton> changes
are saved without closing the dialog. With <guibutton>OK</guibutton> changes
are saved and the dialog is closed.
</para>

</sect1>

<sect1 id="spline">
<title>Smoothing spline</title>
<anchor id="sec-spline"/>

<para>
The dialog <guilabel>Smoothing spline</guilabel> is used to perform the
settings for plots of smoothing spline functions. Setting of the spline's
degree and calculation of its coefficients corresponding to a fit to a data set
of an array is done using the dialog
<link linkend="spline-fit">Smoothing spline fit</link>, which can be opened by
<guilabel>Fit</guilabel> from the <link linkend="edit-menu">Edit</link>
menu.</para>
<para>
In the group <guilabel>Output</guilabel> by a combobox it can be selected
whether the spline function itself, one of its derivatives, or its integral
should be plotted. In case of an integral in addition a
<guilabel>Lower boundary</guilabel> can be set, i.e. the x value at which the
integral is zero.</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>
The x and y values can be shifted in the presentation by entering
<guilabel>x shift</guilabel> and <guilabel>y shift</guilabel>
values.</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, showing the actual line or marker.</para>
<para>
The <guilabel>Size</guilabel> of lines or markers may be chosen as an
additional individual factor to the global setting of the corresponding frame
item.</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>
By choosing a <guilabel>Fill pattern</guilabel> the polygon given by the points
of the spline function can be filled with a solid color or a pattern instead of
being represented by lines or markers.</para>
<para>
The dialog <link linkend="roots">Roots</link> for finding roots of a cubic
spline or of its derivatives is opened by use of the button
<guibutton>Roots</guibutton>.</para>
<para>
A table containing the represented values may be exported as a data file by use
of the button <guibutton>Export</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>Cancel</guibutton>. By using <guibutton>Apply</guibutton> changes
are saved without closing the dialog. With <guibutton>OK</guibutton> changes
are saved and the dialog is closed.
</para>

</sect1>

<sect1 id="array3d">
<title>3D array</title>
<anchor id="sec-array3d"/>

<para>
The dialog <guilabel>3D array</guilabel> is used to perform the settings for
the three-dimensional representation of a data set from a file. The data are
represented as a surface y(x,z) described by a smoothing spline interpolation.
The dialog is divided into three pages.</para>

<sect2 id="array3d-p1">
<title>Array</title>

<para>
On the page <guilabel>Array</guilabel> in the group <guilabel>Data</guilabel>
using the button <guilabel>...</guilabel> a dialog can be opened to select a
data file. The decimal symbol for reading the file can be selected in this
dialog. The actual path is displayed left to the button. The button on the
right hand side can be used to reload a data file after changing its
contents.</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>Edit</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>, <guilabel>y column</guilabel>, and
<guilabel>z column</guilabel> the file columns for the cordinates of the
three-dimensional plot may be chosen. 0 corresponds to the first column. Data
are represented as a surface y(x,z). When <guilabel>Error bar</guilabel> is
checked, the column chosen in <guilabel>Error column</guilabel> is used as the
standard deviation of the y values for weighing the data points when the
smoothing spline is calculated. The <guilabel>Smoothing factor</guilabel>
affects the average deviation between the spine function and the y values of
the data set, and in this case it determines the factor, by which in the
average the deviation should be different to the error of the data points. A
value of 0 leads to a non-smoothing spline. In this case the x and z
coordinates of the array have to fall on a grid. In case of a smoothing spline
the coordinates may be placed randomly in the x,z plane. When
<guilabel>Error column</guilabel> is not checked, the value of the smoothing
factor is taken as the constant standard deviation of the y values.</para>
<para>
The <guilabel>Start index</guilabel> is the row index for the first data point
to be taken to calculate the surface y(x,z). 0 corresponds to the first row of
the data file, not counting comment lines. Together with the
<guilabel>Number of points</guilabel> the portion of the file used for
calculating the spline is selected. With <guilabel>xmin</guilabel>,
<guilabel>xmax</guilabel>, <guilabel>zmin</guilabel>, and
<guilabel>zmax</guilabel> the limits for the displayed region of the surface
y(x,z) and for the x and z axis are set. The step sizes
<guilabel>&Delta;x</guilabel> and <guilabel>&Delta;z</guilabel> determine the
intervals of the grid which represents the surface. Values of 0 result in
automatically dividing the respective range into 40 intervals. With
<guilabel>ymin</guilabel> and <guilabel>ymax</guilabel> the limits of the y
axis are set. The scaling can be set to logarithmic individually for the axes
by checking <guilabel>log</guilabel>.</para>

</sect2>

<sect2 id="array3d-p2">
<title>Scaling</title>

<para>
On the page <guilabel>Scaling</guilabel> in the group
<guilabel>Window</guilabel> the rectangular range where the three-dimensional
plot is shown can be set in cm. A frame around this rectangle is drawn
optionally.</para>
<para>
In the group <guilabel>Reference Point</guilabel> the distances from the center
of the plane spread by the x and z axes at ymin to the left and bottom sides of
the window may be set in cm.</para>
<para>
In the group <guilabel>3D box</guilabel> the lengths of the x, y, and z axis of
the three-dimensional plot can be set in cm.</para>
<para>
The <guilabel>Rotation</guilabel> of the coordinate frame can be set by the
angles <guilabel>phi</guilabel> and <guilabel>theta</guilabel>. The value of
<guilabel>phi</guilabel> determines the rotation around the y axis, the value
of <guilabel>theta</guilabel> determines the tilt of the y axis.</para>
<para>
The group <guilabel>Axes</guilabel> allows to specify the distances
<guilabel>xtic</guilabel>, <guilabel>ytic</guilabel>, and
<guilabel>ztic</guilabel> of major (labeled) tick marks. The number of
intervals dividing the distance between the major ticks can be specified by
<guilabel>mticx</guilabel>, <guilabel>mticy</guilabel>, and
<guilabel>mticz</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.</para>
<para>
Factors for <guilabel>Normalization</guilabel>  of the x, y, and z axis may be
entered manually. These factors also may be determined automatically using
<guibutton>Autoscale</guibutton> with checked
<guilabel>Normalization</guilabel>. Autoscaling also sets the limits of the
axes, the distances between major tick marks, the number of intervals between
major tick marks, the number of digits for numeric labels, the
<guilabel>Reference Point</guilabel>, and the lengths of the axes.</para>

</sect2>

<sect2 id="array3d-p3">
<title>Representation</title>

<para>
On the page <guilabel>Representation</guilabel> in the group
<guilabel>Axis mode</guilabel> it can be selected to plot tick marks with and
without numeric labels.</para>
<para>
In the group <guilabel>3D mode</guilabel> it can be selected if the surface
y(x,z) should be represented by lines in x or z direction or by a grid of lines
in x and z direction.</para>
<para>
In the group <guilabel>Colors</guilabel> the colors for frame, tick marks, and
the surface representing the data may be chosen using the dialog
<guilabel>Select Color</guilabel>, opened with the colored buttons.</para>
<para>
By <guilabel>Show frame</guilabel> the display of a frame around the
rectangular window of the plot can be selected. The relative
<guilabel>Line width</guilabel> of the surface grid (proportional to the width
of the data window) may be specified. A setting of 100&nbsp;% corresponds to
the default.</para>
<para>
A table with values of the plotted surfaces can be exported as a data file
using the button <guibutton>Export</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>Cancel</guibutton>. By using <guibutton>Apply</guibutton>
changes are saved without closing the dialog. With <guibutton>OK</guibutton>
changes are saved and the dialog is closed.</para>

</sect2>

</sect1>

<sect1 id="func3d">
<title>3D function</title>
<anchor id="sec-func3d"/>

<para>
The dialog <guilabel>3D function</guilabel> is used to perform the settings for
the three-dimensional representation of a function y(x,z) of two independent
variables. The dialog is divided into three pages.</para>

<sect2 id="Func3d-p1">
<title>Function</title>

<para>
On the page <guilabel>Function</guilabel> in the group
<guilabel>y(x,z)</guilabel> the path of the shared library containing the
function to be chosen may be entered in the field <guilabel>Library</guilabel>.
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>Show Function Source</guilabel> is activated in the
<link linkend="settings-menu">Settings</link> 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 text file (one parameter each line). The button
<guibutton>Save</guibutton> opens a file selection dialog for saving the
parameters in an text file.</para>
<para>
In the group <guilabel>y(x,z)</guilabel> the limits for the function's
arguments and the x and z axes are entered using the fields
<guilabel>xmin</guilabel>, <guilabel>xmax</guilabel>,
<guilabel>zmin</guilabel>, and <guilabel>zmax</guilabel>. With
<guilabel>&Delta;x</guilabel> and <guilabel>&Delta;z</guilabel> the step sizes
for the arguments are set. A value of 0 results in automatically dividing the
respective range into 40 intervals. With <guilabel>ymin</guilabel> and
<guilabel>ymax</guilabel> the limits of the y axis are set. The scaling can be
set to logarithmic individually for the axes by checking
<guilabel>log</guilabel>.</para>

</sect2>

<sect2 id="func3d-p2">
<title>Scaling</title>

<para>
On the page <guilabel>Scaling</guilabel> in the group
<guilabel>Window</guilabel> the rectangular range where the three-dimensional
plot is shown can be set in cm. A frame around this rectangle is drawn
optionally.</para>
<para>
In the group <guilabel>Reference Point</guilabel> the distances from the center
of the plane spread by the x and z axes at ymin to the left and bottom sides of
the window may be set in cm.</para>
<para>
In the group <guilabel>3D box</guilabel> the lengths of the x, y, and z axis of
the three-dimensional plot can be set in cm.</para>
<para>
The <guilabel>Rotation</guilabel> of the coordinate frame can be set by the
angles <guilabel>phi</guilabel> and <guilabel>theta</guilabel>. The value of
<guilabel>phi</guilabel> determines the rotation around the y axis, the value
of <guilabel>theta</guilabel> determines the tilt of the y axis.</para>
<para>
The group <guilabel>Axes</guilabel> allows to specify the distances
<guilabel>xtic</guilabel>, <guilabel>ytic</guilabel>, and
<guilabel>ztic</guilabel> of major (labeled) tick marks. The number of
intervals dividing the distance between the major ticks can be specified by
<guilabel>mticx</guilabel>, <guilabel>mticy</guilabel>, and
<guilabel>mticz</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.</para>
<para>
Factors for <guilabel>Normalization</guilabel>  of the x, y, and z axis may be
entered manually. These factors also may be determined automatically using
<guibutton>Autoscale</guibutton> with checked
<guilabel>Normalization</guilabel>. Autoscaling also sets the limits of the
axes, the distances between major tick marks, the number of intervals between
major tick marks, the number of digits for numeric labels, the
<guilabel>Reference Point</guilabel>, and the lengths of the axes.</para>

</sect2>

<sect2 id="func3d-p3">
<title>Representation</title>

<para>
On the page <guilabel>Representation</guilabel> in the group
<guilabel>Axis mode</guilabel> it can be selected to plot tick marks with and
without numeric labels.</para>
<para>
In the group <guilabel>3D mode</guilabel> it can be selected if the surface
y(x,z) should be represented by lines in x or z direction or by a grid of lines
in x and z direction.</para>
<para>
In the group <guilabel>Colors</guilabel> the colors for frame, tick marks, and
the surface representing the data may be chosen using the dialog
<guilabel>Select Color</guilabel>, opened with the colored buttons.</para>
<para>
By <guilabel>Show frame</guilabel> the display of a frame around the
rectangular window of the plot can be selected. The relative
<guilabel>Line width</guilabel> of the surface grid (proportional to the width
of the data window) may be specified. A setting of 100&nbsp;% corresponds to
the default.</para>
<para>
A table with values of the plotted surfaces can be exported as a data file
using the button <guibutton>Export</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>Cancel</guibutton>. By using <guibutton>Apply</guibutton> changes
are saved without closing the dialog. With <guibutton>OK</guibutton> changes
are saved and the dialog is closed.</para>

</sect2>

</sect1>

<sect1 id="image">
<title>Image</title>
<anchor id="sec-image"/>

<para>
The dialog <guilabel>Image</guilabel> allows to embed an EPS (Encapsulated
PostScript) figure in a plot.</para>
<para>
A file selection dialog is opened with the button <guilabel>...</guilabel> to
select the EPS <guilabel>File</guilabel>. With <guilabel>x0</guilabel> and
<guilabel>y0</guilabel> the position of the left bottom corner may be
set.</para>
<para>
<guilabel>x Scaling</guilabel> and <guilabel>y Scaling</guilabel> allow
to set horizontal and vertical scaling factors. Values of 100&nbsp;% correspond
to the original size of the figure. The same scaling factor for x and y
direction is used when <guilabel>Maintain aspect ratio</guilabel>
is checked.</para>
<para>
The dialog may be canceled without saving by use of the button
<guibutton>Cancel</guibutton>. By using <guibutton>Apply</guibutton> changes
are saved without closing the dialog. With <guibutton>OK</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, showing the actual line or marker. The symbol number -17 may be
chosen to draw labels without markers or lines. The <guilabel>Size</guilabel>
of lines or markers may be chosen as an additional individual factor to the
global setting of the corresponding frame item. 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>Cancel</guibutton>. By using <guibutton>Apply</guibutton> changes
are saved without closing the dialog. With <guibutton>OK</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>x0</guilabel> and <guilabel>y0</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>Cancel</guibutton>. By using <guibutton>Apply</guibutton> changes
are saved without closing the dialog. With <guibutton>OK</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>x0</guilabel> and <guilabel>y0</guilabel> the start position of the
line may be set.</para>
<para>
With <guilabel>Width</guilabel> the relative width of the line maybe 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 <guilabel>Type</guilabel> of the line is selected most convenient using the
dialog <guilabel>Lines</guilabel>, opened using the button right to the spin
box, showing the actual line.</para>
<para>
The dialog may be canceled without saving by use of the button
<guibutton>Cancel</guibutton>. By using <guibutton>Apply</guibutton> changes
are saved without closing the dialog. With <guibutton>OK</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>x0</guilabel> and <guilabel>y0</guilabel> the
<guilabel>Coordinates</guilabel> of either the <guilabel>Head</guilabel>, the
<guilabel>Center</guilabel>, or the <guilabel>End</guilabel>, 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 arrow can be set to be <guilabel>Double headed</guilabel>.</para>
<para>
The dialog may be canceled without saving by use of the button
<guibutton>Cancel</guibutton>. By using <guibutton>Apply</guibutton> changes
are saved without closing the dialog. With <guibutton>OK</guibutton> changes
are saved and the dialog is closed.</para>

</sect1>

<sect1 id="arc">
<title>Arc</title>
<anchor id="sec-arc"/>

<para>
The dialog <guilabel>Arc</guilabel> is used to perform the settings for an
elliptic arc to decorate the plot.</para>
<para>
The <guilabel>Width</guilabel> and <guilabel>Height</guilabel> of the ellipse
can be entered in cm. The height is set equal to the width when
<guilabel>Circular arc</guilabel> is checked. With <guilabel>Start</guilabel>
and <guilabel>Length</guilabel> the arc's start angle and length can be set in
degrees. The <guilabel>Rotation</guilabel> of the ellipse around the left
bottom corner can be entered in degrees. With <guilabel>x0</guilabel> and
<guilabel>y0</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
arc may be set. A setting of 100&nbsp;% corresponds to a normal value. The
<guilabel>Color</guilabel> of the arc 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>Cancel</guibutton>. By using <guibutton>Apply</guibutton> changes
are saved without closing the dialog. With <guibutton>OK</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. The height is set equal to the width when
<guilabel>Square</guilabel> is checked. The <guilabel>Rotation</guilabel> of
the rectangle around the left bottom corner can be entered in degrees. With
<guilabel>x0</guilabel> and <guilabel>y0</guilabel> the position of the left
bottom corner 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.</para>
<para>
By choosing a <guilabel>Fill pattern</guilabel> the rectangle can be filled
with a solid color or a pattern instead of being represented by a line.</para>
<para>
The dialog may be canceled without saving by use of the button
<guibutton>Cancel</guibutton>. By using <guibutton>Apply</guibutton> changes
are saved without closing the dialog. With <guibutton>OK</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 an
ellipse to decorate the plot.</para>
<para>
The <guilabel>Width</guilabel> and <guilabel>Height</guilabel> of the ellipse
can be entered in cm. The height is set equal to the width when
<guilabel>Circle</guilabel> is checked. The <guilabel>Rotation</guilabel> of
the ellipse can be entered in degrees. With <guilabel>x0</guilabel> and
<guilabel>y0</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.</para>
<para>
By choosing a <guilabel>Fill pattern</guilabel> the ellipse can be filled with
a solid color or a pattern instead of being represented by a line.</para>
<para>
The dialog may be canceled without saving by use of the button
<guibutton>Cancel</guibutton>. By using <guibutton>Apply</guibutton> changes
are saved without closing the dialog. With <guibutton>OK</guibutton> changes
are saved and the dialog is closed.</para>

</sect1>

<sect1 id="scalebar">
<title>Scale Bar</title>
<anchor id="sec-scalebar"/>

<para>
The dialog <guilabel>Scale Bar</guilabel> is used to perform the settings for a
bar showing a length scale. The <guilabel>Orientation</guilabel> of the bar may
be chosen to be <guilabel>Horizontal</guilabel> or
<guilabel>Vertical</guilabel>. A <guilabel>Text</guilabel> (usually a length
the bar should represent) can be entered. The actual
<guilabel>Length</guilabel> of the bar in the plot has to be supplied in cm.
With <guilabel>x0</guilabel> and <guilabel>y0</guilabel> the position of the
left bottom corner may be set.</para>
<para>
With <guilabel>Size</guilabel> the relative size of the text and the relative
linewidth may be set. A setting of 100&nbsp;% corresponds to a normal value.
The <guilabel>Color</guilabel> of the scale bar 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>Cancel</guibutton>. By using <guibutton>Apply</guibutton> changes
are saved without closing the dialog. With <guibutton>OK</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 when either <guibutton>Fit</guibutton> is selected from the
<link linkend="edit-menu">Edit</link> menu, or when a data file is loaded and
the options <guilabel>Autofit</guilabel> in the
<link linkend="basic">Basic settings</link> and
<guilabel>Show dialog</guilabel> in the
<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 x or 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>Start</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>Cancel</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>Residuals</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>Cancel</guibutton>. By using <guibutton>Apply</guibutton> the
parameters are saved without closing the dialog. With <guibutton>OK</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="spline-fit">
<title>Smoothing spline fit</title>
<anchor id="sec-spline-fit"/>

<para>
The dialog <guilabel>Smoothing spline fit</guilabel> is used to performa fit of
a smoothing spline to a data set. The dialog is opened by selecting
<guibutton>Fit</guibutton> from the <link linkend="edit-menu">Edit</link>
menu.</para>
<para>
In the group <guilabel>Spline</guilabel> the <guilabel>Degree</guilabel> of the
spline function as well as the boundaries <guilabel>xmin</guilabel> and
<guilabel>xmax</guilabel> of the approximation interval may be set. They give
the limits of the range for which the spline can be represented and cover at
least the x values of the data set's range selected in the dialog
<guilabel>Feld</guilabel>. The <guilabel>Smoothing factor</guilabel> affects
the averaged deviation of the spline function from the y values of the data set
and is equal to the factor, by which the deviations should differ in the
average from the error of the data points. A value of 0 leads to a
non-smoothing spline.</para>
<para>
In the group <guilabel>Data errors</guilabel> the settings for weighing the
data points may be formed. The <guilabel>Array</guilabel> for which the
settings are performed is shown by its filename and the column indices for x,
y, and errors. 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 performing of the fit. Otherwise the standard deviation will be estimated
by an error model function taking the x or 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>
The fit is performed by clicking the <guibutton>Start</guibutton> button. The
obtained number of knots of the spline, the resulting chi-square value as well
as the average deviation of the y values are displayed in the listbox in the
lower part of the dialog.</para>
<para>
The residuals of the fit (the differences between data and spline function
values) can be plotted graphically by use of the button
<guibutton>Residuals</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 <link linkend="roots">Roots</link> for finding roots of a cubic
spline or of its derivatives is opened by use of the button
<guibutton>Roots</guibutton>.</para>
<para>
The dialog may be canceled without saving the spline coefficients by use of the
button <guibutton>Cancel</guibutton>. By using <guibutton>Apply</guibutton> the
coefficients are saved and the plot is updated without closing the dialog. With
<guibutton>OK</guibutton> the coefficients are saved and the dialog is
closed.</para>

</sect1>

<sect1 id="roots">
<title>Roots</title>
<anchor id="sec-roots"/>

<para>
The dialog <guilabel>Roots</guilabel> can be opened using the button
<guibutton>Roots</guibutton> of the dialogs <guilabel>Function</guilabel>,
<guilabel>Smoothing spline</guilabel>, and
<guilabel>Smoothing spline fit</guilabel>. It is used to find roots of the
function or spline, respectively, or of its derivatives. In case of a function
an interpolating (non-smoothing) cubic spline representation is employed, in
case of a smoothing spline the current spline is used; its degree has to be
cubic.</para>
<para>
The <guilabel>Condition</guilabel> for roots to be searched and displayed can
be selected. A constant <guilabel>c</guilabel> may be used to find points with
nonzero values of the spline or its derivatives. The button
<guilabel>Update</guilabel> is used to update the displayed list of points
after changing the constant <guilabel>c</guilabel>. The
<guilabel>Condition</guilabel> can also be set to <guilabel>Minimum</guilabel>
or <guilabel>Maximum</guilabel>. Then points with a vanishing first derivative
and a positive (minimum) or negative (maximum) second derivative are
listed.</para>
<para>
The list of points, consisting of columns with their x, y, y', and y" values,
can be exported to a text file using the button <guibutton>Export</guibutton>.
A file selection dialog will be opened for this purpose.</para>
<para>
The dialog is closed by using the button <guibutton>Close</guibutton>.</para>

</sect1>

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

<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
<guilabel>&lt;</guilabel>. 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>Cancel</guibutton>. With <guibutton>OK</guibutton> changes are saved
and the dialog is closed.
</para>

</sect1>

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

<para>
The dialog <guilabel>Configure</guilabel> is used to perform basic presettings
and the setting for the Autoplot and Autofit features. The dialog may be
canceled without saving by use of the button <guibutton>Cancel</guibutton>.
With <guibutton>Defaults</guibutton> all entries in the dialog can be reset to
the default values. By using <guibutton>Apply</guibutton> changes are applied
without closing the dialog. With <guibutton>OK</guibutton> changes are applied
and the dialog is closed.</para>
<para>
The dialog consists of three pages.</para>

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

<para>
The page <guilabel>Basic settings</guilabel> is used to perform basic
presettings.</para>

<para>
In the group <guilabel>Page format</guilabel> the size of the plot page may be
selected using the combobox. The setting <guilabel>Custom</guilabel> allows to
set user defined <guilabel>Width</guilabel> and <guilabel>Height</guilabel>
values.</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>
The presetting of the <guilabel>Decimal symbol</guilabel> for reading data
files can be chosen to be point or comma.</para>
<para>
In the group <guilabel>Output format</guilabel>, the double value
<guilabel>Presentation</guilabel> and the <guilabel>Precision</guilabel> for
function parameters and ranges 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>
<para>Also the toggle options of the
<link linkend="settings-menu">Settings</link> menu can be set here at
once.</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 on the <guilabel>Autofit settings</guilabel> page.</para>
<para>
When <guilabel>Use internal PS encoding</guilabel> is checked, PostScript
output will be created, which can be edited easily. For example, the
coordinates of 2D data points are stored without scaling, according to the
values from data files or function evaluations.</para>


</sect2>

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

<para>
The page <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 by
<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, showing the actual line or marker. 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 the default. 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>

</sect2>

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

<para>
The page <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>Basic settings</guilabel>.</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>Show 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 text file (one parameter each line). The button
<guibutton>Save</guibutton> opens a file selection dialog for saving the
parameters in an text 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 on the dialog page
<link linkend="autoplot">Autoplot settings</link>, 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 x or 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, showing 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>

</sect2>

</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 presentations of ordinary and
parametric functions and for parameter fits are used by &kpl; as shared
libraries. These functions return a <type>double</type> value 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>
Functions for three-dimensional presentations of surfaces return a
<type>double</type> value and expect two <type>double</type> function arguments
and a pointer to a <type>double</type> array of up to 20 parameters:</para>
<programlisting>
double my3Dfunction(double x, double z, 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>/lib/kde4/plugins/kpl</filename>
or $<envar>KDEDIR</envar><filename>/lib64/kde4/plugins/kpl</filename> in case
of 32 or 64 bit installations, respectively, 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. The example plot files <filename>demo2.plo</filename>,
<filename>demo3.plo</filename>, <filename>demo4.plo</filename>,
<filename>demo5.plo</filename>, <filename>demo6.plo</filename> and
<filename>demo11.plo</filename> in the same directory make use of the functions
of <filename>fkt.so</filename>.</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>. The example plot files
<filename>demo7.plo</filename> and <filename>demo8.plo</filename> make use of
the functions of <filename>fcompl.so</filename>.</para>

</sect1>

<sect1 id="d-bus">
<title>D-BUS Interface</title>

<para>
The <acronym>D-BUS</acronym> interface allows to control &kpl; by other KDE
applications and scripts.</para>
<para>
A C++ example <filename>demo1.cpp</filename> for a KDE application using the
<acronym>D-BUS</acronym> interface of &kpl; is provided in the directory
$<envar>KDEDIR</envar><filename>/lib/kde4/plugins/kpl</filename> or
$<envar>KDEDIR</envar><filename>/lib64/kde4/plugins/kpl</filename> in case of
32 or 64 bit installations, respectively, together with a
<command>cmake</command> project file <filename>CMakeLists.txt</filename>.
To compile it, copy these two files to some directory and run
<command>cmake ./</command> and <command>make</command> there.</para>
<para>
An example <filename>demo1.py</filename> for a Python script using the
<acronym>D-BUS</acronym> interface of &kpl; is also provided in that directory.
It essentially does the same as the C++ example.</para>
<para>
To test the <acronym>D-BUS</acronym> interface of &kpl; you also can use the
<acronym>D-BUS</acronym> utilities <command>qdbus</command> (command line) and
<command>qdbusviewer</command> (GUI).</para>
<para>
The <acronym>D-BUS</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>
bool 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>
bool 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>savePlot</title>
<synopsis>
bool 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>
bool savePS(const QString&amp; <replaceable class="parameter">url</replaceable>,
            bool <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>
bool printPlot(const QString&amp; <replaceable class="parameter">printerName</replaceable>,
               const QString&amp; <replaceable class="parameter">fileName</replaceable>,
               bool <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>setAddFilesOption</title>
<synopsis>
void setAddFilesOption(bool <replaceable class="parameter">add</replaceable>);
</synopsis>
<para>Sets add files option.</para>
<para>Parameters:</para>
<variablelist>
<varlistentry>
<term><replaceable class="parameter">add</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(bool <replaceable class="parameter">absolute</replaceable>);
</synopsis>
<para>Sets path saving option.</para>
<para>Parameters:</para>
<variablelist>
<varlistentry>
<term><replaceable class="parameter">absolute</replaceable>
</term>
<listitem><para>true to save absolute paths.
</para></listitem>
</varlistentry>
</variablelist>
</sect2>

<sect2>
<title>setBoundingBoxOption</title>
<synopsis>
void setBoundingBoxOption(bool <replaceable class="parameter">calculate</replaceable>);
</synopsis>
<para>Sets calculate PS bounding box option.</para>
<para>Parameters:</para>
<variablelist>
<varlistentry>
<term><replaceable class="parameter">calculate</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>,
                 bool <replaceable class="parameter">pathHeading</replaceable>,
                 int <replaceable class="parameter">ix</replaceable>,
                 int <replaceable class="parameter">iy</replaceable>,
                 int <replaceable class="parameter">ie</replaceable>,
                 bool <replaceable class="parameter">logx</replaceable>,
                 bool <replaceable class="parameter">logy</replaceable>,
                 bool <replaceable class="parameter">errbars</replaceable>,
                 int <replaceable class="parameter">symb</replaceable>,
                 bool <replaceable class="parameter">autoNorm</replaceable>,
                 bool <replaceable class="parameter">autoFit</replaceable>,
                 double <replaceable class="parameter">relSize</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>
<varlistentry>
<term><replaceable class="parameter">relSize</replaceable>
</term>
<listitem><para>relative size of text, markers and lines.
</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>,
                bool <replaceable class="parameter">nonLin</replaceable>,
                bool <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>,
                bool <replaceable class="parameter">showDlg</replaceable>,
                bool <replaceable class="parameter">savePar</replaceable>,
                bool <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>
bool 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>
bool 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>
bool enableFitPar(int <replaceable class="parameter">iPar</replaceable>,
                  bool <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>
bool 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>
bool 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>
bool deleteItem(int <replaceable class="parameter">i</replaceable>);
</synopsis>
<para>Deletes plot item.</para>
<para>Parameters:</para>
<variablelist>
<varlistentry>
<term><replaceable class="parameter">i</replaceable>
</term>
<listitem><para>item index.
</para></listitem>
</varlistentry>
</variablelist>
<para>Returns: true when succeeded.
</para>
</sect2>

<sect2>
<title>moveItem</title>
<synopsis>
bool 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>
bool activateItem(int <replaceable class="parameter">i</replaceable>,
                  bool <replaceable class="parameter">active</replaceable>);
</synopsis>
<para>Sets activation state of plot item.</para>
<para>Parameters:</para>
<variablelist>
<varlistentry>
<term><replaceable class="parameter">i</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>,
                  bool <replaceable class="parameter">logx</replaceable>,
                  bool <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>,
                  double <replaceable class="parameter">xOff</replaceable>,
                  double <replaceable class="parameter">yOff</replaceable>,
                  bool <replaceable class="parameter">xBottom</replaceable>,
                  bool <replaceable class="parameter">xTop</replaceable>,
                  bool <replaceable class="parameter">yLeft</replaceable>,
                  bool <replaceable class="parameter">yRight</replaceable>,
                  bool <replaceable class="parameter">collapsed</replaceable>,
                  bool <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">xOff</replaceable>
</term>
<listitem><para>offset for first major x tic.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">yOff</replaceable>
</term>
<listitem><para>offset for first major y tic.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">xBottom</replaceable>
</term>
<listitem><para>true for x axis labels on bottom side.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">xTop</replaceable>
</term>
<listitem><para>true for x axis labels on top side.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">yLeft</replaceable>
</term>
<listitem><para>true for y axis labels on left side.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">yRight</replaceable>
</term>
<listitem><para>true for y axis labels on right side.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">collapsed</replaceable>
</term>
<listitem><para>true for collapsed in list view.
</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>
bool 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>,
                  bool <replaceable class="parameter">errbars</replaceable>,
                  int <replaceable class="parameter">type</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">iDec</replaceable>,
                  int <replaceable class="parameter">fillStyle</replaceable>,
                  double <replaceable class="parameter">xOff</replaceable>,
                  double <replaceable class="parameter">yOff</replaceable>,
                  double <replaceable class="parameter">relSize</replaceable>,
                  bool <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">type</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">iDec</replaceable>
</term>
<listitem><para>0 for decimal point, 1 for comma.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">fillStyle</replaceable>
</term>
<listitem><para>&gt;&nbsp;0 for filled polygon representation.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">xOff</replaceable>
</term>
<listitem><para>offset for x values.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">yOff</replaceable>
</term>
<listitem><para>offset for y values.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">relSize</replaceable>
</term>
<listitem><para>relative size of lines or symbols.
</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>
bool 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">type</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">fillStyle</replaceable>,
                double <replaceable class="parameter">xOff</replaceable>,
                double <replaceable class="parameter">yOff</replaceable>,
                double <replaceable class="parameter">relSize</replaceable>,
                bool <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">type</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">fillStyle</replaceable>
</term>
<listitem><para>&gt;&nbsp;0 for filled polygon representation.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">xOff</replaceable>
</term>
<listitem><para>offset for x values.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">yOff</replaceable>
</term>
<listitem><para>offset for y values.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">relSize</replaceable>
</term>
<listitem><para>relative size of lines or symbols.
</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>
bool 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">type</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">fillStyle</replaceable>,
                   double <replaceable class="parameter">xOff</replaceable>,
                   double <replaceable class="parameter">yOff</replaceable>,
                   double <replaceable class="parameter">relSize</replaceable>,
                   bool <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">type</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">fillStyle</replaceable>
</term>
<listitem><para>&gt;&nbsp;0 for filled polygon representation.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">xOff</replaceable>
</term>
<listitem><para>offset for x values.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">yOff</replaceable>
</term>
<listitem><para>offset for y values.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">relSize</replaceable>
</term>
<listitem><para>relative size of lines or symbols.
</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>newSplineItem</title>
<synopsis>
void newSplineItem(int <replaceable class="parameter">deriv</replaceable>,
                   double <replaceable class="parameter">low</replaceable>,
                   double <replaceable class="parameter">xmin</replaceable>,
                   double <replaceable class="parameter">xmax</replaceable>,
                   double <replaceable class="parameter">dx</replaceable>,
                   int <replaceable class="parameter">type</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">k</replaceable>,
                   int <replaceable class="parameter">fillStyle</replaceable>,
                   double <replaceable class="parameter">xOff</replaceable>,
                   double <replaceable class="parameter">yOff</replaceable>,
                   double <replaceable class="parameter">relSize</replaceable>,
                   bool <replaceable class="parameter">active</replaceable>);
</synopsis>
<para>Appends new spline item.</para>
<para>Parameters:</para>
<variablelist>
<varlistentry>
<term><replaceable class="parameter">deriv</replaceable>
</term>
<listitem><para>order of the derivative, 0 for function itself,
-1 for integral.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">low</replaceable>
</term>
<listitem><para>lower limit for spline integral.
</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 step size.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">type</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 spline 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">k</replaceable>
</term>
<listitem><para>degree of spline.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">fillStyle</replaceable>
</term>
<listitem><para>&gt;&nbsp;0 for filled polygon representation.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">xOff</replaceable>
</term>
<listitem><para>offset for x values.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">yOff</replaceable>
</term>
<listitem><para>offset for y values.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">relSize</replaceable>
</term>
<listitem><para>relative size of lines or symbols.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">active</replaceable>
</term>
<listitem><para>true for visible item.
</para></listitem>
</varlistentry>
</variablelist>
</sect2>

<sect2>
<title>newArray3DItem</title>
<synopsis>
bool newArray3DItem(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>,
                    double <replaceable class="parameter">zmin</replaceable>,
                    double <replaceable class="parameter">zmax</replaceable>,
                    bool <replaceable class="parameter">logx</replaceable>,
                    bool <replaceable class="parameter">logy</replaceable>,
                    bool <replaceable class="parameter">logz</replaceable>,
                    int <replaceable class="parameter">ndigx</replaceable>,
                    int <replaceable class="parameter">ndigy</replaceable>,
                    int <replaceable class="parameter">ndigz</replaceable>,
                    const QString&amp; <replaceable  class="parameter">colFrame</replaceable>,
                    const QString&amp; <replaceable class="parameter">colGrid</replaceable>,
                    const QString&amp; <replaceable class="parameter">colData</replaceable>,
                    double <replaceable class="parameter">xtic</replaceable>,
                    double <replaceable class="parameter">ytic</replaceable>,
                    double <replaceable class="parameter">ztic</replaceable>,
                    int <replaceable class="parameter">mticx</replaceable>,
                    int <replaceable class="parameter">mticy</replaceable>,
                    int <replaceable class="parameter">mticz</replaceable>,
                    bool <replaceable class="parameter">frame</replaceable>,
                    int <replaceable class="parameter">gridmode</replaceable>,
                    int <replaceable class="parameter">gridmode3D</replaceable>,
                    double <replaceable class="parameter">xBox</replaceable>,
                    double <replaceable class="parameter">yBox</replaceable>,
                    double <replaceable class="parameter">zBox</replaceable>,
                    double <replaceable class="parameter">xRef</replaceable>,
                    double <replaceable class="parameter">yRef</replaceable>,
                    double <replaceable class="parameter">phi</replaceable>,
                    double <replaceable class="parameter">theta</replaceable>,
                    int <replaceable class="parameter">iex</replaceable>,
                    int <replaceable class="parameter">iey</replaceable>,
                    int <replaceable class="parameter">iez</replaceable>,
                    const QString&amp; <replaceable class="parameter">sx</replaceable>,
                    const QString&amp; <replaceable class="parameter">sy</replaceable>,
                    const QString&amp; <replaceable class="parameter">sz</replaceable>,
                    const QString&amp; <replaceable class="parameter">sh</replaceable>,
                    double <replaceable class="parameter">relSize</replaceable>,
                    const QString&amp; <replaceable class="parameter">path</replaceable>,
                    int <replaceable class="parameter">ix</replaceable>,
                    int <replaceable class="parameter">iy</replaceable>,
                    int <replaceable class="parameter">iz</replaceable>,
                    int <replaceable class="parameter">ie</replaceable>,
                    int <replaceable class="parameter">istart</replaceable>,
                    int <replaceable class="parameter">n</replaceable>,
                    bool <replaceable class="parameter">errbars</replaceable>,
                    double <replaceable class="parameter">smf</replaceable>,
                    double <replaceable class="parameter">dx</replaceable>,
                    double <replaceable class="parameter">dz</replaceable>,
                    double <replaceable class="parameter">fx</replaceable>,
                    double <replaceable class="parameter">fy</replaceable>,
                    double <replaceable class="parameter">fz</replaceable>,
                    int <replaceable class="parameter">iDec</replaceable>,
                    bool <replaceable class="parameter">collapsed</replaceable>,
                    bool <replaceable class="parameter">active</replaceable>);
</synopsis>
<para>Appends new 3D array 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>minimum x value.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">xmax</replaceable>
</term>
<listitem><para>maximum x value.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">ymin</replaceable>
</term>
<listitem><para>minimum y value.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">ymax</replaceable>
</term>
<listitem><para>maximum y value.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">zmin</replaceable>
</term>
<listitem><para>minimum z value.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">zmax</replaceable>
</term>
<listitem><para>maximum z value.
</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">logz</replaceable>
</term>
<listitem><para>true for logarithmic scaling of z 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">ndigz</replaceable>
</term>
<listitem><para>number of digits for z 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 tics.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">colData</replaceable>
</term>
<listitem><para>color for surface.
</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">ztic</replaceable>
</term>
<listitem><para>distance between major tics of z 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">mticz</replaceable>
</term>
<listitem><para>number of intervals between major tics of z axis.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">frame</replaceable>
</term>
<listitem><para>true to show frame.
</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.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">gridmode3D</replaceable>
</term>
<listitem><para>0 for lines parallel to x, 1 for lines parallel to z,
 2 for grid.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">xBox</replaceable>
</term>
<listitem><para>x box width in cm.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">yBox</replaceable>
</term>
<listitem><para>y box width in cm.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">zBox</replaceable>
</term>
<listitem><para>z box width in cm.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">xRef</replaceable>
</term>
<listitem><para>x position of center of box bottom plane.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">yRef</replaceable>
</term>
<listitem><para>y position of center of box bottom plane.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">phi</replaceable>
</term>
<listitem><para>angle of rotation about y axis in deg.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">theta</replaceable>
</term>
<listitem><para>tilt angle of y axis in deg.
</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">iez</replaceable>
</term>
<listitem><para>logarithm of normalization factor for z 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">sz</replaceable>
</term>
<listitem><para>z 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 and lines.
</para></listitem>
</varlistentry>
<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">iz</replaceable>
</term>
<listitem><para>z 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 use error bars for weighing y values.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">smf</replaceable>
</term>
<listitem><para>smoothing factor.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">dx</replaceable>
</term>
<listitem><para>x grid stepsize.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">dz</replaceable>
</term>
<listitem><para>z grid stepsize.
</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">fz</replaceable>
</term>
<listitem><para>normalization factor for z values.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">iDec</replaceable>
</term>
<listitem><para>0 for decimal point, 1 for comma.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">collapsed</replaceable>
</term>
<listitem><para>true for collapsed in list view.
</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>newFun3DItem</title>
<synopsis>
bool newFun3DItem(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>,
                  double <replaceable class="parameter">zmin</replaceable>,
                  double <replaceable class="parameter">zmax</replaceable>,
                  bool <replaceable class="parameter">logx</replaceable>,
                  bool <replaceable class="parameter">logy</replaceable>,
                  bool <replaceable class="parameter">logz</replaceable>,
                  int <replaceable class="parameter">ndigx</replaceable>,
                  int <replaceable class="parameter">ndigy</replaceable>,
                  int <replaceable class="parameter">ndigz</replaceable>,
                  const QString&amp; <replaceable class="parameter">colFrame</replaceable>,
                  const QString&amp; <replaceable class="parameter">colGrid</replaceable>,
                  const QString&amp; <replaceable class="parameter">colData</replaceable>,
                  double <replaceable class="parameter">xtic</replaceable>,
                  double <replaceable class="parameter">ytic</replaceable>,
                  double <replaceable class="parameter">ztic</replaceable>,
                  int <replaceable class="parameter">mticx</replaceable>,
                  int <replaceable class="parameter">mticy</replaceable>,
                  int <replaceable class="parameter">mticz</replaceable>,
                  bool <replaceable class="parameter">frame</replaceable>,
                  int <replaceable class="parameter">gridmode</replaceable>,
                  int <replaceable class="parameter">gridmode3D</replaceable>,
                  double <replaceable class="parameter">xBox</replaceable>,
                  double <replaceable class="parameter">yBox</replaceable>,
                  double <replaceable class="parameter">zBox</replaceable>,
                  double <replaceable class="parameter">xRef</replaceable>,
                  double <replaceable class="parameter">yRef</replaceable>,
                  double <replaceable class="parameter">phi</replaceable>,
                  double <replaceable class="parameter">theta</replaceable>,
                  int <replaceable class="parameter">iex</replaceable>,
                  int <replaceable class="parameter">iey</replaceable>,
                  int <replaceable class="parameter">iez</replaceable>,
                  const QString&amp; <replaceable class="parameter">sx</replaceable>,
                  const QString&amp; <replaceable class="parameter">sy</replaceable>,
                  const QString&amp; <replaceable class="parameter">sz</replaceable>,
                  const QString&amp; <replaceable class="parameter">sh</replaceable>,
                  double <replaceable class="parameter">relSize</replaceable>,
                  const QString&amp; <replaceable class="parameter">path</replaceable>,
                  const QString&amp; <replaceable class="parameter">name</replaceable>,
                  double <replaceable class="parameter">dx</replaceable>,
                  double <replaceable class="parameter">dz</replaceable>,
                  double <replaceable class="parameter">fx</replaceable>,
                  double <replaceable class="parameter">fy</replaceable>,
                  double <replaceable class="parameter">fz</replaceable>,
                  bool <replaceable class="parameter">collapsed</replaceable>,
                  bool <replaceable class="parameter">active</replaceable>);
</synopsis>
<para>Appends new 3D function 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>minimum x value.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">xmax</replaceable>
</term>
<listitem><para>maximum x value.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">ymin</replaceable>
</term>
<listitem><para>minimum y value.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">ymax</replaceable>
</term>
<listitem><para>maximum y value.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">zmin</replaceable>
</term>
<listitem><para>minimum z value.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">zmax</replaceable>
</term>
<listitem><para>maximum z value.
</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">logz</replaceable>
</term>
<listitem><para>true for logarithmic scaling of z 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">ndigz</replaceable>
</term>
<listitem><para>number of digits for z 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 tics.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">colData</replaceable>
</term>
<listitem><para>color for surface.
</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">ztic</replaceable>
</term>
<listitem><para>distance between major tics of z 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">mticz</replaceable>
</term>
<listitem><para>number of intervals between major tics of z axis.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">frame</replaceable>
</term>
<listitem><para>true to show frame.
</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.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">gridmode3D</replaceable>
</term>
<listitem><para>0 for lines parallel to x, 1 for lines parallel to z,
 2 for grid.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">xBox</replaceable>
</term>
<listitem><para>x box width in cm.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">yBox</replaceable>
</term>
<listitem><para>y box width in cm.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">zBox</replaceable>
</term>
<listitem><para>z box width in cm.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">xRef</replaceable>
</term>
<listitem><para>x position of center of box bottom plane.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">yRef</replaceable>
</term>
<listitem><para>y position of center of box bottom plane.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">phi</replaceable>
</term>
<listitem><para>angle of rotation about y axis in deg.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">theta</replaceable>
</term>
<listitem><para>tilt angle of y axis in deg.
</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">iez</replaceable>
</term>
<listitem><para>logarithm of normalization factor for z 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">sz</replaceable>
</term>
<listitem><para>z 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 and lines.
</para></listitem>
</varlistentry>
<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">dx</replaceable>
</term>
<listitem><para>x argument stepsize.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">dz</replaceable>
</term>
<listitem><para>z argument stepsize.
</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">fz</replaceable>
</term>
<listitem><para>normalization factor for z values.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">collapsed</replaceable>
</term>
<listitem><para>true for collapsed in list view.
</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>newImageItem</title>
<synopsis>
void newImageItem(const QString&amp; <replaceable class="parameter">path</replaceable>,
                  double <replaceable class="parameter">x</replaceable>,
                  double <replaceable class="parameter">y</replaceable>,
                  double <replaceable class="parameter">fx</replaceable>,
                  double <replaceable class="parameter">fy</replaceable>,
                  double <replaceable class="parameter">dir</replaceable>,
                  bool <replaceable class="parameter">active</replaceable>);
</synopsis>
<para>Appends new image item.</para>
<para>Parameters:</para>
<variablelist>
<varlistentry>
<term><replaceable class="parameter">path</replaceable>
</term>
<listitem><para>absolute path of the EPS file.
</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">fx</replaceable>
</term>
<listitem><para>horizontal scaling factor.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">fy</replaceable>
</term>
<listitem><para>vertical scaling factor.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">dir</replaceable>
</term>
<listitem><para>rotation angle in degree.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">active</replaceable>
</term>
<listitem><para>true for visible item.
</para></listitem>
</varlistentry>
</variablelist>
</sect2>

<sect2>
<title>newLegendItem</title>
<synopsis>
void newLegendItem(int <replaceable class="parameter">type</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>,
                   double <replaceable class="parameter">symbolSize</replaceable>,
                   bool <replaceable class="parameter">active</replaceable>);
</synopsis>
<para>Appends new legend item.</para>
<para>Parameters:</para>
<variablelist>
<varlistentry>
<term><replaceable class="parameter">type</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">symbolSize</replaceable>
</term>
<listitem><para>relative size of symbol.
</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>,
                 bool <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">type</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>,
                 bool <replaceable class="parameter">active</replaceable>);
</synopsis>
<para>Appends new line item.</para>
<para>Parameters:</para>
<variablelist>
<varlistentry>
<term><replaceable class="parameter">type</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>,
                  bool <replaceable class="parameter">doubleHeaded</replaceable>,
                  bool <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">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">doubleHeaded</replaceable>
</term>
<listitem><para>true for doubleheaded arrow.
</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>newArcItem</title>
<synopsis>
void newArcItem(const QString&amp; <replaceable class="parameter">color</replaceable>,
                double <replaceable class="parameter">x</replaceable>,
                double <replaceable class="parameter">y</replaceable>,
                double <replaceable class="parameter">w</replaceable>,
                double <replaceable class="parameter">h</replaceable>,
                double <replaceable class="parameter">start</replaceable>,
                double <replaceable class="parameter">span</replaceable>,
                double <replaceable class="parameter">relSize</replaceable>,
                double <replaceable class="parameter">dir</replaceable>,
                bool <replaceable class="parameter">active</replaceable>);
</synopsis>
<para>Appends new elliptic arc item.</para>
<para>Parameters:</para>
<variablelist>
<varlistentry>
<term><replaceable class="parameter">color</replaceable>
</term>
<listitem><para>color of the arc.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">x</replaceable>
</term>
<listitem><para>x position of center in cm.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">y</replaceable>
</term>
<listitem><para>y position of center in cm.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">w</replaceable>
</term>
<listitem><para>width of ellipse in cm.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">h</replaceable>
</term>
<listitem><para>height of ellipse in cm.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">start</replaceable>
</term>
<listitem><para>start angle in degree.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">span</replaceable>
</term>
<listitem><para>length in degree.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">relSize</replaceable>
</term>
<listitem><para>relative line width.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">dir</replaceable>
</term>
<listitem><para>rotation angle in degree.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">active</replaceable>
</term>
<listitem><para>true for visible item.
</para></listitem>
</varlistentry>
</variablelist>
</sect2>

<sect2>
<title>newRectangleItem</title>
<synopsis>
void newRectangleItem(const QString&amp; <replaceable class="parameter">color</replaceable>,
                      double <replaceable class="parameter">x</replaceable>,
                      double <replaceable class="parameter">y</replaceable>,
                      double <replaceable class="parameter">w</replaceable>,
                      double <replaceable class="parameter">h</replaceable>,
                      double <replaceable class="parameter">relSize</replaceable>,
                      int <replaceable class="parameter">fillStyle</replaceable>,
                      double <replaceable class="parameter">dir</replaceable>,
                      bool <replaceable class="parameter">active</replaceable>);
</synopsis>
<para>Appends new rectangle item.</para>
<para>Parameters:</para>
<variablelist>
<varlistentry>
<term><replaceable class="parameter">color</replaceable>
</term>
<listitem><para>color of the rectangle.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">x</replaceable>
</term>
<listitem><para>x position of left side in cm.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">y</replaceable>
</term>
<listitem><para>y position of bottom side in cm.
</para></listitem>
</varlistentry>
<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>
<varlistentry>
<term><replaceable class="parameter">relSize</replaceable>
</term>
<listitem><para>relative line width.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">fillStyle</replaceable>
</term>
<listitem><para>&gt;&nbsp;0 for filled polygon representation.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">dir</replaceable>
</term>
<listitem><para>rotation angle in degree.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">active</replaceable>
</term>
<listitem><para>true for visible item.
</para></listitem>
</varlistentry>
</variablelist>
</sect2>

<sect2>
<title>newEllipseItem</title>
<synopsis>
void newEllipseItem(const QString&amp; <replaceable class="parameter">color</replaceable>,
                    double <replaceable class="parameter">x</replaceable>,
                    double <replaceable class="parameter">y</replaceable>,
                    double <replaceable class="parameter">w</replaceable>,
                    double <replaceable class="parameter">h</replaceable>,
                    double <replaceable class="parameter">relSize</replaceable>,
                    int <replaceable class="parameter">fillStyle</replaceable>,
                    double <replaceable class="parameter">dir</replaceable>,
                    bool <replaceable class="parameter">active</replaceable>);
</synopsis>
<para>Appends new ellipse item.</para>
<para>Parameters:</para>
<variablelist>
<varlistentry>
<term><replaceable class="parameter">color</replaceable>
</term>
<listitem><para>color of the ellipse.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">x</replaceable>
</term>
<listitem><para>x position of center in cm.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">y</replaceable>
</term>
<listitem><para>y position of center in cm.
</para></listitem>
</varlistentry>
<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>
<varlistentry>
<term><replaceable class="parameter">relSize</replaceable>
</term>
<listitem><para>relative line width.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">fillStyle</replaceable>
</term>
<listitem><para>&gt;&nbsp;0 for filled ellipse representation.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">dir</replaceable>
</term>
<listitem><para>rotation angle in degree.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">active</replaceable>
</term>
<listitem><para>true for visible item.
</para></listitem>
</varlistentry>
</variablelist>
</sect2>

<sect2>
<title>newScaleBarItem</title>
<synopsis>
void newScaleBarItem(const QString&amp; <replaceable class="parameter">str</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">len</replaceable>,
                     double <replaceable class="parameter">relSize</replaceable>,
                     bool <replaceable class="parameter">vertical</replaceable>,
                     bool <replaceable class="parameter">active</replaceable>);
</synopsis>
<para>Appends new scale bar item.</para>
<para>Parameters:</para>
<variablelist>
<varlistentry>
<term><replaceable class="parameter">str</replaceable>
</term>
<listitem><para>Text.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">color</replaceable>
</term>
<listitem><para>color of the scale bar.
</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">len</replaceable>
</term>
<listitem><para>length in cm.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">relSize</replaceable>
</term>
<listitem><para>relative line width.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">vertical</replaceable>
</term>
<listitem><para>false for horizontal, true for vertical.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">active</replaceable>
</term>
<listitem><para>true for visible item.
</para></listitem>
</varlistentry>
</variablelist>
</sect2>

<sect2>
<title>autoScaleFrame</title>
<synopsis>
bool autoScaleFrame(int <replaceable class="parameter">i</replaceable>,
                    bool <replaceable class="parameter">autoNorm</replaceable>);
</synopsis>
<para>Scales frame automatically according to all items belonging to it.</para>
<para>Parameters:</para>
<variablelist>
<varlistentry>
<term><replaceable class="parameter">i</replaceable>
</term>
<listitem><para>index of frame item.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">autoNorm</replaceable>
</term>
<listitem><para>true for additional automatic normalization.
</para></listitem>
</varlistentry>
</variablelist>
<para>Returns: true when succeeded.
</para>
</sect2>

<sect2>
<title>loadPar</title>
<synopsis>
bool loadPar(const QString&amp; <replaceable class="parameter">url</replaceable>,
             int <replaceable class="parameter">i</replaceable>,
             bool <replaceable class="parameter">yFun</replaceable>);
</synopsis>
<para>Loads set of function parameters from file.</para>
<para>Parameter:</para>
<variablelist>
<varlistentry>
<term><replaceable class="parameter">url</replaceable>
</term>
<listitem><para>URL of file.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">i</replaceable>
</term>
<listitem><para>Index of function item.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">yFun</replaceable>
</term>
<listitem><para>true for y function parameters, false for x function
 parameters (only for parametric functions).
</para></listitem>
</varlistentry>
</variablelist>
<para>Returns: true when succeeded.
</para>
</sect2>

<sect2>
<title>setPar</title>
<synopsis>
bool setPar(int <replaceable class="parameter">i</replaceable>,
            int <replaceable class="parameter">iPar</replaceable>,
            double <replaceable class="parameter">value</replaceable>,
            bool <replaceable class="parameter">yFun</replaceable>);
</synopsis>
<para>Sets value of a function parameter.</para>
<para>Parameter:</para>
<variablelist>
<varlistentry>
<term><replaceable class="parameter">i</replaceable>
</term>
<listitem><para>index of function item.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">iPar</replaceable>
</term>
<listitem><para>index of parameter.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">value</replaceable>
</term>
<listitem><para>value of parameter.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">yFun</replaceable>
</term>
<listitem><para>true for y function parameters, false for x function
 parameters (only for parametric functions).
</para></listitem>
</varlistentry>
</variablelist>
<para>Returns: true when succeeded.
</para>
</sect2>

<sect2>
<title>setArrayRange</title>
<synopsis>
bool setArrayRange(int <replaceable class="parameter">i</replaceable>,
                   int <replaceable class="parameter">iStart</replaceable>,
                   int <replaceable class="parameter">n</replaceable>);
</synopsis>
<para>Sets range of rows of an array.</para>
<para>Parameter:</para>
<variablelist>
<varlistentry>
<term><replaceable class="parameter">i</replaceable>
</term>
<listitem><para>Index of array item.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">iStart</replaceable>
</term>
<listitem><para>start index of rows.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">n</replaceable>
</term>
<listitem><para>number of data points.
</para></listitem>
</varlistentry>
</variablelist>
<para>Returns: true when succeeded.
</para>
</sect2>

<sect2>
<title>addFitItems</title>
<synopsis>
bool addFitItems(bool <replaceable class="parameter">erase</replaceable>,
                 int <replaceable class="parameter">iArr</replaceable>,
                 int <replaceable class="parameter">iFun</replaceable>,
                 bool <replaceable class="parameter">errCol</replaceable>,
                 const QString&amp; <replaceable class="parameter">errModPath</replaceable>,
                 const QString&amp; <replaceable class="parameter">errModName</replaceable>);
</synopsis>
<para>Adds array and function items to a list for (multidimensional)
 parameter fits.</para>
<para>Parameter:</para>
<variablelist>
<varlistentry>
<term><replaceable class="parameter">erase</replaceable>
</term>
<listitem><para>true: clears list first.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">iArr</replaceable>
</term>
<listitem><para>index of array item.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">iFun</replaceable>
</term>
<listitem><para>index of function item.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">errCol</replaceable>
</term>
<listitem><para>true for weighing of data points 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 library containing the error
 model function.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">errModName</replaceable>
</term>
<listitem><para>name of the error model function.
</para></listitem>
</varlistentry>
</variablelist>
<para>Returns: true when succeeded.
</para>
</sect2>

<sect2>
<title>fit</title>
<synopsis>
bool fit(bool <replaceable class="parameter">nonLin</replaceable>,
         bool <replaceable class="parameter">savePar</replaceable>,
         bool <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>addSplineFitItems</title>
<synopsis>
bool addSplineFitItems(bool <replaceable class="parameter">erase</replaceable>,
                       int <replaceable class="parameter">iSpl</replaceable>);
</synopsis>
<para>Adds spline items to a list for spline fitting.</para>
<para>Parameter:</para>
<variablelist>
<varlistentry>
<term><replaceable class="parameter">erase</replaceable>
</term>
<listitem><para>true: clears list first.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">iSpl</replaceable>
</term>
<listitem><para>index of spline item.
</para></listitem>
</varlistentry>
</variablelist>
<para>Returns: true when succeeded.
</para>
</sect2>

<sect2>
<title>splineFit</title>
<synopsis>
bool splineFit(int <replaceable class="parameter">iArr</replaceable>,
               int <replaceable class="parameter">deg</replaceable>,
               double <replaceable class="parameter">smf</replaceable>,
               double <replaceable class="parameter">xmin</replaceable>,
               double <replaceable class="parameter">xmax</replaceable>,
               bool <replaceable class="parameter">errCol</replaceable>,
               const QString&amp; <replaceable class="parameter">errModPath</replaceable>,
               const QString&amp; <replaceable class="parameter">errModName</replaceable>);
</synopsis>
<para>Performs smoothing spline fit.</para>
<para>Parameters:</para>
<variablelist>
<varlistentry>
<term><replaceable class="parameter">iArr</replaceable>
</term>
<listitem><para>array item index.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">deg</replaceable>
</term>
<listitem><para>degree of spline.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">smf</replaceable>
</term>
<listitem><para>smoothing factor.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">xmin</replaceable>
</term>
<listitem><para>lower boundary of approximation interval.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">xmax</replaceable>
</term>
<listitem><para>upper boundary of approximation interval.
</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>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>
bool 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>
bool 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
sufficiently large on the page <link linkend="basic">Basic Settings</link> of
the <link linkend="settings">Configure</link> dialog, 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>
<qandaentry>
<question>
<para>Why does the dash pattern of subsequent curves not start at the same
point?</para>
</question>
<answer>
<para>This allows you to plot a curve consisting of several pieces (e.g. with
different function stepwidth) without "jumps" in the dash pattern. You can
reset the dash pattern position by placing legends (invisible by choosing
symbol -17 and empty text) before the corresponding items.</para>
</answer>
</qandaentry>
</qandaset>
</chapter>

<chapter id="credits">

<title>Credits and License</title>

<para>
&kpl;
</para>
<para>
Program copyright 2011 Werner Stille <email>stille@uni-freiburg.de</email>
</para>
<para>
Documentation Copyright &copy; 2011 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>
<listitem><para>Alan Mizrahi <email>alan@ldc.usb.ve</email> for the spanish
translation</para></listitem>
<listitem><para>Paul Dierckx <email>Paul.Dierckx@cs.kuleuven.ac.be</email> for
FITPACK, the FORTRAN program collection described in his book "Curve and
Surface Fitting with Splines", Oxford University Press, 1993 (C++ versions of
several FITPACK functions are used in &kpl;)</para></listitem>
</itemizedlist>
</para>

&underFDL;               <!-- FDL: do not remove -->
&underGPL;        	 <!-- GPL License -->
</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://omnibus.uni-freiburg.de/~stille/kpl/index.html">
http://omnibus.uni-freiburg.de/~stille/kpl/index.html</ulink>.</para>
</sect1>

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

<para>
In order to successfully use &kpl;, you need KDE. 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>
&install.compile.documentation;
</sect1>

</appendix>

&documentation.index;
</book>
