summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-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")