2. Skribe User Manual -- Syntax & Values


main page
top:Skribe User Manual
index:Index
markups:Standard Markups


Syntax & Values
2.1Skribe syntax
2.2Values


Chapters
1Getting Started
2Syntax & Values
3Standard Markups
4References and Hyperlinks
5Indexes
6Bibliography
7Computer programs
8Standard Library
9Engines
10Editing Skribe Programs
11Skribe compiler
12Compiling Texi documents
13List of examples
14Table of contents
A Skribe document is composed of Skribe expressions. A Skribe expression can be:
  • An atomic expression, such as a string of characters, a number.
  • A list.
  • A text.
Here are several examples of correct Skribe expressions:
  • "foo", a string of characters composed of the characters `f', `o' and `o'.
  • 123 3.14, two numbers.
  • #t #f, the true and false Skribe value.
  • (bold "foo bar"), a list.
  • [A text sample], a simple text containing three words and no escape sequence.
  • [Another text sample (that is still) simple], another simple text.
  • [Another ,(bold "text") sample], a more complex text that contains two words (Another and sample) and an expression (bold "text"). The escape sequence is introduced with the `,(' characters.

Expressions are evaluated, thus (bold "foo") has the effect of typesetting the word foo in bold face to produce foo. Escape sequences enable evaluation of expressions inside the text. Thus the text [Another ,(bold "text") sample] produces `Another text sample'. On the other hand [Another (bold "text") sample] produces `Another (bold "text") sample' because it does not contain the escape sequence `,('.

2.1 Skribe syntax

<expr>    --> <atom>
            | <text>
            | <list>
<list>    --> (<expr>+)
<text>    --> [any sequence but `,(' or a `,<list>']
<atom>    --> <boolean>
            | <integer>
            | <float>
            | <string>
            | <color>
<integer> --> [0-9]+
<float>   --> [0-9]+.[0-9]*
            | [0-9]*.[0-9]+
<string>  --> ...
<color>   --> <string>
            | #[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]

2.2 Values

2.2.1 Width

A Skribe width refers to the horizontal size a construction occupies on an output document. There are three different ways for specifying a width:

  1. An absolute pixel size. This is represented by an exact integer value (such as 350).
  2. A relative size This is represented by an inexact integer value (such as 50.0) which ranges in the interval [-100.0 .. 100.0]
  3. An engine dependent representation This is represented by a string that is directly emitted in the output document (such as HTML column "0*" specification). Note that this way of specifying width is strictly unportable.



This Html page has been produced by Skribe.
Last update Tue Feb 28 02:32:08 2006.