7573 lines
128 KiB
Plaintext
7573 lines
128 KiB
Plaintext
#LyX 2.3 created this file. For more info see http://www.lyx.org/
|
||
\lyxformat 544
|
||
\begin_document
|
||
\begin_header
|
||
\save_transient_properties true
|
||
\origin unavailable
|
||
\textclass scrartcl
|
||
\begin_preamble
|
||
\usepackage{tikz}
|
||
\usepackage{pgffor}
|
||
\end_preamble
|
||
\options DIV=11
|
||
\use_default_options false
|
||
\maintain_unincluded_children false
|
||
\language english
|
||
\language_package default
|
||
\inputencoding auto
|
||
\fontencoding global
|
||
\font_roman "newcent" "default"
|
||
\font_sans "default" "default"
|
||
\font_typewriter "default" "default"
|
||
\font_math "auto" "auto"
|
||
\font_default_family default
|
||
\use_non_tex_fonts false
|
||
\font_sc false
|
||
\font_osf false
|
||
\font_sf_scale 100 100
|
||
\font_tt_scale 100 100
|
||
\use_microtype false
|
||
\use_dash_ligatures true
|
||
\graphics default
|
||
\default_output_format default
|
||
\output_sync 0
|
||
\bibtex_command default
|
||
\index_command default
|
||
\paperfontsize default
|
||
\spacing single
|
||
\use_hyperref true
|
||
\pdf_title "Teapot User Guide"
|
||
\pdf_author "Michael Haardt, Jörg Walter"
|
||
\pdf_bookmarks true
|
||
\pdf_bookmarksnumbered true
|
||
\pdf_bookmarksopen true
|
||
\pdf_bookmarksopenlevel 2
|
||
\pdf_breaklinks false
|
||
\pdf_pdfborder true
|
||
\pdf_colorlinks false
|
||
\pdf_backref false
|
||
\pdf_pdfusetitle true
|
||
\papersize default
|
||
\use_geometry false
|
||
\use_package amsmath 1
|
||
\use_package amssymb 1
|
||
\use_package cancel 1
|
||
\use_package esint 1
|
||
\use_package mathdots 0
|
||
\use_package mathtools 1
|
||
\use_package mhchem 1
|
||
\use_package stackrel 1
|
||
\use_package stmaryrd 1
|
||
\use_package undertilde 1
|
||
\cite_engine basic
|
||
\cite_engine_type default
|
||
\biblio_style plain
|
||
\use_bibtopic false
|
||
\use_indices false
|
||
\paperorientation portrait
|
||
\suppress_date false
|
||
\justification true
|
||
\use_refstyle 0
|
||
\use_minted 0
|
||
\index Index
|
||
\shortcut idx
|
||
\color #008000
|
||
\end_index
|
||
\secnumdepth 3
|
||
\tocdepth 3
|
||
\paragraph_separation indent
|
||
\paragraph_indentation default
|
||
\is_math_indent 0
|
||
\math_numbering_side default
|
||
\quotes_style english
|
||
\dynamic_quotes 0
|
||
\papercolumns 1
|
||
\papersides 1
|
||
\paperpagestyle fancy
|
||
\tracking_changes false
|
||
\output_changes false
|
||
\html_math_output 0
|
||
\html_css_as_file 0
|
||
\html_be_strict false
|
||
\end_header
|
||
|
||
\begin_body
|
||
|
||
\begin_layout Title
|
||
Teapot User Guide
|
||
\end_layout
|
||
|
||
\begin_layout Author
|
||
Michael Haardt, Jörg Walter, Glen Whitney
|
||
\end_layout
|
||
|
||
\begin_layout Date
|
||
\begin_inset CommandInset href
|
||
LatexCommand href
|
||
name " http://www.syntax-k.de/projekte/teapot"
|
||
target "http://www.syntax-k.de/projekte/teapot"
|
||
literal "false"
|
||
|
||
\end_inset
|
||
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Publishers
|
||
\begin_inset CommandInset href
|
||
LatexCommand href
|
||
name "https://code.studioinfinity.org/glen/teapot-spreadsheet"
|
||
target "https://code.studioinfinity.org/glen/teapot-spreadsheet"
|
||
literal "false"
|
||
|
||
\end_inset
|
||
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Abstract
|
||
For ages, spreadsheet programs have been closely associated with financial
|
||
calculations done by typical end-users.
|
||
But time has shown that there is also hacker's work which can be done with
|
||
them, like calculate monitor timings for various resolutions, or produce
|
||
convincing time statistics which justify the lack of documentation or the
|
||
need for a budget increase to your employer.
|
||
The first part of this user guide explains how the various functions of
|
||
teapot are used, whereas the second part gives an introduction to spreadsheets
|
||
and explains the expression evaluator and its functions.
|
||
\end_layout
|
||
|
||
\begin_layout Standard
|
||
\begin_inset CommandInset toc
|
||
LatexCommand tableofcontents
|
||
|
||
\end_inset
|
||
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Standard
|
||
\begin_inset Newpage newpage
|
||
\end_inset
|
||
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Section
|
||
Copyright, Contributors and License
|
||
\end_layout
|
||
|
||
\begin_layout Standard
|
||
|
||
\noun on
|
||
teapot
|
||
\noun default
|
||
(Table Editor And Planner, Or: Teapot), is copyrighted 1995–2006 by Michael
|
||
Haardt, and 2009–2010 by Jörg Walter, and 2019 by Glen Whitney, and is
|
||
licensed under the Gnu General Public License v3 or later.
|
||
\end_layout
|
||
|
||
\begin_layout Standard
|
||
The implementation of clocked expressions is modelled after the description
|
||
of clocked evaluation in the PhD work of Jörg Wittenberger at the University
|
||
of Technology in Dresden, Germany.
|
||
The trigonometric functions were inspired by Koniorczyk Mátyás.
|
||
The context output format was contributed by Marko Schuetz.
|
||
\end_layout
|
||
|
||
\begin_layout Standard
|
||
The (currently unused) message catalogs were contributed by Guido Müsch,
|
||
Wim van Dorst, and Volodymyr M.
|
||
Lisivka.
|
||
\end_layout
|
||
|
||
\begin_layout Standard
|
||
This program is free software: you can redistribute it and/or modify it
|
||
under the terms of the GNU General Public License as published by the Free
|
||
Software Foundation, either version 3 of the License, or (at your option)
|
||
any later version.
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Standard
|
||
This program is distributed in the hope that it will be useful, but WITHOUT
|
||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
||
FOR A PARTICULAR PURPOSE.
|
||
See the GNU General Public License for more details.
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Standard
|
||
You should have received a copy of the GNU General Public License v3 along
|
||
with this program.
|
||
If not, see <
|
||
\begin_inset CommandInset href
|
||
LatexCommand href
|
||
target "http://www.gnu.org/licenses/"
|
||
literal "false"
|
||
|
||
\end_inset
|
||
|
||
>.
|
||
\end_layout
|
||
|
||
\begin_layout Section
|
||
Introduction to Spreadsheets
|
||
\end_layout
|
||
|
||
\begin_layout Subsection
|
||
General Introduction
|
||
\end_layout
|
||
|
||
\begin_layout Standard
|
||
A spreadsheet consists of cells formed by rows and columns.
|
||
Additionally, in many spreadsheets you have a third dimension, which you
|
||
can imagine as various layers laying on top of each other.
|
||
The third dimension allows you to hide intermediate results, calculate
|
||
additional results you do not want to appear in the
|
||
\begin_inset Quotes eld
|
||
\end_inset
|
||
|
||
official
|
||
\begin_inset Quotes erd
|
||
\end_inset
|
||
|
||
tables, keep information per time period (like 12 layers for each month
|
||
in a year) while allowing you to make calculations over the entire time
|
||
interval and much more.
|
||
Figure
|
||
\begin_inset CommandInset ref
|
||
LatexCommand ref
|
||
reference "fig:Three-Dimensional-Spread-Sheet"
|
||
|
||
\end_inset
|
||
|
||
shows the three dimensions:
|
||
\end_layout
|
||
|
||
\begin_layout Standard
|
||
\begin_inset Float figure
|
||
placement h
|
||
wide false
|
||
sideways false
|
||
status open
|
||
|
||
\begin_layout Plain Layout
|
||
\align center
|
||
\begin_inset ERT
|
||
status open
|
||
|
||
\begin_layout Plain Layout
|
||
|
||
{
|
||
\backslash
|
||
color{white}
|
||
\backslash
|
||
hrule}
|
||
\end_layout
|
||
|
||
\begin_layout Plain Layout
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Plain Layout
|
||
|
||
|
||
\backslash
|
||
begin{tikzpicture}[scale=.1,anchor=west]
|
||
\end_layout
|
||
|
||
\begin_layout Plain Layout
|
||
|
||
|
||
\backslash
|
||
foreach
|
||
\backslash
|
||
z in {0,2,4,6}
|
||
\backslash
|
||
filldraw[fill=white,ystep=1,xstep=3,shift={(0,0,
|
||
\backslash
|
||
z)}] (0,0) rectangle (60,10) (0,0) grid (60,10);
|
||
\end_layout
|
||
|
||
\begin_layout Plain Layout
|
||
|
||
|
||
\backslash
|
||
draw[->] (70,10,10) -- +(30,0,0) node{x};
|
||
\end_layout
|
||
|
||
\begin_layout Plain Layout
|
||
|
||
|
||
\backslash
|
||
draw[->] (70,10,10) -- +(0,-10,0) node{y};
|
||
\end_layout
|
||
|
||
\begin_layout Plain Layout
|
||
|
||
|
||
\backslash
|
||
draw[->] (70,10,10) -- +(0,0,-10) node{z};
|
||
\end_layout
|
||
|
||
\begin_layout Plain Layout
|
||
|
||
|
||
\backslash
|
||
end{tikzpicture}
|
||
\end_layout
|
||
|
||
\begin_layout Plain Layout
|
||
|
||
{
|
||
\backslash
|
||
color{white}
|
||
\backslash
|
||
hrule}
|
||
\end_layout
|
||
|
||
\end_inset
|
||
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Plain Layout
|
||
\begin_inset Caption Standard
|
||
|
||
\begin_layout Plain Layout
|
||
\begin_inset CommandInset label
|
||
LatexCommand label
|
||
name "fig:Three-Dimensional-Spread-Sheet"
|
||
|
||
\end_inset
|
||
|
||
Three-Dimensional Spread Sheet Layout
|
||
\end_layout
|
||
|
||
\end_inset
|
||
|
||
|
||
\end_layout
|
||
|
||
\end_inset
|
||
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Standard
|
||
You can think of cells as variables, which value is the value of an associated
|
||
expression.
|
||
The expression may be constant, like 1.23, or it may be a function of other
|
||
cell values.
|
||
The advantage compared to a programmable calculator is that if you change
|
||
a number, you directly see all changes in other cells caused by that.
|
||
Often this allows you to get a feeling how much you may change basic sizes
|
||
with still getting satisfying results without having to solve the problem
|
||
analytically.
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Standard
|
||
Spreadsheets offer many editing functions in order to modify, clear, copy
|
||
and move cells or blocks of cells.
|
||
Besides the usual mathematical functions, there are functions which work
|
||
on blocks of cells, like calculating the sum of a block or counting all
|
||
non-empty elements.
|
||
Further there are functions working on character strings, because most
|
||
likely you also want text besides numbers.
|
||
The next section will introduce you to some of these by examples.
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Standard
|
||
teapot is a traditional spreadsheet and a typical UNIX program, because
|
||
it does just one thing: Calculations.
|
||
It does not include any graphics functions and never will, but it allows
|
||
to export data in many formats, so you can use your favourite graphics
|
||
software.
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Subsection
|
||
The First Steps
|
||
\end_layout
|
||
|
||
\begin_layout Standard
|
||
Now that you have an idea what teapot is about, it is probably a good time
|
||
to take your first steps with it.
|
||
This section will show you how to create and save a sheet which contains
|
||
two numbers and their sum.
|
||
Start the program without any arguments
|
||
\begin_inset Foot
|
||
status collapsed
|
||
|
||
\begin_layout Plain Layout
|
||
If you are using the graphical version of teapot, please see section
|
||
\begin_inset CommandInset ref
|
||
LatexCommand vref
|
||
reference "subsec:Differences-Between-User"
|
||
|
||
\end_inset
|
||
|
||
.
|
||
\end_layout
|
||
|
||
\end_inset
|
||
|
||
:
|
||
\end_layout
|
||
|
||
\begin_layout Quote
|
||
|
||
\family typewriter
|
||
teapot
|
||
\end_layout
|
||
|
||
\begin_layout Standard
|
||
You see an empty sheet with the cell cursor being at the upper left corner.
|
||
Further, the status line tells you that this cell is really empty:
|
||
\end_layout
|
||
|
||
\begin_layout Quote
|
||
|
||
\family typewriter
|
||
E @(0,0,0)=
|
||
\family default
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Standard
|
||
The
|
||
\family typewriter
|
||
E
|
||
\family default
|
||
means that you can edit the sheet.
|
||
A
|
||
\family typewriter
|
||
V
|
||
\family default
|
||
would mean that you could only view its contents.
|
||
The meaning of
|
||
\family typewriter
|
||
@()
|
||
\family default
|
||
will be explained soon.
|
||
You are now in the command mode of teapot.
|
||
Press the
|
||
\series bold
|
||
Enter
|
||
\series default
|
||
key to edit this cell.
|
||
A complete list of command mode functions will be given later.
|
||
A prompt will appear below the status line:
|
||
\end_layout
|
||
|
||
\begin_layout Quote
|
||
|
||
\family typewriter
|
||
Cell contents:
|
||
\family default
|
||
|
||
\series bold
|
||
1
|
||
\series default
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Standard
|
||
Now the cell at position 0,0,0 has the integer constant 1.
|
||
The status line shows you the cell contents, whereas in the sheet you see
|
||
its value.
|
||
Since constants are identical with their values, both are 1.
|
||
Now move the cell cursor down one row and edit that cell, giving it the
|
||
integer constant
|
||
\family typewriter
|
||
41
|
||
\family default
|
||
.
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Standard
|
||
Now that you have two numbers, move the cell cursor to cell 0,2,0 and give
|
||
that cell the following contents:
|
||
\end_layout
|
||
|
||
\begin_layout Quote
|
||
|
||
\family typewriter
|
||
Cell contents:
|
||
\family default
|
||
|
||
\series bold
|
||
@(0,0,0)+@(0,1,0)
|
||
\series default
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Standard
|
||
If you were confused about the difference between contents and value of
|
||
a cell, it should become more clear now: The status line shows the contents,
|
||
which is the arithmetic expression to calculate the sum of two cells, whereas
|
||
in the sheet you see the value of that expression: 42, which was to be
|
||
expected.
|
||
|
||
\family typewriter
|
||
@(
|
||
\family default
|
||
\shape italic
|
||
x
|
||
\family typewriter
|
||
\shape default
|
||
,
|
||
\family default
|
||
\shape italic
|
||
y
|
||
\family typewriter
|
||
\shape default
|
||
,
|
||
\family default
|
||
\shape italic
|
||
z
|
||
\family typewriter
|
||
\shape default
|
||
)
|
||
\family default
|
||
is a function which takes three coordinates and returns the value of the
|
||
cell at the given position.
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Standard
|
||
As you can see, the arithmetic expression is not too readable.
|
||
If you would move cells around, it would not even work any more.
|
||
For these reasons, you can use symbolic names instead of coordinates, called
|
||
labels.
|
||
When used in an expression, a label is like a pointer to a cell, its data
|
||
type is
|
||
\emph on
|
||
location
|
||
\emph default
|
||
.
|
||
Move to cell 0,0,0 and use
|
||
\series bold
|
||
/
|
||
\series default
|
||
(slash) in command mode to get into the main menu.
|
||
Depending on your screen size, you may not see all of it.
|
||
In this case, move the highlighted block right (or left) to scroll through
|
||
it and to see all items.
|
||
Now change its label attribute: A)ttributes, L)abel:
|
||
\end_layout
|
||
|
||
\begin_layout Quote
|
||
|
||
\family typewriter
|
||
Cell label:
|
||
\family default
|
||
|
||
\series bold
|
||
Paper
|
||
\end_layout
|
||
|
||
\begin_layout Standard
|
||
Then go one cell down and change its label to
|
||
\series bold
|
||
Tapes
|
||
\series default
|
||
.
|
||
After, move again one cell down and change the expression to:
|
||
\end_layout
|
||
|
||
\begin_layout Quote
|
||
|
||
\family typewriter
|
||
Cell contents:
|
||
\family default
|
||
|
||
\series bold
|
||
@(Paper)+@(Tapes)
|
||
\end_layout
|
||
|
||
\begin_layout Standard
|
||
As you see, you can call the function
|
||
\family typewriter
|
||
@
|
||
\family default
|
||
with three integer values or with one location value.
|
||
Now the expression is more understandable, at least to you.
|
||
To someone else, the sheet only contained three numbers, so a little text
|
||
should be added.
|
||
To accomplish that, a new column needs to be inserted: B)lock, I)insert,
|
||
C)olumn, W)hole column.
|
||
The last menu item means that you want to insert a whole new column, not
|
||
only a partial column.
|
||
If you move the cursor around, you will see that everything is still fine,
|
||
because you used labels.
|
||
Go to cell 0,0,0 and edit it:
|
||
\end_layout
|
||
|
||
\begin_layout Quote
|
||
|
||
\family typewriter
|
||
Cell contents:
|
||
\family default
|
||
|
||
\series bold
|
||
"Paper:"
|
||
\end_layout
|
||
|
||
\begin_layout Standard
|
||
This is how you enter strings.
|
||
A string is a data type on its own, don't confuse this with labels.
|
||
If you feel like it, leave the quotes and the colon away, and you will
|
||
see the difference, because the result will not be a string, but the value
|
||
of the label
|
||
\family typewriter
|
||
Paper
|
||
\family default
|
||
, which is
|
||
\family typewriter
|
||
&(1,0,0)
|
||
\family default
|
||
.
|
||
Now change the cells below to
|
||
\series bold
|
||
"Tapes:"
|
||
\series default
|
||
and
|
||
\series bold
|
||
"Result:"
|
||
\series default
|
||
.
|
||
This is something that is understandable to others, too.
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Standard
|
||
As the last step, save your work sheet to a file: F)ile, S)ave.
|
||
The native file format is XDR, so choose that.
|
||
Up to now, your sheet does not have a name, so you will be prompted for
|
||
one:
|
||
\end_layout
|
||
|
||
\begin_layout Quote
|
||
|
||
\family typewriter
|
||
New file name:
|
||
\family default
|
||
|
||
\series bold
|
||
firststep
|
||
\end_layout
|
||
|
||
\begin_layout Standard
|
||
Unless you see an error message after, your sheet is written to a file.
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Standard
|
||
If you have come this far, quit (from the main menu) and you have successfully
|
||
completed your first steps on using teapot.
|
||
Now you know cells, the difference between contents and values, you learned
|
||
that labels are a good thing and you can do simple cell modifications as
|
||
well as saving your work.
|
||
This is enough for most applications.
|
||
If the capabilities described in the next section confuse you, then it
|
||
is unlikely that you need them really.
|
||
Just skip that section and don't worry about it.
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Standard
|
||
You may wonder what happens if you have circular dependencies, i.e.
|
||
you have a cell which evaluates to its own value plus one.
|
||
Well, the answer is that it depends on the order in which you create this
|
||
cell.
|
||
If you first give it the value 1 and after edit it to contain the expression
|
||
which refers to itself plus 1, then you will find that each recalculation,
|
||
like after editing other cells, will increase the value.
|
||
While this may be funny, it is certainly not useful as you can not reset
|
||
the cell and you have little control of its development.
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Standard
|
||
What you really want is a base value and an iterative expression along with
|
||
a way to control the recalculations.
|
||
teapot supports this by allowing two expressions per cell.
|
||
The expressions you have used so far are the ones which evaluate to the
|
||
base values.
|
||
Each time you edit a cell, the whole sheet will be reset, which means that
|
||
all results are recalculated using the base values.
|
||
After, you can clock the sheet, which is why the iterative part is also
|
||
called clocked expression.
|
||
A clock is an atomic operation, which means that all cell results will
|
||
be recalculated in a way that the new result will only show after the entire
|
||
recalculation.
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Standard
|
||
An examples will demonstrate how to make use of this feature.
|
||
The notation
|
||
\shape italic
|
||
x
|
||
\shape default
|
||
->
|
||
\shape italic
|
||
y
|
||
\shape default
|
||
means that
|
||
\shape italic
|
||
x
|
||
\shape default
|
||
is the base expression and
|
||
\shape italic
|
||
y
|
||
\shape default
|
||
is the clocked expression.
|
||
Don't let this confuse you, as both are entered separately: teapot does
|
||
not have an -> operator, but it displays the cell contents this way for
|
||
increased overview.
|
||
So, give the cell a base expression of
|
||
\family typewriter
|
||
1
|
||
\family default
|
||
and a clocked expression of
|
||
\family typewriter
|
||
@(0,0,0)+1
|
||
\family default
|
||
(using
|
||
\series bold
|
||
ESC-Enter
|
||
\series default
|
||
or
|
||
\series bold
|
||
Meta-Enter
|
||
\series default
|
||
) and you will see:
|
||
\end_layout
|
||
|
||
\begin_layout Quote
|
||
|
||
\family typewriter
|
||
@(0,0,0)=1 -> @(0,0,0)+1
|
||
\end_layout
|
||
|
||
\begin_layout Standard
|
||
The sheet is currently in reset condition and the result is 1.
|
||
Now clock it and you will see how the value increases.
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Standard
|
||
After this introductory chapter, you should be familiar with the basic concepts
|
||
in spread sheets.
|
||
The next chapters explain all functions available in detail.
|
||
You should read them to get an overview of the possibilities offered by
|
||
teapot.
|
||
Finally, we will come back to using teapot by showing some common problems
|
||
and their solutions.
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Subsection
|
||
\begin_inset CommandInset label
|
||
LatexCommand label
|
||
name "subsec:Differences-Between-User"
|
||
|
||
\end_inset
|
||
|
||
Differences Between User Interfaces
|
||
\end_layout
|
||
|
||
\begin_layout Standard
|
||
|
||
\noun on
|
||
teapot
|
||
\noun default
|
||
comes in two flavours: A mouse-and-keyboard operated graphical application
|
||
and a traditional console-based program.
|
||
Large parts of this manual were written when the GUI version didn't exist,
|
||
so there may be occasional inconsistencies.
|
||
Note that the executable name for the graphical version of teapot is typically
|
||
|
||
\family typewriter
|
||
fteapot
|
||
\family default
|
||
, so to follow the tutorial above with the GUI version, start with that
|
||
command instead of
|
||
\family typewriter
|
||
teapot
|
||
\family default
|
||
.
|
||
\end_layout
|
||
|
||
\begin_layout Standard
|
||
Most notably, a few key bindings don't exist.
|
||
If something doesn't work as described in here, refer to the pull-down
|
||
menus, where all functionality can be found.
|
||
In addition to the common keys, the GUI variant has extended mouse and
|
||
keyboard bindings that work similarly to other GUI applications.
|
||
The table in the following section attempts to summarize all bindings from
|
||
both variants.
|
||
\end_layout
|
||
|
||
\begin_layout Section
|
||
Command Mode
|
||
\end_layout
|
||
|
||
\begin_layout Standard
|
||
Right after starting teapot, you are in the command mode.
|
||
Many functions from the command mode are also available from menus, but
|
||
using keys is faster and some things, like moving the cell cursor, are
|
||
only available through keys.
|
||
Tables
|
||
\begin_inset CommandInset ref
|
||
LatexCommand vref
|
||
reference "tab:Key-Bindings-in"
|
||
|
||
\end_inset
|
||
|
||
through
|
||
\begin_inset CommandInset ref
|
||
LatexCommand vref
|
||
reference "tab:Key-Bindings-in-2"
|
||
plural "false"
|
||
caps "false"
|
||
noprefix "false"
|
||
|
||
\end_inset
|
||
|
||
list all available key bindings
|
||
\begin_inset Foot
|
||
status collapsed
|
||
|
||
\begin_layout Plain Layout
|
||
If you are using the graphical version of teapot, please see section
|
||
\begin_inset CommandInset ref
|
||
LatexCommand vref
|
||
reference "subsec:Differences-Between-User"
|
||
|
||
\end_inset
|
||
|
||
.
|
||
\end_layout
|
||
|
||
\end_inset
|
||
|
||
.
|
||
If a binding is only available in the console variant, it is enclosed in
|
||
square brackets; if the binding only works in the graphical variant, it
|
||
is in curly braces (the mnemonic for this notation is that square brackets
|
||
are
|
||
\begin_inset Quotes eld
|
||
\end_inset
|
||
|
||
plain
|
||
\begin_inset Quotes erd
|
||
\end_inset
|
||
|
||
and curly braces are
|
||
\begin_inset Quotes eld
|
||
\end_inset
|
||
|
||
fancy
|
||
\begin_inset Quotes erd
|
||
\end_inset
|
||
|
||
).
|
||
\end_layout
|
||
|
||
\begin_layout Standard
|
||
\begin_inset Float table
|
||
placement !tbh
|
||
wide false
|
||
sideways false
|
||
status open
|
||
|
||
\begin_layout Plain Layout
|
||
\begin_inset Tabular
|
||
<lyxtabular version="3" rows="19" columns="3">
|
||
<features tabularvalignment="middle">
|
||
<column alignment="left" valignment="top" width="6cm">
|
||
<column alignment="left" valignment="top">
|
||
<column alignment="left" valignment="top">
|
||
<row>
|
||
<cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
|
||
\series bold
|
||
Cursor Motions
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
</row>
|
||
<row>
|
||
<cell alignment="left" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
Function Key
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
ASCII Key
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
Function
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
</row>
|
||
<row>
|
||
<cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
Next Character/Right Arrow
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
[Ctrl-F]
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
Right
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
</row>
|
||
<row>
|
||
<cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
Prev.
|
||
Character/Left Arrow
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
[Ctrl-B]
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
Left
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
</row>
|
||
<row>
|
||
<cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
Next Line/Down Arrow
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
[Ctrl-N]
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
Down
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
</row>
|
||
<row>
|
||
<cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
Previous Line/Up Arrow
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
[Ctrl-P]
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
Up
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
</row>
|
||
<row>
|
||
<cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
{Shift-PageDown}
|
||
\end_layout
|
||
|
||
\begin_layout Plain Layout
|
||
{Click on right of layer number}
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
[+]
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
Next Layer
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
</row>
|
||
<row>
|
||
<cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
{Shift-PageUp}
|
||
\end_layout
|
||
|
||
\begin_layout Plain Layout
|
||
{Click on left of layer number}
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
- (Dash/Minus)
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
Previous Layer
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
</row>
|
||
<row>
|
||
<cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
Begin/Home
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
[Ctrl-A]
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
To column 0
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
</row>
|
||
<row>
|
||
<cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
End
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
[Ctrl-E]
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
To last column
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
</row>
|
||
<row>
|
||
<cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
{Ctrl-Home} {Ctrl-PageUp}
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
[<]
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
To row 0
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
</row>
|
||
<row>
|
||
<cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
{Ctrl-End} {Ctrl-PageDown}
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
[>]
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
To last row
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
</row>
|
||
<row>
|
||
<cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
{Shift-Home}
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
[_ (Underscore)]
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
To Layer 0
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
</row>
|
||
<row>
|
||
<cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
{Shift-End}
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
[*]
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
To last layer
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
</row>
|
||
<row>
|
||
<cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
[Ctrl-X >]
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
Jump one page right
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
</row>
|
||
<row>
|
||
<cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
[Ctrl-X >]
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
Jump one page left
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
</row>
|
||
<row>
|
||
<cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
PageDown {Ctrl-Down}
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
[Ctrl-V]
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
Jump one page down
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
</row>
|
||
<row>
|
||
<cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
PageUp {Ctrl-Up}
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
[Meta-V]
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
Jump one page up
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
</row>
|
||
<row>
|
||
<cell alignment="left" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
{Ctrl-G}
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
Go to arbitrary location
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
</row>
|
||
</lyxtabular>
|
||
|
||
\end_inset
|
||
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Plain Layout
|
||
\begin_inset Caption Standard
|
||
|
||
\begin_layout Plain Layout
|
||
\begin_inset CommandInset label
|
||
LatexCommand label
|
||
name "tab:Key-Bindings-in"
|
||
|
||
\end_inset
|
||
|
||
Cursor Motion Key Bindings in Command Mode
|
||
\end_layout
|
||
|
||
\end_inset
|
||
|
||
|
||
\end_layout
|
||
|
||
\end_inset
|
||
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Standard
|
||
\begin_inset Float table
|
||
placement !tbh
|
||
wide false
|
||
sideways false
|
||
status open
|
||
|
||
\begin_layout Plain Layout
|
||
\begin_inset Tabular
|
||
<lyxtabular version="3" rows="14" columns="3">
|
||
<features tabularvalignment="middle">
|
||
<column alignment="left" valignment="top" width="5cm">
|
||
<column alignment="left" valignment="top">
|
||
<column alignment="left" valignment="top">
|
||
<row>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
|
||
\series bold
|
||
Program Control
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
</row>
|
||
<row>
|
||
<cell alignment="left" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
Function Key
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
ASCII Key
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
Function
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
</row>
|
||
<row>
|
||
<cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
F10
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
[/]
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
Main menu
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
</row>
|
||
<row>
|
||
<cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
F3
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
[Ctrl-X Ctrl-S] {Ctrl-S}
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
Save sheet
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
</row>
|
||
<row>
|
||
<cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
{Ctrl-Shift-S}
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
Save sheet as...
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
</row>
|
||
<row>
|
||
<cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
[Esc z]
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
Save sheet and quit
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
</row>
|
||
<row>
|
||
<cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
F2
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
[Ctrl-X Ctrl-R] {Ctrl-O}
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
Load sheet
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
</row>
|
||
<row>
|
||
<cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
{Meta-F}
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
Activate File menu
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
</row>
|
||
<row>
|
||
<cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
{Meta-V}
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
Activate View menu
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
</row>
|
||
<row>
|
||
<cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
{Meta-O}
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
Activate fOrmat menu
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
</row>
|
||
<row>
|
||
<cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
{Meta-H}
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
Activate Help menu
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
</row>
|
||
<row>
|
||
<cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
Ctrl-L
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
Redraw screen
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
</row>
|
||
<row>
|
||
<cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
[Ctrl-C] [Ctrl-G] {Esc}
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
Abort current action
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
</row>
|
||
<row>
|
||
<cell alignment="left" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
Cancel
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
[Ctrl-X Ctrl-C] {Ctrl-Q}
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
Quit
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
</row>
|
||
</lyxtabular>
|
||
|
||
\end_inset
|
||
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Plain Layout
|
||
\begin_inset Caption Standard
|
||
|
||
\begin_layout Plain Layout
|
||
\begin_inset CommandInset label
|
||
LatexCommand label
|
||
name "tab:Key-Bindings-in-1"
|
||
|
||
\end_inset
|
||
|
||
Program Control Key Bindings in Command Mode
|
||
\end_layout
|
||
|
||
\end_inset
|
||
|
||
|
||
\end_layout
|
||
|
||
\end_inset
|
||
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Standard
|
||
\begin_inset Float table
|
||
placement !tbh
|
||
wide false
|
||
sideways false
|
||
status open
|
||
|
||
\begin_layout Plain Layout
|
||
\begin_inset Tabular
|
||
<lyxtabular version="3" rows="26" columns="3">
|
||
<features tabularvalignment="middle">
|
||
<column alignment="left" valignment="top" width="5cm">
|
||
<column alignment="left" valignment="top">
|
||
<column alignment="left" valignment="top">
|
||
<row>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
|
||
\series bold
|
||
Modify Cells/Blocks
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
</row>
|
||
<row>
|
||
<cell alignment="left" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
Function Key
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
ASCII Key
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
Function
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
</row>
|
||
<row>
|
||
<cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
Enter
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
[Ctrl-J] [Ctrl-M]
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
Edit cell contents
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
</row>
|
||
<row>
|
||
<cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
Backspace
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
[Ctrl-H]
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
Edit cell and delete last character
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
</row>
|
||
<row>
|
||
<cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
\begin_inset Quotes eld
|
||
\end_inset
|
||
|
||
, @,
|
||
\emph on
|
||
digit
|
||
\emph default
|
||
,
|
||
\emph on
|
||
letter
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
Overwrite cell contents
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
</row>
|
||
<row>
|
||
<cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
Meta-Enter
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
[Esc Ctrl-J] [Esc Ctrl-M]
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
Edit clocked cell contents
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
</row>
|
||
<row>
|
||
<cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
.
|
||
(Period)
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
Start/End Mark block (see text)
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
</row>
|
||
<row>
|
||
<cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
{Shift-Right} {Shift-Left}
|
||
\end_layout
|
||
|
||
\begin_layout Plain Layout
|
||
{Shift-Down} {Shift-Up}
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
Start Mark and Move
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
</row>
|
||
<row>
|
||
<cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
{Ctrl-Insert}
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
{Ctrl-C}
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
Copy cell/text/block; End Mark
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
</row>
|
||
<row>
|
||
<cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
{Shift-Delete}
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
{Ctrl-X}
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
Designate block for moving; End Mark
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
</row>
|
||
<row>
|
||
<cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
{Shift-Insert}
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
[Ctrl-Y] {Ctrl-V}
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
Paste/move block
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
</row>
|
||
<row>
|
||
<cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
{Delete}
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
Clear block
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
</row>
|
||
<row>
|
||
<cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
{Meta-A}
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
Set cell label
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
</row>
|
||
<row>
|
||
<cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
{Meta-B}
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
Toggle cell/block bold
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
</row>
|
||
<row>
|
||
<cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
{Meta-U}
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
Toggle cell/block underlined
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
</row>
|
||
<row>
|
||
<cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
{Meta-L}
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
Make cell/block left justified
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
</row>
|
||
<row>
|
||
<cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
{Meta-C}
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
Make cell/block centered
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
</row>
|
||
<row>
|
||
<cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
{Meta-R}
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
Make cell/block right justified
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
</row>
|
||
<row>
|
||
<cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
{Meta-P}
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
Set cell/block precision
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
</row>
|
||
<row>
|
||
<cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
{Meta-W}
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
Set column width
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
</row>
|
||
<row>
|
||
<cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
{Meta-S}
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
Set cell/block scientific notation
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
</row>
|
||
<row>
|
||
<cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
{Meta-E}
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
Toggle cell/block shadowed
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
</row>
|
||
<row>
|
||
<cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
{Meta-T}
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
Toggle cell/block transparent
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
</row>
|
||
<row>
|
||
<cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
{Meta-I}
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
Toggle cell/block ignored
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
</row>
|
||
<row>
|
||
<cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
Ctrl-R
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
Reset sheet
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
</row>
|
||
<row>
|
||
<cell alignment="left" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
F9, {Shift-Tab}
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
[Ctrl-S]
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
Clock sheet
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
</row>
|
||
</lyxtabular>
|
||
|
||
\end_inset
|
||
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Plain Layout
|
||
\begin_inset Caption Standard
|
||
|
||
\begin_layout Plain Layout
|
||
\begin_inset CommandInset label
|
||
LatexCommand label
|
||
name "tab:Key-Bindings-in-2"
|
||
|
||
\end_inset
|
||
|
||
Key Bindings that Modify Cells in Command Mode
|
||
\end_layout
|
||
|
||
\end_inset
|
||
|
||
|
||
\end_layout
|
||
|
||
\end_inset
|
||
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Standard
|
||
One command-mode key in particular needs additional explanation.
|
||
The .
|
||
(Period) marks blocks: The first time it is pressed marks the beginning
|
||
of a block, which is then extended by moving the cell cursor.
|
||
The next time, it marks the end of the block which lets you move the cell
|
||
cursor after without changing the block.
|
||
The third time, it removes the block marks again.
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Section
|
||
The Line Editor
|
||
\end_layout
|
||
|
||
\begin_layout Standard
|
||
Many functions in teapot require editing a line of text, e.g.
|
||
editing cell contents, typing file names and the line.
|
||
Similar to the command mode, all things can be reached by control codes
|
||
and most by function keys.
|
||
Table
|
||
\begin_inset CommandInset ref
|
||
LatexCommand vref
|
||
reference "tab:Key-Bindings-forLineEditor"
|
||
|
||
\end_inset
|
||
|
||
lists all available key bindings, again with brackets for those keys that
|
||
only work in the console variant and curly braces for the graphical variant.
|
||
\end_layout
|
||
|
||
\begin_layout Standard
|
||
\begin_inset Float table
|
||
wide false
|
||
sideways false
|
||
status open
|
||
|
||
\begin_layout Plain Layout
|
||
\begin_inset Tabular
|
||
<lyxtabular version="3" rows="16" columns="3">
|
||
<features tabularvalignment="middle">
|
||
<column alignment="left" valignment="top">
|
||
<column alignment="left" valignment="top">
|
||
<column alignment="left" valignment="top">
|
||
<row>
|
||
<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
Function Key
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
ASCII Key
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
Function
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
</row>
|
||
<row>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
Previous Character/Left Arrow
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
[Ctrl-B]
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
Move cursor left
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
</row>
|
||
<row>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
Next Character/Right Arrow
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
[Ctrl-F]
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
Move cursor right
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
</row>
|
||
<row>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
Begin/Home
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
[Ctrl-A]
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
Move cursor to column 0
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
</row>
|
||
<row>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
End
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
[Ctrl-E]
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
Move cursor to last column
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
</row>
|
||
<row>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
Enter
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
[Ctrl-J] [Ctrl-M]
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
Finish editing/accept line
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
</row>
|
||
<row>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
Ctrl-L
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
Redraw screen
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
</row>
|
||
<row>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
[Ctrl-T]
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
Transpose characters
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
</row>
|
||
<row>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
[Ctrl-
|
||
\backslash
|
||
]
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
Go to matching paren
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
</row>
|
||
<row>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
Cancel [Up Arrow] {Esc}
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
[Ctrl-G] [Ctrl-C]
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
Abort editing
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
</row>
|
||
<row>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
Backspace
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
[Ctrl-H]
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
Delete previous character
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
</row>
|
||
<row>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
[Ctrl-K]
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
Delete rest of line
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
</row>
|
||
<row>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
Delete
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
[Ctrl-?] [Ctrl-D]
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
Delete current character
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
</row>
|
||
<row>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
[Tab]
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
File name completion
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
</row>
|
||
<row>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
Insert
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
Toggle insert mode
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
</row>
|
||
<row>
|
||
<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
{Tab}
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
[Ctrl-O]
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
Toggle motion in sheet (see text)
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
</row>
|
||
</lyxtabular>
|
||
|
||
\end_inset
|
||
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Plain Layout
|
||
\begin_inset Caption Standard
|
||
|
||
\begin_layout Plain Layout
|
||
\begin_inset CommandInset label
|
||
LatexCommand label
|
||
name "tab:Key-Bindings-forLineEditor"
|
||
|
||
\end_inset
|
||
|
||
Key Bindings for the line editor
|
||
\end_layout
|
||
|
||
\end_inset
|
||
|
||
|
||
\end_layout
|
||
|
||
\end_inset
|
||
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Standard
|
||
Besides the regular line editor functions, you may use Ctrl-O (Tab in the
|
||
GUI version) to temporarily leave the editor in order to move around in
|
||
the sheet if you are editing cell contents.
|
||
Another Ctrl-O (resp.
|
||
Tab) brings you back to the line editor.
|
||
While moving around in the sheet, you can insert the value (v) or position
|
||
(p) at the cursor position in the edited cell.
|
||
Clicking on a cell while editing has the same effect as moving to that
|
||
cell and pressing (p).
|
||
\end_layout
|
||
|
||
\begin_layout Standard
|
||
Aborting line editing means that you will return immediately to command
|
||
mode; whatever you started doing will have no effect.
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Section
|
||
Interactive Functions
|
||
\end_layout
|
||
|
||
\begin_layout Standard
|
||
Most actions are available through the menu.
|
||
Most of these will be applied to all cells within a block if a block of
|
||
cells is marked.
|
||
\end_layout
|
||
|
||
\begin_layout Subsection
|
||
\begin_inset CommandInset label
|
||
LatexCommand label
|
||
name "subsec:Cell-Attributes"
|
||
|
||
\end_inset
|
||
|
||
Cell Attributes
|
||
\end_layout
|
||
|
||
\begin_layout Standard
|
||
Cells can have several attributes:
|
||
\end_layout
|
||
|
||
\begin_layout Itemize
|
||
A cell label, which is useful because it avoids the need to directly address
|
||
cells by their position.
|
||
A cell label must be different from function names.
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Itemize
|
||
The cell adjustment, which determines if the cell value is printed left
|
||
adjusted, right adjusted or centered.
|
||
\end_layout
|
||
|
||
\begin_layout Itemize
|
||
Text attributes, such as bold or underlined.
|
||
\end_layout
|
||
|
||
\begin_layout Itemize
|
||
The precision for the output of floating point values.
|
||
The default is 2 digits after the dot.
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Itemize
|
||
Whether floating point numbers should be printed in scientific notation
|
||
(0.123e1) or as decimal number (1.23).
|
||
It only affects the output, if the cell value is a floating point number.
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Itemize
|
||
Whether the cell is shadowed by its left neighbour.
|
||
This means that the left neighbour cell additionally uses the room of the
|
||
shadowed cell.
|
||
\end_layout
|
||
|
||
\begin_layout Itemize
|
||
Whether the cell is ignored.
|
||
\end_layout
|
||
|
||
\begin_layout Itemize
|
||
Whether the cell is locked, which prevents accidental edits or clearing
|
||
of the cell.
|
||
Note that block operations override this attribute, because when you deal
|
||
with blocks, you usually know what you are doing.
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Itemize
|
||
Whether the cell is
|
||
\begin_inset Quotes eld
|
||
\end_inset
|
||
|
||
transparent
|
||
\begin_inset Quotes erd
|
||
\end_inset
|
||
|
||
or not, which means whether special characters for e.g.
|
||
roff and \SpecialChar LaTeX
|
||
should be quoted (default) or not.
|
||
Not quoting them allows special effects (if you know roff or \SpecialChar LaTeX
|
||
), but is
|
||
of course not portable.
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Standard
|
||
In addition, each column has a width.
|
||
\end_layout
|
||
|
||
\begin_layout Subsubsection
|
||
Precision
|
||
\end_layout
|
||
|
||
\begin_layout Standard
|
||
The precision only changes what is printed, teapot always uses the maximum
|
||
precision for calculations.
|
||
It also only affects the output if the cell value is a floating point number.
|
||
Entering an empty precision means to set it to the default value.
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Subsubsection
|
||
Exponential / Decimal
|
||
\end_layout
|
||
|
||
\begin_layout Standard
|
||
Forces exponential notation for numbers in a cell.
|
||
Decimal mode will prefer plain decimal numbers unless the result is very
|
||
big or very small.
|
||
\end_layout
|
||
|
||
\begin_layout Subsubsection
|
||
Adjustment
|
||
\end_layout
|
||
|
||
\begin_layout Standard
|
||
Cells contents can be aligned to the left, right or centered.
|
||
By default, text is left adjusted and numbers are right adjusted.
|
||
\end_layout
|
||
|
||
\begin_layout Subsubsection
|
||
Text attributes
|
||
\end_layout
|
||
|
||
\begin_layout Standard
|
||
These attributes determine how the value of the cell should be displayed,
|
||
in terms of characteristics of the displayed text.
|
||
Currently, bold and underlined attributes are implemented, which may be
|
||
applied independently.
|
||
\end_layout
|
||
|
||
\begin_layout Subsubsection
|
||
Label
|
||
\end_layout
|
||
|
||
\begin_layout Standard
|
||
This function lets you edit the cell label of the current cell.
|
||
Further it changes all occurences of it in the cell contents to the new
|
||
value, unless you erased the cell label.
|
||
If a block has been marked by the time you edit the cell label, all occurences
|
||
of the label in contents of cells in that block will be changed.
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Subsubsection
|
||
Lock
|
||
\end_layout
|
||
|
||
\begin_layout Standard
|
||
You can lock cells to protect them from accidental editing.
|
||
Note that this protects you from modifying single cells.
|
||
If you modify a block of cells which contains locked cells, those will
|
||
be modified as well.
|
||
This has been done because when using block commands, you usually know
|
||
what you are doing.
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Subsubsection
|
||
Ignore
|
||
\end_layout
|
||
|
||
\begin_layout Standard
|
||
Ignored cells will be completely ignored.
|
||
They appear as empty cells on screen and during calculations.
|
||
This is useful for temporarily disabling parts of your calculation, as
|
||
the former content reappears when the ignore is removed again.
|
||
\end_layout
|
||
|
||
\begin_layout Subsubsection
|
||
Transparent
|
||
\end_layout
|
||
|
||
\begin_layout Standard
|
||
Usually, values are quoted as needed so that you get the exact same output
|
||
as on screen.
|
||
Transparent cells will be exported as-is into display-oriented file formats
|
||
(\SpecialChar LaTeX
|
||
, etc.) so that you can embed commands for subsequent processing in cell
|
||
values.
|
||
\end_layout
|
||
|
||
\begin_layout Subsubsection
|
||
Shadow
|
||
\end_layout
|
||
|
||
\begin_layout Standard
|
||
Shadowed cells are effectively nonexistant.
|
||
Instead, their left neighbour cell extends into the shadowed cell, so that
|
||
longer text can be displayed.
|
||
You may think of shadowing as a way to get multi-column cells.
|
||
\end_layout
|
||
|
||
\begin_layout Subsubsection
|
||
Column Width
|
||
\end_layout
|
||
|
||
\begin_layout Standard
|
||
The column width only affects the screen display, not the formatting of
|
||
the final output (except formatted text files).
|
||
It is intended to let you make better usage of the screen for more overview.
|
||
If the width is too small to display the cell value, a placeholder will
|
||
be displayed.
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Subsection
|
||
Block Functions
|
||
\end_layout
|
||
|
||
\begin_layout Subsubsection
|
||
Copy/Move
|
||
\end_layout
|
||
|
||
\begin_layout Standard
|
||
To copy a block of cells, mark it, then move the cell cursor to where the
|
||
upper left corner of the copy should be and issue the copy command.
|
||
Moving works similar, just use the move command.
|
||
Of course you can mark three-dimensional blocks and copy them anywhere
|
||
in the three-dimensional sheet, but doing so requires a good three-dimensional
|
||
imagination to get what you want.
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Subsubsection
|
||
Fill
|
||
\end_layout
|
||
|
||
\begin_layout Standard
|
||
To fill a block of cells, first mark a the block it should be filled with.
|
||
This may be just one cell! Then move the cell cursor to where the upper
|
||
left corner of the block to be filled should be and issue the fill command.
|
||
You will be prompted for how often the marked block should be repeated
|
||
in each dimension.
|
||
For example, you may to repeat a cell 9 times below.
|
||
Mark it, then move down one row.
|
||
Issue the fill command and answer 1 to the number of column repetitions,
|
||
9 to rows and 1 to layers.
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Subsubsection
|
||
Clear
|
||
\end_layout
|
||
|
||
\begin_layout Standard
|
||
Clearing means to delete the cell contents and set all attributes to the
|
||
default value.
|
||
If you want to preserve the attributes, just edit the contents of a cell
|
||
and delete them.
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Subsubsection
|
||
Insert
|
||
\end_layout
|
||
|
||
\begin_layout Standard
|
||
Since work sheets can be three-dimensional, you can insert cells in all
|
||
three dimensions, too.
|
||
The inserted cells will be empty and their attributes have the default
|
||
values.
|
||
Cells will always be moved away from the front upper left corner to make
|
||
room for the inserted cells.
|
||
If no block is marked, you will be asked if you really only want to insert
|
||
a cell of if you want to insert a whole row, line or sheet.
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Subsubsection
|
||
Delete
|
||
\end_layout
|
||
|
||
\begin_layout Standard
|
||
Deleting works contrary to inserting.
|
||
The deleted cells will be filled by moving neighbour cells to their positions.
|
||
You will be prompted for the direction from where those cells will be taken.
|
||
Deleting an entire column column-wise is done by marking the column, use
|
||
the delete command and chose X direction.
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Subsubsection
|
||
\begin_inset CommandInset label
|
||
LatexCommand label
|
||
name "subsec:Sort"
|
||
|
||
\end_inset
|
||
|
||
Sort
|
||
\end_layout
|
||
|
||
\begin_layout Standard
|
||
Marked blocks of cells can be sorted after one or multiple keys, either
|
||
column-wise, row-wise or depth-wise.
|
||
Sorting a two dimensional block row-wise will sort lines, but if a three
|
||
dimensional block is sorted row-wise, then horizontal layers will be sorted.
|
||
The sort key is specified as vector which is orthogonal to the sorted elements,
|
||
either in ascending or descending order.
|
||
The following example illustrates the sort function.
|
||
The upper left part of the screen should look like this:
|
||
\begin_inset Separator latexpar
|
||
\end_inset
|
||
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Standard
|
||
\align center
|
||
\begin_inset Tabular
|
||
<lyxtabular version="3" rows="5" columns="3">
|
||
<features tabularvalignment="middle">
|
||
<column alignment="center" valignment="top">
|
||
<column alignment="center" valignment="top">
|
||
<column alignment="center" valignment="top">
|
||
<row>
|
||
<cell alignment="center" valignment="top" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
0
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
0
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
1
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
</row>
|
||
<row>
|
||
<cell alignment="center" valignment="top" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
0
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
1
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
one
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
</row>
|
||
<row>
|
||
<cell alignment="center" valignment="top" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
1
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
2
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
two
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
</row>
|
||
<row>
|
||
<cell alignment="center" valignment="top" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
2
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
3
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
three
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
</row>
|
||
<row>
|
||
<cell alignment="center" valignment="top" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
3
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
4
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
four
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
</row>
|
||
</lyxtabular>
|
||
|
||
\end_inset
|
||
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Standard
|
||
The box shows you which block to mark.
|
||
Now this block should be sorted row-wise, with the sort key being the numbers
|
||
in descending order, i.e.
|
||
we want the lines being numbered 4,3,2,1.
|
||
Go to the block menu, then select sort.
|
||
Use
|
||
\family typewriter
|
||
R)ow
|
||
\family default
|
||
, because that is how we want to sort this block.
|
||
The X position of the sort key vector is 0, because the column 0 contains
|
||
the numbers.
|
||
The Z position is 0, too, because those numbers are on sheet 0.
|
||
Now chose
|
||
\family typewriter
|
||
D)escending
|
||
\family default
|
||
as direction.
|
||
At this point, you could add a secondary key or decide to sort the block
|
||
by the keys entered so far.
|
||
Use
|
||
\family typewriter
|
||
S)ort region
|
||
\family default
|
||
to sort it.
|
||
That's it, the screen should look like this now:
|
||
\begin_inset Separator latexpar
|
||
\end_inset
|
||
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Standard
|
||
\align center
|
||
\begin_inset Tabular
|
||
<lyxtabular version="3" rows="5" columns="3">
|
||
<features tabularvalignment="middle">
|
||
<column alignment="center" valignment="top">
|
||
<column alignment="center" valignment="top">
|
||
<column alignment="center" valignment="top">
|
||
<row>
|
||
<cell alignment="center" valignment="top" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
0
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
0
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
1
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
</row>
|
||
<row>
|
||
<cell alignment="center" valignment="top" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
0
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
4
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
four
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
</row>
|
||
<row>
|
||
<cell alignment="center" valignment="top" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
1
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
3
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
three
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
</row>
|
||
<row>
|
||
<cell alignment="center" valignment="top" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
2
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
2
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
two
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
</row>
|
||
<row>
|
||
<cell alignment="center" valignment="top" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
3
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
1
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
one
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
</row>
|
||
</lyxtabular>
|
||
|
||
\end_inset
|
||
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Subsubsection
|
||
Mirror
|
||
\end_layout
|
||
|
||
\begin_layout Standard
|
||
Mirroring a marked block of cells can be done in three directions: Left/right,
|
||
upside/down and front/back.
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Subsection
|
||
Saving and Loading
|
||
\end_layout
|
||
|
||
\begin_layout Subsubsection
|
||
File names
|
||
\end_layout
|
||
|
||
\begin_layout Standard
|
||
Usually, you want to overwrite the loaded file.
|
||
For this reason, the loaded file name is remembered.
|
||
If the sheet doesn't have a file name, like after starting an empty sheet,
|
||
you will be asked for a name when saving.
|
||
\end_layout
|
||
|
||
\begin_layout Standard
|
||
Occasionally, you may want to rename a sheet, like before making critical
|
||
changes or when you load an existing sheet to have a start for making a
|
||
new one.
|
||
The Save As function allows you to save the file under a new name.
|
||
\end_layout
|
||
|
||
\begin_layout Subsubsection
|
||
File Formats
|
||
\end_layout
|
||
|
||
\begin_layout Paragraph
|
||
XDR (.tp)
|
||
\end_layout
|
||
|
||
\begin_layout Standard
|
||
XDR (eXternal Data Representation) is a standard invented by Sun Microsystems
|
||
which defines a canonical way of storing/transporting data on external
|
||
media.
|
||
Its advantage is that it is widely available and that it defines a portable
|
||
floating point number format.
|
||
The native teapot file format uses XDR so it is portable across different
|
||
machine architectures and operating systems.
|
||
The advantage of this over the portable ASCII format is that due to the
|
||
(usually) missing conversion calculations any floating point constants
|
||
will be saved/loaded exactly without conversion errors.
|
||
\end_layout
|
||
|
||
\begin_layout Paragraph
|
||
ASCII (.tpa)
|
||
\end_layout
|
||
|
||
\begin_layout Standard
|
||
The ASCII file format allows easy generation/modification of saved sheets
|
||
by shell scripts.
|
||
Due to binary/ASCII conversion, there may be conversion errors in floating
|
||
point constants.
|
||
The default extension is
|
||
\family typewriter
|
||
.
|
||
\family default
|
||
tpa.
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Paragraph
|
||
CSV (.csv)
|
||
\end_layout
|
||
|
||
\begin_layout Standard
|
||
CSV (comma seperated value) files only contain the data, not the expressions
|
||
calculating it.
|
||
Many spread sheets can generate this file format and many graphics programs
|
||
like gnuplot(1) can read it.
|
||
The field separator usually is a tab or comma, strings may be enclosed
|
||
in double quotes and decimal numbers have a dot to mark the fractional
|
||
part.
|
||
One popular variation uses semicolons for separating fields and a decimal
|
||
comma instead of a decimal point, which teapot tries to autodetect.
|
||
\end_layout
|
||
|
||
\begin_layout Standard
|
||
On load, strings without quotes and with a
|
||
\emph on
|
||
0x
|
||
\emph default
|
||
prefix followed by hexadecimal digits will be converted to integers.
|
||
When loading CSV files, the sheet will not be cleared and the data will
|
||
be load relative to the current cursor position.
|
||
\end_layout
|
||
|
||
\begin_layout Paragraph
|
||
SC SpreadsheetCalculator (.sc)
|
||
\end_layout
|
||
|
||
\begin_layout Standard
|
||
teapot can load simple SC sheets to convert them to teapot's native format.
|
||
While loading, teapot converts all references to absolute cell positions
|
||
to labels.
|
||
This allows to insert and delete in such sheets without screwing the whole
|
||
sheet up.
|
||
teapot can not save sheets in SC format, because SC lacks many features.
|
||
For now, only the most basic SC features are supported.
|
||
\end_layout
|
||
|
||
\begin_layout Paragraph
|
||
Lotus 1-2-3 (.wk1)
|
||
\end_layout
|
||
|
||
\begin_layout Standard
|
||
teapot can load simple WK1 sheets to convert them to teapot's native format.
|
||
By default, 1-2-3 cell references are relative, so don't be surprised by
|
||
a big amount of relative references in the resulting teapot sheet.
|
||
For now, only the most basic 1-2-3 features are supported.
|
||
\end_layout
|
||
|
||
\begin_layout Paragraph
|
||
Formatted ASCII (.txt)
|
||
\end_layout
|
||
|
||
\begin_layout Standard
|
||
The generated formatted ASCII files contain about what you see on the screen.
|
||
If your sheet has more than one layer, then the various layers will be
|
||
saved separated by form feeds.
|
||
\end_layout
|
||
|
||
\begin_layout Paragraph
|
||
Troff tbl (.tbl)
|
||
\end_layout
|
||
|
||
\begin_layout Standard
|
||
teapot can generate tbl(1) table bodies in single files which are supposed
|
||
to be used like this:
|
||
\end_layout
|
||
|
||
\begin_layout Quote
|
||
|
||
\family typewriter
|
||
.TS
|
||
\begin_inset Newline newline
|
||
\end_inset
|
||
|
||
|
||
\family default
|
||
\shape italic
|
||
options
|
||
\family typewriter
|
||
\shape default
|
||
;
|
||
\begin_inset Newline newline
|
||
\end_inset
|
||
|
||
.so
|
||
\family default
|
||
|
||
\shape italic
|
||
filename
|
||
\begin_inset Newline newline
|
||
\end_inset
|
||
|
||
|
||
\family typewriter
|
||
\shape default
|
||
.TE
|
||
\end_layout
|
||
|
||
\begin_layout Standard
|
||
You will have to use soelim(1) to eliminate the
|
||
\family typewriter
|
||
.so
|
||
\family default
|
||
requests before the tbl run.
|
||
The
|
||
\shape italic
|
||
options
|
||
\family typewriter
|
||
\shape default
|
||
;
|
||
\family default
|
||
are optional.
|
||
If you use GNU roff, you will need to eliminate
|
||
\family typewriter
|
||
.lf
|
||
\family default
|
||
requests, because this GNU roff extension confuses GNU tbl:
|
||
\end_layout
|
||
|
||
\begin_layout Quote
|
||
|
||
\family typewriter
|
||
soelim
|
||
\family default
|
||
|
||
\shape italic
|
||
file
|
||
\shape default
|
||
|
||
\family typewriter
|
||
| grep -v '^
|
||
\backslash
|
||
.lf'
|
||
\end_layout
|
||
|
||
\begin_layout Standard
|
||
Alternatively, you can generate a stand-alone document, which needs no further
|
||
operations to format and print.
|
||
Note: If no block is marked, the whole sheet will be saved.
|
||
\end_layout
|
||
|
||
\begin_layout Paragraph
|
||
\SpecialChar LaTeX
|
||
(.latex)
|
||
\end_layout
|
||
|
||
\begin_layout Standard
|
||
If you generate \SpecialChar LaTeX2e
|
||
tables in single files, you include them in documents using
|
||
the
|
||
\family typewriter
|
||
|
||
\backslash
|
||
include
|
||
\family default
|
||
command.
|
||
Alternatively, you can generate a stand-alone document, which needs no
|
||
further operations to format and print.
|
||
Note: If no block is marked, the whole sheet will be saved.
|
||
\end_layout
|
||
|
||
\begin_layout Paragraph
|
||
Con\SpecialChar TeX
|
||
t (.tex)
|
||
\end_layout
|
||
|
||
\begin_layout Standard
|
||
Analogous to \SpecialChar LaTeX
|
||
output, this generates input suitable to the Con\SpecialChar TeX
|
||
t macro package.
|
||
\end_layout
|
||
|
||
\begin_layout Paragraph
|
||
HTML (.html)
|
||
\end_layout
|
||
|
||
\begin_layout Standard
|
||
You can generate html table bodies in single files which could be used in
|
||
combination with server-side includes.
|
||
This feature differs between the various servers, so refer to the manual
|
||
for your web server for details, please.
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Standard
|
||
Alternatively, you can generate a stand-alone document.
|
||
Note: If no block is marked, the whole sheet will be saved.
|
||
\end_layout
|
||
|
||
\begin_layout Subsection
|
||
Other Functions
|
||
\end_layout
|
||
|
||
\begin_layout Subsubsection
|
||
Goto Location
|
||
\end_layout
|
||
|
||
\begin_layout Standard
|
||
Sometimes, you directly want to go to a specific position, either to change
|
||
its contents to see which cell a location expression refers to.
|
||
This function lets you enter an expression, which must evaluate to a value
|
||
of the type location.
|
||
If so, the cursor is positioned to that location.
|
||
For example, you could enter
|
||
\family typewriter
|
||
&(10,2)
|
||
\family default
|
||
to go to cell 10,2 of the current layer or you could enter the name of
|
||
a label you want to go to.
|
||
Relative movements are no problem, either.
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Subsubsection
|
||
Shell
|
||
\end_layout
|
||
|
||
\begin_layout Standard
|
||
Start a sub shell.
|
||
Exiting from that sub shell will bring you back into teapot.
|
||
This function does not exist in the GUI version.
|
||
\end_layout
|
||
|
||
\begin_layout Subsubsection
|
||
Version
|
||
\end_layout
|
||
|
||
\begin_layout Standard
|
||
teapot will display its version number and copyright statement.
|
||
\end_layout
|
||
|
||
\begin_layout Subsubsection
|
||
Help
|
||
\end_layout
|
||
|
||
\begin_layout Standard
|
||
If teapot was built with the integrated help viewer, you can access this
|
||
manual from within teapot itself.
|
||
\end_layout
|
||
|
||
\begin_layout Section
|
||
Batch functions
|
||
\end_layout
|
||
|
||
\begin_layout Standard
|
||
Besides interactive facilities, teapot has a batch mode.
|
||
Using this batch mode, shell scripts can generate output from teapot sheets.
|
||
This is handy if you use make(1) to generate a bigger document containing
|
||
tables, because you don't have to generate a tbl or \SpecialChar LaTeX
|
||
file each time you
|
||
modified a sheet: make will do so.
|
||
In batch mode, teapot reads batch commands from standard input.
|
||
The following commands are available:
|
||
\end_layout
|
||
|
||
\begin_layout Description
|
||
|
||
\family typewriter
|
||
\series bold
|
||
goto
|
||
\family default
|
||
\shape italic
|
||
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
location
|
||
\series default
|
||
\shape default
|
||
Go to the specified
|
||
\shape italic
|
||
location
|
||
\shape default
|
||
.
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Description
|
||
|
||
\family typewriter
|
||
\series bold
|
||
from
|
||
\family default
|
||
\shape italic
|
||
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
location
|
||
\series default
|
||
\shape default
|
||
Start marking a block.
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Description
|
||
|
||
\family typewriter
|
||
\series bold
|
||
to
|
||
\family default
|
||
\shape italic
|
||
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
location
|
||
\series default
|
||
\shape default
|
||
End marking a block.
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Description
|
||
|
||
\family typewriter
|
||
\series bold
|
||
sort-x
|
||
\family default
|
||
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
d|a
|
||
\emph on
|
||
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
y
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
z
|
||
\emph default
|
||
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
[
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
d|a
|
||
\emph on
|
||
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
y
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
z
|
||
\emph default
|
||
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
...
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
]
|
||
\end_layout
|
||
|
||
\begin_layout Description
|
||
|
||
\family typewriter
|
||
\series bold
|
||
sort-
|
||
\family default
|
||
y
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
d|a
|
||
\emph on
|
||
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
x
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
z
|
||
\emph default
|
||
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
[
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
d|a
|
||
\emph on
|
||
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
x
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
z
|
||
\emph default
|
||
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
...
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
]
|
||
\series default
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Description
|
||
|
||
\family typewriter
|
||
\series bold
|
||
sort-
|
||
\family default
|
||
z
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
d|a
|
||
\emph on
|
||
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
x
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
|
||
\emph default
|
||
y
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
[
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
d|a
|
||
\emph on
|
||
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
x
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
|
||
\emph default
|
||
y
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
...
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
]
|
||
\series default
|
||
Sorts the marked block as described in section
|
||
\begin_inset CommandInset ref
|
||
LatexCommand vref
|
||
reference "subsec:Sort"
|
||
|
||
\end_inset
|
||
|
||
, column-wise, row-wise or depth-wise, respectivly.
|
||
"d" or "a" specify the sort order to be descending or ascending.
|
||
|
||
\emph on
|
||
x
|
||
\emph default
|
||
,
|
||
\emph on
|
||
y
|
||
\emph default
|
||
and
|
||
\emph on
|
||
z
|
||
\emph default
|
||
specify the position of the sort key
|
||
\family typewriter
|
||
relative
|
||
\family default
|
||
to the first cell of the marked block.
|
||
Up to eight sort keys can be specified.
|
||
This example reproduces the result from section
|
||
\begin_inset CommandInset ref
|
||
LatexCommand ref
|
||
reference "subsec:Sort"
|
||
|
||
\end_inset
|
||
|
||
:
|
||
\begin_inset Separator latexpar
|
||
\end_inset
|
||
|
||
|
||
\end_layout
|
||
|
||
\begin_deeper
|
||
\begin_layout Quote
|
||
|
||
\family typewriter
|
||
echo "
|
||
\begin_inset Newline newline
|
||
\end_inset
|
||
|
||
from &(1,1,0)
|
||
\begin_inset Newline newline
|
||
\end_inset
|
||
|
||
to &(2,4,0)
|
||
\begin_inset Newline newline
|
||
\end_inset
|
||
|
||
sort-y d 0 0
|
||
\begin_inset Newline newline
|
||
\end_inset
|
||
|
||
save-csv result_num.txt
|
||
\begin_inset Newline newline
|
||
\end_inset
|
||
|
||
" | teapot -b doc/unsorted
|
||
\end_layout
|
||
|
||
\end_deeper
|
||
\begin_layout Description
|
||
|
||
\family typewriter
|
||
\series bold
|
||
save-tbl
|
||
\family default
|
||
\emph on
|
||
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
file
|
||
\series default
|
||
\emph default
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Description
|
||
|
||
\family typewriter
|
||
\series bold
|
||
save-csv
|
||
\family default
|
||
\emph on
|
||
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
file
|
||
\series default
|
||
\emph default
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Description
|
||
|
||
\family typewriter
|
||
\series bold
|
||
save-latex
|
||
\family default
|
||
\emph on
|
||
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
file
|
||
\series default
|
||
\emph default
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Description
|
||
|
||
\family typewriter
|
||
\series bold
|
||
save-context
|
||
\family default
|
||
\emph on
|
||
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
file
|
||
\series default
|
||
\emph default
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Description
|
||
|
||
\family typewriter
|
||
\series bold
|
||
save-html
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
|
||
\family default
|
||
\emph on
|
||
file
|
||
\series default
|
||
\emph default
|
||
Save the marked block in the specified format as
|
||
\emph on
|
||
file
|
||
\emph default
|
||
.
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Description
|
||
|
||
\family typewriter
|
||
\series bold
|
||
load-csv
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
|
||
\family default
|
||
\emph on
|
||
file
|
||
\series default
|
||
\emph default
|
||
Load
|
||
\emph on
|
||
file
|
||
\emph default
|
||
in the specified format to the last
|
||
\family typewriter
|
||
goto
|
||
\family default
|
||
location.
|
||
This is the same functionality as the interactive load described in subsection
|
||
|
||
\emph on
|
||
5.12.4
|
||
\emph default
|
||
.
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Section
|
||
Expressions
|
||
\end_layout
|
||
|
||
\begin_layout Standard
|
||
Cells consist of a base (reset) expression, a clocked expression, and a
|
||
current value.
|
||
If the sheet is currently in the reset state (the default), all cells display
|
||
their base value as current value.
|
||
\end_layout
|
||
|
||
\begin_layout Standard
|
||
When the sheet is clocked (see Table
|
||
\begin_inset CommandInset ref
|
||
LatexCommand ref
|
||
reference "tab:Key-Bindings-in"
|
||
|
||
\end_inset
|
||
|
||
), the clocked expression is evaluated, using the current value of referenced
|
||
cells.
|
||
The new current value is the result of that evaluation.
|
||
\end_layout
|
||
|
||
\begin_layout Subsection
|
||
Data Types
|
||
\end_layout
|
||
|
||
\begin_layout Standard
|
||
In teapot, each value has an associated data type.
|
||
The following data types exist:
|
||
\end_layout
|
||
|
||
\begin_layout Description
|
||
Empty Empty cells have 0, 0.0 or
|
||
\begin_inset Quotes eld
|
||
\end_inset
|
||
|
||
|
||
\begin_inset Quotes erd
|
||
\end_inset
|
||
|
||
as value, depending on context.
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Description
|
||
String A string is a sequence of characters enclosed by double quotes:
|
||
\family typewriter
|
||
"This is a string"
|
||
\family default
|
||
.
|
||
A double quote can be part of the string, if it is quoted using a backslash:
|
||
|
||
\family typewriter
|
||
|
||
\begin_inset Quotes eld
|
||
\end_inset
|
||
|
||
|
||
\backslash
|
||
|
||
\family default
|
||
|
||
\begin_inset Quotes erd
|
||
\end_inset
|
||
|
||
|
||
\begin_inset Quotes erd
|
||
\end_inset
|
||
|
||
.
|
||
If you want the backslash to appear in the output instead of quoting the
|
||
next character, use it to quote itself:
|
||
\family typewriter
|
||
|
||
\begin_inset Quotes eld
|
||
\end_inset
|
||
|
||
|
||
\backslash
|
||
|
||
\backslash
|
||
|
||
\family default
|
||
|
||
\begin_inset Quotes erd
|
||
\end_inset
|
||
|
||
.
|
||
\end_layout
|
||
|
||
\begin_layout Description
|
||
Floating
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
Point Floating point values are inexact, their precision and range depends
|
||
on the implementation of the C type double on your system.
|
||
An example is:
|
||
\family typewriter
|
||
42.0
|
||
\family default
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Description
|
||
Integer Integer values are exact, their range depends on the C type long
|
||
on your system.
|
||
An example is:
|
||
\family typewriter
|
||
42
|
||
\family default
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Description
|
||
Location Cell labels and the
|
||
\family typewriter
|
||
&()
|
||
\family default
|
||
function have this type, but there are no location constant literals.
|
||
\end_layout
|
||
|
||
\begin_layout Description
|
||
Error Syntactical or semantical (type mismatch) errors cause this value,
|
||
as well as division by 0 and the function
|
||
\family typewriter
|
||
error()
|
||
\family default
|
||
.
|
||
An error always has an assigned error message.
|
||
Functions and operators, when applied to a value of the type error, evaluate
|
||
to just that value.
|
||
That way, the first error which was found deep inside a complicated expression
|
||
will be shown.
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Subsection
|
||
Operators
|
||
\end_layout
|
||
|
||
\begin_layout Standard
|
||
Unlike other spread sheets, the operators in teapot check the type of the
|
||
values they are applied to, which means the try to add a string to a floating
|
||
point number will result in an type error.
|
||
Operators on locations in the spreadsheet, which are just triples of integers,
|
||
generally operate following typical rules for vectors, with particular
|
||
notes below.
|
||
The following operators are available, listed in ascending precendence:
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Description
|
||
|
||
\series bold
|
||
\emph on
|
||
x
|
||
\family typewriter
|
||
\emph default
|
||
<
|
||
\family default
|
||
\emph on
|
||
y
|
||
\series default
|
||
\emph default
|
||
evaluates to 1 if
|
||
\emph on
|
||
x
|
||
\emph default
|
||
is less than
|
||
\emph on
|
||
y
|
||
\emph default
|
||
.
|
||
If
|
||
\emph on
|
||
x
|
||
\emph default
|
||
or
|
||
\emph on
|
||
y
|
||
\emph default
|
||
are empty, they are considered to be 0 if the other is an integer number,
|
||
0.0 if it is a floating point number and the empty string if it is a string.
|
||
On locations,
|
||
\emph on
|
||
x<y
|
||
\emph default
|
||
if every component of
|
||
\emph on
|
||
x
|
||
\emph default
|
||
is less than or equal to the corresponding component of
|
||
\emph on
|
||
y
|
||
\emph default
|
||
and at least one is strictly less.
|
||
\end_layout
|
||
|
||
\begin_layout Description
|
||
|
||
\series bold
|
||
\emph on
|
||
x
|
||
\family typewriter
|
||
\emph default
|
||
<=
|
||
\family default
|
||
\emph on
|
||
y
|
||
\series default
|
||
\emph default
|
||
evaluates to 1 if
|
||
\emph on
|
||
x
|
||
\emph default
|
||
is less than or equal to
|
||
\emph on
|
||
y
|
||
\emph default
|
||
.
|
||
For locations, this must hold for every component.
|
||
\end_layout
|
||
|
||
\begin_layout Description
|
||
|
||
\series bold
|
||
\emph on
|
||
x
|
||
\family typewriter
|
||
\emph default
|
||
>=
|
||
\family default
|
||
\emph on
|
||
y
|
||
\series default
|
||
\emph default
|
||
evaluates to 1 if
|
||
\emph on
|
||
x
|
||
\emph default
|
||
is greater than or equal to
|
||
\emph on
|
||
y
|
||
\emph default
|
||
.
|
||
For locations, this must hold for every component.
|
||
\end_layout
|
||
|
||
\begin_layout Description
|
||
|
||
\series bold
|
||
\emph on
|
||
x
|
||
\family typewriter
|
||
\emph default
|
||
>
|
||
\family default
|
||
\emph on
|
||
y
|
||
\series default
|
||
\emph default
|
||
evaluates to 1 if
|
||
\emph on
|
||
x
|
||
\emph default
|
||
is greater than
|
||
\emph on
|
||
y
|
||
\emph default
|
||
.
|
||
As with <, for locations, every component must be greater than or equal,
|
||
and at least one must be strictly greater.
|
||
\end_layout
|
||
|
||
\begin_layout Description
|
||
|
||
\series bold
|
||
\emph on
|
||
x
|
||
\family typewriter
|
||
\emph default
|
||
==
|
||
\family default
|
||
\emph on
|
||
y
|
||
\series default
|
||
\emph default
|
||
evaluates to 1 if
|
||
\emph on
|
||
x
|
||
\emph default
|
||
is equal to
|
||
\emph on
|
||
y
|
||
\emph default
|
||
.
|
||
\end_layout
|
||
|
||
\begin_layout Description
|
||
|
||
\series bold
|
||
\emph on
|
||
x
|
||
\family typewriter
|
||
\emph default
|
||
=
|
||
\family default
|
||
\emph on
|
||
y
|
||
\series default
|
||
\emph default
|
||
evaluates to 1 if the floating point value
|
||
\emph on
|
||
x
|
||
\emph default
|
||
is almost equal to the floating point value
|
||
\emph on
|
||
y
|
||
\emph default
|
||
.
|
||
Almost equal means, the numbers are at most neighbours.
|
||
It is an error to use this with any type but float.
|
||
\end_layout
|
||
|
||
\begin_layout Description
|
||
|
||
\series bold
|
||
\emph on
|
||
x
|
||
\family typewriter
|
||
\emph default
|
||
!=
|
||
\family default
|
||
\emph on
|
||
y
|
||
\series default
|
||
\emph default
|
||
evaluates to 1 if
|
||
\emph on
|
||
x
|
||
\emph default
|
||
is not equal to
|
||
\emph on
|
||
y
|
||
\emph default
|
||
.
|
||
\end_layout
|
||
|
||
\begin_layout Description
|
||
|
||
\series bold
|
||
\emph on
|
||
x
|
||
\family typewriter
|
||
\emph default
|
||
+
|
||
\family default
|
||
\emph on
|
||
y
|
||
\series default
|
||
\emph default
|
||
evaluates to the sum if
|
||
\emph on
|
||
x
|
||
\emph default
|
||
and
|
||
\emph on
|
||
y
|
||
\emph default
|
||
are numbers.
|
||
If
|
||
\emph on
|
||
x
|
||
\emph default
|
||
and
|
||
\emph on
|
||
y
|
||
\emph default
|
||
are strings, the result is the concatenated string.
|
||
There is no dedicated logical
|
||
\noun on
|
||
or
|
||
\noun default
|
||
operation, so use
|
||
\family typewriter
|
||
+
|
||
\family default
|
||
for that.
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Description
|
||
|
||
\series bold
|
||
\emph on
|
||
x
|
||
\family typewriter
|
||
\emph default
|
||
-
|
||
\family default
|
||
\emph on
|
||
y
|
||
\series default
|
||
\emph default
|
||
evaluates to the difference if
|
||
\emph on
|
||
x
|
||
\emph default
|
||
and
|
||
\emph on
|
||
y
|
||
\emph default
|
||
are numbers.
|
||
\end_layout
|
||
|
||
\begin_layout Description
|
||
|
||
\series bold
|
||
\emph on
|
||
x
|
||
\family typewriter
|
||
\emph default
|
||
*
|
||
\family default
|
||
\emph on
|
||
y
|
||
\series default
|
||
\emph default
|
||
evaluates to the product if
|
||
\emph on
|
||
x
|
||
\emph default
|
||
and
|
||
\emph on
|
||
y
|
||
\emph default
|
||
are numbers.
|
||
There is no dedicated logical
|
||
\noun on
|
||
and
|
||
\noun default
|
||
operation, so use
|
||
\family typewriter
|
||
*
|
||
\family default
|
||
for that.
|
||
You can multiply a location by an integer, or take the dot product of the
|
||
coordinates of two locations (although the use case for that is unclear).
|
||
\end_layout
|
||
|
||
\begin_layout Description
|
||
|
||
\series bold
|
||
\emph on
|
||
x
|
||
\family typewriter
|
||
\emph default
|
||
/
|
||
\family default
|
||
\emph on
|
||
y
|
||
\series default
|
||
\emph default
|
||
evaluates to the quotient if
|
||
\emph on
|
||
x
|
||
\emph default
|
||
and
|
||
\emph on
|
||
y
|
||
\emph default
|
||
are numbers.
|
||
You can divide a location by an integer.
|
||
\end_layout
|
||
|
||
\begin_layout Description
|
||
|
||
\series bold
|
||
\emph on
|
||
x
|
||
\family typewriter
|
||
\emph default
|
||
%
|
||
\family default
|
||
\emph on
|
||
y
|
||
\series default
|
||
\emph default
|
||
evaluates to the remainder of the division if
|
||
\emph on
|
||
x
|
||
\emph default
|
||
and
|
||
\emph on
|
||
y
|
||
\emph default
|
||
are numbers.
|
||
You can mod a location by an integer, or operate on two locations, in which
|
||
case the mod operation applies componentwise.
|
||
\end_layout
|
||
|
||
\begin_layout Description
|
||
|
||
\series bold
|
||
\emph on
|
||
x^y
|
||
\series default
|
||
\emph default
|
||
evaluates to
|
||
\emph on
|
||
x
|
||
\emph default
|
||
to the power of
|
||
\emph on
|
||
y
|
||
\emph default
|
||
.
|
||
\end_layout
|
||
|
||
\begin_layout Description
|
||
|
||
\family typewriter
|
||
\series bold
|
||
-
|
||
\family default
|
||
\emph on
|
||
x
|
||
\series default
|
||
\emph default
|
||
evaluates to
|
||
\family typewriter
|
||
-
|
||
\family default
|
||
\emph on
|
||
x
|
||
\emph default
|
||
if
|
||
\emph on
|
||
x
|
||
\emph default
|
||
is a number or location.
|
||
If
|
||
\emph on
|
||
x
|
||
\emph default
|
||
is empty, the result will be empty, too.
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Description
|
||
|
||
\family typewriter
|
||
\series bold
|
||
(
|
||
\family default
|
||
\emph on
|
||
expression
|
||
\family typewriter
|
||
\emph default
|
||
)
|
||
\family default
|
||
\series default
|
||
evaluates to the expression.
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Description
|
||
|
||
\series bold
|
||
\emph on
|
||
function
|
||
\family typewriter
|
||
\emph default
|
||
(
|
||
\family default
|
||
\emph on
|
||
argument
|
||
\family typewriter
|
||
\emph default
|
||
,
|
||
\family default
|
||
...
|
||
\family typewriter
|
||
)
|
||
\family default
|
||
\series default
|
||
evaluates to the value of the function applied to the values resulting
|
||
from evaluating the argument expressions.
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Subsection
|
||
Functions
|
||
\end_layout
|
||
|
||
\begin_layout Standard
|
||
This section documents all available functions in alphabetical order.
|
||
The functions are given in a C-like notation, so use
|
||
\family typewriter
|
||
@(0,0,0)
|
||
\family default
|
||
instead of
|
||
\family typewriter
|
||
@(integer 0, integer 0, integer 0)
|
||
\family default
|
||
.
|
||
If no type is given for the result of a function, it means the result type
|
||
depends on the arguments.
|
||
Brackets mark optional arguments.
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Description
|
||
@
|
||
\series medium
|
||
([int
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
|
||
\emph on
|
||
x
|
||
\emph default
|
||
][,[int
|
||
\emph on
|
||
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
y
|
||
\emph default
|
||
][,[int
|
||
\emph on
|
||
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
z
|
||
\emph default
|
||
]]])
|
||
\end_layout
|
||
|
||
\begin_layout Description
|
||
@
|
||
\series medium
|
||
(location
|
||
\emph on
|
||
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
l
|
||
\emph default
|
||
)
|
||
\series default
|
||
returns the value of the cell at position
|
||
\emph on
|
||
x
|
||
\emph default
|
||
,
|
||
\emph on
|
||
y
|
||
\emph default
|
||
,
|
||
\emph on
|
||
z
|
||
\emph default
|
||
.
|
||
If any of
|
||
\emph on
|
||
x
|
||
\emph default
|
||
,
|
||
\emph on
|
||
y
|
||
\emph default
|
||
or
|
||
\emph on
|
||
z
|
||
\emph default
|
||
is omitted, the coordinate of the cell is used.
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Description
|
||
|
||
\series medium
|
||
location
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
|
||
\series default
|
||
&
|
||
\series medium
|
||
([int
|
||
\emph on
|
||
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
x
|
||
\emph default
|
||
][,
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
[int
|
||
\emph on
|
||
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
y
|
||
\emph default
|
||
][,
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
[int
|
||
\emph on
|
||
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
z
|
||
\emph default
|
||
]]])
|
||
\series default
|
||
returns a pointer to the cell at location
|
||
\emph on
|
||
x
|
||
\emph default
|
||
,
|
||
\emph on
|
||
y
|
||
\emph default
|
||
,
|
||
\emph on
|
||
z
|
||
\emph default
|
||
.
|
||
If
|
||
\emph on
|
||
z
|
||
\emph default
|
||
is omitted, the
|
||
\emph on
|
||
z
|
||
\emph default
|
||
position of the current cell is used.
|
||
If
|
||
\emph on
|
||
y
|
||
\emph default
|
||
is missing as well, the
|
||
\emph on
|
||
y
|
||
\emph default
|
||
position (row) of the cell is used.
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Description
|
||
|
||
\series medium
|
||
string
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
|
||
\series default
|
||
$
|
||
\series medium
|
||
(string
|
||
\emph on
|
||
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
env
|
||
\emph default
|
||
)
|
||
\series default
|
||
evaluates to the contents of the specified environment variable.
|
||
If the variable does not exist, then an empty string will be returned.
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Description
|
||
|
||
\series medium
|
||
float
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
|
||
\series default
|
||
abs
|
||
\series medium
|
||
(float
|
||
\emph on
|
||
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
x
|
||
\emph default
|
||
)
|
||
\series default
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Description
|
||
|
||
\series medium
|
||
int
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
|
||
\series default
|
||
abs
|
||
\series medium
|
||
(int
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
|
||
\emph on
|
||
x
|
||
\emph default
|
||
)
|
||
\series default
|
||
evaluates to the absolute value of
|
||
\emph on
|
||
x
|
||
\emph default
|
||
.
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Description
|
||
|
||
\series medium
|
||
float
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
|
||
\series default
|
||
acos
|
||
\series medium
|
||
(float|int
|
||
\emph on
|
||
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
x
|
||
\emph default
|
||
)
|
||
\series default
|
||
evaluates to the arc cosine of
|
||
\emph on
|
||
x
|
||
\emph default
|
||
, where
|
||
\emph on
|
||
x
|
||
\emph default
|
||
is given in radians.
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Description
|
||
|
||
\series medium
|
||
float
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
|
||
\series default
|
||
arcosh
|
||
\series medium
|
||
(float|int
|
||
\emph on
|
||
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
x
|
||
\emph default
|
||
)
|
||
\series default
|
||
evaluates to the arc hyperbolic cosine of
|
||
\emph on
|
||
x
|
||
\emph default
|
||
, where
|
||
\emph on
|
||
x
|
||
\emph default
|
||
is given in radians.
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Description
|
||
|
||
\series medium
|
||
float
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
|
||
\series default
|
||
arsinh
|
||
\series medium
|
||
(float|int
|
||
\emph on
|
||
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
x
|
||
\emph default
|
||
)
|
||
\series default
|
||
evaluates to the arc hyperbolic sine of
|
||
\emph on
|
||
x
|
||
\emph default
|
||
, where
|
||
\emph on
|
||
x
|
||
\emph default
|
||
is given in radians.
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Description
|
||
|
||
\series medium
|
||
float
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
|
||
\series default
|
||
artanh
|
||
\series medium
|
||
(float|int
|
||
\emph on
|
||
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
x
|
||
\emph default
|
||
)
|
||
\series default
|
||
evaluates to the arc hyperbolic tangent of
|
||
\emph on
|
||
x
|
||
\emph default
|
||
, where
|
||
\emph on
|
||
x
|
||
\emph default
|
||
is given in radians.
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Description
|
||
|
||
\series medium
|
||
float
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
|
||
\series default
|
||
asin
|
||
\series medium
|
||
(float|int
|
||
\emph on
|
||
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
x
|
||
\emph default
|
||
)
|
||
\series default
|
||
evaluates to the arc sine of
|
||
\emph on
|
||
x
|
||
\emph default
|
||
, where
|
||
\emph on
|
||
x
|
||
\emph default
|
||
is given in radians.
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Description
|
||
|
||
\series medium
|
||
float
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
|
||
\series default
|
||
atan
|
||
\series medium
|
||
(float|int
|
||
\emph on
|
||
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
x
|
||
\emph default
|
||
)
|
||
\series default
|
||
evaluates to the arc tangent of
|
||
\emph on
|
||
x
|
||
\emph default
|
||
, where
|
||
\emph on
|
||
x
|
||
\emph default
|
||
is given in radians.
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Description
|
||
clock
|
||
\series medium
|
||
(integer
|
||
\emph on
|
||
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
condition
|
||
\emph default
|
||
,[location[,location])
|
||
\series default
|
||
conditionally clocks the specified cell if the condition is not 0.
|
||
If two locations are given, all cells in that range will be clocked.
|
||
The return value of clock is empty.
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Description
|
||
|
||
\series medium
|
||
float
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
|
||
\series default
|
||
cos
|
||
\series medium
|
||
(float|int
|
||
\emph on
|
||
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
x
|
||
\emph default
|
||
)
|
||
\series default
|
||
evaluates to the cosine of
|
||
\emph on
|
||
x
|
||
\emph default
|
||
, where
|
||
\emph on
|
||
x
|
||
\emph default
|
||
is given in radians.
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Description
|
||
|
||
\series medium
|
||
float
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
|
||
\series default
|
||
cosh
|
||
\series medium
|
||
(float|int
|
||
\emph on
|
||
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
x
|
||
\emph default
|
||
)
|
||
\series default
|
||
evaluates to the hyperbolic cosine of
|
||
\emph on
|
||
x
|
||
\emph default
|
||
, where
|
||
\emph on
|
||
x
|
||
\emph default
|
||
is given in radians.
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Description
|
||
|
||
\series medium
|
||
float
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
|
||
\series default
|
||
deg2rad
|
||
\series medium
|
||
(float|int
|
||
\emph on
|
||
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
x
|
||
\emph default
|
||
)
|
||
\series default
|
||
evaluates to the degrees that are equivalent to
|
||
\emph on
|
||
x
|
||
\emph default
|
||
radians.
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Description
|
||
|
||
\series medium
|
||
float
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
|
||
\series default
|
||
e
|
||
\series medium
|
||
()
|
||
\series default
|
||
evaluates to the Euler constant
|
||
\emph on
|
||
e
|
||
\emph default
|
||
.
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Description
|
||
|
||
\series medium
|
||
error
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
|
||
\series default
|
||
error
|
||
\series medium
|
||
(string
|
||
\emph on
|
||
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
message
|
||
\emph default
|
||
)
|
||
\series default
|
||
evaluates to an error with the specified message.
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Description
|
||
eval
|
||
\series medium
|
||
(location)
|
||
\series default
|
||
evaluates to the value of the expression in the cell at the given
|
||
\emph on
|
||
location
|
||
\emph default
|
||
, but evaluated in the context of the cell using eval().
|
||
This function may not be used nested any deeper than 32 times.
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Description
|
||
|
||
\series medium
|
||
float
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
|
||
\series default
|
||
float
|
||
\series medium
|
||
(string
|
||
\emph on
|
||
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
s
|
||
\emph default
|
||
)
|
||
\series default
|
||
converts the given string into a floating point number.
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Description
|
||
|
||
\series medium
|
||
float
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
|
||
\series default
|
||
frac
|
||
\series medium
|
||
(float
|
||
\emph on
|
||
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
x
|
||
\emph default
|
||
)
|
||
\series default
|
||
evaluates to the fractional part of
|
||
\emph on
|
||
x
|
||
\emph default
|
||
.
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Description
|
||
|
||
\series medium
|
||
int
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
|
||
\series default
|
||
int
|
||
\series medium
|
||
(float
|
||
\emph on
|
||
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
x
|
||
\emph default
|
||
[,integer
|
||
\emph on
|
||
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
neg
|
||
\emph default
|
||
,
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
integer
|
||
\emph on
|
||
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
pos
|
||
\emph default
|
||
])
|
||
\series default
|
||
converts
|
||
\emph on
|
||
x
|
||
\emph default
|
||
to an integer value by cutting off the fractional part.
|
||
If given, the value of
|
||
\emph on
|
||
neg
|
||
\emph default
|
||
and
|
||
\emph on
|
||
pos
|
||
\emph default
|
||
determines how negative and non-negative numbers will be converted:
|
||
\end_layout
|
||
|
||
\begin_layout Quote
|
||
\begin_inset Tabular
|
||
<lyxtabular version="3" rows="6" columns="2">
|
||
<features tabularvalignment="middle">
|
||
<column alignment="center" valignment="top">
|
||
<column alignment="left" valignment="top">
|
||
<row>
|
||
<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
|
||
\emph on
|
||
neg
|
||
\emph default
|
||
/
|
||
\emph on
|
||
pos
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
Result
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
</row>
|
||
<row>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
< -1
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
next smaller integer value
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
</row>
|
||
<row>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
-1
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
round downward
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
</row>
|
||
<row>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
0
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
cut fractional part off (default)
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
</row>
|
||
<row>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
1
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
round upward
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
</row>
|
||
<row>
|
||
<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
> 1
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
|
||
\begin_inset Text
|
||
|
||
\begin_layout Plain Layout
|
||
next larger integer value
|
||
\end_layout
|
||
|
||
\end_inset
|
||
</cell>
|
||
</row>
|
||
</lyxtabular>
|
||
|
||
\end_inset
|
||
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Description
|
||
|
||
\series medium
|
||
int
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
|
||
\series default
|
||
int
|
||
\series medium
|
||
(string
|
||
\emph on
|
||
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
s
|
||
\emph default
|
||
)
|
||
\series default
|
||
converts
|
||
\emph on
|
||
s
|
||
\emph default
|
||
to an integer number.
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Description
|
||
|
||
\series medium
|
||
string
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
|
||
\series default
|
||
len
|
||
\series medium
|
||
(string
|
||
\emph on
|
||
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
s
|
||
\emph default
|
||
)
|
||
\series default
|
||
evaluates to the length of
|
||
\emph on
|
||
s
|
||
\emph default
|
||
.
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Description
|
||
|
||
\series medium
|
||
float
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
|
||
\series default
|
||
log
|
||
\series medium
|
||
(float|int
|
||
\emph on
|
||
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
x
|
||
\emph default
|
||
[,float|int
|
||
\emph on
|
||
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
y
|
||
\emph default
|
||
)
|
||
\series default
|
||
evaluates to the logarithm of
|
||
\emph on
|
||
x
|
||
\emph default
|
||
.
|
||
If
|
||
\emph on
|
||
y
|
||
\emph default
|
||
is specified, the result will be the natural logarithm, otherwise it will
|
||
be the logarithm to the base of
|
||
\emph on
|
||
y
|
||
\emph default
|
||
.
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Description
|
||
|
||
\series medium
|
||
location
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
|
||
\series default
|
||
max
|
||
\series medium
|
||
(location
|
||
\emph on
|
||
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
l1
|
||
\emph default
|
||
,
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
location
|
||
\emph on
|
||
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
l2
|
||
\emph default
|
||
)
|
||
\series default
|
||
evaluates to the maximum in the same way min does for the minimum.
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Description
|
||
|
||
\series medium
|
||
location
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
|
||
\series default
|
||
min
|
||
\series medium
|
||
(location
|
||
\emph on
|
||
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
l1
|
||
\emph default
|
||
,
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
location
|
||
\emph on
|
||
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
l2
|
||
\emph default
|
||
)
|
||
\series default
|
||
evaluates to the location of the minimum of all values in the block marked
|
||
by the corners pointed to by
|
||
\emph on
|
||
l1
|
||
\emph default
|
||
and
|
||
\emph on
|
||
l2
|
||
\emph default
|
||
.
|
||
Note that the empty cell is equal to 0, 0.0 and "", so if the first minimum
|
||
is an empty cell, the result will be a pointer to this cell, too.
|
||
If you are not interested in the location of the minimum but the value
|
||
itself, use @(min(
|
||
\emph on
|
||
l1
|
||
\emph default
|
||
,
|
||
\emph on
|
||
l2
|
||
\emph default
|
||
)).
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Description
|
||
|
||
\series medium
|
||
int
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
|
||
\series default
|
||
n
|
||
\series medium
|
||
(location
|
||
\emph on
|
||
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
l1
|
||
\emph default
|
||
,
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
location
|
||
\emph on
|
||
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
l2
|
||
\emph default
|
||
)
|
||
\series default
|
||
evaluates to the number of non-empty cells in the block marked by the corners
|
||
pointed to by
|
||
\emph on
|
||
l1
|
||
\emph default
|
||
and
|
||
\emph on
|
||
l2
|
||
\emph default
|
||
.
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Description
|
||
poly
|
||
\series medium
|
||
(float|integer
|
||
\emph on
|
||
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
x
|
||
\emph default
|
||
,
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
float|integer
|
||
\emph on
|
||
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
cn
|
||
\emph default
|
||
[,
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
...])
|
||
\series default
|
||
evaluates the polynome
|
||
\emph on
|
||
|
||
\begin_inset Formula $c_{n}\cdot x^{n}+\ldots+c_{0}\cdot x^{0}$
|
||
\end_inset
|
||
|
||
|
||
\emph default
|
||
.
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Description
|
||
|
||
\series medium
|
||
float
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
|
||
\series default
|
||
rad2deg
|
||
\series medium
|
||
(float|int
|
||
\emph on
|
||
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
x
|
||
\emph default
|
||
)
|
||
\series default
|
||
evaluates to the radians that are equivalent to
|
||
\emph on
|
||
x
|
||
\emph default
|
||
degrees.
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Description
|
||
|
||
\series medium
|
||
float
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
|
||
\series default
|
||
rnd
|
||
\series medium
|
||
()
|
||
\series default
|
||
evaluates to a pseudo-random number between 0.0 and 1.0.
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Description
|
||
|
||
\series medium
|
||
float
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
|
||
\series default
|
||
sin
|
||
\series medium
|
||
(float|int
|
||
\emph on
|
||
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
x
|
||
\emph default
|
||
)
|
||
\series default
|
||
evaluates to the sine of
|
||
\emph on
|
||
x
|
||
\emph default
|
||
, where
|
||
\emph on
|
||
x
|
||
\emph default
|
||
is given in radians.
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Description
|
||
|
||
\series medium
|
||
float
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
|
||
\series default
|
||
sinh
|
||
\series medium
|
||
(float|int
|
||
\emph on
|
||
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
x
|
||
\emph default
|
||
)
|
||
\series default
|
||
evaluates to the hyperbolic sine of
|
||
\emph on
|
||
x
|
||
\emph default
|
||
, where
|
||
\emph on
|
||
x
|
||
\emph default
|
||
is given in radians.
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Description
|
||
|
||
\series medium
|
||
string
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
|
||
\series default
|
||
strftime
|
||
\series medium
|
||
(string
|
||
\emph on
|
||
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
f
|
||
\emph default
|
||
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
[,
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
integer
|
||
\emph on
|
||
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
t
|
||
\emph default
|
||
])
|
||
\series default
|
||
evaluates to the time
|
||
\emph on
|
||
t
|
||
\emph default
|
||
formatted according to the format specified in
|
||
\emph on
|
||
f
|
||
\emph default
|
||
.
|
||
Times in
|
||
\emph on
|
||
t
|
||
\emph default
|
||
are counted in seconds since epoch (1970-1-1 0:00).
|
||
If
|
||
\emph on
|
||
t
|
||
\emph default
|
||
is empty or 0, the actual time is used.
|
||
For the format specifications consult the man page of your c library, strftime
|
||
(3).
|
||
Example:
|
||
\emph on
|
||
@(now)=int(strftime("%s"))
|
||
\emph default
|
||
sets the field with label now to the actual time.
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Description
|
||
|
||
\series medium
|
||
string
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
|
||
\series default
|
||
string
|
||
\series medium
|
||
(location
|
||
\emph on
|
||
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
l
|
||
\emph default
|
||
)
|
||
\end_layout
|
||
|
||
\begin_layout Description
|
||
|
||
\series medium
|
||
string
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
|
||
\series default
|
||
string
|
||
\series medium
|
||
(integer
|
||
\emph on
|
||
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
x
|
||
\emph default
|
||
)
|
||
\series default
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Description
|
||
|
||
\series medium
|
||
string
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
|
||
\series default
|
||
string
|
||
\series medium
|
||
(float
|
||
\emph on
|
||
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
x
|
||
\emph default
|
||
[,
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
[integer
|
||
\emph on
|
||
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
precision
|
||
\emph default
|
||
][,
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
integer
|
||
\emph on
|
||
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
scientific
|
||
\emph default
|
||
]])
|
||
\series default
|
||
evaluates to a string containing the current value of the given cell at
|
||
location
|
||
\emph on
|
||
l
|
||
\emph default
|
||
, or to the numeric value
|
||
\emph on
|
||
x
|
||
\emph default
|
||
with the given
|
||
\emph on
|
||
precision
|
||
\emph default
|
||
.
|
||
The
|
||
\emph on
|
||
scientific
|
||
\emph default
|
||
flag determines if decimal (0) or scientific (unequal 0) representation
|
||
is used.
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Description
|
||
|
||
\series medium
|
||
int
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
|
||
\series default
|
||
strptime
|
||
\series medium
|
||
(string
|
||
\emph on
|
||
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
f
|
||
\emph default
|
||
,
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
string
|
||
\emph on
|
||
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
datetime
|
||
\emph default
|
||
)
|
||
\series default
|
||
evaluates to the seconds since epoch (1970-1-1 0:00) of the
|
||
\emph on
|
||
datetime
|
||
\emph default
|
||
string, parsed according to the format specified in
|
||
\emph on
|
||
f
|
||
\emph default
|
||
.
|
||
For the format specifications consult the man page of your c library, strptime
|
||
(3).
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Description
|
||
|
||
\series medium
|
||
string
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
|
||
\series default
|
||
substr
|
||
\series medium
|
||
(string
|
||
\emph on
|
||
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
s,
|
||
\emph default
|
||
integer
|
||
\emph on
|
||
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
x,
|
||
\emph default
|
||
integer
|
||
\emph on
|
||
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
y
|
||
\emph default
|
||
)
|
||
\series default
|
||
evaluates to the substring of
|
||
\emph on
|
||
s
|
||
\emph default
|
||
between
|
||
\emph on
|
||
x
|
||
\emph default
|
||
and
|
||
\emph on
|
||
y
|
||
\emph default
|
||
, which start at 0.
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Description
|
||
sum
|
||
\series medium
|
||
(location
|
||
\emph on
|
||
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
l1
|
||
\emph default
|
||
,
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
location
|
||
\emph on
|
||
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
l2
|
||
\emph default
|
||
)
|
||
\series default
|
||
evaluates to the sum of all values in the block marked by the corners pointed
|
||
to by
|
||
\emph on
|
||
l1
|
||
\emph default
|
||
and
|
||
\emph on
|
||
l2
|
||
\emph default
|
||
.
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Description
|
||
|
||
\series medium
|
||
float
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
|
||
\series default
|
||
tan
|
||
\series medium
|
||
(float|int
|
||
\emph on
|
||
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
x
|
||
\emph default
|
||
)
|
||
\series default
|
||
evaluates to the tangent of
|
||
\emph on
|
||
x
|
||
\emph default
|
||
, where
|
||
\emph on
|
||
x
|
||
\emph default
|
||
is given in radians.
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Description
|
||
|
||
\series medium
|
||
float
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
|
||
\series default
|
||
tanh
|
||
\series medium
|
||
(float|int
|
||
\emph on
|
||
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
x
|
||
\emph default
|
||
)
|
||
\series default
|
||
evaluates to the hyperbolic tangent of
|
||
\emph on
|
||
x
|
||
\emph default
|
||
, where
|
||
\emph on
|
||
x
|
||
\emph default
|
||
is given in radians.
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Description
|
||
|
||
\series medium
|
||
int
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
|
||
\series default
|
||
x
|
||
\series medium
|
||
([location
|
||
\emph on
|
||
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
l
|
||
\emph default
|
||
])
|
||
\series default
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Description
|
||
|
||
\series medium
|
||
int
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
|
||
\series default
|
||
y
|
||
\series medium
|
||
([location
|
||
\emph on
|
||
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
l
|
||
\emph default
|
||
])
|
||
\series default
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Description
|
||
|
||
\series medium
|
||
int
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
|
||
\series default
|
||
z
|
||
\series medium
|
||
([location
|
||
\emph on
|
||
|
||
\begin_inset space ~
|
||
\end_inset
|
||
|
||
l
|
||
\emph default
|
||
])
|
||
\series default
|
||
evaluate to the
|
||
\emph on
|
||
x
|
||
\emph default
|
||
,
|
||
\emph on
|
||
y
|
||
\emph default
|
||
and
|
||
\emph on
|
||
z
|
||
\emph default
|
||
position of the given location, of the currently updated cell if none is
|
||
given.
|
||
These functions are usually used in combination with the @ function for
|
||
relative relations to other cells.
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Subsection
|
||
Expression Grammar
|
||
\end_layout
|
||
|
||
\begin_layout Description
|
||
digit::=
|
||
\family typewriter
|
||
0
|
||
\family default
|
||
| ..
|
||
|
|
||
\family typewriter
|
||
9
|
||
\end_layout
|
||
|
||
\begin_layout Description
|
||
hex_digit::=
|
||
\family typewriter
|
||
0
|
||
\family default
|
||
| ..
|
||
|
|
||
\family typewriter
|
||
9
|
||
\family default
|
||
|
|
||
\family typewriter
|
||
a
|
||
\family default
|
||
| ..
|
||
|
|
||
\family typewriter
|
||
f
|
||
\end_layout
|
||
|
||
\begin_layout Description
|
||
octal_digit::=
|
||
\family typewriter
|
||
0
|
||
\family default
|
||
| ..
|
||
|
|
||
\family typewriter
|
||
7
|
||
\end_layout
|
||
|
||
\begin_layout Description
|
||
decimal_integer::=
|
||
\emph on
|
||
digit
|
||
\emph default
|
||
{
|
||
\emph on
|
||
digit
|
||
\emph default
|
||
}
|
||
\end_layout
|
||
|
||
\begin_layout Description
|
||
hex_integer::=
|
||
\family typewriter
|
||
0x
|
||
\family default
|
||
|
||
\emph on
|
||
hex_digit
|
||
\emph default
|
||
{
|
||
\emph on
|
||
hexdigit
|
||
\emph default
|
||
}
|
||
\end_layout
|
||
|
||
\begin_layout Description
|
||
octal_integer::=
|
||
\family typewriter
|
||
0
|
||
\family default
|
||
|
||
\emph on
|
||
octal_digit
|
||
\emph default
|
||
{
|
||
\emph on
|
||
octdigit
|
||
\emph default
|
||
}
|
||
\end_layout
|
||
|
||
\begin_layout Description
|
||
integer::=
|
||
\emph on
|
||
decimal_integer
|
||
\emph default
|
||
|
|
||
\emph on
|
||
hex_integer
|
||
\emph default
|
||
|
|
||
\emph on
|
||
octal_integer
|
||
\end_layout
|
||
|
||
\begin_layout Description
|
||
float::=
|
||
\emph on
|
||
digit
|
||
\emph default
|
||
{
|
||
\emph on
|
||
digit
|
||
\emph default
|
||
} [
|
||
\family typewriter
|
||
.
|
||
|
||
\family default
|
||
] {
|
||
\emph on
|
||
digit
|
||
\emph default
|
||
} [
|
||
\family typewriter
|
||
e
|
||
\family default
|
||
|
|
||
\family typewriter
|
||
E
|
||
\family default
|
||
[
|
||
\family typewriter
|
||
+
|
||
\family default
|
||
|
|
||
\family typewriter
|
||
-
|
||
\family default
|
||
]
|
||
\emph on
|
||
digit
|
||
\emph default
|
||
{
|
||
\emph on
|
||
digit
|
||
\emph default
|
||
} ]
|
||
\end_layout
|
||
|
||
\begin_layout Description
|
||
quoted_character::=
|
||
\emph on
|
||
|
||
\backslash
|
||
any_character
|
||
\end_layout
|
||
|
||
\begin_layout Description
|
||
character::=
|
||
\emph on
|
||
any_character
|
||
\emph default
|
||
|
|
||
\emph on
|
||
quoted_character
|
||
\end_layout
|
||
|
||
\begin_layout Description
|
||
string::=
|
||
\family typewriter
|
||
"
|
||
\family default
|
||
{
|
||
\emph on
|
||
character
|
||
\emph default
|
||
}
|
||
\family typewriter
|
||
"
|
||
\end_layout
|
||
|
||
\begin_layout Description
|
||
identifier_character::=
|
||
\family typewriter
|
||
_
|
||
\family default
|
||
|
|
||
\family typewriter
|
||
@
|
||
\family default
|
||
|
|
||
\family typewriter
|
||
&
|
||
\family default
|
||
|
|
||
\family typewriter
|
||
.
|
||
|
||
\family default
|
||
|
|
||
\family typewriter
|
||
$
|
||
\family default
|
||
|
|
||
\emph on
|
||
alpha_character
|
||
\end_layout
|
||
|
||
\begin_layout Description
|
||
identifier::=
|
||
\emph on
|
||
identifier_character
|
||
\emph default
|
||
{
|
||
\emph on
|
||
identifier_character
|
||
\emph default
|
||
|
|
||
\emph on
|
||
digit
|
||
\emph default
|
||
}
|
||
\end_layout
|
||
|
||
\begin_layout Description
|
||
function::=
|
||
\emph on
|
||
identifier
|
||
\emph default
|
||
|
||
\family typewriter
|
||
(
|
||
\family default
|
||
[
|
||
\emph on
|
||
term
|
||
\emph default
|
||
] {
|
||
\family typewriter
|
||
,
|
||
\family default
|
||
[
|
||
\emph on
|
||
term
|
||
\emph default
|
||
] }
|
||
\family typewriter
|
||
)
|
||
\end_layout
|
||
|
||
\begin_layout Description
|
||
label::=
|
||
\emph on
|
||
identifier
|
||
\end_layout
|
||
|
||
\begin_layout Description
|
||
parenterm::=
|
||
\family typewriter
|
||
(
|
||
\family default
|
||
|
||
\emph on
|
||
term
|
||
\emph default
|
||
|
||
\family typewriter
|
||
)
|
||
\end_layout
|
||
|
||
\begin_layout Description
|
||
negterm::=
|
||
\family typewriter
|
||
-
|
||
\family default
|
||
|
||
\emph on
|
||
primary
|
||
\end_layout
|
||
|
||
\begin_layout Description
|
||
primary::=
|
||
\emph on
|
||
function
|
||
\emph default
|
||
|
|
||
\emph on
|
||
label
|
||
\emph default
|
||
|
|
||
\emph on
|
||
parenterm
|
||
\emph default
|
||
|
|
||
\emph on
|
||
negterm
|
||
\end_layout
|
||
|
||
\begin_layout Description
|
||
powterm::=
|
||
\emph on
|
||
primary
|
||
\emph default
|
||
{
|
||
\family typewriter
|
||
‸
|
||
\family default
|
||
|
||
\emph on
|
||
primary
|
||
\emph default
|
||
}
|
||
\end_layout
|
||
|
||
\begin_layout Description
|
||
mathterm::=
|
||
\emph on
|
||
powterm
|
||
\emph default
|
||
{
|
||
\family typewriter
|
||
/
|
||
\family default
|
||
|
|
||
\family typewriter
|
||
*
|
||
\family default
|
||
|
|
||
\family typewriter
|
||
%
|
||
\family default
|
||
|
||
\emph on
|
||
powterm
|
||
\emph default
|
||
}
|
||
\end_layout
|
||
|
||
\begin_layout Description
|
||
factor::=
|
||
\emph on
|
||
mathterm
|
||
\emph default
|
||
{
|
||
\family typewriter
|
||
+
|
||
\family default
|
||
|
|
||
\family typewriter
|
||
-
|
||
\family default
|
||
|
||
\emph on
|
||
mathterm
|
||
\emph default
|
||
}
|
||
\end_layout
|
||
|
||
\begin_layout Description
|
||
term::=
|
||
\emph on
|
||
factor
|
||
\emph default
|
||
{
|
||
\family typewriter
|
||
<
|
||
\family default
|
||
|
|
||
\family typewriter
|
||
<=
|
||
\family default
|
||
|
|
||
\family typewriter
|
||
>=
|
||
\family default
|
||
|
|
||
\family typewriter
|
||
>
|
||
\family default
|
||
|
|
||
\family typewriter
|
||
==
|
||
\family default
|
||
|
|
||
\family typewriter
|
||
!=
|
||
\family default
|
||
|
||
\emph on
|
||
factor
|
||
\emph default
|
||
}
|
||
\end_layout
|
||
|
||
\begin_layout Section
|
||
Frequently Asked Questions
|
||
\end_layout
|
||
|
||
\begin_layout Subsection
|
||
Why is 1.0 unequal 1.0?
|
||
\end_layout
|
||
|
||
\begin_layout Standard
|
||
If your machine uses binary floating point arithmetic, and chances are that
|
||
it does, you may eventually find yourself in the following situation:
|
||
\end_layout
|
||
|
||
\begin_layout Quote
|
||
0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1
|
||
\end_layout
|
||
|
||
\begin_layout Standard
|
||
You expect to see 1.0 as result, and indeed that is what you get.
|
||
Now you compare this result to the constant 1.0, but surprisingly for many
|
||
users, the result is 0.
|
||
Appearantly, 1.0 is unequal 1.0 for teapot.
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Standard
|
||
This is not a bug in teapot, in fact it is not a bug at all.
|
||
The problem is, that 0.1 (1.0/10.0) does not have an exact representation
|
||
in binary floating point arithmetic, similar to how 1.0/3.0 does not have
|
||
an exact representation in decimal arithmetic (or binary, for that matter).
|
||
As such, a value very close to 0.1 is used, but when displaying it, it will
|
||
be rounded to 0.1.
|
||
The result is obvious, adding this number which is a little different from
|
||
0.1 ten times leads to a result very close to but not quite 1.0.
|
||
Since it is so close, displaying it rounded to only a few digits precision
|
||
shows 1.0.
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Standard
|
||
To solve the comparison problem, teapot has the operator
|
||
\family typewriter
|
||
=
|
||
\family default
|
||
(in contrast to the operator ==), which compares two floating point values
|
||
apart from the last significant bit.
|
||
Use this operator to compare the two values from above and the result will
|
||
be 1, meaning they are about equal.
|
||
Don't assume that a number which can be expressed with a finite number
|
||
of decimal digits will be represented exactly in binary floating point
|
||
arithmetic.
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Subsection
|
||
How do I hide intermediate results?
|
||
\end_layout
|
||
|
||
\begin_layout Standard
|
||
If you used flat, two-dimensional spread sheets before, you are probably
|
||
used to hidden cells which contain intermediate results, global constants,
|
||
scratch areas and the like.
|
||
teapot has no way to hide cells, but you have three dimensions.
|
||
Just use one or more layers for such cells and give each cell a label in
|
||
order to reference and find it easily.
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Subsection
|
||
Why is there no conditional evaluation?
|
||
\end_layout
|
||
|
||
\begin_layout Standard
|
||
There is no special operator or function for conditional evaluation.
|
||
I could add one easily, but then next someone would ask for loops and someone
|
||
else for user-defined functions, variables and so on.
|
||
If you need a programming language, you know where to find it.
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Standard
|
||
But don't worry.
|
||
The answer is, that conditional evaluation comes for free with teapot's
|
||
orthogonal cell addressing.
|
||
As an example, depending on the cell labelled
|
||
\family typewriter
|
||
X
|
||
\family default
|
||
being negative or not, you want the result to be the string
|
||
\family typewriter
|
||
"BAD
|
||
\family default
|
||
or
|
||
\family typewriter
|
||
"GOOD"
|
||
\family default
|
||
.
|
||
This is the solution:
|
||
\end_layout
|
||
|
||
\begin_layout Quote
|
||
eval(&((@(X)>=0)+x(BAD),y(BAD),z(BAD)))
|
||
\end_layout
|
||
|
||
\begin_layout Standard
|
||
The cell labelled
|
||
\family typewriter
|
||
BAD
|
||
\family default
|
||
contains the string
|
||
\family typewriter
|
||
"BAD"
|
||
\family default
|
||
, its right neighbour contains the string
|
||
\family typewriter
|
||
"GOOD"
|
||
\family default
|
||
.
|
||
If you have nested conditions, you could weight them with 1, 2, 4 and so
|
||
on to address a bigger range of cells.
|
||
Alternatively, you could make use of all three dimensions for nested conditions.
|
||
|
||
\end_layout
|
||
|
||
\end_body
|
||
\end_document
|