aboutsummaryrefslogtreecommitdiff
path: root/doc/user/emacs.skb
blob: 5e6354bef7e73c654c46fba55cc56bd503d53147 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
;;; emacs.skb  --  Editing Skribilo programs
;;; -*- coding: iso-8859-1 -*-
;;;
;;; Copyright 2008  Ludovic Court�s <ludo@gnu.org>
;;; Copyright 2001, 2002, 2003, 2004  Manuel Serrano
;;;
;;;
;;; This file is part of Skribilo.
;;;
;;; Skribilo 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 3 of the License, or
;;; (at your option) any later version.
;;;
;;; Skribilo 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 Skribilo.  If not, see <http://www.gnu.org/licenses/>.

;;*---------------------------------------------------------------------*/
;;*    Editing Skribilo programs                                        */
;;*---------------------------------------------------------------------*/
(chapter :title [Editing Skribilo Programs]

  (p [Skribilo documents can be typed in.  The ,(tt [outline]) syntax
(see ,(numref :text [Section] :ident "outline-syntax")) can be easily
typed in with any editor, although the Outline and Org modes found in
GNU,(~)Emacs and XEmacs make it more convenient to deal with this
format. For instance, they allow section contents to be hidden,
leaving only the section headings visible; Org Mode can also highlight
forms that denote emphasis, and provide proper display of
Org-Mode-style hyperlinks (well, not surprisingly).])

  (p [When using the Skribe syntax (see ,(numref :text [Section]
:ident "skribe-syntax")), it is highly recommended to use ,(ref :url
*emacs-url* :text "GNU Emacs") or ,(ref :url *xemacs-url* :text
"XEmacs"). In addition to parentheses matching, these editors provide
syntax highlighting (or ``fontification'') through the Skribe Mode
described below.])

  ;;*---------------------------------------------------------------------*/
  ;;*    Skribe emacs mode                                                */
  ;;*---------------------------------------------------------------------*/
  (section :title "Skribe Emacs Mode"

    (index "emacs" :note "skribe mode")

    (p [The Skribilo distribution contains a minor mode dedicated to
Skribe edition originally written by Manuel Serrano.  This mode
provides ,(emph "fontification") and indentation of Skribe programs.
In this manual, we present the two most important key bindings
specific to this mode:

,(itemize (item [,(color :fg "#007700" (kbd "tab")) indents the
current line.])
(item [,(color :fg "#007700" (kbd "M-C-q")) indents a whole Skribe
expression.]))])

    (p [To use the Skribe/Skribilo Emacs mode, you need to tell Emacs
that when the Emacs Lisp ,(tt "skribe-mode") function is needed it has
to be loaded from the ,(tt "skribe.el") file:])


    (disp :verb #t
      (source :language lisp
        [(autoload 'skribe-mode "skribe.el" "Skribe mode." t)]))

    (p [The ,(tt "skribe.el") file must in the path described by the
Emacs Lisp ,(tt "load-path") variable.])

    (p [The ,(code "skribe") mode is a minor mode. It is intended to
be used with a Lisp or Scheme mode. Hence, to use the ,(code "skribe")
mode you will have to use the following Emacs commands:])

    (disp :verb #t (source :language lisp [M-x scheme-mode
M-x skribe-mode]))))

;;; Local Variables:
;;; ispell-local-dictionary: "american"
;;; End: