;defaults.ss ;SLaTeX v. 2.3 ;Default database for SLaTeX ;(c) Dorai Sitaram, Rice U., 1991, 1994 (module SLaTeX.) (local keyword-tokens variable-tokens constant-tokens special-symbols macro-definers case-and-ilk tex-analog token=? *slatex-case-sensitive?* *slatex-enabled?* *slatex-reenabler* *intext-triggerers* *resultintext-triggerers* *display-triggerers* *response-triggerers* *box-triggerers* *input-triggerers* *region-triggerers* *math-triggerers* *slatex-in-protected-region?* *protected-files* *include-onlys* *latex?* *slatex-separate-includes?*) (define keyword-tokens (map symbol->string '( ;RnRS (plus some additional Scheme) keywords => % abort and begin begin0 case case-lambda cond define define! define-macro! define-syntax defmacro defrec! delay do else extend-syntax fluid-let if lambda let let* letrec let-syntax letrec-syntax or quasiquote quote rec record-case record-evcase recur set! sigma struct syntax syntax-rules trace trace-lambda trace-let trace-recur unless unquote unquote-splicing untrace when with ))) (define variable-tokens '()) (define constant-tokens '()) (define special-symbols '( ("." . ".") ("..." . "{\\dots}") ("-" . "$-$") ("1-" . "\\va{1$-$}") ("-1+" . "\\va{$-$1$+$}") )) (define macro-definers '("define-syntax" "syntax-rules" "defmacro" "extend-syntax" "define-macro!")) (define case-and-ilk '("case" "record-case")) (define tex-analog (lambda (c) ;;find a TeX string that corresponds to the character c (cond ((memv c '(#\$ #\& #\% #\# #\_)) (string #\\ c)) ;;((char=? c #\#) "{\\sf\\#}") ;;((char=? c #\\) "{\\ttbackslash}") ((memv c '(#\{ #\})) (string #\$ #\\ c #\$)) ((char=? c #\\) "$\\backslash$") ((char=? c #\+) "$+$") ((char=? c #\=) "$=$") ((char=? c #\<) "$\\lt$") ((char=? c #\>) "$\\gt$") ((char=? c #\^) "\\^{}") ((char=? c #\|) "$\\vert$") ;;((char=? c #\~) "\\verb-~-") ((char=? c #\~) "\\~{}") ((char=? c #\@) "{\\atsign}") ((char=? c #\") "{\\tt\\dq}") ((char=? c #\?) "?\\null") ;to avoid sentence-ending space ((char=? c #\!) "!\\null") ;,, (else (string c))))) (define token=? (lambda (t1 t2) ;;tests if t1 and t2 are identical tokens (funcall (if *slatex-case-sensitive?* string=? string-ci=?) t1 t2))) (define *slatex-case-sensitive?* #t) (extract-if (cl) (setq *slatex-case-sensitive?* #f)) (define *slatex-enabled?* #t) (define *slatex-reenabler* "UNDEFINED") (define *intext-triggerers* (list "scheme")) (define *resultintext-triggerers* (list "schemeresult")) (define *display-triggerers* (list "schemedisplay")) (define *response-triggerers* (list "schemeresponse")) (define *respbox-triggerers* (list "schemeresponsebox")) (define *box-triggerers* (list "schemebox")) (define *input-triggerers* (list "schemeinput")) (define *region-triggerers* (list "schemeregion")) (define *math-triggerers* '()) (define *slatex-in-protected-region?* #f) (define *protected-files* '()) (define *include-onlys* 'all) (define *latex?* #t) (define *slatex-separate-includes?* #f)