summaryrefslogtreecommitdiff
path: root/doc/user/user.skb
diff options
context:
space:
mode:
Diffstat (limited to 'doc/user/user.skb')
-rw-r--r--doc/user/user.skb163
1 files changed, 163 insertions, 0 deletions
diff --git a/doc/user/user.skb b/doc/user/user.skb
new file mode 100644
index 0000000..07a6e03
--- /dev/null
+++ b/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)))))