# The &cantor; Handbook

Alexander Rieder alexanderrieder@gmail.com
2009 Alexander Rieder
&FDLNotice;
2014-05-09
0.5 (&kde; 4.14)

&cantor; is an application, aimed at providing a nice worksheet view to other Free Software Math packages.

KDE kdeedu mathematics math Cantor Sage Python Lua Scilab R Maxima

## Introduction

&cantor; is an application to allow you to you use your favorite mathematical applications from within an elegant &kde;-integrated Worksheet Interface. It provides dialogs to assist with common tasks and allows you to share your worksheets with others.

## Using &cantor;

Screenshot: Here is a screenshot of &cantor;

Screenshot

### &cantor; features

- Intuitive worksheet view for evaluating expressions.

- Results of graph plotting shown inside the worksheet.

- Easy plugin-based structure to allow different backends to be added.

- GetHotNewStuff integration to allow example worksheets to be downloaded (or uploaded.)

- Mathematical formula typesetting using &latex;.

- Backend-aware syntax highlighting.

- Plugin-based assistant dialogs to help with common tasks, such as integrating a function, or entering a matrix.

### The &cantor; backends

&cantor; offers you several choices for the backends you wish to use with it. The choice to make depends on what you want to achieve.

Currently the following backends are available:

Sage:

  Sage is a free open-source mathematics software system licensed under the GPL. It combines the power of many existing open-source packages, within a common Python-based interface. See http://sagemath.org for more information.

Maxima:

  Maxima is a system for the manipulation of symbolic and numeric expressions, including differentiation, integration, Taylor series, Laplace transforms, ordinary differential equations, systems of linear equations, polynomials, sets, lists, vectors, matrices, and tensors. Maxima yields high-precision numeric results by using exact fractions, arbitrary precision integers, and variable precision floating point numbers. Maxima can plot functions and data in two and three dimensions. See http://maxima.sourceforge.net for more information.

R:

  R is a language and environment for statistical computing and graphics, similar to the S language and environment. It provides a wide variety of statistical (linear and nonlinear modelling, classical statistical tests, time-series analysis, classification, clustering, ...) and graphical techniques, and is highly extensible. The S language is often the vehicle of choice for research in statistical methodology, and R provides an open-source route to this. See http://www.r-project.org for more information.

&kalgebra;:

  &kalgebra; is a MathML-based graph calculator, that ships with &kde; Education project. See http://edu.kde.org/kalgebra/ for more information.

Qalculate!:

  Qalculate! is not your regular software replication of the cheapest available calculator. Qalculate! aims to make full use of the superior interface, power and flexibility of modern computers. The center of attention in Qalculate! is the expression entry. Instead of entering each number in a mathematical expression separately, you can directly write the whole expression and later modify it. The interpretation of expressions is flexible and fault tolerant, and if you nevertheless do something wrong, Qalculate! will tell you so. Not fully solvable expressions are however not errors. Qalculate! will simplify as far as it can and answer with an expression. In addition to numbers and arithmetic operators, an expression may contain any combination of variables, units, and functions. See http://qalculate.sourceforge.net/ for more information.

Python2:

  Python is a remarkably powerful dynamic programming language that is used in a wide variety of application domains. There are several Python packages to scientific programming.

  Python is distributed under Python Software Foundation license (GPL compatible). See the official website for more information.

  This backend adds an additional item to the &cantor;'s main menu, Package. The only item of this menu is Package Import Package. This item can be used to import Python packages to the worksheet.

  This backend supports Python 2 only.

Scilab:

  Scilab is an free software, cross-platform numerical computational package and a high-level, numerically oriented programming language.

  Scilab is distributed under CeCILL license (GPL compatible). See http://www.scilab.org/ for more information.

  You need Scilab version 5.5 or higher to be installed in your system to make this backend usable.

Octave:

  &GNU; Octave is a high-level language, primarily intended for numerical computations. It provides a convenient command line interface for solving linear and nonlinear problems numerically, and for performing other numerical experiments using a language that is mostly compatible with MATLAB. See http://www.gnu.org/software/octave/ for more information.

Lua:

  Lua is a fast and lightweight scripting language, with a simple procedural syntax. There are several libraries in Lua aimed at math and science.

  See http://www.lua.org/ for more information.

  This backend supports luajit 2.

### The &cantor; Workspace

Screenshot of the &cantor; Workspace

Screenshot of the &cantor; Workspace

The Worksheet interface of &cantor; consists of three parts:

1. The tab bar, where you can switch through the open worksheets.

2. A help panel, where help for a specific command is displayed if you enter "? command".

3. A Variable Manager panel where you can see the list of all available variables on the current worksheet. The Help and Variable Manager panels are shown as tabs on a sidebar of a &cantor; window. Variable manager can be used for Maxima (if enabled on Settings Configure &cantor;... Maxima page), &kalgebra;, Octave, Python2, Qalculate, and Scilab backends only.

4. The worksheet itself.

#### The Worksheet

The worksheet is the basic area for working with &cantor;. Using it, you can enter expressions, allow the backend to perform calculations, and look at the results. The commands the worksheets accept depend on the chosen backend, so you should learn the appropriate backend syntax (the Show Help button takes you there directly). If you know the command, but you need additional information, you can type "? command", and contextual help will appear on the right of the worksheet. If you want to see some example worksheets, you can go to Download Example Worksheets in the File menu, and download worksheets other users have published.

To control each command entry of the worksheet you can use control buttons shown at the right part of the worksheet when hovering the entry field with a mouse cursor. There are three basic actions for each entry: Evaluate Entry to update the result of calculations for the entry, Drag Entry to move the entry at the other place of the current worksheet and Remove Entry to remove the entry from the current worksheet.

Font settings and alignment of worksheet entries can be changed using a toolbar above the worksheet.

##### Settings

The Settings menu allows you to change some settings of the appearance of your current worksheet.

Typesetting using &latex;

  This setting changes the way results are presented to you. If enabled, it passes the result through the &latex; system, to produce visually appealing formulas. For example, 3*x^2*sqrt(2)*x+2/3 becomes

  3*x^2*sqrt(2)*x+2/3
Syntax Highlighting

  Syntax Highlighting increases the readability of code, by highlighting keywords, or matching brackets in different colors.

Completion

  When this is enabled, &cantor; will show you possible completions for the command you are currently typing when you press the Tab-key. If there is only one choice remaining, it will insert the rest of the command for you.

Line Numbers

  This setting controls whether the different expressions should have a number in front. This allows you to recall older results - in Maxima, for instance, this is done with the %O1 command.

Animate Worksheet

  This setting controls whether the different animations will be used to highlight changes on a worksheet.

## Command Reference

### The main &cantor; window

&cantor; has the common &kde; menu items, for more information read the Menu chapter of the &kde; Fundamentals.

Additional or special menu items in &cantor;:

#### The File Menu

&Ctrl;N File New

  Creates a new worksheet with the default backend.

File New Backend

  Creates a new worksheet with the chosen backend.

File Download Example Worksheets

  Opens the dialog to download examples uploaded by other &cantor; users with GetHotNewStuff.

File Open Example

  Opens the dialog to choose an example to load. The examples should be downloaded with File Download Example Worksheets beforehand.

File Save Plain Text

  Allows saving the current worksheet as a plain text document.

File Export to LaTeX

  Allows saving the current worksheet as a &latex; document.

File Publish Worksheet

  Opens the dialog to publish your current worksheet and make it available to other &cantor; users through GetHotNewStuff.

File Run Script

  Allows to load and run the batch scripts for the current backend.

#### The View Menu

&Ctrl;+ View Zoom In

  Zoom in the current worksheet by 10%.

&Ctrl;- View Zoom Out

  Zoom out the current worksheet by 10%.

View Show Script Editor

  Opens the batch script editor window for the current backend.

View Panels Help

  Toggles the visibility of the Help tab in the sidebar.

View Panels Variable Manager

  Toggles the visibility of the Variable Manager tab in the sidebar.

#### The Worksheet Menu

Worksheet Evaluate Worksheet

  Triggers the evaluation of the whole worksheet.

&Shift;Return Worksheet Evaluate Entry

  Triggers the current entry evaluation.

&Ctrl;Return Worksheet Insert Command Entry

  Inserts a new command entry below the current cursor position.

Worksheet Insert Text Entry

  Inserts a new text entry below the current cursor position.

Worksheet Insert Image

  Inserts the image template below the current cursor position. You will need to click with &RMB; at the template to configure the image details.

Worksheet Insert Page Break

  Inserts the page break below the current cursor position.

&Shift;Del Worksheet Remove current Entry

  Removes current entry from the worksheet.

#### The Settings Menu

This menu contains standard &kde; Settings items, as well as the items described in Settings section.

#### The Help Menu

&help.menu.documentation;

## Developer's Guide to &cantor;

&cantor; is easily extendable by plugins. You can write

Backends:

  A new backend enables you to use the &cantor; interface with a different program.

Assistants:

  Assistants provide dialogs to allow common tasks to be automated (such entering a matrix or running a script.)

At present, there are no special developer tutorials or API documentation, so if you want to write a plugin you will have to read through the sources. All interface definitions are in the `lib` directory. For some example implementations, look at the plugins shipped with &cantor;.

## Questions and Answers

&reporting.bugs; &updating.documentation;

The Menu Item Typeset using LaTeX is not available

Not every backend supports every option. Current version supports &latex; output for Maxima, Qalculate! and Sage backends.

I have installed Sage/Maxima, but the appropriate backend does not appear.

One possible explanation is that &cantor; did not correctly detect the location. Go to the Settings Configure &kappname;... dialog and change the Path to the appropriate application.

What a peculiar name - what does it have to do with mathematics?

&cantor; is named after the German mathematician Georg Cantor, the creator of set theory.

## Credits and License

&cantor;

Program copyright 2009-2011 Alexander Rieder alexanderrieder@gmail.com

Documentation Copyright © 2009-2011 Alexander Rieder alexanderrieder@gmail.com

&underFDL; &underGPL;

## Installation

### How to obtain &cantor;

&install.intro.documentation;

### Requirements

In order to successfully use &cantor;, you need &kde; 4. If you want support for type-setting to be enabled, you need to install &latex; and LibSpectre. To use the different Backends, the appropriate math package is required.

### Compilation and Installation

&install.compile.documentation;

### Configuration

Depending on your system, you may need to adjust the paths to the different applications used by &cantor;.

&documentation.index;