diff --git a/doc/teapot.lyx b/doc/teapot.lyx index fc9a9ac..09a0969 100644 --- a/doc/teapot.lyx +++ b/doc/teapot.lyx @@ -1,7 +1,9 @@ -#LyX 1.6.7 created this file. For more info see http://www.lyx.org/ -\lyxformat 345 +#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} @@ -9,18 +11,28 @@ \end_preamble \options DIV=11 \use_default_options false +\maintain_unincluded_children false \language english +\language_package default \inputencoding auto -\font_roman newcent -\font_sans default -\font_typewriter default +\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 -\font_tt_scale 100 - +\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 @@ -37,23 +49,46 @@ \pdf_pdfusetitle true \papersize default \use_geometry false -\use_amsmath 1 -\use_esint 1 +\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 -\defskip medskip -\quotes_language english +\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 -\author "" -\author "" +\html_math_output 0 +\html_css_as_file 0 +\html_be_strict false \end_header \begin_body @@ -63,7 +98,7 @@ Teapot User Guide \end_layout \begin_layout Author -Michael Haardt, Jörg Walter +Michael Haardt, Jörg Walter, Glen Whitney \end_layout \begin_layout Date @@ -71,6 +106,19 @@ Michael Haardt, Jörg Walter 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 @@ -78,15 +126,15 @@ target "http://www.syntax-k.de/projekte/teapot" \end_layout \begin_layout Abstract -For ages, spread sheet programs have been closely associated with financial +For ages, spreadsheet programs have been closely associated with financial calculations done by typical end-users. - But it has shown that there is also hacker's work which can be done with - them, like calculate monitor timings for various resolutions, produce convincin -g time statistics which justify the lack of documentation or the need for - a budget increase to your employer. - This first part of this user guide explains how the various functions of - teapot are used, whereas the second part gives an introduction to spread - sheets and explains the expression evaluator and its functions. + 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 @@ -114,8 +162,9 @@ Copyright, Contributors and License \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. + (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 @@ -149,12 +198,13 @@ This program is distributed in the hope that it will be useful, but WITHOUT \end_layout \begin_layout Standard -You should have received a copy of the GNU General Public License along +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 @@ -162,7 +212,7 @@ target "http://www.gnu.org/licenses/" \end_layout \begin_layout Section -Introduction to Spread Sheets +Introduction to Spreadsheets \end_layout \begin_layout Subsection @@ -170,11 +220,11 @@ General Introduction \end_layout \begin_layout Standard -A spread sheet consists of cells formed by rows and columns. - Additionally, in many spread sheets you have a third dimension, which you - can imagine as various sheets laying on top of each other. - The third dimension allows you to hide intermediate results, show you additiona -l results you do not want to appear in the +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 @@ -182,9 +232,9 @@ official \begin_inset Quotes erd \end_inset - tables, keep sheets per time period (like 12 sheets for each month in a - year) while allowing you to make calculations over the entire time interval - and much more. + 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 @@ -283,7 +333,7 @@ hrule} \end_layout \begin_layout Plain Layout -\begin_inset Caption +\begin_inset Caption Standard \begin_layout Plain Layout \begin_inset CommandInset label @@ -319,7 +369,7 @@ You can think of cells as variables, which value is the value of an associated \end_layout \begin_layout Standard -Spread sheets offer many editing functions in order to modify, clear, copy +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 @@ -331,7 +381,7 @@ Spread sheets offer many editing functions in order to modify, clear, copy \end_layout \begin_layout Standard -teapot is a traditional spread sheet and a typical UNIX program, because +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 @@ -344,8 +394,8 @@ The First Steps \end_layout \begin_layout Standard -Now that you should have an idea, it is probably a good time to make your - first steps. +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 @@ -356,7 +406,7 @@ status collapsed If you are using the graphical version of teapot, please see section \begin_inset CommandInset ref LatexCommand vref -reference "sub:Differences-Between-User" +reference "subsec:Differences-Between-User" \end_inset @@ -713,8 +763,8 @@ The sheet is currently in reset condition and the result is 1. \end_layout \begin_layout Standard -After this introductional chapter, you should be familiar with the basic - concepts in spread sheets. +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. @@ -726,7 +776,7 @@ After this introductional chapter, you should be familiar with the basic \begin_layout Subsection \begin_inset CommandInset label LatexCommand label -name "sub:Differences-Between-User" +name "subsec:Differences-Between-User" \end_inset @@ -742,6 +792,17 @@ teapot 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 @@ -750,15 +811,8 @@ Most notably, a few key bindings don't exist. 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. - There are not yet documented, but should -\begin_inset Quotes eld -\end_inset - -just work -\begin_inset Quotes erd -\end_inset - - as expected. + The table in the following section attempts to summarize all bindings from + both variants. \end_layout \begin_layout Section @@ -770,14 +824,24 @@ 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. - Table + Tables \begin_inset CommandInset ref LatexCommand vref reference "tab:Key-Bindings-in" \end_inset - lists all available key bindings + 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 @@ -785,7 +849,7 @@ status collapsed If you are using the graphical version of teapot, please see section \begin_inset CommandInset ref LatexCommand vref -reference "sub:Differences-Between-User" +reference "subsec:Differences-Between-User" \end_inset @@ -795,23 +859,75 @@ reference "sub:Differences-Between-User" \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 - - - - - + + + + + - + +\begin_inset Text + +\begin_layout Plain Layout + +\series bold +Cursor Motions +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + + + \begin_inset Text \begin_layout Plain Layout @@ -840,11 +956,11 @@ Function - + \begin_inset Text \begin_layout Plain Layout -Next Line +Next Character/Right Arrow \end_layout \end_inset @@ -853,7 +969,7 @@ Next Line \begin_inset Text \begin_layout Plain Layout -Ctrl-N +[Ctrl-F] \end_layout \end_inset @@ -862,18 +978,19 @@ Ctrl-N \begin_inset Text \begin_layout Plain Layout -Cursor down +Right \end_layout \end_inset - + \begin_inset Text \begin_layout Plain Layout -Previous Line +Prev. + Character/Left Arrow \end_layout \end_inset @@ -882,7 +999,7 @@ Previous Line \begin_inset Text \begin_layout Plain Layout -Ctrl-P +[Ctrl-B] \end_layout \end_inset @@ -891,18 +1008,18 @@ Ctrl-P \begin_inset Text \begin_layout Plain Layout -Cursor up +Left \end_layout \end_inset - + \begin_inset Text \begin_layout Plain Layout -Begin +Next Line/Down Arrow \end_layout \end_inset @@ -911,7 +1028,7 @@ Begin \begin_inset Text \begin_layout Plain Layout -Ctrl-A +[Ctrl-N] \end_layout \end_inset @@ -920,16 +1037,140 @@ Ctrl-A \begin_inset Text \begin_layout Plain Layout -Cursor to column 0 +Down \end_layout \end_inset + +\begin_inset Text + +\begin_layout Plain Layout +Previous Line/Up Arrow +\end_layout + +\end_inset + \begin_inset Text +\begin_layout Plain Layout +[Ctrl-P] +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +Up +\end_layout + +\end_inset + + + + +\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 + + +\begin_inset Text + +\begin_layout Plain Layout +[+] +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +Next Layer +\end_layout + +\end_inset + + + + +\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 + + +\begin_inset Text + +\begin_layout Plain Layout +- (Dash/Minus) +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +Previous Layer +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout +Begin/Home +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +[Ctrl-A] +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +To column 0 +\end_layout + +\end_inset + + + + +\begin_inset Text + \begin_layout Plain Layout End \end_layout @@ -940,7 +1181,7 @@ End \begin_inset Text \begin_layout Plain Layout -Ctrl-E +[Ctrl-E] \end_layout \end_inset @@ -949,18 +1190,18 @@ Ctrl-E \begin_inset Text \begin_layout Plain Layout -Cursor to last column +To last column \end_layout \end_inset - + \begin_inset Text \begin_layout Plain Layout - +{Ctrl-Home} {Ctrl-PageUp} \end_layout \end_inset @@ -969,7 +1210,7 @@ Cursor to last column \begin_inset Text \begin_layout Plain Layout -+ +[<] \end_layout \end_inset @@ -978,18 +1219,18 @@ Cursor to last column \begin_inset Text \begin_layout Plain Layout -Cursor to next layer +To row 0 \end_layout \end_inset - + \begin_inset Text \begin_layout Plain Layout - +{Ctrl-End} {Ctrl-PageDown} \end_layout \end_inset @@ -998,7 +1239,7 @@ Cursor to next layer \begin_inset Text \begin_layout Plain Layout -- (Dash) +[>] \end_layout \end_inset @@ -1007,18 +1248,18 @@ Cursor to next layer \begin_inset Text \begin_layout Plain Layout -Cursor to previous layer +To last row \end_layout \end_inset - + \begin_inset Text \begin_layout Plain Layout - +{Shift-Home} \end_layout \end_inset @@ -1027,7 +1268,7 @@ Cursor to previous layer \begin_inset Text \begin_layout Plain Layout -< +[_ (Underscore)] \end_layout \end_inset @@ -1036,18 +1277,18 @@ Cursor to previous layer \begin_inset Text \begin_layout Plain Layout -Cursor to line 0 +To Layer 0 \end_layout \end_inset - + \begin_inset Text \begin_layout Plain Layout - +{Shift-End} \end_layout \end_inset @@ -1056,7 +1297,7 @@ Cursor to line 0 \begin_inset Text \begin_layout Plain Layout -> +[*] \end_layout \end_inset @@ -1065,14 +1306,14 @@ Cursor to line 0 \begin_inset Text \begin_layout Plain Layout -Cursor to last line +To last layer \end_layout \end_inset - + \begin_inset Text \begin_layout Plain Layout @@ -1085,7 +1326,7 @@ Cursor to last line \begin_inset Text \begin_layout Plain Layout -_ (Underscore) +[Ctrl-X >] \end_layout \end_inset @@ -1094,14 +1335,14 @@ _ (Underscore) \begin_inset Text \begin_layout Plain Layout -Cursor to layer 0 +Jump one page right \end_layout \end_inset - + \begin_inset Text \begin_layout Plain Layout @@ -1114,7 +1355,7 @@ Cursor to layer 0 \begin_inset Text \begin_layout Plain Layout -* +[Ctrl-X >] \end_layout \end_inset @@ -1123,18 +1364,18 @@ Cursor to layer 0 \begin_inset Text \begin_layout Plain Layout -Cursor to last layer +Jump one page left \end_layout \end_inset - + \begin_inset Text \begin_layout Plain Layout - +PageDown {Ctrl-Down} \end_layout \end_inset @@ -1143,7 +1384,7 @@ Cursor to last layer \begin_inset Text \begin_layout Plain Layout -Ctrl-X < +[Ctrl-V] \end_layout \end_inset @@ -1152,18 +1393,18 @@ Ctrl-X < \begin_inset Text \begin_layout Plain Layout -One page left +Jump one page down \end_layout \end_inset - + \begin_inset Text \begin_layout Plain Layout - +PageUp {Ctrl-Up} \end_layout \end_inset @@ -1172,7 +1413,7 @@ One page left \begin_inset Text \begin_layout Plain Layout -Ctrl-X > +[Meta-V] \end_layout \end_inset @@ -1181,16 +1422,149 @@ Ctrl-X > \begin_inset Text \begin_layout Plain Layout -One page right +Jump one page up \end_layout \end_inset + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +{Ctrl-G} +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +Go to arbitrary location +\end_layout + +\end_inset + + + + +\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 + + + + + + \begin_inset Text +\begin_layout Plain Layout + +\series bold +Program Control +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout +Function Key +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +ASCII Key +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +Function +\end_layout + +\end_inset + + + + +\begin_inset Text + \begin_layout Plain Layout F10 \end_layout @@ -1201,7 +1575,7 @@ F10 \begin_inset Text \begin_layout Plain Layout -/ +[/] \end_layout \end_inset @@ -1217,36 +1591,7 @@ Main menu - -\begin_inset Text - -\begin_layout Plain Layout -F2 -\end_layout - -\end_inset - - -\begin_inset Text - -\begin_layout Plain Layout - -\end_layout - -\end_inset - - -\begin_inset Text - -\begin_layout Plain Layout -Save menu -\end_layout - -\end_inset - - - - + \begin_inset Text \begin_layout Plain Layout @@ -1258,6 +1603,371 @@ F3 \begin_inset Text +\begin_layout Plain Layout +[Ctrl-X Ctrl-S] {Ctrl-S} +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +Save sheet +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +{Ctrl-Shift-S} +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +Save sheet as... +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +[Esc z] +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +Save sheet and quit +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout +F2 +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +[Ctrl-X Ctrl-R] {Ctrl-O} +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +Load sheet +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +{Meta-F} +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +Activate File menu +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +{Meta-V} +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +Activate View menu +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +{Meta-O} +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +Activate fOrmat menu +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +{Meta-H} +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +Activate Help menu +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +Ctrl-L +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +Redraw screen +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +[Ctrl-C] [Ctrl-G] {Esc} +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +Abort current action +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout +Cancel +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +[Ctrl-X Ctrl-C] {Ctrl-Q} +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +Quit +\end_layout + +\end_inset + + + + +\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 + + + + + + + +\begin_inset Text + +\begin_layout Plain Layout + +\series bold +Modify Cells/Blocks +\end_layout + +\end_inset + + +\begin_inset Text + \begin_layout Plain Layout \end_layout @@ -1268,43 +1978,43 @@ F3 \begin_inset Text \begin_layout Plain Layout -Load menu + \end_layout \end_inset - + \begin_inset Text \begin_layout Plain Layout - +Function Key \end_layout \end_inset - + \begin_inset Text \begin_layout Plain Layout -Ctrl-X Ctrl-R +ASCII Key \end_layout \end_inset - + \begin_inset Text \begin_layout Plain Layout -Load file +Function \end_layout \end_inset - + \begin_inset Text \begin_layout Plain Layout @@ -1317,7 +2027,7 @@ Enter \begin_inset Text \begin_layout Plain Layout -Ctrl-J, Ctrl-M +[Ctrl-J] [Ctrl-M] \end_layout \end_inset @@ -1333,9 +2043,38 @@ Edit cell contents + +\begin_inset Text + +\begin_layout Plain Layout +Backspace +\end_layout + +\end_inset + \begin_inset Text +\begin_layout Plain Layout +[Ctrl-H] +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +Edit cell and delete last character +\end_layout + +\end_inset + + + + +\begin_inset Text + \begin_layout Plain Layout \end_layout @@ -1371,7 +2110,7 @@ Overwrite cell contents - + \begin_inset Text \begin_layout Plain Layout @@ -1384,7 +2123,7 @@ Meta-Enter \begin_inset Text \begin_layout Plain Layout -Esc Ctrl-J, Esc Ctrl-M +[Esc Ctrl-J] [Esc Ctrl-M] \end_layout \end_inset @@ -1400,36 +2139,7 @@ Edit clocked cell contents - -\begin_inset Text - -\begin_layout Plain Layout -Backspace -\end_layout - -\end_inset - - -\begin_inset Text - -\begin_layout Plain Layout -Ctrl-H -\end_layout - -\end_inset - - -\begin_inset Text - -\begin_layout Plain Layout -Edit cell contents -\end_layout - -\end_inset - - - - + \begin_inset Text \begin_layout Plain Layout @@ -1452,18 +2162,22 @@ Edit cell contents \begin_inset Text \begin_layout Plain Layout -Mark block +Start/End Mark block (see text) \end_layout \end_inset - + \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 @@ -1472,7 +2186,7 @@ Mark block \begin_inset Text \begin_layout Plain Layout -Ctrl-L + \end_layout \end_inset @@ -1481,18 +2195,18 @@ Ctrl-L \begin_inset Text \begin_layout Plain Layout -Redraw screen +Start Mark and Move \end_layout \end_inset - + \begin_inset Text \begin_layout Plain Layout - +{Ctrl-Insert} \end_layout \end_inset @@ -1501,7 +2215,7 @@ Redraw screen \begin_inset Text \begin_layout Plain Layout -Ctrl-Y +{Ctrl-C} \end_layout \end_inset @@ -1510,16 +2224,451 @@ Ctrl-Y \begin_inset Text \begin_layout Plain Layout -Paste block +Copy cell/text/block; End Mark \end_layout \end_inset + +\begin_inset Text + +\begin_layout Plain Layout +{Shift-Delete} +\end_layout + +\end_inset + \begin_inset Text +\begin_layout Plain Layout +{Ctrl-X} +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +Designate block for moving; End Mark +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout +{Shift-Insert} +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +[Ctrl-Y] {Ctrl-V} +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +Paste/move block +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout +{Delete} +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +Clear block +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +{Meta-A} +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +Set cell label +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +{Meta-B} +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +Toggle cell/block bold +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +{Meta-U} +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +Toggle cell/block underlined +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +{Meta-L} +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +Make cell/block left justified +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +{Meta-C} +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +Make cell/block centered +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +{Meta-R} +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +Make cell/block right justified +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +{Meta-P} +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +Set cell/block precision +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +{Meta-W} +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +Set column width +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +{Meta-S} +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +Set cell/block scientific notation +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +{Meta-E} +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +Toggle cell/block shadowed +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +{Meta-T} +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +Toggle cell/block transparent +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +{Meta-I} +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +Toggle cell/block ignored +\end_layout + +\end_inset + + + + +\begin_inset Text + \begin_layout Plain Layout \end_layout @@ -1546,156 +2695,11 @@ Reset sheet - + \begin_inset Text \begin_layout Plain Layout -F9 -\end_layout - -\end_inset - - -\begin_inset Text - -\begin_layout Plain Layout -Ctrl-S -\end_layout - -\end_inset - - -\begin_inset Text - -\begin_layout Plain Layout -Clock sheet -\end_layout - -\end_inset - - - - -\begin_inset Text - -\begin_layout Plain Layout - -\end_layout - -\end_inset - - -\begin_inset Text - -\begin_layout Plain Layout -Esc z -\end_layout - -\end_inset - - -\begin_inset Text - -\begin_layout Plain Layout -Save and quit -\end_layout - -\end_inset - - - - -\begin_inset Text - -\begin_layout Plain Layout - -\end_layout - -\end_inset - - -\begin_inset Text - -\begin_layout Plain Layout -Ctrl-X Ctrl-C -\end_layout - -\end_inset - - -\begin_inset Text - -\begin_layout Plain Layout -Quit -\end_layout - -\end_inset - - - - -\begin_inset Text - -\begin_layout Plain Layout -Next Page -\end_layout - -\end_inset - - -\begin_inset Text - -\begin_layout Plain Layout -Ctrl-V -\end_layout - -\end_inset - - -\begin_inset Text - -\begin_layout Plain Layout -One page down -\end_layout - -\end_inset - - - - -\begin_inset Text - -\begin_layout Plain Layout -Previous Page -\end_layout - -\end_inset - - -\begin_inset Text - -\begin_layout Plain Layout -Meta-V -\end_layout - -\end_inset - - -\begin_inset Text - -\begin_layout Plain Layout -One page up -\end_layout - -\end_inset - - - - -\begin_inset Text - -\begin_layout Plain Layout -Cancel +F9, {Shift-Tab} \end_layout \end_inset @@ -1704,7 +2708,7 @@ Cancel \begin_inset Text \begin_layout Plain Layout -Ctrl-G, Ctrl-C +[Ctrl-S] \end_layout \end_inset @@ -1713,7 +2717,7 @@ Ctrl-G, Ctrl-C \begin_inset Text \begin_layout Plain Layout -Abort current action +Clock sheet \end_layout \end_inset @@ -1727,16 +2731,16 @@ Abort current action \end_layout \begin_layout Plain Layout -\begin_inset Caption +\begin_inset Caption Standard \begin_layout Plain Layout \begin_inset CommandInset label LatexCommand label -name "tab:Key-Bindings-in" +name "tab:Key-Bindings-in-2" \end_inset -Key Bindings in Command Mode +Key Bindings that Modify Cells in Command Mode \end_layout \end_inset @@ -1750,9 +2754,10 @@ Key Bindings in Command Mode \end_layout \begin_layout Standard -. - (Period) marks blocks: The first time it marks the beginning of a block, - which is then extended by moving the cell cursor. +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. @@ -1775,18 +2780,8 @@ reference "tab:Key-Bindings-forLineEditor" \end_inset - lists all available key bindings -\begin_inset Foot -status collapsed - -\begin_layout Plain Layout -These only apply to the console version. - The GUI version has input fields that work like all other input fields. -\end_layout - -\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 @@ -1797,11 +2792,11 @@ status open \begin_layout Plain Layout \begin_inset Tabular - - - - - + + + + + \begin_inset Text @@ -1836,7 +2831,7 @@ Function \begin_inset Text \begin_layout Plain Layout -Previous Character +Previous Character/Left Arrow \end_layout \end_inset @@ -1845,7 +2840,7 @@ Previous Character \begin_inset Text \begin_layout Plain Layout -Ctrl-B +[Ctrl-B] \end_layout \end_inset @@ -1865,7 +2860,7 @@ Move cursor left \begin_inset Text \begin_layout Plain Layout -Next Character +Next Character/Right Arrow \end_layout \end_inset @@ -1874,7 +2869,7 @@ Next Character \begin_inset Text \begin_layout Plain Layout -Ctrl-F +[Ctrl-F] \end_layout \end_inset @@ -1894,7 +2889,7 @@ Move cursor right \begin_inset Text \begin_layout Plain Layout -Begin +Begin/Home \end_layout \end_inset @@ -1903,7 +2898,7 @@ Begin \begin_inset Text \begin_layout Plain Layout -Ctrl-A +[Ctrl-A] \end_layout \end_inset @@ -1932,7 +2927,7 @@ End \begin_inset Text \begin_layout Plain Layout -Ctrl-E +[Ctrl-E] \end_layout \end_inset @@ -1961,7 +2956,7 @@ Enter \begin_inset Text \begin_layout Plain Layout -Ctrl-J, Ctrl-M +[Ctrl-J] [Ctrl-M] \end_layout \end_inset @@ -1970,7 +2965,7 @@ Ctrl-J, Ctrl-M \begin_inset Text \begin_layout Plain Layout -Finish editing +Finish editing/accept line \end_layout \end_inset @@ -2019,7 +3014,7 @@ Redraw screen \begin_inset Text \begin_layout Plain Layout -Ctrl-T +[Ctrl-T] \end_layout \end_inset @@ -2048,9 +3043,9 @@ Transpose characters \begin_inset Text \begin_layout Plain Layout -Ctrl- +[Ctrl- \backslash - +] \end_layout \end_inset @@ -2070,7 +3065,7 @@ Go to matching paren \begin_inset Text \begin_layout Plain Layout -Cancel +Cancel [Up Arrow] {Esc} \end_layout \end_inset @@ -2079,7 +3074,7 @@ Cancel \begin_inset Text \begin_layout Plain Layout -Ctrl-G, Ctrl-C +[Ctrl-G] [Ctrl-C] \end_layout \end_inset @@ -2108,7 +3103,7 @@ Backspace \begin_inset Text \begin_layout Plain Layout -Ctrl-H +[Ctrl-H] \end_layout \end_inset @@ -2127,6 +3122,35 @@ Delete previous character \begin_inset Text +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +[Ctrl-K] +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +Delete rest of line +\end_layout + +\end_inset + + + + +\begin_inset Text + \begin_layout Plain Layout Delete \end_layout @@ -2137,7 +3161,7 @@ Delete \begin_inset Text \begin_layout Plain Layout -Ctrl-?, Ctrl-D +[Ctrl-?] [Ctrl-D] \end_layout \end_inset @@ -2153,7 +3177,36 @@ Delete current character - + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +[Tab] +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +File name completion +\end_layout + +\end_inset + + + + \begin_inset Text \begin_layout Plain Layout @@ -2162,7 +3215,7 @@ Insert \end_inset - + \begin_inset Text \begin_layout Plain Layout @@ -2171,13 +3224,42 @@ Insert \end_inset - + \begin_inset Text \begin_layout Plain Layout Toggle insert mode \end_layout +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout +{Tab} +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +[Ctrl-O] +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +Toggle motion in sheet (see text) +\end_layout + \end_inset @@ -2189,7 +3271,7 @@ Toggle insert mode \end_layout \begin_layout Plain Layout -\begin_inset Caption +\begin_inset Caption Standard \begin_layout Plain Layout \begin_inset CommandInset label @@ -2224,8 +3306,8 @@ Besides the regular line editor functions, you may use Ctrl-O (Tab in the \end_layout \begin_layout Standard -Aborting line editing means that you will get right back to command mode, - whatever you started doing will have no effect. +Aborting line editing means that you will return immediately to command + mode; whatever you started doing will have no effect. \end_layout @@ -2242,7 +3324,7 @@ Most actions are available through the menu. \begin_layout Subsection \begin_inset CommandInset label LatexCommand label -name "sub:Cell-Attributes" +name "subsec:Cell-Attributes" \end_inset @@ -2254,8 +3336,8 @@ Cells can have several attributes: \end_layout \begin_layout Itemize -A cell label, which is useful because it avoids to directly address cells - by their position. +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 @@ -2263,7 +3345,10 @@ A cell label, which is useful because it avoids to directly address cells \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 @@ -2273,34 +3358,52 @@ The precision for the output of floating point values. \end_layout \begin_layout Itemize -If floating point numbers should be printed in scientific notation (0.123e1) - or as decimal number (1.23). +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 -If the cell is shadowed by its left neighbour. +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 -If the cell is locked which prevents to accidentally edit or clear it. +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 -If special characters for e.g. - roff and LaTeX should be quoted (default) or not. - Not quoting them allows special effects (if you know roff or LaTeX), but - is of course not portable. +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 @@ -2332,6 +3435,17 @@ 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 @@ -2378,8 +3492,9 @@ Transparent 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 - (LaTeX, etc.) so that you can embed commands for subsequent processing in - cell values. + (\SpecialChar LaTeX +, etc.) so that you can embed commands for subsequent processing in cell + values. \end_layout \begin_layout Subsubsection @@ -2485,7 +3600,7 @@ Deleting works contrary to inserting. \begin_layout Subsubsection \begin_inset CommandInset label LatexCommand label -name "sub:Sort" +name "subsec:Sort" \end_inset @@ -2501,16 +3616,20 @@ Marked blocks of cells can be sorted after one or multiple keys, either 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 - - - - + + + + \begin_inset Text @@ -2690,16 +3809,20 @@ 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 - - - - + + + + \begin_inset Text @@ -3067,12 +4190,14 @@ Alternatively, you can generate a stand-alone document, which needs no further \end_layout \begin_layout Paragraph -LaTeX (.latex) +\SpecialChar LaTeX + (.latex) \end_layout \begin_layout Standard -If you generate LaTeX2e tables in single files, you include them in documents - using the +If you generate \SpecialChar LaTeX2e + tables in single files, you include them in documents using + the \family typewriter \backslash @@ -3085,12 +4210,14 @@ include \end_layout \begin_layout Paragraph -ConTeXt (.tex) +Con\SpecialChar TeX +t (.tex) \end_layout \begin_layout Standard -Analogous to LaTeX output, this generates input suitable to the ConTeXt - macro package. +Analogous to \SpecialChar LaTeX + output, this generates input suitable to the Con\SpecialChar TeX +t macro package. \end_layout \begin_layout Paragraph @@ -3169,8 +4296,9 @@ Batch functions 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 LaTeX file each time - you modified a sheet: make will do so. + 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 @@ -3396,7 +4524,7 @@ y Sorts the marked block as described in section \begin_inset CommandInset ref LatexCommand vref -reference "sub:Sort" +reference "subsec:Sort" \end_inset @@ -3423,11 +4551,15 @@ relative This example reproduces the result from section \begin_inset CommandInset ref LatexCommand ref -reference "sub:Sort" +reference "subsec:Sort" \end_inset : +\begin_inset Separator latexpar +\end_inset + + \end_layout \begin_deeper @@ -4888,9 +6020,9 @@ pos \begin_layout Quote \begin_inset Tabular - - - + + + \begin_inset Text diff --git a/fteapot.fl b/fteapot.fl index 44ae713..cb73a78 100644 --- a/fteapot.fl +++ b/fteapot.fl @@ -262,11 +262,13 @@ updating = false; case FL_F+8: k = ctrl?K_RECALC:K_CLOCK; break; case FL_F+9: k = ctrl?K_RECALC:K_CLOCK; break; case FL_F+10: k = (Key)'/'; break; + case FL_Tab: if (shift) { k = K_CLOCK; break; } case FL_Enter: case FL_KP_Enter: k = alt?K_MENTER:K_ENTER; break; case 'c': if (ctrl) { do_mark(cursheet, 2); cut = false; k = K_NONE; } break; case 'v': k = ctrl?(cut?BLOCK_MOVE:BLOCK_COPY):(Key)'v'; break; case 'x': if (ctrl) { do_mark(cursheet, 2); cut = true, k = K_NONE; } break; + case 'r': if (ctrl) k = K_RECALC; break; case FL_Insert: if (ctrl) { do_mark(cursheet, 2); cut = false; } k = !shift?K_NONE:cut?BLOCK_MOVE:BLOCK_COPY; break; case FL_Delete: if (shift) { do_mark(cursheet, 2); cut = true; } k = shift?K_NONE:BLOCK_CLEAR; break; case FL_Home: k = ctrl?K_FIRSTL:shift?K_FSHEET:K_HOME; break;