diff options
Diffstat (limited to 'skribe/doc/user/user.skb')
-rw-r--r-- | skribe/doc/user/user.skb | 163 |
1 files changed, 163 insertions, 0 deletions
diff --git a/skribe/doc/user/user.skb b/skribe/doc/user/user.skb new file mode 100644 index 0000000..07a6e03 --- /dev/null +++ b/skribe/doc/user/user.skb @@ -0,0 +1,163 @@ +;*=====================================================================*/ +;* serrano/prgm/project/skribe/doc/user/user.skb */ +;* ------------------------------------------------------------- */ +;* Author : Manuel Serrano */ +;* Creation : Wed Nov 28 10:37:39 2001 */ +;* Last change : Thu Feb 26 21:02:00 2004 (eg) */ +;* Copyright : 2001-04 Manuel Serrano */ +;* ------------------------------------------------------------- */ +;* The Skribe user manual */ +;*=====================================================================*/ + +;*---------------------------------------------------------------------*/ +;* The Skribe documentation style */ +;*---------------------------------------------------------------------*/ +(skribe-load "web-book.skr") +(skribe-load "skr/env.skr") +(skribe-load "skr/manual.skr") +(skribe-load "skr/api.skr") + +;*---------------------------------------------------------------------*/ +;* HTML custom */ +;*---------------------------------------------------------------------*/ +;; since we load slides (for documenting it), we have to use a +;; correct title width +(let ((he (find-engine 'html))) + (engine-custom-set! he 'body-width 100.)) + +;*---------------------------------------------------------------------*/ +;* The various indexes */ +;*---------------------------------------------------------------------*/ +(define *markup-index* (make-index "markup")) +(define *custom-index* (make-index "custom")) +(define *function-index* (make-index "function")) +(define *package-index* (make-index "package")) + +;*---------------------------------------------------------------------*/ +;* The document */ +;*---------------------------------------------------------------------*/ +(document :title "Skribe User Manual" + :env '((example-counter 0) (example-env ())) + :author (list (author :name "Erick Gallesio" + :affiliation "Université de Nice - Sophia Antipolis" + :address '("930 route des Colles, BP 145" + "F-06903 Sophia Antipolis, Cedex" + "France") + :email (mailto "eg@essi.fr")) + (author :name "Manuel Serrano" + :affiliation "Inria Sophia-Antipolis" + :address `("2004 route des Lucioles - BP 93" + "F-06902 Sophia Antipolis, Cedex" + "France") + :url (ref :url *serrano-url*) + :email (mailto *serrano-mail*))) + + (linebreak 1) + (center (frame (bold (font :size 1. [ +This is the documentation for Skribe version +,(color :fg "red" (skribe-release)).])))) + (linebreak 1) + +;;; Introduction +(section :title "Introduction" :number #f :toc #f [ +Skribe is a programming language designed for implementing electronic +documents. It is mainly designed for the writing of technical documents +such as the documentation of computer programs. With Skribe these +documents can be rendered using various tools and technologies. For +instance, a Skribe document can be ,(emph "compiled") to an HTML file +that suits Web browser, it can be compiled to a TeX file in order to +produce a high-quality printed document, and so on.] + + (subsection :title "Who may use Skribe?" :number #f [ +Everyone needing to design web pages, info documents, man pages or +Postscript files can use Skribe. In particular, there is ,(bold "no need") +for programming skills in order to use Skribe. Skribe can be used as +any text description languages such as TeX, LaTeX or HTML.]) + + (subsection :title "Why using Skribe?" :number #f [ +There are three main reasons for using Skribe:] + + (itemize + (item [ +It is easier to type in Skribe texts than other text description formats. +The need for ,(emph "meta keyword"), that is, words used to describe +the structure of the text and not the text itself, is very limited.]) + (item [ +Skribe is highly skilled for computing texts. It is very common that +one needs to automatically produce parts of the text. This can +be very simple such as, for instance, the need to include inside a text, +the date of the last update or the number of the last revision. +Sometimes it may be more complex. For instance, one may be willing to +embed inside a text the result of a complex arithmetic computation. Or +even, you may want to include some statistics about that +text, such as, the number of words, paragraphs, sections, and so on. +Skribe makes these sort of text manipulation easy whereas other +systems rely on the use of text preprocessors.]) + (item [ +The same source file can be compiled to various output formats such +as HTML, Info pages, man pages, Postscript, etc.])))) + +;;; toc +(if (engine-format? "latex") + (toc :chapter #t :section #t :subsection #t)) + +;;; Getting started +(include "start.skb") + +;;; Syntax +(include "syntax.skb") + +;;; Skribe Markup Library +(include "markup.skb") + +;;; Hyperlinks and references +(include "links.skb") + +;;; Indexes +(include "index.skb") + +;;; Bibliography +(include "bib.skb") + +;;; Computer programs +(include "prgm.skb") + +;;; Standard Library +(include "lib.skb") + +;;; Engines +(include "engine.skb") + +;;; Emacs +(include "emacs.skb") + +;;; Skribe +(include "skribec.skb") + +;;; Slides +(include "slide.skb") + +;;; Packages +(include "package.skb") + +;;; skribe-config +(include "skribe-config.skb") + +;;; List of examples +(include "examples.skb") + +;;; table of contents +(if (not (engine-format? "latex")) + (begin + (chapter :title "Table of contents" + (toc :chapter #t :section #t :subsection #t)) + (section :title "Index" :number #f + (mark "global index") + (the-index :column (if (engine-format? "latex") 2 3) + *markup-index* *custom-index* *function-index* *package-index* + (default-index)))) + (chapter :title "Index" + (mark "global index") + (the-index :column (if (engine-format? "latex") 2 3) + *markup-index* *custom-index* *function-index* *package-index* + (default-index))))) |