### How to use JmolShell to help author JmolShell presentations

JmolShell has built within it a facility to help you author presentations. Exploiting the Cmd tab of the presentation, you can test out strings of commands (a script) to see that they do what you want (but also see the Presets tab to learn commands - you can even record commands that you execute in the Presets tab). You can then start to construct parts of your presentation in Test Bed and see how they look and work in Preview.

The top (one line) box allows the quick execution of single commands.
Below that is a multi-line box, in which you can enter a series of commands. This allows testing a more complex script.
Next comes a menu that provides for three tabbed panes:

- Feedback
  - Command record - clicking record commands keeps a record of commands that have been executed. Turn this on and then go to "Presets." Commands execute there will be recorded here. Great for learning command syntax.
  - Feedback - after you execute a command or script, Jmol will return information to you here. Sometimes useful for debugging.
- Test Bed - Here you can test out full HTML, as you would have in your JmolShell presentation. Use the "Insert Jmol action element drop-down menu" to apply links, buttons, etc. It uses the command set from the multi-line script and then applies that to selected word(s) in the Test Bed. Try it - put some script in the multi-line box, highlight a word in Test Bed, and then apply the "Link" menu.
- Preview - To see how the HTML code in Test Bed will work, select this menu option. You can test out the links, buttons, etc and make sure that they do what you want.

The following options are available in the "Insert Jmol action element drop-down menu." The first three directly import the script that you have already tested and debugged within your preliminary presentation.

Selection | Generates code to | Example
--- | --- | ---
Link | Generates code to place a link that when clicked, applies the multi-line script to your molecule | `<script>jmolLink("select arg;color blue", "arginines")</script>`
Button | Generates code to place a button that when clicked, applies the multi-line script to your molecule | `<script>jmolButton("select arg;color blue", "Arg")</script>`
Check box | Generates code to place a check box that when clicked, applies the multi-line script to your molecule. You must provide both a positive and a negative script, to DO and UNDO your toggled action. It will prompt you to modify the former to create the latter (be careful here). | `<script>jmolCheckbox("select arg;color blue","select arg;color cpk","Toggle Arg")</script>`
Distance measure | Generates code to place a check box that when clicked, displays the distance between two atoms. It will use the last two atoms you have clicked before calling this menu item. | `<script>ToggleMeasure("Arg58-G11 distance",0,1462,475)</script>`
Angle measure | Generates code to place a check box that when clicked, displays the angle among three atoms. It will use the last three atoms you have clicked before calling this menu item. | `<script>ToggleMeasure("Arg58-G11 angle",0,473,475,1462)</script>`
Dihedral measure | Generates code to place a check box that when clicked, displays the dihedral angle between the plane containing three atoms and a line to a fourth. It will use the last four atoms you have clicked before calling this menu item. | `<script>ToggleMeasure("Arg58-G11 dihedral",0,472,473,475,1462)</script>`
New tab | Generates code to start a new chapter in your presentation, accessible by a tabbed menu. If you use this feature, you should START your presentation with this call. Then place new calls at the start of new sections. | `<script>StartNewDiv("Intro","A brief overview of the structure of the molecule")</script>`