How to Edit this Manual...: Difference between revisions

From Knot Atlas
Jump to navigationJump to search
No edit summary
 
(30 intermediate revisions by 13 users not shown)
Line 1: Line 1:
{{Manual TOC Sidebar}}
{{Manual TOC Sidebar}}

To a large extent, editing this manual is easy --- just as easy as editing a page at [http://en.wikipedia.org Wikipedia], or any other wiki. There's some good help on that available at [http://en.wikipedia.org/wiki/Wikipedia:How_to_edit_a_page Wikipedia:How to edit a page]. However, because we also use Mathematica code within the manual, and automatically generate the output, there are a few things you need to be aware of. Read on! (or don't -- just go edit!)


=== The Basic Rules ===
=== The Basic Rules ===
Line 7: Line 9:
=== Human Edits ===
=== Human Edits ===


To perform a human edit, simply click on the "edit" link at the top of every manual page (or indeed, at the top of almost every other wiki page) and begin editing, saving your work at the end. Be careful not to modify anything in the robots' territory, delimited by {{Robots Left Delimiter}} and {{Robots Right Delimiter}} tags. If you are only interested in an edit confined to a human territory, you don't need to read any further.
To perform a human edit, simply click on the "edit" link at the top of any manual page (or indeed, at the top of almost any other wiki page) and begin editing, saving your work at the end. Be careful not to modify anything in the robots' territory, delimited by {{Robots Left Delimiter}} and {{Robots Right Delimiter}} tags.

You may find the [[Local Clip Art]] library useful, or this brief description of [[math mode]].

If you're adding a new manual page, start it with "<tt><nowiki>{{Manual TOC Sidebar}}</nowiki></tt>" (this produces the table of contents (TOC) sidebar on the right) and make sure to add your page to the table of contents at [[Manual Table of Contents]] and to the [[Printable Manual]] list-of-sections.

If you are only interested in an edit confined to a human territory, you don't need to read any further.


=== What Robots Do ===
=== What Robots Do ===
Line 21: Line 29:
It is not a good idea for a human to modify a ''robotic response'', as these changes will be overwritten the next time a robot roams the page. (On the other hand, it doesn't break anything in the meantime.) Better, humans can control the robots.
It is not a good idea for a human to modify a ''robotic response'', as these changes will be overwritten the next time a robot roams the page. (On the other hand, it doesn't break anything in the meantime.) Better, humans can control the robots.


* To create a new robot territory, put the pattern {{Robots Left Delimiter}}''robot instructions''{{Robots Mid Delimiter}}{{Robots Right Delimiter}} in the desired place. The next time a robot visits it will follow the instructions and place its response between the {{Robots Mid Delimiter}} and {{Robots Right Delimiter}} tags.
* To create a new robot territory, put the pattern {{Robots Left Delimiter}}''robot instructions''{{Robots Mid Delimiter}}{{Robots Right Delimiter}} in the desired place. <font color="red">Note:</font> You must put in {{Robots Right Delimiter}} by hand! The next time a robot visits it will follow the instructions and place its response between the {{Robots Mid Delimiter}} and {{Robots Right Delimiter}} tags.
* To remove an existing robot territory, simply remove everything from the {{Robots Left Delimiter}} tag to the {{Robots Right Delimiter}}.
* To remove an existing robot territory, simply remove everything from the {{Robots Left Delimiter}} tag to the {{Robots Right Delimiter}}.
* To modify an existing robot territory, change the content of the ''robot instructions'', between the {{Robots Left Delimiter}} tag and the {{Robots Mid Delimiter}} tag. The next time a robot visits it will follow the new instructions.
* To modify an existing robot territory, change the content of the ''robot instructions'', between the {{Robots Left Delimiter}} tag and the {{Robots Mid Delimiter}} tag. The next time a robot visits it will follow the new instructions.
Line 41: Line 49:
| <!--$$<< KnotTheory`$$-->
| <!--$$<< KnotTheory`$$-->
<!--Robot Land, no human edits to "END"-->
<!--Robot Land, no human edits to "END"-->
<tt><font color=blue>In[1]:=</font></tt><code> << KnotTheory`</code>
<tt><font color=blue>In[2]:=</font></tt><code> << KnotTheory`</code>


<tt>Loading KnotTheory` (version of August 19, 2005, 13:11:25)...</tt>
<tt>Loading KnotTheory` version of March 22, 2011, 21:10:4.67737.
Read more at http://katlas.org/wiki/KnotTheory.</tt>
<!--END-->
<!--END-->
|- valign=top
|- valign=top
Line 51: Line 60:
| <!--$$Jones[Knot[3, 1]][q]$$-->
| <!--$$Jones[Knot[3, 1]][q]$$-->
<!--Robot Land, no human edits to "END"-->
<!--Robot Land, no human edits to "END"-->
{{InOut1|n=2}}
{{InOut|
n = 3 |
<pre style="color: red; border: 0px; padding: 0em"><nowiki>Jones[Knot[3, 1]][q]</nowiki></pre>
in = <nowiki>Jones[Knot[3, 1]][q]</nowiki> |
{{InOut2|n=2}}<pre style="border: 0px; padding: 0em"><nowiki> -4 -3 1
out= <nowiki> -4 -3 1
-q + q + -
-q + q + -
q</nowiki></pre>
q</nowiki>}}
{{InOut3}}
<!--END-->
<!--END-->
|- valign=top
|- valign=top
Line 64: Line 73:
| <!--$$Jones[Knot[4, 1]][q];$$-->
| <!--$$Jones[Knot[4, 1]][q];$$-->
<!--Robot Land, no human edits to "END"-->
<!--Robot Land, no human edits to "END"-->
{{In1|n=3}}
{{In|
n = 4 |
<pre style="color: red; border: 0px; padding: 0em"><nowiki>Jones[Knot[4, 1]][q];</nowiki></pre>
in = <nowiki>Jones[Knot[4, 1]][q];</nowiki>}}
{{In2}}
<!--END-->
<!--END-->
|- valign=top
|- valign=top
Line 74: Line 83:
| <!--$$Show[DrawPD[Knot[5, 1]]]$$-->
| <!--$$Show[DrawPD[Knot[5, 1]]]$$-->
<!--Robot Land, no human edits to "END"-->
<!--Robot Land, no human edits to "END"-->
{{Graphics|
{{Graphics1|n=4}}
n = 5 |
Show[DrawPD[Knot[5, 1]]]
in = <nowiki>Show[DrawPD[Knot[5, 1]]]</nowiki> |
{{Graphics2|n=4|imagename=How_to_Edit_this_Manual..._Out_4.gif}}
img= How_to_Edit_this_Manual..._Out_5.gif |
out= <nowiki>-Graphics-</nowiki>}}
<!--END-->
<!--END-->
|- valign=top
|- valign=top
Line 84: Line 95:
| <!--$$?Jones$$-->
| <!--$$?Jones$$-->
<!--Robot Land, no human edits to "END"-->
<!--Robot Land, no human edits to "END"-->
{{HelpLine|
{{Help1|n=5|s=Jones}}
n = 6 |
Jones[L][q] computes the Jones polynomial of a knot or link L as a function of the variable q.
in = <nowiki>Jones</nowiki> |
{{Help2}}
out= <nowiki>Jones[L][q] computes the Jones polynomial of a knot or link L as a function of the variable q.</nowiki>}}
<!--END-->
<!--END-->
|- valign=top
|- valign=top
Line 94: Line 106:
| <!--$$?Kauffman$$-->
| <!--$$?Kauffman$$-->
<!--Robot Land, no human edits to "END"-->
<!--Robot Land, no human edits to "END"-->
{{HelpAndAbout|
{{HelpAndAbout1|n=6|s=Kauffman}}
n = 7 |
Kauffman[K][a, z] computes the Kauffman polynomial of a knot or link K, in the variables a and z.
n1 = 8 |
{{HelpAndAbout2|n=7|s=Kauffman}}
in = <nowiki>Kauffman</nowiki> |
The Kauffman program was written by Scott Morrison.
out= <nowiki>Kauffman[K][a, z] computes the Kauffman polynomial of a knot or link K, in the variables a and z.</nowiki> |
{{HelpAndAbout3}}
about= <nowiki>The Kauffman polynomial program was written by Scott Morrison.</nowiki>}}
<!--END-->
<!--END-->
|- valign=top
|- valign=top
Line 109: Line 122:
=== Calling for Robotic Action ===
=== Calling for Robotic Action ===


Copy Dror's robot [[Media:ManualSpliceRobot.nb|ManualSpliceRobot.nb]] ([[Image:ManualSpliceRobot.nb|file description]]) to your own computer (it is now yours). The robot is a Mathematica notesbook; simply open it and follow the instructions within. You must have the package [[Setup|<code>KnotTheory`</code>]] around, Scott's Mathematica [[WikiLink - The Mediawiki Interface|WikiLink]] package and java (which comes bundled with Mathematica 4.2 and up). You will need to specify a few paths and your (or better, your robot's) Username and Password on the Knot Atlas wiki. Good luck!
Play with [[Media:ManualSpliceRobot.nb|ManualSpliceRobot.nb]].


=== Teaching Robots New Tricks ===
=== Teaching Robots New Tricks ===

Latest revision as of 17:24, 21 February 2013


To a large extent, editing this manual is easy --- just as easy as editing a page at Wikipedia, or any other wiki. There's some good help on that available at Wikipedia:How to edit a page. However, because we also use Mathematica code within the manual, and automatically generate the output, there are a few things you need to be aware of. Read on! (or don't -- just go edit!)

The Basic Rules

Knot Atlas manual pages are editable and are edited by both humans and robots (dedicated computer programs). Both sides have to be careful not to step into each other's territory. Under the current treaties, robots are responsible for simulated Mathematica output and for certain numerical values that are computed by KnotTheory`. Their territory always lies between <!--$ and <!--END--> tags. Humans are responsible for everything else, including brief ventures into the robot's territories to tell the robots what to do.

Human Edits

To perform a human edit, simply click on the "edit" link at the top of any manual page (or indeed, at the top of almost any other wiki page) and begin editing, saving your work at the end. Be careful not to modify anything in the robots' territory, delimited by <!--$ and <!--END--> tags.

You may find the Local Clip Art library useful, or this brief description of math mode.

If you're adding a new manual page, start it with "{{Manual TOC Sidebar}}" (this produces the table of contents (TOC) sidebar on the right) and make sure to add your page to the table of contents at Manual Table of Contents and to the Printable Manual list-of-sections.

If you are only interested in an edit confined to a human territory, you don't need to read any further.

What Robots Do

Before a human can tell a robot what to do, (s)he must understand the simple way in which robots work. Robots do just one simple thing, and only when instructed to it. Here's how they work:

  1. They search the text of a manual page for patterns of the form <!--$robot instructions$-->old robotic response<!--END-->.
  2. They study the robot instructions and compute something.
  3. They print the output, i.e. the new robotic response, in place of the old robotic response. Just to be sure that humans don't modify the new robotic response, robots precede it with a short human do not enter phrase. Dror's robot's favourite is Robot Land, no human edits to "END".
  4. Robots never modify their own instructions or venture to human territories.

Human Ventures into Robot Lands

It is not a good idea for a human to modify a robotic response, as these changes will be overwritten the next time a robot roams the page. (On the other hand, it doesn't break anything in the meantime.) Better, humans can control the robots.

  • To create a new robot territory, put the pattern <!--$robot instructions$--><!--END--> in the desired place. Note: You must put in <!--END--> by hand! The next time a robot visits it will follow the instructions and place its response between the $--> and <!--END--> tags.
  • To remove an existing robot territory, simply remove everything from the <!--$ tag to the <!--END-->.
  • To modify an existing robot territory, change the content of the robot instructions, between the <!--$ tag and the $--> tag. The next time a robot visits it will follow the new instructions.

Giving Robots Instructions

Currently robots understand the following kinds of instructions:

<!--$instructions$--> Description Example Formatted Output
<!--$$<< KnotTheory`$$--> Simulate In[1] of a KnotTheory` session. <!--$$<< KnotTheory`$$--> <!--END-->

In[2]:= << KnotTheory`

Loading KnotTheory` version of March 22, 2011, 21:10:4.67737. Read more at http://katlas.org/wiki/KnotTheory.

<!--$$Input line$$--> Simulate a Mathematica "In Out" pair. <!--$$Jones[Knot[3, 1]][q]$$--> <!--END-->
In[3]:= Jones[Knot[3, 1]][q]
Out[3]= -4 -3 1 -q + q + - q
(if output is Null) <!--$$Jones[Knot[4, 1]][q];$$--> <!--END-->
In[4]:= Jones[Knot[4, 1]][q];
(if graphics) <!--$$Show[DrawPD[Knot[5, 1]]]$$--> <!--END-->
In[5]:= Show[DrawPD[Knot[5, 1]]]
How to Edit this Manual... Out 5.gif
Out[5]= -Graphics-
<!--$$?Symbol$$--> Simulate a Mathematica help line. <!--$?Jones$--> <!--END-->
In[6]:= ?Jones
Jones[L][q] computes the Jones polynomial of a knot or link L as a function of the variable q.
(if Symbol::about exists) <!--$$?Kauffman$$--> <!--END-->
In[7]:= ?Kauffman
Kauffman[K][a, z] computes the Kauffman polynomial of a knot or link K, in the variables a and z.
In[8]:= Kauffman::about
The Kauffman polynomial program was written by Scott Morrison.
<!--$inlined command$--> Perform a Mathematica command "in line". There are <!--$NumberOfKnots[10]$--> <!--END--> knots with 10 crossings. There are 165 knots with 10 crossings.

Calling for Robotic Action

Copy Dror's robot ManualSpliceRobot.nb (File:ManualSpliceRobot.nb) to your own computer (it is now yours). The robot is a Mathematica notesbook; simply open it and follow the instructions within. You must have the package KnotTheory` around, Scott's Mathematica WikiLink package and java (which comes bundled with Mathematica 4.2 and up). You will need to specify a few paths and your (or better, your robot's) Username and Password on the Knot Atlas wiki. Good luck!

Teaching Robots New Tricks

At the moment robots do not ignore their instructions even if they don't understand them, so there can be only one robot master teaching robots what to do, or else chaos may ensue. If you want to build a better robot or extend Dror's, do it in your sandbox but don't let it roam on public pages. When the new or extended robot is fully trained, and provided its actions extends Dror's robot, send it to Dror and he will upgrade his robot and make the new robot public.