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

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

<authorgroup>
	<author>
		<firstname>Stefan</firstname>
		<surname>Gerlach</surname>
		<affiliation>
			<address><email>gerlach@mbi-berlin.de</email></address>
		</affiliation>
	</author>
</authorgroup>

<copyright>
	<year>2006</year>
	<holder>Stefan Gerlach</holder>
</copyright>

<legalnotice>&FDLNotice;</legalnotice>
<date>02/23/2006</date>
<releaseinfo>1.5.1</releaseinfo>

<abstract>
	<para>
		&LabPlot; is a program for two- and three-dimensional function plotting and
		data analysis.
	</para>
</abstract>

<keywordset>
	<keyword>KDE</keyword>
	<keyword>LabPlot</keyword>
	<keyword>plot</keyword>
</keywordset>

</bookinfo>


<chapter id="introduction">
<title>Introduction</title>
<screenshot><mediaobject><imageobject>
      <imagedata fileref="small_pics/labplot-small.png" format="PNG"/>
</imageobject></mediaobject></screenshot>
<para>
&LabPlot; is a program for two- and three-dimensional graphical presentation of data
sets and functions. &LabPlot; allows you to work with multiple plots which each can have multiple
graphs. The graphs can be produced from data or from functions.
</para>

<para>
All settings of a complete set of plots can be saved in a project files.
These project files may be opened by command
line parameters, using the <link linkend="file-menu">File menu</link>, or by drag and drop.
</para>

<para>
Every object (title, legend, axes, axes label) can be dragged with the mouse. A double click on an object opens
the corresponding dialog to change the options of the object.
</para>

<para>The settings of a plot/graph may also be changed using the Appearance menu. With the Edit menu
additional data sets and functions (graphs) can be included which can be
displayed in the same as well as in different plot.
</para>

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

<listitem>
<para>Version 1.5.1 (March 27, 2006)</para>
<itemizedlist>
 <listitem><para>new analysis functions : noise, signal filter, auto-/crosscorrelation and capability analysis</para></listitem>
 <listitem><para>"add graph" dialog in graph dialog</para></listitem>
 <listitem><para>improved set-value dialog in spreadsheet</para></listitem>
 <listitem><para>support for panel plots and improved surface and pie plot</para></listitem>
 <listitem><para>much improved explorer dialog with drag and drop</para></listitem>
 <listitem><para>save and restore sheets position/size in project</para></listitem>
 <listitem><para>statistics on columns/rows and fitting in spreadsheets</para></listitem>
 <listitem><para>new axes tic style and fill between curves</para></listitem>
 <listitem><para>support for richtext in legend</para></listitem>
 <listitem><para>save settings and update open dialogs</para></listitem>
 <listitem><para>optional xml project format (will be used later as standard format)</para></listitem>
 <listitem><para>lot of bug fixes</para></listitem>
</itemizedlist>
</listitem>

<listitem>
<para>Version 1.5.0 (August 15, 2005)</para>
<itemizedlist>
 <listitem><para>more weightings+residuals for regression/nonlinear fit</para></listitem>
 <listitem><para>added wavelet and Hankel transform and improved analysis functions</para></listitem>
 <listitem><para>improved surface and qwt 3d plot</para></listitem>
 <listitem><para>improved behaviour with non-linear scales and LaTeX label support</para></listitem>
 <listitem><para>import/export data from/to PostgreSQL, mySQL, etc. via KexiDB</para></listitem>
 <listitem><para>import Origin opj projects (Origin worksheets only)</para></listitem>
 <listitem><para>better scripting support</para></listitem>
 <listitem><para>many bug fixes</para></listitem>
</itemizedlist>
</listitem>

<listitem>
<para>Version 1.4.1 (March 28, 2005)</para>
<itemizedlist>
 <listitem><para>nonlinear fit any user-defined function with up to 9 parameter</para></listitem>
 <listitem><para>configure default value for plot style and symbols</para></listitem>
 <listitem><para>clone graphs and delete/clone plots</para></listitem>
 <listitem><para>improved import/export settings with support for binary data</para></listitem>
 <listitem><para>more analysis functions : compress, peak find, periodical, seasonal</para></listitem>
 <listitem><para>regression/nonlinear fit of data with errorbars</para></listitem>
 <listitem><para>speed mode for large data sets and data mode for inspecting data points</para></listitem>
 <listitem><para>zoomin/zoomout, marker and improved axis grid</para></listitem>
 <listitem><para>mask data points in spreadsheet and plot</para></listitem>
</itemizedlist>
</listitem>

<listitem>
<para>Version 1.4.0 (December 15, 2004)</para>
<itemizedlist>
 <listitem><para>versatile spreadsheet with data import, editing, etc.</para></listitem>
 <listitem><para>new 3d plot with rotation and colormaps (using qwtplot3d library)</para></listitem>
 <listitem><para>double buffered plotting (no flicker)</para></listitem>
 <listitem><para>data set operations</para></listitem>
 <listitem><para>import/export of over 80 image formats (svg, fits,...) and better image handling</para></listitem>
 <listitem><para>direct export to ps, eps, pdf via ghostscript</para></listitem>
 <listitem><para>simple scripting using QSA</para></listitem>
</itemizedlist>
</listitem>

<listitem>
<para>Version 1.3.1 (August 30, 2004)</para>
<itemizedlist>
 <listitem><para>native export to svg, eps and more graphic formats</para></listitem>
 <listitem><para>support for ternary and polar plots</para></listitem>
 <listitem><para>added (de)convolution and interpolation</para></listitem>
 <listitem><para>better zooming, errorbar plotting and annotate values</para></listitem>
 <listitem><para>more plot symbols and brush</para></listitem>
 <listitem><para>reading and writing of netcdf, cdf and audio (wav,au,snd,aiff,...) files</para></listitem>
 <listitem><para>improved graph list dialog</para></listitem>
 <listitem><para>new file info dialog</para></listitem>
</itemizedlist>
</listitem>

<listitem>
<para>Version 1.3.0 (June 14, 2004)</para>
<itemizedlist>
 <listitem><para>multiple plots per worksheet</para></listitem>
 <listitem><para>handling of time and date format</para></listitem>
 <listitem><para>improved axes settings</para></listitem>
 <listitem><para>improved surface (density, contour) plots</para></listitem>
 <listitem><para>improved nonlinear fit</para></listitem>
 <listitem><para>support for pie plots</para></listitem>
 <listitem><para>improved documentation</para></listitem>
 <listitem><para>German handbook</para></listitem>
</itemizedlist>
</listitem>

<listitem>
<para>Version 1.2.3 (February 16, 2004)</para>
<itemizedlist>
 <listitem><para>linear regression and nonlinear fit</para></listitem>
 <listitem><para>improved fourier transform using gsl or fftw</para></listitem>
 <listitem><para>integration, differences and histograms</para></listitem>
 <listitem><para>creating, editing and moving drawing objects with mouse</para></listitem>
 <listitem><para>reading/writing of compressed data (gzip,bzip2)</para></listitem>
 <listitem><para>&kde; KPart for LabPlot project files</para></listitem>
 <listitem><para>more bugfixes and improved German translation</para></listitem>
</itemizedlist>
</listitem>

<listitem>
<para>Version 1.2.2 (December 17, 2003)</para>
<itemizedlist>
 <listitem><para>logarithmic scales of axes</para></listitem>
 <listitem><para>support of drawing objects</para></listitem>
 <listitem><para>support for gsl special functions and  distributions</para></listitem>
 <listitem><para>fourier transform via gsl</para></listitem>
 <listitem><para>export to pdf, fig, dxf, etc. via pstoedit</para></listitem>
 <listitem><para>export to &gt; 100 different image formats via ImageMagick</para></listitem>
 <listitem><para>more bugfixes</para></listitem>
</itemizedlist>
</listitem>

<listitem>
<para>Version 1.2.1 (October 26, 2003)</para>
<itemizedlist>
 <listitem><para>much improved GUI</para></listitem>
 <listitem><para>better &kde; integration</para></listitem>
 <listitem><para>richtext title and axes label</para></listitem>
 <listitem><para>improved 3d plotting</para></listitem>
 <listitem><para>new analysis functions</para></listitem>
 <listitem><para>better data reading</para></listitem>
 <listitem><para>configure and save user settings</para></listitem>
 <listitem><para>examples</para></listitem>
</itemizedlist>
</listitem>


<listitem>
<para>Version 1.2.0 (September 08, 2003)</para>
<itemizedlist>
 <listitem><para>new improved internal plot structure</para></listitem>
 <listitem><para>parser support for functions with more parameters</para></listitem>
 <listitem><para>new surface plot with contour support and legend</para></listitem>
 <listitem><para>support for JPEG2000 and tiff</para></listitem>
 <listitem><para>user guide (this handbook)</para></listitem>
 <listitem><para>more bugfixes</para></listitem>
</itemizedlist>
</listitem>

<listitem>
<para>Version 1.1.1 (July 26, 2003)</para>
<itemizedlist>
 <listitem><para>matrix-data-reading</para></listitem>
 <listitem><para>density plots from function and data</para></listitem>
 <listitem><para>parser completely rewritten</para></listitem>
 <listitem><para>colored and scaled printing</para></listitem>
 <listitem><para>export plot as graphics</para></listitem>
 <listitem><para>more flexible data reading</para></listitem>
 <listitem><para>improved axis tics label (format and position)</para></listitem>
 <listitem><para>more bugfixes</para></listitem>
</itemizedlist>
</listitem>

<listitem>
<para>Version 1.1 (June 22, 2003)</para>
<itemizedlist>
 <listitem><para>more object attributes (title color, grid color, etc.)</para></listitem>
 <listitem><para>support 2d errorbars</para></listitem>
 <listitem><para>drag and drop of the title, the axes with correct rescaling</para></listitem>
 <listitem><para>improved save and open of all plots in a project file</para></listitem>
 <listitem><para>lots of bug fixes</para></listitem>
</itemizedlist>
</listitem>


<listitem>
<para>Version 1.0.3 (May 11, 2003)</para>
<itemizedlist>
 <listitem><para>Plot list in menubar</para></listitem>
 <listitem><para>improved workspace management</para></listitem>
 <listitem><para>drag and drop of the legend</para></listitem>
 <listitem><para>EditDialog for editing data</para></listitem>
</itemizedlist>
</listitem>

<listitem>
<para>Version 1.0.2 (April 4, 2003)</para>
<itemizedlist>
  <listitem><para>shift plot with toolbuttons</para></listitem>
  <listitem><para>scaling of plot with toolbuttons</para></listitem>
  <listitem><para>opening Dialogs via mouse click</para></listitem>
  <listitem><para>improved print preview</para></listitem>
</itemizedlist>
</listitem>

<listitem>
<para>Version 1.0.1 (March 18, 2003)</para>
<itemizedlist>
 <listitem><para>Print Preview implemented</para></listitem>
 <listitem><para>introduced graph label different from name</para></listitem>
</itemizedlist>
</listitem>

<listitem>
<para>Version 1.0 (March 3, 2003; renamed to LabPlot)</para>
<itemizedlist>
 <listitem><para>support for &kde; 3.0 and &kde; 2.x</para></listitem>
 <listitem><para>automake and autoconf scripts (./configure)</para></listitem>
</itemizedlist>
</listitem>

<listitem>
<para>Version 0.9.x (February 26, 2003)</para>
<itemizedlist>
  <listitem><para>improved DataDialog</para></listitem>
 <listitem><para>save and open of an Plot</para></listitem>
 <listitem><para>started with i18n (de)</para></listitem>
 <listitem><para>started with migration from &Qt; to &kde;</para></listitem>
 <listitem><para>improved ListDialog</para></listitem>
 <listitem><para>changing of data and function graphs in ListDialog</para></listitem>
 <listitem><para>support for grid in 2d and 3d plots</para></listitem>
</itemizedlist>
</listitem>

<listitem>
<para>Version 0.4.0 (October 7, 2002)</para>
<itemizedlist>
 <listitem><para>support for 3D Plots</para></listitem>
 <listitem><para>using GraphList for storing all graph of a plot</para></listitem>
 <listitem><para>better scaling of the whole plot</para></listitem>
 <listitem><para>new class GraphM for matrix-data support</para></listitem>
 </itemizedlist>
</listitem>

<listitem>
<para>Version 0.2.1 (June 30, 2001)</para>
<itemizedlist>
 <listitem><para>Legend in Plot</para></listitem>
 <listitem><para>ListDialog for all graphs in a Plot</para></listitem>
</itemizedlist>
</listitem>

<listitem>
<para>Version 0.2 (June 16, 2001)</para>
<itemizedlist>
 <listitem><para>first PlotWidget with single graph</para></listitem>
 <listitem><para>creating data via FunctionDialog</para></listitem>
</itemizedlist>
</listitem>

<listitem>
<para>Version 0.1 (May 20, 2001; first release under the name QPlot)</para>
</listitem>

</itemizedlist>
</para>
</sect1>
</chapter>
<chapter id="features">
<title>Features</title>
<para>
This chapter tries to provide a complete list of the features of LabPlot.
</para>

<para>2D and 3D data and function plotting</para>
<itemizedlist>
 <listitem><para>flexible data reading/writing in different formats (including cdf, netcdf, audio, binary, images, databases)
 </para></listitem>
 <listitem><para>reading and writing of images and compressed data</para></listitem>
<listitem><para>extensive parser for creating 2d, 3d functions</para></listitem>
<listitem><para>support for all GNU Scientific Library (GSL) functions and constants</para></listitem>
<listitem><para>creating surface, polar, ternary, and pie plots from function and data files</para></listitem>
<listitem><para>flexible 3d plot with rotation</para></listitem>
<listitem><para>multiple plots per worksheet</para></listitem>
<listitem><para>data set operations</para></listitem>
<listitem><para>speed mode for large data sets and data mode for inspecting data points</para></listitem>
</itemizedlist>

<para>Easy editing of plots</para>
<itemizedlist>
<listitem><para>clone graphs and delete/clone plots</para></listitem>
<listitem><para>versatile spreadsheet for data manipulation</para></listitem>
<listitem><para>double click to open detailed dialogs for all settings</para></listitem>
<listitem><para>every object can be dragged by mouse</para></listitem>
<listitem><para>online scaling and shifting of plots</para></listitem>
<listitem><para>LaTeX and richtext label support</para></listitem>
<listitem><para>evaluating expressions and direct editing of data</para></listitem>
<listitem><para>data statistics information</para></listitem>
<listitem><para>drawing objects editable with mouse</para></listitem>
<listitem><para>free or pan zooming, masking of data points and marker</para></listitem>
<listitem><para>"add graph" dialog in graph dialog</para></listitem>
<listitem><para>support for panel plots</para></listitem>
</itemizedlist>

<para>Analysis of data and functions</para>
<itemizedlist>
<listitem><para>average, smooth and prune data</para></listitem>
<listitem><para>compress, periodical and seasonal analysis</para></listitem>
<listitem><para>peak find</para></listitem>
<listitem><para>interpolation (splines, etc.)</para></listitem>
<listitem><para>differences</para></listitem>
<listitem><para>integration</para></listitem>
<listitem><para>histogram</para></listitem>
<listitem><para>regression (up to 10th order)</para></listitem>
<listitem><para>non-linear fit (also any user defined function with up to 9 parameter)</para></listitem>
<listitem><para>fourier, Hankel and wavelet transform</para></listitem>
<listitem><para>(de)convolution</para></listitem>
<listitem><para>image manipulation</para></listitem>
<listitem><para>noise, signal filter and auto-/crosscorrelation</para></listitem>
<listitem><para>capability analysis</para></listitem>
</itemizedlist>

 <para>LabPlot project files</para>
<itemizedlist>
<listitem><para>support for different worksheets and spreadsheets using MDI</para></listitem>
<listitem><para>save and open all worksheets and spreadsheets in a project file (*.lpl)</para></listitem>
<listitem><para>editable project information</para></listitem>
<listitem><para>export worksheets as image, ps, eps, svg, pdf and many more formats (using pstoedit or ImageMagick)</para></listitem>
<listitem><para>import/export data from/to PostgreSQL, mySQL, etc. via KexiDB</para></listitem>
<listitem><para>many example projects files</para></listitem>
<listitem><para>optional xml project format (will be used later as standard format)</para></listitem>
<listitem><para>import of Origin opj projects</para></listitem>
</itemizedlist>

<para>&kde; look and feel</para>
<itemizedlist>
<listitem><para>configure default value for plot style and symbols</para></listitem>
<listitem><para>print and embedded print preview</para></listitem>
<listitem><para>drag and drop support</para></listitem>
<listitem><para>KPart for LabPlot projects</para></listitem>
<listitem><para>&kde; handbook (English and German)</para></listitem>
<listitem><para>complete scriptable using &Qt; Script for Applications (QSA)</para></listitem>

</itemizedlist>

</chapter>


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

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

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

<para>
When starting &LabPlot; from the command prompt, you can supply the name of a project file:
<cmdsynopsis>
<command>LabPlot</command>
<arg rep="repeat"><replaceable>file.lpl</replaceable></arg>
</cmdsynopsis>
</para>

</sect2>

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

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

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

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

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


<varlistentry>
<term><command>LabPlot <option>--no-splash</option></command></term>
<listitem><para>do not show the splash screen</para></listitem>
</varlistentry>

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

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

</variablelist>

</sect2>

</sect1>

<sect1 id="spreadsheet">
<title>The Spreadsheet</title>
<screenshot><mediaobject><imageobject>
      <imagedata fileref="small_pics/spreadsheet-small.png" format="PNG"/>
</imageobject></mediaobject></screenshot>
<para>
The spreadsheet is the main part of LabPlot when working with data.
For controlling and converting data the spreadsheet contains a customizable table.
Every column of the table has a certain label and can be assigned a format (like double or datetime format).
</para>
<para>
You can import via the <link linkend="importdialog">import dialog</link>.
Any spreadsheet function can be reached via the context menu (right click).
You can cut, copy and paste between spreadsheets, fill, normalize and convert data and finally make plots out of your data.
Of course you can export the data in the spreadsheet here too.
</para>
<para>Since version 1.4.1 you can mask certain data points in the spreadsheet which are excluded from plotting. The masking of datapoints can be later influenced in the graph list dialog.</para>
</sect1>

<sect1 id="worksheet">
<title>The Worksheet</title>
<screenshot><mediaobject><imageobject>
      <imagedata fileref="small_pics/worksheet-small.png" format="PNG"/>
</imageobject></mediaobject></screenshot>
<para>
The worksheet contains all the plots and drawing objects. You can customize the worksheet in the worksheet dialog.
</para>
<para>
The worksheet can contains multiple plots with different characteristics. To arrange or overlay plots in a worksheet use the 
"arrange plots" or "overlay plots" menu items.
</para>
</sect1>

<sect1 id="drag-and-drop">
<title>Drag and Drop</title>
<para>
&LabPlot; supports the Drag and Drop protocol of &kde; and &Qt;. This means that
you can open a project by dragging their symbols onto
the &LabPlot; window. Project files should have the extension
<literal role="extension">.lpl</literal>.</para>
</sect1>

<sect1 id="positioning">
<title>Positioning with the Mouse</title>
<para>
&LabPlot;supports dragging of the axes, title, legend
and axes label 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, the plot is continously updated
to display the new position. After releasing of the mouse
button the item is dropped there.</para>
</sect1>

<sect1 id="statusbar">
<title>Status Bar</title>
<para>
The horizontal and vertical positions of the mouse pointer in the plot area are displayed
in data units on the left side of the status bar at the bottom of the LabPlot window.
</para>
</sect1>

<sect1 id="using-sidetoolbar">
<title>Side Tool Bar</title>
<para>
From the side tool bar many functions can be reached easy. You can select to zoom, move or scale a plot here.
Also some more enhanced functions like data mode (to inspect single data points) or masking of data points can be selected here too.
For more information take a look <link linkend="sidetoolbar">here</link>.
</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>&Ctrl;<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 &LabPlot; project file.</action></para>
<para> In a project file all settings and all plots are stored in ASCII
format.</para></listitem>
</varlistentry>

<varlistentry>
<term><menuchoice><shortcut>
<keycombo>&Ctrl;<keycap>o</keycap></keycombo></shortcut>
<guimenu><accel>F</accel>ile</guimenu><guimenuitem><accel>O</accel>pen</guimenuitem>
</menuchoice></term>
<listitem><para><action>Opens a &LabPlot; project file.</action></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 recent &LabPlot; project file.</action></para>
<para> Here the last used 10 project files are listed.</para></listitem>
</varlistentry>

<varlistentry>
<term><menuchoice><shortcut>
<keycombo>&Ctrl;<keycap>s</keycap></keycombo></shortcut>
<guimenu><accel>F</accel>ile</guimenu><guimenuitem><accel>S</accel>ave</guimenuitem>
</menuchoice></term>
<listitem><para><action>Saves the actual project.</action></para>
<para>If you haven't saved the project before the project is saved under a temporary project file name.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><menuchoice><shortcut>
<keycombo>&Ctrl;<keycap>a</keycap></keycombo></shortcut>
<guimenu><accel>F</accel>ile</guimenu><guimenuitem>S<accel>a</accel>ve As</guimenuitem>
</menuchoice></term>
<listitem><para><action>
Saves the actual project under a different name.
</action></para></listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<guimenu><accel>F</accel>ile</guimenu><guimenuitem>Open<accel>X</accel>ML</guimenuitem>
</menuchoice></term>
<listitem><para><action>
Open project from a LabPlot XML file.
</action></para></listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<guimenu><accel>F</accel>ile</guimenu><guimenuitem>Save<accel>X</accel>ML</guimenuitem>
</menuchoice></term>
<listitem><para><action>
Save project to a LabPlot XML file.
</action></para></listitem>
</varlistentry>

<varlistentry>
<term><menuchoice><shortcut>
<keycombo>&Alt;<keycap>v</keycap></keycombo></shortcut>
<guimenu><accel>F</accel>ile</guimenu><guimenuitem><accel>P</accel>roject Infos</guimenuitem>
</menuchoice></term>
<listitem><para><action>
This dialog gives you the possibility to watch and change some project related options like title, author, creation date, etc.
This information is saved in the project file and can be used to save some additional information about a project.
</action></para></listitem>
</varlistentry>

<varlistentry>
<term><menuchoice><shortcut>
<keycombo>&Ctrl;<keycap>&gt;</keycap></keycombo></shortcut>
<guimenu><accel>F</accel>ile</guimenu><guimenuitem><accel>P</accel>roject Explorer</guimenuitem>
</menuchoice></term>
<listitem><para><action>
This dialog gives you an overview of the structure of a project. In future releases there may be some additional functionality here like
adding deleting graphs, plots or worksheets.
</action></para></listitem>
</varlistentry>

<varlistentry>
<term><menuchoice><shortcut>
<keycombo>&Ctrl;&Shift;<keycap>l</keycap></keycombo></shortcut>
<guimenu><accel>F</accel>ile</guimenu><guimenuitem><accel>I</accel>mport</guimenuitem>
</menuchoice></term>
<listitem>
<para><action>Import data into the active spreadsheet</action></para>
<para>
This item can be used to import data into LabPlot. Please read more in the <link linkend="importdialog">import dialog</link>
section.
</para>
</listitem>
</varlistentry>

<varlistentry>
<term><menuchoice><shortcut>
<keycombo>&Ctrl;&Shift;<keycap>j</keycap></keycombo></shortcut>
<guimenu><accel>F</accel>ile</guimenu><guimenuitem>Import <accel>O</accel>PJ project</guimenuitem>
</menuchoice></term>
<listitem>
<para><action>Import OPJ project</action></para>
<para>This item can be used to import Origin OPJ projects into LabPlot.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><menuchoice><shortcut>
<keycombo>&Ctrl;<keycap>r</keycap></keycombo></shortcut>
<guimenu><accel>F</accel>ile</guimenu><guimenuitem>E<accel>x</accel>port to Image</guimenuitem>
</menuchoice></term>
<listitem>
<para><action>Saves the active plot as a graphic.</action></para>
<para>
Here you have the possibility to save the active plot under different image formats.
Currently supported are : bmp, jpg, jpg2000, pbm, pgm, png, ppm, tiff, xbm and xpm.
</para>
</listitem>
</varlistentry>

<varlistentry>
<term><menuchoice><shortcut>
<keycombo>&Ctrl;<keycap>o</keycap></keycombo></shortcut>
<guimenu><accel>F</accel>ile</guimenu><guimenuitem><accel>E</accel>xport to ...</guimenuitem>
</menuchoice></term>
<listitem><para><action>Saves the active plot as special format.</action></para>
<para>Currently supported are : Postscript (PS), Encapsulated Postscript (EPS), Portable Document Format (PDF), Scalable Vector Graphics (SVG) and the native QPicture Format (PIC).</para></listitem>
</varlistentry>

<varlistentry>
<term><menuchoice><shortcut>
<keycombo>&Alt;<keycap>e</keycap></keycombo></shortcut>
<guimenu><accel>F</accel>ile</guimenu><guimenuitem>Ex<accel>port</accel> via pstoedit</guimenuitem>
</menuchoice></term>
<listitem><para><action>Export the active plot to different formats.</action></para>
<para>
Here you have the possibility to export the active plot to different file formats via pstoedit.
Supported are : dxf, fig, eps, and many more.
</para>
</listitem>
</varlistentry>

<varlistentry>
<term><menuchoice><shortcut>
<keycombo>&Alt;<keycap>i</keycap></keycombo></shortcut>
<guimenu><accel>F</accel>ile</guimenu><guimenuitem>Ex<accel>port</accel> via ImageMagick</guimenuitem>
</menuchoice></term>
<listitem><para><action>Export the active plot to different image formats.</action></para>
<para>
Here you have the possibility to export the active plot to different image formats via ImageFormats.
Supported are over than 100 different formats! Please see the documentation of ImageMagick for more informations.
</para>
</listitem>
</varlistentry>

<varlistentry>
<term><menuchoice><shortcut>
<keycombo>&Ctrl;<keycap>p</keycap></keycombo></shortcut>
<guimenu><accel>F</accel>ile</guimenu><guimenuitem><accel>P</accel>rint</guimenuitem>
</menuchoice></term>
<listitem><para><action>Prints the active plot.</action></para>
<para>
Here a print dialog is opened where you can select the printer, different paper sizes, etc.
</para>
</listitem>
</varlistentry>

<varlistentry>
<term><menuchoice><shortcut>
<keycombo>&Alt;<keycap>p</keycap></keycombo></shortcut>
<guimenu><accel>F</accel>ile</guimenu><guimenuitem>Print Previe<accel>w</accel></guimenuitem>
</menuchoice></term>
<listitem><para><action>Open a print preview.</action></para>
<para>
This item opens an embedded print preview of the active plot in A5 landscape.
If the print preview is active you can close it with this item.
</para>
</listitem>
</varlistentry>

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

</variablelist></para>
</sect1>

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

<para><variablelist>

<varlistentry>
<term><menuchoice><shortcut>
<keycombo>&Ctrl;<keycap>Shift</keycap><keycap>n</keycap></keycombo></shortcut>
<guimenu><accel>E</accel>dit</guimenu><guimenuitem><accel>N</accel>ew 2D Plot</guimenuitem>
</menuchoice></term>
<listitem><para><action>This is used to open a new empty 2D Plot in the current worksheet.</action>
</para></listitem>
</varlistentry>

<varlistentry>
<term><menuchoice><shortcut>
<keycombo>&Alt;<keycap>z</keycap></keycombo></shortcut>
<guimenu><accel>E</accel>dit</guimenu><guimenuitem>New <accel>S</accel>urface Plot</guimenuitem>
</menuchoice></term>
<listitem><para><action>This is used to open a new empty surface plot in the active worksheet.</action>
</para></listitem>
</varlistentry>

<varlistentry>
<term><menuchoice><shortcut>
<keycombo>&Ctrl;<keycap>m</keycap></keycombo></shortcut>
<guimenu><accel>E</accel>dit</guimenu><guimenuitem>N<accel>e</accel>w 3D Plot</guimenuitem>
</menuchoice></term>
<listitem><para><action>This is used to open a new empty 3D Plot in the active worksheet.</action>
</para></listitem>
</varlistentry>

<varlistentry>
<term><menuchoice><shortcut>
<keycombo>&Ctrl;<keycap>Shift</keycap><keycap>q</keycap></keycombo></shortcut>
<guimenu><accel>E</accel>dit</guimenu><guimenuitem>New <accel>Q</accel>WT 3D Plot</guimenuitem>
</menuchoice></term>
<listitem><para><action>This is used to open a new empty QWT 3D Plot in the active worksheet.</action>
</para></listitem>
</varlistentry>

<varlistentry>
<term><menuchoice><shortcut>
<keycombo>&Alt;<keycap>.</keycap></keycombo></shortcut>
<guimenu><accel>E</accel>dit</guimenu><guimenuitem>Ne<accel>w</accel> Pie Plot</guimenuitem>
</menuchoice></term>
<listitem><para><action>This is used to open a new empty Pie Plot in the active worksheet.</action>
</para></listitem>
</varlistentry>

<varlistentry>
<term><menuchoice><shortcut>
<keycombo>&Ctrl;<keycap>Shift</keycap><keycap>o</keycap></keycombo></shortcut>
<guimenu><accel>E</accel>dit</guimenu><guimenuitem>Ne<accel>w</accel> Polar Plot</guimenuitem>
</menuchoice></term>
<listitem><para><action>This is used to open a new empty Polar Plot in the active worksheet.</action>
</para></listitem>
</varlistentry>

<varlistentry>
<term><menuchoice><shortcut>
<keycombo>&Ctrl;<keycap>Shift</keycap><keycap>t</keycap></keycombo></shortcut>
<guimenu><accel>E</accel>dit</guimenu><guimenuitem>Ne<accel>w</accel> Ternary Plot</guimenuitem>
</menuchoice></term>
<listitem><para><action>This is used to open a new empty Ternary Plot in the active worksheet.</action>
</para></listitem>
</varlistentry>

<varlistentry>
<term><menuchoice><shortcut>
<keycombo>&Alt;<keycap>q</keycap></keycombo></shortcut>
<guimenu><accel>E</accel>dit</guimenu><guimenuitem>Delete <accel>A</accel>ctive Plot</guimenuitem>
</menuchoice></term>
<listitem><para><action>This is used to delete the active plot in the current worksheet.</action>
</para></listitem>
</varlistentry>

<varlistentry>
<term><menuchoice><shortcut>
<keycombo>&Alt;<keycap>&gt;</keycap></keycombo></shortcut>
<guimenu><accel>E</accel>dit</guimenu><guimenuitem>Clone <accel>A</accel>ctive Sheet</guimenuitem>
</menuchoice></term>
<listitem><para><action>This item can be used to clone the active spreadsheet / worksheet.</action>
</para></listitem>
</varlistentry>

<varlistentry>
<term><menuchoice><shortcut>
<keycombo>&Ctrl;<keycap>Shift</keycap><keycap>S</keycap></keycombo></shortcut>
<guimenu><accel>E</accel>dit</guimenu><guimenuitem>New <accel>S</accel>preadsheet</guimenuitem>
</menuchoice></term>
<listitem><para><action>This is used to open a new spreadsheet.</action>
</para></listitem>
</varlistentry>

<varlistentry>
<term><menuchoice><shortcut>
<keycombo>&Alt;<keycap>x</keycap></keycombo></shortcut>
<guimenu><accel>E</accel>dit</guimenu><guimenuitem>New <accel>W</accel>orksheet</guimenuitem>
</menuchoice></term>
<listitem><para><action>This is used to open a new worksheet.</action>
</para></listitem>
</varlistentry>

<varlistentry>
<term><menuchoice><shortcut>
<keycombo>&Ctrl;<keycap>g</keycap></keycombo></shortcut>
<guimenu><accel>P</accel>lot</guimenu><guimenuitem><accel>G</accel>raph List</guimenuitem>
</menuchoice></term>
<listitem><para>
<action>Opens the graph list dialog.</action></para>
<para>
In the list dialog you can manipulate the graphs of the active plot. This dialog can also be reached by double clicking on a plot.
</para>
</listitem>
</varlistentry>

<varlistentry>
<term><menuchoice><shortcut>
<keycombo>&Ctrl;&Shift;<keycap>.</keycap></keycombo></shortcut>
<guimenu><accel>P</accel>lot</guimenu><guimenuitem><accel>P</accel>lot List</guimenuitem>
</menuchoice></term>
<listitem>
<para><action>Opens the plot list dialog.</action></para>
<para>In the plot list dialog you can manipulate the plots of the active worksheet.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<guimenu><accel>P</accel>lot</guimenu><guimenuitem><accel>N</accel>ew Plot from Function</guimenuitem>
</menuchoice></term>
<listitem><para>
<action>Opens the function dialog.</action></para>
<para>This item opens the function dialog to create a plot from a user defined function.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><menuchoice><shortcut>
<keycombo>&Ctrl;<keycap>e</keycap></keycombo></shortcut>
<guimenu><accel>P</accel>lot</guimenu>
<guimenuitem><accel>N</accel>ew Plot from Function</guimenuitem>
<guimenuitem>2D<accel>F</accel>unction</guimenuitem>
</menuchoice></term>
<listitem><para>
<action>Opens the 2d function dialog.</action></para>
<para>This item opens the function dialog to create a 2 dimensional graph from a user defined function.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><menuchoice><shortcut>
<keycombo>&Ctrl;<keycap>u</keycap></keycombo></shortcut>
<guimenu><accel>P</accel>lot</guimenu>
<guimenuitem><accel>N</accel>ew Plot from Function</guimenuitem>
<guimenuitem>2D <accel>S</accel>urface Function</guimenuitem>
</menuchoice></term>
<listitem><para>
<action>Opens the 2d surface function dialog.</action></para>
<para>This item opens the function dialog to create a 2 dimensional surface graph from a user defined function.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><menuchoice><shortcut>
<keycombo>&Alt;<keycap>&lt;</keycap></keycombo></shortcut>
<guimenu><accel>P</accel>lot</guimenu>
<guimenuitem><accel>N</accel>ew Plot from Function</guimenuitem>
<guimenuitem><accel>P</accel>olar Function</guimenuitem>
</menuchoice></term>
<listitem><para>
<action>Opens the polar function dialog.</action></para>
<para>This item opens the function dialog to create a 2 dimensional polar graph from a function.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><menuchoice><shortcut>
<keycombo>&Ctrl;<keycap>f</keycap></keycombo></shortcut>
<guimenu><accel>P</accel>lot</guimenu>
<guimenuitem><accel>N</accel>ew Plot from Function</guimenuitem>
<guimenuitem>3D F<accel>u</accel>nction</guimenuitem>
</menuchoice></term>
<listitem><para>
<action>Opens the 3d function dialog.</action></para>
<para>This item opens the function dialog to create a 3 dimensional graph from a user defined function.</para>
</listitem>
</varlistentry>


<varlistentry>
<term><menuchoice>
<guimenu><accel>P</accel>lot</guimenu><guimenuitem><accel>N</accel>ew Plot from Data</guimenuitem>
</menuchoice></term>
<listitem><para>
<action>Opens the data dialog.</action></para>
<para>This item opens the data dialog to create a plot from data.</para>
</listitem>
</varlistentry>


<varlistentry>
<term><menuchoice><shortcut>
<keycombo>&Ctrl;<keycap>d</keycap></keycombo></shortcut>
<guimenu><accel>P</accel>lot</guimenu>
<guimenuitem><accel>N</accel>ew Plot from Data</guimenuitem>
<guimenuitem>2D D<accel>a</accel>ta</guimenuitem>
</menuchoice></term>
<listitem><para>
<action>Opens the 2d data dialog.</action></para>
<para>
This item opens the data dialog to create a 2 dimensional graph from a data file. You can specify a lot of options for reading data
so you should be able to read any type of ASCII data here.
</para></listitem>
</varlistentry>

<varlistentry>
<term><menuchoice><shortcut>
<keycombo>&Alt;<keycap>-</keycap></keycombo></shortcut>
<guimenu><accel>P</accel>lot</guimenu>
<guimenuitem><accel>N</accel>ew Plot from Data</guimenuitem>
<guimenuitem>2D <accel>S</accel>urface Data</guimenuitem>
</menuchoice></term>
<listitem><para>
<action>Opens the 2d surface data dialog.</action></para>
<para>This item opens the data dialog to create a 2 dimensional surface graph from a data file.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><menuchoice><shortcut>
<keycombo>&Alt;<keycap>,</keycap></keycombo></shortcut>
<guimenu><accel>P</accel>lot</guimenu>
<guimenuitem><accel>N</accel>ew Plot from Data</guimenuitem>
<guimenuitem><accel>P</accel>ie Data</guimenuitem>
</menuchoice></term>
<listitem><para>
<action>Opens the pie data dialog.</action></para>
<para>This item opens the data dialog to create a 2 dimensional pie graph from a data file.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><menuchoice><shortcut>
<keycombo>&Ctrl;<keycap>,</keycap></keycombo></shortcut>
<guimenu><accel>P</accel>lot</guimenu>
<guimenuitem><accel>N</accel>ew Plot from Data</guimenuitem>
<guimenuitem><accel>P</accel>olar Data</guimenuitem>
</menuchoice></term>
<listitem><para>
<action>Opens the polar data dialog.</action></para>
<para>This item opens the data dialog to create a 2 dimensional polar graph from a data file.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><menuchoice><shortcut>
<keycombo>&Ctrl;<keycap>Shift</keycap><keycap>Y</keycap></keycombo></shortcut>
<guimenu><accel>P</accel>lot</guimenu>
<guimenuitem><accel>N</accel>ew Plot from Data</guimenuitem>
<guimenuitem><accel>T</accel>ernary Data</guimenuitem>
</menuchoice></term>
<listitem><para>
<action>Opens the ternary data dialog.</action></para>
<para>This item opens the data dialog to create a 2 dimensional ternary graph from a data file.
</para></listitem>
</varlistentry>

<varlistentry>
<term><menuchoice><shortcut>
<keycombo>&Ctrl;<keycap>i</keycap></keycombo></shortcut>
<guimenu><accel>E</accel>dit</guimenu>
<guimenuitem><accel>N</accel>ew Plot from Data</guimenuitem>
<guimenuitem>3D Da<accel>t</accel>a</guimenuitem>
</menuchoice></term>
<listitem><para>
<action>Opens the 3d data dialog.</action></para>
<para>
This item opens the data dialog to create a 3 dimensional graph from a data file. You can specify a lot of options for reading data
so you should be able to read any type of ASCII data here.
</para></listitem>
</varlistentry>

<varlistentry>
<term><menuchoice><shortcut>
<keycombo>&Ctrl;<keycap>Shift</keycap><keycap>B</keycap></keycombo></shortcut>
<guimenu><accel>P</accel>lot</guimenu>
<guimenuitem><accel>N</accel>ew Plot from Data</guimenuitem>
<guimenuitem><accel>Q</accel>WT 3D Data</guimenuitem>
</menuchoice></term>
<listitem><para>
<action>Opens the QWT 3D data dialog.</action></para>
<para>This item opens the data dialog to create a 3 dimensional qwt plot from a data file.
</para></listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<guimenu><accel>P</accel>lot</guimenu>
<guimenuitem><accel>S</accel>peed Mode</guimenuitem>
</menuchoice></term>
<listitem><para>
<action>Toggles the speed mode setting</action></para>
<para>
This item can be used to switch the speed mode on or off. The speed mode can be used to accelerate the drawing for large datasets
by drawing only a limited number of data points. The number of datapoints can be selected in the 
<link linkend="settings-menu">settings dialog</link>.
</para></listitem>
</varlistentry>

<varlistentry>
<term><menuchoice><shortcut>
<keycombo>&Ctrl;<keycap>c</keycap></keycombo></shortcut>
<guimenu><accel>E</accel>dit</guimenu><guimenuitem><accel>C</accel>lear</guimenuitem>
</menuchoice></term>
<listitem><para><action>Clear the active plot.</action>
With this item all graphs in the active plot are deleted and you get an empty plot like from "New 2D/3D/Surface/Pie Plot".
</para><para>
If the active sheet is a spreadsheet it is cleared too.
</para></listitem>
</varlistentry>

<varlistentry>
<term><menuchoice><shortcut>
<keycombo>&Ctrl;<keycap>w</keycap></keycombo></shortcut>
<guimenu><accel>E</accel>dit</guimenu><guimenuitem>C<accel>l</accel>ose</guimenuitem>
</menuchoice></term>
<listitem><para><action>Closes the active sheet.</action>
With this item you can also close the print preview.
</para></listitem>
</varlistentry>

</variablelist></para>
</sect1>


<sect1 id="view-menu">
<title>The View Menu</title>
<para>
This menu contains all the items that can also be found in the side tool bar.
</para>
</sect1>

<sect1 id="spreadsheet-menu">
<title>The Spreadsheet Menu</title>
<para>
This menu contains all the items that can also be found in the context menu (right mouse) of a spreadsheet. 
If no spreadsheet is active, you can add a new spreadsheet.
</para>
</sect1>

<sect1 id="analysis-menu">
<title>The Analysis Menu</title>

<para>
Please also check out the detailed informations about the <link linkend="analysis-table">analysis functions</link>.
</para>

<variablelist>

<varlistentry>
<term><menuchoice><shortcut>
<keycombo>&Ctrl;<keycap>#</keycap></keycombo></shortcut>
<guimenu><accel>A</accel>nalysis</guimenu><guimenuitem><accel>E</accel>valuate Equation</guimenuitem>
</menuchoice></term>
<listitem><para><action>Lets you evaluate any equation</action>
</para></listitem>
</varlistentry>

<varlistentry>
<term><menuchoice><shortcut>
<keycombo>&Ctrl;<keycap>Shift</keycap><keycap>d</keycap></keycombo></shortcut>
<guimenu><accel>A</accel>nalysis</guimenu><guimenuitem><accel>D</accel>ata set operations</guimenuitem>
</menuchoice></term>
<listitem><para><action>Opens the Operations Dialog</action></para>
<para>
Here you can operate on data sets that means add or multiply the values of different graphs.
</para></listitem>
</varlistentry>

<varlistentry>
<term><menuchoice><shortcut>
<keycombo>&Ctrl;<keycap>Shift</keycap><keycap>k</keycap></keycombo></shortcut>
<guimenu><accel>A</accel>nalysis</guimenu>
<guimenuitem><accel>P</accel>eriodic</guimenuitem>
<guimenuitem><accel>P</accel>eriodic Function</guimenuitem>
</menuchoice></term>
<listitem><para><action>Opens the Periodic Dialog</action></para>
<para>
Lets you investigate periodic data.
</para></listitem>
</varlistentry>

<varlistentry>
<term><menuchoice><shortcut>
<keycombo>&Ctrl;<keycap>Shift</keycap><keycap>u</keycap></keycombo></shortcut>
<guimenu><accel>A</accel>nalysis</guimenu>
<guimenuitem><accel>P</accel>eriodic</guimenuitem>
<guimenuitem><accel>S</accel>easonal</guimenuitem>
</menuchoice></term>
<listitem><para><action>Opens the Seasonal Dialog</action></para>
<para>
Lets you compress periodic data.
</para></listitem>
</varlistentry>

<varlistentry>
<term><menuchoice><shortcut>
<keycombo>&Ctrl;<keycap>Shift</keycap><keycap>x</keycap></keycombo></shortcut>
<guimenu><accel>A</accel>nalysis</guimenu><guimenuitem><accel>P</accel>eak find</guimenuitem>
</menuchoice></term>
<listitem><para><action>Opens the Peak Find Dialog</action></para>
<para>
Here you can find peaks in a data set.
</para></listitem>
</varlistentry>

<varlistentry>
<term><menuchoice><shortcut>
<keycombo>&Alt;<keycap>h</keycap></keycombo></shortcut>
<guimenu><accel>A</accel>nalysis</guimenu><guimenuitem><accel>H</accel>istogram</guimenuitem>
</menuchoice></term>
<listitem><para><action>Opens the Histogram Dialog</action></para>
<para>
Here you can create a histogram of any graph. Choose the range and bins for the histogram in this dialog.
</para>
<para>You need gsl installed to use this.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><menuchoice><shortcut>
<keycombo>&Alt;<keycap>i</keycap></keycombo></shortcut>
<guimenu><accel>A</accel>nalysis</guimenu><guimenuitem><accel>I</accel>nterpolation</guimenuitem>
</menuchoice></term>
<listitem><para><action>Opens the Interpolation Dialog</action></para>
<para>
Here you can interpolate any graph. You can choose the type of interpolation the range and the number of points for the 
resulting function in this dialog.
</para>
<para>You need gsl installed to use this.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><menuchoice><shortcut>
<keycombo>&Alt;<keycap>d</keycap></keycombo></shortcut>
<guimenu><accel>A</accel>nalysis</guimenu><guimenuitem><accel>D</accel>ifferences</guimenuitem>
</menuchoice></term>
<listitem><para><action>Opens the Differences Dialog</action></para>
<para>
Here you can create a graph of numerical differences for selected data (derivation of a function).
</para></listitem>
</varlistentry>

<varlistentry>
<term><menuchoice><shortcut>
<keycombo>&Alt;<keycap>n</keycap></keycombo></shortcut>
<guimenu><accel>A</accel>nalysis</guimenu><guimenuitem><accel>I</accel>ntegration</guimenuitem>
</menuchoice></term>
<listitem><para><action>Opens the Integration Dialog</action></para>
<para>
Here you can numerical integrate the selected graph. Define the needed region or use the active region
(can be defined under the <link linkend="appearance-menu">appearance menu</link>.)
</para>
<para>You need gsl installed to use this.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><menuchoice><shortcut>
<keycombo>&Alt;<keycap>a</keycap></keycombo></shortcut>
<guimenu><accel>A</accel>nalysis</guimenu>
<guimenuitem><accel>F</accel>ilter</guimenuitem>
<guimenuitem><accel>A</accel>verage</guimenuitem>
</menuchoice></term>
<listitem><para><action>Opens the Average Dialog</action></para>
<para>
Here you can create a new graph from the averaged data of any other graph.
</para></listitem>
</varlistentry>

<varlistentry>
<term><menuchoice><shortcut>
<keycombo>&Alt;<keycap>s</keycap></keycombo></shortcut>
<guimenu><accel>A</accel>nalysis</guimenu>
<guimenuitem><accel>F</accel>ilter</guimenuitem>
<guimenuitem><accel>S</accel>mooth</guimenuitem>
</menuchoice></term>
<listitem><para><action>Opens the Smooth Dialog</action></para>
<para>
Here you can create a new graph from the smoothed data of any other graph.
</para></listitem>
</varlistentry>

<varlistentry>
<term><menuchoice><shortcut>
<keycombo>&Ctrl;<keycap>Shift</keycap><keycap>h</keycap></keycombo></shortcut>
<guimenu><accel>A</accel>nalysis</guimenu>
<guimenuitem><accel>F</accel>ilter</guimenuitem>
<guimenuitem><accel>C</accel>ompress</guimenuitem>
</menuchoice></term>
<listitem><para><action>Opens the Compress Dialog</action></para>
<para>
Compress data sets.
</para></listitem>
</varlistentry>

<varlistentry>
<term><menuchoice><shortcut>
<keycombo>&Alt;<keycap>r</keycap></keycombo></shortcut>
<guimenu><accel>A</accel>nalysis</guimenu>
<guimenuitem><accel>F</accel>ilter</guimenuitem>
<guimenuitem><accel>P</accel>rune</guimenuitem>
</menuchoice></term>
<listitem><para><action>Opens the Prune Dialog</action></para>
<para>
Here you can create a new graph from the pruned data of any other graph.
</para></listitem>
</varlistentry>

<varlistentry>
<term><menuchoice><shortcut>
<keycombo>&Alt;<keycap>r</keycap></keycombo></shortcut>
<guimenu><accel>A</accel>nalysis</guimenu>
<guimenuitem><accel>F</accel>ilter</guimenuitem>
<guimenuitem><accel>N</accel>oise</guimenuitem>
</menuchoice></term>
<listitem><para><action>Opens the Noise Dialog</action></para>
<para>
Lets you add a certain noise to your data.
</para></listitem>
</varlistentry>

<varlistentry>
<term><menuchoice><shortcut>
<keycombo>&Alt;<keycap>r</keycap></keycombo></shortcut>
<guimenu><accel>A</accel>nalysis</guimenu>
<guimenuitem><accel>F</accel>ilter</guimenuitem>
<guimenuitem><accel>S</accel>ignal Filter</guimenuitem>
</menuchoice></term>
<listitem><para><action>Opens the Signal Filter Dialog</action></para>
<para>
Lets you apply a (signal) filter to your data.
</para></listitem>
</varlistentry>

<varlistentry>
<term><menuchoice><shortcut>
<keycombo>&Alt;<keycap>f</keycap></keycombo></shortcut>
<guimenu><accel>A</accel>nalysis</guimenu>
<guimenuitem><accel>T</accel>ransform</guimenuitem>
<guimenuitem><accel>F</accel>FT</guimenuitem>
</menuchoice></term>
<listitem><para><action>Opens the FFT Dialog</action></para>
<para>
Here you can make a fast fourier transform of the selected graphs. If supported on your platform you can
choose what library is actually used for the fourier transform (GNU scientific library (gsl) or the
Fastest Fourier Transform in the West (fftw)). You can make forward or backward transform, make the x-Axis
index, frequency or period and create the y-axis as magnitude, real, imaginary or phase.
</para>
<para>You need gsl installed to use this.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><menuchoice><shortcut>
<keycombo>&Alt;<keycap>C</keycap></keycombo></shortcut>
<guimenu><accel>A</accel>nalysis</guimenu>
<guimenuitem><accel>T</accel>ransform</guimenuitem>
<guimenuitem><accel>C</accel>onvolution/Deconvolution</guimenuitem>
</menuchoice></term>
<listitem><para><action>Opens the Convolution Dialog</action></para>
<para>
In this dialog you can make a convolution/deconvolution of one graph with another. The used x-values can be selected.
</para>
<para>You need gsl installed to use this.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><menuchoice><shortcut>
<keycombo>&Ctrl;<keycap>+</keycap></keycombo></shortcut>
<guimenu><accel>A</accel>nalysis</guimenu>
<guimenuitem><accel>T</accel>ransform</guimenuitem>
<guimenuitem><accel>A</accel>uto-/Crosscorrelation</guimenuitem>
</menuchoice></term>
<listitem><para><action>Opens the Correlation Dialog</action></para>
<para>
In this dialog you can make an auto-/crosscorrelation of one/two graphs.
</para>
<para>You need gsl installed to use this.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><menuchoice><shortcut>
<keycombo>&Ctrl;<keycap>Shift</keycap><keycap>&lt;</keycap></keycombo></shortcut>
<guimenu><accel>A</accel>nalysis</guimenu>
<guimenuitem><accel>T</accel>ransform</guimenuitem>
<guimenuitem><accel>W</accel>avelet Transform</guimenuitem>
</menuchoice></term>
<listitem><para><action>Opens the Wavelet Dialog</action></para>
<para>You need gsl installed to use this.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><menuchoice><shortcut>
<keycombo>&Ctrl;<keycap>Shift</keycap><keycap>&gt;</keycap></keycombo></shortcut>
<guimenu><accel>A</accel>nalysis</guimenu>
<guimenuitem><accel>T</accel>ransform</guimenuitem>
<guimenuitem><accel>H</accel>ankel Transform</guimenuitem>
</menuchoice></term>
<listitem><para><action>Opens the Hankel Dialog</action></para>
<para>You need gsl >= 1.6 installed to use this.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><menuchoice><shortcut>
<keycombo>&Alt;<keycap>;</keycap></keycombo></shortcut>
<guimenu><accel>A</accel>nalysis</guimenu>
<guimenuitem><accel>S</accel>tatistics</guimenuitem>
<guimenuitem><accel>C</accel>apability Analyis</guimenuitem>
</menuchoice></term>
<listitem><para><action>Opens the Capability Dialog</action></para>
<para>You need gsl installed to use this.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><menuchoice><shortcut>
<keycombo>&Alt;<keycap>l</keycap></keycombo></shortcut>
<guimenu><accel>A</accel>nalysis</guimenu><guimenuitem><accel>R</accel>egression</guimenuitem>
</menuchoice></term>
<listitem><para><action>Opens the Regression Dialog</action></para>
<para>
In this dialog you can make a regression of your data with different models and weight. The region can be
defined here to.</para>
<para>You need gsl installed to use this.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><menuchoice><shortcut>
<keycombo>&Alt;<keycap>t</keycap></keycombo></shortcut>
<guimenu><accel>A</accel>nalysis</guimenu><guimenuitem><accel>N</accel>onlinear Fit</guimenuitem>
</menuchoice></term>
<listitem><para><action>Opens the Nonlinear Fit Dialog</action></para>
<para>
With this dialog you can make a nonlinear fit of your data. Currently 12 different models and any user defined model with up to 9 parameter can be selected.
Start values, steps and tolerance for the non-linear least-square fit using gsl can be set.</para>
<para>You need gsl installed to use this.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><menuchoice><shortcut>
<keycombo>&Ctrl;<keycap>Shift</keycap><keycap>g</keycap></keycombo></shortcut>
<guimenu><accel>A</accel>nalysis</guimenu><guimenuitem><accel>I</accel>mage Manipulation</guimenuitem>
</menuchoice></term>
<listitem><para><action>Opens the Image Manipulation Dialog</action></para>
<para>
With this dialog you can manipulate matrix or image data as image. Operations like rotate, scale, sharpen or brighten can 
be performed here. Please see the <link linkend="analysis-table">analysis function overview</link>.
</para></listitem>
</varlistentry>

</variablelist>
</sect1>

<sect1 id="appearance-menu">
<title>The Appearance Menu</title>

<para>
<variablelist>

<varlistentry>
<term><menuchoice><shortcut>
<keycombo>&Alt;<keycap>y</keycap></keycombo></shortcut>
<guimenu><accel>A</accel>ppearance</guimenu><guimenuitem><accel>A</accel>rrange Plots</guimenuitem>
</menuchoice></term>
<listitem><para>
<action>Opens the arrange dialog.</action></para>
<para>
Here you can specify how to arrange plots on a worksheet.
</para></listitem>
</varlistentry>

<varlistentry>
<term><menuchoice><shortcut>
<keycombo>&Ctrl;<keycap>-</keycap></keycombo></shortcut>
<guimenu><accel>A</accel>ppearance</guimenu><guimenuitem><accel>O</accel>verlay Plots</guimenuitem>
</menuchoice></term>
<listitem><para>
<action>Opens the overlay dialog.</action></para>
<para>
Here you can exactly overlay a plot onto another.
</para></listitem>
</varlistentry>

<varlistentry>
<term><menuchoice><shortcut>
<keycombo>&Ctrl;<keycap>j</keycap></keycombo></shortcut>
<guimenu><accel>A</accel>ppearance</guimenu><guimenuitem><accel>P</accel>lot Settings</guimenuitem>
</menuchoice></term>
<listitem><para><action>Opens the plot dialog.</action></para>
<para>
Here you can change the settings of the active plot.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><menuchoice><shortcut>
<keycombo>&Alt;<keycap>w</keycap></keycombo></shortcut>
<guimenu><accel>A</accel>ppearance</guimenu><guimenuitem><accel>W</accel>orksheet Settings</guimenuitem>
</menuchoice></term>
<listitem><para><action>Opens the worksheet dialog.</action></para>
<para>
Here you can make the settings of the active worksheet.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><menuchoice><shortcut>
<keycombo>&Ctrl;<keycap>b</keycap></keycombo></shortcut>
<guimenu><accel>A</accel>ppearance</guimenu><guimenuitem><accel>A</accel>xes Settings</guimenuitem>
</menuchoice></term>
<listitem><para><action>Opens the axes dialog.</action></para>
<para>Here you can change the settings of the axes in a plot.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><menuchoice><shortcut>
<keycombo>&Ctrl;<keycap>t</keycap></keycombo></shortcut>
<guimenu><accel>A</accel>ppearance</guimenu><guimenuitem><accel>T</accel>itle Dialog</guimenuitem>
</menuchoice></term>
<listitem><para><action>Opens the title dialog.</action></para>
<para>
Here you can change the settings of the title in a plot.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><menuchoice><shortcut>
<keycombo>&Ctrl;<keycap>l</keycap></keycombo></shortcut>
<guimenu><accel>A</accel>ppearance</guimenu><guimenuitem><accel>L</accel>egend Dialog</guimenuitem>
</menuchoice></term>
<listitem><para><action>Opens the legend dialog.</action></para>
<para>Here you can change the settings of the legend in a plot.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><menuchoice><shortcut>
<keycombo>&Alt;<keycap>o</keycap></keycombo></shortcut>
<guimenu><accel>A</accel>ppearance</guimenu><guimenuitem><accel>D</accel>rawing objects</guimenuitem>
</menuchoice></term>
<listitem><para><action>Opens the objects dialog.</action></para>
<para>Here you can add new drawing objects and change their settings.</para>
</listitem>
</varlistentry>

</variablelist></para>
</sect1>

<sect1 id="drawing-menu">
<title>The Drawing Menu</title>

<para>In this menu the baseline and the region of a plot can be defined. Also 5 different types of
drawing objects can be easily created here.</para>
<para>With "Create Baseline" you can create a baseline which is used for filling of graphs and for integration.
With "Create Region" a region can be defined. A Region is used for nonlinear fitting, integration, etc.
</para>
<para>
With the 5 other items the different drawing objects can be easily created by mouse. Please follow the hints
in the statusbar.
</para>

</sect1>

<sect1 id="sheetlist-menu">
<title>The Sheet List Menu</title>
<para>This menu gives you a list of all worksheets and spreadsheets of a project. You can select the active (and shown) sheet here.</para>
</sect1>

<sect1 id="plotlist-menu">
<title>The Graph List Menu</title>
<para>This menu gives you a list of all graphs of a worksheet. You can directly change the settings of a graph by selecting the corresponding item here.</para>
</sect1>

<sect1 id="scripting-menu">
<title>The Scripting Menu</title>

<para>This menu collects items that can be used to manipulate scripts to automate LabPlot functions</para>
<para>Check out the <link linkend="scripting">Scripting Chapter</link> for using the scripting interface of LabPlot</para>

<variablelist>

<varlistentry><term><menuchoice><shortcut>
<keycombo>&Ctrl;&Shift;<keycap>c</keycap></keycombo></shortcut>
<guimenu><accel>S</accel>cript</guimenu><guimenuitem><accel>L</accel>oad Script</guimenuitem>
</menuchoice></term>
<listitem><para><action>Load and Execute a &Qt; Script for Applications (QSA) script (*.qs).</action></para>
</listitem>
</varlistentry>

<varlistentry><term><menuchoice><shortcut>
<keycombo>&Ctrl;&Shift;<keycap>w</keycap></keycombo></shortcut>
<guimenu><accel>S</accel>cript</guimenu><guimenuitem><accel>O</accel>pen QSA Workbench</guimenuitem>
</menuchoice></term>
<listitem><para><action>Open the QSA workbench to create and edit QSA scripts (*.qs).</action></para>
</listitem>
</varlistentry>

</variablelist>
</sect1>

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

<para> This menu gives you the ability to change user settings.</para>

<variablelist>

<varlistentry><term><menuchoice><shortcut>
<keycombo>&Ctrl;&Shift;<keycap>f</keycap></keycombo></shortcut>
<guimenu><accel>S</accel>ettings</guimenu><guimenuitem><accel>F</accel>ullscreen</guimenuitem>
</menuchoice></term>
<listitem><para><action>Show the workspace in full screen mode.</action></para>
</listitem>
</varlistentry>

<varlistentry>
<term><menuchoice><shortcut>
<keycombo>&Ctrl;<keycap>m</keycap></keycombo></shortcut>
<guimenu><accel>S</accel>ettings</guimenu><guimenuitem>Show <accel>M</accel>enubar</guimenuitem>
</menuchoice></term>
<listitem><para><action>Toggle the menubar.</action></para>
</listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<guimenu><accel>S</accel>ettings</guimenu><guimenuitem><accel>C</accel>onfigure LabPlot</guimenuitem>
</menuchoice></term>
<listitem><para><action>Configure user settings of LabPlot. The default Style and Symbol for 2D or Surface plots 
can be set here too.</action></para>
</listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<guimenu><accel>S</accel>ettings</guimenu><guimenuitem><accel>S</accel>ave settings</guimenuitem>
</menuchoice></term>
<listitem><para><action>Save all the user settings of LabPlot.</action></para>
</listitem>
</varlistentry>

</variablelist>
</sect1>


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

<para>
<variablelist>

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

<varlistentry>
<term><menuchoice>
<guimenu><accel>H</accel>elp</guimenu><guimenuitem><accel>E</accel>xamples</guimenuitem>
</menuchoice></term>
<listitem><para><action>Here you will find many &LabPlot; example projects.
</action></para></listitem>
</varlistentry>

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

</variablelist>
</para>

</sect1>

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

<para>
The main toolbar contains the main items that you can find in the different menus. You can adapt the shown items in
Settings-&gt;Configure Toolbars ... dialog</para>
</sect1>

<sect1 id="sidetoolbar">
<title>Side Tool Bar</title>

<para>
The &LabPlot; side tool bar contains the following buttons:</para>
<informaltable pgwide="1"><tgroup cols="2">

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

<tbody>
<row><entry>Lens</entry><entry><action>magnify lens</action></entry></row>
<row><entry>Hand</entry><entry><action>pan zoom</action></entry></row>
<row><entry>data mode</entry><entry><action>inspect single data points.</action></entry></row>
<row><entry>mask data</entry><entry><action>select data points to mask.</action></entry></row>
<row><entry>X</entry><entry><action>Autoscale X.</action></entry></row>
<row><entry>Y</entry><entry><action>Autoscale Y.</action></entry></row>
<row><entry>Z</entry><entry><action>Autoscale Z.</action></entry></row>
<row><entry>+</entry><entry><action>zoom in.</action></entry></row>
<row><entry>-</entry><entry><action>zoom out.</action></entry></row>
<row><entry>Left</entry><entry><action>Shift all graphs to the left.</action></entry></row>
<row><entry>Right</entry><entry><action>Shift all graphs to the right.</action></entry></row>
<row><entry>Up</entry><entry><action>Shift all graphs up.</action></entry></row>
<row><entry>Down</entry><entry><action>Shift all graphs to the down.</action></entry></row>
<row><entry>X+</entry><entry><action>Increases magnification in X.</action></entry></row>
<row><entry>X-</entry><entry><action>Decreases magnification in X.</action></entry></row>
<row><entry>Y+</entry><entry><action>Increases magnification in Y.</action></entry></row>
<row><entry>Y-</entry><entry><action>Decreases magnification in Y.</action></entry></row>
<row><entry>Z+</entry><entry><action>Increases magnification in Z.</action></entry></row>
<row><entry>Z-</entry><entry><action>Decreases magnification in Z.</action></entry></row>
</tbody>

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

</chapter>

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

<sect1 id="func">
<title>Function</title>
<para>
The dialog <guilabel>Function</guilabel> is used to create and perform the settings
for function plots. It looks the same for 2d, surface, pie and 3d plots. Only a
few plot specific things differ. Especially the Style is different for surface plots.</para>
<para>
The first lineedit contains the expression for the plot function. The entered expression is evaluated
via a powerful parser. For a complete list of supported functions see the
<link linkend="parser">parser section</link>.
</para>
<para>
the second lineedit is for setting the label of the created graph. This is the label which you see in the legend.
</para>
<para>
In the "Range" and "Number of Points" section you can select the range and the number
of points for the created function.
</para>
<para>
With the remaining style items you can influence the appearance of the function.
If you create a normal function the first selection defines
the line style (Lines, NoCurve, Steps, Boxes, Impulses, Y Boxes), the color and if you want to have it filled
(with a different color). The other items select the symbol for the plot points, with color, size, if
it should be filled and with which color.
If you create a surface plot you have the possibility to select whether to show a density or contour plot, or
both. Then you can select the number of levels for contour plots and the colorscale for density plots.
</para>
<para>
For changing the settings of a function you have to select the change button in the list dialog.
For changing the style of a surface plot you can also use the "Plot Settings" dialog.
</para>
<para>
Since version 1.4.0 LabPlot uses the new QWT 3D Plot which should be preferred to the simple 3d plot. 
</para>
</sect1>

<sect1 id="data">
<title>Data</title>
<para>
The dialog <guilabel>Data</guilabel> is used to create graphs from data files.
</para>
<para>
This dialog looks very similar to the <link linkend="func">function dialog</link>.
There are some differences though.
You have to select a data file to open in the first lineedit. You can use the
"New" button to open a file dialog for this. In the "Read from column" section you can enter
from which column you want to read the corresponding values. If unsure use the check button
to have a look at the data file. You can select here also from which to which row to read data and what
separating character is used. The "auto" separation detects all number and combination of whitespaces.
</para>
<para>
When using "y1 | y2 | y3 | ..." in the "read as" selection the y-values are read from one line in the data files.
</para>
<para>
LabPlot supports the reading of images (all &Qt; supported formats) and compressed data too (gzip, bzip2).
for images you should select "matrix" to read the data of the image.
</para>
<para>
Since version 1.3.1 LabPlot can also read netcdf, cdf and audio data (*.wav,*.au,*.aiff,*.snd,...).
For netcdf and cdf data just select the variables in the x,y, etc. line edits and maybe check it in the "check data" dialog.
For finding the correct variables you can use the <link linkend="fileinfo">file info dialog</link> 
to check the content of a netcdf/cdf file. When reading audio data just select 1 for the time, 2 for the first channel and
3 for the second channel. 0 of course means index like when reading any other data file.
</para>
<para>
The "Read As" section selects the kind of data in the data file.
The "Graph Type" selects the type of graph to create. From x-y data you can make only 2 dimensional plots.
From x-y-z data you can create error and surface plots (2D data dialog) or density, contour or
3d plots (3D data dialog). From matrix data you can create density or contour plots (2D data dialog) or
3d plots (3D data dialog).
</para>
<para>
Since version 1.4.0 LabPlot uses the new QWT 3D Plot which should be preferred to the simple 3d plot. 
</para>
</sect1>

<sect1 id="plot">
<title>Plot List</title>
<para>
In the plot dialog you can manipulate the plots in a worksheet. You can clone or delete plots here.
</para>
</sect1>

<sect1 id="list">
<title>Graph List</title>
<para>
The list dialog is the central point for dealing with the different graphs of a plot. Here you have an
overview of all graphs and you can manipulate them. You can reach the list dialog via the Plot-&gt;GraphList menu
or by double clicking inside the plot. All mentioned functions can be reached in all list dialogs with the &RMB;
</para>
<para>
With "Show/Hide" you can toggle the state all selected graphs. Only "Shown" graphs are visible in the plot. The autoscaling
function also uses only the visible graphs.
</para>
<para>
With the buttons "Add Datafile" and "Add Function" you can add a graph from data or function to the
plot. (see <link linkend="func">function dialog</link> or  <link linkend="data">data dialog</link>. )
With "Delete" you can easily delete the selected graph. With "Change" you can change the settings of the
selected graph. If you just want a copy of an existing graph use the "clone graph" button.
</para>
<para>
The "Export" button opens the <link linkend="dump">dump dialog</link> to export a graph to a file and the 
"Edit" button gets you to the <link linkend="edit">edit dialog</link>.
</para>
<para>
With "Toggle Masking" and "Unmask All" you can change the masking of different data points.
</para>
<para>
The "Statistics" button shows some statistics about the selected graphs. 
</para>
<para>
Every manipulation can also be reached via the right mouse button. Multiple selections are possible.
</para>

<sect2 id="list-add-graph">
<title>Add Graph</title>
<para>Here you can add graphs from another worksheet or from any spreadsheet.
</para>
</sect2>

</sect1>

<sect1 id="importdialog">
<title>Import Dialog </title>
<para>
With the import dialog you can import data into LabPlot. 
</para>
<para>
In the line edit you can specify multiple data files to read. The "File Info" button shows you some informations about the selected
files. You can also specify the separating character (for instance ",") and the comment line character.
The start and end row to read can also be customized here.</para>
<para>
Since version 1.4.1 of LabPlot you can select pre-defined filter for different standard data formats that select all needed settings.
Also support for binary data import was added with this release.
</para>
</sect1>

<sect1 id="edit">
<title>Edit</title>
<para>
With the edit dialog you can easily edit the data of a graph. You can reach this dialog via the
<link linkend="list">list dialog</link>.
</para>
<para>
The table on the top side shows you all the data. Here you can select which rows and columns you want
to edit. You can delete or sort selected rows ascending or descending with the buttons under the Table.
You can also evaluate an expression to the selected rows and columns. Here the same powerful parser
features like in the <link linkend="func">function dialog</link> can be used. For a list of available
functions see the <link linkend="parser">parser section</link>.
</para>
</sect1>

<sect1 id="objects">
<title>Objects</title>
<para>With the objects dialog you can change the settings of all drawing objects.
The object dialog can be found in the <link linkend="appearance-menu">appearance menu</link>.
</para>
<para>There are 5 tabs for every type of drawing object. Line, Label, Rect, Ellipse and Image.
For every object type you can define up to 10 different objects. All settings can be changed in this dialog.
If you want to delete an object, select the object in the object list and push the "delete object" button.
</para>
<para>
If you want to create objects, you can use the items in the <link linkend="drawing-menu">drawing menu</link>.
The objects then can be moved with the mouse. Double-click on an object opens the corresponding tab of the
object dialog.
</para>
</sect1>

<sect1 id="fileinfo">
<title>File Info</title>

<para>
The file info dialog can be reached from the data dialog. Here you can find a lot of informations about a data file. Especially
for netcdf, cdf and audio files you can have a look at the internal structure of a data file.
</para>
</sect1>

<sect1 id="dump">
<title>Dump</title>

<para>
The dump dialog can be reached from the graph list dialog. Here you can export a graph to ASCII, netcdf, cdf, audio, binary or an image
file. Every type of file has special options. You can also specify the range of data to export.
</para>
<para>
For ASCII data the file is automatically compressed when appending .gz or .bz2 to the filename. 
</para>
</sect1>

<sect1 id="appearance">
<title>Appearance</title>
<para>
With the four appearance dialogs you can influence the settings of the active plot. You can reach this
dialogs via the "Appearance" menu or by double clicking on the object in the plot.
</para>

<sect2 id="graph">
<title>Plot Settings</title>
<para>
The graph dialog lets you select the background color, the graph background color (inside the plot) and the
ranges for the different axes. Also marker or baseline settings can be changed here.
The autorange functionality can also be reached from the <link linkend="sidetoolbar">side tool bar</link>.
If you have a surface plot you can also change the style settings here.
</para>
<para>
If the active plot is a QWT 3D plot you can select some special settings here. The plot style changes the surface of the 3d mesh. 
The coordinate style changes the coordinates. The floor style enables contour or density plots on the floor with a user specified
number of isolines. Finally you can select a special colormap (139 different colormaps are provided by LabPlot per default). 
</para>
</sect2>

<sect2 id="worksheetsettings">
<title>Worksheet Settings</title>
<para>
With the worksheet dialog you can change the title of a worksheet and the timestamp. The title and timestamp can be
enabled or disable here too.
</para>
</sect2>

<sect2 id="axes">
<title>Axes</title>
<para>
The axes dialog lets you change the settings for the different axes. It opens if you click on one of the
axes.
</para>
<para>
In the upper region you have a list of all axes. Here you can select the axis to change. To enable or disable
the axis use the checkbutton at the top of the dialog. Under the axes list you have different tabs  to change a lot axis 
settings (color, tics, grid, etc.).
</para>
</sect2>

<sect2 id="title">
<title>Title</title>
<para>
In the title dialog you can change parameters of the title (label, size and font). The dialog open with
double clicking on the title.
</para>
</sect2>

<sect2 id="legend">
<title>Legend</title>
<para>
In the legend dialog you can change parameters of the legend (boxed, size and font). The dialog open with
double clicking on the legend.
</para>
</sect2>

</sect1>

<sect1 id="analysis">
<title>Analysis</title>
<para>
With the analysis dialogs you can analyse a graph with different methods. By applying a method you create a new graph which
is inserted in the active plot.
</para>
<para>All analysis functions allows you to select the destination for the resulting data. You can add the result to any existing worksheet/spreadsheet or to a new worksheet/spreadsheet.</para>
<para>
Most of the analysis functions can also be applied to a spreadsheet. From the selected columns of the spreadsheet a new column
with the resulting values is created. 
</para>

<table id="analysis-table">
<title>Analysis functions of LabPlot</title>

<tgroup cols="3"><tbody>
<row><entry>Name</entry><entry>Description</entry><entry>Parameter</entry><entry>Applies to</entry></row>

<row><entry>Data set operations</entry>
<entry>If you have at least two graphs in the active plot you can operate on this data set in this dialog. You can add, substract, multiply and divide data sets here. </entry>
<entry>two datasets</entry></row>

<row><entry>Average</entry>
<entry>With this function you can average over n points of a graph. The number of points is reduced by a factor of 1/n.</entry>
<entry>number of points to average</entry>
<entry>everything</entry></row>

<row><entry>Compress</entry>
<entry>This function can compress large datasets to less points. You can select whether to sum or average over a certain number of points.</entry>
<entry>sum or average; number of points</entry>
<entry>everything</entry></row>

<row><entry>Smooth</entry>
<entry>This function does the same as average but for every data point. So you will get a smoothed graph with the same number of data points.</entry>
<entry>number of points</entry>
<entry>SPREADSHEET, X-Y, X-Y-DY, X-Y-DX-DY, X-Y-DY-DY, X-Y-Z</entry></row>

<row><entry>Prune</entry>
<entry>This function reduces the number of data points by just using every n-th point. The resulting number of points is reduced by a factor of 1/n.</entry>
<entry>number of consecutive points</entry>
<entry>SPREADSHEET, X-Y, X-Y-DY, X-Y-DX-DY, X-Y-DY-DY</entry></row>

<row><entry>Periodical Functions</entry>
<entry>This function can be used to reduce a dataset to one period of a function. You can select whether to sum or average.</entry>
<entry>sum/average; points per period</entry>
<entry>SPREADSHEET, X-Y, X-Y-DY, X-Y-DX-DY, X-Y-DY-DY</entry></row>

<row><entry>Seasonal</entry>
<entry>This function can calculate the difference (or sum) of on period to the next one. The period is specified by the number of points in it.</entry>
<entry>sum/difference; points per period</entry>
<entry>SPREADSHEET, X-Y, X-Y-DY, X-Y-DX-DY, X-Y-DY-DY</entry></row>

<row><entry>Peak find</entry>
<entry>This function allows you to find the peaks (also negative peaks) in a data set. The sensitivity for finding peaks can be specified with the parameters threshold and accuracy</entry>
<entry>positive/negative peaks;threshold (Y-Range); accuracy (X-range)</entry>
<entry>X-Y, X-Y-DY, X-Y-DX-DY, X-Y-DY-DY</entry></row>

<row><entry>Histogram</entry>
<entry>With this function you can make a histogram of a graph. That means that the y-range is separated in n bins and every datapoint fitting in one bin is counted.</entry>
<entry>used Y-range; number of bins</entry>
<entry>SPREADSHEET, X-Y, X-Y-DY, X-Y-DX-DY, X-Y-DY-DY, MATRIX</entry></row>

<row><entry>Interpolation</entry>
<entry>Interpolation tries to find a smooth curves through a given set of data points. You can use different types of interpolation to do that : linear, polynomial, cspline, akima. All datapoints in the active region are used for interpolation.</entry>
<entry>interpolation type; range/number of points for interpolating function</entry>
<entry>SPREADSHEET, X-Y, X-Y-DY, X-Y-DX-DY, X-Y-DY-DY</entry></row>

<row><entry>Differences</entry>
<entry>This dialog creates an approximation of the first derivative of a graph.</entry>
<entry>None</entry>
<entry>SPREADSHEET, X-Y, X-Y-DY, X-Y-DX-DY, X-Y-DY-DY</entry></row>

<row><entry>Integration</entry>
<entry>This function can be used to numerical integrate a graph.
With the "Add Graph" checkbox you can select whether to add the integrated graph. With the "Show Info" checkbox selected the cumulative sum is shown in a separate window.</entry>
<entry>baseline/region for integration; sum or area (absolute values)</entry>
<entry>SPREADSHEET, X-Y, X-Y-DY, X-Y-DX-DY, X-Y-DY-DY</entry></row>

<row><entry>Regression</entry>
<entry>The regression function can be used to fit a graph with polynomials up to the 10-th order.</entry>
<entry>weight/model; number of points/range for regression function</entry>
<entry>X-Y,X-Y-DY,X-Y-DX-DY</entry></row>

<row><entry>Fourier Tansform</entry>
<entry>With this function you can calculate the fourier transform of a graph. LabPlot can use the fftw or gsl library for that. You can select whether to transform forward or backward.</entry>
<entry>X-values:index/frequency/period; Y-values:magnitude/phase/real part/imaginary part</entry>
<entry>X-Y, X-Y-DY, X-Y-DX-DY, X-Y-DY-DY</entry></row>

<row><entry>Convolution/Deconvolution</entry>
<entry>With this function you can calculate the convolution of one graph with another. LabPlot uses the FFT of gsl for that. 
It is also possible to deconvolve a set.</entry>
<entry>X-values:index/same as signal</entry>
<entry>X-Y, X-Y-DY, X-Y-DY-DY + X-Y, X-Y-DY, X-Y-DY-DY</entry></row>

<row><entry>Nonlinear Fit</entry>
<entry>With this function you can fit a graph in a nonlinear fashion. You can select one of 12 different models or any user defined function with up to 9 parameters. Please note that fitting especially exponential models is very sensitive to the initial values.
The resulting fit parameter are shown in the bottom field and automatically replaced as initial values for further fitting.
The results are added to the plot as label.</entry>
<entry>fit function;initial values;baseline/region for fitting; range/number of points for fit function</entry>
<entry>X-Y, X-Y-DY, X-Y-DX-DY, X-Y-DY-DY</entry></row>

<row><entry>Image Manipulation</entry>
<entry>In this function you can manipulate matrix or image data of the active plot (for instance a surface plot). 
LabPlot uses the API of ImageMagick to convert the image with about 50 different methods.</entry>
<entry> size (height/width) of resulting image</entry>
<entry>MATRIX,IMAGE</entry></row>

</tbody></tgroup>
</table>

</sect1>

<sect1 id="arrange">
<title>Arrange</title>
<para>
In the arrange dialog you can specify how to arrange plots on the worksheet. With 2x2 the plots are arranged in a 2x2 grid with a
distance of gap between them and the border of the worksheet.
</para>
</sect1>

<sect1 id="overlay">
<title>Overlay</title>
<para>
In the overlay dialog you can simply overlay a plot onto another. Of course you need to have at least two plots in a worksheet to use this.
</para>
</sect1>

<sect1 id="workbench">
<title>QSA Workbench</title>
<para>
LabPlot uses the &Qt; Script for Applications (QSA) extension of &Qt; to use scripting. To create and edit scripts QSA includes the QSA workbench which can be used in LabPlot too.
If LabPlot claims that it cannot find some pixmaps you can set the path to the desired pixmaps with the environment variable QSA_IMAGE_PATH. For example i use "export QSA_IMAGE_PATH=/sw/qsa-x11-free-1.1.2/src/ide/images/" before starting LabPlot.
</para>
<para>For more informations take a look at the <link linkend="scripting">Scripting Chapter</link></para>
</sect1>

</chapter>


<chapter id="advanced_topics">
<title>Advanced Topics</title>
<para>
Here you will find some explanations of advanced topics.
</para>
<para>
I hope this will help to understand how to use some more advanced things in LabPlot.
</para>

<sect1 id="topics">
<title>Topics</title>
<sect2 id="errorbar">
<title>Errorbars</title>
<para>If you want to plot data with errorbars just import your data with the <link linkend="importdialog">import dialog</link>
into a spreadsheet. Select the column X, Y and DX, DY that you want to use for errorbars. You than should select the corresponding
plot (XYDY for Y errorbars, XYDXDY for X and Y errorbars and XYDYDY for 2 Y errorbars (up and down)).</para>
<para>If you use the data dialog to import your data directly into a plot select the correct type (x|y, x|y|dy, x|y|dx|dy or x|y|dy1|dy2) in the "read as" line edit.</para>
</sect2>

<sect2 id="texlabel">
<title>TeX label</title>
<para>With version 1.5.0 LabPlot supports rendering of Tex label using texvc.</para>
<para>If you compile LabPlot yourself you only need a ocaml compiler present. When using a binary version of LabPlot texvc is automatically used when found in your $PATH.</para>
<para>For using TeX label you just have to activate the checkbox "TeX label" in the label dialog. With that every text you enter in the text box is rendered by texvc and plotted accordingly. Since this conversion takes some time you may see a certain delay when redrawing the plot.</para>
<para>Check out the "texlabel" example for getting a clue how it may look like.</para>
</sect2>

<sect2 id="kexidb">
<title>Database import/export</title>
<para>
LabPlot supports reading and writing data from a database using the KexiDB library. With KexiDB LabPlot can read and write data
from PostgreSQL, mySQL, SQListe2+3. For importing data select "PostgreSQL, mySQL, etc." in the import dialog and browse through the database structure (tables and fields). For exporting data just select "DATABASE" in the export dialog and select the desired parameter. 
</para>
</sect2>

<sect2 id="multiplot">
<title>multiple plots</title>
<para>Since version 1.3.0 LabPlot supports multiple plots on a worksheet. New plots can easily be added to a worksheet by choosing "New 2D Plot",
"New 3D Plot", etc. A new plot is opened automatically when opening a function or data dialog for a plot with different type than the
active plot. SO if you have an active 2d plot and select "New 3D Function" a new 3d plot is automatically added.</para>
<para>With the "Arrange Plots" item in the Appearance Menu you can easily arrange the plots on a worksheet. The grid for arranging the plots
can be selected with numbers (like 2x2) and the distant between the plots and between a plot and the worksheet border can be set with the gap.
</para>
<para>You can also arrange plots on a worksheet by hand. With dragging the border of a plot you can scale a plot as needed. When moving the
mouse over the borders of a plot, you will see the corresponding arrows.</para>
<para>A whole plot can be moved by drag and drop when clicking in the center of a plot. You will see a cross arrow when reaching the center
of a plot.</para>
</sect2>

<sect2 id="datetime">
<title>using date and time formats</title>
<para>When reading data in the data dialog you can specify the format for reading a column not only to double (default) but also to time
and date. LabPlot uses &Qt;'s fromString() function to convert a column to a valid date or time. So it really depends on that function what date
and time formats are valid. It seems, when selecting "date", the format of the column needs to be YYYY-MM-DD.</para>
<para>In the axes dialog you can select 3 different formats for the tic label : date, time and datetime format. With "date" selected the values
are evaluated as day since 1.1.1970. With "time" selected the values are evaluated as seconds. Finally with "datetime" the values are evaluated
as seconds since 1.1.1970. You can specify the shown format of the tic label by specifying a certain string in the format line edit.</para>
<para>
Since version 1.4.0 LabPlot can import data in datetime format too. Two different formats can be selected. The text format looks like
the output of "date" (locale-specific changes should be no problem) and the ISO format in the format "YYYY-MM-DDTHH:MM:SS".
</para>
</sect2>

<sect2 id="qwt3d">
<title>QWT 3D Plots</title>
<para>
Since version 1.4.0 LabPlot uses the nice library qwtplot3d to realize a more sophisticated 3 dimensional plot. For compatibility
reasons the simple 3D plot is still existing and still has some advantages over the 3D plot of QWT. But i would recommend to use
the QWT 3D plot when possible.
</para>
<para>
The QWT 3D plot uses OpenGL so you can easily rotate, scale and shift the plot with the mouse. In the plot settings dialog
(<link linkend="appearance-menu">appearance menu</link>)
you can define more settings of this 3 dimensional plot.
</para>
</sect2>

<sect2 id="opj">
<title>Importing Origin opj files</title>
<para>
Since many people are using the well known OriginLab Origin program LabPlot includes the feature to import Origin opj projects from versions ranging from 4.0 up to 7.5.
</para>
<para>
The opj file format is a proprietary file format so the import filter had to be developed by using reverse engineering techniques.
This is the reason why it takes a lot of work to understand and convert Origin projects. LabPlot 1.5.0 at the moment only supports Origin worksheets.
</para>
<para>
If someone is willing to give some feedback and/or help i will continue to extend the features of this import filter.
</para>
</sect2>

<sect2 id="xml">
<title>XML project format</title>
<para>
&LabPlot; 1.5.1 indroduces a new project format based on XML. With some additions it should later comply with the OASIS standard.
</para>
<para>
The new XML format supports backward and forward compatibility and is much cleaner than the old LPL format.
This format will be used in future releases as default project format and will replace the (old) LPL format 
Even though &LabPlot; will be able to read all old projects without any restriction.
</para>
</sect2>

</sect1>

</chapter>

<chapter id="parser">
<title>Parser functions</title>
<para>
The &LabPlot; parser allows you to use following functions:
</para>

<sect1 id="parser-normal">
<title>standard function</title>

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

<thead><row><entry>Function</entry><entry>Description</entry></row></thead>

<tbody>

<row><entry>acos(x)</entry><entry><action>Arc cosine</action></entry></row>
<row><entry>acosh(x)</entry><entry><action>Arc hyperbolic cosine</action></entry></row>
<row><entry>asin(x)</entry><entry><action>Arcsine</action></entry></row>
<row><entry>asinh(x)</entry><entry><action>Arc hyperbolic sine</action></entry></row>
<row><entry>atan(x)</entry><entry><action>Arctangent</action></entry></row>
<row><entry>atan2(y,x)</entry><entry><action>arc tangent function of two variables </action></entry></row>
<row><entry>atanh(x)</entry><entry><action>Arc hyperbolic tangent</action></entry></row>
<row><entry>beta(a,b)</entry><entry><action>Beta</action></entry></row>
<row><entry>cbrt(x)</entry><entry><action>Cube root</action></entry></row>
<row><entry>ceil(x)</entry><entry><action>Truncate upward to integer</action></entry></row>
<row><entry>chbevl(x, coef, N)</entry><entry><action>Evaluate Chebyshev series</action></entry></row>
<row><entry>chdtrc(df,x)</entry><entry><action>Complemented Chi square</action></entry></row>
<row><entry>chdtr(df,x)</entry><entry><action>Chi square distribution</action></entry></row>
<row><entry>chdtri(df,y)</entry><entry><action>Inverse Chi square</action></entry></row>
<row><entry>cos(x)</entry><entry><action>Cosine</action></entry></row>
<row><entry>cosh(x)</entry><entry><action>Hyperbolic cosine</action></entry></row>
<row><entry>cosm1(x)</entry><entry><action>cos(x)-1</action></entry></row>
<row><entry>dawsn(x)</entry><entry><action>Dawson's integral</action></entry></row>
<row><entry>drand()</entry><entry><action>Random value between 0..1</action></entry></row>
<row><entry>ellie(phi,m)</entry><entry><action>Incomplete elliptic integral (E)</action></entry></row>
<row><entry>ellik(phi,m)</entry><entry><action>Incomplete elliptic integral (E)</action></entry></row>
<row><entry>ellpe(x)</entry><entry><action>Complete elliptic integral (E)</action></entry></row>
<row><entry>ellpk(x)</entry><entry><action>Complete elliptic integral (K)</action></entry></row>
<row><entry>exp(x)</entry><entry><action>Exponential, base e</action></entry></row>
<row><entry>expm1(x)</entry><entry><action>exp(x)-1</action></entry></row>
<row><entry>expn(n,x)</entry><entry><action>Exponential integral</action></entry></row>
<row><entry>fabs(x)</entry><entry><action>Absolute value</action></entry></row>
<row><entry>fac(i)</entry><entry><action>Factorial</action></entry></row>
<row><entry>fdtrc(ia,ib,x)</entry><entry><action>Complemented F</action></entry></row>
<row><entry>fdtr(ia,ib,x)</entry><entry><action>F distribution </action></entry></row>
<row><entry>fdtri(ia,ib,y)</entry><entry><action>Inverse F distribution</action></entry></row>
<row><entry>gdtr(a,b,x)</entry><entry><action>Gamma distribution</action></entry></row>
<row><entry>gdtrc(a,b,x)</entry><entry><action>Complemented gamma</action></entry></row>
<row><entry>hyp2f1(a,b,c,x)</entry><entry><action>Gauss hypergeometric function</action></entry></row>
<row><entry>hyperg(a,b,x)</entry><entry><action>Confluent hypergeometric 1F1</action></entry></row>
<row><entry>i0(x)</entry><entry><action>Modified Bessel, order 0</action></entry></row>
<row><entry>i0e(x)</entry><entry><action>Exponentially scaled i0</action></entry></row>
<row><entry>i1(x)</entry><entry><action>Modified Bessel, order 1</action></entry></row>
<row><entry>i1e(x)</entry><entry><action>Exponentially scaled i1</action></entry></row>
<row><entry>igamc(a,x)</entry><entry><action>Complemented gamma integral</action></entry></row>
<row><entry>igam(a,x)</entry><entry><action>Incomplete gamma integral</action></entry></row>
<row><entry>igami(a,y0)</entry><entry><action>Inverse gamma integral</action></entry></row>
<row><entry>incbet(aa,bb,xx)</entry><entry><action>Incomplete beta integral</action></entry></row>
<row><entry>incbi(aa,bb,yy0)</entry><entry><action>Inverse beta integral</action></entry></row>
<row><entry>iv(v,x)</entry><entry><action>Modified Bessel, nonint. order</action></entry></row>
<row><entry>j0(x)</entry><entry><action>Bessel, order 0</action></entry></row>
<row><entry>j1(x)</entry><entry><action>Bessel, order 1</action></entry></row>
<row><entry>jn(n,x)</entry><entry><action>Bessel, order n</action></entry></row>
<row><entry>jv(n,x)</entry><entry><action>Bessel, noninteger order</action></entry></row>
<row><entry>k0(x)</entry><entry><action>Mod. Bessel, 3rd kind, order 0</action></entry></row>
<row><entry>k0e(x)</entry><entry><action>Exponentially scaled k0</action></entry></row>
<row><entry>k1(x)</entry><entry><action>Mod. Bessel, 3rd kind, order 1</action></entry></row>
<row><entry>k1e(x)</entry><entry><action>Exponentially scaled k1</action></entry></row>
<row><entry>kn(nn,x)</entry><entry><action>Mod. Bessel, 3rd kind, order n</action></entry></row>
<row><entry>lbeta(a,b)</entry><entry><action> Natural log of |beta|</action></entry></row>
<row><entry>ldexp(x,exp)</entry><entry><action>multiply floating-point number by integral power of 2</action></entry></row>
<row><entry>log(x)</entry><entry><action>Logarithm, base e</action></entry></row>
<row><entry>log10(x)</entry><entry><action>Logarithm, base 10</action></entry></row>
<row><entry>logb(x)</entry><entry><action>radix-independant exponent</action></entry></row>
<row><entry>log1p(x)</entry><entry><action>log(1+x)</action></entry></row>
<row><entry>ndtr(x)</entry><entry><action>Normal distribution</action></entry></row>
<row><entry>ndtri(x)</entry><entry><action>Inverse normal distribution</action></entry></row>
<row><entry>pdtrc(k,m)</entry><entry><action>Complemented Poisson</action></entry></row>
<row><entry>pdtr(k,m)</entry><entry><action>Poisson distribution</action></entry></row>
<row><entry>pdtri(k,y)</entry><entry><action>Inverse Poisson distribution</action></entry></row>
<row><entry>pow(x,y)</entry><entry><action>power function</action></entry></row>
<row><entry>psi(x)</entry><entry><action>Psi (digamma) function</action></entry></row>
<row><entry>rand()</entry><entry><action>Random value between 0..RAND_MAX</action></entry></row>
<row><entry>random()</entry><entry><action>Random value between 0..RAND_MAX</action></entry></row>
<row><entry>rgamma(x)</entry><entry><action>Reciprocal Gamma</action></entry></row>
<row><entry>rint(x)</entry><entry><action>round to nearest integer</action></entry></row>
<row><entry>sin(x)</entry><entry><action>Sine</action></entry></row>
<row><entry>sinh(x)</entry><entry><action>Hyperbolic sine</action></entry></row>
<row><entry>spence(x)</entry><entry><action>Dilogarithm</action></entry></row>
<row><entry>sqrt(x)</entry><entry><action>Square root</action></entry></row>
<row><entry>stdtr(k,t)</entry><entry><action>Student's t distribution</action></entry></row>
<row><entry>stdtri(k,p)</entry><entry><action>Inverse student's t distribution</action></entry></row>
<row><entry>struve(v,x)</entry><entry><action>Struve function</action></entry></row>
<row><entry>tan(x)</entry><entry><action>Tangent</action></entry></row>
<row><entry>tanh(x)</entry><entry><action>Hyperbolic tangent</action></entry></row>
<row><entry>true_gamma(x)</entry><entry><action>true gamma</action></entry></row>
<row><entry>y0(x)</entry><entry><action>Bessel, second kind, order 0</action></entry></row>
<row><entry>y1(x)</entry><entry><action>Bessel, second kind, order 1</action></entry></row>
<row><entry>yn(n,x)</entry><entry><action>Bessel, second kind, order n</action></entry></row>
<row><entry>yv(v,x)</entry><entry><action>Bessel, noninteger order</action></entry></row>
<row><entry>zeta(x,y)</entry><entry><action>Riemann Zeta function </action></entry></row>
<row><entry>zetac(x)</entry><entry><action>Two argument zeta function</action></entry></row>

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

<sect1 id="parser-gsl">
<title>GSL special function</title>
<para>
For more information about the functions see the documentation of GSL.
</para>
<informaltable pgwide="1"><tgroup cols="2">

<thead><row><entry>Function</entry><entry>Description</entry></row></thead>

<tbody>

<row><entry>gsl_log1p(x)</entry><entry><action>log(1+x)</action></entry></row>
<row><entry>gsl_expm1(x)</entry><entry><action>exp(x)-1</action></entry></row>
<row><entry>gsl_hypot(x,y)</entry><entry><action>sqrt{x^2 + y^2}</action></entry></row>
<row><entry>gsl_acosh(x)</entry><entry><action>arccosh(x)</action></entry></row>
<row><entry>gsl_asinh(x)</entry><entry><action>arcsinh(x)</action></entry></row>
<row><entry>gsl_atanh(x)</entry><entry><action>arctanh(x)</action></entry></row>
<row><entry>airy_Ai(x)</entry><entry><action>Airy function Ai(x)</action></entry></row>
<row><entry>airy_Bi(x)</entry><entry><action>Airy function Bi(x)</action></entry></row>
<row><entry>airy_Ais(x)</entry><entry><action>scaled version of the Airy function S_A(x) Ai(x)</action></entry></row>
<row><entry>airy_Bis(x)</entry><entry><action>scaled version of the Airy function S_B(x) Bi(x)</action></entry></row>
<row><entry>airy_Aid(x)</entry><entry><action>Airy function derivative Ai'(x)</action></entry></row>
<row><entry>airy_Bid(x)</entry><entry><action>Airy function derivative Bi'(x)</action></entry></row>
<row><entry>airy_Aids(x)</entry><entry><action>derivative of the scaled Airy function S_A(x) Ai(x)</action></entry></row>
<row><entry>airy_Bids(x)</entry><entry><action>derivative of the scaled Airy function S_B(x) Bi(x)</action></entry></row>
<row><entry>airy_0_Ai(s)</entry><entry><action>s-th zero of the Airy function Ai(x)</action></entry></row>
<row><entry>airy_0_Bi(s)</entry><entry><action>s-th zero of the Airy function Bi(x)</action></entry></row>
<row><entry>airy_0_Aid(s)</entry><entry><action>s-th zero of the Airy function derivative Ai'(x)</action></entry></row>
<row><entry>airy_0_Bid(s)</entry><entry><action>s-th zero of the Airy function derivative Bi'(x)</action></entry></row>
<row><entry>bessel_JJ0(x)</entry><entry><action>regular cylindrical Bessel function of zeroth order, J_0(x)</action></entry></row>
<row><entry>bessel_JJ1(x)</entry><entry><action>regular cylindrical Bessel function of first order, J_1(x)</action></entry></row>
<row><entry>bessel_Jn(n,x)</entry><entry><action>regular cylindrical Bessel function of order n, J_n(x)</action></entry></row>
<row><entry>bessel_YY0(x)</entry><entry><action>irregular cylindrical Bessel function of zeroth order, Y_0(x)</action></entry></row>
<row><entry>bessel_YY1(x)</entry><entry><action>irregular cylindrical Bessel function of first order, Y_1(x)</action></entry></row>
<row><entry>bessel_Yn(n,x)</entry><entry><action>irregular cylindrical Bessel function of order n, Y_n(x)</action></entry></row>
<row><entry>bessel_I0(x)</entry><entry><action>regular modified cylindrical Bessel function of zeroth order, I_0(x)</action></entry></row>
<row><entry>bessel_I1(x)</entry><entry><action>regular modified cylindrical Bessel function of first order, I_1(x)</action></entry></row>
<row><entry>bessel_In(n,x)</entry><entry><action>regular modified cylindrical Bessel function of order n, I_n(x)</action></entry></row>
<row><entry>bessel_II0s(x)</entry><entry><action>scaled regular modified cylindrical Bessel function of zeroth order, exp (-|x|) I_0(x)</action></entry></row>
<row><entry>bessel_II1s(x)</entry><entry><action>scaled regular modified cylindrical Bessel function of first order, exp(-|x|) I_1(x)</action></entry></row>
<row><entry>bessel_Ins(n,x)</entry><entry><action>scaled regular modified cylindrical Bessel function of order n, exp(-|x|) I_n(x)</action></entry></row>
<row><entry>bessel_K0(x)</entry><entry><action>irregular modified cylindrical Bessel function of zeroth order, K_0(x)</action></entry></row>
<row><entry>bessel_K1(x)</entry><entry><action>irregular modified cylindrical Bessel function of first order, K_1(x)</action></entry></row>
<row><entry>bessel_Kn(n,x)</entry><entry><action>irregular modified cylindrical Bessel function of order n, K_n(x)</action></entry></row>
<row><entry>bessel_KK0s(x)</entry><entry><action>scaled irregular modified cylindrical Bessel function of zeroth order, exp (x) K_0(x)</action></entry></row>
<row><entry>bessel_KK1s(x)</entry><entry><action>scaled irregular modified cylindrical Bessel function of first order, exp(x) K_1(x)</action></entry></row>
<row><entry>bessel_Kns(n,x)</entry><entry><action>scaled irregular modified cylindrical Bessel function of order n, exp(x) K_n(x)</action></entry></row>
<row><entry>bessel_j0(x)</entry><entry><action>regular spherical Bessel function of zeroth order, j_0(x)</action></entry></row>
<row><entry>bessel_j1(x)</entry><entry><action>regular spherical Bessel function of first order, j_1(x)</action></entry></row>
<row><entry>bessel_j2(x)</entry><entry><action>regular spherical Bessel function of second order, j_2(x)</action></entry></row>
<row><entry>bessel_jl(l,x)</entry><entry><action>regular spherical Bessel function of order l, j_l(x)</action></entry></row>
<row><entry>bessel_y0(x)</entry><entry><action>irregular spherical Bessel function of zeroth order, y_0(x)</action></entry></row>
<row><entry>bessel_y1(x)</entry><entry><action>irregular spherical Bessel function of first order, y_1(x)</action></entry></row>
<row><entry>bessel_y2(x)</entry><entry><action>irregular spherical Bessel function of second order, y_2(x)</action></entry></row>
<row><entry>bessel_yl(l,x)</entry><entry><action>irregular spherical Bessel function of order l, y_l(x)</action></entry></row>
<row><entry>bessel_i0s(x)</entry><entry><action>scaled regular modified spherical Bessel function of zeroth order, exp(-|x|) i_0(x)</action></entry></row>
<row><entry>bessel_i1s(x)</entry><entry><action>scaled regular modified spherical Bessel function of first order, exp(-|x|) i_1(x)</action></entry></row>
<row><entry>bessel_i2s(x)</entry><entry><action>scaled regular modified spherical Bessel function of second order, exp(-|x|) i_2(x)</action></entry></row>
<row><entry>bessel_ils(l,x)</entry><entry><action>scaled regular modified spherical Bessel function of order l, exp(-|x|) i_l(x)</action></entry></row>
<row><entry>bessel_k0s(x)</entry><entry><action>scaled irregular modified spherical Bessel function of zeroth order, exp(x) k_0(x)</action></entry></row>
<row><entry>bessel_k1s(x)</entry><entry><action>scaled irregular modified spherical Bessel function of first order, exp(x) k_1(x)</action></entry></row>
<row><entry>bessel_k2s(x)</entry><entry><action>scaled irregular modified spherical Bessel function of second order, exp(x) k_2(x)</action></entry></row>
<row><entry>bessel_kls(l,x)</entry><entry><action>scaled irregular modified spherical Bessel function of order l, exp(x) k_l(x)</action></entry></row>
<row><entry>bessel_Jnu(nu,x)</entry><entry><action>regular cylindrical Bessel function of fractional order nu, J_\nu(x)</action></entry></row>
<row><entry>bessel_Ynu(nu,x)</entry><entry><action>irregular cylindrical Bessel function of fractional order nu, Y_\nu(x)</action></entry></row>
<row><entry>bessel_Inu(nu,x)</entry><entry><action>regular modified Bessel function of fractional order nu, I_\nu(x)</action></entry></row>
<row><entry>bessel_Inus(nu,x)</entry><entry><action>scaled regular modified Bessel function of fractional order nu, exp(-|x|) I_\nu(x)</action></entry></row>
<row><entry>bessel_Knu(nu,x)</entry><entry><action>irregular modified Bessel function of fractional order nu, K_\nu(x)</action></entry></row>
<row><entry>bessel_lnKnu(nu,x)</entry><entry><action>logarithm of the irregular modified Bessel function of fractional order nu,ln(K_\nu(x))</action></entry></row>
<row><entry>bessel_Knus(nu,x)</entry><entry><action>scaled irregular modified Bessel function of fractional order nu, exp(|x|) K_\nu(x)</action></entry></row>
<row><entry>bessel_0_J0(s)</entry><entry><action>s-th positive zero of the Bessel function J_0(x)</action></entry></row>
<row><entry>bessel_0_J1(s)</entry><entry><action>s-th positive zero of the Bessel function J_1(x)</action></entry></row>
<row><entry>bessel_0_Jnu(nu,s)</entry><entry><action>s-th positive zero of the Bessel function J_nu(x)</action></entry></row>
<row><entry>clausen(x)</entry><entry><action>Clausen integral Cl_2(x)</action></entry></row>
<row><entry>hydrogenicR_1(Z,R)</entry><entry><action>lowest-order normalized hydrogenic bound state radial wavefunction R_1 := 2Z \sqrt{Z} \exp(-Z r)</action></entry></row>
<row><entry>hydrogenicR(n,l,Z,R)</entry><entry><action>n-th normalized hydrogenic bound state radial wavefunction</action></entry></row>
<row><entry>dawson(x)</entry><entry><action>Dawson's integral</action></entry></row>
<row><entry>debye_1(x)</entry><entry><action>first-order Debye function D_1(x) = (1/x) \int_0^x dt (t/(e^t - 1))</action></entry></row>
<row><entry>debye_2(x)</entry><entry><action>second-order Debye function D_2(x) = (2/x^2) \int_0^x dt (t^2/(e^t - 1))</action></entry></row>
<row><entry>debye_3(x)</entry><entry><action>third-order Debye function D_3(x) = (3/x^3) \int_0^x dt (t^3/(e^t - 1))</action></entry></row>
<row><entry>debye_4(x)</entry><entry><action>fourth-order Debye function D_4(x) = (4/x^4) \int_0^x dt (t^4/(e^t - 1))</action></entry></row>
<row><entry>dilog(x)</entry><entry><action>dilogarithm</action></entry></row>
<row><entry>ellint_Kc(k)</entry><entry><action>complete elliptic integral K(k)</action></entry></row>
<row><entry>ellint_Ec(k)</entry><entry><action>complete elliptic integral E(k)</action></entry></row>
<row><entry>ellint_F(phi,k)</entry><entry><action>incomplete elliptic integral F(phi,k)</action></entry></row>
<row><entry>ellint_E(phi,k)</entry><entry><action>incomplete elliptic integral E(phi,k)</action></entry></row>
<row><entry>ellint_P(phi,k,n)</entry><entry><action>incomplete elliptic integral P(phi,k,n)</action></entry></row>
<row><entry>ellint_D(phi,k,n)</entry><entry><action>incomplete elliptic integral D(phi,k,n)</action></entry></row>
<row><entry>ellint_RC(x,y)</entry><entry><action>incomplete elliptic integral RC(x,y)</action></entry></row>
<row><entry>ellint_RD(x,y,z)</entry><entry><action>incomplete elliptic integral RD(x,y,z)</action></entry></row>
<row><entry>ellint_RF(x,y,z)</entry><entry><action>incomplete elliptic integral RF(x,y,z)</action></entry></row>
<row><entry>ellint_RJ(x,y,z)</entry><entry><action>incomplete elliptic integral RJ(x,y,z,p)</action></entry></row>
<row><entry>gsl_erf(x)</entry><entry><action>error function erf(x) = (2/\sqrt(\pi)) \int_0^x dt \exp(-t^2)</action></entry></row>
<row><entry>gsl_erfc(x)</entry><entry><action>complementary error function erfc(x) = 1 - erf(x) = (2/\sqrt(\pi)) \int_x^\infty \exp(-t^2)</action></entry></row>
<row><entry>log_erfc(x)</entry><entry><action>logarithm of the complementary error function \log(\erfc(x))</action></entry></row>
<row><entry>erf_Z(x)</entry><entry><action>Gaussian probability function Z(x) = (1/(2\pi)) \exp(-x^2/2)</action></entry></row>
<row><entry>erf_Q(x)</entry><entry><action>upper tail of the Gaussian probability function Q(x) = (1/(2\pi)) \int_x^\infty dt \exp(-t^2/2)</action></entry></row>
<row><entry>gsl_exp(x)</entry><entry><action>exponential function</action></entry></row>
<row><entry>exprel(x)</entry><entry><action>(exp(x)-1)/x using an algorithm that is accurate for small x</action></entry></row>
<row><entry>exprel_2(x)</entry><entry><action>2(exp(x)-1-x)/x^2 using an algorithm that is accurate for small x</action></entry></row>
<row><entry>exprel_n(n,x)</entry><entry><action>n-relative exponential, which is the n-th generalization of the functions `gsl_sf_exprel'</action></entry></row>
<row><entry>exp_int_E1(x)</entry><entry><action>exponential integral E_1(x), E_1(x) := Re \int_1^\infty dt \exp(-xt)/t</action></entry></row>
<row><entry>exp_int_E2(x)</entry><entry><action>second-order exponential integral E_2(x), E_2(x) := \Re \int_1^\infty dt \exp(-xt)/t^2</action></entry></row>
<row><entry>exp_int_Ei(x)</entry><entry><action>exponential integral E_i(x), Ei(x) := PV(\int_{-x}^\infty dt \exp(-t)/t)</action></entry></row>
<row><entry>shi(x)</entry><entry><action>Shi(x) = \int_0^x dt sinh(t)/t</action></entry></row>
<row><entry>chi(x)</entry><entry><action>integral  Chi(x) := Re[ gamma_E + log(x) + \int_0^x dt (cosh[t]-1)/t]</action></entry></row>
<row><entry>expint_3(x)</entry><entry><action>exponential integral Ei_3(x) = \int_0^x dt exp(-t^3) for x &gt;= 0</action></entry></row>
<row><entry>si(x)</entry><entry><action>Sine integral Si(x) = \int_0^x dt sin(t)/t</action></entry></row>
<row><entry>ci(x)</entry><entry><action>Cosine integral Ci(x) = -\int_x^\infty dt cos(t)/t for x &gt; 0</action></entry></row>
<row><entry>atanint(x)</entry><entry><action>Arctangent integral AtanInt(x) = \int_0^x dt arctan(t)/t</action></entry></row>
<row><entry>fermi_dirac_m1(x)</entry><entry><action>complete Fermi-Dirac integral with an index of -1, F_{-1}(x) = e^x / (1 + e^x)</action></entry></row>
<row><entry>fermi_dirac_0(x)</entry><entry><action>complete Fermi-Dirac integral with an index of 0, F_0(x) = \ln(1 + e^x)</action></entry></row>
<row><entry>fermi_dirac_1(x)</entry><entry><action>complete Fermi-Dirac integral with an index of 1, F_1(x) = \int_0^\infty dt (t /(\exp(t-x)+1))</action></entry></row>
<row><entry>fermi_dirac_2(x)</entry><entry><action>complete Fermi-Dirac integral with an index of 2, F_2(x) = (1/2) \int_0^\infty dt (t^2 /(\exp(t-x)+1))</action></entry></row>
<row><entry>fermi_dirac_int(j,x)</entry><entry><action>complete Fermi-Dirac integral with an index of j, F_j(x) = (1/Gamma(j+1)) \int_0^\infty dt (t^j /(exp(t-x)+1))</action></entry></row>
<row><entry>fermi_dirac_mhalf(x)</entry><entry><action>complete Fermi-Dirac integral F_{-1/2}(x)</action></entry></row>
<row><entry>fermi_dirac_half(x)</entry><entry><action>complete Fermi-Dirac integral F_{1/2}(x)</action></entry></row>
<row><entry>fermi_dirac_3half(x)</entry><entry><action>complete Fermi-Dirac integral F_{3/2}(x)</action></entry></row>
<row><entry>fermi_dirac_inc_0(x,b)</entry><entry><action>incomplete Fermi-Dirac integral with an index of zero, F_0(x,b) = \ln(1 + e^{b-x}) - (b-x)</action></entry></row>
<row><entry>gamma(x)</entry><entry><action>Gamma function</action></entry></row>
<row><entry>lngamma(x)</entry><entry><action>logarithm of the Gamma function</action></entry></row>
<row><entry>gammastar(x)</entry><entry><action>regulated Gamma Function \Gamma^*(x) for x &gt; 0</action></entry></row>
<row><entry>gammainv(x)</entry><entry><action>reciprocal of the gamma function, 1/Gamma(x) using the real Lanczos method.</action></entry></row>
<row><entry>taylorcoeff(n,x)</entry><entry><action>Taylor coefficient x^n / n! for x &gt;= 0</action></entry></row>
<row><entry>fact(n)</entry><entry><action>factorial n!</action></entry></row>
<row><entry>doublefact(n)</entry><entry><action>double factorial n!! = n(n-2)(n-4)...</action></entry></row>
<row><entry>lnfact(n)</entry><entry><action>logarithm of the factorial of n, log(n!)</action></entry></row>
<row><entry>lndoublefact(n)</entry><entry><action>logarithm of the double factorial log(n!!)</action></entry></row>
<row><entry>choose(n,m)</entry><entry><action>combinatorial factor `n choose m' = n!/(m!(n-m)!)</action></entry></row>
<row><entry>lnchoose(n,m)</entry><entry><action>logarithm of `n choose m'</action></entry></row>
<row><entry>poch(a,x)</entry><entry><action>Pochhammer symbol (a)_x := \Gamma(a + x)/\Gamma(x)</action></entry></row>
<row><entry>lnpoch(a,x)</entry><entry><action>logarithm of the Pochhammer symbol (a)_x := \Gamma(a + x)/\Gamma(x)</action></entry></row>
<row><entry>pochrel(a,x)</entry><entry><action>relative Pochhammer symbol ((a,x) - 1)/x where (a,x) = (a)_x := \Gamma(a + x)/\Gamma(a)</action></entry></row>
<row><entry>gamma_inc_Q(a,x)</entry><entry><action>normalized incomplete Gamma Function P(a,x) = 1/Gamma(a) \int_x\infty dt t^{a-1} exp(-t) for a &gt; 0, x &gt;= 0</action></entry></row>
<row><entry>gamma_inc_P(a,x)</entry><entry><action>complementary normalized incomplete Gamma Function P(a,x) = 1/Gamma(a) \int_0^x dt t^{a-1} exp(-t) for a &gt; 0, x &gt;= 0</action></entry></row>
<row><entry>gsl_beta(a,b)</entry><entry><action>Beta Function, B(a,b) = Gamma(a) Gamma(b)/Gamma(a+b) for a &gt; 0, b &gt; 0</action></entry></row>
<row><entry>lnbeta(a,b)</entry><entry><action>logarithm of the Beta Function, log(B(a,b)) for a &gt; 0, b &gt; 0</action></entry></row>
<row><entry>betainc(a,b,x)</entry><entry><action>normalize incomplete Beta function B_x(a,b)/B(a,b) for a &gt; 0, b &gt; 0 </action></entry></row>
<row><entry>gegenpoly_1(lambda,x)</entry><entry><action>Gegenbauer polynomial C^{lambda}_1(x)</action></entry></row>
<row><entry>gegenpoly_2(lambda,x)</entry><entry><action>Gegenbauer polynomial C^{lambda}_2(x)</action></entry></row>
<row><entry>gegenpoly_3(lambda,x)</entry><entry><action>Gegenbauer polynomial C^{lambda}_3(x)</action></entry></row>
<row><entry>gegenpoly_n(n,lambda,x)</entry><entry><action>Gegenbauer polynomial C^{lambda}_n(x)</action></entry></row>
<row><entry>hyperg_0F1(c,x)</entry><entry><action>hypergeometric function 0F1(c,x)</action></entry></row>
<row><entry>hyperg_1F1i(m,n,x)</entry><entry><action>confluent hypergeometric function 1F1(m,n,x) = M(m,n,x) for integer parameters m, n</action></entry></row>
<row><entry>hyperg_1F1(a,b,x)</entry><entry><action>confluent hypergeometric function 1F1(m,n,x) = M(m,n,x) for general parameters a,b</action></entry></row>
<row><entry>hyperg_Ui(m,n,x)</entry><entry><action>confluent hypergeometric function U(m,n,x) for integer parameters m,n</action></entry></row>
<row><entry>hyperg_U(a,b,x)</entry><entry><action>confluent hypergeometric function U(a,b,x)</action></entry></row>
<row><entry>hyperg_2F1(a,b,c,x)</entry><entry><action>Gauss hypergeometric function 2F1(a,b,c,x)</action></entry></row>
<row><entry>hyperg_2F1c(ar,ai,c,x)</entry><entry><action>Gauss hypergeometric function 2F1(a_R + i a_I, a_R - i a_I, c, x) with complex parameters </action></entry></row>
<row><entry>hyperg_2F1r(ar,ai,c,x)</entry><entry><action>renormalized Gauss hypergeometric function 2F1(a,b,c,x) / Gamma(c)</action></entry></row>
<row><entry>hyperg_2F1cr(ar,ai,c,x)</entry><entry><action>renormalized Gauss hypergeometric function 2F1(a_R + i a_I, a_R - i a_I, c, x) / Gamma(c)</action></entry></row>
<row><entry>hyperg_2F0(a,b,x)</entry><entry><action>hypergeometric function 2F0(a,b,x)</action></entry></row>
<row><entry>laguerre_1(a,x)</entry><entry><action>generalized Laguerre polynomials L^a_1(x)</action></entry></row>
<row><entry>laguerre_2(a,x)</entry><entry><action>generalized Laguerre polynomials L^a_2(x)</action></entry></row>
<row><entry>laguerre_3(a,x)</entry><entry><action>generalized Laguerre polynomials L^a_3(x)</action></entry></row>
<row><entry>lambert_W0(x)</entry><entry><action>principal branch of the Lambert W function, W_0(x)</action></entry></row>
<row><entry>lambert_Wm1(x)</entry><entry><action>secondary real-valued branch of the Lambert W function, W_{-1}(x)</action></entry></row>
<row><entry>legendre_P1(x)</entry><entry><action>Legendre polynomials P_1(x)</action></entry></row>
<row><entry>legendre_P2(x)</entry><entry><action>Legendre polynomials P_2(x)</action></entry></row>
<row><entry>legendre_P3(x)</entry><entry><action>Legendre polynomials P_3(x)</action></entry></row>
<row><entry>legendre_Pl(l,x)</entry><entry><action>Legendre polynomials P_l(x)</action></entry></row>
<row><entry>legendre_Q0(x)</entry><entry><action>Legendre polynomials Q_0(x)</action></entry></row>
<row><entry>legendre_Q1(x)</entry><entry><action>Legendre polynomials Q_1(x)</action></entry></row>
<row><entry>legendre_Ql(l,x)</entry><entry><action>Legendre polynomials Q_l(x)</action></entry></row>
<row><entry>legendre_Plm(l,m,x)</entry><entry><action>associated Legendre polynomial P_l^m(x)</action></entry></row>
<row><entry>legendre_sphPlm(l,m,x)</entry><entry><action>normalized associated Legendre polynomial $\sqrt{(2l+1)/(4\pi)} \sqrt{(l-m)!/(l+m)!} P_l^m(x)$ suitable for use in spherical harmonics</action></entry></row>
<row><entry>conicalP_half(lambda,x)</entry><entry><action>irregular Spherical Conical Function P^{1/2}_{-1/2 + i \lambda}(x) for x &gt; -1</action></entry></row>
<row><entry>conicalP_mhalf(lambda,x)</entry><entry><action>regular Spherical Conical Function P^{-1/2}_{-1/2 + i \lambda}(x) for x &gt; -1</action></entry></row>
<row><entry>conicalP_0(lambda,x)</entry><entry><action>conical function P^0_{-1/2 + i \lambda}(x) for x &gt; -1</action></entry></row>
<row><entry>conicalP_1(lambda,x)</entry><entry><action>conical function P^1_{-1/2 + i \lambda}(x) for x &gt; -1</action></entry></row>
<row><entry>conicalP_sphreg(l,lambda,x)</entry><entry><action>Regular Spherical Conical Function P^{-1/2-l}_{-1/2 + i \lambda}(x) for x &gt; -1, l &gt;= -1</action></entry></row>
<row><entry>conicalP_cylreg(l,lambda,x)</entry><entry><action>Regular Cylindrical Conical Function P^{-m}_{-1/2 + i \lambda}(x) for x &gt; -1, m &gt;= -1</action></entry></row>
<row><entry>legendre_H3d_0(lambda,eta)</entry><entry><action>zeroth radial eigenfunction of the Laplacian on the 3-dimensional hyperbolic space, L^{H3d}_0(lambda,eta) := sin(lambda eta)/(lambda sinh(eta)) for eta &gt;= 0</action></entry></row>
<row><entry>legendre_H3d_1(lambda,eta)</entry><entry><action>zeroth radial eigenfunction of the Laplacian on the 3-dimensional hyperbolic space, L^{H3d}_1(lambda,eta) := 1/sqrt{lambda^2 + 1} sin(lambda eta)/(lambda sinh(eta)) (coth(eta) - lambda cot(lambda eta)) for eta &gt;= 0</action></entry></row>
<row><entry>legendre_H3d(l,lambda,eta)</entry><entry><action>L'th radial eigenfunction of the Laplacian on the 3-dimensional hyperbolic space eta &gt;= 0, l &gt;= 0</action></entry></row>
<row><entry>gsl_log(x)</entry><entry><action>logarithm of X</action></entry></row>
<row><entry>loga(x)</entry><entry><action>logarithm of the magnitude of X, log(|x|)</action></entry></row>
<row><entry>logp(x)</entry><entry><action>log(1 + x) for x &gt; -1 using an algorithm that is accurate for small x</action></entry></row>
<row><entry>logm(x)</entry><entry><action>log(1 + x) - x for x &gt; -1 using an algorithm that is accurate for small x</action></entry></row>
<row><entry>gsl_pow(x,n)</entry><entry><action>power x^n for integer n</action></entry></row>
<row><entry>psii(n)</entry><entry><action>digamma function psi(n) for positive integer n</action></entry></row>
<row><entry>psi(x)</entry><entry><action>digamma function psi(n) for general x</action></entry></row>
<row><entry>psiy(y)</entry><entry><action>real part of the digamma function on the line 1+i y, Re[psi(1 + i y)]</action></entry></row>
<row><entry>ps1i(n)</entry><entry><action>Trigamma function psi'(n) for positive integer n</action></entry></row>
<row><entry>ps_n(m,x)</entry><entry><action>polygamma function psi^{(m)}(x) for m &gt;= 0, x &gt; 0</action></entry></row>
<row><entry>synchrotron_1(x)</entry><entry><action>first synchrotron function x \int_x^\infty dt K_{5/3}(t) for x &gt;= 0</action></entry></row>
<row><entry>synchrotron_2(x)</entry><entry><action>second synchrotron function x K_{2/3}(x) for x &gt;= 0</action></entry></row>
<row><entry>transport_2(x)</entry><entry><action>transport function J(2,x)</action></entry></row>
<row><entry>transport_3(x)</entry><entry><action>transport function J(3,x)</action></entry></row>
<row><entry>transport_4(x)</entry><entry><action>transport function J(4,x)</action></entry></row>
<row><entry>transport_5(x)</entry><entry><action>transport function J(5,x)</action></entry></row>
<row><entry>hypot(x,y)</entry><entry><action>hypotenuse function \sqrt{x^2 + y^2}</action></entry></row>
<row><entry>sinc(x)</entry><entry><action>sinc(x) = sin(pi x) / (pi x)</action></entry></row>
<row><entry>lnsinh(x)</entry><entry><action>log(sinh(x)) for x &gt; 0</action></entry></row>
<row><entry>lncosh(x)</entry><entry><action>log(cosh(x))</action></entry></row>
<row><entry>zetai(n)</entry><entry><action>Riemann zeta function zeta(n) for integer N</action></entry></row>
<row><entry>gsl_zeta(s)</entry><entry><action>Riemann zeta function zeta(s) for arbitrary s</action></entry></row>
<row><entry>hzeta(s,q)</entry><entry><action>Hurwitz zeta function zeta(s,q) for s &gt; 1, q &gt; 0</action></entry></row>
<row><entry>etai(n)</entry><entry><action>eta function eta(n) for integer n</action></entry></row>
<row><entry>eta(s)</entry><entry><action>eta function eta(s) for arbitrary s</action></entry></row>
</tbody>
</tgroup>
</informaltable>
</sect1>

<sect1 id="parser-ran-gsl">
<title>GSL random number distributions</title>
<para>
For more information about the functions see the documentation of GSL.
</para>
<informaltable pgwide="1"><tgroup cols="2">

<thead><row><entry>Function</entry><entry>Description</entry></row></thead>

<tbody>

<row><entry>gaussian(x,sigma)</entry><entry><action>probability density p(x) at X for a Gaussian distribution with standard deviation SIGMA</action></entry></row>
<row><entry>ugaussian(x)</entry><entry><action>unit Gaussian distribution.  They are equivalent to the functions above with a standard deviation of one, SIGMA = 1</action></entry></row>
<row><entry>gaussian_tail(x,a,sigma)</entry><entry><action>probability density p(x) at X for a Gaussian tail distribution with standard deviation SIGMA and lower limit A</action></entry></row>
<row><entry>ugaussian_tail(x,a)</entry><entry><action>tail of a unit Gaussian distribution. They are equivalent to the functions above with a standard deviation of one, SIGMA = 1</action></entry></row>
<row><entry>bivariate_gaussian(x,y,sigma_x,sigma_y,rho)</entry><entry><action>probability density p(x,y) at (X,Y) for a bivariate gaussian distribution with standard deviations SIGMA_X, SIGMA_Y and correlation coefficient RHO</action></entry></row>
<row><entry>exponential(x,mu)</entry><entry><action>probability density p(x) at X for an exponential distribution with mean MU</action></entry></row>
<row><entry>laplace(x,a)</entry><entry><action>probability density p(x) at X for a Laplace distribution with mean A</action></entry></row>
<row><entry>exppow(x,a,b)</entry><entry><action>probability density p(x) at X for an exponential power distribution with scale parameter A and exponent B</action></entry></row>
<row><entry>cauchy(x,a)</entry><entry><action>probability density p(x) at X for a Cauchy distribution with scale parameter A</action></entry></row>
<row><entry>rayleigh(x,sigma)</entry><entry><action>probability density p(x) at X for a Rayleigh distribution with scale parameter SIGMA</action></entry></row>
<row><entry>rayleigh_tail(x,a,sigma)</entry><entry><action>probability density p(x) at X for a Rayleigh tail distribution with scale parameter SIGMA and lower limit A</action></entry></row>
<row><entry>landau(x)</entry><entry><action>probability density p(x) at X for the Landau distribution</action></entry></row>
<row><entry>gamma_pdf(x,a,b)</entry><entry><action>probability density p(x) at X for a gamma distribution with parameters A and B</action></entry></row>
<row><entry>flat(x,a,b)</entry><entry><action>probability density p(x) at X for a uniform distribution from A to B</action></entry></row>
<row><entry>lognormal(x,zeta,sigma)</entry><entry><action>probability density p(x) at X for a lognormal distribution with parameters ZETA and SIGMA</action></entry></row>
<row><entry>chisq(x,nu)</entry><entry><action>probability density p(x) at X for a chi-squared distribution with NU degrees of freedom</action></entry></row>
<row><entry>fdist(x,nu1,nu2)</entry><entry><action>probability density p(x) at X for an F-distribution with NU1 and NU2 degrees of freedom</action></entry></row>
<row><entry>tdist(x,nu)</entry><entry><action>probability density p(x) at X for a t-distribution with NU degrees of freedom</action></entry></row>
<row><entry>beta_pdf(x,a,b)</entry><entry><action>probability density p(x) at X for a beta distribution with parameters A and B</action></entry></row>
<row><entry>logistic(x,a)</entry><entry><action>probability density p(x) at X for a logistic distribution with scale parameter A</action></entry></row>
<row><entry>pareto(x,a,b)</entry><entry><action>probability density p(x) at X for a Pareto distribution with exponent A and scale B</action></entry></row>
<row><entry>weibull(x,a,b)</entry><entry><action>probability density p(x) at X for a Weibull distribution with scale A and exponent B</action></entry></row>
<row><entry>gumbel1(x,a,b)</entry><entry><action>probability density p(x) at X for a Type-1 Gumbel distribution with parameters A and B</action></entry></row>
<row><entry>gumbel2(x,a,b)</entry><entry><action>probability density p(x) at X for a Type-2 Gumbel distribution with parameters A and B</action></entry></row>
<row><entry>poisson(k,mu)</entry><entry><action>probability p(k) of obtaining  K from a Poisson distribution with mean mu</action></entry></row>
<row><entry>bernoulli(k,p)</entry><entry><action>probability p(k) of obtaining K from a Bernoulli distribution with probability parameter P</action></entry></row>
<row><entry>binomial(k,p,n)</entry><entry><action>probability p(k) of obtaining K from a binomial distribution with parameters P and N</action></entry></row>
<row><entry>negative_binomial(k,p,n)</entry><entry><action>probability p(k) of obtaining K from a negative binomial distribution with parameters P and N</action></entry></row>
<row><entry>pascal(k,p,n)</entry><entry><action>probability p(k) of obtaining K from a Pascal distribution with parameters P and N</action></entry></row>
<row><entry>geometric(k,p)</entry><entry><action>probability p(k) of obtaining K from a geometric distribution with probability parameter P</action></entry></row>
<row><entry>hypergeometric(k,n1,n2,t)</entry><entry><action>probability p(k) of obtaining K from a hypergeometric distribution with parameters N1, N2, N3</action></entry></row>
<row><entry>logarithmic(k,p)</entry><entry><action>probability p(k) of obtaining K from a logarithmic distribution with probability parameter P</action></entry></row>
</tbody>
</tgroup>
</informaltable>
</sect1>

<sect1 id="parser-const">
<title>constants</title>

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

<thead><row><entry>Constant</entry><entry>Description</entry></row></thead>

<tbody>

<row><entry>PI1</entry><entry><action>1/pi</action></entry></row>
<row><entry>PI2</entry><entry><action>2/pi</action></entry></row>
<row><entry>PISQRT2</entry><entry><action>2/sqrt(pi)</action></entry></row>
<row><entry>E</entry><entry><action>e</action></entry></row>
<row><entry>LN2</entry><entry><action>log_e 2</action></entry></row>
<row><entry>LN10</entry><entry><action>log_e 10</action></entry></row>
<row><entry>LOG2E</entry><entry><action>log_2 e</action></entry></row>
<row><entry>LOG10E</entry><entry><action>log_10 e</action></entry></row>
<row><entry>PI</entry><entry><action>pi</action></entry></row>
<row><entry>PI_2</entry><entry><action>pi/2</action></entry></row>
<row><entry>PI_4</entry><entry><action>pi/4</action></entry></row>
<row><entry>SQRT2</entry><entry><action>sqrt(2)</action></entry></row>
<row><entry>SQRT1_2</entry><entry><action>1/sqrt(2)</action></entry></row>

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

<sect1 id="parser-const-gsl">
<title>GSL constants</title>
<para>
For more information about this constants see the documentation of GSL.
</para>
<informaltable pgwide="1"><tgroup cols="2">

<thead><row><entry>Constant</entry><entry>Description</entry></row></thead>

<tbody>

<row><entry>c</entry><entry><action> The speed of light in vacuum</action></entry></row>
<row><entry>mu0</entry><entry><action>The permeability of free space</action></entry></row>
<row><entry>e0</entry><entry><action>The permittivity of free space</action></entry></row>
<row><entry>Na</entry><entry><action>Avogadro's number</action></entry></row>
<row><entry>F</entry><entry><action>The molar charge of 1 Faraday</action></entry></row>
<row><entry>k</entry><entry><action>The Boltzmann constant</action></entry></row>
<row><entry>R0</entry><entry><action>The molar gas constant</action></entry></row>
<row><entry>V0</entry><entry><action>The standard gas volume</action></entry></row>
<row><entry>Gauss</entry><entry><action>The magnetic field of 1 Gauss</action></entry></row>
<row><entry>mu</entry><entry><action>The length of 1 micron</action></entry></row>
<row><entry>ha</entry><entry><action>The area of 1 hectare</action></entry></row>
<row><entry>mph</entry><entry><action>The speed of 1 mile per hour</action></entry></row>
<row><entry>kmh</entry><entry><action>The speed of 1 kilometer per hour</action></entry></row>
<row><entry>au</entry><entry><action>The length of 1 astronomical unit (mean earth-sun distance)</action></entry></row>
<row><entry>G</entry><entry><action>The gravitational constant</action></entry></row>
<row><entry>ly</entry><entry><action>The distance of 1 light-year</action></entry></row>
<row><entry>pc</entry><entry><action>The distance of 1 parsec</action></entry></row>
<row><entry>g</entry><entry><action>The standard gravitational acceleration on Earth</action></entry></row>
<row><entry>ms</entry><entry><action>The mass of the Sun</action></entry></row>
<row><entry>e</entry><entry><action>The charge of the electron</action></entry></row>
<row><entry>eV</entry><entry><action>The energy of 1 electron volt</action></entry></row>
<row><entry>amu</entry><entry><action>The unified atomic mass</action></entry></row>
<row><entry>me</entry><entry><action>The mass of the electron</action></entry></row>
<row><entry>mmu</entry><entry><action>The mass of the muon</action></entry></row>
<row><entry>mp</entry><entry><action>The mass of the proton</action></entry></row>
<row><entry>mn</entry><entry><action>The mass of the neutron</action></entry></row>
<row><entry>alpha</entry><entry><action>The electromagnetic fine structure constant</action></entry></row>
<row><entry>Ry</entry><entry><action>The Rydberg constant</action></entry></row>
<row><entry>a0</entry><entry><action>The Bohr radius</action></entry></row>
<row><entry>A</entry><entry><action>The length of 1 angstrom</action></entry></row>
<row><entry>barn</entry><entry><action> The area of 1 barn</action></entry></row>
<row><entry>muB</entry><entry><action>The Bohr Magneton</action></entry></row>
<row><entry>muN</entry><entry><action>The Nuclear Magneton</action></entry></row>
<row><entry>mue</entry><entry><action>The magnetic moment of the electron</action></entry></row>
<row><entry>mup</entry><entry><action>The magnetic moment of the proton</action></entry></row>
<row><entry>min</entry><entry><action>The number of seconds in 1 minute</action></entry></row>
<row><entry>h</entry><entry><action>The number of seconds in 1 hour</action></entry></row>
<row><entry>d</entry><entry><action> The number of seconds in 1 day</action></entry></row>
<row><entry>week</entry><entry><action>The number of seconds in 1 week</action></entry></row>
<row><entry>in</entry><entry><action>The length of 1 inch</action></entry></row>
<row><entry>ft</entry><entry><action>The length of 1 foot</action></entry></row>
<row><entry>yard</entry><entry><action>The length of 1 yard</action></entry></row>
<row><entry>mile</entry><entry><action>The length of 1 mile</action></entry></row>
<row><entry>mil</entry><entry><action>The length of 1 mil (1/1000th of an inch)</action></entry></row>
<row><entry>nmile</entry><entry><action>The length of 1 nautical mile</action></entry></row>
<row><entry>fathom</entry><entry><action>The length of 1 fathom</action></entry></row>
<row><entry>knot</entry><entry><action>The speed of 1 knot</action></entry></row>
<row><entry>pt</entry><entry><action> The length of 1 printer's point (1/72 inch)</action></entry></row>
<row><entry>texpt</entry><entry><action>The length of 1 TeX point (1/72.27 inch)</action></entry></row>
<row><entry>acre</entry><entry><action>The area of 1 acre</action></entry></row>
<row><entry>ltr</entry><entry><action>The volume of 1 liter</action></entry></row>
<row><entry>us_gallon</entry><entry><action>The volume of 1 US gallon</action></entry></row>
<row><entry>can_gallon</entry><entry><action>The volume of 1 Canadian gallon</action></entry></row>
<row><entry>uk_gallon</entry><entry><action>The volume of 1 UK gallon</action></entry></row>
<row><entry>quart</entry><entry><action>The volume of 1 quart</action></entry></row>
<row><entry>pint</entry><entry><action>The volume of 1 pint</action></entry></row>
<row><entry>pound</entry><entry><action>The mass of 1 pound</action></entry></row>
<row><entry>ounce</entry><entry><action>The mass of 1 ounce</action></entry></row>
 <row><entry>ton</entry><entry><action>The mass of 1 ton</action></entry></row>
 <row><entry>mton</entry><entry><action>The mass of 1 metric ton (1000 kg)</action></entry></row>
 <row><entry>uk_ton</entry><entry><action>The mass of 1 UK ton</action></entry></row>
 <row><entry>troy_ounce</entry><entry><action>The mass of 1 troy ounce</action></entry></row>
 <row><entry>carat</entry><entry><action>The mass of 1 carat</action></entry></row>
 <row><entry>gram_force</entry><entry><action>The force of 1 gram weight</action></entry></row>
 <row><entry>pound_force</entry><entry><action>The force of 1 pound weight</action></entry></row>
 <row><entry>kilepound_force</entry><entry><action>The force of 1 kilopound weight</action></entry></row>
 <row><entry>poundal</entry><entry><action>The force of 1 poundal</action></entry></row>
<row><entry>cal</entry><entry><action>The energy of 1 calorie</action></entry></row>
 <row><entry>btu</entry><entry><action>The energy of 1 British Thermal Unit</action></entry></row>
 <row><entry>therm</entry><entry><action>The energy of 1 Therm</action></entry></row>
 <row><entry>hp</entry><entry><action>The power of 1 horsepower</action></entry></row>
<row><entry>bar</entry><entry><action>The pressure of 1 bar</action></entry></row>
 <row><entry>atm</entry><entry><action>The pressure of 1 standard atmosphere</action></entry></row>
 <row><entry>torr</entry><entry><action>The pressure of 1 torr</action></entry></row>
 <row><entry>mhg</entry><entry><action>The pressure of 1 meter of mercury</action></entry></row>
 <row><entry>inhg</entry><entry><action>The pressure of 1 inch of mercury</action></entry></row>
 <row><entry>inh2o</entry><entry><action>The pressure of 1 inch of water</action></entry></row>
 <row><entry>psi</entry><entry><action>The pressure of 1 pound per square inch</action></entry></row>
<row><entry>poise</entry><entry><action>The dynamic viscosity of 1 poise</action></entry></row>
 <row><entry>stokes</entry><entry><action>The kinematic viscosity of 1 stokes</action></entry></row>
<row><entry>stilb</entry><entry><action>The luminance of 1 stilb</action></entry></row>
 <row><entry>lumen</entry><entry><action>The luminous flux of 1 lumen</action></entry></row>
 <row><entry>lux</entry><entry><action>The illuminance of 1 lux</action></entry></row>
 <row><entry>phot</entry><entry><action>The illuminance of 1 phot</action></entry></row>
 <row><entry>ftcandle</entry><entry><action>The illuminance of 1 footcandle</action></entry></row>
<row><entry>lambert</entry><entry><action>The luminance of 1 lambert</action></entry></row>
<row><entry>ftlambert</entry><entry><action>The luminance of 1 footlambert</action></entry></row>
<row><entry>curie</entry><entry><action>The activity of 1 curie</action></entry></row>
 <row><entry>roentgen</entry><entry><action>The exposure of 1 roentgen</action></entry></row>
 <row><entry>rad</entry><entry><action>The absorbed dose of 1 rad</action></entry></row>

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

<para>
The following constants are the same constants in cgs system :
</para>
<informaltable pgwide="1"><tgroup cols="2">

<thead><row><entry>Constant</entry><entry>Description</entry></row></thead>

<tbody>

<row><entry>c_cgs</entry></row>
<row><entry>G_cgs</entry></row>
<row><entry>h_cgs</entry></row>
<row><entry>hbar_cgs</entry></row>
<row><entry>mu0_cgs</entry></row>
<row><entry>au_cgs</entry></row>
<row><entry>ly_cgs</entry></row>
<row><entry>pc_cgs</entry></row>
<row><entry>g_cgs</entry></row>
<row><entry>eV_cgs</entry></row>
<row><entry>me_cgs</entry></row>
<row><entry>mmu_cgs</entry></row>
<row><entry>mp_cgs</entry></row>
<row><entry>mn_cgs</entry></row>
<row><entry>Ry_cgs</entry></row>
<row><entry>k_cgs</entry></row>
<row><entry>muB_cgs</entry></row>
<row><entry>muN_cgs</entry></row>
<row><entry>mue_cgs</entry></row>
<row><entry>mup_cgs</entry></row>
<row><entry>R0_cgs</entry></row>
<row><entry>V0_cgs</entry></row>
<row><entry>in_cgs</entry></row>
<row><entry>ft_cgs</entry></row>
<row><entry>yard_cgs</entry></row>
<row><entry>mile_cgs</entry></row>
<row><entry>nile_cgs</entry></row>
<row><entry>fathom_cgs</entry></row>
<row><entry>mil_cgs</entry></row>
<row><entry>pt_cgs</entry></row>
<row><entry>texpt_cgs</entry></row>
<row><entry>mu_cgs</entry></row>
<row><entry>A_cgs</entry></row>
<row><entry>ha_cgs</entry></row>
<row><entry>acre_cgs</entry></row>
<row><entry>barn_cgs</entry></row>
<row><entry>ltr_cgs</entry></row>
<row><entry>us_gallon-cgs</entry></row>
<row><entry>quart_cgs</entry></row>
<row><entry>pint_cgs</entry></row>
<row><entry>cup_cgs</entry></row>
<row><entry>fluid_ouncs_cgs</entry></row>
<row><entry>tablespoon_cgs</entry></row>
<row><entry>teaspoon_cgs</entry></row>
<row><entry>can_gallon_cgs</entry></row>
<row><entry>uk_gallon_cgs</entry></row>
<row><entry>mph_cgs</entry></row>
<row><entry>kmh_cgs</entry></row>
<row><entry>knot_cgs</entry></row>
<row><entry>pound_cgs</entry></row>
<row><entry>ouncs_cgs</entry></row>
<row><entry>ton_cgs</entry></row>
<row><entry>mton_cgs</entry></row>
<row><entry>uk_ton_cgs</entry></row>
<row><entry>troy_ounce_cgs</entry></row>
<row><entry>carat_cgs</entry></row>
<row><entry>amu_cgs</entry></row>
<row><entry>gram_cgs</entry></row>
<row><entry>pound_force_cgs</entry></row>
<row><entry>kilopound_force_cgs</entry></row>
<row><entry>poundal_cgs</entry></row>
<row><entry>cal_cgs</entry></row>
<row><entry>btu_cgs</entry></row>
<row><entry>therm_cgs</entry></row>
<row><entry>hp_cgs</entry></row>
<row><entry>bar_cgs</entry></row>
<row><entry>atm_cgs</entry></row>
<row><entry>torr_cgs</entry></row>
<row><entry>mhg_cgs</entry></row>
<row><entry>inhg_cgs</entry></row>
<row><entry>inh2o_cgs</entry></row>
<row><entry>psi_cgs</entry></row>
<row><entry>poise_cgs</entry></row>
<row><entry>stokes_cgs</entry></row>
<row><entry>F_cgs</entry></row>
<row><entry>e_cgs</entry></row>
<row><entry>G_cgs</entry></row>
<row><entry>stilb_cgs</entry></row>
<row><entry>lumen_cgs</entry></row>
<row><entry>lux_cgs</entry></row>
<row><entry>phot_cgs</entry></row>
<row><entry>ftcandle_cgs</entry></row>
<row><entry>lambert_cgs</entry></row>
<row><entry>ftlambert_cgs</entry></row>
<row><entry>curie_cgs</entry></row>
<row><entry>roentgen_cgs</entry></row>
<row><entry>rad_cgs</entry></row>
<row><entry>sm_cgs</entry></row>
<row><entry>a0_cgs</entry></row>
<row><entry>e0_cgs</entry></row>

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

</chapter>


<chapter id="scripting">
<title>Scripting</title>

<para>This chapter explains the scripting interface of LabPlot that can help you to automate your work. With the use of the scripting interface you can get very productive and simplify your work when doing the same things often. With the knowledge of this interface you are able to completely control LabPlot remotely
.</para>

<sect1 id="qsa">
<title>QSA</title>

<para>LabPlot uses &Qt; Script for Applications (QSA) developed by Trolltech, Inc. It is released under two different licenses - one commercial  (that costs an arm and a leg) and the other GPL (free for download). The GPL version has some restrictions that are applicable to the case of a commercially developed application.
</para>

<para>
Of course LabPlot needs to be build with QSA support. For &kde; 3 (based on &Qt; 3) you need version 1.1.X of QSA.
</para>

<sect2 id="qsa-scripts">
<title>Using Scripts</title>

<para>
Scripts are small files that contain instructions to be executed. Since LabPlot can interpret such scripts it can be automated using this. Scripts can be created and edited with your favorite text editor or by using the QSA Workbench (Can be found in the LabPlot menu under "Script->QSA Workbench..."). If the icons in the Workbench are missing check out the
<link linkend="workbench"> Workbench Chapter</link>.
</para>

<para>
To execute a script you can call 
<userinput><command>LabPlot</command> <replaceable>script.qs</replaceable></userinput> 
from the commandline or drag and drop a script on the desktop into LabPlot.
You can also use the dialog "Script->Open Script" in LabPlot to execute a script.
</para>

<para>
LabPlot is divided into a bunch of classes. For most scripting needs, you need to know only a few of them. For every operation you just call the corresponding function on the LabPlot classes.

All available functions can be found in the classes reference at http://cvs.sourceforge.net/viewcvs.py/*checkout*/labplot/doc/html/hierarchy.html.
</para>

<para>
All MainWin functions can be called directly. Let start with

<screen>importData("sample.dat");</screen>

This simply imports the data file "sample.dat" into a Spreadsheet in LabPlot. You can see it in the screenshot.

<screenshot>
<screeninfo>import</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="small_pics/qsa-import.png" format="PNG" />
</imageobject>
<textobject>
<phrase>import</phrase>
</textobject>
</mediaobject>
</screenshot>

</para>

<para>
If you now want to work with the Spreadsheet you have to call the corresponding Spreadsheet function. Let's say we want to make a 2D Plot

<screen>
importData("sample.dat");
s = activeSpreadsheet();
s.plot2DSimple();
</screen>

The result is

<screenshot>
<screeninfo>plot from spreadsheet</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="small_pics/qsa-plot.png" format="PNG" />
</imageobject>
<textobject>
<phrase>plot</phrase>
</textobject>
</mediaobject>
</screenshot>

Now we want to work on the Plot. We have to get the Worksheet and the active Plot of it. The script looks like that:


<screen>
importData("sample.dat");
s = activeSpreadsheet();
s.plot2DSimple();
w = activeWorksheet();
p = w.get2DPlot(w.API());
p.setBackground("green");
w.redraw();
</screen>

With the result that we have a green background

<screenshot>
<screeninfo>work on plot</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="small_pics/qsa-green.png" format="PNG" />
</imageobject>
<textobject>
<phrase>green</phrase>
</textobject>
</mediaobject>
</screenshot>

</para>

<para>
A complete script that imports data and changes some settings before saving the result as EPS would look like this:

<screen>
importData("sample-data/sin.dat");

s = activeSpreadsheet();
s.plot2DSimple();

w = activeWorksheet();
p = w.get2DPlot(w.API());

p.setBackground("green");
p.setGraphBackground("lightblue");

r = p.ActRange(0);
r.setRange(250,750);
r = p.ActRange(1);
r.setRange(-2,2);

l = p.getLegend();
l.setPosition(.5,.4);

t = p.Title();
t.setTitle("example title");
t.setRotation(10);

a = p.getAxis(0);
a.enableMajorGrid();
ll = a.getLabel();
ll.setTitle("different x axis");
font = new Font("SanSerif");
a.setTickLabelFont(font);

p.setMarksEnabled();
mark = p.markX();
mark.setRange(450,550);

p.setRegionEnabled();
p.setRegion(350,650);

// w.redraw();

exportEPS("export.eps");
exit();
</screen>


The used functions should be quite self-explanatory. the resulting EPS then looks like that

<screenshot>
<screeninfo>complete session</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="small_pics/qsa-session.png" format="PNG" />
</imageobject>
<textobject>
<phrase>session</phrase>
</textobject>
</mediaobject>
</screenshot>

</para>

<para>
This is basically all you need to know about writing scripts.
More examples can be found in the directory examples/scripts/ of the source distribution or in the data directory of LabPlot.
</para>

</sect2>

<sect2 id="script-specials">
<title>Specials</title>
<para>
For a detailed description of the QSA syntax check out the QSA documentation.
All enumerations available in &LabPlot; can also be used in Scripts, check out the global script labplot.qs.
</para>

<para>
With QSA it is also possible to use dialogs to enter filenames, etc. . The following example
uses a dialog to enter a data file name:

<screen>
d = new ImportDialog();

var filename = FileDialog.getOpenFileName( "*.dat" );
if (filename) {
        d.setFilename(filename);
        d.Apply();
}

</screen>

</para>
</sect2>

</sect1>

</chapter>


<chapter id="examples">
<title>Examples</title>
<para>In this chapter you will find explanations of the example projects of LabPlot. You can find all the examples under
Help-&gt;Examples except specified</para>

<table id="example-table">
<title>Example Projects for LabPlot</title>

<tgroup cols="3"><tbody>
<row><entry>Screenshot</entry><entry>Name</entry><entry>Description</entry></row>
<row><entry><screenshot><mediaobject><imageobject>
      <imagedata fileref="small_pics/axeslabel-small.png" format="PNG"/>
    </imageobject></mediaobject></screenshot>
	</entry><entry>axes label</entry>
	<entry>this example shows how to use different axes label. The shown function is filled to the baseline.</entry></row>
<row><entry><screenshot><mediaobject><imageobject>
      <imagedata fileref="small_pics/rydberg-small.png" format="PNG"/>
    </imageobject></mediaobject></screenshot>
	</entry><entry>rydberg spectra</entry><entry>this example shows a Rydberg spectra measured by photoexcitation of 
	metastable helium in a magneto optical trap.</entry></row>
<row><entry><screenshot><mediaobject><imageobject>
      <imagedata fileref="small_pics/log-small.png" format="PNG"/>
    </imageobject></mediaobject></screenshot>
	</entry><entry>log axis scale</entry><entry>this example uses logarithmic axis scales with custom tic label 
	</entry></row>
<row><entry><screenshot><mediaobject><imageobject>
      <imagedata fileref="small_pics/audio-small.png" format="PNG"/>
    </imageobject></mediaobject></screenshot>
	</entry><entry>audio data</entry><entry>this example shows data read from an audio file</entry></row>
<row><entry><screenshot><mediaobject><imageobject>
      <imagedata fileref="small_pics/marker-small.png" format="PNG"/>
    </imageobject></mediaobject></screenshot>
	</entry><entry>marker</entry><entry>this example shows a usage of marker</entry></row>
<row><entry><screenshot><mediaobject><imageobject>
      <imagedata fileref="small_pics/texlabel-small.png" format="PNG"/>
    </imageobject></mediaobject></screenshot>
	</entry><entry>TeX label</entry><entry>this example uses a TeX label</entry></row>
<row><entry><screenshot><mediaobject><imageobject>
      <imagedata fileref="small_pics/analysis-small.png" format="PNG"/>
    </imageobject></mediaobject></screenshot>
	</entry><entry>analysis</entry><entry>this example shows the difference between the three analysis functions prune,
		average and smooth. Here you can see different styles and symbols for showing data.</entry></row>
<row><entry><screenshot><mediaobject><imageobject>
      <imagedata fileref="small_pics/fft-small.png" format="PNG"/>
    </imageobject></mediaobject></screenshot>
	</entry><entry>simple fft</entry><entry>this example shows how a simple fourier transform might look like.</entry></row>
<row><entry><screenshot><mediaobject><imageobject>
      <imagedata fileref="small_pics/hist-small.png" format="PNG"/>
    </imageobject></mediaobject></screenshot>
	</entry><entry>histogram</entry><entry>this example shows a sample histogram of a periodic function.</entry></row>
<row><entry><screenshot><mediaobject><imageobject>
      <imagedata fileref="small_pics/fit-small.png" format="PNG"/>
    </imageobject></mediaobject></screenshot>
	</entry><entry>nonlinear fitting</entry><entry>this example shows a nonlinear lorentzian fit of a sample data set in a
		 specified region.</entry></row>
<row><entry><screenshot><mediaobject><imageobject>
      <imagedata fileref="small_pics/exponential_fit-small.png" format="PNG"/>
    </imageobject></mediaobject></screenshot>
	</entry><entry>exponential fit</entry>
	<entry>this example shows how an exponential fit of sample data should look like.</entry></row>
<row><entry><screenshot><mediaobject><imageobject>
      <imagedata fileref="small_pics/logfit-small.png" format="PNG"/>
    </imageobject></mediaobject></screenshot>
	</entry><entry>log fit</entry>
	<entry>this example shows an exponential fit inside a logarithmic plot.</entry></row>
<row><entry><screenshot><mediaobject><imageobject>
      <imagedata fileref="small_pics/surface-small.png" format="PNG"/>
    </imageobject></mediaobject></screenshot>
	</entry><entry>surface</entry><entry>this example shows a simple surface plot with density and contour plot of a used
	 defined function. The color palette is chosen to nicely show the function values.</entry></row>
<row><entry><screenshot><mediaobject><imageobject>
      <imagedata fileref="small_pics/surfacestyle-small.png" format="PNG"/>
    </imageobject></mediaobject></screenshot>
	</entry><entry>surface style</entry><entry>this example shows the same data set as surface plot in different styles. 
	</entry></row>
<row><entry><screenshot><mediaobject><imageobject>
      <imagedata fileref="small_pics/3d-small.png" format="PNG"/>
    </imageobject></mediaobject></screenshot>
	</entry><entry>3d</entry><entry>this example shows a simple 3 dimensional plot created from a function.</entry></row>
<row><entry><screenshot><mediaobject><imageobject>
      <imagedata fileref="small_pics/objects-small.png" format="PNG"/>
    </imageobject></mediaobject></screenshot>
	</entry><entry>drawing objects</entry><entry>this example shows how to use drawing objects in LabPlot.</entry></row>
<row><entry><screenshot><mediaobject><imageobject>
      <imagedata fileref="small_pics/image-small.png" format="PNG"/>
    </imageobject></mediaobject></screenshot>
	</entry><entry>images</entry><entry>this example shows a surface plot created from an image file (utm.xpm).</entry></row>
<row><entry><screenshot><mediaobject><imageobject>
      <imagedata fileref="small_pics/pie-small.png" format="PNG"/>
    </imageobject></mediaobject></screenshot>
	</entry><entry>pie plot</entry>
	<entry>this example shows a simple pie plot created from two dimensional data</entry></row>
<row><entry><screenshot><mediaobject><imageobject>
      <imagedata fileref="small_pics/bar-small.png" format="PNG"/>
    </imageobject></mediaobject></screenshot>
	</entry><entry>bar plot</entry>
	<entry>this example shows the usage of the bar style for x and y ranges.</entry></row>
<row><entry><screenshot><mediaobject><imageobject>
      <imagedata fileref="small_pics/multiplot-small.png" format="PNG"/>
    </imageobject></mediaobject></screenshot>
	</entry><entry>multiple plots</entry><entry>this example shows the usage of multiple plots per worksheet. Here you can s
		see four different types of plot arranged 2x2 with gap=0.05.</entry></row>
<row><entry><screenshot><mediaobject><imageobject>
      <imagedata fileref="small_pics/qwt3d-small.png" format="PNG"/>
    </imageobject></mediaobject></screenshot>
	</entry><entry>qwt 3d plot</entry><entry>this example shows the usage of a qwt 3 dimensional plot. 
		This example uses a customized colormap and the "flooriso" style to make the contour lines on the floor.</entry></row>
<row><entry><screenshot><mediaobject><imageobject>
      <imagedata fileref="small_pics/surface2-small.png" format="PNG"/>
    </imageobject></mediaobject></screenshot>
	</entry><entry>another surface plot</entry><entry>this is another example for a surface plot. This example shows how
		logarithmic axis scales can be used her too.</entry></row>
<row><entry><screenshot><mediaobject><imageobject>
      <imagedata fileref="small_pics/polar-small.png" format="PNG"/>
    </imageobject></mediaobject></screenshot>
	</entry><entry>polar plot</entry><entry>this example shows a simple polar plot created from functions</entry></row>
<row><entry><screenshot><mediaobject><imageobject>
      <imagedata fileref="small_pics/ternary-small.png" format="PNG"/>
    </imageobject></mediaobject></screenshot>
	</entry><entry>ternary plot</entry><entry>this example shows a ternary plot created with some data</entry></row>
<row><entry><screenshot><mediaobject><imageobject>
      <imagedata fileref="small_pics/sfi-small.png" format="PNG"/>
    </imageobject></mediaobject></screenshot>
	</entry><entry>sfi (only on download site)</entry><entry>this example introduces overlayed plots by showing a selective
		field ionization spectra overlayed with the field ramp.</entry></row>
</tbody></tgroup>
</table>

</chapter>

<chapter id="bugs">
<title>Known Bugs</title>

<sect1>
<title>Known Bugs</title>
<para>
Here you find a list of known bugs. For a more detailed list please take a look at the TODO file in the LabPlot package.
</para>

<qandaset id="buglist">

<qandaentry><question>
<para>pstoedit sometimes doesn't work correct.</para>
</question>
<answer><para>
pstoedit has sometimes problems when converting postscript files created by &Qt;. Especially with truetype fonts &Qt; seems
to create corrupted postscript files. These postscript files may look good when using ghostscript but fail when
converting them with pstoedit.
</para>
<para>
I haven't found a solution for this problem and finally changed the standard fonts of LabPlot to use fonts that
produces no problems with pstoedit. I hope this get fixed in a future release of &Qt;.
</para></answer>
</qandaentry>

<qandaentry><question>
<para>LabPlot crashes on SuSE 9.0 on startup.</para>
</question>
<answer><para>
The original &Qt; package of SuSE 9.0 has a bug when rotating text. So all applications using this
library to rotate text are crashing. SuSE provides an updated &Qt; package for SuSE 9.0 on their
website. So please update the &Qt; package.
</para>
<para>
Unfortunately the text rotation of &Qt; on SuSE 9.0 still has a bug so that the single letters of a string
are not rotated. To fix this you should update to SuSE 9.1 on which &Qt; text rotation works perfectly.
</para></answer>
</qandaentry>

<qandaentry><question>
<para>ImageMagick can't be used on FreeBSD 4-stable.</para>
</question>
<answer><para>
When compiling LabPlot on FreeBSD 4-stable and you have ImageMagick there seems to be a problem that
only appears on FreeBSD 4 :
</para>
<para>
	/usr/include/sys/cdefs.h:273: warning:  `_POSIX_C_SOURCE' is not defined
</para>
<para>
I have no idea what the problem is. If someone can fix this please send me a note. By now the only thing
to do is to deactivate ImageMagick (--disable-ImageMagick) when compiling.
</para></answer>
</qandaentry>

<qandaentry><question>
<para>When using the KPart object of LabPlot the window can't be resized.</para>
</question>
<answer><para>
When resizing the window to the desired size please reload the page with the KPart. That should fix this bug.
</para></answer>
</qandaentry>

</qandaset>
</sect1>

</chapter>


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

<qandaset id="faqlist">

<qandaentry>
<question>
<para>For which platforms is LabPlot available?</para>
</question>
<answer>
<para>
LabPlot is developed for Unix platforms and uses the &Qt; toolkit and &kde;. Normally you can expect LabPlot
to build and run on every platform &kde; (&gt;=3) supports.
A recent list of supported platforms and tips for compiling and running LabPlot can be found on
<ulink url="http://labplot.sf.net/wiki?Download">
http://labplot.sf.net/wiki?Download.</ulink>
</para>
<para>I personally have access and can support the following platforms :
<itemizedlist>
<listitem><para>SuSE 10.0 (main development platform)</para></listitem>
<listitem><para>SuSE 9.3</para></listitem>
<listitem><para>SuSE 9.1</para></listitem>
<listitem><para>Fedora Core 4</para></listitem>
<listitem><para>Fedora Core 3</para></listitem>
<listitem><para>RedHat 9</para></listitem>
<listitem><para>Mandriva 2006</para></listitem>
<listitem><para>Mandrake 10.1</para></listitem>
<listitem><para>Mandrake 10.0</para></listitem>
<listitem><para>Slackware 10</para></listitem>

</itemizedlist>
With the help from some volunteers the following platforms are also known to work :
<itemizedlist>
<listitem><para>Debian 3.0</para></listitem>
<listitem><para>FreeBSD 4,5</para></listitem>
<listitem><para>PLD 2.0</para></listitem>
<listitem><para>CentOS 4</para></listitem>
</itemizedlist>
</para>
<para>
If you like to test and compile LabPlot on any other platform (like Solaris, Xantos, Windows, etc.),
please let me know. If you encounter any problem during compilation i may be able to help.
</para>
</answer>
</qandaentry>

<qandaentry>
<question>
<para>After compiling and starting LabPlot i only see a "File" and a "Help" menu. The toolbars are completely
empty. Whats wrong?</para>
</question>
<answer>
<para>
LabPlot uses the standard way for creating the graphical user interface (GUI) of &kde; applications. The GUI of
LabPlot is described in the file "LabPlotui.rc" which needs to be installed in the correct &kde; path so that
&kde; can build the menu, the toolbars, etc. On normal &kde; installation "./configure --prefix=$KDEDIR ; make
; make install" should put all files in the correct directories. (e.g. $KDEDIR/share/apps/LabPlot/ for
"LabPlotui.rc"). Please have a look at your distribution on where to install the needed files.
</para>
<para>
It is also possible to use a user defined directory for shared files used by &kde;. This extra directories can be specified in the
environment variable KDEDIRS.
So when installing LabPlot under /usr/local you just need to add "/usr/local" to the KDEDIRS environment
variable before starting &kde;.
</para>
</answer>
</qandaentry>

<qandaentry><question>
<para>How do i export the active worksheet as image?</para>
</question>
<answer><para>
There are three ways to export the active worksheet as image. The standard way is to use "File-&gt;Export To
Image". All &Qt; supported image formats are allowed. Just select the desired format and the active worksheet is
exported.
The second way to export as an image is to use "File-&gt;Export via pstoedit". Here the active worksheet is
exported to Postscript and then internally converted to the selected format via pstoedit. A lot of non-image formats (like
PDF or DXF) is supported too. You can select the image size, scale and rotation in this dialog.
The third way to export to an image is to use "File-&gt;Export via ImageMagick". LabPlot uses the ImageMagick
library to convert to all possible image formats (over 200 image formats are supported by ImageMagick). Like in
"Export via pstoedit" you can select size, scale and rotation of the image.
</para></answer>
</qandaentry>

<qandaentry>
<question>
<para>Some analysis functions are not working. What can i do?</para>
</question>
<answer>
<para>
LabPlot uses the GNU Scientific Library (gsl) for regression, histograms, fourier transform and
nonlinear fitting.
You can use LabPlot even if you don't have the gsl installed, but you wont be able to use the above
mentioned functions. So please install the gsl if you want to use this features.
</para>
</answer>
</qandaentry>

<qandaentry>
<question>
<para>How do i use greek letters for title, axes label, etc.?</para>
</question>
<answer>
<para>
LabPlot uses the font "greek times" which was available on SuSE until version 9.0.
You just have to install the package xfntgreek-1.0-560.noarch.rpm to make this font available.
If everything works you should be able to see the greek letters (lower and upper case) in the Label Dialog and you can use them for the label.
</para>
</answer>
</qandaentry>

<qandaentry>
<question>
<para>How do i use LabPlot objects,plots,etc. in my own application?</para>
</question>
<answer>
<para>
Since the 1.2.3 release of LabPlot all classes of LabPlot are collected in the library libLabPlot. At the moment
you should have a look at the source packages for the documentation of all classes.
After testing how the library can be used i will improve the documentation application programming interface (API) for the
library by using doxygen. Please mail me if you have any questions.
Additionally I created a KPart object for LabPlot projects so  you can display and edit a LabPlot *.lpl file
in your application. Please have a look at the &kde; documentation on how to use &kde; KParts objects.
</para>
</answer>
</qandaentry>


<qandaentry>
<question>
<para>I miss an important feature. What can i do?</para>
</question>
<answer>
<para>
Please take a look at the TODO file in the documentation of LabPlot.
Here all planed features are listed in more or
less sorted order which i will implement in future releases of LabPlot.
If you like to have additional
features or like to have a listed feature soon, mail me your wishes and, if possible, send me
example data or a short
description of what you like to do.
It is not unlikely that your feature will appear in the next stable release
of LabPlot :-)
</para>
</answer>
</qandaentry>

<qandaentry><question>
<para>I want to help. How can i contribute to LabPlot?</para>
</question>
<answer><para>
Yes, of course. There are a lot things to do. Even if you don't know anything about programming i always
need people to find bugs, test things and make suggestions. Also the translation and documentation always
needs a lot of work. Just mail me if you need any help.
</para></answer>
</qandaentry>


</qandaset>
</chapter>

<chapter id="license">

<title>License</title>

<para>&LabPlot;</para>
<para>
Program copyright 2006 Stefan Gerlach <email>gerlach@mbi-berlin.de</email>
</para>

<para>
Remember : &LabPlot; is still under development.
There is a long list of missing features that will be implemented in later versions of &LabPlot;.
</para>

<para>
Because there are a lot things to do, I need every help i can get. Any contribution like wishes, corrections,
patches, bug reports or screen shots is welcome.
</para>

<para>
Documentation copyright 2006 Stefan Gerlach
<email>gerlach@mbi-berlin.de</email>
</para>

&underFDL;
&underGPL;

</chapter>

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

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

<para>
&LabPlot; can be found on its homepage at sourceforge.net :
<ulink url="http://labplot.sf.net">http://labplot.sf.net</ulink>. 
There is an overview about all available packages at
<ulink url="http://labplot.sf.net/wiki?Download">http://labplot.sf.net/wiki?Download</ulink>.
</para>
</sect1>

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

<para>
In order to successfully use &LabPlot;, you need at least a standard &kde; 3.0 installation.
</para>

<para>
The following libraries are included in the &LabPlot; distribution :
</para>
<itemizedlist>
<listitem><para>Cephes Math Library Release 2.3:  June, 1995 : adapted from Grace
for using of powerful mathematical functions (parser) [Free]</para></listitem>
<listitem><para>qwtplot3d 0.2.4beta : provide OpenGL 3D plots. Used in QWT 3D plot.</para></listitem>
<listitem><para>qtiffio library : support for tiff image format</para></listitem>
<listitem><para>audiofile 0.2.5 : support for reading/writing audio files [LGPL]</para></listitem>
<listitem><para>netcdf 3.5.0 : support for reading/writing Unidata Network Common Data Form (netCDF) files 
[see netcdf/COPYRIGHT]</para></listitem>
<listitem><para>libundo 0.8.2 : support for Undo/Redo (not used at the moment)</para></listitem>
</itemizedlist>

<para>
Optional &LabPlot; uses following programs/libraries when available :
</para>

<itemizedlist>
<listitem><para>
GNU scientific library (GSL) : used for special functions in the parser and most of the analysis functions.
</para></listitem>
<listitem><para>
Fastest Fourier Transform in the West (fftw or fftw3) : used for fourier transform.
</para></listitem>
<listitem><para>
pstoedit : For exporting to *.eps,*.dxf,*.fig, etc. via pstoedit you need pstoedit installed.
</para></listitem>
<listitem><para>
Imagemagick/ImageMagick-C++ : For exporting to more than 100 image formats you need ImageMagick++ installed.
</para></listitem>
<listitem><para>
&Qt; Script for Applications : used for scripting and plugins for LabPlot.
</para></listitem>
<listitem><para>JasPer library : support for JPEG 2000 image format</para></listitem>
<listitem><para>cdf : support for reading/writing Common Data Form (CDF) files</para></listitem>
</itemizedlist>


</sect1>

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

<para>
In order to compile and install &LabPlot; on your system type the following
in the base directory of &LabPlot; distribution:
<screen width="40">
<prompt>%</prompt> <userinput>./configure</userinput>
<prompt>%</prompt> <userinput>make</userinput>
<prompt>%</prompt> <userinput>make install</userinput>
</screen>
</para>
<para>Since &LabPlot; uses autoconf and automake you should have not trouble compiling it.
For many systems RPM or DEB packages are available.
Please check out the download section of the &LabPlot; homepage for all supported platforms.
Should you run into problems please report them to the author of &LabPlot;.</para>

</sect1>

</appendix>

</book>
