summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--doc/user/eq.skb77
-rw-r--r--doc/user/src/eq1.skb6
-rw-r--r--doc/user/src/eq2.skb3
-rw-r--r--doc/user/user.skb8
4 files changed, 94 insertions, 0 deletions
diff --git a/doc/user/eq.skb b/doc/user/eq.skb
new file mode 100644
index 0000000..62bd704
--- /dev/null
+++ b/doc/user/eq.skb
@@ -0,0 +1,77 @@
+;;; 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+;;; 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/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/user.skb b/doc/user/user.skb
index f4f6849..fb0c8d2 100644
--- a/doc/user/user.skb
+++ b/doc/user/user.skb
@@ -18,6 +18,11 @@
 (skribe-load "skr/api.skr")
 
 ;*---------------------------------------------------------------------*/
+;*    Packages							       */
+;*---------------------------------------------------------------------*/
+(use-modules (skribilo package eq))
+
+;*---------------------------------------------------------------------*/
 ;*    HTML custom                                                      */
 ;*---------------------------------------------------------------------*/
 ;; since we load slides (for documenting it), we have to use a
@@ -117,6 +122,9 @@ as HTML, Info pages, man pages, Postscript, etc.]))))
 ;;; Computer programs
 (include "prgm.skb")
 
+;;; Equations
+(include "eq.skb")
+
 ;;; Standard Library
 (include "lib.skb")