summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorLudovic Court`es2006-10-11 07:43:47 +0000
committerLudovic Court`es2006-10-11 07:43:47 +0000
commitd4360259d60722eaa175a483f792fce7b8c66d97 (patch)
tree622cc21b820e3dd4616890bc9ccba74de6637d8a /doc
parentfc42fe56a57eace2dbdb31574c2e161f0eacf839 (diff)
downloadskribilo-d4360259d60722eaa175a483f792fce7b8c66d97.tar.gz
skribilo-d4360259d60722eaa175a483f792fce7b8c66d97.tar.lz
skribilo-d4360259d60722eaa175a483f792fce7b8c66d97.zip
slide: Propagate the `outline?' parameter in `slide-(sub)?topic'.
* src/guile/skribilo/package/slide.scm (slide-topic): Propagate the `outline?' parameter as an option. (slide-subtopic): Likewise. git-archimport-id: skribilo@sv.gnu.org--2006/skribilo--devo--1.2--patch-1
Diffstat (limited to 'doc')
l---------doc/COPYING1
-rw-r--r--doc/Makefile233
-rw-r--r--doc/Makefile.am1
-rw-r--r--doc/dir/Makefile.am3
-rw-r--r--doc/dir/dir.skb31
-rw-r--r--doc/img/Makefile.am3
-rw-r--r--doc/img/bsd.gifbin4226 -> 0 bytes
-rw-r--r--doc/img/bsd.pngbin0 -> 4162 bytes
-rw-r--r--doc/img/lambda.gifbin169 -> 0 bytes
-rw-r--r--doc/img/lambda.pngbin0 -> 222 bytes
-rw-r--r--doc/img/linux.gifbin1972 -> 0 bytes
-rw-r--r--doc/img/linux.pngbin0 -> 1928 bytes
-rw-r--r--doc/modules/Makefile.am3
-rw-r--r--doc/modules/skribilo/Makefile.am3
-rw-r--r--doc/modules/skribilo/documentation/Makefile.am3
-rw-r--r--doc/modules/skribilo/documentation/api.scm (renamed from doc/skr/api.skr)222
-rw-r--r--doc/modules/skribilo/documentation/env.scm47
-rw-r--r--doc/modules/skribilo/documentation/extension.scm (renamed from doc/skr/extension.skr)36
-rw-r--r--doc/modules/skribilo/documentation/manual.scm (renamed from doc/skr/manual.skr)77
-rw-r--r--doc/skr/env.skr32
-rw-r--r--doc/user/.arch-inventory4
-rw-r--r--doc/user/Makefile.am42
-rw-r--r--doc/user/bib.skb63
-rw-r--r--doc/user/char.skb38
-rw-r--r--doc/user/colframe.skb29
-rw-r--r--doc/user/document.skb35
-rw-r--r--doc/user/emacs.skb31
-rw-r--r--doc/user/engine.skb45
-rw-r--r--doc/user/enumeration.skb29
-rw-r--r--doc/user/eq.skb79
-rw-r--r--doc/user/examples.skb29
-rw-r--r--doc/user/figure.skb39
-rw-r--r--doc/user/font.skb29
-rw-r--r--doc/user/footnote.skb35
-rw-r--r--doc/user/htmle.skb36
-rw-r--r--doc/user/image.skb33
-rw-r--r--doc/user/index.skb31
-rw-r--r--doc/user/justify.skb29
-rw-r--r--doc/user/latexe.skb33
-rw-r--r--doc/user/lib.skb77
-rw-r--r--doc/user/line.skb29
-rw-r--r--doc/user/links.skb43
-rw-r--r--doc/user/markup.skb31
-rw-r--r--doc/user/ornament.skb29
-rw-r--r--doc/user/package.skb41
-rw-r--r--doc/user/pie.skb71
-rw-r--r--doc/user/prgm.skb29
-rw-r--r--doc/user/sectioning.skb31
-rw-r--r--doc/user/skribe-config.skb51
-rw-r--r--doc/user/skribec.skb37
-rw-r--r--doc/user/skribeinfo.skb29
-rw-r--r--doc/user/slide.skb132
-rw-r--r--doc/user/src/Makefile.am11
-rw-r--r--doc/user/src/api14.skb2
-rw-r--r--doc/user/src/api16.skb10
-rw-r--r--doc/user/src/api2.skb2
-rw-r--r--doc/user/src/api20-html.skb (renamed from doc/user/src/api20.skb)0
-rw-r--r--doc/user/src/api20-lout.skb2
-rw-r--r--doc/user/src/bib1.sbib2
-rw-r--r--doc/user/src/eq1.skb6
-rw-r--r--doc/user/src/eq2.skb3
-rw-r--r--doc/user/src/links1.skb2
-rw-r--r--doc/user/src/pie1.skb13
-rw-r--r--doc/user/src/pie2.skb14
-rw-r--r--doc/user/src/slides.skb34
-rw-r--r--doc/user/src/start3.skb4
-rw-r--r--doc/user/src/start4.skb8
-rw-r--r--doc/user/src/start5.skb2
-rw-r--r--doc/user/start.skb46
-rw-r--r--doc/user/syntax.skb29
-rw-r--r--doc/user/table.skb30
-rw-r--r--doc/user/toc.skb30
-rw-r--r--doc/user/user.skb106
-rw-r--r--doc/user/xmle.skb41
74 files changed, 1517 insertions, 894 deletions
diff --git a/doc/COPYING b/doc/COPYING
new file mode 120000
index 0000000..012065c
--- /dev/null
+++ b/doc/COPYING
@@ -0,0 +1 @@
+../COPYING \ No newline at end of file
diff --git a/doc/Makefile b/doc/Makefile
deleted file mode 100644
index 934389e..0000000
--- a/doc/Makefile
+++ /dev/null
@@ -1,233 +0,0 @@
-#*=====================================================================*/
-#* serrano/prgm/project/skribe/doc/Makefile */
-#* ------------------------------------------------------------- */
-#* Author : Manuel Serrano */
-#* Creation : Mon Sep 1 10:29:28 2003 */
-#* Last change : Wed Mar 10 11:16:48 2004 (serrano) */
-#* Copyright : 2003-04 Manuel Serrano */
-#* ------------------------------------------------------------- */
-#* The Makefile to build the Skribe documentation. */
-#*=====================================================================*/
-include ../etc/Makefile.config
-include ../etc/$(SYSTEM)/Makefile.skb
-
-#*---------------------------------------------------------------------*/
-#* Compiler and tools */
-#*---------------------------------------------------------------------*/
-BINDIR = ../bin
-LIBDIR = ../lib
-LATEX = latex
-DVIPS = dvips
-
-SKRIBEVERBOSE = -v1
-SKRIBEWARNING = -w1
-SFLAGS = $(SKRIBEVERBOSE) $(SKRIBEWARNING) \
- -I ../skr \
- -I skr \
- -P img \
- -S .. \
- --custom emit-sui=yes \
- --eval '(define *skribe-bin* "$(SKRIBE)")' \
- --eval '(define *skribebibtex-bin* "$(SKRIBEBIBTEX)")'
-
-#*---------------------------------------------------------------------*/
-#* Doc skr */
-#*---------------------------------------------------------------------*/
-_SKR = manual.skr env.skr api.skr extension.skr
-SKR = $(_SKR:%=skr/%)
-
-#*---------------------------------------------------------------------*/
-#* Images */
-#*---------------------------------------------------------------------*/
-_IMG = bsd.gif lambda.gif linux.gif
-IMG = $(_IMG:%=img/%)
-
-#*---------------------------------------------------------------------*/
-#* User document */
-#*---------------------------------------------------------------------*/
-_USERMAIN = user.skb
-_USEROTHERS = start.skb syntax.skb \
- markup.skb document.skb \
- sectioning.skb toc.skb ornament.skb line.skb font.skb \
- justify.skb enumeration.skb \
- examples.skb colframe.skb figure.skb image.skb table.skb \
- footnote.skb char.skb \
- links.skb index.skb bib.skb prgm.skb \
- engine.skb htmle.skb latexe.skb xmle.skb \
- emacs.skb skribec.skb skribe-config.skb \
- lib.skb slide.skb package.skb
-_USERSRC = start1.skb start2.skb start3.skb start4.skb start5.skb \
- api1.skb api2.skb api3.skb api4.skb api5.skb \
- api6.skb api7.skb api8.skb api9.skb api10.skb \
- api11.skb api12.skb api13.skb api14.skb api15.skb \
- api16.skb api17.skb api18.skb api19.skb api20.skb \
- links1.skb links2.skb \
- index1.skb index2.skb index3.skb \
- bib1.sbib bib2.skb bib3.skb bib4.skb bib5.skb bib6.skb \
- prgm1.skb prgm2.skb prgm3.skb slides.skb
-
-USERMAIN = $(_USERMAIN:%=user/%)
-USEROTHERS = $(_USEROTHERS:%=user/%)
-USERSRC = $(_USERSRC:%=user/src/%)
-USERSKB = $(USERMAIN) $(USEROTHERS) $(USERSRC)
-
-#*---------------------------------------------------------------------*/
-#* User document */
-#*---------------------------------------------------------------------*/
-_DIRMAIN = dir.skb
-_DIROTHERS =
-_DIRSRC =
-
-DIRMAIN = $(_DIRMAIN:%=dir/%)
-DIROTHERS = $(_DIROTHERS:%=dir/%)
-DIRSRC = $(_DIRSRC:%=dir/src/%)
-DIRSKB = $(DIRMAIN) $(DIROTHERS) $(DIRSRC)
-
-#*---------------------------------------------------------------------*/
-#* Suffixes */
-#*---------------------------------------------------------------------*/
-.SUFFIXES:
-.SUFFIXES: .skb .man .html .sui
-
-#*---------------------------------------------------------------------*/
-#* All */
-#*---------------------------------------------------------------------*/
-.PHONY: user dir
-
-all: user dir
-re: re.html re.dir
-
-#*---------------------------------------------------------------------*/
-#* pop */
-#*---------------------------------------------------------------------*/
-.PHONY: pop
-
-pop:
- @ echo doc/Makefile doc/Makefile.dir
- @ echo $(USERSKB:%=doc/%)
- @ echo $(DIRSKB:%=doc/%)
- @ echo $(SKR:%=doc/%)
- @ echo $(IMG:%=doc/%)
-
-#*---------------------------------------------------------------------*/
-#* user */
-#*---------------------------------------------------------------------*/
-.PHONY: user re.html user.html
-
-user: user.html user.sui
-user.html: html/user.html html/img/lambda.gif html/img/bsd.gif html/img/linux.gif
-user.sui: html/user.sui
-
-user.ps: tex/user.dvi
- (cd tex; $(DVIPS) user.dvi -o user.ps)
-
-user.dvi: tex/user.dvi
-tex/user.dvi: tex/user.tex
- (cd tex; $(LATEX) user.tex)
-
-html/user.html html/user.sui: html $(USERSKB) $(SKR)
- $(MAKE) re.html
-
-tex/user.tex: tex $(USERSKB) $(SKR) tex/img/lambda.eps tex/img/bsd.eps tex/img/linux.eps
- $(MAKE) re.tex
-
-# gif
-html/img/lambda.gif: html/img img/lambda.gif
- cp img/lambda.gif html/img/lambda.gif
-
-html/img/linux.gif: html/img img/linux.gif
- cp img/linux.gif html/img/linux.gif
-
-html/img/bsd.gif: html/img img/bsd.gif
- cp img/bsd.gif html/img/bsd.gif
-
-# eps image
-tex/img/lambda.eps: tex/img img/lambda.gif
- convert img/lambda.gif tex/img/lambda.eps
-
-tex/img/linux.eps: tex/img img/linux.gif
- convert img/linux.gif tex/img/linux.eps
-
-tex/img/bsd.eps: tex/img img/bsd.gif
- convert img/bsd.gif tex/img/bsd.eps
-
-re.html:
- $(SKRIBE) $(SFLAGS) $(USERMAIN) \
- --base html -I user -S user \
- -o html/user.html
-
-re.tex:
- $(SKRIBE) $(SFLAGS) $(USERMAIN) \
- --base tex -I user -S user \
- -o tex/user.tex
-
-#*---------------------------------------------------------------------*/
-#* dir */
-#*---------------------------------------------------------------------*/
-.PHONY: dir re.dir dir.html
-
-dir: dir.html
-dir.html: html/dir.html
-
-html/dir.html: html $(DIRSKB) $(SKR)
- $(MAKE) re.dir
-
-re.dir:
- $(MAKE) -f Makefile.dir SKRIBE="$(SKRIBE)" BASE=html
-
-#*---------------------------------------------------------------------*/
-#* Misc */
-#*---------------------------------------------------------------------*/
-html:
- mkdir -p html
-
-html/img:
- mkdir -p html/img
-
-tex:
- mkdir -p tex
-
-tex/img:
- mkdir -p tex/img
-
-gethtml:
- @ echo "html/user.html"
-
-#*---------------------------------------------------------------------*/
-#* install/uinstall */
-#*---------------------------------------------------------------------*/
-.PHONY: install uninstall
-
-install: $(DESTDIR)$(INSTALL_DOCDIR) $(DESTDIR)$(INSTALL_SKRDIR)/doc/skr
- cp -r html/* $(DESTDIR)$(INSTALL_DOCDIR) \
- && chmod $(BMASK) $(DESTDIR)$(INSTALL_DOCDIR)/* \
- && chmod a+rx $(DESTDIR)$(INSTALL_DOCDIR)/img
- cp -r skr/* $(DESTDIR)$(INSTALL_SKRDIR)/doc/skr \
- && chmod a+rx $(DESTDIR)$(INSTALL_SKRDIR)/doc \
- && chmod a+rx $(DESTDIR)$(INSTALL_SKRDIR)/doc/skr \
- && chmod $(BMASK) $(DESTDIR)$(INSTALL_SKRDIR)/doc/skr/*
- cp Makefile.dir $(DESTDIR)$(INSTALL_DOCDIR) \
- && chmod $(BMASK) $(DESTDIR)$(INSTALL_DOCDIR)/Makefile.dir
- cp dir/dir.skb $(DESTDIR)$(INSTALL_DOCDIR) \
- && chmod $(BMASK) $(DESTDIR)$(INSTALL_DOCDIR)/dir.skb
-
-uninstall:
- $(RM) -rf $(DESTDIR)$(INSTALL_DOCDIR)
-
-$(DESTDIR)$(INSTALL_DOCDIR):
- mkdir -p $(DESTDIR)$(INSTALL_DOCDIR) && chmod a+rx $(DESTDIR)$(INSTALL_DOCDIR)
-
-
-$(DESTDIR)$(INSTALL_SKRDIR)/doc/skr:
- mkdir -p $(DESTDIR)$(INSTALL_SKRDIR)/doc/skr \
- && chmod -R a+rx $(DESTDIR)$(INSTALL_SKRDIR)/doc
-
-#*---------------------------------------------------------------------*/
-#* Clean */
-#*---------------------------------------------------------------------*/
-.PHONY: clean
-
-clean:
- $(RM) -rf html
- $(RM) -rf tex
- $(RM) -f img/bsd.eps img/linux.eps
diff --git a/doc/Makefile.am b/doc/Makefile.am
new file mode 100644
index 0000000..871a842
--- /dev/null
+++ b/doc/Makefile.am
@@ -0,0 +1 @@
+SUBDIRS = user modules img dir
diff --git a/doc/dir/Makefile.am b/doc/dir/Makefile.am
new file mode 100644
index 0000000..97f6673
--- /dev/null
+++ b/doc/dir/Makefile.am
@@ -0,0 +1,3 @@
+EXTRA_DIST = dir.skb
+
+## arch-tag: 68df7b7b-a45d-4cdc-b0b3-ef738a83965c
diff --git a/doc/dir/dir.skb b/doc/dir/dir.skb
index 8c6d377..1e1a7b6 100644
--- a/doc/dir/dir.skb
+++ b/doc/dir/dir.skb
@@ -1,14 +1,23 @@
-;*=====================================================================*/
-;* serrano/prgm/project/skribe/doc/dir/dir.skb */
-;* ------------------------------------------------------------- */
-;* Author : Manuel Serrano */
-;* Creation : Wed Nov 28 10:37:39 2001 */
-;* Last change : Thu Jan 1 17:12:43 2004 (serrano) */
-;* Copyright : 2001-04 Manuel Serrano */
-;* ------------------------------------------------------------- */
-;* The Skribe directory */
-;*=====================================================================*/
-
+;;; dir.skb -- The Skribe directory
+;;;
+;;; Copyright 2001, 2002, 2003, 2004 Manuel Serrano
+;;;
+;;;
+;;; This program is free software; you can redistribute it and/or modify
+;;; it under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 2 of the License, or
+;;; (at your option) any later version.
+;;;
+;;; This program is distributed in the hope that it will be useful,
+;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with this program; if not, write to the Free Software
+;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+;;; USA.
+
;*---------------------------------------------------------------------*/
;* The Skribe documentation style */
;*---------------------------------------------------------------------*/
diff --git a/doc/img/Makefile.am b/doc/img/Makefile.am
new file mode 100644
index 0000000..0be3236
--- /dev/null
+++ b/doc/img/Makefile.am
@@ -0,0 +1,3 @@
+EXTRA_DIST = bsd.png lambda.png linux.png
+
+## arch-tag: 0008e69a-4745-46d8-9da4-2173db33965d
diff --git a/doc/img/bsd.gif b/doc/img/bsd.gif
deleted file mode 100644
index e406ba6..0000000
--- a/doc/img/bsd.gif
+++ /dev/null
Binary files differ
diff --git a/doc/img/bsd.png b/doc/img/bsd.png
new file mode 100644
index 0000000..eb2e4e2
--- /dev/null
+++ b/doc/img/bsd.png
Binary files differ
diff --git a/doc/img/lambda.gif b/doc/img/lambda.gif
deleted file mode 100644
index 9c46b7d..0000000
--- a/doc/img/lambda.gif
+++ /dev/null
Binary files differ
diff --git a/doc/img/lambda.png b/doc/img/lambda.png
new file mode 100644
index 0000000..5673291
--- /dev/null
+++ b/doc/img/lambda.png
Binary files differ
diff --git a/doc/img/linux.gif b/doc/img/linux.gif
deleted file mode 100644
index fa764bd..0000000
--- a/doc/img/linux.gif
+++ /dev/null
Binary files differ
diff --git a/doc/img/linux.png b/doc/img/linux.png
new file mode 100644
index 0000000..fd121fb
--- /dev/null
+++ b/doc/img/linux.png
Binary files differ
diff --git a/doc/modules/Makefile.am b/doc/modules/Makefile.am
new file mode 100644
index 0000000..1daf926
--- /dev/null
+++ b/doc/modules/Makefile.am
@@ -0,0 +1,3 @@
+SUBDIRS = skribilo
+
+## arch-tag: 9c90dd7b-0ee7-44b9-ab41-5283d1bf1fb9
diff --git a/doc/modules/skribilo/Makefile.am b/doc/modules/skribilo/Makefile.am
new file mode 100644
index 0000000..71e8c64
--- /dev/null
+++ b/doc/modules/skribilo/Makefile.am
@@ -0,0 +1,3 @@
+SUBDIRS = documentation
+
+## arch-tag: af599d8d-2e67-49b3-afdf-aa2dba5a7c4a
diff --git a/doc/modules/skribilo/documentation/Makefile.am b/doc/modules/skribilo/documentation/Makefile.am
new file mode 100644
index 0000000..1562b0a
--- /dev/null
+++ b/doc/modules/skribilo/documentation/Makefile.am
@@ -0,0 +1,3 @@
+EXTRA_DIST = api.scm env.scm extension.scm manual.scm
+
+## arch-tag: 171ec210-e895-42ce-b068-da10ed5c2551
diff --git a/doc/skr/api.skr b/doc/modules/skribilo/documentation/api.scm
index a27c3a4..84108c9 100644
--- a/doc/skr/api.skr
+++ b/doc/modules/skribilo/documentation/api.scm
@@ -1,14 +1,46 @@
-;*=====================================================================*/
-;* serrano/prgm/project/skribe/doc/skr/api.skr */
-;* ------------------------------------------------------------- */
-;* Author : Manuel Serrano */
-;* Creation : Wed Sep 3 07:45:33 2003 */
-;* Last change : Tue Apr 6 06:51:34 2004 (serrano) */
-;* Copyright : 2003-04 Manuel Serrano */
-;* ------------------------------------------------------------- */
-;* The Skribe style for documenting Lisp APIs. */
-;*=====================================================================*/
+;;; api.scm -- The style for documenting Scheme APIs.
+;;;
+;;; Copyright 2003, 2004 Manuel Serrano
+;;; Copyright 2005, 2006 Ludovic Courtès <ludovic.courtes@laas.fr>
+;;;
+;;;
+;;; This program is free software; you can redistribute it and/or modify
+;;; it under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 2 of the License, or
+;;; (at your option) any later version.
+;;;
+;;; This program is distributed in the hope that it will be useful,
+;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with this program; if not, write to the Free Software
+;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+;;; USA.
+
+(define-module (skribilo documentation api)
+ :use-module (skribilo reader)
+ :use-module (skribilo engine)
+ :use-module (skribilo writer)
+ :use-module (skribilo ast)
+ :use-module (skribilo output)
+ :use-module (skribilo lib) ;; `define-markup'
+ :use-module (skribilo utils keywords)
+ :use-module (skribilo utils compat)
+ :use-module (skribilo utils syntax) ;; `%skribilo-module-reader'
+
+ :use-module (skribilo package base)
+ :use-module (skribilo documentation manual) ;; `*markup-index*'
+ :use-module (skribilo documentation env) ;; `*api-engines*'
+ :use-module (srfi srfi-1)
+ :use-module (ice-9 match)
+ :use-module (ice-9 optargs))
+
+(fluid-set! current-reader (make-reader 'skribe))
+
+
;*---------------------------------------------------------------------*/
;* Html configuration */
;*---------------------------------------------------------------------*/
@@ -58,18 +90,25 @@
;* ------------------------------------------------------------- */
;* Find a definition inside a source file. */
;*---------------------------------------------------------------------*/
-(define (api-search-definition id file pred)
- (let ((f (find-file/path file *skribe-source-path*)))
+(define* (api-search-definition id file pred :optional (skribe-source? #t))
+ ;; If SKRIBE-SOURCE? is true, then assume Skribe syntax. Otherwise, use
+ ;; the ``Skribilo module syntax''.
+ (let* ((path (append %load-path (skribe-path)))
+ (f (find-file/path file path))
+ (read (if skribe-source? (make-reader 'skribe)
+ %skribilo-module-reader)))
(if (not (string? f))
(skribe-error 'api-search-definition
- (format "Can't find source file `~a' in path" file)
- *skribe-source-path*)
+ (format #f "can't find source file `~a' in path"
+ file)
+ path)
(with-input-from-file f
(lambda ()
(let loop ((exp (read)))
(if (eof-object? exp)
- (skribe-error 'api-search-definition
- (format "Can't find `~a' definition" id)
+ (skribe-error 'api-search-definition
+ (format #f
+ "can't find `~a' definition" id)
file)
(or (pred id exp) (loop (read))))))))))
@@ -88,28 +127,20 @@
(or (and (null? d1) (null? d2))
(list d1 d2))))
-;*---------------------------------------------------------------------*/
-;* keyword->symbol ... */
-;*---------------------------------------------------------------------*/
-(define (keyword->symbol kwd)
- (let ((s (keyword->string kwd)))
- (if (char=? #\: (string-ref s 0))
- ;; Bigloo
- (string->symbol (substring s 1 (string-length s)))
- ;; STklos
- (string->symbol s))))
;*---------------------------------------------------------------------*/
;* define-markup? ... */
;*---------------------------------------------------------------------*/
(define (define-markup? id o)
- (match-case o
- (((or define-markup define define-inline)
- ((? (lambda (x) (eq? x id))) . (? (lambda (x) (or (pair? x) (null? x))))) . ?-)
+ (match o
+ (((or 'define-markup 'define 'define* 'define-public 'define*-public)
+ ((? (lambda (x) (eq? x id)))
+ . (? (lambda (x) (or (pair? x) (null? x)))))
+ . _)
o)
- ((define-simple-markup (? (lambda (x) (eq? x id))))
+ (('define-simple-markup (? (lambda (x) (eq? x id))))
o)
- ((define-simple-container (? (lambda (x) (eq? x id))))
+ (('define-simple-container (? (lambda (x) (eq? x id))))
o)
(else
#f)))
@@ -118,15 +149,21 @@
;* make-engine? ... */
;*---------------------------------------------------------------------*/
(define (make-engine? id o)
- (match-case o
- (((or make-engine copy-engine) (quote (? (lambda (x) (eq? x id)))) . ?-)
- o)
- ((quasiquote . ?-)
- #f)
- ((quote . ?-)
- #f)
- ((?a . ?d)
- (or (make-engine? id a) (make-engine? id d)))
+ ;(format #t "make-engine? ~a ~a~%" id o)
+ (match o
+ (((or 'make-engine 'copy-engine) ('quote sym) . rest)
+ (if (eq? sym id)
+ o
+ #f))
+ ((exp ___)
+ (let loop ((exp exp))
+ (cond ((null? exp)
+ #f)
+ ((pair? exp)
+ (or (make-engine? id (car exp))
+ (make-engine? id (cdr exp))))
+ (else
+ (make-engine? id exp)))))
(else
#f)))
@@ -134,13 +171,17 @@
;* make-engine-custom ... */
;*---------------------------------------------------------------------*/
(define (make-engine-custom def)
- (match-case (memq :custom def)
- ((:custom (quote ?custom) . ?-)
+ (let ((customs (memq :custom def)))
+ (match (if customs (cdr customs) #f)
+ ((((or 'quote 'quasiquote) custom) _ ___)
custom)
- ((:custom ?custom . ?-)
- (eval custom))
- (else
- '())))
+ (((custom) _ ___)
+ (primitive-eval custom))
+ (else
+ '()))))
+
+(define (sym/kw? x)
+ (or (symbol? x) (keyword? x)))
;*---------------------------------------------------------------------*/
;* define-markup-formals ... */
@@ -149,27 +190,25 @@
;* options). */
;*---------------------------------------------------------------------*/
(define (define-markup-formals def)
- (match-case def
- ((?- (?- . ?args) . ?-)
- (if (symbol? args)
- (list args)
- (let loop ((args args)
- (res '()))
- (cond
- ((null? args)
- (reverse! res))
- ((symbol? args)
- (reverse! (cons args res)))
- ((not (symbol? (car args)))
- (reverse! res))
- (else
- (loop (cdr args) (cons (car args) res)))))))
- ((define-simple-markup ?-)
+ (match def
+ ((_ (id args ___) _ ___)
+ (let loop ((args args)
+ (res '()))
+ (cond
+ ((null? args)
+ (reverse! res))
+ ((symbol? args)
+ (reverse! (cons args res)))
+ ((not (symbol? (car args)))
+ (reverse! res))
+ (else
+ (loop (cdr args) (cons (car args) res))))))
+ (('define-simple-markup _)
'())
- ((define-simple-container ?-)
+ (('define-simple-container _)
'())
(else
- (skribe-error 'define-markup-formals
+ (skribe-error 'define-markup-formals
"Illegal `define-markup' form"
def))))
@@ -179,20 +218,20 @@
;* Returns the options parameters of a define-markup. */
;*---------------------------------------------------------------------*/
(define (define-markup-options def)
- (match-case def
- ((?- (?- . ?args) . ?-)
+ (match def
+ ((_ (args ___) _ ___)
(if (not (list? args))
'()
(let ((keys (memq #!key args)))
(if (pair? keys)
- (cdr keys)
+ (cdr keys) ;; FIXME: do we need to filter ((key val)...)?
'()))))
- ((define-simple-markup ?-)
+ (('define-simple-markup _)
'((ident #f) (class #f)))
- ((define-simple-container ?-)
+ (('define-simple-container _)
'((ident #f) (class #f)))
(else
- (skribe-error 'define-markup-formals
+ (skribe-error 'define-markup-options
"Illegal `define-markup' form"
def))))
@@ -202,8 +241,8 @@
;* Returns the rest parameter of a define-markup. */
;*---------------------------------------------------------------------*/
(define (define-markup-rest def)
- (match-case def
- ((?- (?- . ?args) . ?-)
+ (match def
+ ((_ (args ___) _)
(if (not (pair? args))
args
(let ((l (last-pair args)))
@@ -218,12 +257,12 @@
def)
(cadr rest))
#f))))))
- ((define-simple-markup ?-)
+ (('define-simple-markup _)
'node)
- ((define-simple-container ?-)
+ (('define-simple-container _)
'node)
(else
- (skribe-error 'define-markup-formals
+ (skribe-error 'define-markup-rest
"Illegal `define-markup' form"
def))))
@@ -248,10 +287,10 @@
(d2 (cadr d)))
(if (pair? d1)
(skribe-error 'doc-markup
- (format "~a: missing descriptions" id)
+ (format #f "~a: missing descriptions" id)
d1)
(skribe-error 'doc-markup
- (format "~a: extra descriptions" id)
+ (format #f "~a: extra descriptions" id)
d2))))))
;*---------------------------------------------------------------------*/
@@ -269,7 +308,7 @@
(table :cellpadding 0 :cellspacing 0
(tr (td :align 'left exp))))
(else
- (match-case exp
+ (match exp
((quote (and ?sym (? symbol?)))
(string-append "'" (symbol->string sym)))
(else
@@ -288,7 +327,8 @@
(list " " (keyword opt))))
(define (formal f)
(list " " (param f)))
- (code (list (bold "(") (bold :class 'api-proto-ident (format "~a" id)))
+ (code (list (bold "(") (bold :class 'api-proto-ident
+ (format #f "~a" id)))
(map option (sort options
(lambda (s1 s2)
(cond
@@ -307,9 +347,10 @@
;* doc-markup ... */
;*---------------------------------------------------------------------*/
(define-markup (doc-markup id args
- #!rest
+ #!rest
opts
- #!key
+ #!key
+ (ident #f)
(writer-id #f)
(common-args '((:ident "The node identifier.")
(:class "The node class.")))
@@ -318,13 +359,14 @@
(idx *markup-index*)
(idx-note "definition")
(idx-suffix #f)
- (source "src/common/api.scm")
+ (source "skribilo/package/base.scm")
(def #f)
(see-also '())
(others '())
(force-engines '())
(engines *api-engines*)
(sui #f)
+ (skribe-source? #t)
&skribe-eval-location)
(define (opt-engine-support opt)
;; find the engines providing a writer for id
@@ -366,9 +408,11 @@
((and (not def) (not source))
(skribe-error 'doc-markup "source or def must be specified" id))
(else
- (let* ((d (or def (api-search-definition id source define-markup?)))
+ (let* ((d (or def (api-search-definition id source define-markup?
+ skribe-source?)))
(od (map (lambda (o)
- (api-search-definition o source define-markup?))
+ (api-search-definition o source define-markup?
+ skribe-source?))
others))
(args (append common-args args))
(formals (define-markup-formals d))
@@ -514,7 +558,8 @@
(if (and (pair? drest) (not (define-markup-rest d)))
(skribe-error 'doc-markup "No rest argument for" id)
options)
- (list (mark :class "public-definition" (symbol->string id))
+ (list (mark :class "public-definition"
+ (or ident (symbol->string id)))
(map (lambda (i) (mark (symbol->string i))) others)
(map (lambda (i)
(let ((is (symbol->string i)))
@@ -539,6 +584,7 @@
#!key
(idx *custom-index*)
source
+ (skribe-source? #t)
(def #f))
(cond
((and def source)
@@ -546,7 +592,8 @@
((and (not def) (not source))
(skribe-error 'doc-engine "source or def must be specified" id))
(else
- (let* ((d (or def (api-search-definition id source make-engine?)))
+ (let* ((d (or def (api-search-definition id source make-engine?
+ skribe-source?)))
(c (make-engine-custom d)))
(doc-check-arguments id c args)
(cond
@@ -565,7 +612,8 @@
(td :align 'left :valign 'top
(list (index (symbol->string (car r))
:index idx
- :note (format "~a custom" id))
+ :note (format #f "~a custom"
+ id))
(symbol->string (car r))))
(let ((def (assq (car r) c)))
(td :valign 'top
diff --git a/doc/modules/skribilo/documentation/env.scm b/doc/modules/skribilo/documentation/env.scm
new file mode 100644
index 0000000..569f194
--- /dev/null
+++ b/doc/modules/skribilo/documentation/env.scm
@@ -0,0 +1,47 @@
+;;; env.scm -- The environment variables for the documentation.
+;;;
+;;; Copyright 2003, 2004 Manuel Serrano
+;;; Copyright 2005, 2006 Ludovic Courtès <ludovic.courtes@laas.fr>
+;;;
+;;;
+;;; This program is free software; you can redistribute it and/or modify
+;;; it under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 2 of the License, or
+;;; (at your option) any later version.
+;;;
+;;; This program is distributed in the hope that it will be useful,
+;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with this program; if not, write to the Free Software
+;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+;;; USA.
+
+(define-module (skribilo documentation env)
+ :use-module (skribilo config)
+ :use-module (skribilo engine))
+
+(define-public *serrano-url* "http://www.inria.fr/mimosa/Manuel.Serrano")
+(define-public *serrano-mail* "Manuel.Serrano@sophia.inria.fr")
+(define-public *courtes-mail* "ludovic.courtes@laas.fr")
+(define-public *html-url* "http://www.w3.org/TR/html4")
+(define-public *html-form* "interact/forms.html")
+(define-public *emacs-url* "http://www.gnu.org/software/emacs")
+(define-public *xemacs-url* "http://www.xemacs.org")
+(define-public *texinfo-url* "http://www.texinfo.org")
+(define-public *r5rs-url* "http://www.inria.fr/mimosa/fp/Bigloo/doc/r5rs.html")
+(define-public *bigloo-url* "http://www.inria.fr/mimosa/fp/Bigloo")
+(define-public *skribe-user-doc-url* (string-append (skribe-doc-dir) "/user.html"))
+(define-public *skribe-dir-doc-url* (string-append (skribe-doc-dir) "/dir.html"))
+
+(define-public *prgm-width* 97.)
+(define-public *prgm-skribe-color* "#ffffcc")
+(define-public *prgm-default-color* "#ffffcc")
+(define-public *prgm-xml-color* "#ffcccc")
+(define-public *prgm-example-color* "#ccccff")
+(define-public *disp-color* "#ccffcc")
+(define-public *header-color* "#cccccc")
+
+(define-public *api-engines* (map find-engine '(html latex xml)))
diff --git a/doc/skr/extension.skr b/doc/modules/skribilo/documentation/extension.scm
index ce10ce7..e012cb2 100644
--- a/doc/skr/extension.skr
+++ b/doc/modules/skribilo/documentation/extension.scm
@@ -1,14 +1,30 @@
-;*=====================================================================*/
-;* serrano/prgm/project/skribe/doc/skr/extension.skr */
-;* ------------------------------------------------------------- */
-;* Author : Manuel Serrano */
-;* Creation : Tue Dec 23 07:18:36 2003 */
-;* Last change : Fri Jan 2 21:25:49 2004 (serrano) */
-;* Copyright : 2003-04 Manuel Serrano */
-;* ------------------------------------------------------------- */
-;* The Skribe package for documenting extensions */
-;*=====================================================================*/
+;;; extension.scm -- The Skribe package for documenting extensions
+;;;
+;;; Copyright 2003, 2004 Manuel Serrano
+;;;
+;;;
+;;; This program is free software; you can redistribute it and/or modify
+;;; it under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 2 of the License, or
+;;; (at your option) any later version.
+;;;
+;;; This program is distributed in the hope that it will be useful,
+;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with this program; if not, write to the Free Software
+;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+;;; USA.
+(define-module (skribilo documentation extension)
+ :use-module (skribilo reader)
+ :use-module (skribilo utils compat))
+
+(fluid-set! current-reader (make-reader 'skribe))
+
+
;*---------------------------------------------------------------------*/
;* extension */
;*---------------------------------------------------------------------*/
diff --git a/doc/skr/manual.skr b/doc/modules/skribilo/documentation/manual.scm
index 1982237..f2a6cdd 100644
--- a/doc/skr/manual.skr
+++ b/doc/modules/skribilo/documentation/manual.scm
@@ -1,13 +1,53 @@
-;*=====================================================================*/
-;* serrano/prgm/project/skribe/doc/skr/manual.skr */
-;* ------------------------------------------------------------- */
-;* Author : Manuel Serrano */
-;* Creation : Mon Sep 1 11:24:19 2003 */
-;* Last change : Mon Sep 13 19:18:48 2004 (serrano) */
-;* Copyright : 2003-04 Manuel Serrano */
-;* ------------------------------------------------------------- */
-;* Skribe manuals and documentation pages style */
-;*=====================================================================*/
+;;; manual.scm -- Skribe manuals and documentation pages style
+;;;
+;;; Copyright 2003, 2004 Manuel Serrano
+;;;
+;;;
+;;; This program is free software; you can redistribute it and/or modify
+;;; it under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 2 of the License, or
+;;; (at your option) any later version.
+;;;
+;;; This program is distributed in the hope that it will be useful,
+;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with this program; if not, write to the Free Software
+;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+;;; USA.
+
+(define-module (skribilo documentation manual)
+ :use-module (skribilo reader)
+ :use-module (skribilo engine)
+ :use-module (skribilo writer)
+ :use-module (skribilo ast)
+ :use-module (skribilo lib) ;; `define-markup'
+ :use-module (skribilo resolve)
+ :use-module (skribilo output)
+ :use-module (skribilo utils keywords)
+ :use-module (skribilo utils compat)
+ :use-module (skribilo utils syntax) ;; `when'
+
+ :use-module (skribilo documentation env)
+ :use-module (skribilo package base)
+ :use-module (skribilo prog)
+ :use-module (skribilo coloring lisp)
+ :use-module (skribilo coloring xml)
+
+ :use-module (ice-9 optargs))
+
+(fluid-set! current-reader (make-reader 'skribe))
+
+
+;*---------------------------------------------------------------------*/
+;* The various indexes */
+;*---------------------------------------------------------------------*/
+(define-public *markup-index* (make-index "markup"))
+(define-public *custom-index* (make-index "custom"))
+(define-public *function-index* (make-index "function"))
+(define-public *package-index* (make-index "package"))
;*---------------------------------------------------------------------*/
;* Base configuration */
@@ -22,7 +62,8 @@
(skribe-eval (mark ident) e)
(skribe-eval (center
(markup-body n)
- (if number (bold (format "Ex. ~a: " number)))
+ (if number
+ (bold (format #f "Ex. ~a: " number)))
legend)
e)))))
@@ -123,7 +164,9 @@
(markup '&source-key)
(body (cond
((keyword? arg)
- (keyword->string arg))
+ (with-output-to-string
+ (lambda ()
+ (write arg))))
((symbol? arg)
(string-append ":" (symbol->string arg)))
(else
@@ -246,14 +289,18 @@
(nc (markup-option n :column))
(pref (eq? (engine-custom e 'index-page-ref) #t))
(loc (ast-loc n))
+ ;; FIXME: Since we don't support
+ ;; `:&skribe-eval-location', we could set up a
+ ;; `parameterize' thing around `skribe-eval' to provide
+ ;; it with the right location information.
(t (cond
((null? ie)
"")
((or (not (integer? nc)) (= nc 1))
- (table :width 100. :&skribe-eval-location loc
+ (table :width 100. ;;:&skribe-eval-location loc
(make-column ie pref)))
(else
- (table :width 100. :&skribe-eval-location loc
+ (table :width 100. ;;:&skribe-eval-location loc
(make-sub-tables ie nc pref))))))
(output (skribe-eval t e) e))))
@@ -273,7 +320,7 @@
;*---------------------------------------------------------------------*/
(define-markup (compiler-options bin)
(skribe-message " [executing: ~a --options]\n" bin)
- (let ((port (open-input-file (format "| ~a --options" bin))))
+ (let ((port (open-input-file (format #f "| ~a --options" bin))))
(let ((opts (read port)))
(close-input-port port)
(apply description (map (lambda (opt) (item :key (bold (car opt))
diff --git a/doc/skr/env.skr b/doc/skr/env.skr
deleted file mode 100644
index 09d5146..0000000
--- a/doc/skr/env.skr
+++ /dev/null
@@ -1,32 +0,0 @@
-;*=====================================================================*/
-;* serrano/prgm/project/skribe/doc/skr/env.skr */
-;* ------------------------------------------------------------- */
-;* Author : Manuel Serrano */
-;* Creation : Mon Sep 1 10:22:42 2003 */
-;* Last change : Thu Jan 29 06:48:54 2004 (serrano) */
-;* Copyright : 2003-04 Manuel Serrano */
-;* ------------------------------------------------------------- */
-;* The environment variables for the documentation. */
-;*=====================================================================*/
-
-(define *serrano-url* "http://www.inria.fr/mimosa/Manuel.Serrano")
-(define *serrano-mail* "Manuel.Serrano@sophia.inria.fr")
-(define *html-url* "http://www.w3.org/TR/html4")
-(define *html-form* "interact/forms.html")
-(define *emacs-url* "http://www.gnu.org/software/emacs")
-(define *xemacs-url* "http://www.xemacs.org")
-(define *texinfo-url* "http://www.texinfo.org")
-(define *r5rs-url* "http://www.inria.fr/mimosa/fp/Bigloo/doc/r5rs.html")
-(define *bigloo-url* "http://www.inria.fr/mimosa/fp/Bigloo")
-(define *skribe-user-doc-url* (string-append (skribe-doc-dir) "/user.html"))
-(define *skribe-dir-doc-url* (string-append (skribe-doc-dir) "/dir.html"))
-
-(define *prgm-width* 97.)
-(define *prgm-skribe-color* "#ffffcc")
-(define *prgm-default-color* "#ffffcc")
-(define *prgm-xml-color* "#ffcccc")
-(define *prgm-example-color* "#ccccff")
-(define *disp-color* "#ccffcc")
-(define *header-color* "#cccccc")
-
-(define *api-engines* (map find-engine '(html latex xml)))
diff --git a/doc/user/.arch-inventory b/doc/user/.arch-inventory
new file mode 100644
index 0000000..c91230c
--- /dev/null
+++ b/doc/user/.arch-inventory
@@ -0,0 +1,4 @@
+# Skribilo-generated files.
+precious ^(user(-[0-9]+)?\.(html|ps|pdf|li|lout|lout\.ld)|doc-config\.scm|(bsd|linux|lambda|pie-.*|eq-.*)\.(png|eps))$
+
+# arch-tag: 827d1e94-1b36-474e-bcdb-a4235b4af848
diff --git a/doc/user/Makefile.am b/doc/user/Makefile.am
new file mode 100644
index 0000000..3b67dea
--- /dev/null
+++ b/doc/user/Makefile.am
@@ -0,0 +1,42 @@
+SUBDIRS = src
+
+EXTRA_DIST = bib.skb char.skb colframe.skb document.skb emacs.skb \
+ engine.skb enumeration.skb eq.skb examples.skb figure.skb \
+ font.skb footnote.skb htmle.skb image.skb index.skb \
+ justify.skb latexe.skb lib.skb line.skb links.skb \
+ markup.skb ornament.skb package.skb pie.skb prgm.skb sectioning.skb \
+ skribe-config.skb skribec.skb skribeinfo.skb slide.skb start.skb \
+ syntax.skb table.skb toc.skb user.skb xmle.skb
+
+BUILT_SOURCES = doc-config.scm
+html_DATA = user.html
+
+skribilo = $(top_builddir)/src/skribilo
+load_path = $(top_srcdir)/src/guile:$(top_srcdir)/src/guile/skribilo/package:$(top_builddir)/src/guile:$(top_srcdir)/doc/modules
+
+
+%.html: %.skb
+ GUILE_LOAD_PATH=$(load_path):$$GUILE_LOAD_PATH \
+ $(skribilo) --target html -I ../ -P ../img -o $@ $<
+
+if HAVE_LOUT
+
+ps_DATA = user.ps
+
+%.lout: %.skb
+ GUILE_LOAD_PATH=$(load_path):$$GUILE_LOAD_PATH \
+ $(skribilo) --target lout -I ../ -P ../img -o $@ $<
+
+%.ps: %.lout
+ $(LOUT) -c $(<:%.lout=%) -o $@ $<
+
+endif
+
+if HAVE_PLOTICUS
+doc-config.scm:
+ -echo "(define %have-ploticus? #t)" > $@
+ -echo "(define %ploticus-path \"$(PLOTICUS)\")" >> $@
+else
+doc-config.scm:
+ -echo "(define %have-ploticus? #f) (define %ploticus-path #f)" > $@
+endif
diff --git a/doc/user/bib.skb b/doc/user/bib.skb
index a006a9b..5b26417 100644
--- a/doc/user/bib.skb
+++ b/doc/user/bib.skb
@@ -1,15 +1,24 @@
-;*=====================================================================*/
-;* serrano/prgm/project/skribe/doc/user/bib.skb */
-;* ------------------------------------------------------------- */
-;* Author : Manuel Serrano */
-;* Creation : Sun Dec 2 10:02:56 2001 */
-;* Last change : Tue Oct 26 21:41:19 2004 (eg) */
-;* Copyright : 2001-04 Manuel Serrano */
-;* ------------------------------------------------------------- */
-;* The Skribe index */
-;*=====================================================================*/
-
-(bibliography "user/src/bib1.sbib")
+;;; bib.skb -- The Skribe index
+;;;
+;;; Copyright 2001, 2002, 2003, 2004 Manuel Serrano
+;;;
+;;;
+;;; This program is free software; you can redistribute it and/or modify
+;;; it under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 2 of the License, or
+;;; (at your option) any later version.
+;;;
+;;; This program is distributed in the hope that it will be useful,
+;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with this program; if not, write to the Free Software
+;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+;;; USA.
+
+(bibliography "src/bib1.sbib")
;*---------------------------------------------------------------------*/
;* Index */
@@ -51,7 +60,8 @@ if its argument is a bibliography table as returned by
:see-also '(make-bib-table default-bib-table bibliography the-bibliography)
:force-engines *api-engines*
:common-args '()
- :source "../src/bigloo/bib.bgl")
+ :source #f ;;"skribilo/biblio.scm"
+ :def '(define-markup (bib-table? obj) ...))
(p [The function ,(code "default-bib-table") returns a global, pre-existing
bibliography-table:])
@@ -60,7 +70,8 @@ bibliography-table:])
:see-also '(bib-table? make-bib-table bibliography the-bibliography)
:force-engines *api-engines*
:common-args '()
- :source "../src/bigloo/bib.bgl")
+ :source #f
+ :def '(define-markup (default-bib-table) ...))
(p [The function ,(code "make-bib-table") constructs a new
bibliography-table:])
@@ -69,7 +80,8 @@ bibliography-table:])
:see-also '(bib-table? default-bib-table bibliography the-bibliography)
:force-engines *api-engines*
:common-args '()
- :source "../src/bigloo/bib.bgl"))
+ :source #f
+ :def '(define-markup (make-bib-table ident) ...)))
;*---------------------------------------------------------------------*/
;* bibliography ... @label bibliography@ */
@@ -81,7 +93,7 @@ into the Skribe memory. An ,(emph "entry") is either a list
representing one entry (such as an article or book reference) or a
string which denotes a file name that contains several
entries. All the entries loaded in memory are available for the function
-,(ref :ident "ref" :node "references"). A bibliography database must be loaded
+,(ref :ident "ref" :text "references"). A bibliography database must be loaded
,(emph "before") any reference is introduced. It is advised to place
the ,(code "bibliography") Skribe function call before the call to the
,(markup-ref "document") function call.])
@@ -204,7 +216,7 @@ pre-existing functions for sorting entries:])
(doc-markup 'bib-sort/authors
'((l [The list of entries.]))
:force-engines *api-engines*
- :source "../src/common/bib.scm"
+ :source "skribilo/biblio.scm"
:others '(bib-sort/idents bib-sort/dates)
:common-args '())
@@ -214,7 +226,8 @@ entries identifier. The last one sorts according to entries date.])
(example-produce
(example :legend "Sorting bibliography entries"
- (prgm :file "src/common/bib.scm" :definition 'bib-sort/idents)))))
+ (prgm :file "skribilo/biblio.scm"
+ :definition 'bib-sort/idents)))))
;*---------------------------------------------------------------------*/
;* skribebibtex */
@@ -226,9 +239,9 @@ entries identifier. The last one sorts according to entries date.])
In this section we present the Skribebibtex translator that compiles Bibtex
source files into a Skribe bibliography.])
-;; Synopsis
-(subsection :title "SYNOPSIS" :number #f
- (compiler-command *skribebibtex-bin* "options" "input"))
+;; Synopsis (FIXME)
+;;(subsection :title "SYNOPSIS" :number #f
+;; (compiler-command *skribebibtex-bin* "options" "input"))
;; Description
(subsection :title "DESCRIPTION" :number #f [
@@ -246,7 +259,9 @@ These suffixes are:
,(description (item :key (it ".bib") [a ,(bold "Bibtex") source file.]))])
-;; Options
-(subsection :title "OPTIONS" :number #f
-(compiler-options *skribebibtex-bin*))))
+;; Options (FIXME)
+;;(subsection :title "OPTIONS" :number #f
+;;(compiler-options *skribebibtex-bin*))
+
+ ))
diff --git a/doc/user/char.skb b/doc/user/char.skb
index 85409f0..16c4625 100644
--- a/doc/user/char.skb
+++ b/doc/user/char.skb
@@ -1,13 +1,22 @@
-;*=====================================================================*/
-;* serrano/prgm/project/skribe/doc/user/char.skb */
-;* ------------------------------------------------------------- */
-;* Author : Manuel Serrano */
-;* Creation : Sat Sep 6 16:07:08 2003 */
-;* Last change : Mon Feb 2 11:16:57 2004 (serrano) */
-;* Copyright : 2003-04 Manuel Serrano */
-;* ------------------------------------------------------------- */
-;* Characters, strings and symbols */
-;*=====================================================================*/
+;;; char.skb -- Characters, strings and symbols
+;;;
+;;; Copyright 2003, 2004 Manuel Serrano
+;;;
+;;;
+;;; This program is free software; you can redistribute it and/or modify
+;;; it under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 2 of the License, or
+;;; (at your option) any later version.
+;;;
+;;; This program is distributed in the hope that it will be useful,
+;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with this program; if not, write to the Free Software
+;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+;;; USA.
;*---------------------------------------------------------------------*/
;* Footnote ... */
@@ -49,9 +58,12 @@ without any transformation from the engine.])
(p [The sequences ,(code "$1"), ,(code "$2"), ... in the ,(param 'format)
are replaced with the actual values of the arguments ,(param 'node).])
-(example-produce
- (example :legend "Some characters" (prgm :file "src/api20.skb"))
- (disp (include "src/api20.skb"))))
+(let ((file (if (engine-format? "lout")
+ "src/api20-lout.skb"
+ "src/api20-html.skb")))
+ (example-produce
+ (example :legend "Some characters" (prgm :file file))
+ (disp (include file)))))
;*--- Symbols ---------------------------------------------------------*/
(subsection :title "Symbols"
diff --git a/doc/user/colframe.skb b/doc/user/colframe.skb
index 79b32f9..307b95c 100644
--- a/doc/user/colframe.skb
+++ b/doc/user/colframe.skb
@@ -1,13 +1,22 @@
-;*=====================================================================*/
-;* serrano/prgm/project/skribe/doc/user/colframe.skb */
-;* ------------------------------------------------------------- */
-;* Author : Manuel Serrano */
-;* Creation : Thu Sep 4 11:53:32 2003 */
-;* Last change : Mon Apr 5 11:51:08 2004 (serrano) */
-;* Copyright : 2003-04 Manuel Serrano */
-;* ------------------------------------------------------------- */
-;* Skribe color and frame */
-;*=====================================================================*/
+;;; colframe.skb -- Skribe color and frame
+;;;
+;;; Copyright 2003, 2004 Manuel Serrano
+;;;
+;;;
+;;; This program is free software; you can redistribute it and/or modify
+;;; it under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 2 of the License, or
+;;; (at your option) any later version.
+;;;
+;;; This program is distributed in the hope that it will be useful,
+;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with this program; if not, write to the Free Software
+;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+;;; USA.
;*---------------------------------------------------------------------*/
;* Frame and color */
diff --git a/doc/user/document.skb b/doc/user/document.skb
index 09f8cb3..b5c3461 100644
--- a/doc/user/document.skb
+++ b/doc/user/document.skb
@@ -1,13 +1,22 @@
-;*=====================================================================*/
-;* serrano/prgm/project/skribe/doc/user/document.skb */
-;* ------------------------------------------------------------- */
-;* Author : Manuel Serrano */
-;* Creation : Tue Sep 2 11:39:07 2003 */
-;* Last change : Wed Feb 4 14:51:12 2004 (serrano) */
-;* Copyright : 2003-04 Manuel Serrano */
-;* ------------------------------------------------------------- */
-;* Document and author */
-;*=====================================================================*/
+;;; document.skb -- Document and author
+;;;
+;;; Copyright 2003, 2004 Manuel Serrano
+;;;
+;;;
+;;; This program is free software; you can redistribute it and/or modify
+;;; it under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 2 of the License, or
+;;; (at your option) any later version.
+;;;
+;;; This program is distributed in the hope that it will be useful,
+;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with this program; if not, write to the Free Software
+;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+;;; USA.
;*---------------------------------------------------------------------*/
;* dummy-document-output ... */
@@ -19,7 +28,7 @@
(b (markup-body n))
(ta (table (tr (map (lambda (n)
(td :valign 'top :align 'center n))
- a)))))
+ (if (list? a) a (list a)))))))
(skribe-eval (center (bold t)) e)
(skribe-eval (center ta) e)
(output b e))))
@@ -39,6 +48,10 @@
(:html-title "The title of window of the HTML browser.")
(:author "The authors of the document.")
(:ending "An ending text.")
+ (:keywords "A list of keywords which may be plain strings
+or markups. The keywords will not appear in the final document but only
+as meta-information (e.g., using the HTML `meta' tag) if the engine used
+supports it.")
(:env "A counter environment.")
(#!rest node... "The document nodes."))
:see-also '(author chapter toc))
diff --git a/doc/user/emacs.skb b/doc/user/emacs.skb
index 742fa87..1255dec 100644
--- a/doc/user/emacs.skb
+++ b/doc/user/emacs.skb
@@ -1,13 +1,22 @@
-;*=====================================================================*/
-;* serrano/prgm/project/skribe/doc/user/emacs.skb */
-;* ------------------------------------------------------------- */
-;* Author : Manuel Serrano */
-;* Creation : Fri Nov 30 13:36:44 2001 */
-;* Last change : Sun Feb 29 16:12:32 2004 (eg) */
-;* Copyright : 2001-04 Manuel Serrano */
-;* ------------------------------------------------------------- */
-;* Editing Skribe programs */
-;*=====================================================================*/
+;;; emacs.skb -- Editing Skribe programs
+;;;
+;;; Copyright 2001, 2002, 2003, 2004 Manuel Serrano
+;;;
+;;;
+;;; This program is free software; you can redistribute it and/or modify
+;;; it under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 2 of the License, or
+;;; (at your option) any later version.
+;;;
+;;; This program is distributed in the hope that it will be useful,
+;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with this program; if not, write to the Free Software
+;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+;;; USA.
;*---------------------------------------------------------------------*/
;* Editing Skribe programs */
@@ -52,7 +61,7 @@ The ,(code "skribe") mode is a minor mode. It is intended to be used with
a Lisp or Scheme mode. Hence, to use the ,(code "skribe") mode you will
have to use the following Emacs commands:])
-,(disp :vert #t (source :language lisp [
+,(disp :verb #t (source :language lisp [
ESC-x: scheme-mode
ESC-x: skribe-mode
]))]))
diff --git a/doc/user/engine.skb b/doc/user/engine.skb
index 06be3c4..30b8fd2 100644
--- a/doc/user/engine.skb
+++ b/doc/user/engine.skb
@@ -1,16 +1,28 @@
-;*=====================================================================*/
-;* serrano/prgm/project/skribe/doc/user/engine.skb */
-;* ------------------------------------------------------------- */
-;* Author : Manuel Serrano */
-;* Creation : Wed Sep 3 11:19:21 2003 */
-;* Last change : Mon Nov 8 15:07:35 2004 (serrano) */
-;* Copyright : 2003-04 Manuel Serrano */
-;* ------------------------------------------------------------- */
-;* The description of the Skribe engines */
-;*=====================================================================*/
-;; @indent: (put 'doc-markup 'skribe-indent 'skribe-indent-function)@
+;;; engine.skb -- The description of the Skribe engines
+;;;
+;;; Copyright 2003, 2004 Manuel Serrano
+;;;
+;;;
+;;; This program is free software; you can redistribute it and/or modify
+;;; it under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 2 of the License, or
+;;; (at your option) any later version.
+;;;
+;;; This program is distributed in the hope that it will be useful,
+;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with this program; if not, write to the Free Software
+;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+;;; USA.
+
(cond-expand
+ (guile
+ (define *engine-src* "skribilo/engine.scm")
+ (define *types-src* #f))
(bigloo
(define *engine-src* "../src/bigloo/engine.scm")
(define *types-src* "../src/bigloo/types.scm"))
@@ -55,6 +67,7 @@ given below:])
(:custom [The engine custom list.])
(:info [Miscellaneous.]))
:common-args '()
+ :skribe-source? #f
:source *engine-src*
:idx *function-index*)
@@ -68,6 +81,7 @@ given below:])
(:symbol-table [The engine symbol table.])
(:custom [The engine custom list.]))
:common-args '()
+ :skribe-source? #f
:source *engine-src*
:idx *function-index*))
@@ -80,6 +94,7 @@ on failure.])
'((id [The name (a symbol) of the engine to be searched.])
(:version [An optional version number for the searched engine.]))
:common-args '()
+ :skribe-source? #f
:source *engine-src*
:idx *function-index*))
@@ -91,7 +106,8 @@ argument is an engine. Otherwise, it returns ,(code "#f"). In other words,
(doc-markup 'engine?
'((obj [The checked object.]))
:common-args '()
- :source *types-src*
+ :skribe-source? #f
+ :source *engine-src*
:idx *function-index*)
(p [The following functions return information about engines.])
@@ -100,7 +116,8 @@ argument is an engine. Otherwise, it returns ,(code "#f"). In other words,
'((obj [The engine.]))
:common-args '()
:others '(engine-format engine-customs engine-filter engine-symbol-table)
- :source *types-src*
+ :skribe-source? #f
+ :source *engine-src*
:idx *function-index*))
(subsection :title "Engine customs"
@@ -117,6 +134,7 @@ a custom.])
,(ref :mark "find-engine" :text (code "find-engine"))).])
(id [The name of the custom.]))
:common-args '()
+ :skribe-source? #f
:source *engine-src*
:idx *function-index*)
@@ -126,6 +144,7 @@ a custom.])
(id [The name of the custom.])
(val [The new value of the custom.]))
:common-args '()
+ :skribe-source? #f
:source *engine-src*
:idx *function-index*)))
diff --git a/doc/user/enumeration.skb b/doc/user/enumeration.skb
index 01155e2..5f19c3a 100644
--- a/doc/user/enumeration.skb
+++ b/doc/user/enumeration.skb
@@ -1,13 +1,22 @@
-;*=====================================================================*/
-;* serrano/prgm/project/skribe/doc/user/enumeration.skb */
-;* ------------------------------------------------------------- */
-;* Author : Manuel Serrano */
-;* Creation : Thu Sep 4 11:53:32 2003 */
-;* Last change : Fri Sep 12 15:31:37 2003 (serrano) */
-;* Copyright : 2003 Manuel Serrano */
-;* ------------------------------------------------------------- */
-;* Skribe enumerations */
-;*=====================================================================*/
+;;; enumeration.skb -- Skribe enumerations
+;;;
+;;; Copyright 2003 Manuel Serrano
+;;;
+;;;
+;;; This program is free software; you can redistribute it and/or modify
+;;; it under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 2 of the License, or
+;;; (at your option) any later version.
+;;;
+;;; This program is distributed in the hope that it will be useful,
+;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with this program; if not, write to the Free Software
+;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+;;; USA.
;*---------------------------------------------------------------------*/
;* Justification */
diff --git a/doc/user/eq.skb b/doc/user/eq.skb
new file mode 100644
index 0000000..a611f88
--- /dev/null
+++ b/doc/user/eq.skb
@@ -0,0 +1,79 @@
+;;; eq.skb -- Equation formatting.
+;;;
+;;; Copyright 2006 Ludovic Courtès <ludovic.courtes@laas.fr>
+;;;
+;;;
+;;; This program is free software; you can redistribute it and/or modify
+;;; it under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 2 of the License, or
+;;; (at your option) any later version.
+;;;
+;;; This program is distributed in the hope that it will be useful,
+;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with this program; if not, write to the Free Software
+;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+;;; USA.
+
+;;; FIXME: This is a stub and must be completed!
+
+(chapter :title [Equation Formatting]
+
+ (p [Skribilo comes with an equation formatting package. This package
+may be loaded by adding the following form at the top of your document:]
+
+ (disp (prog (source :language scheme
+ [(use-modules (skribilo package eq))])))
+
+ [It allows the inclusion of (complex) equations in your documents,
+such as, for example, the following:]
+
+ (disp (eq :renderer (if (engine-format? "html") 'lout #f)
+ :ident "eq-disponibilite"
+ `(= (apply A D)
+ (sum :from (= i b) :to (* S b)
+ (* (script :sup (* S b) :sub i C)
+ (* (expt mu i)
+ (expt (- 1 mu)
+ (- (* S b) i))))))))
+
+ [This chapter will describe the syntactic facilities available to
+describe equations, as well as the rendering options.])
+
+ (section :title [Syntax]
+
+ (p [To start with, let's have a look at a concrete example. ]
+
+ (example-produce
+ (example :legend "Example of a simple equation using the verbose syntax"
+ (prgm :file "src/eq1.skb"))
+ (disp (include "src/eq1.skb")))
+
+ [In this example, the ,(tt [eq:]) sub-markups are used pretty
+much like any other kind of markup. However, the resulting syntax
+is very verbose and hard to read.])
+
+ (p [Fortunately, the ,(tt [eq]) package allows for the use of a
+much simple syntax. ]
+
+ (example-produce
+ (example :legend "Example of a simple equation"
+ (prgm :file "src/eq2.skb"))
+ (disp (include "src/eq2.skb")))
+
+ [Readers familiar with the Lisp family of programming languages
+may have already recognized its ,(emph [prefix notation]). Note that,
+unlike in the previous example, the equation itself if ,(emph [quoted]),
+that is, preceded by the ,(tt [']) sign. Additionally, when referring
+to a symbol (such as the Greek letter ,(symbol "phi")), you no longer
+need to use the ,(tt [symbol]) markup (,(ref :text [see subsection]
+:subsection "Symbols")).]))
+
+ (section :title [Rendering])
+
+ )
+
+;;; arch-tag: e9c83c13-205f-4f68-9100-b445c21b959c
diff --git a/doc/user/examples.skb b/doc/user/examples.skb
index a37ece4..7aa8f59 100644
--- a/doc/user/examples.skb
+++ b/doc/user/examples.skb
@@ -1,13 +1,22 @@
-;*=====================================================================*/
-;* serrano/prgm/project/skribe/doc/user/examples.skb */
-;* ------------------------------------------------------------- */
-;* Author : Manuel Serrano */
-;* Creation : Wed Sep 3 13:35:34 2003 */
-;* Last change : Tue Feb 3 14:52:33 2004 (serrano) */
-;* Copyright : 2003-04 Manuel Serrano */
-;* ------------------------------------------------------------- */
-;* The list of examples */
-;*=====================================================================*/
+;;; examples.skb -- The list of examples
+;;;
+;;; Copyright 2003, 2004 Manuel Serrano
+;;;
+;;;
+;;; This program is free software; you can redistribute it and/or modify
+;;; it under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 2 of the License, or
+;;; (at your option) any later version.
+;;;
+;;; This program is distributed in the hope that it will be useful,
+;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with this program; if not, write to the Free Software
+;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+;;; USA.
;*---------------------------------------------------------------------*/
;* Examples */
diff --git a/doc/user/figure.skb b/doc/user/figure.skb
index 08fbdd5..5998986 100644
--- a/doc/user/figure.skb
+++ b/doc/user/figure.skb
@@ -1,13 +1,22 @@
-;*=====================================================================*/
-;* serrano/prgm/project/skribe/doc/user/figure.skb */
-;* ------------------------------------------------------------- */
-;* Author : Manuel Serrano */
-;* Creation : Thu Sep 4 11:53:32 2003 */
-;* Last change : Fri Sep 12 15:31:48 2003 (serrano) */
-;* Copyright : 2003 Manuel Serrano */
-;* ------------------------------------------------------------- */
-;* Skribe figures */
-;*=====================================================================*/
+;;; figure.skb -- Skribe figures
+;;;
+;;; Copyright 2003 Manuel Serrano
+;;;
+;;;
+;;; This program is free software; you can redistribute it and/or modify
+;;; it under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 2 of the License, or
+;;; (at your option) any later version.
+;;;
+;;; This program is distributed in the hope that it will be useful,
+;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with this program; if not, write to the Free Software
+;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+;;; USA.
;*---------------------------------------------------------------------*/
;* Figure ... @label figure@ */
@@ -32,9 +41,10 @@
:see-also '(ref document))
-(example-produce
+ ;; Note: We can't use `example-produce' because the Lout engine, for
+ ;; instance, forbids the occurrence of `figure' within a table.
(example :legend "The figure markup" (prgm :file "src/api14.skb"))
- (disp (include "src/api14.skb")))
+ (include "src/api14.skb")
;*--- List of figures -------------------------------------------------*/
(subsection :title "List of figures"
@@ -51,8 +61,3 @@ shows how to display the list of figures of a document.])
(example :legend "The figure markup" (prgm :file "src/api15.skb"))
(disp (include "src/api15.skb")))))
-
-
-
-
-
diff --git a/doc/user/font.skb b/doc/user/font.skb
index df0bfed..cd9ec88 100644
--- a/doc/user/font.skb
+++ b/doc/user/font.skb
@@ -1,13 +1,22 @@
-;*=====================================================================*/
-;* serrano/prgm/project/skribe/doc/user/font.skb */
-;* ------------------------------------------------------------- */
-;* Author : Manuel Serrano */
-;* Creation : Thu Sep 4 11:53:32 2003 */
-;* Last change : Fri Sep 12 15:31:25 2003 (serrano) */
-;* Copyright : 2003 Manuel Serrano */
-;* ------------------------------------------------------------- */
-;* Skribe font */
-;*=====================================================================*/
+;;; font.skb -- Skribe font
+;;;
+;;; Copyright 2003 Manuel Serrano
+;;;
+;;;
+;;; This program is free software; you can redistribute it and/or modify
+;;; it under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 2 of the License, or
+;;; (at your option) any later version.
+;;;
+;;; This program is distributed in the hope that it will be useful,
+;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with this program; if not, write to the Free Software
+;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+;;; USA.
;*---------------------------------------------------------------------*/
;* Font */
diff --git a/doc/user/footnote.skb b/doc/user/footnote.skb
index 96101f3..2326a30 100644
--- a/doc/user/footnote.skb
+++ b/doc/user/footnote.skb
@@ -1,13 +1,23 @@
-;*=====================================================================*/
-;* serrano/prgm/project/skribe/doc/user/footnote.skb */
-;* ------------------------------------------------------------- */
-;* Author : Manuel Serrano */
-;* Creation : Sat Sep 6 15:43:24 2003 */
-;* Last change : Fri Sep 12 15:32:13 2003 (serrano) */
-;* Copyright : 2003 Manuel Serrano */
-;* ------------------------------------------------------------- */
-;* Skribe footnotes. */
-;*=====================================================================*/
+;;; footnote.skb -- Footnotes.
+;;;
+;;; Copyright 2003 Manuel Serrano
+;;; Copyright 2006 Ludovic Courtès <ludovic.courtes@laas.fr>
+;;;
+;;;
+;;; This program is free software; you can redistribute it and/or modify
+;;; it under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 2 of the License, or
+;;; (at your option) any later version.
+;;;
+;;; This program is distributed in the hope that it will be useful,
+;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with this program; if not, write to the Free Software
+;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+;;; USA.
;*---------------------------------------------------------------------*/
;* Footnote ... */
@@ -18,7 +28,10 @@
the reference to the footnote.])
(doc-markup 'footnote
- `((:number [The number of the footnote.])
+ `((:label [This may be either a boolean (i.e., ,(code "#f")
+or ,(code "#t")) indicating whether a footnote label should
+automatically be produced, a string specifying a label to use (e.g.,
+,(code ["*"])), or a number.])
(#!rest text... [The text of the footnote.]))
:see-also '(document chapter section))
diff --git a/doc/user/htmle.skb b/doc/user/htmle.skb
index b5d0b0e..b28d7a0 100644
--- a/doc/user/htmle.skb
+++ b/doc/user/htmle.skb
@@ -1,14 +1,23 @@
-;*=====================================================================*/
-;* serrano/prgm/project/skribe/doc/user/htmle.skb */
-;* ------------------------------------------------------------- */
-;* Author : Manuel Serrano */
-;* Creation : Wed Sep 3 11:20:49 2003 */
-;* Last change : Wed Oct 27 12:05:53 2004 (eg) */
-;* Copyright : 2003-04 Manuel Serrano */
-;* ------------------------------------------------------------- */
-;* The documentation of the html engine */
-;*=====================================================================*/
-;; @indent: (put 'doc-engine 'skribe-indent 'skribe-indent-function)@
+;;; htmle.skb -- The documentation of the html engine
+;;;
+;;; Copyright 2003, 2004 Manuel Serrano
+;;;
+;;;
+;;; This program is free software; you can redistribute it and/or modify
+;;; it under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 2 of the License, or
+;;; (at your option) any later version.
+;;;
+;;; This program is distributed in the hope that it will be useful,
+;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with this program; if not, write to the Free Software
+;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+;;; USA.
+
;*---------------------------------------------------------------------*/
;* Document */
@@ -65,6 +74,9 @@ the document.])
(title-background "The title background color.")
(title-foreground "The title foreground color.")
(file-title-separator "A text to be inserted in between the document title and the chapter or section title when the chapter or section is rendered in a separate file.")
+ (file-name-proc "A two-argument procedure that should return
+a string. This procedure is to be passed a node and an engine and
+should return a file name for the HTML page corresponding to this node.")
;; index configuration
(index-header-font-size "The index header font size.")
;; chapter configuration
@@ -106,6 +118,6 @@ the document.])
(source-bracket-color "The source bracket color.")
(source-type-color "The source type color.")
(image-format "The image formats for this engine."))
- :source "skr/html.skr")))
+ :source "skribilo/engine/html.scm")))
diff --git a/doc/user/image.skb b/doc/user/image.skb
index d08ad18..f74da22 100644
--- a/doc/user/image.skb
+++ b/doc/user/image.skb
@@ -1,13 +1,22 @@
-;*=====================================================================*/
-;* serrano/prgm/project/skribe/doc/user/image.skb */
-;* ------------------------------------------------------------- */
-;* Author : Manuel Serrano */
-;* Creation : Thu Sep 4 11:53:32 2003 */
-;* Last change : Sat Jan 17 18:08:15 2004 (serrano) */
-;* Copyright : 2003-04 Manuel Serrano */
-;* ------------------------------------------------------------- */
-;* Skribe images */
-;*=====================================================================*/
+;;; image.skb -- Skribe images
+;;;
+;;; Copyright 2003, 2004 Manuel Serrano
+;;;
+;;;
+;;; This program is free software; you can redistribute it and/or modify
+;;; it under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 2 of the License, or
+;;; (at your option) any later version.
+;;;
+;;; This program is distributed in the hope that it will be useful,
+;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with this program; if not, write to the Free Software
+;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+;;; USA.
;*---------------------------------------------------------------------*/
;* Image ... @label image@ */
@@ -73,7 +82,9 @@ returns the name of the new converted image. On failure, it returns
searched in the ,(ref :mark "skribe-image-path" :text "image path").])
(formats [A list of formats into which images are converted to.]))
:common-args '()
- :source "../src/bigloo/lib.bgl"
+ :skribe-source? #f
+ :source #f ;;"skribilo/runtime.scm"
+ :def '(define-markup (convert-image file formats) ...)
:see-also '(skribe-image-path)
:idx *function-index*)))
diff --git a/doc/user/index.skb b/doc/user/index.skb
index dd5e8fa..1a0d893 100644
--- a/doc/user/index.skb
+++ b/doc/user/index.skb
@@ -1,13 +1,22 @@
-;*=====================================================================*/
-;* serrano/prgm/project/skribe/doc/user/index.skb */
-;* ------------------------------------------------------------- */
-;* Author : Manuel Serrano */
-;* Creation : Sun Dec 2 10:02:56 2001 */
-;* Last change : Mon Feb 23 18:59:00 2004 (eg) */
-;* Copyright : 2001-04 Manuel Serrano */
-;* ------------------------------------------------------------- */
-;* Skribe indexes */
-;*=====================================================================*/
+;;; index.skb -- Skribe indexes
+;;;
+;;; Copyright 2001, 2002, 2003, 2004 Manuel Serrano
+;;;
+;;;
+;;; This program is free software; you can redistribute it and/or modify
+;;; it under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 2 of the License, or
+;;; (at your option) any later version.
+;;;
+;;; This program is distributed in the hope that it will be useful,
+;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with this program; if not, write to the Free Software
+;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+;;; USA.
;*---------------------------------------------------------------------*/
;* Index */
@@ -50,7 +59,7 @@ that pre-exists to all execution.])
(doc-markup 'default-index
'()
:common-args '()
- :source "src/common/index.scm"))
+ :source "skribilo/index.scm"))
;*---------------------------------------------------------------------*/
;* Index ... @label index@ */
diff --git a/doc/user/justify.skb b/doc/user/justify.skb
index 94db7d5..9246e59 100644
--- a/doc/user/justify.skb
+++ b/doc/user/justify.skb
@@ -1,13 +1,22 @@
-;*=====================================================================*/
-;* serrano/prgm/project/skribe/doc/user/justify.skb */
-;* ------------------------------------------------------------- */
-;* Author : Manuel Serrano */
-;* Creation : Thu Sep 4 11:53:32 2003 */
-;* Last change : Fri Sep 12 15:31:31 2003 (serrano) */
-;* Copyright : 2003 Manuel Serrano */
-;* ------------------------------------------------------------- */
-;* Skribe justification */
-;*=====================================================================*/
+;;; justify.skb -- Skribe justification
+;;;
+;;; Copyright 2003 Manuel Serrano
+;;;
+;;;
+;;; This program is free software; you can redistribute it and/or modify
+;;; it under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 2 of the License, or
+;;; (at your option) any later version.
+;;;
+;;; This program is distributed in the hope that it will be useful,
+;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with this program; if not, write to the Free Software
+;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+;;; USA.
;*---------------------------------------------------------------------*/
;* Justification */
diff --git a/doc/user/latexe.skb b/doc/user/latexe.skb
index f53737b..feca728 100644
--- a/doc/user/latexe.skb
+++ b/doc/user/latexe.skb
@@ -1,14 +1,23 @@
-;*=====================================================================*/
-;* serrano/prgm/project/skribe/doc/user/latexe.skb */
-;* ------------------------------------------------------------- */
-;* Author : Manuel Serrano */
-;* Creation : Wed Sep 3 11:20:49 2003 */
-;* Last change : Tue Apr 6 06:28:59 2004 (serrano) */
-;* Copyright : 2003-04 Manuel Serrano */
-;* ------------------------------------------------------------- */
-;* The documentation of the html engine */
-;*=====================================================================*/
-;; @indent: (put 'doc-engine 'skribe-indent 'skribe-indent-function)@
+;;; latexe.skb -- The documentation of the html engine
+;;;
+;;; Copyright 2003, 2004 Manuel Serrano
+;;;
+;;;
+;;; This program is free software; you can redistribute it and/or modify
+;;; it under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 2 of the License, or
+;;; (at your option) any later version.
+;;;
+;;; This program is distributed in the hope that it will be useful,
+;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with this program; if not, write to the Free Software
+;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+;;; USA.
+
;*---------------------------------------------------------------------*/
;* Document */
@@ -45,7 +54,7 @@
(hyperref-usepackage "The LaTeX package for hyperref.")
(image-format "The image formats for this engine.")
(index-page-ref "Indexes use page references."))
- :source "skr/latex.skr"))
+ :source "skribilo/engine/latex.scm"))
(subsection :title "LaTeX documentclass"
diff --git a/doc/user/lib.skb b/doc/user/lib.skb
index 499ca61..0cdfe80 100644
--- a/doc/user/lib.skb
+++ b/doc/user/lib.skb
@@ -1,11 +1,22 @@
-;;;;
-;;;; Standard Library
-;;;;
-;;;;
-;;;; Author: Erick Gallesio [eg@essi.fr]
-;;;; Creation date: 21-Nov-2003 07:20 (eg)
-;;;; Last file update: 21-Nov-2003 10:17 (eg)
-
+;;; lib.skb -- Standard library.
+;;;
+;;; Copyright 2003 Erick Gallesio <eg@essi.fr>
+;;;
+;;;
+;;; This program is free software; you can redistribute it and/or modify
+;;; it under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 2 of the License, or
+;;; (at your option) any later version.
+;;;
+;;; This program is distributed in the hope that it will be useful,
+;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with this program; if not, write to the Free Software
+;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+;;; USA.
(chapter :title "Standard Library"
@@ -34,24 +45,30 @@ Skribe document (the expressions placed before the ,(markup-ref "document")
call) contains several ,(code "skribe-load"). The file is search
in the ,(ref :mark "skribe-path" :text "Skribe path").])
- (doc-markup 'skribe-load
+ (doc-markup 'load-document
`((file [The file containing the expressions to be loaded.])
(:engine [The engine used to evaluate the expressions.])
(:path ,[The optional path where to find the file. The default
path is ,(markup-ref "skribe-path").])
(#!rest opt... [Additional user options.]))
- :source "../src/bigloo/eval.scm"
+ ;;:skribe-source? #f
+ ;;:source "skribilo/evaluator.scm"
+ :source #f
+ :def '(define (load-document file #!rest opt #!key engine path) ...)
:common-args '()
:see-also '(skribe-load-options skribe-path skribe-path-set!)
:idx *function-index*)
(p [Returns the user of options of the last call to
,(markup-ref "skribe-load")])
- (doc-markup 'skribe-load-options
+ (doc-markup '*load-options*
'()
- :source "../src/bigloo/eval.scm"
+ :skribe-source? #f-
+ ;;:source "skribilo/evaluator.scm"
+ :source #f
+ :def '(define (*load-options* #!optional opt) ...)
:common-args '()
- :see-also '(skribe-load)
+ :see-also '(load-document)
:idx *function-index*)
(p [Skribe provides functions for dealing with paths. These functions
@@ -59,21 +76,31 @@ are related to the path that can be specified on the command line,
when the Skribe compiler is invoked (see Chapter
,(ref :chapter "Skribe compiler").)])
- (doc-markup 'skribe-path
+ (doc-markup '*document-path*
'()
- :source "../src/bigloo/eval.scm"
+ ;;:skribe-source? #f
+ ;;:source "skribilo/parameters.scm"
+ :source #f
+ :def '(define (*document-path* #!optional opt) ...)
:common-args '()
- :others '(skribe-image-path skribe-bib-path skribe-source-path)
- :see-also '(include skribe-load image source bibliography skribe-path-set! skribe-image-path-set! skribe-bib-path-set! skribe-source-path-set!)
+ :others '() ;;'(*image-path* *bib-path* *source-path*)
+ :see-also '(include-document load-document image source
+bibliography)
:idx *function-index*)
- (p [The function ,(code "skribe-path-set!") sets a new path.])
+ (p [,(tt [*document-path*]) is a procedure as returned by SRFI-39
+,(tt [make-parameter]). As such, ,(tt [(*document-path*)]) returns the
+current document path, while ,(tt [(*document-path* '("."
+"/some/path"))]) changes the value of the current path. An equivalent
+way to achieve this is by using ,(tt [skribe-path-set!]):])
+
(doc-markup 'skribe-path-set!
'((path [A list of strings which is the new Skribe search path.]))
- :source "../src/bigloo/eval.scm"
+ :skribe-source? #f
+ :source "skribilo/utils/compat.scm"
:common-args '()
- :others '(skribe-image-path-set! skribe-bib-path-set! skribe-source-path-set!)
- :see-also '(skribe-path skribe-image-path skribe-bib-path skribe-source-path)
+ :others '()
+ :see-also '(*document-path*)
:idx *function-index*))
;;; Misc
@@ -99,10 +126,10 @@ Skribe configuration. It can be used to ,(emph "get") or ,(emph "check")
the configuration.])
(doc-markup 'skribe-configure
- '((opt... [Optional arguments.]))
+ '((#!rest opt... [Optional arguments.]))
:common-args '()
:source #f
- :def '(define (skribe-configure . opt...) ...)
+ :def '(define (skribe-configure #!rest opt...) ...)
:idx *function-index*)
(p [The function ,(code "skribe-configure") can be used in three distinct
@@ -146,10 +173,10 @@ arguments if the same as that of ,(code "skribe-configure") when invoked
with several arguments.])
(doc-markup 'skribe-enforce-configure
- '((opt... [Optional arguments.]))
+ '((#!rest opt... [Optional arguments.]))
:common-args '()
:source #f
- :def '(define (skribe-enforce-configure . opt...) ...)
+ :def '(define (skribe-enforce-configure #!rest opt...) ...)
:idx *function-index*))
diff --git a/doc/user/line.skb b/doc/user/line.skb
index 85f84dd..3f9dab3 100644
--- a/doc/user/line.skb
+++ b/doc/user/line.skb
@@ -1,13 +1,22 @@
-;*=====================================================================*/
-;* serrano/prgm/project/skribe/doc/user/line.skb */
-;* ------------------------------------------------------------- */
-;* Author : Manuel Serrano */
-;* Creation : Thu Sep 4 10:08:08 2003 */
-;* Last change : Thu Sep 4 13:29:49 2003 (serrano) */
-;* Copyright : 2003 Manuel Serrano */
-;* ------------------------------------------------------------- */
-;* Line breaks */
-;*=====================================================================*/
+;;; line.skb -- Line breaks
+;;;
+;;; Copyright 2003 Manuel Serrano
+;;;
+;;;
+;;; This program is free software; you can redistribute it and/or modify
+;;; it under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 2 of the License, or
+;;; (at your option) any later version.
+;;;
+;;; This program is distributed in the hope that it will be useful,
+;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with this program; if not, write to the Free Software
+;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+;;; USA.
;*---------------------------------------------------------------------*/
;* Line breaks */
diff --git a/doc/user/links.skb b/doc/user/links.skb
index b454f28..ae7301c 100644
--- a/doc/user/links.skb
+++ b/doc/user/links.skb
@@ -1,13 +1,22 @@
-;*=====================================================================*/
-;* serrano/prgm/project/skribe/doc/user/links.skb */
-;* ------------------------------------------------------------- */
-;* Author : Manuel Serrano */
-;* Creation : Thu Sep 11 06:10:44 2003 */
-;* Last change : Thu Feb 26 20:56:48 2004 (eg) */
-;* Copyright : 2003-04 Manuel Serrano */
-;* ------------------------------------------------------------- */
-;* Skribe links */
-;*=====================================================================*/
+;;; links.skb -- Skribe links
+;;;
+;;; Copyright 2003, 2004 Manuel Serrano
+;;;
+;;;
+;;; This program is free software; you can redistribute it and/or modify
+;;; it under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 2 of the License, or
+;;; (at your option) any later version.
+;;;
+;;; This program is distributed in the hope that it will be useful,
+;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with this program; if not, write to the Free Software
+;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+;;; USA.
;*---------------------------------------------------------------------*/
;* Links and references */
@@ -76,13 +85,13 @@ section, to bibliographic entries, to source code line number, etc.])
(:mark [A string that is the name of a mark. That mark has
been introduced by a ,(markup-ref "mark") markup.])
(:handle [A Skribe node ,(markup-ref "handle").])
- (:ident [A reference to a node who has been specified
- an ,(param :ident) value.])
- (:figure [The name of a ,(markup-ref "figure").])
- (:chapter [The name of a ,(markup-ref "chapter").])
- (:section [The name of a ,(markup-ref "section").])
- (:subsection [The name of a ,(markup-ref "subsection").])
- (:subsubsection [The name of a ,(markup-ref "subsubsection").])
+ (:ident [The identifier of a node (which was specified
+ as an ,(param :ident) value).])
+ (:figure [The identifier of a ,(markup-ref "figure").])
+ (:chapter [The title of a ,(markup-ref "chapter").])
+ (:section [The title of a ,(markup-ref "section").])
+ (:subsection [The title of a ,(markup-ref "subsection").])
+ (:subsubsection [The title of a ,(markup-ref "subsubsection").])
(:page [A boolean enabling/disabling page reference.])
(:bib ,[A name or a list of names of
,(ref :chapter "Bibliographies" :text "bibliographic") entry.])
diff --git a/doc/user/markup.skb b/doc/user/markup.skb
index 272bfbe..3607053 100644
--- a/doc/user/markup.skb
+++ b/doc/user/markup.skb
@@ -1,18 +1,27 @@
-;*=====================================================================*/
-;* serrano/prgm/project/skribe/doc/user/markup.skb */
-;* ------------------------------------------------------------- */
-;* Author : Manuel Serrano */
-;* Creation : Tue Sep 2 06:09:18 2003 */
-;* Last change : Wed Feb 4 06:11:45 2004 (serrano) */
-;* Copyright : 2003-04 Manuel Serrano */
-;* ------------------------------------------------------------- */
-;* The Skribe standard markups */
-;*=====================================================================*/
+;;; markup.skb -- The Skribe standard markups
+;;;
+;;; Copyright 2003, 2004 Manuel Serrano
+;;;
+;;;
+;;; This program is free software; you can redistribute it and/or modify
+;;; it under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 2 of the License, or
+;;; (at your option) any later version.
+;;;
+;;; This program is distributed in the hope that it will be useful,
+;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with this program; if not, write to the Free Software
+;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+;;; USA.
;*---------------------------------------------------------------------*/
;* API */
;*---------------------------------------------------------------------*/
-(chapter :title "Standard Markups" [
+(chapter :title "Standard Markups" :ident "std-markups" [
This chapter describes the forms composing Skribe texts. In XML/HTML
these forms are called ,(emph "markups"). In LaTeX they are called
diff --git a/doc/user/ornament.skb b/doc/user/ornament.skb
index e65b9d1..5fc2832 100644
--- a/doc/user/ornament.skb
+++ b/doc/user/ornament.skb
@@ -1,13 +1,22 @@
-;*=====================================================================*/
-;* serrano/prgm/project/skribe/doc/user/ornament.skb */
-;* ------------------------------------------------------------- */
-;* Author : Manuel Serrano */
-;* Creation : Wed Sep 3 14:00:52 2003 */
-;* Last change : Fri Sep 12 15:31:19 2003 (serrano) */
-;* Copyright : 2003 Manuel Serrano */
-;* ------------------------------------------------------------- */
-;* The skribe ornaments */
-;*=====================================================================*/
+;;; ornament.skb -- The skribe ornaments
+;;;
+;;; Copyright 2003 Manuel Serrano
+;;;
+;;;
+;;; This program is free software; you can redistribute it and/or modify
+;;; it under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 2 of the License, or
+;;; (at your option) any later version.
+;;;
+;;; This program is distributed in the hope that it will be useful,
+;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with this program; if not, write to the Free Software
+;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+;;; USA.
;*---------------------------------------------------------------------*/
;* Ornaments */
diff --git a/doc/user/package.skb b/doc/user/package.skb
index ad989d0..c81dacb 100644
--- a/doc/user/package.skb
+++ b/doc/user/package.skb
@@ -1,13 +1,22 @@
-;*=====================================================================*/
-;* serrano/prgm/project/skribe/doc/user/package.skb */
-;* ------------------------------------------------------------- */
-;* Author : Manuel Serrano */
-;* Creation : Sat Feb 21 08:26:44 2004 */
-;* Last change : Fri Jun 3 16:51:30 2005 (serrano) */
-;* Copyright : 2004-05 Manuel Serrano */
-;* ------------------------------------------------------------- */
-;* Packages */
-;*=====================================================================*/
+;;; package.skb -- Packages
+;;;
+;;; Copyright 2004, 2005 Manuel Serrano
+;;;
+;;;
+;;; This program is free software; you can redistribute it and/or modify
+;;; it under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 2 of the License, or
+;;; (at your option) any later version.
+;;;
+;;; This program is distributed in the hope that it will be useful,
+;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with this program; if not, write to the Free Software
+;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+;;; USA.
;*---------------------------------------------------------------------*/
;* Standard packages */
@@ -25,7 +34,7 @@ Skribe distribution.])
In order to use the facilities described in the following sections, the
Skribe source file must contains expressions such as:])
-(prgm [(skribe-load ,(it "package.skr") ...)])
+(prgm "(skribe-load \"package.skr\" ...)")
[where ,(it (tt "package.skr")) is the described package.]
@@ -43,11 +52,12 @@ markup ,(code "abstract"):])
(doc-markup 'abstract
`((:class "The node class.")
(:postscript [The URL of the PostScript version of the paper.]))
+ :ident "abstract(acmproc)"
:common-args '()
:idx-note "acmproc"
:idx-suffix " (acmproc)"
:force-engines *api-engines*
- :source "../skr/acmproc.skr"))
+ :source "skribilo/package/acmproc.scm"))
(subsection :title (tt "jfp.skr") :ident "jfp"
(index :index *package-index* "jfp.skr" :note "package")
@@ -57,11 +67,12 @@ This package enables producing LaTeX documents conforming to the
markup ,(code "abstract"):])
(doc-markup 'abstract
`((:postscript [The URL of the PostScript version of the paper.]))
+ :ident "abstract(jfp)"
:common-args '()
:idx-note "jfp"
:idx-suffix " (jfp)"
:force-engines *api-engines*
- :source "../skr/jfp.skr"))
+ :source "skribilo/package/jfp.scm"))
(subsection :title (tt "lncs.skr") :ident "lncs"
(index :index *package-index* "lncs.skr" :note "package")
@@ -75,7 +86,7 @@ markup ,(code "abstract"):])
:idx-note "lncs"
:idx-suffix " (lncs)"
:force-engines *api-engines*
- :source "../skr/lncs.skr")))
+ :source "skribilo/package/lncs.scm")))
;*---------------------------------------------------------------------*/
;* french */
@@ -102,7 +113,7 @@ This package is to be used to authoring simple letters. It redefines the
:idx-note "letter"
:idx-suffix " (letter)"
:force-engines *api-engines*
- :source "../skr/letter.skr"))
+ :source "skribilo/package/letter.scm"))
;*---------------------------------------------------------------------*/
;* Web */
diff --git a/doc/user/pie.skb b/doc/user/pie.skb
new file mode 100644
index 0000000..ace37f2
--- /dev/null
+++ b/doc/user/pie.skb
@@ -0,0 +1,71 @@
+;;; pie.skb -- Pie charts.
+;;;
+;;; Copyright 2006 Ludovic Courtès <ludovic.courtes@laas.fr>
+;;;
+;;;
+;;; This program is free software; you can redistribute it and/or modify
+;;; it under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 2 of the License, or
+;;; (at your option) any later version.
+;;;
+;;; This program is distributed in the hope that it will be useful,
+;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with this program; if not, write to the Free Software
+;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+;;; USA.
+
+;;; FIXME: This is a stub and must be completed!
+
+(chapter :title [Pie Charts] :ident "pie-charts"
+
+ (p [Skribilo contains a pie-chart formatting package, located in the
+,(tt [(skribilo package pie)]) module. It allows users to produces
+represent numeric data as pie charts as in the following example:]
+
+ (disp (pie :title [Use of Document Formatting Systems]
+ :fingers? #t :labels 'outside
+ :initial-angle 90
+ :ident "pie-skribilo-rulez"
+ (slice :weight 10 :color "red" :detach? #t
+ (bold [Skribilo]))
+ (slice :weight 6 :color "green" "Skribe")
+ (slice :weight 6 :color "blue" "Lout")
+ (slice :weight 4 :color "lightgrey" "LaTeX")
+ (slice :weight 2 :color "yellow" "Docbook")
+ (slice :weight 1 :color "black" "others"))))
+
+ (p [A default implementation, which uses ,(ref :text [Ploticus] :url
+"http://ploticus.sf.net") as an external program, is available for all
+engines. There is also a specific implementation for the Lout engine
+which relies on Lout's own pie-chart package. In the latter case, you
+don't need to have Ploticus installed, but you need it in the former.])
+ (p [Currently it only supports slice-coloring, but support for
+textures (particularly useful for black & white printouts) could be
+added in the future.])
+
+ (section :title [Syntax]
+
+ (p [Let us start with a simple example:]
+
+ (example-produce
+ (example :legend "Example of a pie chart"
+ (prgm :file "src/pie1.skb"))
+ (disp (include "src/pie1.skb"))))
+
+ (p [This illustrates the three markups provided by the ,(tt [pie])
+package, namely ,(tt [pie]), ,(tt [slice]), and ,(tt [sliceweight]).
+This last markup returns the weight of the slice it is used in, be it as
+a percentage or an absolute value. Note that the ,(tt [:total]) option
+of ,(tt [pie]) can be used to create pie charts no entirely filled.])
+ (p [Various options allow the pie layout to be controlled:]
+
+ (example-produce
+ (example :legend "Specifying the layout of a pie chart"
+ (prgm :file "src/pie2.skb"))
+ (disp (include "src/pie2.skb"))))))
+
+;;; arch-tag: 60382016-3a63-4466-83e0-46a259cb39ab
diff --git a/doc/user/prgm.skb b/doc/user/prgm.skb
index c894614..6fb44c9 100644
--- a/doc/user/prgm.skb
+++ b/doc/user/prgm.skb
@@ -1,13 +1,22 @@
-;*=====================================================================*/
-;* serrano/prgm/project/skribe/doc/user/prgm.skb */
-;* ------------------------------------------------------------- */
-;* Author : Manuel Serrano */
-;* Creation : Fri Nov 30 09:21:11 2001 */
-;* Last change : Wed Sep 22 02:11:49 2004 (serrano) */
-;* Copyright : 2001-04 Manuel Serrano */
-;* ------------------------------------------------------------- */
-;* Computer programs */
-;*=====================================================================*/
+;;; prgm.skb -- Computer programs
+;;;
+;;; Copyright 2001, 2002, 2003, 2004 Manuel Serrano
+;;;
+;;;
+;;; This program is free software; you can redistribute it and/or modify
+;;; it under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 2 of the License, or
+;;; (at your option) any later version.
+;;;
+;;; This program is distributed in the hope that it will be useful,
+;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with this program; if not, write to the Free Software
+;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+;;; USA.
;*---------------------------------------------------------------------*/
;* fib ... */
diff --git a/doc/user/sectioning.skb b/doc/user/sectioning.skb
index 48bbc45..860821d 100644
--- a/doc/user/sectioning.skb
+++ b/doc/user/sectioning.skb
@@ -1,13 +1,22 @@
-;*=====================================================================*/
-;* serrano/prgm/project/skribe/doc/user/sectioning.skb */
-;* ------------------------------------------------------------- */
-;* Author : Manuel Serrano */
-;* Creation : Wed Sep 3 12:27:03 2003 */
-;* Last change : Tue Apr 6 06:45:28 2004 (serrano) */
-;* Copyright : 2003-04 Manuel Serrano */
-;* ------------------------------------------------------------- */
-;* Sectioning markups */
-;*=====================================================================*/
+;;; sectioning.skb -- Sectioning markups
+;;;
+;;; Copyright 2003, 2004 Manuel Serrano
+;;;
+;;;
+;;; This program is free software; you can redistribute it and/or modify
+;;; it under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 2 of the License, or
+;;; (at your option) any later version.
+;;;
+;;; This program is distributed in the hope that it will be useful,
+;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with this program; if not, write to the Free Software
+;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+;;; USA.
;*---------------------------------------------------------------------*/
;* dummy-section-output ... */
@@ -101,7 +110,7 @@ paragraphs.])
(p [The function ,(code "p") is an alias for ,(code "paragraph").])
(doc-markup 'p
'((#!rest node... "The nodes of the paragraph."))
- :source "../skr/skribe.skr"
+ :source "skribilo/package/base.scm"
:see-also '(document chapter section paragraph)))
;*--- blockquote -----------------------------------------------------*/
diff --git a/doc/user/skribe-config.skb b/doc/user/skribe-config.skb
index 956af63..7c5e4bb 100644
--- a/doc/user/skribe-config.skb
+++ b/doc/user/skribe-config.skb
@@ -1,13 +1,22 @@
-;*=====================================================================*/
-;* serrano/prgm/project/skribe/doc/user/skribe-config.skb */
-;* ------------------------------------------------------------- */
-;* Author : Manuel Serrano */
-;* Creation : Fri Jan 2 21:12:24 2004 */
-;* Last change : Thu Sep 23 17:11:53 2004 (eg) */
-;* Copyright : 2004 Manuel Serrano */
-;* ------------------------------------------------------------- */
-;* The skribe-config tool */
-;*=====================================================================*/
+;;; skribe-config.skb -- The skribe-config tool
+;;;
+;;; Copyright 2004 Manuel Serrano
+;;;
+;;;
+;;; This program is free software; you can redistribute it and/or modify
+;;; it under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 2 of the License, or
+;;; (at your option) any later version.
+;;;
+;;; This program is distributed in the hope that it will be useful,
+;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with this program; if not, write to the Free Software
+;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+;;; USA.
;*---------------------------------------------------------------------*/
;* The skribe-config tool */
@@ -29,16 +38,18 @@ The ,(code "skribe-config") gives information about the Skribe configuration.
This information can be the directories used to install Skribe, the Scheme
implementation used for compiling Skribe, etc.])
-;; Options
-(section :title "OPTIONS" :number #f [
-,(pre (let* ((proc (run-process "../etc/skribe-config" "--help" error: pipe:))
- (port (process-error-port proc)))
- (let loop ((line (read-line port))
- (lines '()))
- (if (eof-object? line)
- (reverse! lines)
- (begin
- (loop (read-line port) (cons* line "\n" lines)))))))]))
+;; Options (FIXME)
+; (section :title "OPTIONS" :number #f [
+; ,(pre (let* ((proc (run-process "../etc/skribe-config" "--help" error: pipe:))
+; (port (process-error-port proc)))
+; (let loop ((line (read-line port))
+; (lines '()))
+; (if (eof-object? line)
+; (reverse! lines)
+; (begin
+; (loop (read-line port) (cons* line "\n" lines)))))))])
+
+)
diff --git a/doc/user/skribec.skb b/doc/user/skribec.skb
index 0f00632..9ea2fad 100644
--- a/doc/user/skribec.skb
+++ b/doc/user/skribec.skb
@@ -1,13 +1,22 @@
-;*=====================================================================*/
-;* serrano/prgm/project/skribe/doc/user/skribec.skb */
-;* ------------------------------------------------------------- */
-;* Author : Manuel Serrano */
-;* Creation : Fri Nov 30 13:43:50 2001 */
-;* Last change : Thu Feb 26 20:58:26 2004 (eg) */
-;* Copyright : 2001-04 Manuel Serrano */
-;* ------------------------------------------------------------- */
-;* The Skribe compiler */
-;*=====================================================================*/
+;;; skribec.skb -- The Skribe compiler
+;;;
+;;; Copyright 2001, 2002, 2003, 2004 Manuel Serrano
+;;;
+;;;
+;;; This program is free software; you can redistribute it and/or modify
+;;; it under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 2 of the License, or
+;;; (at your option) any later version.
+;;;
+;;; This program is distributed in the hope that it will be useful,
+;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with this program; if not, write to the Free Software
+;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+;;; USA.
;*---------------------------------------------------------------------*/
;* The Skribe compiler */
@@ -43,10 +52,10 @@ its possible targets which one to choose. These suffixes are:
(item :key (it ".tex") [a ,(it "TeX") target file.])
(item :key (it ".sui") [a ,(it "Skribe url index") file.]))])
-;; Options
-(section :title "OPTIONS" :number #f [
-,(mark "skribe compiler option")
-,(compiler-options *skribe-bin*)])
+;; Options (FIXME)
+;;(section :title "OPTIONS" :number #f [
+;;,(mark "skribe compiler option")
+;;,(compiler-options *skribe-bin*)])
;; Environment variables
(section :title "ENVIRONMENT VARIABLES" :number #f [
diff --git a/doc/user/skribeinfo.skb b/doc/user/skribeinfo.skb
index 502cc73..6ce8f73 100644
--- a/doc/user/skribeinfo.skb
+++ b/doc/user/skribeinfo.skb
@@ -1,13 +1,22 @@
-;*=====================================================================*/
-;* serrano/prgm/project/skribe/doc/user/skribeinfo.skb */
-;* ------------------------------------------------------------- */
-;* Author : Manuel Serrano */
-;* Creation : Fri Nov 30 13:43:50 2001 */
-;* Last change : Mon Dec 15 13:22:08 2003 (serrano) */
-;* Copyright : 2001-03 Manuel Serrano */
-;* ------------------------------------------------------------- */
-;* The Skribeinfo compiler */
-;*=====================================================================*/
+;;; skribeinfo.skb -- The Skribeinfo compiler
+;;;
+;;; Copyright 2001, 2002, 2003 Manuel Serrano
+;;;
+;;;
+;;; This program is free software; you can redistribute it and/or modify
+;;; it under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 2 of the License, or
+;;; (at your option) any later version.
+;;;
+;;; This program is distributed in the hope that it will be useful,
+;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with this program; if not, write to the Free Software
+;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+;;; USA.
;*---------------------------------------------------------------------*/
;* The Skribeinfo compiler */
diff --git a/doc/user/slide.skb b/doc/user/slide.skb
index c1111ee..3e903ad 100644
--- a/doc/user/slide.skb
+++ b/doc/user/slide.skb
@@ -1,19 +1,64 @@
-;*=====================================================================*/
-;* serrano/prgm/project/skribe/doc/user/slide.skb */
-;* ------------------------------------------------------------- */
-;* Author : Manuel Serrano */
-;* Creation : Fri Jan 9 06:37:47 2004 */
-;* Last change : Thu Feb 26 21:00:04 2004 (eg) */
-;* Copyright : 2004 Manuel Serrano */
-;* ------------------------------------------------------------- */
-;* Slides */
-;*=====================================================================*/
-(skribe-load "slide.skr")
+;;; slide.skb -- Slides
+;;;
+;;; Copyright 2004 Manuel Serrano
+;;; Copyright 2006 Ludovic Courtès <ludovic.courtes@laas.fr>
+;;;
+;;;
+;;; This program is free software; you can redistribute it and/or modify
+;;; it under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 2 of the License, or
+;;; (at your option) any later version.
+;;;
+;;; This program is distributed in the hope that it will be useful,
+;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with this program; if not, write to the Free Software
+;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+;;; USA.
+
+
+;*---------------------------------------------------------------------*/
+;* dummy-slide-set-output ... */
+;*---------------------------------------------------------------------*/
+(define dummy-slide-set-output
+ (lambda (n e)
+ (let* ((a (markup-option n :author))
+ (t (markup-option n :title))
+ (b (markup-body n))
+ (ta (table (tr (map (lambda (n)
+ (td :valign 'top :align 'center n))
+ (if (list? a) a (list a)))))))
+ (skribe-eval (center (bold t)) e)
+ (skribe-eval (center ta) e)
+ (output b e))))
+
+(define dummy-slide-output
+ (lambda (n e)
+ (let* ((t (markup-option n :title))
+ (b (markup-body n)))
+ (skribe-eval (bold t) e)
+ (output b e))))
+
+(define dummy-slide-vspace-output
+ (lambda (n e)
+ (skribe-eval (linebreak) e)
+ (skribe-eval (center (tt "[vspace]")) e)
+ (skribe-eval (linebreak) e)))
+
+(define dummy-slide-embed-output
+ (lambda (n e)
+ (skribe-eval (linebreak) e)
+ (skribe-eval (tt (or (markup-option n :alt)
+ (markup-option n :command)))
+ e)))
;*---------------------------------------------------------------------*/
;* Computer programs */
;*---------------------------------------------------------------------*/
-(chapter :title "Slide Package"
+(chapter :title "Slide Package"
(p [
This chapter describes the facilities Skribe offers authoring slides.
@@ -27,7 +72,7 @@ second one tells Skribe to generate slides for the LaTeX prosper package.])
;*---------------------------------------------------------------------*/
;* slide ... @label slide@ */
;*---------------------------------------------------------------------*/
-(section :title "Slide"
+(section :title "Slides and Slide Topics"
(p [A ,(code "slide") function call creates a slide.])
@@ -44,7 +89,33 @@ the vertical space size between the title and the body of the slide.])
list ,(code "(split blinds box wipe dissolve glitter)").])
(:bg [The background color of the slide.])
(:image [The background image of the slide.]))
- :source "../skr/slide.skr"))
+ :source "skribilo/package/slide.scm")
+
+ (p [Optionally, one may group slides into ,(emph [topics]) and
+,(emph [subtopics]). Topics and subtopics are just logical grouping
+under a given title that are meant to provide structure to a set of
+slides. With their ,(code [:outline?]) option, these two markups can be
+used to automatically produce an outline at the beginning of each new
+(sub)topic, so that the audience knows what the talk is heading to.])
+
+ (doc-markup 'slide-topic
+ `((:title [The title of a topic.])
+ (:outline? [A boolean (i.e., ,(code [#t]) or ,(code
+[#f])) telling whether an outline should be produced at the beginning of
+this topic. The outline will typically list the titles of the different
+topics, as well as the titles of the slides under the current topic.]))
+ :source "skribilo/package/slide.scm")
+
+ (p [The ,(code [slide-subtopic]) markup is similar:])
+
+ (doc-markup 'slide-subtopic
+ `((:title [The title of a subtopic.])
+ (:outline? [A boolean (i.e., ,(code [#t]) or ,(code
+[#f])) telling whether an outline should be produced at the beginning of
+this subtopic. The outline will typically list the titles of the
+different subtopics, as well as the titles of the slides under the
+current subtopic.]))
+ :source "skribilo/package/slide.scm"))
;*---------------------------------------------------------------------*/
;* slide-pause */
@@ -52,12 +123,12 @@ list ,(code "(split blinds box wipe dissolve glitter)").])
(section :title "Pause"
(p [A ,(code "slide-pause") function call introduces a pause in the slide
-projection.])
+projection. This may not be supported by all engines.])
(doc-markup 'slide-pause
'()
:common-args '()
- :source "../skr/slide.skr"))
+ :source "skribilo/package/slide.scm"))
;*---------------------------------------------------------------------*/
;* slide-vspace ... */
@@ -70,7 +141,7 @@ projection.])
'((:unit [The unit of the space.])
(#!rest val [The size of the vertical space.]))
:common-args '()
- :source "../skr/slide.skr"))
+ :source "skribilo/package/slide.scm"))
;*---------------------------------------------------------------------*/
;* slide-embed ... */
@@ -92,7 +163,7 @@ to the embedded application.])
(:alt [An alternative Skribe expression to be used if the
output format does not support embedded application.]))
:common-args '()
- :source "../skr/slide.skr"))
+ :source "skribilo/package/slide.scm"))
;*---------------------------------------------------------------------*/
;* Example */
@@ -101,14 +172,29 @@ output format does not support embedded application.]))
(p [Here is a complete example of Skribe slides:])
(if (and (engine-format? "html")
- (not (equal? (engine-custom html-engine 'html-variant) "html4")))
+ (not (equal? (engine-custom (find-engine 'html) 'html-variant)
+ "html4")))
;; Show the example and its result
(example-produce
- (example :legend "Example of Skribe slides"
+ (example :legend "Example of Skribilo slides"
(prgm :file "src/slides.skb"))
- (disp (include "src/slides.skb")))
+ (disp
+ (processor :combinator
+ (lambda (e1 e2)
+ (let ((e (copy-engine 'document-engine e2)))
+ (markup-writer 'document e
+ :options '(:title :author :ending)
+ :action dummy-slide-set-output)
+ (markup-writer 'slide e
+ :options '(:title :ident
+ :number :toc :vspace)
+ :action dummy-slide-output)
+ (markup-writer 'slide-vspace
+ :action dummy-slide-vspace-output)
+ (markup-writer 'slide-embed
+ :action dummy-slide-embed-output)
+ e))
+ (include "src/slides.skb"))))
;; Show only the example (i.e. don't produce a document in a document)
(example :legend "Example of Skribe slides"
(prgm :file "src/slides.skb")))))
-
-
diff --git a/doc/user/src/Makefile.am b/doc/user/src/Makefile.am
new file mode 100644
index 0000000..6c61a1f
--- /dev/null
+++ b/doc/user/src/Makefile.am
@@ -0,0 +1,11 @@
+EXTRA_DIST = api1.skb api10.skb api11.skb api12.skb api13.skb \
+ api14.skb api15.skb api16.skb api17.skb api18.skb \
+ api19.skb api2.skb api20-html.skb api20-lout.skb api3.skb \
+ api4.skb api5.skb api6.skb api7.skb api8.skb \
+ api9.skb bib1.sbib bib2.skb bib3.skb bib4.skb \
+ bib5.skb bib6.skb eq1.skb eq2.skb index1.skb \
+ index2.skb index3.skb links1.skb links2.skb pie1.skb pie2.skb \
+ prgm1.skb prgm2.skb prgm3.skb slides.skb \
+ start1.skb start2.skb start3.skb start4.skb start5.skb
+
+## arch-tag: 9614a784-cac2-4399-bd61-18c9172f48a8
diff --git a/doc/user/src/api14.skb b/doc/user/src/api14.skb
index a3ede40..e9dd370 100644
--- a/doc/user/src/api14.skb
+++ b/doc/user/src/api14.skb
@@ -6,4 +6,4 @@
(center
(figure :legend "The great Penguin"
- (image :file "linux.gif")))
+ (image :file "linux.png")))
diff --git a/doc/user/src/api16.skb b/doc/user/src/api16.skb
index a9d5705..6be4283 100644
--- a/doc/user/src/api16.skb
+++ b/doc/user/src/api16.skb
@@ -1,5 +1,5 @@
-(image :file "linux.gif" "A first image")
-(image :height 50 :file "linux.gif" "A smaller one")
-(image :file "bsd.gif" "A second image")
-(image :width 50 :file "bsd.gif")
-(image :width 200 :height 40 :file "bsd.gif")
+(image :file "linux.png" "A first image")
+(image :height 50 :file "linux.png" "A smaller one")
+(image :file "bsd.png" "A second image")
+(image :width 50 :file "bsd.png")
+(image :width 200 :height 40 :file "bsd.png")
diff --git a/doc/user/src/api2.skb b/doc/user/src/api2.skb
index 2c20965..4a89705 100644
--- a/doc/user/src/api2.skb
+++ b/doc/user/src/api2.skb
@@ -1,4 +1,4 @@
-(document :title "This is a Scribe document"
+(document :title "This is a Skribilo document"
:author (list (author :name "Foo" :email (mailto "foo@nowhere.org"))
(author :name "Bar" :email (mailto "bar@anywhere.org"))
(author :name "Gee" :email (mailto "gee@nowhere.org")))
diff --git a/doc/user/src/api20.skb b/doc/user/src/api20-html.skb
index 686efcb..686efcb 100644
--- a/doc/user/src/api20.skb
+++ b/doc/user/src/api20-html.skb
diff --git a/doc/user/src/api20-lout.skb b/doc/user/src/api20-lout.skb
new file mode 100644
index 0000000..89fb961
--- /dev/null
+++ b/doc/user/src/api20-lout.skb
@@ -0,0 +1,2 @@
+[A simple ,(! "string"). A more annoying one ,(! "@B { string }").
+A last one with arguments ,(! "@Underline { $1 $2 }" (bold 1) (it 2)).]
diff --git a/doc/user/src/bib1.sbib b/doc/user/src/bib1.sbib
index 3f1c04f..6afff71 100644
--- a/doc/user/src/bib1.sbib
+++ b/doc/user/src/bib1.sbib
@@ -12,6 +12,8 @@
(year "1991"))
(misc bigloo
+ (author "Manuel Serrano")
+ (year "2006")
(url "http://www.inria.fr/mimosa/fp/Bigloo"))
(misc scheme:r4rs
diff --git a/doc/user/src/eq1.skb b/doc/user/src/eq1.skb
new file mode 100644
index 0000000..bbd0742
--- /dev/null
+++ b/doc/user/src/eq1.skb
@@ -0,0 +1,6 @@
+;; The golden ratio, phi.
+(eq (eq:= (symbol "phi")
+ (eq:/ (eq:+ 1 (eq:sqrt 5))
+ 2)))
+
+
diff --git a/doc/user/src/eq2.skb b/doc/user/src/eq2.skb
new file mode 100644
index 0000000..199fd7d
--- /dev/null
+++ b/doc/user/src/eq2.skb
@@ -0,0 +1,3 @@
+;; The golden ratio, phi.
+(eq '(= phi (/ (+ 1 (sqrt 5)) 2)))
+
diff --git a/doc/user/src/links1.skb b/doc/user/src/links1.skb
index e0ce61c..e0b393b 100644
--- a/doc/user/src/links1.skb
+++ b/doc/user/src/links1.skb
@@ -1,6 +1,6 @@
[This hyperlink points to the ,(ref :figure "The great Penguin" :text "figure")
of the chapter ,(ref :chapter "Standard Markups") (or also, the
-,(ref :ident "Standard Markups" :text "chapter") about markups).
+,(ref :ident "std-markups" :text "chapter") about markups).
In the second example of reference, no ,(code ":text") option is specified:
,(ref :figure "The great Penguin"). One may use the ,(param ":ident")
field when specified such as: ,(ref :ident "fig1") or ,(ref :figure "fig1").
diff --git a/doc/user/src/pie1.skb b/doc/user/src/pie1.skb
new file mode 100644
index 0000000..0d0fd0b
--- /dev/null
+++ b/doc/user/src/pie1.skb
@@ -0,0 +1,13 @@
+;; A sad pie chart.
+;;
+
+(pie :title [Casualties in the Israel-Lebanon 2006 Conflict (source:
+English Wikipedia page, 2006-07-23)]
+ :total 450 ;; to show the uncertainty on figures
+ :ident "pie-lebanon-2006"
+ :labels 'outside :fingers? #t
+
+ (slice :weight 8 :color "black" [Hezbollah militants])
+ (slice :weight 42 :color "blue" [soldiers])
+ (slice :weight 317 :color "red" :detach? #t
+ [civilians (,(sliceweight :percentage? #t)%)]))
diff --git a/doc/user/src/pie2.skb b/doc/user/src/pie2.skb
new file mode 100644
index 0000000..84b5394
--- /dev/null
+++ b/doc/user/src/pie2.skb
@@ -0,0 +1,14 @@
+;; Another sad pie chart.
+;;
+
+(pie :title [Casualties of the Conflict in Iraq since 2003 (source:
+English Wikipedia page, 2006-07-23)]
+ :ident "pie-iraq-2006"
+ :fingers? #f
+ :labels 'inside
+ :initial-angle 45
+ :radius 2
+
+ (slice :weight 100000 :color "red" :detach? #t
+ [civilians (,(sliceweight :percentage? #t)%)])
+ (slice :weight (+ 2555 229) :color #xeeeeee [soldiers]))
diff --git a/doc/user/src/slides.skb b/doc/user/src/slides.skb
index ac584d1..e5e6896 100644
--- a/doc/user/src/slides.skb
+++ b/doc/user/src/slides.skb
@@ -6,22 +6,28 @@
:address (ref :url "http://www.inria.fr/mimosa/Manuel.Serrano"))
(if (engine-format? "html")
- (slide :title "Table of contents" :number #f :toc #f
- (toc :chapter #f :section #f :subsection #f :subsubsection #f
- :slide #t)))
+ (slide :title "Table of Contents" :number #f :toc #f
+ (toc :chapter #f :section #f :subsection #f :subsubsection #f)))
+;;; :slide #t)))
+
+ (slide :title "Introduction" :vspace 0.3
+
+ (p [This is a simple slide, not grouped in any topic.]))
- (slide :title "X11 client" :toc #t :vspace 0.3
+ (slide-topic :title "Interactive Features" :outline? #t
- (itemize
- (item "xlock")
- (item "xeyes")
- (item "xterm")))
+ (slide :title "X11 client" :toc #t :vspace 0.3
- (slide :title "Xclock" :toc #t :vspace 0.3
+ (itemize
+ (item "xlock")
+ (item "xeyes")
+ (item "xterm")))
- (center (sf (underline "The Unix xclock client")))
- (slide-vspace 0.3)
+ (slide :title "Xclock" :toc #t :vspace 0.3
- (slide-pause)
- (slide-embed :command "xlock"
- :alt (frame "Can't run embedded application"))))
+ (center (sf (underline "The Unix xclock client")))
+ (slide-vspace 0.3)
+
+ (slide-pause)
+ (slide-embed :command "xlock"
+ :alt (frame "Can't run embedded application")))))
diff --git a/doc/user/src/start3.skb b/doc/user/src/start3.skb
index 0705966..65fa738 100644
--- a/doc/user/src/start3.skb
+++ b/doc/user/src/start3.skb
@@ -1,9 +1,9 @@
(document :title [Hello World!]
-(section :title [A first Section] [
+(chapter :title [A first Section] [
This is a ,(bold [very]) ,(it [simple]) ,(color :fg [red] [text]).])
-(section :title [A second Section] [
+(chapter :title [A second Section] [
That section contains an ,(bold itemize) construction:
,(itemize (item [first item])
(item [second item])
diff --git a/doc/user/src/start4.skb b/doc/user/src/start4.skb
index 3311925..31fba0c 100644
--- a/doc/user/src/start4.skb
+++ b/doc/user/src/start4.skb
@@ -1,13 +1,13 @@
-(document :title [Various links] [
+(document :title [Various links]
-(section :title "A Section" [
+ (chapter :title "A Section" [
The first link points to an external web page. Here we point to a
,(ref :url [http://slashdot.org/] [Slashdot])
web page. The second one points to the second
,(ref :section [A second Section] [Section])
of that document.])
-(section :title [A second Section] [
+ (chapter :title [A second Section] [
The last links points to the first
,(ref :scribe [user.scr] :figure [A simple web page] [Figure])
-of the Scribe User Manual.])])
+of the Scribe User Manual.]))
diff --git a/doc/user/src/start5.skb b/doc/user/src/start5.skb
index 9e6b877..6977608 100644
--- a/doc/user/src/start5.skb
+++ b/doc/user/src/start5.skb
@@ -6,4 +6,4 @@
(itemize
(map (lambda (x)
(item (it (markup-option x :title))))
- sects))))) \ No newline at end of file
+ sects)))))
diff --git a/doc/user/start.skb b/doc/user/start.skb
index f3c1e28..0835b31 100644
--- a/doc/user/start.skb
+++ b/doc/user/start.skb
@@ -1,26 +1,34 @@
-;*=====================================================================*/
-;* serrano/prgm/project/skribe/doc/user/start.skb */
-;* ------------------------------------------------------------- */
-;* Author : Manuel Serrano */
-;* Creation : Mon Sep 1 11:22:25 2003 */
-;* Last change : Sun Feb 29 16:14:21 2004 (eg) */
-;* Copyright : 2003-04 Manuel Serrano */
-;* ------------------------------------------------------------- */
-;* Getting started with Skribe */
-;*=====================================================================*/
+;;; start.skb -- Getting started with Skribe
+;;;
+;;; Copyright 2003, 2004 Manuel Serrano
+;;;
+;;;
+;;; This program is free software; you can redistribute it and/or modify
+;;; it under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 2 of the License, or
+;;; (at your option) any later version.
+;;;
+;;; This program is distributed in the hope that it will be useful,
+;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with this program; if not, write to the Free Software
+;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+;;; USA.
;*---------------------------------------------------------------------*/
;* Getting started */
;*---------------------------------------------------------------------*/
(chapter :title "Getting Started"
-(p [
-In this chapter, the syntax of a Skribe text is presented ,(emph "informally").
-In particular, the Skribe syntax is compared to the HTML syntax. Then,
-it is presented how one can use Skribe to make dynamic text
-(i.e texts which are generated by the system rather than entered-in by hand.
-Finally, It is also
-presented how Skribe source files can be processed.])
+(p [ In this chapter, the syntax of a Skribe text is presented ,(emph
+"informally"). In particular, the Skribe syntax is compared to the HTML
+syntax. Then, it is presented how one can use Skribe to make dynamic
+text (i.e texts which are generated by the system rather than entered-in
+by hand). Finally, It is also presented how Skribe source files can be
+processed.])
;*--- Hello world -----------------------------------------------------*/
(section :title "Hello World!" [
@@ -148,7 +156,8 @@ often need to generate some repetitive text. Skribe programming skills
can be used to ease the construction of such documents as illustrated below.
,(disp
(itemize
- (map (lambda (x) (item [The square of ,(bold x) is ,(bold (* x x))]))
+ (map (lambda (x)
+ (item [The square of ,(bold x) is ,(bold (* x x))]))
'(1 2 3 4 5 6 7 8 9))))
This text has been generated with the following piece of code
,(prgm :language skribe [
@@ -192,6 +201,5 @@ In order to compile to various formats one must type in:])
,(disp :verb #t [
$ skribe file.skb -o file.html ,(char 35) ,(it "This produces an HTML file.")
$ skribe file.skb -o file.tex ,(char 35) ,(it "This produces a TeX file.")
-$ skribe file.skb -o file.man ,(char 35) ,(it "This produces a man page.")
$ skribe file.skb -o file.info ,(char 35) ,(it "This produces an info page.")
$ skribe file.skb -o file.mgp ,(char 35) ,(it "This produces a MagicPoint document")])]))
diff --git a/doc/user/syntax.skb b/doc/user/syntax.skb
index de60bd9..4b18d33 100644
--- a/doc/user/syntax.skb
+++ b/doc/user/syntax.skb
@@ -1,13 +1,22 @@
-;*=====================================================================*/
-;* serrano/prgm/project/skribe/doc/user/syntax.skb */
-;* ------------------------------------------------------------- */
-;* Author : Manuel Serrano */
-;* Creation : Fri Nov 30 11:55:24 2001 */
-;* Last change : Sun Feb 29 16:14:53 2004 (eg) */
-;* Copyright : 2001-04 Manuel Serrano */
-;* ------------------------------------------------------------- */
-;* The syntax of Skribe */
-;*=====================================================================*/
+;;; syntax.skb -- The syntax of Skribe
+;;;
+;;; Copyright 2001, 2002, 2003, 2004 Manuel Serrano
+;;;
+;;;
+;;; This program is free software; you can redistribute it and/or modify
+;;; it under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 2 of the License, or
+;;; (at your option) any later version.
+;;;
+;;; This program is distributed in the hope that it will be useful,
+;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with this program; if not, write to the Free Software
+;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+;;; USA.
;*---------------------------------------------------------------------*/
;* The Skribe syntax */
diff --git a/doc/user/table.skb b/doc/user/table.skb
index c726d44..0408778 100644
--- a/doc/user/table.skb
+++ b/doc/user/table.skb
@@ -1,13 +1,22 @@
-;*=====================================================================*/
-;* serrano/prgm/project/skribe/doc/user/table.skb */
-;* ------------------------------------------------------------- */
-;* Author : Manuel Serrano */
-;* Creation : Fri Sep 5 13:45:18 2003 */
-;* Last change : Wed Oct 27 12:09:01 2004 (eg) */
-;* Copyright : 2003-04 Manuel Serrano */
-;* ------------------------------------------------------------- */
-;* Skribe tables */
-;*=====================================================================*/
+;;; table.skb -- Skribe tables
+;;;
+;;; Copyright 2003, 2004 Manuel Serrano
+;;;
+;;;
+;;; This program is free software; you can redistribute it and/or modify
+;;; it under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 2 of the License, or
+;;; (at your option) any later version.
+;;;
+;;; This program is distributed in the hope that it will be useful,
+;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with this program; if not, write to the Free Software
+;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+;;; USA.
;*---------------------------------------------------------------------*/
;* Table ... */
@@ -66,6 +75,7 @@ attribute is only supported by HTML engines supporting
(:valign [The vertical alignment of the cell. The value can
be ,(code "top"), ,(code "center"), ,(code "bottom").])
(:colspan [The number of columns that the cell expands to.])
+ (:rowspan [The number of columns that the cell spans over.])
(#!rest node [The value of the cell.]))
:writer-id 'tc
:ignore-args '(m)
diff --git a/doc/user/toc.skb b/doc/user/toc.skb
index aa6c0dc..9650951 100644
--- a/doc/user/toc.skb
+++ b/doc/user/toc.skb
@@ -1,13 +1,22 @@
-;*=====================================================================*/
-;* serrano/prgm/project/skribe/doc/user/toc.skb */
-;* ------------------------------------------------------------- */
-;* Author : Manuel Serrano */
-;* Creation : Wed Sep 3 13:01:03 2003 */
-;* Last change : Fri Sep 12 15:31:14 2003 (serrano) */
-;* Copyright : 2003 Manuel Serrano */
-;* ------------------------------------------------------------- */
-;* Table of contents */
-;*=====================================================================*/
+;;; toc.skb -- Table of contents
+;;;
+;;; Copyright 2003 Manuel Serrano
+;;;
+;;;
+;;; This program is free software; you can redistribute it and/or modify
+;;; it under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 2 of the License, or
+;;; (at your option) any later version.
+;;;
+;;; This program is distributed in the hope that it will be useful,
+;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with this program; if not, write to the Free Software
+;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+;;; USA.
;*---------------------------------------------------------------------*/
;* Sectioning */
@@ -21,6 +30,7 @@
inclusion of chapters in the table of contents.])
(:section [A boolean controlling sections.])
(:subsection [A boolean controlling subsections.])
+ (:subsubsection [A boolean controlling subsubsections.])
(#!rest handle [An optional handle pointing to the node from
which the table of contents if computed.]))
:see-also '(document chapter section resolve handle))
diff --git a/doc/user/user.skb b/doc/user/user.skb
index 07a6e03..5cfe209 100644
--- a/doc/user/user.skb
+++ b/doc/user/user.skb
@@ -1,21 +1,43 @@
-;*=====================================================================*/
-;* 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 */
-;*=====================================================================*/
-
+;;; user.skb -- The Skribilo user manual.
+;;;
+;;; Copyright 2001, 2002, 2003, 2004 Manuel Serrano
+;;; Copyright 2005, 2006 Ludovic Courtès <ludovic.courtes@laas.fr>
+;;;
+;;;
+;;; This program is free software; you can redistribute it and/or modify
+;;; it under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 2 of the License, or
+;;; (at your option) any later version.
+;;;
+;;; This program is distributed in the hope that it will be useful,
+;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with this program; if not, write to the Free Software
+;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+;;; USA.
+
;*---------------------------------------------------------------------*/
;* The Skribe documentation style */
;*---------------------------------------------------------------------*/
-(skribe-load "web-book.skr")
-(skribe-load "skr/env.skr")
-(skribe-load "skr/manual.skr")
-(skribe-load "skr/api.skr")
+(use-modules (skribilo package web-book)
+ (skribilo documentation env)
+ (skribilo documentation manual)
+ (skribilo documentation api))
+
+
+;*---------------------------------------------------------------------*/
+;* Packages */
+;*---------------------------------------------------------------------*/
+(use-modules (skribilo package eq)
+ (skribilo package pie))
+
+;; Load the compile-time configuration file.
+(load "doc-config.scm")
+
+(if %have-ploticus? (set! %ploticus-program %ploticus-path))
;*---------------------------------------------------------------------*/
;* HTML custom */
@@ -26,40 +48,36 @@
(engine-custom-set! he 'body-width 100.))
;*---------------------------------------------------------------------*/
-;* The various indexes */
+;* Lout custom */
;*---------------------------------------------------------------------*/
-(define *markup-index* (make-index "markup"))
-(define *custom-index* (make-index "custom"))
-(define *function-index* (make-index "function"))
-(define *package-index* (make-index "package"))
+(let ((le (find-engine 'lout)))
+ (engine-custom-set! le 'document-type 'doc))
+
;*---------------------------------------------------------------------*/
;* The document */
;*---------------------------------------------------------------------*/
-(document :title "Skribe User Manual"
+(document :title "Skribilo User Manual"
+ :keywords '("Skribilo" "Skribe" "User Manual" "text processing"
+ "HTML" "LaTeX" "Lout" "PostScript" "PDF")
: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*)))
+ :email (mailto *serrano-mail*))
+ (author :name "Ludovic Courtès"
+ :email (mailto *courtes-mail*)))
- (linebreak 1)
- (center (frame (bold (font :size 1. [
-This is the documentation for Skribe version
-,(color :fg "red" (skribe-release)).]))))
- (linebreak 1)
+(p :class "welcome"
+ [Welcome to the User Manual for Skribilo version ,(skribe-release).
+If you are new to Skribilo, please read the ,(ref :ident "intro"
+:text [introduction]) first.])
+
;;; Introduction
-(section :title "Introduction" :number #f :toc #f [
+(chapter :title "Introduction" :ident "intro" :number #f :toc #t :file #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
@@ -68,13 +86,15 @@ 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 [
+ (section :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.])
+any text description languages such as ,(ref :text [LaTeX] :url
+"http://latex-project.org/"), ,(ref :text [Lout] :url
+"http://lout.sf.net/") or HTML.])
- (subsection :title "Why using Skribe?" :number #f [
+ (section :title "Why using Skribe?" :number #f [
There are three main reasons for using Skribe:]
(itemize
@@ -122,6 +142,12 @@ as HTML, Info pages, man pages, Postscript, etc.]))))
;;; Computer programs
(include "prgm.skb")
+;;; Equations
+(include "eq.skb")
+
+;;; Pie charts
+(if %have-ploticus? (include "pie.skb"))
+
;;; Standard Library
(include "lib.skb")
@@ -151,12 +177,12 @@ as HTML, Info pages, man pages, Postscript, etc.]))))
(begin
(chapter :title "Table of contents"
(toc :chapter #t :section #t :subsection #t))
- (section :title "Index" :number #f
+ (chapter :title "Index" :number #f :ident "Index"
(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"
+ (chapter :title "Index" :ident "Index"
(mark "global index")
(the-index :column (if (engine-format? "latex") 2 3)
*markup-index* *custom-index* *function-index* *package-index*
diff --git a/doc/user/xmle.skb b/doc/user/xmle.skb
index 4a1ee78..bd01db3 100644
--- a/doc/user/xmle.skb
+++ b/doc/user/xmle.skb
@@ -1,25 +1,34 @@
-;*=====================================================================*/
-;* serrano/prgm/project/skribe/doc/user/xmle.skb */
-;* ------------------------------------------------------------- */
-;* Author : Manuel Serrano */
-;* Creation : Wed Sep 3 11:20:49 2003 */
-;* Last change : Tue Apr 6 06:27:51 2004 (serrano) */
-;* Copyright : 2003-04 Manuel Serrano */
-;* ------------------------------------------------------------- */
-;* The documentation of the XML engine */
-;*=====================================================================*/
-;; @indent: (put 'doc-engine 'skribe-indent 'skribe-indent-function)@
+;;; xmle.skb -- The documentation of the XML engine
+;;;
+;;; Copyright 2003, 2004 Manuel Serrano
+;;;
+;;;
+;;; This program is free software; you can redistribute it and/or modify
+;;; it under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 2 of the License, or
+;;; (at your option) any later version.
+;;;
+;;; This program is distributed in the hope that it will be useful,
+;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with this program; if not, write to the Free Software
+;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+;;; USA.
+
;*---------------------------------------------------------------------*/
;* Document */
;*---------------------------------------------------------------------*/
-(section :title "Xml engine" :file #t
+(section :title "XML engine" :file #t
(mark "xml-engine")
- (index "Xml" :note "Engine")
- (p [The Xml engine...])
+ (index "XML" :note "Engine")
+ (p [The XML engine...])
- (subsection :title "The Xml customization"
+ (subsection :title "The XML customization"
(doc-engine 'xml
`()
- :source "skr/xml.skr")))
+ :source "skribilo/engine/xml.scm")))