--- a/getting-started-sagenotebook.rst Fri Sep 17 23:29:48 2010 +0530
+++ b/getting-started-sagenotebook.rst Sat Sep 18 00:34:52 2010 +0530
@@ -48,7 +48,9 @@
{{{ Intentional *cough* *cough* }}}
-to use Sage and nothing else!
+to use Sage and nothing else! The Sage notebook also provides a
+convenient way of sharing and publishing our work which is very handy
+when we use Sage for research or for teaching.
However we can also run our own instances of Sage notebook servers on
all the computers we have a local installation of Sage. To start the
@@ -56,11 +58,11 @@
notebook()
-on the Sage prompt. This will start the Sage Notebook server.
-If we are starting the notebook server for the first time, we are
-prompted to enter the password for the admin. Type the password and
-make a note of it. After this Sage automatically starts a browser page
-for you with the notebook opened.
+on the Sage prompt. This will start the Sage Notebook server. If we
+are starting the notebook server for the first time, we are prompted
+to enter the password for the admin. Type the password and make a note
+of it. After this Sage automatically starts a browser page for you
+with the notebook opened.
If it doesn't automatically start a browser page check if the Notebook
server started and there were no problems. If so open your browser and
@@ -89,17 +91,195 @@
we enter all the Sage commands on the notebook.
The admin page lists all the worksheets created. On the topmost part
-of this page we have the links to various pages. The home link takes
-to the admin home page. The published link takes us the page which
-lists all the published worksheets.
+of this page we have the links to various pages.
+
+{{{ Whenever you talk on an individual link point your mouse towards
+the link. For each of the link go to the page and explain as below }}}
+
+The home link takes us to the admin home page. The published link
+takes us to the page which lists all the published worksheets. The log
+link has the complete log of all the actions we did on the
+notebook. We have the settings link where can configure our notebook,
+the notebook server, we can create and mangage accounts. We have a
+link to help upon clicking opens a new window with the complete help
+of Sage. The entire documentation of Sage is supplied with Sage for
+offline reference and this help link is the way to get into it. Then
+we can report bugs about Sage by clicking on Report a Problem link and
+there is a link to sign out of the notebook.
+
+We can create a new worksheet by clicking New Worksheet link
+
+{{{ Click on the link }}}
+
+Sage prompts you for a name for the worksheet. Let us name the
+worksheet as nbtutorial. Now we have our first worksheet which is
+empty.
+
+A worksheet will contain a collection of cells. Every Sage command
+must be entered in this cell. Cell is equivalent to the prompt on
+console. When we create a new worksheet, to start with we will have
+one empty cell. Let us try out some math here::
+
+ 2 + 2
+ 57.1 ^ 100
+
+The cap operator is used for exponentiation. If you observed carefully
+we typed two commands but the output of only last command was
+displayed. By default each cell displays the result of only the last
+operation. We have to use print statement to display all the results
+we want to be displayed.
+
+{{{ Demonstrate creating a new cell }}}
+
+Now to perform more operations we want more cells. So how do we create
+a new cell? It is very simple. As we hover our mouse above or below
+the existing cells we see a blue line, by clicking on this new line we
+can create a new cell.
+We have a cell, we have typed some commands in it, but how do we
+evaluate that cell? Pressing Shift along with Enter evaluates the
+cell. Alternatively we can also click on the evaluate link to evaluate
+the cell
+{{{ Evaluate the cell and demonstrate for both methods separately
+}}}::
+
+ matrix([[1,2], [3,4]])^(-1)
+
+After we create many cells, we may want to move between the cells. To
+move between the cells use Up and Down arrow keys. Also clicking on
+the cell will let you edit that particular cell.
+
+{{{ Move between two cells created }}}
+
+To delete a cell, clear the contents of the cell and hit backspace
+
+{{{ Clear and demonstrate deleting the cell }}}::
+
+ Makes no sense
+
+If you want to add annotations in the worksheet itself on the blue
+line that appears on hovering the mouse around the cell, Hold Shift
+and click on the line. This creates a What You See Is What You Get
+cell.
+
+{{{ Create a HTML editable cell }}}
+
+We can make our text here rich text. We can make it bold, Italics, we
+can create bulleted and enumerated lists in this area::
+
+ This text contains both the **bold** text and also *italicised*
+ text.
+ It also contains bulleted list:
+ * Item 1
+ * Item 2
+ It also contains enumerate list:
+ 1. Item 1
+ 2. Item 2
+
+In the same cell we can display typeset math using the LaTeX like
+syntax::
+
+ $\int_0^\infty e^{-x} \, dx$
+
+We enclose the math to be typeset within $ and $ or $$ and $$ as in
+LaTeX.
+We can also obtain help for a particular Sage command or function
+within the worksheet itself by using a question mark following the
+command::
-This brings us to the end of the session on using Sage notebook. In
-this tutorial session we learnt
+ sin?
+
+Evaluating this cell gives me the entire help for the sin function
+inline on the worksheet itself. Similarly we can also look at the
+source code of each command or function using double question mark::
+
+ matrix??
+
+Sage notebook also provides the feature for autocompletion. To
+autocomplete a command type first few unique characters and hit tab
+key::
+
+ sudo<tab>
+
+To see all the commands starting with a specific name type those
+characters and hit tab::
+
+ plo<tab>
+
+To list all the methods that are available for a certain variable or
+a datatype we can use the variable name followed by the dot to access
+the methods available on it and then hit tab::
+
+ s = 'Hello'
+ s.rep<tab>
+
+The output produced by each cell can be one of the three states. It
+can be either the full output, or truncated output or hidden output.
+The output area will display the error if the Sage code we wrote in
+the cell did not successfully execute::
+
+ a, b = 10
+
+{{{ Show the three states }}}
+
+The default output we obtained now is a truncated output. Clicking at
+the left of the output area when the mouse pointer turns to hand gives
+us the full output, clicking again makes the output hidden and it
+cycles.
- *
+Lastly, Sage supports a variety of languages and each cell on the
+worksheet can contain code written in a specific language. It is
+possible to instruct Sage to interpret the code in the language we
+have written. This can be done by putting percentage sign(%) followed
+by the name of the language. For example, to interpret the cell as
+Python code we put::
+
+ %python
+
+as the first line in the cell. Similarly we have: %sh for shell
+scripting, %fortran for Fortran, %gap for GAP and so on. Let us see
+how this works. Say I have an integer. The type of the integer in
+default Sage mode is
+{{{ Read the output }}}::
+
+ a = 1
+ type(a)
+
+ Output: <type 'sage.rings.integer.Integer'>
+
+We see that Integers are Sage Integers. Now let us put %python as the
+first line of the cell and execute the same code snippet::
+
+ %python
+ a = 1
+ type(a)
+
+ Output: <type 'int'>
+
+Now we see that the integer is a Python integer. Why? Because now we
+instructed Sage to interpret that cell as Python code.
+
+This brings us to the end of the tutorial on using Sage. We learnt
+quite a lot about using the Notebook User Interface of Sage. We are
+now confident that we can comfortably use the notebook to learn more
+about Sage in the following tutorials. Let us summarize what we
+learnt. In this session we learnt
+
+ * What is Sage
+ * How to start Sage shell
+ * What is Sage notebook
+ * How to start the Sage notebook
+ * How to create accounts and start using the notebook
+ * How to create new worksheets
+ * The menus available on the notebook
+ * About cells in the worksheet
+ * Methods to evaluate the cell, create new cells, delete the cells
+ and navigate around the cells
+ * To make annotations in the worksheet
+ * Tab completions
+ * And embedding code of other scripting languages in the cells
{{{ Show the "sponsored by FOSSEE" slide }}}