summary refs log tree commit diff
path: root/doc/user
diff options
context:
space:
mode:
authorLudovic Courtes2006-07-23 20:50:31 +0000
committerLudovic Courtes2006-07-23 20:50:31 +0000
commit4758a8261ef5e4a55372a686ae8a50f104292b12 (patch)
treec8a698ae0b194c1e0495c3816c7ba5f8b8ba96a8 /doc/user
parent6d7a8dbae57f06b883bab6e57728d07a9d072c22 (diff)
downloadskribilo-4758a8261ef5e4a55372a686ae8a50f104292b12.tar.gz
skribilo-4758a8261ef5e4a55372a686ae8a50f104292b12.tar.lz
skribilo-4758a8261ef5e4a55372a686ae8a50f104292b12.zip
Added a pie-chart package that can use either Ploticus or Lout.
* doc/user/user.skb: Use the `pie' package and include `pie.skb'.

git-archimport-id: lcourtes@laas.fr--2005-libre/skribilo--devo--1.2--patch-24
Diffstat (limited to 'doc/user')
-rw-r--r--doc/user/pie.skb69
-rw-r--r--doc/user/src/pie1.skb13
-rw-r--r--doc/user/src/pie2.skb14
-rw-r--r--doc/user/user.skb6
4 files changed, 101 insertions, 1 deletions
diff --git a/doc/user/pie.skb b/doc/user/pie.skb
new file mode 100644
index 0000000..2258e62
--- /dev/null
+++ b/doc/user/pie.skb
@@ -0,0 +1,69 @@
+;;; 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 [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/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/user.skb b/doc/user/user.skb
index a8054e3..82e614e 100644
--- a/doc/user/user.skb
+++ b/doc/user/user.skb
@@ -20,7 +20,8 @@
 ;*---------------------------------------------------------------------*/
 ;*    Packages							       */
 ;*---------------------------------------------------------------------*/
-(use-modules (skribilo package eq))
+(use-modules (skribilo package eq)
+	     (skribilo package pie))
 
 ;*---------------------------------------------------------------------*/
 ;*    HTML custom                                                      */
@@ -136,6 +137,9 @@ as HTML, Info pages, man pages, Postscript, etc.]))))
 ;;; Equations
 (include "eq.skb")
 
+;;; Pie charts
+(include "pie.skb")
+
 ;;; Standard Library
 (include "lib.skb")