]> code.delx.au - gnu-emacs-elpa/blob - packages/muse/muse.info
Merge commit '0cda39255827f283e7578cd469ae42daad9556a2' from js2-mode
[gnu-emacs-elpa] / packages / muse / muse.info
1 This is muse.info, produced by makeinfo version 4.13 from muse.texi.
2
3 INFO-DIR-SECTION Emacs
4 START-INFO-DIR-ENTRY
5 * Muse: (muse). Authoring and publishing environment for Emacs.
6 END-INFO-DIR-ENTRY
7
8 This manual is for Emacs Muse version 3.20.
9
10 Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free
11 Software Foundation, Inc.
12
13 Permission is granted to copy, distribute and/or modify this
14 document under the terms of the GNU Free Documentation License,
15 Version 1.2 or any later version published by the Free Software
16 Foundation; with no Invariant Sections, with the Front-Cover texts
17 being "A GNU Manual", and with the Back-Cover Texts as in (a)
18 below. A copy of the license is included in the section entitled
19 "GNU Free Documentation License" in this manual.
20
21 (a) The FSF's Back-Cover Text is: "You have freedom to copy and
22 modify this GNU Manual, like GNU software. Copies published by
23 the Free Software Foundation raise funds for GNU development."
24
25 This document is part of a collection distributed under the GNU
26 Free Documentation License. If you want to distribute this
27 document separately from the collection, you can do so by adding a
28 copy of the license to the document, as described in section 6 of
29 the license.
30
31 All Emacs Lisp code contained in this document may be used,
32 distributed, and modified without restriction.
33
34 \1f
35 File: muse.info, Node: Top, Next: Preface, Prev: (dir), Up: (dir)
36
37 Muse
38 ****
39
40 This manual is for Emacs Muse version 3.20.
41
42 Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free
43 Software Foundation, Inc.
44
45 Permission is granted to copy, distribute and/or modify this
46 document under the terms of the GNU Free Documentation License,
47 Version 1.2 or any later version published by the Free Software
48 Foundation; with no Invariant Sections, with the Front-Cover texts
49 being "A GNU Manual", and with the Back-Cover Texts as in (a)
50 below. A copy of the license is included in the section entitled
51 "GNU Free Documentation License" in this manual.
52
53 (a) The FSF's Back-Cover Text is: "You have freedom to copy and
54 modify this GNU Manual, like GNU software. Copies published by
55 the Free Software Foundation raise funds for GNU development."
56
57 This document is part of a collection distributed under the GNU
58 Free Documentation License. If you want to distribute this
59 document separately from the collection, you can do so by adding a
60 copy of the license to the document, as described in section 6 of
61 the license.
62
63 All Emacs Lisp code contained in this document may be used,
64 distributed, and modified without restriction.
65
66 * Menu:
67
68 * Preface:: About the documentation.
69 * Introduction:: What is Muse?
70 * Obtaining Muse:: How to get Muse releases and development
71 changes.
72 * Installation:: Compiling and installing Muse.
73 * Getting Started:: Setting up Muse and editing files.
74 * Projects:: Creating and managing Muse projects.
75 * Keystroke Summary:: Keys used in Muse mode.
76 * Markup Rules:: Rules for using markup.
77 * Publishing Styles:: Publishing various types of documents.
78 * Extending Muse:: Making your own publishing styles.
79 * Miscellaneous:: Miscellaneous add-ons, like a minor mode.
80 * Getting Help and Reporting Bugs::
81 * History:: History of this document.
82 * Contributors:: Contributors to this documentation.
83 * GNU Free Documentation License:: The license for this documentation.
84 * Concept Index:: Search for terms.
85
86 --- The Detailed Node Listing ---
87
88 How to Get Muse Releases and Development Changes
89
90 * Releases:: Released versions of Muse.
91 * Development:: Latest unreleased development changes.
92
93 Getting Started
94
95 * Loading Muse:: How to load Muse.
96 * Using Muse Mode:: How to edit files in Muse.
97 * Publishing Files Overview:: Publishing a single file or project.
98 * File Extensions:: Using a different file extension.
99
100 Creating and Managing Muse Projects
101
102 * Single Project:: A single-project example.
103 * Multiple Projects:: A multiple-project example.
104 * Projects and Subdirectories:: Publishing subdirectories in projects.
105 * Options for Projects:: Listing of available options for projects.
106
107 Rules for Using Markup
108
109 * Paragraphs:: Paragraphs: centering and quoting.
110 * Headings:: Levels of headings.
111 * Directives:: Directives at the beginning of a
112 document.
113 * Emphasizing Text:: Bold, italicized, and underlined text.
114 * Footnotes:: Making notes to be shown at the end.
115 * Verse:: Indicating poetic stanzas.
116 * Lists:: Lists of items.
117 * Tables:: Generation of data tables.
118 * Explicit Links:: Hyperlinks and email addresses with
119 descriptions.
120 * Implicit Links:: Bare URLs, WikiNames, and InterWiki
121 links.
122 * Images:: Publishing and displaying images.
123 * Horizontal Rules and Anchors:: Inserting a horizontal line or anchor.
124 * Embedded Lisp:: Evaluating Emacs Lisp code in documents
125 for extensibility.
126 * Citations:: Support for citing other resources.
127 * Comments:: Lines to omit from published output.
128 * Tag Summary:: Tags that Muse recognizes.
129
130 Publishing Various Types of Documents
131
132 * Blosxom:: Integrating Muse and pyblosxom.cgi.
133 * Book:: Publishing entries into a compilation.
134 * ConTeXt:: Publishing ConTeXt documents.
135 * DocBook:: Publishing in DocBook XML form.
136 * HTML:: Publishing in HTML or XHTML form.
137 * Ikiwiki:: Integrating with ikiwiki.
138 * Journal:: Keeping a journal or blog.
139 * LaTeX:: Publishing LaTeX documents.
140 * Poem:: Publish a poem to LaTeX or PDF.
141 * Texinfo:: Publish entries to Texinfo format or PDF.
142 * XML:: Publish entries to XML.
143
144 Integrating Muse and pyblosxom.cgi
145
146 * Blosxom Requirements:: Other tools needed for the Blosxom style.
147 * Blosxom Entries:: Format of a Blosxom entry and automation.
148 * Blosxom Options:: Blosxom styles and options provided.
149
150 Making your own publishing styles
151
152 * Markup Functions:: Specifying functions to mark up text.
153 * Markup Regexps:: Markup rules for publishing.
154 * Markup Strings:: Strings specific to a publishing style.
155 * Markup Tags:: Tag specifications for special markup.
156 * Style Elements:: Parameters used for defining styles.
157 * Deriving Styles:: Deriving a new style from an existing
158 one.
159
160 Miscellaneous add-ons, like a minor mode
161
162 * Muse List Edit Minor Mode:: Edit lists easily in other major modes.
163
164 \1f
165 File: muse.info, Node: Preface, Next: Introduction, Prev: Top, Up: Top
166
167 1 About the documentation
168 *************************
169
170 This document describes Muse, which was written by John Wiegley and is
171 now maintained by Michael Olson. Several versions of this manual are
172 available on-line.
173
174 * PDF: http://mwolson.org/static/doc/muse.pdf
175
176 * HTML (single file): http://mwolson.org/static/doc/muse.html
177
178 * HTML (multiple files): http://mwolson.org/static/doc/muse/
179
180 \1f
181 File: muse.info, Node: Introduction, Next: Obtaining Muse, Prev: Preface, Up: Top
182
183 2 What is Muse?
184 ***************
185
186 Emacs Muse (also known as "Muse" or "Emacs-Muse") is an authoring and
187 publishing environment for Emacs. It simplifies the process of writing
188 documents and publishing them to various output formats.
189
190 Muse consists of two main parts: an enhanced text-mode for authoring
191 documents and navigating within Muse projects, and a set of publishing
192 styles for generating different kinds of output.
193
194 What makes Muse distinct from other text-publishing systems is a
195 modular environment, with a rather simple core, in which "styles" are
196 derived from to create new styles. Much of Muse's overall
197 functionality is optional. For example, you can use the publisher
198 without the major-mode, or the mode without doing any publishing; or if
199 you don't load the Texinfo or LaTeX modules, those styles won't be
200 available.
201
202 The Muse codebase is a departure from emacs-wiki.el version 2.44. The
203 code has been restructured and rewritten, especially its publishing
204 functions. The focus in this revision is on the authoring and
205 publishing aspects, and the "wikiness" has been removed as a default
206 behavior (available in the optional `muse-wiki' module). CamelCase
207 words are no longer special by default.
208
209 One of the principal aims in the development of Muse is to make it
210 very easy to produce good-looking, standards-compliant documents.
211
212 \1f
213 File: muse.info, Node: Obtaining Muse, Next: Installation, Prev: Introduction, Up: Top
214
215 3 How to Get Muse Releases and Development Changes
216 **************************************************
217
218 * Menu:
219
220 * Releases:: Released versions of Muse.
221 * Development:: Latest unreleased development changes.
222
223 \1f
224 File: muse.info, Node: Releases, Next: Development, Prev: Obtaining Muse, Up: Obtaining Muse
225
226 3.1 Released versions of Muse
227 =============================
228
229 Choose to install a release if you want to minimize risk.
230
231 Errors are corrected in development first. User-visible changes
232 will be announced on the <muse-el-discuss@gna.org> mailing list. *Note
233 Getting Help and Reporting Bugs::.
234
235 Debian users can get Muse via apt-get. The `muse-el' package is
236 available both at Michael Olson's APT repository and the official Debian
237 repository. To make use of the former, add the following line to your
238 `/etc/apt/sources.list' file and run `apt-get install muse'.
239
240 deb http://mwolson.org/debian/ ./
241
242 Ubuntu users can also get Muse via apt-get. The `muse-el' package
243 is available both at Michael Olson's APT repository and the official
244 Ubuntu repository. To make use of the former, add the following line to
245 your `/etc/apt/sources.list' file and run `apt-get install muse'.
246
247 deb http://mwolson.org/ubuntu/ ./
248
249 The reason for making separate Debian and Ubuntu packages is that
250 this manual is under the GFDL, and Debian will not allow it to be
251 distributed in its main repository. Ubuntu, on the other hand, permits
252 this manual to be included with the `muse-el' package.
253
254 Alternatively, you can download the latest release from
255 `http://download.gna.org/muse-el/' .
256
257 \1f
258 File: muse.info, Node: Development, Prev: Releases, Up: Obtaining Muse
259
260 3.2 Latest unreleased development changes
261 =========================================
262
263 Choose the development version if you want to live on the bleeding edge
264 of Muse development or try out new features before release.
265
266 The git version control system allows you to keep up-to-date with the
267 latest changes to the development version of Muse. It also allows you
268 to contribute changes (via commits, if you are have developer access to
269 the repository, or via patches, otherwise). If you would like to
270 contribute to Muse development, it is highly recommended that you use
271 git.
272
273 If you are new to git, you might find this tutorial helpful:
274 `http://www.kernel.org/pub/software/scm/git/docs/tutorial.html'.
275
276 Downloading the Muse module with git and staying up-to-date involves
277 the following steps.
278
279 1. Install git.
280
281 * Debian and Ubuntu: `apt-get install git-core'.
282
283 * Windows: `http://git.or.cz/gitwiki/WindowsInstall'.
284
285 * Other operating systems: download, compile, and install the
286 source from `http://www.kernel.org/pub/software/scm/git/', or
287 find a git package for your operating system.
288
289 2. Download the Muse development branch.
290
291 If you have developer access to Muse, do:
292
293 git clone ssh://repo.or.cz/srv/git/muse-el.git muse
294
295 otherwise, do:
296
297 git clone git://repo.or.cz/muse-el.git muse
298
299 If you are behind a restrictive firewall, and do not have developer
300 access, then do the following instead:
301
302 git clone http://repo.or.cz/r/muse-el.git muse
303
304 3. List upstream changes that are missing from your local copy. Do
305 this whenever you want to see whether new changes have been
306 committed to Muse. If you wish, you may skip this step and
307 proceed directly to the "update" step.
308
309 # Change to the source directory you are interested in.
310 cd muse
311
312 # Fetch new changes from the repository, but don't apply them yet
313 git fetch origin
314
315 # Display log messages for the new changes
316 git log HEAD..origin
317
318 "origin" is git's name for the location where you originally got
319 Muse from. You can change this location at any time by editing the
320 `.git/config' file in the directory where the Muse source was
321 placed.
322
323 4. Update to the latest version by pulling in any missing changes.
324
325 cd muse
326 git pull origin
327
328 git will show how many files changed, and will provide a visual
329 display for how many lines were changed in each file.
330
331
332 There are other ways to interact with the Muse repository.
333
334 * Browse git repo: `http://repo.or.cz/w/muse-el.git'
335
336 * Latest development snapshot:
337 `http://mwolson.org/static/dist/muse-latest.tar.gz'
338
339 * Latest development snapshot (zip file):
340 `http://mwolson.org/static/dist/muse-latest.zip'
341
342 The latest development snapshot can lag behind the git repo by as
343 much as 20 minutes, but never more than that.
344
345 Becoming a Muse developer
346 -------------------------
347
348 If you want commit access to the shared Muse repository, then register
349 an account at `http://repo.or.cz' (be sure to add an SSH key), and
350 contact the current maintainer at <mwolson@gnu.org>. It would be best
351 to send some patches to the <muse-el-discuss@gna.org> mailing list
352 first, so that he knows that you know what you are doing. *Note
353 Getting Help and Reporting Bugs::, for instructions on subscribing to
354 the mailing list.
355
356 You must also be willing to sign a copyright assignment for your
357 changes to Muse, since Muse is a GNU project. The current maintainer
358 will assist you in this process if you contact him.
359
360 For information on committing changes to Muse and performing
361 development, please consult
362 `http://emacswiki.org/cgi-bin/wiki/MuseDevelopment'.
363
364 \1f
365 File: muse.info, Node: Installation, Next: Getting Started, Prev: Obtaining Muse, Up: Top
366
367 4 Compiling and Installing Muse
368 *******************************
369
370 Muse may be compiled and installed on your machine.
371
372 Compilation
373 -----------
374
375 This is an optional step, since Emacs Lisp source code does not
376 necessarily have to be byte-compiled. Byte-compilation may yield a very
377 slight speed increase.
378
379 A working copy of Emacs or XEmacs is needed in order to compile Emacs
380 Muse. By default, the program that is installed with the name `emacs'
381 will be used.
382
383 If you want to use the `xemacs' binary to perform the compilation,
384 you must copy `Makefile.defs.default' to `Makefile.defs' in the
385 top-level directory, and then edit `Makefile.defs' as follows. You can
386 put either a full path to an Emacs or XEmacs binary or just the command
387 name, as long as it is in the `PATH'.
388
389 EMACS = xemacs
390 SITEFLAG = -no-site-file
391 # Edit the section as necessary
392 install_info = install-info --section "XEmacs 21.4" $(1).info \
393 $(INFODIR)/dir || :
394
395 Running `make' in the top-level directory should compile the Muse
396 source files in the `lisp' directory, and generate an autoloads file in
397 `lisp/muse-autoloads.el'.
398
399 Installation
400 ------------
401
402 Muse may be installed into your file hierarchy by doing the following.
403
404 Copy `Makefile.defs.default' to `Makefile.defs' in the top-level
405 directory, if you haven't done so already. Then edit the
406 `Makefile.defs' file so that `ELISPDIR' points to where you want the
407 source and compiled Muse files to be installed and `INFODIR' indicates
408 where to put the Muse manual. You may use a combination of `DESTDIR'
409 and `PREFIX' to further determine where the installed files should be
410 placed. As mentioned earlier, you will want to edit `EMACS' and
411 `SITEFLAG' as shown in the Compilation section if you are using XEmacs.
412
413 If you are installing Muse on a Debian or Ubuntu system, you might
414 want to change the value of `INSTALLINFO' as specified in
415 `Makefile.defs'.
416
417 If you wish to install Muse to different locations than the defaults
418 specify, edit `Makefile.defs' accordingly.
419
420 Run `make' as a normal user, if you haven't done so already.
421
422 Run `make install' as the root user if you have chosen installation
423 locations that require root permissions.
424
425 ELPA
426 ----
427
428 For those used to installing software packages, there will be a `muse'
429 package available in the Emacs Lisp Package Archive (abbreviated
430 "ELPA") as of the 3.10 release of Muse. This package will be compiled
431 and installed automatically in a user-specific location. For more
432 information on ELPA, see `http://tromey.com/elpa/'.
433
434 \1f
435 File: muse.info, Node: Getting Started, Next: Projects, Prev: Installation, Up: Top
436
437 5 Getting Started
438 *****************
439
440 * Menu:
441
442 * Loading Muse:: How to load Muse.
443 * Using Muse Mode:: How to edit files in Muse.
444 * Publishing Files Overview:: Publishing a single file or project.
445 * File Extensions:: Using a different file extension.
446
447 \1f
448 File: muse.info, Node: Loading Muse, Next: Using Muse Mode, Prev: Getting Started, Up: Getting Started
449
450 5.1 How to Load Muse
451 ====================
452
453 To use Muse, add the directory containing its files to your `load-path'
454 variable, in your `.emacs' file. Then, load in the authoring mode, and
455 the styles you wish to publish to. An example follows.
456
457 (add-to-list 'load-path "<path to Muse>")
458
459 (require 'muse-mode) ; load authoring mode
460
461 (require 'muse-html) ; load publishing styles I use
462 (require 'muse-latex)
463 (require 'muse-texinfo)
464 (require 'muse-docbook)
465
466 (require 'muse-project) ; publish files in projects
467
468 An easy way of seeing which settings are available and changing
469 settings is to use the Muse customization interface. To do this, type
470 `M-x customize-group muse RET'. Each of the options has its own
471 documentation. Options are grouped logically according to what effect
472 they have.
473
474 \1f
475 File: muse.info, Node: Using Muse Mode, Next: Publishing Files Overview, Prev: Loading Muse, Up: Getting Started
476
477 5.2 How to Edit Files in Muse
478 =============================
479
480 Muse Mode should automatically be activated when you visit a file with a
481 ".muse" extension. One such file is `QuickStart.muse', which is
482 available in the `examples' directory of the Muse distribution. You
483 can tell that Muse Mode has been activated by checking for the text
484 "Muse" in your mode line. If Muse Mode has not been activated, you may
485 activate it by type `M-x muse-mode RET'.
486
487 You will notice that Muse files are highlighted very simply. Links
488 are colored blue, headings are large and bold text, and <example> tags
489 are colored in grey.
490
491 There are several different ways to edit things like links, which
492 hide the underlying Muse markup. One way is to toggle font-locking off
493 by hitting `C-c C-l', which is also `M-x font-lock-mode', make changes,
494 and then hit `C-c C-l' again to toggle font-locking back on. Another
495 way is just to move into the text and edit it. Markup can also be
496 removed by normal deletion methods, though some side effects might
497 require a second deletion.
498
499 For the particular case of editing links, it is easiest to move to
500 the link and do `C-c C-e', which is also `M-x muse-edit-link-at-point'.
501 This prompts you for the link and its description, using the previous
502 contents of the link as initial values. A link to another Muse file
503 may be created by hitting `C-c TAB l'. A link to a URL may be created
504 by hitting `C-c TAB u'. Links may be followed by hitting `RET' on them.
505
506 If you want to add a new list item, this may by accomplished by
507 hitting `M-RET'. This will put a dash and some spaces on the screen.
508 The dash is the Muse markup that indicates a list item. It is also
509 possible to created "nested" lists with this command, by adjusting the
510 number of spaces in front of the dashes. If you have lists with long
511 lines, you can move to a list item and hit `M-q' to wrap it onto
512 multiple lines.
513
514 \1f
515 File: muse.info, Node: Publishing Files Overview, Next: File Extensions, Prev: Using Muse Mode, Up: Getting Started
516
517 5.3 Publishing a Single File or Project
518 =======================================
519
520 The command `M-x muse-project-publish-this-file' will publish the
521 current document to any available publishing style (a publishing style
522 is an output format, like HTML or Docbook), placing the output in the
523 current directory. If you are in Muse Mode, this command will be bound
524 to `C-c C-t'. If the file has been published recently, and its
525 contents have not changed, running `C-c C-t' again will not publish the
526 file. To force publishing in this case, do `C-u C-c C-t'.
527
528 If you have set up projects and are visiting a file that is part of a
529 project, then `C-c C-t' will restrict the output formats to those which
530 are used by the project, and will automatically publish to the output
531 directory defined by the project. If you want to publish to a
532 different directory or use a different format, then use `C-c M-C-t',
533 which is also `M-x muse-publish-this-file'.
534
535 If the currently opened file is part of a defined project in
536 `muse-project-alist', it (and the rest of the changed files in a
537 project) may be published using `C-c C-p'.
538
539 \1f
540 File: muse.info, Node: File Extensions, Prev: Publishing Files Overview, Up: Getting Started
541
542 5.4 Using a Different File Extension
543 ====================================
544
545 By default, Muse expects all project files to have the file extension
546 `.muse'. Files without this extension will not be associated with Muse
547 mode and will not be considered part of any project, even if they are
548 within a project directory.
549
550 If you don't want to use `.muse', you can customize the extension by
551 setting the value of `muse-file-extension'.
552
553 If you don't want to use any extension at all, and want Muse to
554 autodetect project files based on their location, then add the following
555 to your Muse settings file.
556
557 (setq muse-file-extension nil
558 muse-mode-auto-p t)
559
560 Note that if you chose to have `muse-file-extension' set to `nil',
561 you may have trouble if your `.emacs' file or other init scripts
562 attempt to visit a Muse file. (A very common example of this is if you
563 use Planner with Muse and run `(plan)' from your `.emacs'.) If you
564 wish to visit Muse files from your `.emacs', be sure to also add the
565 following additional code before any such visits happen:
566
567 (add-hook 'find-file-hooks 'muse-mode-maybe)
568
569 \1f
570 File: muse.info, Node: Projects, Next: Keystroke Summary, Prev: Getting Started, Up: Top
571
572 6 Creating and Managing Muse Projects
573 *************************************
574
575 Often you will want to publish all the files within a directory to a
576 particular set of output styles automatically. To support, Muse allows
577 for the creation of "projects".
578
579 * Menu:
580
581 * Single Project:: A single-project example.
582 * Multiple Projects:: A multiple-project example.
583 * Projects and Subdirectories:: Publishing subdirectories in projects.
584 * Options for Projects:: Listing of available options for projects.
585
586 \1f
587 File: muse.info, Node: Single Project, Next: Multiple Projects, Prev: Projects, Up: Projects
588
589 6.1 A Single-Project Example
590 ============================
591
592 Here is a sample project, which may be defined in your `.emacs' file.
593
594 (setq muse-project-alist
595 '(("Website" ("~/Pages" :default "index")
596 (:base "html" :path "~/public_html")
597 (:base "pdf" :path "~/public_html/pdf"))))
598
599 The above defines a project named "website", whose files are located
600 in the directory `~/Pages'. The default page to visit is `index'.
601 When this project is published, each page will be output as HTML to the
602 directory `~/public_html', and as PDF to the directory
603 `~/public_html/pdf'. Within any project page, you may create a link to
604 other pages using the syntax `[[pagename]]'.
605
606 If you would like to include only some files from a directory in a
607 Muse project, you may use a regexp in place of `~/Pages' in the example.
608
609 \1f
610 File: muse.info, Node: Multiple Projects, Next: Projects and Subdirectories, Prev: Single Project, Up: Projects
611
612 6.2 A Multiple-Project Example
613 ==============================
614
615 It is possible to specify multiple projects. Here is an example of
616 three projects: a generic website, a projects area, and a day-planner
617 (the day-planner part requires Planner Mode--see
618 `http://wjsullivan.net/PlannerMode.html' to get it).
619
620 (setq muse-project-alist
621 '(("Website" ("~/Pages" :default "index")
622 (:base "html" :path "~/public_html"))
623 (("Projects" ("~/Projects" :default "index")
624 (:base "xhtml"
625 :path "~/public_html/projects"
626 :exclude "/TopSecret")
627 (:base "pdf"
628 :path "~/public_html/projects/pdf"
629 :exclude "/TopSecret")))
630 ("Plans" ("~/Plans"
631 :default "TaskPool"
632 :major-mode planner-mode
633 :visit-link planner-visit-link)
634 (:base "planner-xhtml"
635 :path "~/public_html/plans"))))
636
637 The `:major-mode' attribute specifies which major to use when
638 visiting files in this directory.
639
640 The `:visit-link' attribute specifies the function to call when
641 visiting links.
642
643 The `:exclude' attribute has a regexp that matches files to never
644 publish.
645
646 \1f
647 File: muse.info, Node: Projects and Subdirectories, Next: Options for Projects, Prev: Multiple Projects, Up: Projects
648
649 6.3 Publishing Subdirectories in Projects
650 =========================================
651
652 If you want to publish a directory and all of its subdirectories, Muse
653 provides two convenience functions that together generate the proper
654 rules for you. Note that we use the backtick to begin this
655 muse-project-alist definition, rather than a single quote.
656
657 (setq muse-project-alist
658 `(("Website" ("~/Pages" :default "index")
659 (:base "html" :path "~/public_html"))
660 ("Blog" (,@(muse-project-alist-dirs "~/Blog")
661 :default "index")
662 ;; Publish this directory and its subdirectories. Arguments
663 ;; are as follows. The above `muse-project-alist-dirs' part
664 ;; is also needed.
665 ;; 1. Source directory
666 ;; 2. Output directory
667 ;; 3. Publishing style
668 ;; remainder: Other things to put in every generated style
669 ,@(muse-project-alist-styles "~/Blog"
670 "~/public_html/blog"
671 "blosxom"))))
672
673 The `muse-project-alist-dirs' function takes a directory and returns
674 it and all of its subdirectories in a list.
675
676 The `muse-project-alist-styles' function is explained by the
677 comments above.
678
679 The "blosxom" text is the name of another publishing style, much like
680 "html". *Note Blosxom::, for further information about it. You can
681 use any publishing style you like for the third argument to
682 `muse-project-alist-styles'.
683
684 \1f
685 File: muse.info, Node: Options for Projects, Prev: Projects and Subdirectories, Up: Projects
686
687 6.4 Listing of Available Options for Projects
688 =============================================
689
690 This is a listing of all of the various options (or, more accurately:
691 attributes) that may be specified in `muse-project-alist'.
692
693 Each muse-project-alist entry looks like this:
694
695 (PROJECT-NAME (SOURCES)
696 OUTPUTS)
697
698 We refer to these names below.
699
700 "Attributes", which compose SOURCES and OUTPUTS, are a pair of
701 values. The first value is a keyword, like `:default'. The second part
702 is the value associated with that keyword, such as the text "index".
703 If you are familiar with Emacs Lisp property lists, the concept is
704 similar to that, except that in the SOURCES section, single directories
705 can be interspersed with two-value attributes.
706
707 Project Name
708 ------------
709
710 This is a string that indicates the name of the project. It is
711 primarily used for publishing interwiki links with the `muse-wiki.el'
712 module.
713
714 Sources
715 -------
716
717 This part of a muse-project-alist entry consists of two-value
718 attributes, and also directory names. If you are publishing a book, the
719 order of directories and attributes is significant.
720
721 The minimal content for the sources section is a list of directories.
722
723 `:book-chapter'
724 Indicates a new chapter of a book. The text of the title of the
725 chapter comes immediately after this keyword.
726
727 `:book-end'
728 Indicates the end of a book. Directories listed after this one are
729 ignored when publishing a book. The value "t" (without quotes)
730 should come immediately after this keyword.
731
732 `:book-funcall'
733 A function to call while publishing a book. This is useful for
734 doing something just after a particular chapter.
735
736 `:book-part'
737 Indicates the beginning of a new part of the book. The text of the
738 title should come immediately after this keyword.
739
740 `:book-style'
741 Indicate a particular publishing style to use for this part of the
742 book. If this is specified, it should come just after a `:part'
743 attribute.
744
745 `:default'
746 The default page to visit when browsing a project. Also, if you
747 are using the `muse-wiki.el' module, publishing a link to just a
748 project's name will cause it to link to this default file.
749
750 `:force-publish'
751 This specifies a list of pages which should be published every
752 time a project is published (by using `C-c C-p', for example),
753 regardless of whether their contents have changed. This is useful
754 for updating Index pages, pages that use the <include> tag, and
755 other pages that have dynamically-generated content.
756
757 `:major-mode'
758 This specifies the major mode to use when visiting files in this
759 project. The default is `muse-mode'.
760
761 `:nochapters'
762 This indicates that while publishing a book, do not automatically
763 create chapters. Values which may follow this are nil (the
764 default, which means that we automatically create chapters), or
765 non-nil, which means that we manually specify chapters with the
766 `:book-chapter' attribute,
767
768 `:publish-project'
769 Indicates which function we should call when publishing a project.
770
771 `:set'
772 This specifies a list of variables and values to set when
773 publishing a project. The list should be a property list, which
774 is in the form:
775
776 (VAR1 VALUE1 VAR2 VALUE2 ...)
777
778 `:visit-link'
779 Specifies the function to call when visiting a link. The default
780 is `muse-visit-link-default'. The arguments for that function
781 should be (1) the link and (2) whether to visit the link in a new
782 window.
783
784
785 Outputs
786 -------
787
788 This part of a muse-project-alist entry is composed of lists of
789 attributes. Each list is called an "output style".
790
791 The minimal content for an output style is a `:base' attribute and a
792 `:path' attribute.
793
794 `:base'
795 Publishing style to use, such as "html", "docbook", or "pdf".
796
797 `:base-url'
798 An external URL which can be used to access published files. This
799 is mainly used by the `muse-wiki' module when publishing links
800 between two separate projects, if the projects are served on
801 different domains.
802
803 It is also used by the `muse-journal' module to create the RSS or
804 RDF output.
805
806 `:exclude'
807 Exclude items matching a regexp from being published. The regexp
808 should usually begin with "/".
809
810 `:include'
811 Only include items matching a regexp when publishing. The regexp
812 should usually begin with "/".
813
814 `:path'
815 The directory in which to store published files.
816
817 `:timestamps'
818 A file containing the timestamps (that is, time of creation) for
819 files in this project. It might eventually used by the
820 `muse-blosxom' module, but this option is not currently in use by
821 any Muse code.
822
823
824 \1f
825 File: muse.info, Node: Keystroke Summary, Next: Markup Rules, Prev: Projects, Up: Top
826
827 7 Keys Used in Muse Mode
828 ************************
829
830 This is a summary of keystrokes available in every Muse buffer.
831
832 `C-c C-a (`muse-index')'
833 Display an index of all known Muse pages.
834
835 `C-c C-b (`muse-find-backlinks')'
836 Find all pages that link to this page.
837
838 `C-c C-e (`muse-edit-link-at-point')'
839 Edit link at point.
840
841 `C-c C-f (`muse-project-find-file')'
842 Open another Muse page. Prompt for the name.
843
844 `C-c C-i l, C-c TAB l (`muse-insert-relative-link-to-file')'
845 Insert a link to a file interactively.
846
847 `C-c C-i t, C-c TAB t (`muse-insert-tag')'
848 Insert a tag interactively.
849
850 `C-c C-i u, C-c TAB u (`muse-insert-url')'
851 Insert a URL interactively.
852
853 `C-c C-l (`font-lock-mode')'
854 Toggle font lock / highlighting for the current buffer.
855
856 `C-c C-p (`muse-project-publish')'
857 Publish any Muse pages that have changed.
858
859 `C-c C-s (`muse-search')'
860 Find text in all files of the current project.
861
862 `C-c C-t (`muse-project-publish-this-file')'
863 Publish the currently-visited file. Prompt for the style if the
864 current file can be published using more than one style.
865
866 `C-c C-S-t, or C-c C-M-t (`muse-publish-this-file')'
867 Publish the currently-visited file. Prompt for both the style and
868 output directory.
869
870 `C-c C-v (`muse-browse-result')'
871 Show the published result of this page.
872
873 `C-c = (`muse-what-changed')'
874 Diff this page against the last backup version.
875
876 `TAB'
877 Move to the next Wiki reference.
878
879 `S-TAB'
880 Move to the previous Wiki reference.
881
882 `M-TAB'
883 Complete the name of a page from the current project at point.
884
885 `M-RET'
886 Insert a new list item at point, indenting properly.
887
888 `C-<'
889 Decrease the indentation of the list item at point.
890
891 `C->'
892 Increase the indentation of the list item at point.
893
894 `M-x muse-colors-toggle-inline-images RET'
895 Toggle display of inlined images on/off.
896
897 `M-x muse-update-values RET'
898 Update various values that are automatically generated.
899
900 Call this after changing `muse-project-alist'.
901
902 \1f
903 File: muse.info, Node: Markup Rules, Next: Publishing Styles, Prev: Keystroke Summary, Up: Top
904
905 8 Rules for Using Markup
906 ************************
907
908 A Muse document uses special, contextual markup rules to determine how
909 to format the output result. For example, if a paragraph is indented,
910 Muse assumes it should be quoted.
911
912 There are not too many markup rules, and all of them strive to be as
913 simple as possible so that you can focus on document creation, rather
914 than formatting.
915
916 * Menu:
917
918 * Paragraphs:: Paragraphs: centering and quoting.
919 * Headings:: Levels of headings.
920 * Directives:: Directives at the beginning of a
921 document.
922 * Emphasizing Text:: Bold, italicized, and underlined text.
923 * Footnotes:: Making notes to be shown at the end.
924 * Verse:: Indicating poetic stanzas.
925 * Lists:: Lists of items.
926 * Tables:: Generation of data tables.
927 * Explicit Links:: Hyperlinks and email addresses with
928 descriptions.
929 * Implicit Links:: Bare URLs, WikiNames, and InterWiki
930 links.
931 * Images:: Publishing and displaying images.
932 * Horizontal Rules and Anchors:: Inserting a horizontal line or anchor.
933 * Embedded Lisp:: Evaluating Emacs Lisp code in documents
934 for extensibility.
935 * Citations:: Support for citing other resources.
936 * Comments:: Lines to omit from published output.
937 * Tag Summary:: Tags that Muse recognizes.
938
939 \1f
940 File: muse.info, Node: Paragraphs, Next: Headings, Prev: Markup Rules, Up: Markup Rules
941
942 8.1 Paragraphs: centering and quoting
943 =====================================
944
945 Paragraphs in Muse must be separated by a blank line.
946
947 Centered paragraphs and quotations
948 ----------------------------------
949
950 A line that begins with six or more columns of whitespace (either tabs
951 or spaces) indicates a centered paragraph. Alternatively, you can use
952 the <center> tag to surround regions that are to be published as
953 centered paragraphs.
954
955 But if a line begins with whitespace, though less than six columns,
956 it indicates a quoted paragraph. Alternatively, you can use the
957 <quote> tag to surround regions that are to be published as quoted
958 paragraphs.
959
960 Literal paragraphs
961 ------------------
962
963 The <example> tag is used for examples, where whitespace should be
964 preserved, the text rendered in monospace, and any characters special
965 to the output style escaped.
966
967 There is also the <literal> tag, which causes a marked block to be
968 entirely left alone. This can be used for inserting a hand-coded HTML
969 blocks into HTML output, for example.
970
971 If you want some text to only be inserted when publishing to a
972 particular publishing style, use the `style' attribute for the
973 <literal> tag. An example follows.
974
975 <literal style="latex">
976 A LaTeX-based style was used in the publishing of this document.
977 </literal>
978
979 This will leave the region alone if the current publishing style is
980 "latex" or based on "latex", such as "pdf", and delete the region
981 otherwise. It is also possible to leave the text alone only for one
982 particular style, rather than its derivations, by adding `exact="t"' to
983 the tag.
984
985 Line breaks
986 -----------
987
988 If you need a line break, then use the `<br>' tag. Most of the time
989 this tag is unnecessary, because Muse will automatically detect
990 paragraphs by means of blank lines. If you want to preserve newlines in
991 several lines of text, then use verse markup instead (*note Verse::).
992
993 \1f
994 File: muse.info, Node: Headings, Next: Directives, Prev: Paragraphs, Up: Markup Rules
995
996 8.2 Levels of headings
997 ======================
998
999 A heading becomes a chapter or section in printed output - depending on
1000 the style. To indicate a heading, start a new paragraph with one or
1001 more asterices, followed by a space and the heading title. Then begin
1002 another paragraph to enter the text for that section.
1003
1004 All levels of headings will be published. Most publishing styles
1005 only distinguish the between the first 4 levels, however.
1006
1007 * First level
1008
1009 ** Second level
1010
1011 *** Third level
1012
1013 **** Fourth level
1014
1015 \1f
1016 File: muse.info, Node: Directives, Next: Emphasizing Text, Prev: Headings, Up: Markup Rules
1017
1018 8.3 Directives at the beginning of a document
1019 =============================================
1020
1021 Directives are lines beginning with the `#' character that come before
1022 any paragraphs or sections in the document. Directives are of the form
1023 "#directive content of directive". You can use any combination of
1024 uppercase and lowercase letters for directives, even if the directive
1025 is not in the list below.
1026
1027 The `muse-publishing-directive' function may be used in header and
1028 footer text to access directives. For example, to access the `#title'
1029 directive, use `(muse-publishing-directive "title")'.
1030
1031 The following is a list of directives that Muse uses.
1032
1033 `#author'
1034 The author of this document.
1035
1036 If this is not specified, Muse will attempt to figure it out from
1037 the `user-full-name' variable.
1038
1039 `#date'
1040 The date that the document was last modified.
1041
1042 This is used by publishing styles that are able to embed the date
1043 information.
1044
1045 `#desc'
1046 A short description of this document.
1047
1048 This is used by the `journal' publishing style to embed information
1049 inside of an RSS/RDF feed.
1050
1051 `#title'
1052 The title of this document.
1053
1054 If this is not specified, the name of the file is used.
1055
1056
1057 \1f
1058 File: muse.info, Node: Emphasizing Text, Next: Footnotes, Prev: Directives, Up: Markup Rules
1059
1060 8.4 Bold, italicized, and underlined text
1061 =========================================
1062
1063 To emphasize text, surround it with certain specially recognized
1064 characters.
1065
1066 *emphasis*
1067 **strong emphasis**
1068 ***very strong emphasis***
1069 _underlined_
1070 =verbatim and monospace=
1071
1072 While editing a Muse document in Muse mode, these forms of emphasis
1073 will be highlighted in a WYSIWYG manner. Each of these forms may span
1074 multiple lines.
1075
1076 Verbatim text will be colored as gray by default. To change this,
1077 customize `muse-verbatim-face'.
1078
1079 You can also use the <code> tag to indicate verbatim and monospace
1080 text. This is handy for regions that have an "=" in them.
1081
1082 \1f
1083 File: muse.info, Node: Footnotes, Next: Verse, Prev: Emphasizing Text, Up: Markup Rules
1084
1085 8.5 Making notes to be shown at the end
1086 =======================================
1087
1088 A footnote reference is simply a number in square brackets. To define
1089 the footnote, place this definition at the bottom of your file.
1090 `footnote-mode' can be used to greatly facilitate the creation of these
1091 kinds of footnotes.
1092
1093 Footnotes are defined by the same number in brackets occurring at the
1094 beginning of a line. Use footnote-mode's `C-c ! a' command, to very
1095 easily insert footnotes while typing. Use `C-x C-x' to return to the
1096 point of insertion.
1097
1098 \1f
1099 File: muse.info, Node: Verse, Next: Lists, Prev: Footnotes, Up: Markup Rules
1100
1101 8.6 Indicating poetic stanzas
1102 =============================
1103
1104 Poetry requires that whitespace be preserved, but without resorting to
1105 monospace. To indicate this, use the following markup, reminiscent of
1106 email quotations.
1107
1108 > A line of Emacs verse;
1109 > forgive its being so terse.
1110
1111 You can also use the <verse> tag, if you prefer.
1112
1113 <verse>
1114 A line of Emacs verse;
1115 forgive its being so terse.
1116 </verse>
1117
1118 Multiple stanzas may be included in one set of <verse> tags, as
1119 follows.
1120
1121 <verse>
1122 A line of Emacs verse;
1123 forgive its being so terse.
1124
1125 In terms of terse verse,
1126 you could do worse.
1127 </verse>
1128
1129 \1f
1130 File: muse.info, Node: Lists, Next: Tables, Prev: Verse, Up: Markup Rules
1131
1132 8.7 Lists of items
1133 ==================
1134
1135 Lists are given using special characters at the beginning of a line.
1136 Whitespace must occur before bullets or numbered items, to distinguish
1137 from the possibility of those characters occurring in a real sentence.
1138
1139 These are rendered as a bullet list.
1140
1141 Normal text.
1142
1143 - bullet item one
1144 - bullet item two
1145
1146 An enumerated list follows.
1147
1148 Normal text.
1149
1150 1. Enum item one
1151 2. Enum item two
1152
1153 Here is a definition list.
1154
1155 Term1 ::
1156 This is a first definition
1157 And it has two lines;
1158 no, make that three.
1159
1160 Term2 :: This is a second definition
1161
1162 Nested lists
1163 ------------
1164
1165 It is possible to nest lists of the same or different kinds. The
1166 "level" of the list is determined by the amount of initial whitespace.
1167
1168 Normal text.
1169
1170 - Level 1, bullet item one
1171 1. Level 2, enum item one
1172 2. Level 2, enum item two
1173 - Level 1, bullet item two
1174 1. Level 2, enum item three
1175 2. Level 2, enum item four
1176 term :: definition
1177
1178 Breaking list items
1179 -------------------
1180
1181 If you want to break up a line within any list type, just put one blank
1182 line between the end of the previous line and the beginning of the next
1183 line, using the same amount of initial indentation.
1184
1185 - bullet item 1, line 1
1186
1187 bullet item 1, line 2
1188
1189 1. Enum line 1
1190
1191 Enum line 2
1192
1193 - bullet item 2, line 1
1194
1195 bullet item 2, line 2
1196
1197 \1f
1198 File: muse.info, Node: Tables, Next: Explicit Links, Prev: Lists, Up: Markup Rules
1199
1200 8.8 Generation of data tables
1201 =============================
1202
1203 Only very simple tables are supported. The syntax is as follows.
1204
1205 Double bars || Separate header fields
1206
1207 Single bars | Separate body fields
1208 Here are more | body fields
1209
1210 Triple bars ||| Separate footer fields
1211
1212 Some publishing styles require header fields to come first, then
1213 footer fields, and then the body fields. You can use any order for
1214 these sections that you like, and Muse will re-order them for you at
1215 publish-time.
1216
1217 If you wish to disable table generation for one Muse file, add the
1218 directive `#disable-tables t' to the top of the file.
1219
1220 Other table formats
1221 -------------------
1222
1223 It is possible to publish very basic Orgtbl-mode style tables.
1224
1225 | org | style | table |
1226 |------+-------+-------|
1227 | one | | one |
1228 | two | two | |
1229 | | three | three |
1230 |------+-------+-------|
1231 | more | stuff | |
1232
1233 If you are used to the way that Org Mode publishes these tables, then
1234 customize `muse-html-table-attributes' to the following, in order to get
1235 a similar kind of output.
1236
1237 border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides"
1238
1239 `table.el' style tables are also supported, as long as `table.el'
1240 itself supports outputting tables for a particular publishing style.
1241 At the time of this writing, the "html", "latex", and "docbook" styles
1242 are supported by `table.el'. Styles derived from these styles will
1243 also work.
1244
1245 +---+-----+---+
1246 | | one | 1 |
1247 +---+-----+---+
1248 | b | two | |
1249 +---+-----+---+
1250 | c | | 3 |
1251 +---+-----+---+
1252
1253 \1f
1254 File: muse.info, Node: Explicit Links, Next: Implicit Links, Prev: Tables, Up: Markup Rules
1255
1256 8.9 Hyperlinks and email addresses with descriptions
1257 ====================================================
1258
1259 A hyperlink can reference a URL, or another page within a Muse project.
1260 In addition, descriptive text can be specified, which should be
1261 displayed rather than the link text in output styles that supports link
1262 descriptions. The syntax is as follows.
1263
1264 [[link target][link description]]
1265 [[link target without description]]
1266
1267 Thus, the current maintainer's homepage for Muse can be found
1268 `[[http://mwolson.org/projects/EmacsMuse.html][here]]', or at
1269 `[[http://mwolson.org/projects/EmacsMuse.html]]'.
1270
1271 \1f
1272 File: muse.info, Node: Implicit Links, Next: Images, Prev: Explicit Links, Up: Markup Rules
1273
1274 8.10 Bare URLs, WikiNames, and InterWiki links
1275 ==============================================
1276
1277 A URL or email address encountered in the input text is published as a
1278 hyperlink. These kind of links are called "implicit links" because
1279 they are not separated from the rest of the Muse document in any way.
1280
1281 Some characters in URLs will prevent Muse from recognizing them as
1282 implicit links. If you want to link to a URL containing spaces or any of
1283 the characters "][,"'`()<>^", you will have to make the link explicit.
1284 The punctuation characters ".,;:" are also not recognized as part of a
1285 URL when they appear at its end. For information on how to make an
1286 explicit link, see *note Hyperlinks and email addresses with
1287 descriptions: Explicit Links.
1288
1289 If the `muse-wiki' module is loaded, another form of implicit link
1290 will be made available. WikiNames, which are typed in CamelCase, are
1291 highlighted and published as links, provided that the file they refer
1292 to exists.
1293
1294 Customization of WikiName recognition may be accomplished by editing
1295 the `muse-wiki-wikiword-regexp' option and subsequently running
1296 `(muse-configure-highlighting 'muse-colors-markupmuse-colors-markup)'.
1297 If you use the Customize interface, the latter will be done
1298 automatically.
1299
1300 The `muse-wiki' module also allows for InterWiki links. These are
1301 similar to WikiWords, but they specify both the project and page of a
1302 file. The names of your project entries in `muse-project-alist' will
1303 be used as InterWiki names by default. Several examples follow.
1304
1305 Blog::DocumentingMuse
1306 Projects#EmacsMuse
1307 Website
1308
1309 In the first case, the interwiki delimiter is `::', `Blog' is the
1310 project name, and `DocumentingMuse' is the page name. In the second
1311 example, `#' is the interwiki delimiter. If the name of a project
1312 occurs by itself in text, like the third case, it will be colorized and
1313 published as a link to the default page of the given project.
1314
1315 Customization of interwiki links may be accomplished by editing the
1316 `muse-wiki-interwiki-alist' option.
1317
1318 It is also possible to link to an anchor in an interwiki document.
1319 This is called a "three-part link". Examples of this follow.
1320
1321 Blog::DocumentingMuse#anchor1
1322 Projects#EmacsMuse#anchor2
1323
1324 \1f
1325 File: muse.info, Node: Images, Next: Horizontal Rules and Anchors, Prev: Implicit Links, Up: Markup Rules
1326
1327 8.11 Publishing and displaying images
1328 =====================================
1329
1330 Image links
1331 -----------
1332
1333 Links to images may be used in either the target or the description, or
1334 both. Thus, the following code will publish as a clickable image that
1335 points to `http://mwolson.org/'.
1336
1337 [[http://mwolson.org/][/static/logos/site-logo.png]]
1338
1339 Normally, images in the link part will be inlined.
1340
1341 If you want these images to be published as links instead, place the
1342 text "URL:" immediately in front of the link text. An example follows.
1343
1344 [[URL:http://mwolson.org/static/logos/site-logo.png]]
1345
1346 Displaying images in Muse mode
1347 ------------------------------
1348
1349 If a link to a locally-available image is encountered in the link
1350 description, Muse mode will attempt to display it if your version of
1351 Emacs permits this.
1352
1353 This behavior may be toggled with `C-c C-i', or disabled permanently
1354 by setting the `muse-colors-inline-images' option to `nil'.
1355
1356 The method for finding images may be altered by customizing the
1357 `muse-colors-inline-image-method' option. One useful value for this
1358 option is `muse-colors-use-publishing-directory', which tells Muse mode
1359 to look in the directory where the current file will be published. The
1360 default is to look in the current directory. Relative paths like
1361 `../pics/' should work for either setting.
1362
1363 Eventually, it is hoped that Muse will be able to copy images from
1364 the a "source" directory to a publishing directory by customizing
1365 `muse-project-alist', but this has not been implemented yet.
1366
1367 Publishing simple images
1368 ------------------------
1369
1370 The following example will display correctly and publish correctly if a
1371 PNG file called `TestLogo.png' exists in the `../pics/' directory. If
1372 text is on the same line as the picture, it will remain so in the
1373 output.
1374
1375 [[../myimage.png]]
1376
1377 Publishing images with captions
1378 -------------------------------
1379
1380 If you want to add a caption to an image, use the following syntax.
1381 This will center the image (if the output format supports it) and add a
1382 centered caption below the picture. Formats that do not support
1383 centering the image will instead leave it against the left margin.
1384
1385 [[../pics/mycat.png][My cat Dexter]]
1386
1387 Images with captions may only occur in their own paragraphs, with no
1388 text on the same line. Otherwise, the published output will not be
1389 syntactically correct.
1390
1391 \1f
1392 File: muse.info, Node: Horizontal Rules and Anchors, Next: Embedded Lisp, Prev: Images, Up: Markup Rules
1393
1394 8.12 Inserting a horizontal line or anchor
1395 ==========================================
1396
1397 Horizontal Rules
1398 ----------------
1399
1400 Four or more dashes indicate a horizontal rule. Be sure to put blank
1401 lines around it, or it will be considered part of the proceeding or
1402 following paragraph!
1403
1404 Anchors
1405 -------
1406
1407 If you begin a line with "#anchor" - where "anchor" can be any word
1408 that doesn't contain whitespace - it defines an anchor at that point
1409 into the document. This point can be referenced using "page#anchor" as
1410 the target in a Muse link.
1411
1412 \1f
1413 File: muse.info, Node: Embedded Lisp, Next: Citations, Prev: Horizontal Rules and Anchors, Up: Markup Rules
1414
1415 8.13 Evaluating Emacs Lisp code in documents for extensibility
1416 ==============================================================
1417
1418 Arbitrary kinds of markup can be achieved using the <lisp> tag. With
1419 the <lisp> tag, you may generate whatever output text you wish. The
1420 inserted output will get marked up if the <lisp> tag appears within the
1421 main text of the document.
1422
1423 <lisp>(concat "This form gets " "inserted")</lisp>
1424
1425 Note that you should not use the `insert' command within a set of
1426 <lisp> tags, since the return value from the <lisp> tags will be
1427 automatically inserted into the document.
1428
1429 It is also possible to treat the output as if it were surrounded by
1430 the <example>, <src>, or <verse> tags, by specifying "example", "src",
1431 or "verse" as the `markup' attribute of the <lisp> tag.
1432
1433 <lisp markup="example">
1434 (concat "Insert" " me")
1435 </lisp>
1436
1437 Other languages also have tags that cause source code to be
1438 evaluated. *Note Tag Summary::, for details.
1439
1440 \1f
1441 File: muse.info, Node: Citations, Next: Comments, Prev: Embedded Lisp, Up: Markup Rules
1442
1443 8.14 Support for citing other resources
1444 =======================================
1445
1446 Example
1447 -------
1448
1449 Here is an example of what citations look like in a Muse document.
1450
1451 #bibsource REFDB
1452
1453 * Title
1454 ** Subtitle
1455
1456 Some text before <cite>Miller1999</cite> and after the citation.
1457
1458 This is an author-only citation <cite type="author">Miller1999</cite>.
1459
1460 And this is a year-only citation <cite type="year">Miller1999</cite>.
1461
1462 Finally, this is a multi-head citation
1463 <cite>Miller1999,Andrews2005</cite>.
1464
1465 Overview
1466 --------
1467
1468 The `#bibsource' directive defines the source of the bibliographies.
1469 The following sources are possible.
1470
1471 * DocBook + RefDB: the string "REFDB"
1472
1473 * LaTeX + bibtex: the name of an appropriate bibtex file
1474
1475 * LaTeX + RefDB: if the input file is called "foo.muse", then set
1476 this to "foo.bib"
1477
1478 Citations are encoded as <cite> elements which enclose the citation
1479 keys as they are defined in the bibliography file or database. In
1480 multi-head citations, the citation keys have to be separated by colons
1481 or semicolons. The `latex' and `docbook' styles translate these to the
1482 proper separator automatically.
1483
1484 The <cite> elements take an optional "type" attribute that defines
1485 how the citation is rendered. If the attribute is missing, you'll get
1486 a regular citation according to the bibliography style, e.g." (Miller
1487 et al., 1999)". If the attribute is set to "author", only the name of
1488 the author(s) will be rendered. Accordingly, "year" will cause the
1489 year to be printed. This is useful to create citations like this:
1490
1491 Miller et al. had already shown in a previous publication (1999) that
1492 this is not going to work.
1493
1494 Remember that refdb-mode (the Emacs interface to RefDB) can retrieve
1495 references by simply marking the citation key and running the
1496 `refdb-getref-by-field-on-region' command. Later versions of
1497 `refdb-mode' will also allow to insert references as Muse citations
1498 (which is already implemented for DocBook, TEI, and LaTeX documents).
1499
1500 You may have noticed that there is no element to indicate the
1501 position of the bibliography. The latter is always created at a valid
1502 position close to the end of the document. The functions
1503 `muse-docbook-bibliography' and `muse-latex-bibliography' are called in
1504 the header or footer to generate this content, so it is possible to
1505 change the exact position.
1506
1507 \1f
1508 File: muse.info, Node: Comments, Next: Tag Summary, Prev: Citations, Up: Markup Rules
1509
1510 8.15 Lines to omit from published output
1511 ========================================
1512
1513 Use the following syntax to indicate a comment. Comments will not be
1514 published.
1515
1516 ; Comment text goes here.
1517
1518 That is, only a semi-colon at the beginning of a line, followed by a
1519 literal space, will cause that line to be treated as a comment.
1520
1521 You can alternatively surround the region with the <comment> tag.
1522
1523 If you wish the comment to be published, but just commented out using
1524 the comment syntax of the output format, then set
1525 `muse-publish-comments-p' to non-nil.
1526
1527 \1f
1528 File: muse.info, Node: Tag Summary, Prev: Comments, Up: Markup Rules
1529
1530 8.16 Tags that Muse recognizes
1531 ==============================
1532
1533 Muse has several built-in tags that may prove useful during publishing.
1534 *Note muse-publish-markup-tags::, to see how to customize the tags that
1535 Muse uses, as well as make your own tags.
1536
1537 Only a small subset of these tags are available in header and footer
1538 text. The `muse-publish-markup-header-footer-tags' option lists the
1539 tags that are allowed in headers and footers.
1540
1541 Syntax
1542 ------
1543
1544 If a tag takes arguments, it will look like this, where "tagname" is
1545 the name of the tag.
1546
1547 <tagname arg1="string1" arg2="string2">
1548
1549 If you want the tag to look like it came straight from an XHTML
1550 document, you can alternatively do the following.
1551
1552 <tagname arg1="string1" arg2="string2" />
1553
1554 If a tag surrounds some text, it will look like this.
1555
1556 <tagname>Some text</tagname>
1557
1558 If a tag surrounds a large region, it will look like this.
1559
1560 <tagname>
1561 Some text.
1562 Some more text.
1563 </tagname>
1564
1565 Tag listing
1566 -----------
1567
1568 This is the complete list of tags that Muse accepts, including those
1569 that were mentioned in previous sections.
1570
1571 `<br>'
1572 Insert a line break.
1573
1574 Muse will automatically detect paragraphs when publishing by means
1575 of blank lines, so this tag is usually unnecessary.
1576
1577 `<cite>'
1578 Insert a citation to another source.
1579
1580 This takes the argument `type', which indicates the type of
1581 citation. The valid types are "author" and "year". If this
1582 argument is omitted, include both author and year in the citation.
1583
1584 The bibliography to use for the citation may be specified by the
1585 `#bibsource' directive.
1586
1587 *Note Citations::, for additional information.
1588
1589 `<class>'
1590 If publishing to HTML, surround the given text with a <span> tag.
1591 It takes one argument called "name" that specifies the "class"
1592 attribute of the <span> tag.
1593
1594 If publishing to a different format, do nothing extra to the text.
1595
1596 `<code>'
1597 Treat the text surrounded by the tag as if they were enclosed in
1598 equal signs, that is, make it monospace.
1599
1600 `<command>'
1601 Run a command on the region, replacing the region with the result
1602 of the command. The command is specified with the "interp"
1603 argument. If no value for "interp" is given, pass the entire
1604 region to the shell.
1605
1606 The "markup" argument controls how this section is marked up.
1607
1608 If it is omitted, publish the region with the normal Muse rules.
1609
1610 If "nil", do not mark up the region at all, but prevent Muse from
1611 further interpreting it.
1612
1613 If "example", treat the region as if it was surrounded by the
1614 <example> tag.
1615
1616 If "src", treat the included text as if it was surrounded by the
1617 <src> tag. You should also specify the "lang" attribute if doing
1618 this.
1619
1620 If "verse", treat the region as if it was surrounded by the
1621 <verse> tag, to preserve newlines.
1622
1623 Otherwise, it should be the name of a function to call, with the
1624 buffer narrowed to the region.
1625
1626 `<comment>'
1627 Treat the entire region as a comment. If the option
1628 MUSE-PUBLISH-COMMENTS-P is nil, delete the region, otherwise
1629 publish it using the comment syntax of the current publishing
1630 style.
1631
1632 `<contents>'
1633 Publish a Table of Contents. This will either be inserted
1634 in-place or at the beginning of the document, depending on your
1635 publishing style. It does not have a delimiting tag.
1636
1637 By default, only 2 levels of headings will be included in the
1638 generated Table of Contents. To change this globally, customize
1639 the MUSE-PUBLISH-CONTENTS-DEPTH option. To change this only for
1640 the current tag, use the "depth" argument.
1641
1642 `<div>'
1643 Insert a <div> tag into HTML documents, and do not insert anything
1644 special for other non-HTML publishing formats.
1645
1646 If the "style" argument is provided, include it with the published
1647 <div> tag. Likewise for the "id" argument.
1648
1649 `<example>'
1650 Publish the region in monospace, preserving the newlines in the
1651 region. This is useful for snippets of code.
1652
1653 `<include>'
1654 Insert the given file at the current location during publishing.
1655 The basic use of this tag is as follows, replacing "included_file"
1656 with the name of the file that you want to include.
1657
1658 <include file="included_file">
1659
1660 The "markup" argument controls how this section is marked up.
1661
1662 If it is omitted, publish the included text with the normal Muse
1663 rules.
1664
1665 If "nil", do not mark up the included text at all.
1666
1667 If "example", treat the included text as if it was surrounded by
1668 the <example> tag.
1669
1670 If "src", treat the included text as if it was surrounded by the
1671 <src> tag. You should also specify the "lang" attribute if doing
1672 this.
1673
1674 If "verse", treat the included text as if it was surrounded by the
1675 <verse> tag, to preserve newlines.
1676
1677 Otherwise, it should be the name of a function to call after
1678 inserting the file with the buffer narrowed to the section
1679 inserted.
1680
1681 `<lisp>'
1682 Evaluate the Emacs Lisp expressions between the initial and ending
1683 tags. The result is then inserted into the document, so you do
1684 not need to explicitly call `insert'. All text properties are
1685 removed from the resulting text.
1686
1687 This tag takes the "markup" argument. See the description of
1688 <command> for details.
1689
1690 `<literal>'
1691 Make sure that the text enclosed by this tag is published without
1692 escaping it in any way. This is useful for inserting markup
1693 directly into the published document, when Muse does not provide
1694 the desired functionality.
1695
1696 `<markup>'
1697 Mark up the text between the initial and ending tags. The markup
1698 command to use may be specified by the "function" argument. The
1699 standard Muse markup routines are used by default if no "function"
1700 argument is provided.
1701
1702 This is useful for marking up regions in headers and footers. One
1703 example that comes to mind is generating a published index of all
1704 of the files in the current project by doing the following.
1705
1706 <markup><lisp>(muse-index-as-string t t)</lisp></markup>
1707
1708 `<perl>'
1709 Run the `perl' language interpreter on the region, replacing the
1710 region with the result of the command.
1711
1712 This tag takes the "markup" argument. See the description of
1713 <command> for details.
1714
1715 `<python>'
1716 Run the `python' language interpreter on the region, replacing the
1717 region with the result of the command.
1718
1719 This tag takes the "markup" argument. See the description of
1720 <command> for details.
1721
1722 `<quote>'
1723 Publish the region as a blockquote. This will either be inserted
1724 in-place or at the beginning of the document, depending on your
1725 publishing style. It does not have a delimiting tag.
1726
1727 `<ruby>'
1728 Run the `ruby' language interpreter on the region, replacing the
1729 region with the result of the command.
1730
1731 This tag takes the "markup" argument. See the description of
1732 <command> for details.
1733
1734 `<src>'
1735 Publish the region using htmlize. The language to use may be
1736 specified by the "lang" attribute.
1737
1738 Muse will look for a function named LANG-mode, where LANG is the
1739 value of the "lang" attribute.
1740
1741 This tag requires htmlize 1.34 or later in order to work. If this
1742 is not satisfied, or the current publishing style is not
1743 HTML-based, Muse will publish the region like an <example> tag.
1744
1745 `<verbatim>'
1746 This is used when you want to prevent Muse from trying to
1747 interpret some markup. Surround the markup in <verbatim> and
1748 </verbatim>, and it will not be interpreted.
1749
1750 This tag was used often in previous versions of Muse because they
1751 did not support whole-document escaping of specials. Now, it will
1752 only be needed for other tags, and perhaps footnotes as well.
1753
1754 `<verse>'
1755 Preserve the newlines in the region. In formats like HTML,
1756 newlines are removed by default, hence the need for this tag. In
1757 other publishing styles, this tag may cause the text to be
1758 indented slightly in a way that looks nice for poetry and prose.
1759
1760
1761 \1f
1762 File: muse.info, Node: Publishing Styles, Next: Extending Muse, Prev: Markup Rules, Up: Top
1763
1764 9 Publishing Various Types of Documents
1765 ***************************************
1766
1767 One of the principle features of Muse is the ability to publish a simple
1768 input text to a variety of different output styles. Muse also makes it
1769 easy to create new styles, or derive from an existing style.
1770
1771 * Menu:
1772
1773 * Blosxom:: Integrating Muse and pyblosxom.cgi.
1774 * Book:: Publishing entries into a compilation.
1775 * ConTeXt:: Publishing ConTeXt documents.
1776 * DocBook:: Publishing in DocBook XML form.
1777 * HTML:: Publishing in HTML or XHTML form.
1778 * Ikiwiki:: Integrating with ikiwiki.
1779 * Journal:: Keeping a journal or blog.
1780 * LaTeX:: Publishing LaTeX documents.
1781 * Poem:: Publish a poem to LaTeX or PDF.
1782 * Texinfo:: Publish entries to Texinfo format or PDF.
1783 * XML:: Publish entries to XML.
1784
1785 \1f
1786 File: muse.info, Node: Blosxom, Next: Book, Prev: Publishing Styles, Up: Publishing Styles
1787
1788 9.1 Integrating Muse and pyblosxom.cgi
1789 ======================================
1790
1791 The Blosxom publishing style publishes a tree of categorised files to a
1792 mirrored tree of stories to be served by blosxom.cgi or pyblosxom.cgi.
1793 In other words, each blog entry corresponds with one file.
1794
1795 * Menu:
1796
1797 * Blosxom Requirements:: Other tools needed for the Blosxom style.
1798 * Blosxom Entries:: Format of a Blosxom entry and automation.
1799 * Blosxom Options:: Blosxom styles and options provided.
1800
1801 \1f
1802 File: muse.info, Node: Blosxom Requirements, Next: Blosxom Entries, Prev: Blosxom, Up: Blosxom
1803
1804 9.1.1 Other tools needed for the Blosxom style
1805 ----------------------------------------------
1806
1807 You will need to have `pyblosxom.cgi' or `blosxom.cgi' installed on a
1808 machine that you have upload access to.
1809
1810 The major difficulty in both of these programs is specifying the
1811 date of the entries. Both programs rely on the file modification time
1812 rather than any data contained in the entries themselves. A plugin is
1813 needed in order for these programs to be able to get the correct date.
1814
1815 PyBlosxom
1816 ---------
1817
1818 There are two different ways of accomplishing this in pyblosxom. The
1819 first way involves gathering the timestamps (as specified by the
1820 `#date' directive) into one file and then sending that file along with
1821 published entries to the webserver.
1822
1823 The second will read each file at render time and parse the
1824 `#postdate' directive. Muse will translate the `#date' directive into
1825 `#postdate' at publish time, so you don't have to do any extra work.
1826
1827 Placing timestamps in one file
1828 ..............................
1829
1830 The following additional components are required in order to make the
1831 date of blog entries display as something sensible.
1832
1833 1. A script to gather date directives from the entire blog tree into a
1834 single file. The file must associate a blog entry with a date.
1835
1836 2. A plugin for (py)blosxom that reads this file.
1837
1838 These 2 things are provided for `pyblosxom.cgi' in the
1839 `contrib/pyblosxom' subdirectory. `getstamps.py' provides the former
1840 service, while `hardcodedates.py' provides the latter service.
1841
1842 Here is a sample listing from my `timestamps' file, which maps each
1843 file to a date. This can really be in any format, as long as your
1844 date-gathering script and your plugin can both understand it.
1845
1846 2005-04-01-14-16 personal/paper_cranes
1847 2005-03-21 personal/spring_break_over
1848 2004-10-24 personal/finished_free_culture
1849
1850 The script `contrib/pyblosxom/make-blog' demonstrates how to call
1851 `getstamps.py'. Note that you will need to set the current directory
1852 to where your Muse files are, execute `getstamps.py', and then move the
1853 generated timestamps file to your publishing directory.
1854
1855 Getting timestamp from entry while rendering
1856 ............................................
1857
1858 Alternately, the pyblosxom metadate plugin may be used. On the plus
1859 side, there is no need to run a script to gather the date. On the
1860 downside, each entry is read twice rather than once when the page is
1861 rendered. Set the value of `muse-blosxom-use-metadate' to non-nil to
1862 enable adding a `#postdate' directive to all published files. You can
1863 do this by:
1864
1865 M-x customize-variable RET muse-blosxom-use-metadate RET
1866
1867 With the metadate plugin installed in pyblosxom, the date set in this
1868 directive will be used instead of the file's modification time. The
1869 plugin is included with Muse at `contrib/pyblosxom/metadate.py'.
1870
1871 Blosxom
1872 -------
1873
1874 It is also possible to use Blosxom, which is written in Perl, to serve
1875 blog entries that were published with Muse. The steps are as follows.
1876
1877 1. Download and install blosxom from
1878 `http://blosxom.sourceforge.net/'.
1879
1880 2. Install the metadate plugin. It is available in
1881 `contrib/blosxom/metadate_0_0_3'.
1882
1883 3. Every time you make a new blog entry, change to the blosxom data
1884 directory and execute the `contrib/blosxom/getstamps.pl' script.
1885 This script has only recently been made, and may still have some
1886 bugs, so use with caution.
1887
1888
1889 \1f
1890 File: muse.info, Node: Blosxom Entries, Next: Blosxom Options, Prev: Blosxom Requirements, Up: Blosxom
1891
1892 9.1.2 Format of a Blosxom entry and automation
1893 ----------------------------------------------
1894
1895 Each Blosxom file must include `#date yyyy-mm-dd', or optionally the
1896 longer `#date yyyy-mm-dd-hh-mm', a title (using the `#title'
1897 directive), plus whatever normal content is desired.
1898
1899 The date directive is not used directly by `pyblosxom.cgi' or this
1900 program. You need to have the two additional items from the former
1901 section to make use of this feature.
1902
1903 There is a function called `muse-blosxom-new-entry' that will
1904 automate the process of making a new blog entry. To make use of it, do
1905 the following.
1906
1907 * Customize `muse-blosxom-base-directory' to the location that your
1908 blog entries are stored.
1909
1910 * Assign the `muse-blosxom-new-entry' function to a key sequence. I
1911 use the following code to assign this function to `C-c p l''.
1912
1913 (global-set-key "\C-cpl" 'muse-blosxom-new-entry)
1914
1915 * You should create your directory structure ahead of time under
1916 your base directory. These directories, which correspond with
1917 category names, may be nested.
1918
1919 * When you enter this key sequence, you will be prompted for the
1920 category of your entry and its title. Upon entering this
1921 information, a new file will be created that corresponds with the
1922 title, but in lowercase letters and having special characters
1923 converted to underscores. The title and date directives will be
1924 inserted automatically.
1925
1926 \1f
1927 File: muse.info, Node: Blosxom Options, Prev: Blosxom Entries, Up: Blosxom
1928
1929 9.1.3 Blosxom styles and options provided
1930 -----------------------------------------
1931
1932 The following styles and options are available in the Blosxom publishing
1933 style.
1934
1935 Styles provided
1936 ---------------
1937
1938 `blosxom-html'
1939 Publish Blosxom entries in HTML form.
1940
1941 `blosxom-xhtml'
1942 Publish Blosxom entries in XHTML form.
1943
1944
1945 Options provided
1946 ----------------
1947
1948 `muse-blosxom-extension'
1949 Default file extension for publishing Blosxom files.
1950
1951 `muse-blosxom-header'
1952 Header used for publishing Blosxom files.
1953
1954 This may be text or a filename.
1955
1956 `muse-blosxom-footer'
1957 Footer used for publishing Blosxom files.
1958
1959 This may be text or a filename.
1960
1961 `muse-blosxom-base-directory'
1962 Base directory of blog entries, used by `muse-blosxom-new-entry'.
1963
1964 This is the top-level directory where your blog entries may be
1965 found locally.
1966
1967
1968 \1f
1969 File: muse.info, Node: Book, Next: ConTeXt, Prev: Blosxom, Up: Publishing Styles
1970
1971 9.2 Publishing entries into a compilation
1972 =========================================
1973
1974 This publishing style is used to output "books" in LaTeX or PDF format.
1975
1976 Each page will become a separate chapter in the book, unless the
1977 style keyword `:nochapters' is used, in which case they are all run
1978 together as if one giant chapter.
1979
1980 One way of publishing a book is to make a project for it, add the
1981 project to `muse-project-alist', and use the `book-pdf' style with a
1982 very specific `:include' value to specify some page whose contents will
1983 be checked for the values of `#title' and `#date', and whose name will
1984 be used in the output file. Then to publish the book, visit the
1985 aforementioned page and use `C-c C-t' or `C-c C-p' to trigger the
1986 publishing process. An example `muse-project-alist' for this method
1987 follows.
1988
1989 (setq muse-project-alist
1990 '(("MyNotes" (:nochapters t ; do automatically add chapters
1991 :book-chapter "Computer Science"
1992 "~/Notes/cs"
1993 :book-chapter "Mathematics"
1994 "~/Notes/math"
1995 :book-chapter "Emacs"
1996 "~/Notes/emacs"
1997 :book-end t ; the rest will not be placed in the book
1998 "~/Notes" ; so we can find the notes-anthology page
1999 "~/Notes/private"
2000 :force-publish ("index")
2001 :default "index")
2002 (:base "book-pdf"
2003 :include "/notes-anthology[^/]*$"
2004 :path "~/public_html/notes")
2005 ;; other publishing styles for each directory go here,
2006 ;; if desired
2007 )))
2008
2009 In this example, there would be a file called
2010 `~/Notes/notes-anthology.muse', which would contain just the following.
2011 The resulting book would be published to
2012 `~/public_html/notes/notes-anthology.pdf'.
2013
2014 #title My Technology Ramblings
2015
2016 Another way is to call the `muse-book-publish-project' function
2017 manually, with a custom project entry. An example of this may be found
2018 in John Wiegley's configuration file at `examples/johnw/muse-init.el',
2019 in the `muse-publish-my-books' function.
2020
2021 Styles provided
2022 ---------------
2023
2024 `book-latex'
2025 Publish a book in LaTeX form. The header and footer are different
2026 than the normal LaTeX publishing mode.
2027
2028 `book-pdf'
2029 Publish a book in PDF form. The header and footer are different
2030 than the normal PDF publishing mode.
2031
2032
2033 Options provided
2034 ----------------
2035
2036 `muse-book-before-publish-hook'
2037 A hook run in the book buffer before it is marked up.
2038
2039 `muse-book-after-publish-hook'
2040 A hook run in the book buffer after it is marked up.
2041
2042 `muse-book-latex-header'
2043 Header used for publishing books to LaTeX.
2044
2045 This may be text or a filename.
2046
2047 `muse-book-latex-footer'
2048 Footer used for publishing books to LaTeX.
2049
2050 This may be text or a filename.
2051
2052
2053 \1f
2054 File: muse.info, Node: ConTeXt, Next: DocBook, Prev: Book, Up: Publishing Styles
2055
2056 9.3 Publishing ConTeXt documents
2057 ================================
2058
2059 This publishing style is capable of producing ConTeXt or PDF documents.
2060
2061 If you wish to publish PDF documents based on ConTeXt, you will need
2062 to have it installed. For Debian and Ubuntu, this can be accomplished
2063 by installing the "texlive" package.
2064
2065 Styles provided
2066 ---------------
2067
2068 `context'
2069 Publish a ConTeXt document.
2070
2071 `context-pdf'
2072 Publish a PDF document, using an external ConTeXt document
2073 conversion tool.
2074
2075 `context-slides'
2076 Produce slides from a ConTeXt document.
2077
2078 Here is an example of a slide.
2079
2080 * First Slide
2081
2082 [[Some-sort-of-cute-image.png]]
2083
2084 ** A subheading
2085
2086 - A bullet point.
2087 - Another bullet point.
2088
2089 * Second Slide
2090
2091 ... and so on
2092
2093 `context-slides-pdf'
2094 Publish a PDF document of ConTeXt slides.
2095
2096
2097 Options provided
2098 ----------------
2099
2100 `muse-context-extension'
2101 Default file extension for publishing ConTeXt files.
2102
2103 `muse-context-pdf-extension'
2104 Default file extension for publishing ConTeXt files to PDF.
2105
2106 `muse-context-pdf-program'
2107 The program that is called to generate PDF content from ConTeXt
2108 content.
2109
2110 `muse-context-pdf-cruft'
2111 Extensions of files to remove after generating PDF output
2112 successfully.
2113
2114 `muse-context-header'
2115 Header used for publishing ConTeXt files.
2116
2117 This may be text or a filename.
2118
2119 `muse-context-footer'
2120 Footer used for publishing ConTeXt files.
2121
2122 This may be text or a filename.
2123
2124 `muse-context-markup-regexps'
2125 List of markup regexps for identifying regions in a Muse page.
2126
2127 For more on the structure of this list, *Note
2128 muse-publish-markup-regexps::.
2129
2130 `muse-context-markup-functions'
2131 An alist of style types to custom functions for that kind of text.
2132
2133 For more on the structure of this list, *Note
2134 muse-publish-markup-functions::.
2135
2136 `muse-context-markup-strings'
2137 Strings used for marking up text.
2138
2139 These cover the most basic kinds of markup, the handling of which
2140 differs little between the various styles.
2141
2142 `muse-context-slides-header'
2143 Header for publishing a presentation (slides) using ConTeXt.
2144
2145 Any of the predefined modules, which are available in the
2146 tex/context/base directory, can be used by writing a "module"
2147 directive at the top of the Muse file; if no such directive is
2148 provided, module pre-01 is used. Alternatively, you can use your
2149 own style ("mystyle", in this example) by replacing "\usemodule[]"
2150 with "\input mystyle".
2151
2152 This may be text or a filename.
2153
2154 `muse-context-slides-markup-strings'
2155 Strings used for marking up text in ConTeXt slides.
2156
2157 `muse-context-markup-specials-document'
2158 A table of characters which must be represented specially. These
2159 are applied to the entire document, sans already-escaped regions.
2160
2161 `muse-context-markup-specials-example'
2162 A table of characters which must be represented specially. These
2163 are applied to example> regions.
2164
2165 With the default interpretation of <example> regions, no specials
2166 need to be escaped.
2167
2168 `muse-context-markup-specials-literal'
2169 A table of characters which must be represented specially. This
2170 applies to =monospaced text= and <code> regions.
2171
2172 `muse-context-markup-specials-url'
2173 A table of characters which must be represented specially. These
2174 are applied to URLs.
2175
2176 `muse-context-markup-specials-image'
2177 A table of characters which must be represented specially. These
2178 are applied to image filenames.
2179
2180 `muse-context-permit-contents-tag'
2181 If nil, ignore <contents> tags. Otherwise, insert table of
2182 contents.
2183
2184 Most of the time, it is best to have a table of contents on the
2185 first page, with a new page immediately following. To make this
2186 work with documents published in both HTML and ConTeXt, we need to
2187 ignore the <contents> tag.
2188
2189 If you don't agree with this, then set this option to non-nil, and
2190 it will do what you expect.
2191
2192
2193 \1f
2194 File: muse.info, Node: DocBook, Next: HTML, Prev: ConTeXt, Up: Publishing Styles
2195
2196 9.4 Publishing in DocBook XML form
2197 ==================================
2198
2199 This publishing style is used to generate DocBook XML files.
2200
2201 Styles provided
2202 ---------------
2203
2204 `docbook'
2205 Publish a file in Docbook form.
2206
2207
2208 Options provided
2209 ----------------
2210
2211 This publishing style uses the same options for markup up special
2212 characters as the "xml" publishing style. *Note XML::, for details.
2213
2214 `muse-docbook-extension'
2215 Default file extension for publishing DocBook XML files.
2216
2217 `muse-docbook-header'
2218 Header used for publishing DocBook XML files.
2219
2220 This may be text or a filename.
2221
2222 `muse-docbook-footer'
2223 Footer used for publishing DocBook XML files.
2224
2225 This may be text or a filename.
2226
2227 `muse-docbook-markup-regexps'
2228 List of markup rules for publishing a Muse page to DocBook XML.
2229
2230 `muse-docbook-markup-functions'
2231 An alist of style types to custom functions for that kind of text.
2232
2233 `muse-docbook-markup-strings'
2234 Strings used for marking up text.
2235
2236 These cover the most basic kinds of markup, the handling of which
2237 differs little between the various styles.
2238
2239 `muse-docbook-encoding-default'
2240 The default Emacs buffer encoding to use in published files. This
2241 will be used if no special characters are found.
2242
2243 `muse-docbook-charset-default'
2244 The default DocBook XML charset to use if no translation is found
2245 in `muse-xml-encoding-map'.
2246
2247
2248 \1f
2249 File: muse.info, Node: HTML, Next: Ikiwiki, Prev: DocBook, Up: Publishing Styles
2250
2251 9.5 Publishing in HTML or XHTML form
2252 ====================================
2253
2254 This publishing style is capable of producing HTML or XHTML documents.
2255
2256 Styles provided
2257 ---------------
2258
2259 `html'
2260 Supports publishing to HTML 4.0 and HTML 4.01, Strict or
2261 Transitional.
2262
2263 `xhtml'
2264 Supports publishing to XHTML 1.0 and XHTML 1.1, Strict or
2265 Transitional.
2266
2267
2268 Options provided
2269 ----------------
2270
2271 If an HTML option does not have a corresponding XHTML option, it will
2272 be used for both of these publishing styles.
2273
2274 These publishing styles use the same options for markup up special
2275 characters as the "xml" publishing style. *Note XML::, for details.
2276
2277 `muse-html-extension'
2278 Default file extension for publishing HTML files.
2279
2280 `muse-xhtml-extension'
2281 Default file extension for publishing XHTML files.
2282
2283 `muse-html-style-sheet'
2284 Store your stylesheet definitions here.
2285
2286 This is used in `muse-html-header'. You can put raw CSS in here or
2287 a <link> tag to an external stylesheet. This text may contain
2288 <lisp> markup tags.
2289
2290 If you are publishing to XHTML, then customize the
2291 `muse-xhtml-style-sheet' option instead.
2292
2293 `muse-xhtml-style-sheet'
2294 Store your stylesheet definitions here.
2295
2296 This is used in `muse-xhtml-header'. You can put raw CSS in here
2297 or a <link> tag to an external stylesheet. This text may contain
2298 <lisp> markup tags.
2299
2300 `muse-html-header'
2301 Header used for publishing HTML files.
2302
2303 This may be text or a filename.
2304
2305 `muse-html-footer'
2306 Footer used for publishing HTML files.
2307
2308 This may be text or a filename.
2309
2310 `muse-xhtml-header'
2311 Header used for publishing XHTML files.
2312
2313 This may be text or a filename.
2314
2315 `muse-xhtml-footer'
2316 Footer used for publishing XHTML files.
2317
2318 This may be text or a filename.
2319
2320 `muse-html-anchor-on-word'
2321 When true, anchors surround the closest word.
2322
2323 This allows you to select them in a browser (i.e. for pasting),
2324 but has the side-effect of marking up headers in multiple colors
2325 if your header style is different from your link style.
2326
2327 `muse-html-table-attributes'
2328 The attribute to be used with HTML <table> tags.
2329
2330 If you want to make more-complicated tables in HTML, surround the
2331 HTML with the literal tag, so that it does not get escaped.
2332
2333 `muse-html-markup-regexps'
2334 List of markup rules for publishing a Muse page to HTML.
2335
2336 `muse-html-markup-functions'
2337 An alist of style types to custom functions for that kind of text.
2338
2339 `muse-html-markup-strings'
2340 Strings used for marking up text as HTML.
2341
2342 These cover the most basic kinds of markup, the handling of which
2343 differs little between the various styles.
2344
2345 `muse-xhtml-markup-strings'
2346 Strings used for marking up text as XHTML.
2347
2348 These cover the most basic kinds of markup, the handling of which
2349 differs little between the various styles.
2350
2351 `muse-html-markup-tags'
2352 A list of tag specifications, for specially marking up HTML.
2353 *Note muse-publish-markup-tags::, for more information.
2354
2355 `muse-html-meta-http-equiv'
2356 The http-equiv attribute used for the HTML <meta> tag.
2357
2358 `muse-html-meta-content-type'
2359 The content type used for the HTML <meta> tag.
2360
2361 If you are striving for XHTML 1.1 compliance, you may want to
2362 change this to "application/xhtml+xml".
2363
2364 `muse-html-meta-content-encoding'
2365 The charset to append to the HTML <meta> tag.
2366
2367 If set to the symbol 'detect, use `muse-xml-encoding-map' to try
2368 and determine the HTML charset from emacs's coding. If set to a
2369 string, this string will be used to force a particular charset.
2370
2371 `muse-html-charset-default'
2372 The default HTML meta charset to use if no translation is found in
2373 `muse-xml-encoding-map'.
2374
2375 `muse-html-encoding-default'
2376 The default Emacs buffer encoding to use in published files. This
2377 will be used if no special characters are found.
2378
2379
2380 \1f
2381 File: muse.info, Node: Ikiwiki, Next: Journal, Prev: HTML, Up: Publishing Styles
2382
2383 9.6 Integrating with ikiwiki
2384 ============================
2385
2386 Note: Support for Ikiwiki is not yet complete. Use at your own risk.
2387
2388 Ikiwiki is a wiki compiler (`http://ikiwiki.info/'). Emacs Muse can
2389 (not yet) be used as a source format for Ikiwiki pages with the plugin
2390 `IkiWiki::Plugin::muse'.
2391
2392 The `lisp/muse-ikiwiki.el' file provides publishing functions and
2393 styles for Ikiwiki. The plugin for Ikiwiki to recognize Muse files is
2394 provided by the `contrib/ikiwiki/IkiWiki/Plugin/muse.pm' file. Two
2395 sample init files are available in the `examples/ikiwiki' directory.
2396 Configure your `ikiwiki.setup' file so that the `muse_init' variable
2397 has the location of your Muse init file.
2398
2399 If you are using CGI, The directory `contrib/ikiwiki/IkiWiki' must
2400 be copied to the same directory as the CGI script that Ikiwiki
2401 generates. When publishing your wiki, the PERL5LIB environment
2402 variable must contain the path to the `contrib/ikiwiki/IkiWiki'
2403 directory.
2404
2405 Styles provided
2406 ---------------
2407
2408 `ikiwiki'
2409 Supports publishing XHTML output that Ikiwiki can understand.
2410
2411
2412 Options provided
2413 ----------------
2414
2415 `muse-ikiwiki-header'
2416 Header used for publishing Ikiwiki output files.
2417
2418 This may be text or a filename.
2419
2420 `muse-ikiwiki-footer'
2421 Footer used for publishing Ikiwiki output files.
2422
2423 This may be text or a filename.
2424
2425
2426 Other relevant options
2427 ----------------------
2428
2429 `muse-colors-evaluate-lisp-tags'
2430 Specify whether to evaluate the contents of <lisp> tags at display
2431 time. If nil, don't evaluate them. If non-nil, evaluate them.
2432
2433 The actual contents of the buffer are not changed, only the
2434 displayed text.
2435
2436 `muse-html-src-allowed-modes'
2437 Modes that we allow the <src> tag to colorize. If `t', permit the
2438 <src> tag to colorize any mode.
2439
2440 If a list of mode names, such as `'("html" "latex")', and the lang
2441 argument to <src> is not in the list, then use fundamental mode
2442 instead.
2443
2444 `muse-publish-enable-dangerous-tags'
2445 If non-nil, publish tags like <lisp> and <command> that can call
2446 external programs or expose sensitive information. Otherwise,
2447 ignore tags like this.
2448
2449 This is useful to set to `nil' when the file to publish is coming
2450 from an untrusted source.
2451
2452
2453 \1f
2454 File: muse.info, Node: Journal, Next: LaTeX, Prev: Ikiwiki, Up: Publishing Styles
2455
2456 9.7 Keeping a journal or blog
2457 =============================
2458
2459 The module facilitates the keeping and publication of a journal. When
2460 publishing to HTML, it assumes the form of a web log, or blog.
2461
2462 The input format for each entry is as follows.
2463
2464 * 20040317: Title of entry
2465
2466 text for the entry.
2467
2468 <qotd>
2469 "You know who you are. It comes down to a simple gut check: You
2470 either love what you do or you don't. Period." -- P. Bronson
2471 </qotd>
2472
2473 The "qotd", or Quote of the Day, is entirely optional. When
2474 generated to HTML, this entry is rendered as the following.
2475
2476 <div class="entry">
2477 <div class="entry-qotd">
2478 <h3>Quote of the Day:</h3>
2479 <p>"You know who you are. It comes down to a simple gut
2480 check: You either love what you do or you don't. Period."
2481 -- P. Bronson</p>
2482 </div>
2483 <div class="entry-body">
2484 <div class="entry-head">
2485 <div class="entry-date">
2486 <span class="date">March 17, 2004</span>
2487 </div>
2488 <div class="entry-title">
2489 <h2>Title of entry</h2>
2490 </div>
2491 </div>
2492 <div class="entry-text">
2493 <p>Text for the entry.</p>
2494 </div>
2495 </div>
2496 </div>
2497
2498 The plurality of "div" tags makes it possible to display the entries
2499 in any form you wish, using a CSS style.
2500
2501 Also, an .RDF file can be generated from your journal by publishing
2502 it with the "rdf" style. It uses the first two sentences of the first
2503 paragraph of each entry as its "description", and auto-generates tags
2504 for linking to the various entries.
2505
2506 muse-project-alist considerations
2507 ---------------------------------
2508
2509 If you wish to publish an RDF or RSS feed, it is important to include
2510 the `:base-url' attribute in your `muse-project-alist' entry for your
2511 Journal projects. An example follows.
2512
2513 (setq muse-project-alist
2514 '(("Journal" ("~/Journal/"
2515 :default "journal")
2516 (:base "journal-rss"
2517 :base-url "http://example.org/journal/"
2518 :path "~/public_html/journal"))))
2519
2520 Styles provided
2521 ---------------
2522
2523 `journal-html'
2524 Publish journal entries as an HTML document.
2525
2526 `journal-xhtml'
2527 Publish journal entries as an XHTML document.
2528
2529 `journal-latex'
2530 Publish journal entries as a LaTeX document.
2531
2532 `journal-pdf'
2533 Publish journal entries as a PDF document.
2534
2535 `journal-book-latex'
2536 Publish journal entries as a LaTeX book.
2537
2538 `journal-book-pdf'
2539 Publish journal entries as a PDF book.
2540
2541 `journal-rdf'
2542 Publish journal entries as an RDF file (RSS 1.0).
2543
2544 `journal-rss'
2545 Publish journal entries as an RSS file (RSS 2.0).
2546
2547 `journal-rss-entry'
2548 Used internally by `journal-rss' and `journal-rdf' for publishing
2549 individual entries.
2550
2551
2552 Options provided
2553 ----------------
2554
2555 `muse-journal-heading-regexp'
2556 A regexp that matches a journal heading.
2557
2558 Paren group 1 is the ISO date, group 2 is the optional category,
2559 and group 3 is the optional heading for the entry.
2560
2561 `muse-journal-date-format'
2562 Date format to use for journal entries.
2563
2564 `muse-journal-html-heading-regexp'
2565 A regexp that matches a journal heading from an HTML document.
2566
2567 Paren group 1 is the ISO date, group 2 is the optional category,
2568 and group 3 is the optional heading for the entry.
2569
2570 `muse-journal-html-entry-template'
2571 Template used to publish individual journal entries as HTML.
2572
2573 This may be text or a filename.
2574
2575 `muse-journal-latex-section'
2576 Template used to publish a LaTeX section.
2577
2578 `muse-journal-latex-subsection'
2579 Template used to publish a LaTeX subsection.
2580
2581 `muse-journal-markup-tags'
2582 A list of tag specifications, for specially marking up Journal
2583 entries.
2584
2585 *Note muse-publish-markup-tags::, for more information.
2586
2587 This is used by `journal-latex' and its related styles, as well as
2588 the `journal-rss-entry' style, which both `journal-rdf' and
2589 `journal-rss' use.
2590
2591 `muse-journal-rdf-extension'
2592 Default file extension for publishing RDF (RSS 1.0) files.
2593
2594 `muse-journal-rdf-base-url'
2595 The base URL of the website referenced by the RDF file.
2596
2597 `muse-journal-rdf-header'
2598 Header used for publishing RDF (RSS 1.0) files.
2599
2600 This may be text or a filename.
2601
2602 `muse-journal-rdf-footer'
2603 Footer used for publishing RDF (RSS 1.0) files.
2604
2605 This may be text or a filename.
2606
2607 `muse-journal-rdf-date-format'
2608 Date format to use for RDF entries.
2609
2610 `muse-journal-rdf-entry-template'
2611 Template used to publish individual journal entries as RDF.
2612
2613 This may be text or a filename.
2614
2615 `muse-journal-rdf-summarize-entries'
2616 If non-nil, include only summaries in the RDF file, not the full
2617 data.
2618
2619 The default is nil, because this annoys some subscribers.
2620
2621 `muse-journal-rss-heading-regexp'
2622 A regexp that matches a journal heading from an HTML document.
2623
2624 Paren group 1 is the ISO date, group 2 is the optional category,
2625 and group 3 is the optional heading for the entry.
2626
2627 `muse-journal-rss-extension'
2628 Default file extension for publishing RSS 2.0 files.
2629
2630 `muse-journal-rss-base-url'
2631 The base URL of the website referenced by the RSS file.
2632
2633 `muse-journal-rss-header'
2634 Header used for publishing RSS 2.0 files.
2635
2636 This may be text or a filename.
2637
2638 `muse-journal-rss-footer'
2639 Footer used for publishing RSS 2.0 files.
2640
2641 This may be text or a filename.
2642
2643 `muse-journal-rss-date-format'
2644 Date format to use for RSS 2.0 entries.
2645
2646 `muse-journal-rss-entry-template'
2647 Template used to publish individual journal entries as RSS 2.0.
2648
2649 This may be text or a filename.
2650
2651 `muse-journal-rss-enclosure-types-alist'
2652 File types that are accepted as RSS enclosures.
2653
2654 This is an alist that maps file extension to content type.
2655
2656 Useful for podcasting.
2657
2658 `muse-journal-rss-summarize-entries'
2659 If non-nil, include only summaries in the RSS file, not the full
2660 data.
2661
2662 The default is nil, because this annoys some subscribers.
2663
2664 `muse-journal-rss-markup-regexps'
2665 List of markup rules for publishing a Muse journal page to RSS.
2666
2667 For more information on the structure of this list, *Note
2668 muse-publish-markup-regexps::.
2669
2670 `muse-journal-rss-markup-functions'
2671 An alist of style types to custom functions for that kind of text.
2672
2673 For more on the structure of this list, *Note
2674 muse-publish-markup-functions::.
2675
2676
2677 \1f
2678 File: muse.info, Node: LaTeX, Next: Poem, Prev: Journal, Up: Publishing Styles
2679
2680 9.8 Publishing LaTeX documents
2681 ==============================
2682
2683 This publishing style is capable of producing LaTeX or PDF documents.
2684
2685 If you wish to publish PDF documents, you will need to have a good
2686 LaTeX installation. For Debian and Ubuntu, this can be accomplished by
2687 installing the "tetex-bin" and "tetex-extra" packages. TeX fonts are
2688 also a must.
2689
2690 If your LaTeX installation has the file `grffile.sty', which may be
2691 found in the `texlive-latex-recommended' package for Debian and Ubuntu,
2692 then consider using it by adding the following to your header file.
2693 This allows spaces in filenames to work.
2694
2695 \usepackage{grffile}
2696
2697 Styles provided
2698 ---------------
2699
2700 `latex'
2701 Publish a LaTeX document.
2702
2703 `pdf'
2704 Publish a PDF document, using an external LaTeX document conversion
2705 tool.
2706
2707 `latexcjk'
2708 Publish a LaTeX document with CJK (Chinese) encodings.
2709
2710 `pdfcjk'
2711 Publish a PDF document with CJK (Chinese) encodings, using an
2712 external LaTeX document conversion tool.
2713
2714 `slides'
2715 Publish a LaTeX document that uses the Beamer extension. This is
2716 suitable for producing slides.
2717
2718 Here is an example of a slide.
2719
2720 <slide title="First Slide">
2721 Everything between the slide tags composes this slide.
2722
2723 [[Some-sort-of-cute-image.png]]
2724
2725 - A bullet point.
2726 - Another bullet point.
2727 </slide>
2728
2729 `slides-pdf'
2730 Publish a PDF document of slides, using the Beamer extension.
2731
2732 `lecture-notes'
2733 Publish a LaTeX document that uses the Beamer extension. This is
2734 suitable for producing lecture notes.
2735
2736 This can also use the <slide> tag.
2737
2738 `lecture-notes-pdf'
2739 Publish a PDF document of lecture notes, using the Beamer
2740 extension.
2741
2742
2743 Options provided
2744 ----------------
2745
2746 `muse-latex-extension'
2747 Default file extension for publishing LaTeX files.
2748
2749 `muse-latex-pdf-extension'
2750 Default file extension for publishing LaTeX files to PDF.
2751
2752 `muse-latex-pdf-browser'
2753 The program to use when browsing a published PDF file.
2754
2755 This should be a format string.
2756
2757 `muse-latex-pdf-program'
2758 The program that is called to generate PDF content from LaTeX
2759 content.
2760
2761 `muse-latex-pdf-cruft'
2762 Extensions of files to remove after generating PDF output
2763 successfully.
2764
2765 `muse-latex-header'
2766 Header used for publishing LaTeX files.
2767
2768 This may be text or a filename.
2769
2770 `muse-latex-footer'
2771 Footer used for publishing LaTeX files.
2772
2773 This may be text or a filename.
2774
2775 `muse-latexcjk-header'
2776 Header used for publishing LaTeX files (CJK).
2777
2778 This may be text or a filename.
2779
2780 `muse-latexcjk-footer'
2781 Footer used for publishing LaTeX files (CJK).
2782
2783 This may be text or a filename.
2784
2785 `muse-latex-slides-header'
2786 Header for publishing of slides using LaTeX.
2787
2788 This may be text or a filename.
2789
2790 You must have the Beamer extension for LaTeX installed for this to
2791 work.
2792
2793 `muse-latex-lecture-notes-header'
2794 Header publishing of lecture notes using LaTeX.
2795
2796 This may be text or a filename.
2797
2798 You must have the Beamer extension for LaTeX installed for this to
2799 work.
2800
2801 `muse-latex-markup-regexps'
2802 List of markup regexps for identifying regions in a Muse page.
2803
2804 For more on the structure of this list, *Note
2805 muse-publish-markup-regexps::.
2806
2807 `muse-latex-markup-functions'
2808 An alist of style types to custom functions for that kind of text.
2809
2810 For more on the structure of this list, *Note
2811 muse-publish-markup-functions::.
2812
2813 `muse-latex-markup-strings'
2814 Strings used for marking up text.
2815
2816 These cover the most basic kinds of markup, the handling of which
2817 differs little between the various styles.
2818
2819 `muse-latex-slides-markup-tags'
2820 A list of tag specifications, for specially marking up LaTeX
2821 slides.
2822
2823 `muse-latexcjk-encoding-map'
2824 An alist mapping emacs coding systems to appropriate CJK codings.
2825 Use the base name of the coding system (ie, without the -unix).
2826
2827 `muse-latexcjk-encoding-default'
2828 The default Emacs buffer encoding to use in published files.
2829
2830 This will be used if no special characters are found.
2831
2832 `muse-latex-markup-specials-document'
2833 A table of characters which must be represented specially. These
2834 are applied to the entire document, sans already-escaped regions.
2835
2836 `muse-latex-markup-specials-example'
2837 A table of characters which must be represented specially. These
2838 are applied to example> regions.
2839
2840 With the default interpretation of <example> regions, no specials
2841 need to be escaped.
2842
2843 `muse-latex-markup-specials-literal'
2844 A table of characters which must be represented specially. This
2845 applies to =monospaced text= and <code> regions.
2846
2847 `muse-latex-markup-specials-url'
2848 A table of characters which must be represented specially. These
2849 are applied to URLs.
2850
2851 `muse-latex-markup-specials-image'
2852 A table of characters which must be represented specially. These
2853 are applied to image filenames.
2854
2855 `muse-latex-permit-contents-tag'
2856 If nil, ignore <contents> tags. Otherwise, insert table of
2857 contents.
2858
2859 Most of the time, it is best to have a table of contents on the
2860 first page, with a new page immediately following. To make this
2861 work with documents published in both HTML and LaTeX, we need to
2862 ignore the <contents> tag.
2863
2864 If you don't agree with this, then set this option to non-nil, and
2865 it will do what you expect.
2866
2867
2868 \1f
2869 File: muse.info, Node: Poem, Next: Texinfo, Prev: LaTeX, Up: Publishing Styles
2870
2871 9.9 Publish a poem to LaTeX or PDF
2872 ==================================
2873
2874 The `muse-poem' module makes it easy to attractively publish and
2875 reference poems in the following format, using the "memoir" module for
2876 LaTeX publishing. It will also markup poems for every other output
2877 style, though none are nearly as pretty.
2878
2879 Title
2880
2881
2882 Body of poem
2883
2884
2885 Annotations, history, notes, etc.
2886
2887 Once a poem is written in this format, just publish it to PDF using
2888 the `poem-pdf' style. To make an inlined reference to a poem that
2889 you've written - for example, from a blog page - there is a "poem" tag
2890 defined by this module.
2891
2892 <poem title="name.of.poem.page">
2893
2894 Let's assume the template above was called `name.of.poem.page'; then
2895 the above tag would result in this inclusion.
2896
2897 ** Title
2898
2899 > Body of poem
2900
2901 John Wiegley uses this module for publishing all of the poems on his
2902 website, which are at `http://www.newartisans.com/johnw/poems.html'.
2903
2904 Styles provided
2905 ---------------
2906
2907 `poem-latex'
2908 Publish a poem in LaTeX form.
2909
2910 `poem-pdf'
2911 Publish a poem to a PDF document.
2912
2913 `chapbook-latex'
2914 Publish a book of poems in LaTeX form.
2915
2916 `chapbook-pdf'
2917 Publish a book of poems to a PDF document.
2918
2919
2920 Options provided
2921 ----------------
2922
2923 `muse-poem-latex-header'
2924 Header used for publishing LaTeX poems.
2925
2926 This may be text or a filename.
2927
2928 `muse-poem-latex-footer'
2929 Footer used for publishing LaTeX files.
2930
2931 This may be text or a filename.
2932
2933 `muse-poem-markup-strings'
2934 Strings used for marking up poems.
2935
2936 These cover the most basic kinds of markup, the handling of which
2937 differs little between the various styles.
2938
2939 `muse-chapbook-latex-header'
2940 Header used for publishing a book of poems in LaTeX form.
2941
2942 This may be text or a filename.
2943
2944 `muse-chapbook-latex-footer'
2945 Footer used for publishing a book of poems in LaTeX form.
2946
2947 This may be text or a filename.
2948
2949 `muse-poem-chapbook-strings'
2950 Strings used for marking up books of poems.
2951
2952 These cover the most basic kinds of markup, the handling of which
2953 differs little between the various styles.
2954
2955
2956 \1f
2957 File: muse.info, Node: Texinfo, Next: XML, Prev: Poem, Up: Publishing Styles
2958
2959 9.10 Publish entries to Texinfo format or PDF
2960 =============================================
2961
2962 Rules for publishing a Muse file as a Texinfo article.
2963
2964 Styles provided
2965 ---------------
2966
2967 `texi'
2968 Publish a file in Texinfo form.
2969
2970 `info'
2971 Generate an Info file from a Muse file.
2972
2973 `info-pdf'
2974 Publish a file in PDF form.
2975
2976
2977 Options provided
2978 ----------------
2979
2980 `muse-texinfo-process-natively'
2981 If non-nil, use the Emacs `texinfmt' module to make Info files.
2982
2983 `muse-texinfo-extension'
2984 Default file extension for publishing Texinfo files.
2985
2986 `muse-texinfo-info-extension'
2987 Default file extension for publishing Info files.
2988
2989 `muse-texinfo-pdf-extension'
2990 Default file extension for publishing PDF files.
2991
2992 `muse-texinfo-header'
2993 Text to prepend to a Muse page being published as Texinfo.
2994
2995 This may be text or a filename. It may contain <lisp> markup tags.
2996
2997 `muse-texinfo-footer'
2998 Text to append to a Muse page being published as Texinfo.
2999
3000 This may be text or a filename. It may contain <lisp> markup tags.
3001
3002 `muse-texinfo-markup-regexps'
3003 List of markup rules for publishing a Muse page to Texinfo.
3004
3005 For more on the structure of this list, *Note
3006 muse-publish-markup-regexps::.
3007
3008 `muse-texinfo-markup-functions'
3009 An alist of style types to custom functions for that kind of text.
3010
3011 For more on the structure of this list, *Note
3012 muse-publish-markup-functions::.
3013
3014 `muse-texinfo-markup-strings'
3015 Strings used for marking up text.
3016
3017 These cover the most basic kinds of markup, the handling of which
3018 differs little between the various styles.
3019
3020 `muse-texinfo-markup-specials'
3021 A table of characters which must be represented specially.
3022
3023 `muse-texinfo-markup-specials'
3024 A table of characters which must be represented specially. These
3025 are applied to URLs.
3026
3027
3028 \1f
3029 File: muse.info, Node: XML, Prev: Texinfo, Up: Publishing Styles
3030
3031 9.11 Publish entries to XML
3032 ===========================
3033
3034 Muse is capable of publishing XML documents, with the help of the
3035 `muse-xml.el' module.
3036
3037 A RelaxNG schema is available as part of the Muse distribution in the
3038 `etc/muse.rnc' file.
3039
3040 Styles provided
3041 ---------------
3042
3043 `xml'
3044 Publish a file in XML form.
3045
3046
3047 Options provided
3048 ----------------
3049
3050 `muse-xml-encoding-map'
3051 An alist mapping Emacs coding systems to appropriate XML charsets.
3052 Use the base name of the coding system (i.e. without the -unix).
3053
3054 `muse-xml-markup-specials'
3055 A table of characters which must be represented specially in all
3056 XML-like markup formats.
3057
3058 `muse-xml-markup-specials-url-extra'
3059 A table of characters which must be represented specially in all
3060 XML-like markup formats.
3061
3062 These are extra characters that are escaped within URLs.
3063
3064 `muse-xml-extension'
3065 Default file extension used for publishing XML files.
3066
3067 `muse-xml-header'
3068 Header used for publishing XML files.
3069
3070 This may be text or a filename.
3071
3072 `muse-xml-footer'
3073 Footer used for publishing XML files.
3074
3075 This may be text or a filename.
3076
3077 `muse-xml-markup-regexps'
3078 List of markup rules for publishing a Muse page to XML.
3079
3080 For more on the structure of this list, *Note
3081 muse-publish-markup-regexps::.
3082
3083 `muse-xml-markup-functions'
3084 An alist of style types to custom functions for that kind of text.
3085
3086 For more on the structure of this list, *Note
3087 muse-publish-markup-functions::.
3088
3089 `muse-xml-markup-strings'
3090 Strings used for marking up text.
3091
3092 These cover the most basic kinds of markup, the handling of which
3093 differs little between the various styles.
3094
3095 `muse-xml-encoding-default'
3096 The default Emacs buffer encoding to use in published files.
3097
3098 This will be used if no special characters are found.
3099
3100 `muse-xml-charset-default'
3101 The default XML charset to use if no translation is found in
3102 `muse-xml-encoding-map'.
3103
3104
3105 \1f
3106 File: muse.info, Node: Extending Muse, Next: Miscellaneous, Prev: Publishing Styles, Up: Top
3107
3108 10 Making your own publishing styles
3109 ************************************
3110
3111 * Menu:
3112
3113 * Markup Functions:: Specifying functions to mark up text.
3114 * Markup Regexps:: Markup rules for publishing.
3115 * Markup Strings:: Strings specific to a publishing style.
3116 * Markup Tags:: Tag specifications for special markup.
3117 * Style Elements:: Parameters used for defining styles.
3118 * Deriving Styles:: Deriving a new style from an existing
3119 one.
3120
3121 \1f
3122 File: muse.info, Node: Markup Functions, Next: Markup Regexps, Up: Extending Muse
3123
3124 10.1 Specifying functions to mark up text
3125 =========================================
3126
3127 `muse-publish-markup-functions'
3128
3129 An alist of style types to custom functions for that kind of text.
3130
3131 This is used by publishing styles to attempt to minimize the amount
3132 of custom regexps that each has to define. `muse-publish' provides
3133 rules for the most common types of markup.
3134
3135 Each member of the list is of the following form.
3136
3137 (SYMBOL FUNCTION)
3138
3139 * SYMBOL Describes the type of text to associate with this rule.
3140 `muse-publish-markup-regexps' maps regexps to these symbols.
3141
3142 * FUNCTION Function to use to mark up this kind of rule if no
3143 suitable function is found through the `:functions' tag of the
3144 current style.
3145
3146 \1f
3147 File: muse.info, Node: Markup Regexps, Next: Markup Strings, Prev: Markup Functions, Up: Extending Muse
3148
3149 10.2 Markup rules for publishing
3150 ================================
3151
3152 `muse-publish-markup-regexps'
3153
3154 List of markup rules for publishing a page with Muse.
3155
3156 The rules given in this variable are invoked first, followed by
3157 whatever rules are specified by the current style.
3158
3159 Each member of the list is either a function, or a list of the
3160 following form.
3161
3162 (REGEXP/SYMBOL TEXT-BEGIN-GROUP REPLACEMENT-TEXT/FUNCTION/SYMBOL)
3163
3164 * REGEXP A regular expression, or symbol whose value is a regular
3165 expression, which is searched for using `re-search-forward'.
3166
3167 * TEXT-BEGIN-GROUP The matching group within that regexp which
3168 denotes the beginning of the actual text to be marked up.
3169
3170 * REPLACEMENT-TEXT A string that will be passed to `replace-match'.
3171
3172 If it is not a string, but a function, it will be called to
3173 determine what the replacement text should be (it must return a
3174 string). If it is a symbol, the value of that symbol should be a
3175 string.
3176
3177 The replacements are done in order, one rule at a time. Writing the
3178 regular expressions can be a tricky business. Note that case is never
3179 ignored. `case-fold-search' is always bound to nil while processing
3180 the markup rules.
3181
3182 Publishing order
3183 ----------------
3184
3185 This is the order that the publishing rules are consulted, by default.
3186 This may be changed by customizing `muse-publish-markup-regexps'.
3187
3188 `trailing and leading whitespace'
3189 Remove trailing and leading whitespace from a file.
3190
3191 `directive'
3192 `#directive'
3193
3194 This is only recognized at the beginning of a file.
3195
3196 `comment'
3197 `; a commented line'
3198
3199 `tag'
3200 `<tag>'
3201
3202 `comment'
3203 `; comment'
3204
3205 `explicit links'
3206 Prevent emphasis characters in explicit links from being marked up.
3207
3208 Don't actually publish them here, just add a special no-emphasis
3209 text property.
3210
3211 `word'
3212 Whitespace-delimited word, possibly with emphasis characters
3213
3214 This function is responsible for marking up emphasis and escaping
3215 some specials.
3216
3217 `heading'
3218 `** Heading'
3219
3220 Outline-mode style headings.
3221
3222 `enddots'
3223 `....'
3224
3225 These are ellipses with a dot at end.
3226
3227 `dots'
3228 `...'
3229
3230 Ellipses.
3231
3232 `rule'
3233 `----'
3234
3235 Horizontal rule or section separator.
3236
3237 `no-break-space'
3238 `~~'
3239
3240 Prevent lines from being split before or after these characters.
3241
3242 `line-break'
3243 `<br>'
3244
3245 Break a line at point.
3246
3247 `fn-sep'
3248 `Footnotes:'
3249
3250 Beginning of footnotes section.
3251
3252 `footnote'
3253 `[1]'
3254
3255 Footnote definition or reference. If at beginning of line, it is a
3256 definition.
3257
3258 `list'
3259 * ` 1. '
3260
3261 * ` - '
3262
3263 * `term :: '
3264
3265 Numbered list, item list, or term definition list.
3266
3267 `table-el'
3268 `table.el' style tables
3269
3270 `table'
3271 `table | cells'
3272
3273 Muse tables or orgtbl-mode style tables.
3274
3275 `quote'
3276 spaces before beginning of text
3277
3278 Blockquotes.
3279
3280 `emdash'
3281 `--'
3282
3283 2-wide dash
3284
3285 `verse'
3286 `> verse text'
3287
3288 `anchor'
3289 `#anchor'
3290
3291 `link'
3292 `[[explicit][links]]'
3293
3294 `url'
3295 `http://example.com/'
3296
3297 `email'
3298 `bare-email@example.com'
3299
3300
3301 \1f
3302 File: muse.info, Node: Markup Strings, Next: Markup Tags, Prev: Markup Regexps, Up: Extending Muse
3303
3304 10.3 Strings specific to a publishing style
3305 ===========================================
3306
3307 "Markup strings" are strings used for marking up text for a particular
3308 style.
3309
3310 These cover the most basic kinds of markup, the handling of which
3311 differs little between the various styles.
3312
3313 Available markup strings
3314 ------------------------
3315
3316 `image-with-desc'
3317 An image and a description.
3318
3319 Argument 1: image without extension. Argument 2: image extension.
3320 Argument 3: description.
3321
3322 `image'
3323 An inlined image.
3324
3325 Argument 1: image without extension. Argument 2: image extension.
3326
3327 `image-link'
3328 An image with a link around it.
3329
3330 Argument 1: link. Argument 2: image without extension. Argument
3331 3: image extension.
3332
3333 `anchor-ref'
3334 A reference to an anchor on the current page.
3335
3336 Argument 1: anchor name. Argument 2: description if one exists,
3337 or the original link otherwise.
3338
3339 `url'
3340 A URL without a description.
3341
3342 Argument 1: URL.
3343
3344 `link'
3345 A link to a Muse page with a description.
3346
3347 Argument 1: link. Argument 2: description if one exists, or the
3348 original link otherwise.
3349
3350 `link-and-anchor'
3351 A link to a Muse page with an anchor, and a description.
3352
3353 Argument 1: link. Argument 2: anchor name. Argument 3:
3354 description if one exists, or the original link otherwise.
3355 Argument 4: link without an extension.
3356
3357 `email-addr'
3358 A link to an email address.
3359
3360 Argument 1: email address. Argument 2: email address.
3361
3362 `anchor'
3363 An anchor.
3364
3365 Argument 1: name of anchor.
3366
3367 `emdash'
3368 A 2-length dash.
3369
3370 Argument 1: Initial whitespace. Argument 2: Terminating
3371 whitespace.
3372
3373 `comment-begin'
3374 Beginning of a comment.
3375
3376 `comment-end'
3377 End of a comment.
3378
3379 `rule'
3380 A horizontal line or space.
3381
3382 `no-break-space'
3383 A space that separates two words which are not to be separated.
3384
3385 `footnote'
3386 Beginning of footnote.
3387
3388 `footnote-end'
3389 End of footnote.
3390
3391 `footnotemark'
3392 Mark a reference for the current footnote.
3393
3394 Argument 1: number of this footnote.
3395
3396 `footnotemark-end'
3397 End of a reference for the current footnote.
3398
3399 `footnotetext'
3400 Indicate the text of the current footnote.
3401
3402 Argument 1: number of this footnote.
3403
3404 `footnotetext-end'
3405 End of a footnote text line.
3406
3407 `fn-sep'
3408 Text used to replace "Footnotes:" line.
3409
3410 `dots'
3411 3 dots.
3412
3413 `enddots'
3414 4 dots.
3415
3416 `part'
3417 Beginning of a part indicator line. This is used by book
3418 publishing.
3419
3420 `part-end'
3421 End of a part indicator line. This is used by book publishing.
3422
3423 `chapter'
3424 Beginning of a chapter indicator line. This is used by book
3425 publishing.
3426
3427 `chapter-end'
3428 End of a chapter indicator line. This is used by book publishing.
3429
3430 `section'
3431 Beginning of level 1 section indicator line.
3432
3433 Argument 1: level of section; always 1.
3434
3435 `section-end'
3436 End of level 1 section indicator line.
3437
3438 Argument 1: level of section; always 1.
3439
3440 `subsection'
3441 Beginning of level 2 section indicator line.
3442
3443 Argument 1: level of section; always 2.
3444
3445 `subsection-end'
3446 End of level 2 section indicator line.
3447
3448 Argument 1: level of section; always 2.
3449
3450 `subsubsection'
3451 Beginning of level 3 section indicator line.
3452
3453 Argument 1: level of section; always 3.
3454
3455 `subsubsection-end'
3456 End of level 3 section indicator line.
3457
3458 Argument 1: level of section; always 3.
3459
3460 `section-other'
3461 Beginning of section indicator line, where level is greater than 3.
3462
3463 Argument 1: level of section.
3464
3465 `section-other-end'
3466 End of section indicator line, where level is greater than 3.
3467
3468 Argument 1: level of section.
3469
3470 `begin-underline'
3471 Beginning of underlined text.
3472
3473 `end-underline'
3474 End of underlined text.
3475
3476 `begin-literal'
3477 Beginning of verbatim text. This includes <code> tags and
3478 =teletype text=.
3479
3480 `end-literal'
3481 End of verbatim text. This includes <code> tags and =teletype
3482 text=.
3483
3484 `begin-emph'
3485 Beginning of the first level of emphasized text.
3486
3487 `end-emph'
3488 End of the first level of emphasized text.
3489
3490 `begin-more-emph'
3491 Beginning of the second level of emphasized text.
3492
3493 `end-more-emph'
3494 End of the second level of emphasized text.
3495
3496 `begin-most-emph'
3497 Beginning of the third (and final) level of emphasized text.
3498
3499 `end-most-emph'
3500 End of the third (and final) level of emphasized text.
3501
3502 `begin-verse'
3503 Beginning of verse text.
3504
3505 `verse-space'
3506 String used to each space that is further indented than the
3507 beginning of the verse.
3508
3509 `begin-verse-line'
3510 Beginning of a line of verse.
3511
3512 `empty-verse-line'
3513 End of a line of verse.
3514
3515 `begin-last-stanza-line'
3516 Beginning of the last line of a verse stanza.
3517
3518 `end-last-stanza-line'
3519 End of the last line of a verse stanza.
3520
3521 `end-verse'
3522 End of verse text.
3523
3524 `begin-example'
3525 Beginning of an example region. To make use of this, an
3526 `<example>' tag is needed.
3527
3528 `end-example'
3529 End of an example region. To make use of this, an `</example>' tag
3530 is needed.
3531
3532 `begin-center'
3533 Begin a centered line.
3534
3535 `end-center'
3536 End a centered line.
3537
3538 `begin-quote'
3539 Begin a quoted region.
3540
3541 `end-quote'
3542 End a quoted region.
3543
3544 `begin-quote-item'
3545 Begin a quote paragraph.
3546
3547 `end-quote-item'
3548 End a quote paragraph.
3549
3550 `begin-uli'
3551 Begin an unordered list.
3552
3553 `end-uli'
3554 End an unordered list.
3555
3556 `begin-uli-item'
3557 Begin an unordered list item.
3558
3559 `end-uli-item'
3560 End an unordered list item.
3561
3562 `begin-oli'
3563 Begin an ordered list.
3564
3565 `end-oli'
3566 End an ordered list.
3567
3568 `begin-oli-item'
3569 Begin an ordered list item.
3570
3571 `end-oli-item'
3572 End an ordered list item.
3573
3574 `begin-dl'
3575 Begin a definition list.
3576
3577 `end-dl'
3578 End a definition list.
3579
3580 `begin-dl-item'
3581 Begin a definition list item.
3582
3583 `end-dl-item'
3584 End a definition list item.
3585
3586 `begin-ddt'
3587 Begin a definition list term.
3588
3589 `end-ddt'
3590 End a definition list term.
3591
3592 `begin-dde'
3593 Begin a definition list entry.
3594
3595 `end-dde'
3596 End a definition list entry.
3597
3598 `begin-table'
3599 Begin a table.
3600
3601 `end-table'
3602 End a table.
3603
3604 `begin-table-group'
3605 Begin a table grouping.
3606
3607 `end-table-group'
3608 End a table grouping.
3609
3610 `begin-table-row'
3611 Begin a table row.
3612
3613 `end-table-row'
3614 End a table row.
3615
3616 `begin-table-entry'
3617 Begin a table entry.
3618
3619 `end-table-entry'
3620 End a table entry.
3621
3622
3623 \1f
3624 File: muse.info, Node: Markup Tags, Next: Style Elements, Prev: Markup Strings, Up: Extending Muse
3625
3626 10.4 Tag specifications for special markup
3627 ==========================================
3628
3629 `muse-publish-markup-tags'
3630
3631 A list of tag specifications, for specially marking up text.
3632
3633 XML-style tags are the best way to add custom markup to Muse. This
3634 is easily accomplished by customizing this list of markup tags.
3635
3636 For each entry, the name of the tag is given, whether it expects a
3637 closing tag and/or an optional set of attributes, whether it is
3638 nestable, and a function that performs whatever action is desired within
3639 the delimited region.
3640
3641 The tags themselves are deleted during publishing, before the
3642 function is called. The function is called with three arguments, the
3643 beginning and end of the region surrounded by the tags. If properties
3644 are allowed, they are passed as a third argument in the form of an
3645 alist. The `end' argument to the function is always a marker.
3646
3647 Point is always at the beginning of the region within the tags, when
3648 the function is called. Wherever point is when the function finishes is
3649 where tag markup will resume.
3650
3651 These tag rules are processed once at the beginning of markup, and
3652 once at the end, to catch any tags which may have been inserted
3653 in-between.
3654
3655 \1f
3656 File: muse.info, Node: Style Elements, Next: Deriving Styles, Prev: Markup Tags, Up: Extending Muse
3657
3658 10.5 Parameters used for defining styles
3659 ========================================
3660
3661 Style elements are tags that define a style. Use either
3662 `muse-define-style' or `muse-derive-style' (*note Deriving Styles::) to
3663 create a new style.
3664
3665 -- Function: muse-define-style name &rest elements
3666
3667 Usable elements
3668 ---------------
3669
3670 `:suffix'
3671 File extension to use for publishing files with this style.
3672
3673 `:link-suffix'
3674 File extension to use for publishing links to Muse files with this
3675 style.
3676
3677 `:osuffix'
3678 File extension to use for publishing second-stage files with this
3679 style.
3680
3681 For example, PDF publishing generates a LaTeX file first, then a
3682 PDF from that LaTeX file.
3683
3684 `:regexps'
3685 List of markup rules for publishing a page with Muse. *Note
3686 muse-publish-markup-regexps::.
3687
3688 `:functions'
3689 An alist of style types to custom functions for that kind of text.
3690 *Note muse-publish-markup-functions::.
3691
3692 `:strings'
3693 Strings used for marking up text with this style.
3694
3695 These cover the most basic kinds of markup, the handling of which
3696 differs little between the various styles.
3697
3698 `:tags'
3699 A list of tag specifications, used for handling extra tags. *Note
3700 muse-publish-markup-tags::.
3701
3702 `:specials'
3703 A table of characters which must be represented specially.
3704
3705 `:before'
3706 A function that is to be executed on the newly-created publishing
3707 buffer (or the current region) before any publishing occurs.
3708
3709 This is used to set extra parameters that direct the publishing
3710 process.
3711
3712 `:before-end'
3713 A function that is to be executed on the publishing buffer (or the
3714 current region) immediately after applying all of the markup
3715 regexps.
3716
3717 This is used to fix the order of table elements (header, footer,
3718 body) in XML-ish styles.
3719
3720 `:after'
3721 A function that is to be executed on the publishing buffer after
3722 :before-end, and immediately after inserting the header and footer.
3723
3724 This is used for generating the table of contents as well as
3725 setting the file coding system.
3726
3727 `:final'
3728 A function that is to be executed after saving the published file,
3729 but while still in its buffer.
3730
3731 This is used for generating second-stage documents like PDF files
3732 from just-published LaTeX files.
3733
3734 The function must accept three arguments: the name of the muse
3735 source file, the name of the just-published file, and the name of
3736 the second-stage target file. The name of the second-stage target
3737 file is the same as that of the just-published file if no
3738 second-stage publishing is required.
3739
3740 `:header'
3741 Header used for publishing files of this style.
3742
3743 This may be a variable, text, or a filename. It is inserted at the
3744 beginning of a file, after evaluating the publishing markup.
3745
3746 `:footer'
3747 Footer used for publishing files of this style.
3748
3749 This may be a variable, text, or a filename. It is inserted at
3750 the end of a file, after evaluating the publishing markup.
3751
3752 `:style-sheet'
3753 Style sheet used for publishing files of this style.
3754
3755 This may be a variable or text. It is used in the header of HTML
3756 and XHTML based publishing styles.
3757
3758 `:browser'
3759 The function used to browse the published result of files of this
3760 style.
3761
3762
3763 \1f
3764 File: muse.info, Node: Deriving Styles, Prev: Style Elements, Up: Extending Muse
3765
3766 10.6 Deriving a new style from an existing one
3767 ==============================================
3768
3769 To create a new style from an existing one, use `muse-derive-style' as
3770 follows. This is a good way to fix something you don't like about a
3771 particular publishing style, or to personalize it.
3772
3773 -- Function: muse-derive-style new-name base-name &rest elements
3774
3775 The derived name is a string defining the new style, such as
3776 "my-html". The base name must identify an existing style, such as
3777 "html" - if you have loaded `muse-html'. The style parameters are the
3778 same as those used to create a style, except that they override whatever
3779 definitions exist in the base style. However, some definitions only
3780 partially override. The following parameters support partial
3781 overriding.
3782
3783 *Note Style Elements::, for a complete list of all parameters.
3784
3785 `:functions'
3786 If a markup function is not found in the derived style's function
3787 list, the base style's function list will be queried.
3788
3789 `:regexps'
3790 All regexps in the current style and the base style(s) will be
3791 used.
3792
3793 `:strings'
3794 If a markup string is not found in the derived style's string
3795 list, the base style's string list will be queried.
3796
3797
3798 \1f
3799 File: muse.info, Node: Miscellaneous, Next: Getting Help and Reporting Bugs, Prev: Extending Muse, Up: Top
3800
3801 11 Miscellaneous add-ons, like a minor mode
3802 *******************************************
3803
3804 * Menu:
3805
3806 * Muse List Edit Minor Mode:: Edit lists easily in other major modes.
3807
3808 \1f
3809 File: muse.info, Node: Muse List Edit Minor Mode, Up: Miscellaneous
3810
3811 11.1 Edit lists easily in other major modes
3812 ===========================================
3813
3814 `muse-list-edit-minor-mode' is meant to be used with other major modes,
3815 such as Message (for composing email) and debian-changelog-mode (for
3816 editing debian/changelog files).
3817
3818 It implements practically perfect support for editing and filling
3819 lists. It can even handle nested lists. In addition to Muse-specific
3820 list items ("-", numbers, definition lists, footnotes), it can also
3821 handle items that begin with "*" or "+". Filling list items behaves in
3822 the same way that it does in Muse, regardless of whether filladapt is
3823 also enabled, which is the primary reason to use this tool.
3824
3825 Installation
3826 ------------
3827
3828 To use it, add "(require 'muse-mode)" to your Emacs customization file
3829 and add the function `turn-on-muse-list-edit-minor-mode' to any mode
3830 hooks where you wish to enable this minor mode.
3831
3832 Keybindings
3833 -----------
3834
3835 `muse-list-edit-minor-mode' uses the following keybindings.
3836
3837 `M-RET (`muse-l-e-m-m-insert-list-item')'
3838 Insert a new list item at point, using the indentation level of the
3839 current list item.
3840
3841 `C-< (`muse-l-e-m-m-decrease-list-item-indent')'
3842 Decrease indentation of the current list item.
3843
3844 `C-> (`muse-l-e-m-m-increase-list-item-indent')'
3845 Increase indentation of the current list item.
3846
3847
3848 Functions
3849 ---------
3850
3851 -- Function: muse-list-edit-minor-mode
3852 This is a global minor mode for editing files with lists. It is
3853 meant to be used with other major modes, and not with Muse mode.
3854
3855 Interactively, with no prefix argument, toggle the mode. With
3856 universal prefix ARG turn mode on. With zero or negative ARG turn
3857 mode off.
3858
3859 This minor mode provides the Muse keybindings for editing lists,
3860 and support for filling lists properly.
3861
3862 It recognizes not only Muse-style lists, which use the "-"
3863 character or numbers, but also lists that use asterisks or plus
3864 signs. This should make the minor mode generally useful.
3865
3866 Definition lists and footnotes are also recognized.
3867
3868 Note that list items may omit leading spaces, for compatibility
3869 with modes that set `left-margin', such as `debian-changelog-mode'.
3870
3871 -- Function: turn-on-muse-list-edit-minor-mode
3872 Unconditionally turn on Muse list edit minor mode.
3873
3874 -- Function: turn-off-muse-list-edit-minor-mode
3875 Unconditionally turn off Muse list edit minor mode.
3876
3877 \1f
3878 File: muse.info, Node: Getting Help and Reporting Bugs, Next: History, Prev: Miscellaneous, Up: Top
3879
3880 12 Getting Help and Reporting Bugs
3881 **********************************
3882
3883 After you have read this guide, if you still have questions about Muse,
3884 or if you have bugs to report, there are several places you can go.
3885
3886 * `http://www.emacswiki.org/cgi-bin/wiki/EmacsMuse' is the
3887 emacswiki.org page, and anyone may add tips, hints, or bug
3888 descriptions to it.
3889
3890 * `http://mwolson.org/projects/EmacsMuse.html' is the web page that
3891 Michael Olson (the current maintainer) made for Muse.
3892
3893 * Muse has several different mailing lists.
3894
3895 `muse-el-announce'
3896 Low-traffic list for Muse-related announcements.
3897
3898 You can join this mailing list (<muse-el-announce@gna.org>)
3899 using the subscription form at
3900 `http://mail.gna.org/listinfo/muse-el-announce/'. This
3901 mailing list is also available via Gmane
3902 (`http://gmane.org/'). The group is called
3903 `gmane.emacs.muse.announce'.
3904
3905 `muse-el-discuss'
3906 Discussion, bugfixes, suggestions, tips, and the like for
3907 Muse. This mailing list also includes the content of
3908 muse-el-announce.
3909
3910 You can join this mailing list (<muse-el-discuss@gna.org>)
3911 using the subscription form at
3912 `http://mail.gna.org/listinfo/muse-el-discuss/'. This mailing
3913 list is also available via Gmane with the identifier
3914 `gmane.emacs.muse.general'.
3915
3916 `muse-el-logs'
3917 Log messages for commits made to Muse.
3918
3919 You can join this mailing list (<muse-el-logs@gna.org>) using
3920 the subscription form at
3921 `http://mail.gna.org/listinfo/muse-el-logs/'. This mailing
3922 list is also available via Gmane with the identifier
3923 `gmane.emacs.muse.scm'.
3924
3925 `muse-el-commits'
3926 Generated bug reports for Emacs Muse. If you use our
3927 bug-tracker at `https://gna.org/bugs/?group=muse-el', the bug
3928 reports will be sent to this list automatically.
3929
3930 You can join this mailing list (<muse-el-commits@gna.org>)
3931 using the subscription form at
3932 `http://mail.gna.org/listinfo/muse-el-commits/'. This
3933 mailing list is also available via Gmane with the identifier
3934 `gmane.emacs.muse.cvs'.
3935
3936 `muse-el-internationalization'
3937 Discussion of translation of the Muse website and
3938 documentation into many languages.
3939
3940 You can join this mailing list
3941 (<muse-el-internationalization@gna.org>) using the
3942 subscription form at
3943 `http://mail.gna.org/listinfo/internationalization/'. This
3944 mailing list is also available via Gmane with the identifier
3945 `gmane.emacs.muse.internationalization'.
3946
3947
3948 * You can visit the IRC Freenode channel `#emacs'. Many of the
3949 contributors are frequently around and willing to answer your
3950 questions. The `#muse' channel is also available for
3951 Muse-specific help, and its current maintainer hangs out there.
3952
3953 * The maintainer of Emacs Muse, Michael Olson, may be contacted at
3954 <mwolson@gnu.org>. He can be rather slow at answering email, so
3955 it is often better to use the muse-el-discuss mailing list.
3956
3957
3958 \1f
3959 File: muse.info, Node: History, Next: Contributors, Prev: Getting Help and Reporting Bugs, Up: Top
3960
3961 13 History of This Document
3962 ***************************
3963
3964 * 2004 John Wiegley started Muse upon realizing that EmacsWiki had
3965 some serious limitations. Around February 2004, he started making
3966 "emacs-wiki version 3.00 APLHA", which eventually became known as
3967 Muse.
3968
3969 Most of those who frequent the emacs-wiki mailing list continued
3970 to use emacs-wiki, mainly because Planner hasn't been ported over
3971 to it.
3972
3973 As of 2004-12-01, Michael Olson became the maintainer of Muse, as
3974 per John Wiegley's request.
3975
3976 * 2005 Michael Olson overhauled this document and added many new
3977 sections in preparation for the first release of Muse (3.01).
3978
3979
3980 \1f
3981 File: muse.info, Node: Contributors, Next: GNU Free Documentation License, Prev: History, Up: Top
3982
3983 14 Contributors to This Documentation
3984 *************************************
3985
3986 The first draft of this document was taken from the emacs-wiki texinfo
3987 manual. Michael Olson adapted it for Muse and added most of its
3988 content.
3989
3990 John Sullivan did a majority of the work on the emacs-wiki texinfo
3991 manual.
3992
3993 While Sacha Chua maintained emacs-wiki, she worked quite a bit on the
3994 emacs-wiki texinfo manual.
3995
3996 \1f
3997 File: muse.info, Node: GNU Free Documentation License, Next: Concept Index, Prev: Contributors, Up: Top
3998
3999 Appendix A GNU Free Documentation License
4000 *****************************************
4001
4002 Version 1.2, November 2002
4003
4004 Copyright (C) 2000,2001,2002 Free Software Foundation, Inc.
4005 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
4006
4007 Everyone is permitted to copy and distribute verbatim copies
4008 of this license document, but changing it is not allowed.
4009
4010
4011 0. PREAMBLE
4012
4013 The purpose of this License is to make a manual, textbook, or other
4014 functional and useful document "free" in the sense of freedom: to
4015 assure everyone the effective freedom to copy and redistribute it,
4016 with or without modifying it, either commercially or
4017 noncommercially. Secondarily, this License preserves for the
4018 author and publisher a way to get credit for their work, while not
4019 being considered responsible for modifications made by others.
4020
4021 This License is a kind of "copyleft," which means that derivative
4022 works of the document must themselves be free in the same sense.
4023 It complements the GNU General Public License, which is a copyleft
4024 license designed for free software.
4025
4026 We have designed this License in order to use it for manuals for
4027 free software, because free software needs free documentation: a
4028 free program should come with manuals providing the same freedoms
4029 that the software does. But this License is not limited to
4030 software manuals; it can be used for any textual work, regardless
4031 of subject matter or whether it is published as a printed book.
4032 We recommend this License principally for works whose purpose is
4033 instruction or reference.
4034
4035
4036 1. APPLICABILITY AND DEFINITIONS
4037
4038 This License applies to any manual or other work, in any medium,
4039 that contains a notice placed by the copyright holder saying it
4040 can be distributed under the terms of this License. Such a notice
4041 grants a world-wide, royalty-free license, unlimited in duration,
4042 to use that work under the conditions stated herein. The
4043 "Document," below, refers to any such manual or work. Any member
4044 of the public is a licensee, and is addressed as "you." You
4045 accept the license if you copy, modify or distribute the work in a
4046 way requiring permission under copyright law.
4047
4048 A "Modified Version" of the Document means any work containing the
4049 Document or a portion of it, either copied verbatim, or with
4050 modifications and/or translated into another language.
4051
4052 A "Secondary Section" is a named appendix or a front-matter
4053 section of the Document that deals exclusively with the
4054 relationship of the publishers or authors of the Document to the
4055 Document's overall subject (or to related matters) and contains
4056 nothing that could fall directly within that overall subject.
4057 (Thus, if the Document is in part a textbook of mathematics, a
4058 Secondary Section may not explain any mathematics.) The
4059 relationship could be a matter of historical connection with the
4060 subject or with related matters, or of legal, commercial,
4061 philosophical, ethical or political position regarding them.
4062
4063 The "Invariant Sections" are certain Secondary Sections whose
4064 titles are designated, as being those of Invariant Sections, in
4065 the notice that says that the Document is released under this
4066 License. If a section does not fit the above definition of
4067 Secondary then it is not allowed to be designated as Invariant.
4068 The Document may contain zero Invariant Sections. If the Document
4069 does not identify any Invariant Sections then there are none.
4070
4071 The "Cover Texts" are certain short passages of text that are
4072 listed, as Front-Cover Texts or Back-Cover Texts, in the notice
4073 that says that the Document is released under this License. A
4074 Front-Cover Text may be at most 5 words, and a Back-Cover Text may
4075 be at most 25 words.
4076
4077 A "Transparent" copy of the Document means a machine-readable copy,
4078 represented in a format whose specification is available to the
4079 general public, that is suitable for revising the document
4080 straightforwardly with generic text editors or (for images
4081 composed of pixels) generic paint programs or (for drawings) some
4082 widely available drawing editor, and that is suitable for input to
4083 text formatters or for automatic translation to a variety of
4084 formats suitable for input to text formatters. A copy made in an
4085 otherwise Transparent file format whose markup, or absence of
4086 markup, has been arranged to thwart or discourage subsequent
4087 modification by readers is not Transparent. An image format is
4088 not Transparent if used for any substantial amount of text. A
4089 copy that is not "Transparent" is called "Opaque."
4090
4091 Examples of suitable formats for Transparent copies include plain
4092 ASCII without markup, Texinfo input format, LaTeX input format,
4093 SGML or XML using a publicly available DTD, and
4094 standard-conforming simple HTML, PostScript or PDF designed for
4095 human modification. Examples of transparent image formats include
4096 PNG, XCF and JPG. Opaque formats include proprietary formats that
4097 can be read and edited only by proprietary word processors, SGML
4098 or XML for which the DTD and/or processing tools are not generally
4099 available, and the machine-generated HTML, PostScript or PDF
4100 produced by some word processors for output purposes only.
4101
4102 The "Title Page" means, for a printed book, the title page itself,
4103 plus such following pages as are needed to hold, legibly, the
4104 material this License requires to appear in the title page. For
4105 works in formats which do not have any title page as such, "Title
4106 Page" means the text near the most prominent appearance of the
4107 work's title, preceding the beginning of the body of the text.
4108
4109 A section "Entitled XYZ" means a named subunit of the Document
4110 whose title either is precisely XYZ or contains XYZ in parentheses
4111 following text that translates XYZ in another language. (Here XYZ
4112 stands for a specific section name mentioned below, such as
4113 "Acknowledgements," "Dedications," "Endorsements," or "History.")
4114 To "Preserve the Title" of such a section when you modify the
4115 Document means that it remains a section "Entitled XYZ" according
4116 to this definition.
4117
4118 The Document may include Warranty Disclaimers next to the notice
4119 which states that this License applies to the Document. These
4120 Warranty Disclaimers are considered to be included by reference in
4121 this License, but only as regards disclaiming warranties: any other
4122 implication that these Warranty Disclaimers may have is void and
4123 has no effect on the meaning of this License.
4124
4125 2. VERBATIM COPYING
4126
4127 You may copy and distribute the Document in any medium, either
4128 commercially or noncommercially, provided that this License, the
4129 copyright notices, and the license notice saying this License
4130 applies to the Document are reproduced in all copies, and that you
4131 add no other conditions whatsoever to those of this License. You
4132 may not use technical measures to obstruct or control the reading
4133 or further copying of the copies you make or distribute. However,
4134 you may accept compensation in exchange for copies. If you
4135 distribute a large enough number of copies you must also follow
4136 the conditions in section 3.
4137
4138 You may also lend copies, under the same conditions stated above,
4139 and you may publicly display copies.
4140
4141 3. COPYING IN QUANTITY
4142
4143 If you publish printed copies (or copies in media that commonly
4144 have printed covers) of the Document, numbering more than 100, and
4145 the Document's license notice requires Cover Texts, you must
4146 enclose the copies in covers that carry, clearly and legibly, all
4147 these Cover Texts: Front-Cover Texts on the front cover, and
4148 Back-Cover Texts on the back cover. Both covers must also clearly
4149 and legibly identify you as the publisher of these copies. The
4150 front cover must present the full title with all words of the
4151 title equally prominent and visible. You may add other material
4152 on the covers in addition. Copying with changes limited to the
4153 covers, as long as they preserve the title of the Document and
4154 satisfy these conditions, can be treated as verbatim copying in
4155 other respects.
4156
4157 If the required texts for either cover are too voluminous to fit
4158 legibly, you should put the first ones listed (as many as fit
4159 reasonably) on the actual cover, and continue the rest onto
4160 adjacent pages.
4161
4162 If you publish or distribute Opaque copies of the Document
4163 numbering more than 100, you must either include a
4164 machine-readable Transparent copy along with each Opaque copy, or
4165 state in or with each Opaque copy a computer-network location from
4166 which the general network-using public has access to download
4167 using public-standard network protocols a complete Transparent
4168 copy of the Document, free of added material. If you use the
4169 latter option, you must take reasonably prudent steps, when you
4170 begin distribution of Opaque copies in quantity, to ensure that
4171 this Transparent copy will remain thus accessible at the stated
4172 location until at least one year after the last time you
4173 distribute an Opaque copy (directly or through your agents or
4174 retailers) of that edition to the public.
4175
4176 It is requested, but not required, that you contact the authors of
4177 the Document well before redistributing any large number of
4178 copies, to give them a chance to provide you with an updated
4179 version of the Document.
4180
4181 4. MODIFICATIONS
4182
4183 You may copy and distribute a Modified Version of the Document
4184 under the conditions of sections 2 and 3 above, provided that you
4185 release the Modified Version under precisely this License, with
4186 the Modified Version filling the role of the Document, thus
4187 licensing distribution and modification of the Modified Version to
4188 whoever possesses a copy of it. In addition, you must do these
4189 things in the Modified Version:
4190
4191 A. Use in the Title Page (and on the covers, if any) a title
4192 distinct from that of the Document, and from those of previous
4193 versions (which should, if there were any, be listed in the
4194 History section of the Document). You may use the same title
4195 as a previous version if the original publisher of that version
4196 gives permission.
4197 B. List on the Title Page, as authors, one or more persons or
4198 entities responsible for authorship of the modifications in the
4199 Modified Version, together with at least five of the principal
4200 authors of the Document (all of its principal authors, if it
4201 has fewer than five), unless they release you from this
4202 requirement.
4203 C. State on the Title page the name of the publisher of the
4204 Modified Version, as the publisher.
4205 D. Preserve all the copyright notices of the Document.
4206 E. Add an appropriate copyright notice for your modifications
4207 adjacent to the other copyright notices.
4208 F. Include, immediately after the copyright notices, a license
4209 notice giving the public permission to use the Modified Version
4210 under the terms of this License, in the form shown in the
4211 Addendum below.
4212 G. Preserve in that license notice the full lists of Invariant
4213 Sections and required Cover Texts given in the Document's
4214 license notice.
4215 H. Include an unaltered copy of this License.
4216 I. Preserve the section Entitled "History," Preserve its Title,
4217 and add to it an item stating at least the title, year, new
4218 authors, and publisher of the Modified Version as given on the
4219 Title Page. If there is no section Entitled "History" in the
4220 Document, create one stating the title, year, authors, and
4221 publisher of the Document as given on its Title Page, then add
4222 an item describing the Modified Version as stated in the
4223 previous sentence.
4224 J. Preserve the network location, if any, given in the Document for
4225 public access to a Transparent copy of the Document, and likewise
4226 the network locations given in the Document for previous versions
4227 it was based on. These may be placed in the "History" section.
4228 You may omit a network location for a work that was published at
4229 least four years before the Document itself, or if the original
4230 publisher of the version it refers to gives permission.
4231 K. For any section Entitled "Acknowledgements" or "Dedications,"
4232 Preserve the Title of the section, and preserve in the section all
4233 the substance and tone of each of the contributor
4234 acknowledgements and/or dedications given therein.
4235 L. Preserve all the Invariant Sections of the Document,
4236 unaltered in their text and in their titles. Section numbers
4237 or the equivalent are not considered part of the section titles.
4238 M. Delete any section Entitled "Endorsements." Such a section
4239 may not be included in the Modified Version.
4240 N. Do not retitle any existing section to be Entitled
4241 "Endorsements" or to conflict in title with any Invariant
4242 Section.
4243 O. Preserve any Warranty Disclaimers.
4244
4245 If the Modified Version includes new front-matter sections or
4246 appendices that qualify as Secondary Sections and contain no
4247 material copied from the Document, you may at your option
4248 designate some or all of these sections as invariant. To do this,
4249 add their titles to the list of Invariant Sections in the Modified
4250 Version's license notice. These titles must be distinct from any
4251 other section titles.
4252
4253 You may add a section Entitled "Endorsements," provided it contains
4254 nothing but endorsements of your Modified Version by various
4255 parties-for example, statements of peer review or that the text has
4256 been approved by an organization as the authoritative definition
4257 of a standard.
4258
4259 You may add a passage of up to five words as a Front-Cover Text,
4260 and a passage of up to 25 words as a Back-Cover Text, to the end
4261 of the list of Cover Texts in the Modified Version. Only one
4262 passage of Front-Cover Text and one of Back-Cover Text may be
4263 added by (or through arrangements made by) any one entity. If the
4264 Document already includes a cover text for the same cover,
4265 previously added by you or by arrangement made by the same entity
4266 you are acting on behalf of, you may not add another; but you may
4267 replace the old one, on explicit permission from the previous
4268 publisher that added the old one.
4269
4270 The author(s) and publisher(s) of the Document do not by this
4271 License give permission to use their names for publicity for or to
4272 assert or imply endorsement of any Modified Version.
4273
4274 5. COMBINING DOCUMENTS
4275
4276 You may combine the Document with other documents released under
4277 this License, under the terms defined in section 4 above for
4278 modified versions, provided that you include in the combination
4279 all of the Invariant Sections of all of the original documents,
4280 unmodified, and list them all as Invariant Sections of your
4281 combined work in its license notice, and that you preserve all
4282 their Warranty Disclaimers.
4283
4284 The combined work need only contain one copy of this License, and
4285 multiple identical Invariant Sections may be replaced with a single
4286 copy. If there are multiple Invariant Sections with the same name
4287 but different contents, make the title of each such section unique
4288 by adding at the end of it, in parentheses, the name of the
4289 original author or publisher of that section if known, or else a
4290 unique number. Make the same adjustment to the section titles in
4291 the list of Invariant Sections in the license notice of the
4292 combined work.
4293
4294 In the combination, you must combine any sections Entitled
4295 "History" in the various original documents, forming one section
4296 Entitled "History"; likewise combine any sections Entitled
4297 "Acknowledgements," and any sections Entitled "Dedications." You
4298 must delete all sections Entitled "Endorsements."
4299
4300 6. COLLECTIONS OF DOCUMENTS
4301
4302 You may make a collection consisting of the Document and other
4303 documents released under this License, and replace the individual
4304 copies of this License in the various documents with a single copy
4305 that is included in the collection, provided that you follow the
4306 rules of this License for verbatim copying of each of the
4307 documents in all other respects.
4308
4309 You may extract a single document from such a collection, and
4310 distribute it individually under this License, provided you insert
4311 a copy of this License into the extracted document, and follow
4312 this License in all other respects regarding verbatim copying of
4313 that document.
4314
4315 7. AGGREGATION WITH INDEPENDENT WORKS
4316
4317 A compilation of the Document or its derivatives with other
4318 separate and independent documents or works, in or on a volume of
4319 a storage or distribution medium, is called an "aggregate" if the
4320 copyright resulting from the compilation is not used to limit the
4321 legal rights of the compilation's users beyond what the individual
4322 works permit. When the Document is included in an aggregate, this
4323 License does not apply to the other works in the aggregate which
4324 are not themselves derivative works of the Document.
4325
4326 If the Cover Text requirement of section 3 is applicable to these
4327 copies of the Document, then if the Document is less than one half
4328 of the entire aggregate, the Document's Cover Texts may be placed
4329 on covers that bracket the Document within the aggregate, or the
4330 electronic equivalent of covers if the Document is in electronic
4331 form. Otherwise they must appear on printed covers that bracket
4332 the whole aggregate.
4333
4334 8. TRANSLATION
4335
4336 Translation is considered a kind of modification, so you may
4337 distribute translations of the Document under the terms of section
4338 4. Replacing Invariant Sections with translations requires special
4339 permission from their copyright holders, but you may include
4340 translations of some or all Invariant Sections in addition to the
4341 original versions of these Invariant Sections. You may include a
4342 translation of this License, and all the license notices in the
4343 Document, and any Warranty Disclaimers, provided that you also
4344 include the original English version of this License and the
4345 original versions of those notices and disclaimers. In case of a
4346 disagreement between the translation and the original version of
4347 this License or a notice or disclaimer, the original version will
4348 prevail.
4349
4350 If a section in the Document is Entitled "Acknowledgements,"
4351 "Dedications," or "History," the requirement (section 4) to
4352 Preserve its Title (section 1) will typically require changing the
4353 actual title.
4354
4355 9. TERMINATION
4356
4357 You may not copy, modify, sublicense, or distribute the Document
4358 except as expressly provided for under this License. Any other
4359 attempt to copy, modify, sublicense or distribute the Document is
4360 void, and will automatically terminate your rights under this
4361 License. However, parties who have received copies, or rights,
4362 from you under this License will not have their licenses
4363 terminated so long as such parties remain in full compliance.
4364
4365 10. FUTURE REVISIONS OF THIS LICENSE
4366
4367 The Free Software Foundation may publish new, revised versions of
4368 the GNU Free Documentation License from time to time. Such new
4369 versions will be similar in spirit to the present version, but may
4370 differ in detail to address new problems or concerns. See
4371 http://www.gnu.org/copyleft/.
4372
4373 Each version of the License is given a distinguishing version
4374 number. If the Document specifies that a particular numbered
4375 version of this License "or any later version" applies to it, you
4376 have the option of following the terms and conditions either of
4377 that specified version or of any later version that has been
4378 published (not as a draft) by the Free Software Foundation. If
4379 the Document does not specify a version number of this License,
4380 you may choose any version ever published (not as a draft) by the
4381 Free Software Foundation.
4382
4383
4384 ADDENDUM: How to use this License for your documents
4385 ====================================================
4386
4387 To use this License in a document you have written, include a copy of
4388 the License in the document and put the following copyright and license
4389 notices just after the title page:
4390
4391 Copyright (C) YEAR YOUR NAME.
4392 Permission is granted to copy, distribute and/or modify this document
4393 under the terms of the GNU Free Documentation License, Version 1.2
4394 or any later version published by the Free Software Foundation;
4395 with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
4396 A copy of the license is included in the section entitled ``GNU
4397 Free Documentation License.''
4398
4399 If you have Invariant Sections, Front-Cover Texts and Back-Cover
4400 Texts, replace the "with...Texts." line with this:
4401
4402 with the Invariant Sections being LIST THEIR TITLES, with the
4403 Front-Cover Texts being LIST, and with the Back-Cover Texts being
4404 LIST.
4405
4406 If you have Invariant Sections without Cover Texts, or some other
4407 combination of the three, merge those two alternatives to suit the
4408 situation.
4409
4410 If your document contains nontrivial examples of program code, we
4411 recommend releasing these examples in parallel under your choice of
4412 free software license, such as the GNU General Public License, to
4413 permit their use in free software.
4414
4415 \1f
4416 File: muse.info, Node: Concept Index, Prev: GNU Free Documentation License, Up: Top
4417
4418 Index
4419 *****
4420
4421