How to Edit this Manual...

From Knot Atlas
Jump to navigationJump to search

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

<!--$$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.