Workbook User Guide

Manuscript Notation

Manuscript notation for Workbook is not much different from HTML, other than a few exceptions and extensions. (All these mappings are preliminary and may change in future.)

Title and Headings


head/title is title (for colophon, no style allowed).

  <title>Foo Tutorial</title>


head/meta can set some meta info (e.g. name="author" content="John Doe", name="date" content="2038-02-31")

  <meta name="author" content="John Doe"/>

h1 .. h6

h1 is title (for front page, style allowed).

<h1><em>Foo</em> Tutorial</h1>

h2 is chapter, h3 section, h4 subsection, ...

Block and Inline Text


p is paragraph. class="continued" suppresses indentation of the first line.

<p>First paragraph.</p>
<p>Second paragraph.</p>
<p class="continued">Second paragraph continued.</p>

First paragraph.

Second paragraph.

Second paragraph continued.

address, blockquote, div

address, blockquote, div are same as HTML.

  <p>If you do not think about the future, you cannot have one.
                -- John Galsworthy</p>
<div> does not do much without class specified.</div>

If you do not think about the future, you cannot have one. -- John Galsworthy

div does not do much without class specified.


pre is preformatted code block, usually in typewriter font.

<pre>#include &lt;stdio.h&gt;

int main(void) {
    printf("hello, world\n");
    return 0;
#include <stdio.h>

int main(void) {
    printf("hello, world\n");
    return 0;

abbr, acronym

abbr and acronym make their title to be inserted as footnote.

<abbr title="World Wide Web">WWW</abbr> is an abbreviation while 
<acronym title="radio detecting and ranging">rader</acronym> 
is an acronym.

WWW is an abbreviation while rader is an acronym.


br is linebreak. Do not abuse it, as it causes an error in inappropriate places.

First line<br/> and the second line.

First line
and the second line.


cite is a citation. Its title attribute becomes the key to lookup.

<cite title="doe2000">John Doe, "Foo Bar"</cite>

John Doe, "Foo Bar"


code is inline program code, usually in typewriter font.

function <code>foo()</code>.

function foo().


dfn automatically generates index entry. If class includes noindexterm, indexing will be suppressed.

<dfn>HTML</dfn> stands for Hypertext Markup language.

HTML stands for Hypertext Markup language.


em is to emphasize, strong puts more emphasis.

<em>emphasized</em> or <strong>strong</strong>.

emphasized or strong.


kbd is user input (usually emphasized and in typewriter font). samp is output from computer (usually in typewriter font).

Type <kbd>echo foo</kbd> at the terminal.

Type echo foo at the terminal.


q is inline quotation.

She say <q>Good bye</q>,  I say <q>Hello</q>.

She say Good bye, I say Hello.


span plays various roles depending on what class is specified.

<span class="indexterm" title="attribute"><a class="indexterm">class</a></span> is used for expanding features.

class is used for expanding features.

a (with scheme)

a href="http://..." inserts the URL as footnote.

See <a href=""></a>.


a (with fragment)

a href="#..." inserts cross reference.

We will discuss the meaning of foo <a href="#sec-foo">later</a>.

We will discuss the meaning of foo later.


* id="..." is an identifier for cross reference and document inclusion.

<p id="sec-foo">Foo is a sample name of anything.</p>

Foo is a sample name of anything.


var is variable usually in italic.

Variable <var>fname</var> refers to a filename.

Variable fname refers to a filename.


del is deletion (strikethrough) and ins is insertion (underline).

<del>Deleted</del> and <ins>inserted</ins>.

Deleted and inserted.


Lists (dl, ul, ol) are the same as ones in HTML. Do not nest too deep though.


dl is definition list. Multiple terms for single description is not supported yet.

  <dt>running head</dt>
  <dt>running title</dt>
  <dd>A heading printed at the top of every (other) page of a book.</dd>
  <dd>Specific time that can be named.</dd>
  <dd>A person with whom you are dating.</dd>
  <dd>Fruit of the date palm.</dd>
running head
running title
A heading printed at the top of every (other) page of a book.
Specific time that can be named.
A person with whom you are dating.
Fruit of the date palm.



Supported formats

Note: No color support yet. Only grayscale images are supported for now.

rxvt screenshot
rxvt screenshot

Rxvt screenshots in PNG (former) and JPEG (latter).


img src="..." is inline graphics.

<img src="booklogo-small.eps" alt="book logo"/>Book logo.

book logoBook logo.

div class="figure"

div class="figure" makes floating figure. div class="figure" / p class="caption" is caption.

<div class="figure" id="fig-photo">
  <img src="tritonia-lusitania-1935.jpg"
       alt="J. Peress' 1-atm dive suit, Tritonia"
  <p class="caption">
    J. Peress' 1-atm dive suit, Tritonia, explored the Lusitania wreck in 1935.
J. Peress' 1-atm dive suit, Tritonia

J. Peress' 1-atm dive suit, Tritonia, explored the Lusitania wreck in 1935.


Table support is preliminary. Avoid using tables if you can. You can always draw a table in drawing tool and embed it as figure.

<table summary="table comparison">
  <caption>Comparison of tables.</caption>
  <tr><th>HTML table</th><td>no</td><td>yes</td><td>yes</td></tr>
  <tr><th>LaTeX tabular</th><td>no</td><td>no</td><td>yes</td></tr>
  <tr><th>LaTeX table</th><td>yes</td><td>yes</td><td>no</td></tr>
Comparison of tables.
HTML tablenoyesyes
LaTeX tabularnonoyes
LaTeX tableyesyesno

Mathematical Expressions

Mathematical expressions are supported using MathML. Do not forget to put namespace identifier.

Math (Block)

<math xmlns="" 
      display="block" id="eqn-block">
d dx ax f x dx = fx

Math (Inline)

<p>The same <a href="#eqn-block">equation</a> can be placed inline: 
  <math xmlns="" 
  </math> as well.</p>

The same equation can be placed inline: d dx ax f x dx = fx as well.


Frontmatter, Mainmatter, Appendix, Backmatter

div class="frontmatter" indicates the beginning of frontmatter. In frontmatter in general, section headings has no numbers and Roman numerals are used for page number.

div class="mainmatter" indicates the end of frontmatter and the beginning of frontmatter.

div class="appendix" indicates the end of normal chapters and the beginning of appendices. Appendices have section numbering different from normal chapters (e.g. Chapter 1 and Appendix A).

div class="backmatter" indicates the end of mainmatter and the beginning of backmatter.

<div class="frontmatter"/>

Frontmatter (title, colophon, dedication, foreword, preface, acknowledgments, table of contents, etc)

<div class="mainmatter"/>


<div class="appendix"/>


<div class="backmatter"/>

Backmatter (index, etc.)

Table of Contents

div class="toc" inserts table of contents.

<div class="toc"/>


div class="index" inserts index.

<div class="index"/>

a class="indexterm" makes index entry.

<a class="indexterm">some term</a>

some term

span class="indexterm" title="key@parent" / a class="indexterm" title="key@child" makes index entry with specific key, entry and hierarchy.

<span class="indexterm" title="parent@parent"><a class="indexterm" title="zzz@some term">
  some term

some term

File Inclusion

a with include class causes file inclusion.


a is also used for footnotes.

a href="#foo" class="footnotemark" inserts a footnote mark. ul class="footnotes" / li class="footnotetext" is footnote text.

  Footnote <a href="#fn-fnmark" class="footnotemark">marks</a> and
  footnote <a href="#fn-fntext" class="footnotemark">texts</a> must be in pairs.
<ul class="footnotes">
  <li class="footnotetext" id="fn-fnmark">Footnote mark.</li>
  <li class="footnotetext" id="fn-fntext">Footnote text.</li>

Footnote marks and footnote texts must be in pairs.

Language Translation Support

Manuscript elements can be filtered by xml:lang attribute. This is useful for translation project.

* xml:lang="..." sets language.

  <span xml:lang="en">English text.</span>
  <span xml:lang="ja">日本語のテキスト。</span>

English text.