aboutsummaryrefslogtreecommitdiff
path: root/skribe/doc/user/char.skb
diff options
context:
space:
mode:
Diffstat (limited to 'skribe/doc/user/char.skb')
-rw-r--r--skribe/doc/user/char.skb86
1 files changed, 86 insertions, 0 deletions
diff --git a/skribe/doc/user/char.skb b/skribe/doc/user/char.skb
new file mode 100644
index 0000000..85409f0
--- /dev/null
+++ b/skribe/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<?))))))
+
+