summary refs log tree commit diff
path: root/doc/user/char.skb
diff options
context:
space:
mode:
Diffstat (limited to 'doc/user/char.skb')
-rw-r--r--doc/user/char.skb86
1 files changed, 86 insertions, 0 deletions
diff --git a/doc/user/char.skb b/doc/user/char.skb
new file mode 100644
index 0000000..85409f0
--- /dev/null
+++ b/doc/user/char.skb
@@ -0,0 +1,86 @@
+;*=====================================================================*/
+;*    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                                  */
+;*=====================================================================*/
+
+;*---------------------------------------------------------------------*/
+;*    Footnote ...                                                     */
+;*---------------------------------------------------------------------*/
+(section :title "Characters, Strings and Symbols" :file #t
+
+;*--- characters ------------------------------------------------------*/
+(subsection :title "Characters"
+
+(p [The function ,(code "char") introduces a ,(emph "character") in
+the produced document. The purpose of this function is to introduce
+escape characters or to introduce characters that cannot be typesetted
+in the document (for instance because the editors does not support
+them). The escapes characters are ,(code (char 91)), ,(code (char 93))
+and ,(code (char 59)).])
+
+(doc-markup 'char
+	    '((char [The character to be introduced. Specified value can be
+a character, a string or an integer]))
+	    :common-args '())
+
+(example-produce
+ (example :legend "Some characters" (prgm :file "src/api19.skb"))
+ (disp (include "src/api19.skb"))))
+
+
+;*--- Strings ---------------------------------------------------------*/
+(subsection :title "Strings"
+
+(p [the function ,(code "!") introduces raw strings in the target.
+That is, the strings introduced by ,(code "!") are written ,(emph "as is"),
+without any transformation from the engine.])
+
+(doc-markup '!
+	    '((format [The format of the command.])
+	      (#!rest node... "The arguments."))
+	    :common-args '())
+
+(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"))))
+
+;*--- Symbols ---------------------------------------------------------*/
+(subsection :title "Symbols"
+
+(p [The function ,(code "symbol") introduces special symbols in the
+produced file. Note that the rendering of symbols is unportable. It depends
+of the capacity of the targeted format.])
+
+(doc-markup 'symbol
+	    '((symbol [The symbol to introduce.]))
+	    :common-args '())
+
+(p [Here is the list of recognized symbols:])
+
+(center
+ (apply table 
+	:width *prgm-width*
+	(tr :class 'api-symbol-prototype (th "Symbol name") (th "Rendering"))
+	(map (lambda (s)
+		(tr :bg  *prgm-skribe-color*
+		    (td :align 'left s)
+		    (td :align 'left (symbol s))))
+	     (sort (let ((t (make-hashtable)))
+		      (for-each (lambda (e)
+				   (for-each (lambda (s)
+						(hashtable-put! t (car s) (car s)))
+					     (engine-symbol-table e)))
+				*api-engines*)
+		      (hashtable->list t))
+		   string<?))))))
+
+