1 This is muse.info, produced by makeinfo version 4.13 from muse.texi.
5 * Muse: (muse). Authoring and publishing environment for Emacs.
8 This manual is for Emacs Muse version 3.20.
10 Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free
11 Software Foundation, Inc.
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.
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."
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
31 All Emacs Lisp code contained in this document may be used,
32 distributed, and modified without restriction.
35 File: muse.info, Node: Top, Next: Preface, Prev: (dir), Up: (dir)
40 This manual is for Emacs Muse version 3.20.
42 Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free
43 Software Foundation, Inc.
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.
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."
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
63 All Emacs Lisp code contained in this document may be used,
64 distributed, and modified without restriction.
68 * Preface:: About the documentation.
69 * Introduction:: What is Muse?
70 * Obtaining Muse:: How to get Muse releases and development
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.
86 --- The Detailed Node Listing ---
88 How to Get Muse Releases and Development Changes
90 * Releases:: Released versions of Muse.
91 * Development:: Latest unreleased development changes.
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.
100 Creating and Managing Muse Projects
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.
107 Rules for Using Markup
109 * Paragraphs:: Paragraphs: centering and quoting.
110 * Headings:: Levels of headings.
111 * Directives:: Directives at the beginning of a
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
120 * Implicit Links:: Bare URLs, WikiNames, and InterWiki
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
126 * Citations:: Support for citing other resources.
127 * Comments:: Lines to omit from published output.
128 * Tag Summary:: Tags that Muse recognizes.
130 Publishing Various Types of Documents
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.
144 Integrating Muse and pyblosxom.cgi
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.
150 Making your own publishing styles
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
160 Miscellaneous add-ons, like a minor mode
162 * Muse List Edit Minor Mode:: Edit lists easily in other major modes.
165 File: muse.info, Node: Preface, Next: Introduction, Prev: Top, Up: Top
167 1 About the documentation
168 *************************
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
174 * PDF: http://mwolson.org/static/doc/muse.pdf
176 * HTML (single file): http://mwolson.org/static/doc/muse.html
178 * HTML (multiple files): http://mwolson.org/static/doc/muse/
181 File: muse.info, Node: Introduction, Next: Obtaining Muse, Prev: Preface, Up: Top
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.
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.
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
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.
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.
213 File: muse.info, Node: Obtaining Muse, Next: Installation, Prev: Introduction, Up: Top
215 3 How to Get Muse Releases and Development Changes
216 **************************************************
220 * Releases:: Released versions of Muse.
221 * Development:: Latest unreleased development changes.
224 File: muse.info, Node: Releases, Next: Development, Prev: Obtaining Muse, Up: Obtaining Muse
226 3.1 Released versions of Muse
227 =============================
229 Choose to install a release if you want to minimize risk.
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::.
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'.
240 deb http://mwolson.org/debian/ ./
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'.
247 deb http://mwolson.org/ubuntu/ ./
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.
254 Alternatively, you can download the latest release from
255 `http://download.gna.org/muse-el/' .
258 File: muse.info, Node: Development, Prev: Releases, Up: Obtaining Muse
260 3.2 Latest unreleased development changes
261 =========================================
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.
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
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'.
276 Downloading the Muse module with git and staying up-to-date involves
281 * Debian and Ubuntu: `apt-get install git-core'.
283 * Windows: `http://git.or.cz/gitwiki/WindowsInstall'.
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.
289 2. Download the Muse development branch.
291 If you have developer access to Muse, do:
293 git clone ssh://repo.or.cz/srv/git/muse-el.git muse
297 git clone git://repo.or.cz/muse-el.git muse
299 If you are behind a restrictive firewall, and do not have developer
300 access, then do the following instead:
302 git clone http://repo.or.cz/r/muse-el.git muse
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.
309 # Change to the source directory you are interested in.
312 # Fetch new changes from the repository, but don't apply them yet
315 # Display log messages for the new changes
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
323 4. Update to the latest version by pulling in any missing changes.
328 git will show how many files changed, and will provide a visual
329 display for how many lines were changed in each file.
332 There are other ways to interact with the Muse repository.
334 * Browse git repo: `http://repo.or.cz/w/muse-el.git'
336 * Latest development snapshot:
337 `http://mwolson.org/static/dist/muse-latest.tar.gz'
339 * Latest development snapshot (zip file):
340 `http://mwolson.org/static/dist/muse-latest.zip'
342 The latest development snapshot can lag behind the git repo by as
343 much as 20 minutes, but never more than that.
345 Becoming a Muse developer
346 -------------------------
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
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.
360 For information on committing changes to Muse and performing
361 development, please consult
362 `http://emacswiki.org/cgi-bin/wiki/MuseDevelopment'.
365 File: muse.info, Node: Installation, Next: Getting Started, Prev: Obtaining Muse, Up: Top
367 4 Compiling and Installing Muse
368 *******************************
370 Muse may be compiled and installed on your machine.
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.
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'
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'.
390 SITEFLAG = -no-site-file
391 # Edit the section as necessary
392 install_info = install-info --section "XEmacs 21.4" $(1).info \
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'.
402 Muse may be installed into your file hierarchy by doing the following.
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.
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
417 If you wish to install Muse to different locations than the defaults
418 specify, edit `Makefile.defs' accordingly.
420 Run `make' as a normal user, if you haven't done so already.
422 Run `make install' as the root user if you have chosen installation
423 locations that require root permissions.
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/'.
435 File: muse.info, Node: Getting Started, Next: Projects, Prev: Installation, Up: Top
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.
448 File: muse.info, Node: Loading Muse, Next: Using Muse Mode, Prev: Getting Started, Up: Getting Started
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.
457 (add-to-list 'load-path "<path to Muse>")
459 (require 'muse-mode) ; load authoring mode
461 (require 'muse-html) ; load publishing styles I use
462 (require 'muse-latex)
463 (require 'muse-texinfo)
464 (require 'muse-docbook)
466 (require 'muse-project) ; publish files in projects
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
475 File: muse.info, Node: Using Muse Mode, Next: Publishing Files Overview, Prev: Loading Muse, Up: Getting Started
477 5.2 How to Edit Files in Muse
478 =============================
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'.
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
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.
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.
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
515 File: muse.info, Node: Publishing Files Overview, Next: File Extensions, Prev: Using Muse Mode, Up: Getting Started
517 5.3 Publishing a Single File or Project
518 =======================================
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'.
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'.
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'.
540 File: muse.info, Node: File Extensions, Prev: Publishing Files Overview, Up: Getting Started
542 5.4 Using a Different File Extension
543 ====================================
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.
550 If you don't want to use `.muse', you can customize the extension by
551 setting the value of `muse-file-extension'.
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.
557 (setq muse-file-extension nil
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:
567 (add-hook 'find-file-hooks 'muse-mode-maybe)
570 File: muse.info, Node: Projects, Next: Keystroke Summary, Prev: Getting Started, Up: Top
572 6 Creating and Managing Muse Projects
573 *************************************
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".
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.
587 File: muse.info, Node: Single Project, Next: Multiple Projects, Prev: Projects, Up: Projects
589 6.1 A Single-Project Example
590 ============================
592 Here is a sample project, which may be defined in your `.emacs' file.
594 (setq muse-project-alist
595 '(("Website" ("~/Pages" :default "index")
596 (:base "html" :path "~/public_html")
597 (:base "pdf" :path "~/public_html/pdf"))))
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]]'.
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.
610 File: muse.info, Node: Multiple Projects, Next: Projects and Subdirectories, Prev: Single Project, Up: Projects
612 6.2 A Multiple-Project Example
613 ==============================
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).
620 (setq muse-project-alist
621 '(("Website" ("~/Pages" :default "index")
622 (:base "html" :path "~/public_html"))
623 (("Projects" ("~/Projects" :default "index")
625 :path "~/public_html/projects"
626 :exclude "/TopSecret")
628 :path "~/public_html/projects/pdf"
629 :exclude "/TopSecret")))
632 :major-mode planner-mode
633 :visit-link planner-visit-link)
634 (:base "planner-xhtml"
635 :path "~/public_html/plans"))))
637 The `:major-mode' attribute specifies which major to use when
638 visiting files in this directory.
640 The `:visit-link' attribute specifies the function to call when
643 The `:exclude' attribute has a regexp that matches files to never
647 File: muse.info, Node: Projects and Subdirectories, Next: Options for Projects, Prev: Multiple Projects, Up: Projects
649 6.3 Publishing Subdirectories in Projects
650 =========================================
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.
657 (setq muse-project-alist
658 `(("Website" ("~/Pages" :default "index")
659 (:base "html" :path "~/public_html"))
660 ("Blog" (,@(muse-project-alist-dirs "~/Blog")
662 ;; Publish this directory and its subdirectories. Arguments
663 ;; are as follows. The above `muse-project-alist-dirs' part
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"
673 The `muse-project-alist-dirs' function takes a directory and returns
674 it and all of its subdirectories in a list.
676 The `muse-project-alist-styles' function is explained by the
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'.
685 File: muse.info, Node: Options for Projects, Prev: Projects and Subdirectories, Up: Projects
687 6.4 Listing of Available Options for Projects
688 =============================================
690 This is a listing of all of the various options (or, more accurately:
691 attributes) that may be specified in `muse-project-alist'.
693 Each muse-project-alist entry looks like this:
695 (PROJECT-NAME (SOURCES)
698 We refer to these names below.
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.
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'
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.
721 The minimal content for the sources section is a list of directories.
724 Indicates a new chapter of a book. The text of the title of the
725 chapter comes immediately after this keyword.
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.
733 A function to call while publishing a book. This is useful for
734 doing something just after a particular chapter.
737 Indicates the beginning of a new part of the book. The text of the
738 title should come immediately after this keyword.
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'
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.
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.
758 This specifies the major mode to use when visiting files in this
759 project. The default is `muse-mode'.
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,
769 Indicates which function we should call when publishing a project.
772 This specifies a list of variables and values to set when
773 publishing a project. The list should be a property list, which
776 (VAR1 VALUE1 VAR2 VALUE2 ...)
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
788 This part of a muse-project-alist entry is composed of lists of
789 attributes. Each list is called an "output style".
791 The minimal content for an output style is a `:base' attribute and a
795 Publishing style to use, such as "html", "docbook", or "pdf".
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
803 It is also used by the `muse-journal' module to create the RSS or
807 Exclude items matching a regexp from being published. The regexp
808 should usually begin with "/".
811 Only include items matching a regexp when publishing. The regexp
812 should usually begin with "/".
815 The directory in which to store published files.
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
825 File: muse.info, Node: Keystroke Summary, Next: Markup Rules, Prev: Projects, Up: Top
827 7 Keys Used in Muse Mode
828 ************************
830 This is a summary of keystrokes available in every Muse buffer.
832 `C-c C-a (`muse-index')'
833 Display an index of all known Muse pages.
835 `C-c C-b (`muse-find-backlinks')'
836 Find all pages that link to this page.
838 `C-c C-e (`muse-edit-link-at-point')'
841 `C-c C-f (`muse-project-find-file')'
842 Open another Muse page. Prompt for the name.
844 `C-c C-i l, C-c TAB l (`muse-insert-relative-link-to-file')'
845 Insert a link to a file interactively.
847 `C-c C-i t, C-c TAB t (`muse-insert-tag')'
848 Insert a tag interactively.
850 `C-c C-i u, C-c TAB u (`muse-insert-url')'
851 Insert a URL interactively.
853 `C-c C-l (`font-lock-mode')'
854 Toggle font lock / highlighting for the current buffer.
856 `C-c C-p (`muse-project-publish')'
857 Publish any Muse pages that have changed.
859 `C-c C-s (`muse-search')'
860 Find text in all files of the current project.
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.
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
870 `C-c C-v (`muse-browse-result')'
871 Show the published result of this page.
873 `C-c = (`muse-what-changed')'
874 Diff this page against the last backup version.
877 Move to the next Wiki reference.
880 Move to the previous Wiki reference.
883 Complete the name of a page from the current project at point.
886 Insert a new list item at point, indenting properly.
889 Decrease the indentation of the list item at point.
892 Increase the indentation of the list item at point.
894 `M-x muse-colors-toggle-inline-images RET'
895 Toggle display of inlined images on/off.
897 `M-x muse-update-values RET'
898 Update various values that are automatically generated.
900 Call this after changing `muse-project-alist'.
903 File: muse.info, Node: Markup Rules, Next: Publishing Styles, Prev: Keystroke Summary, Up: Top
905 8 Rules for Using Markup
906 ************************
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.
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
918 * Paragraphs:: Paragraphs: centering and quoting.
919 * Headings:: Levels of headings.
920 * Directives:: Directives at the beginning of a
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
929 * Implicit Links:: Bare URLs, WikiNames, and InterWiki
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
935 * Citations:: Support for citing other resources.
936 * Comments:: Lines to omit from published output.
937 * Tag Summary:: Tags that Muse recognizes.
940 File: muse.info, Node: Paragraphs, Next: Headings, Prev: Markup Rules, Up: Markup Rules
942 8.1 Paragraphs: centering and quoting
943 =====================================
945 Paragraphs in Muse must be separated by a blank line.
947 Centered paragraphs and quotations
948 ----------------------------------
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
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
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.
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.
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.
975 <literal style="latex">
976 A LaTeX-based style was used in the publishing of this document.
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
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::).
994 File: muse.info, Node: Headings, Next: Directives, Prev: Paragraphs, Up: Markup Rules
996 8.2 Levels of headings
997 ======================
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.
1004 All levels of headings will be published. Most publishing styles
1005 only distinguish the between the first 4 levels, however.
1016 File: muse.info, Node: Directives, Next: Emphasizing Text, Prev: Headings, Up: Markup Rules
1018 8.3 Directives at the beginning of a document
1019 =============================================
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.
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")'.
1031 The following is a list of directives that Muse uses.
1034 The author of this document.
1036 If this is not specified, Muse will attempt to figure it out from
1037 the `user-full-name' variable.
1040 The date that the document was last modified.
1042 This is used by publishing styles that are able to embed the date
1046 A short description of this document.
1048 This is used by the `journal' publishing style to embed information
1049 inside of an RSS/RDF feed.
1052 The title of this document.
1054 If this is not specified, the name of the file is used.
1058 File: muse.info, Node: Emphasizing Text, Next: Footnotes, Prev: Directives, Up: Markup Rules
1060 8.4 Bold, italicized, and underlined text
1061 =========================================
1063 To emphasize text, surround it with certain specially recognized
1068 ***very strong emphasis***
1070 =verbatim and monospace=
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
1076 Verbatim text will be colored as gray by default. To change this,
1077 customize `muse-verbatim-face'.
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.
1083 File: muse.info, Node: Footnotes, Next: Verse, Prev: Emphasizing Text, Up: Markup Rules
1085 8.5 Making notes to be shown at the end
1086 =======================================
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
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
1099 File: muse.info, Node: Verse, Next: Lists, Prev: Footnotes, Up: Markup Rules
1101 8.6 Indicating poetic stanzas
1102 =============================
1104 Poetry requires that whitespace be preserved, but without resorting to
1105 monospace. To indicate this, use the following markup, reminiscent of
1108 > A line of Emacs verse;
1109 > forgive its being so terse.
1111 You can also use the <verse> tag, if you prefer.
1114 A line of Emacs verse;
1115 forgive its being so terse.
1118 Multiple stanzas may be included in one set of <verse> tags, as
1122 A line of Emacs verse;
1123 forgive its being so terse.
1125 In terms of terse verse,
1130 File: muse.info, Node: Lists, Next: Tables, Prev: Verse, Up: Markup Rules
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.
1139 These are rendered as a bullet list.
1146 An enumerated list follows.
1153 Here is a definition list.
1156 This is a first definition
1157 And it has two lines;
1158 no, make that three.
1160 Term2 :: This is a second definition
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.
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
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.
1185 - bullet item 1, line 1
1187 bullet item 1, line 2
1193 - bullet item 2, line 1
1195 bullet item 2, line 2
1198 File: muse.info, Node: Tables, Next: Explicit Links, Prev: Lists, Up: Markup Rules
1200 8.8 Generation of data tables
1201 =============================
1203 Only very simple tables are supported. The syntax is as follows.
1205 Double bars || Separate header fields
1207 Single bars | Separate body fields
1208 Here are more | body fields
1210 Triple bars ||| Separate footer fields
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
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.
1223 It is possible to publish very basic Orgtbl-mode style tables.
1225 | org | style | table |
1226 |------+-------+-------|
1230 |------+-------+-------|
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.
1237 border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides"
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
1254 File: muse.info, Node: Explicit Links, Next: Implicit Links, Prev: Tables, Up: Markup Rules
1256 8.9 Hyperlinks and email addresses with descriptions
1257 ====================================================
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.
1264 [[link target][link description]]
1265 [[link target without description]]
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]]'.
1272 File: muse.info, Node: Implicit Links, Next: Images, Prev: Explicit Links, Up: Markup Rules
1274 8.10 Bare URLs, WikiNames, and InterWiki links
1275 ==============================================
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.
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.
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
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
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.
1305 Blog::DocumentingMuse
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.
1315 Customization of interwiki links may be accomplished by editing the
1316 `muse-wiki-interwiki-alist' option.
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.
1321 Blog::DocumentingMuse#anchor1
1322 Projects#EmacsMuse#anchor2
1325 File: muse.info, Node: Images, Next: Horizontal Rules and Anchors, Prev: Implicit Links, Up: Markup Rules
1327 8.11 Publishing and displaying images
1328 =====================================
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/'.
1337 [[http://mwolson.org/][/static/logos/site-logo.png]]
1339 Normally, images in the link part will be inlined.
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.
1344 [[URL:http://mwolson.org/static/logos/site-logo.png]]
1346 Displaying images in Muse mode
1347 ------------------------------
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
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'.
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.
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.
1367 Publishing simple images
1368 ------------------------
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
1377 Publishing images with captions
1378 -------------------------------
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.
1385 [[../pics/mycat.png][My cat Dexter]]
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.
1392 File: muse.info, Node: Horizontal Rules and Anchors, Next: Embedded Lisp, Prev: Images, Up: Markup Rules
1394 8.12 Inserting a horizontal line or anchor
1395 ==========================================
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!
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.
1413 File: muse.info, Node: Embedded Lisp, Next: Citations, Prev: Horizontal Rules and Anchors, Up: Markup Rules
1415 8.13 Evaluating Emacs Lisp code in documents for extensibility
1416 ==============================================================
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.
1423 <lisp>(concat "This form gets " "inserted")</lisp>
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.
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.
1433 <lisp markup="example">
1434 (concat "Insert" " me")
1437 Other languages also have tags that cause source code to be
1438 evaluated. *Note Tag Summary::, for details.
1441 File: muse.info, Node: Citations, Next: Comments, Prev: Embedded Lisp, Up: Markup Rules
1443 8.14 Support for citing other resources
1444 =======================================
1449 Here is an example of what citations look like in a Muse document.
1456 Some text before <cite>Miller1999</cite> and after the citation.
1458 This is an author-only citation <cite type="author">Miller1999</cite>.
1460 And this is a year-only citation <cite type="year">Miller1999</cite>.
1462 Finally, this is a multi-head citation
1463 <cite>Miller1999,Andrews2005</cite>.
1468 The `#bibsource' directive defines the source of the bibliographies.
1469 The following sources are possible.
1471 * DocBook + RefDB: the string "REFDB"
1473 * LaTeX + bibtex: the name of an appropriate bibtex file
1475 * LaTeX + RefDB: if the input file is called "foo.muse", then set
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.
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:
1491 Miller et al. had already shown in a previous publication (1999) that
1492 this is not going to work.
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).
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.
1508 File: muse.info, Node: Comments, Next: Tag Summary, Prev: Citations, Up: Markup Rules
1510 8.15 Lines to omit from published output
1511 ========================================
1513 Use the following syntax to indicate a comment. Comments will not be
1516 ; Comment text goes here.
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.
1521 You can alternatively surround the region with the <comment> tag.
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.
1528 File: muse.info, Node: Tag Summary, Prev: Comments, Up: Markup Rules
1530 8.16 Tags that Muse recognizes
1531 ==============================
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.
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.
1544 If a tag takes arguments, it will look like this, where "tagname" is
1545 the name of the tag.
1547 <tagname arg1="string1" arg2="string2">
1549 If you want the tag to look like it came straight from an XHTML
1550 document, you can alternatively do the following.
1552 <tagname arg1="string1" arg2="string2" />
1554 If a tag surrounds some text, it will look like this.
1556 <tagname>Some text</tagname>
1558 If a tag surrounds a large region, it will look like this.
1568 This is the complete list of tags that Muse accepts, including those
1569 that were mentioned in previous sections.
1572 Insert a line break.
1574 Muse will automatically detect paragraphs when publishing by means
1575 of blank lines, so this tag is usually unnecessary.
1578 Insert a citation to another source.
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.
1584 The bibliography to use for the citation may be specified by the
1585 `#bibsource' directive.
1587 *Note Citations::, for additional information.
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.
1594 If publishing to a different format, do nothing extra to the text.
1597 Treat the text surrounded by the tag as if they were enclosed in
1598 equal signs, that is, make it monospace.
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.
1606 The "markup" argument controls how this section is marked up.
1608 If it is omitted, publish the region with the normal Muse rules.
1610 If "nil", do not mark up the region at all, but prevent Muse from
1611 further interpreting it.
1613 If "example", treat the region as if it was surrounded by the
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
1620 If "verse", treat the region as if it was surrounded by the
1621 <verse> tag, to preserve newlines.
1623 Otherwise, it should be the name of a function to call, with the
1624 buffer narrowed to the region.
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
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.
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.
1643 Insert a <div> tag into HTML documents, and do not insert anything
1644 special for other non-HTML publishing formats.
1646 If the "style" argument is provided, include it with the published
1647 <div> tag. Likewise for the "id" argument.
1650 Publish the region in monospace, preserving the newlines in the
1651 region. This is useful for snippets of code.
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.
1658 <include file="included_file">
1660 The "markup" argument controls how this section is marked up.
1662 If it is omitted, publish the included text with the normal Muse
1665 If "nil", do not mark up the included text at all.
1667 If "example", treat the included text as if it was surrounded by
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
1674 If "verse", treat the included text as if it was surrounded by the
1675 <verse> tag, to preserve newlines.
1677 Otherwise, it should be the name of a function to call after
1678 inserting the file with the buffer narrowed to the section
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.
1687 This tag takes the "markup" argument. See the description of
1688 <command> for details.
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.
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.
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.
1706 <markup><lisp>(muse-index-as-string t t)</lisp></markup>
1709 Run the `perl' language interpreter on the region, replacing the
1710 region with the result of the command.
1712 This tag takes the "markup" argument. See the description of
1713 <command> for details.
1716 Run the `python' language interpreter on the region, replacing the
1717 region with the result of the command.
1719 This tag takes the "markup" argument. See the description of
1720 <command> for details.
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.
1728 Run the `ruby' language interpreter on the region, replacing the
1729 region with the result of the command.
1731 This tag takes the "markup" argument. See the description of
1732 <command> for details.
1735 Publish the region using htmlize. The language to use may be
1736 specified by the "lang" attribute.
1738 Muse will look for a function named LANG-mode, where LANG is the
1739 value of the "lang" attribute.
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.
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.
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.
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.
1762 File: muse.info, Node: Publishing Styles, Next: Extending Muse, Prev: Markup Rules, Up: Top
1764 9 Publishing Various Types of Documents
1765 ***************************************
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.
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.
1786 File: muse.info, Node: Blosxom, Next: Book, Prev: Publishing Styles, Up: Publishing Styles
1788 9.1 Integrating Muse and pyblosxom.cgi
1789 ======================================
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.
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.
1802 File: muse.info, Node: Blosxom Requirements, Next: Blosxom Entries, Prev: Blosxom, Up: Blosxom
1804 9.1.1 Other tools needed for the Blosxom style
1805 ----------------------------------------------
1807 You will need to have `pyblosxom.cgi' or `blosxom.cgi' installed on a
1808 machine that you have upload access to.
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.
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.
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.
1827 Placing timestamps in one file
1828 ..............................
1830 The following additional components are required in order to make the
1831 date of blog entries display as something sensible.
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.
1836 2. A plugin for (py)blosxom that reads this file.
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.
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.
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
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.
1855 Getting timestamp from entry while rendering
1856 ............................................
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
1865 M-x customize-variable RET muse-blosxom-use-metadate RET
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'.
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.
1877 1. Download and install blosxom from
1878 `http://blosxom.sourceforge.net/'.
1880 2. Install the metadate plugin. It is available in
1881 `contrib/blosxom/metadate_0_0_3'.
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.
1890 File: muse.info, Node: Blosxom Entries, Next: Blosxom Options, Prev: Blosxom Requirements, Up: Blosxom
1892 9.1.2 Format of a Blosxom entry and automation
1893 ----------------------------------------------
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.
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.
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
1907 * Customize `muse-blosxom-base-directory' to the location that your
1908 blog entries are stored.
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''.
1913 (global-set-key "\C-cpl" 'muse-blosxom-new-entry)
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.
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.
1927 File: muse.info, Node: Blosxom Options, Prev: Blosxom Entries, Up: Blosxom
1929 9.1.3 Blosxom styles and options provided
1930 -----------------------------------------
1932 The following styles and options are available in the Blosxom publishing
1939 Publish Blosxom entries in HTML form.
1942 Publish Blosxom entries in XHTML form.
1948 `muse-blosxom-extension'
1949 Default file extension for publishing Blosxom files.
1951 `muse-blosxom-header'
1952 Header used for publishing Blosxom files.
1954 This may be text or a filename.
1956 `muse-blosxom-footer'
1957 Footer used for publishing Blosxom files.
1959 This may be text or a filename.
1961 `muse-blosxom-base-directory'
1962 Base directory of blog entries, used by `muse-blosxom-new-entry'.
1964 This is the top-level directory where your blog entries may be
1969 File: muse.info, Node: Book, Next: ConTeXt, Prev: Blosxom, Up: Publishing Styles
1971 9.2 Publishing entries into a compilation
1972 =========================================
1974 This publishing style is used to output "books" in LaTeX or PDF format.
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.
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
1989 (setq muse-project-alist
1990 '(("MyNotes" (:nochapters t ; do automatically add chapters
1991 :book-chapter "Computer Science"
1993 :book-chapter "Mathematics"
1995 :book-chapter "Emacs"
1997 :book-end t ; the rest will not be placed in the book
1998 "~/Notes" ; so we can find the notes-anthology page
2000 :force-publish ("index")
2003 :include "/notes-anthology[^/]*$"
2004 :path "~/public_html/notes")
2005 ;; other publishing styles for each directory go here,
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'.
2014 #title My Technology Ramblings
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.
2025 Publish a book in LaTeX form. The header and footer are different
2026 than the normal LaTeX publishing mode.
2029 Publish a book in PDF form. The header and footer are different
2030 than the normal PDF publishing mode.
2036 `muse-book-before-publish-hook'
2037 A hook run in the book buffer before it is marked up.
2039 `muse-book-after-publish-hook'
2040 A hook run in the book buffer after it is marked up.
2042 `muse-book-latex-header'
2043 Header used for publishing books to LaTeX.
2045 This may be text or a filename.
2047 `muse-book-latex-footer'
2048 Footer used for publishing books to LaTeX.
2050 This may be text or a filename.
2054 File: muse.info, Node: ConTeXt, Next: DocBook, Prev: Book, Up: Publishing Styles
2056 9.3 Publishing ConTeXt documents
2057 ================================
2059 This publishing style is capable of producing ConTeXt or PDF documents.
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.
2069 Publish a ConTeXt document.
2072 Publish a PDF document, using an external ConTeXt document
2076 Produce slides from a ConTeXt document.
2078 Here is an example of a slide.
2082 [[Some-sort-of-cute-image.png]]
2087 - Another bullet point.
2093 `context-slides-pdf'
2094 Publish a PDF document of ConTeXt slides.
2100 `muse-context-extension'
2101 Default file extension for publishing ConTeXt files.
2103 `muse-context-pdf-extension'
2104 Default file extension for publishing ConTeXt files to PDF.
2106 `muse-context-pdf-program'
2107 The program that is called to generate PDF content from ConTeXt
2110 `muse-context-pdf-cruft'
2111 Extensions of files to remove after generating PDF output
2114 `muse-context-header'
2115 Header used for publishing ConTeXt files.
2117 This may be text or a filename.
2119 `muse-context-footer'
2120 Footer used for publishing ConTeXt files.
2122 This may be text or a filename.
2124 `muse-context-markup-regexps'
2125 List of markup regexps for identifying regions in a Muse page.
2127 For more on the structure of this list, *Note
2128 muse-publish-markup-regexps::.
2130 `muse-context-markup-functions'
2131 An alist of style types to custom functions for that kind of text.
2133 For more on the structure of this list, *Note
2134 muse-publish-markup-functions::.
2136 `muse-context-markup-strings'
2137 Strings used for marking up text.
2139 These cover the most basic kinds of markup, the handling of which
2140 differs little between the various styles.
2142 `muse-context-slides-header'
2143 Header for publishing a presentation (slides) using ConTeXt.
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".
2152 This may be text or a filename.
2154 `muse-context-slides-markup-strings'
2155 Strings used for marking up text in ConTeXt slides.
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.
2161 `muse-context-markup-specials-example'
2162 A table of characters which must be represented specially. These
2163 are applied to example> regions.
2165 With the default interpretation of <example> regions, no specials
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.
2172 `muse-context-markup-specials-url'
2173 A table of characters which must be represented specially. These
2174 are applied to URLs.
2176 `muse-context-markup-specials-image'
2177 A table of characters which must be represented specially. These
2178 are applied to image filenames.
2180 `muse-context-permit-contents-tag'
2181 If nil, ignore <contents> tags. Otherwise, insert table of
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.
2189 If you don't agree with this, then set this option to non-nil, and
2190 it will do what you expect.
2194 File: muse.info, Node: DocBook, Next: HTML, Prev: ConTeXt, Up: Publishing Styles
2196 9.4 Publishing in DocBook XML form
2197 ==================================
2199 This publishing style is used to generate DocBook XML files.
2205 Publish a file in Docbook form.
2211 This publishing style uses the same options for markup up special
2212 characters as the "xml" publishing style. *Note XML::, for details.
2214 `muse-docbook-extension'
2215 Default file extension for publishing DocBook XML files.
2217 `muse-docbook-header'
2218 Header used for publishing DocBook XML files.
2220 This may be text or a filename.
2222 `muse-docbook-footer'
2223 Footer used for publishing DocBook XML files.
2225 This may be text or a filename.
2227 `muse-docbook-markup-regexps'
2228 List of markup rules for publishing a Muse page to DocBook XML.
2230 `muse-docbook-markup-functions'
2231 An alist of style types to custom functions for that kind of text.
2233 `muse-docbook-markup-strings'
2234 Strings used for marking up text.
2236 These cover the most basic kinds of markup, the handling of which
2237 differs little between the various styles.
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.
2243 `muse-docbook-charset-default'
2244 The default DocBook XML charset to use if no translation is found
2245 in `muse-xml-encoding-map'.
2249 File: muse.info, Node: HTML, Next: Ikiwiki, Prev: DocBook, Up: Publishing Styles
2251 9.5 Publishing in HTML or XHTML form
2252 ====================================
2254 This publishing style is capable of producing HTML or XHTML documents.
2260 Supports publishing to HTML 4.0 and HTML 4.01, Strict or
2264 Supports publishing to XHTML 1.0 and XHTML 1.1, Strict or
2271 If an HTML option does not have a corresponding XHTML option, it will
2272 be used for both of these publishing styles.
2274 These publishing styles use the same options for markup up special
2275 characters as the "xml" publishing style. *Note XML::, for details.
2277 `muse-html-extension'
2278 Default file extension for publishing HTML files.
2280 `muse-xhtml-extension'
2281 Default file extension for publishing XHTML files.
2283 `muse-html-style-sheet'
2284 Store your stylesheet definitions here.
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
2290 If you are publishing to XHTML, then customize the
2291 `muse-xhtml-style-sheet' option instead.
2293 `muse-xhtml-style-sheet'
2294 Store your stylesheet definitions here.
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
2301 Header used for publishing HTML files.
2303 This may be text or a filename.
2306 Footer used for publishing HTML files.
2308 This may be text or a filename.
2311 Header used for publishing XHTML files.
2313 This may be text or a filename.
2316 Footer used for publishing XHTML files.
2318 This may be text or a filename.
2320 `muse-html-anchor-on-word'
2321 When true, anchors surround the closest word.
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.
2327 `muse-html-table-attributes'
2328 The attribute to be used with HTML <table> tags.
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.
2333 `muse-html-markup-regexps'
2334 List of markup rules for publishing a Muse page to HTML.
2336 `muse-html-markup-functions'
2337 An alist of style types to custom functions for that kind of text.
2339 `muse-html-markup-strings'
2340 Strings used for marking up text as HTML.
2342 These cover the most basic kinds of markup, the handling of which
2343 differs little between the various styles.
2345 `muse-xhtml-markup-strings'
2346 Strings used for marking up text as XHTML.
2348 These cover the most basic kinds of markup, the handling of which
2349 differs little between the various styles.
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.
2355 `muse-html-meta-http-equiv'
2356 The http-equiv attribute used for the HTML <meta> tag.
2358 `muse-html-meta-content-type'
2359 The content type used for the HTML <meta> tag.
2361 If you are striving for XHTML 1.1 compliance, you may want to
2362 change this to "application/xhtml+xml".
2364 `muse-html-meta-content-encoding'
2365 The charset to append to the HTML <meta> tag.
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.
2371 `muse-html-charset-default'
2372 The default HTML meta charset to use if no translation is found in
2373 `muse-xml-encoding-map'.
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.
2381 File: muse.info, Node: Ikiwiki, Next: Journal, Prev: HTML, Up: Publishing Styles
2383 9.6 Integrating with ikiwiki
2384 ============================
2386 Note: Support for Ikiwiki is not yet complete. Use at your own risk.
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'.
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.
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'
2409 Supports publishing XHTML output that Ikiwiki can understand.
2415 `muse-ikiwiki-header'
2416 Header used for publishing Ikiwiki output files.
2418 This may be text or a filename.
2420 `muse-ikiwiki-footer'
2421 Footer used for publishing Ikiwiki output files.
2423 This may be text or a filename.
2426 Other relevant options
2427 ----------------------
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.
2433 The actual contents of the buffer are not changed, only the
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.
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
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.
2449 This is useful to set to `nil' when the file to publish is coming
2450 from an untrusted source.
2454 File: muse.info, Node: Journal, Next: LaTeX, Prev: Ikiwiki, Up: Publishing Styles
2456 9.7 Keeping a journal or blog
2457 =============================
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.
2462 The input format for each entry is as follows.
2464 * 20040317: Title of entry
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
2473 The "qotd", or Quote of the Day, is entirely optional. When
2474 generated to HTML, this entry is rendered as the following.
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."
2483 <div class="entry-body">
2484 <div class="entry-head">
2485 <div class="entry-date">
2486 <span class="date">March 17, 2004</span>
2488 <div class="entry-title">
2489 <h2>Title of entry</h2>
2492 <div class="entry-text">
2493 <p>Text for the entry.</p>
2498 The plurality of "div" tags makes it possible to display the entries
2499 in any form you wish, using a CSS style.
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.
2506 muse-project-alist considerations
2507 ---------------------------------
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.
2513 (setq muse-project-alist
2514 '(("Journal" ("~/Journal/"
2516 (:base "journal-rss"
2517 :base-url "http://example.org/journal/"
2518 :path "~/public_html/journal"))))
2524 Publish journal entries as an HTML document.
2527 Publish journal entries as an XHTML document.
2530 Publish journal entries as a LaTeX document.
2533 Publish journal entries as a PDF document.
2535 `journal-book-latex'
2536 Publish journal entries as a LaTeX book.
2539 Publish journal entries as a PDF book.
2542 Publish journal entries as an RDF file (RSS 1.0).
2545 Publish journal entries as an RSS file (RSS 2.0).
2548 Used internally by `journal-rss' and `journal-rdf' for publishing
2555 `muse-journal-heading-regexp'
2556 A regexp that matches a journal heading.
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.
2561 `muse-journal-date-format'
2562 Date format to use for journal entries.
2564 `muse-journal-html-heading-regexp'
2565 A regexp that matches a journal heading from an HTML document.
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.
2570 `muse-journal-html-entry-template'
2571 Template used to publish individual journal entries as HTML.
2573 This may be text or a filename.
2575 `muse-journal-latex-section'
2576 Template used to publish a LaTeX section.
2578 `muse-journal-latex-subsection'
2579 Template used to publish a LaTeX subsection.
2581 `muse-journal-markup-tags'
2582 A list of tag specifications, for specially marking up Journal
2585 *Note muse-publish-markup-tags::, for more information.
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
2591 `muse-journal-rdf-extension'
2592 Default file extension for publishing RDF (RSS 1.0) files.
2594 `muse-journal-rdf-base-url'
2595 The base URL of the website referenced by the RDF file.
2597 `muse-journal-rdf-header'
2598 Header used for publishing RDF (RSS 1.0) files.
2600 This may be text or a filename.
2602 `muse-journal-rdf-footer'
2603 Footer used for publishing RDF (RSS 1.0) files.
2605 This may be text or a filename.
2607 `muse-journal-rdf-date-format'
2608 Date format to use for RDF entries.
2610 `muse-journal-rdf-entry-template'
2611 Template used to publish individual journal entries as RDF.
2613 This may be text or a filename.
2615 `muse-journal-rdf-summarize-entries'
2616 If non-nil, include only summaries in the RDF file, not the full
2619 The default is nil, because this annoys some subscribers.
2621 `muse-journal-rss-heading-regexp'
2622 A regexp that matches a journal heading from an HTML document.
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.
2627 `muse-journal-rss-extension'
2628 Default file extension for publishing RSS 2.0 files.
2630 `muse-journal-rss-base-url'
2631 The base URL of the website referenced by the RSS file.
2633 `muse-journal-rss-header'
2634 Header used for publishing RSS 2.0 files.
2636 This may be text or a filename.
2638 `muse-journal-rss-footer'
2639 Footer used for publishing RSS 2.0 files.
2641 This may be text or a filename.
2643 `muse-journal-rss-date-format'
2644 Date format to use for RSS 2.0 entries.
2646 `muse-journal-rss-entry-template'
2647 Template used to publish individual journal entries as RSS 2.0.
2649 This may be text or a filename.
2651 `muse-journal-rss-enclosure-types-alist'
2652 File types that are accepted as RSS enclosures.
2654 This is an alist that maps file extension to content type.
2656 Useful for podcasting.
2658 `muse-journal-rss-summarize-entries'
2659 If non-nil, include only summaries in the RSS file, not the full
2662 The default is nil, because this annoys some subscribers.
2664 `muse-journal-rss-markup-regexps'
2665 List of markup rules for publishing a Muse journal page to RSS.
2667 For more information on the structure of this list, *Note
2668 muse-publish-markup-regexps::.
2670 `muse-journal-rss-markup-functions'
2671 An alist of style types to custom functions for that kind of text.
2673 For more on the structure of this list, *Note
2674 muse-publish-markup-functions::.
2678 File: muse.info, Node: LaTeX, Next: Poem, Prev: Journal, Up: Publishing Styles
2680 9.8 Publishing LaTeX documents
2681 ==============================
2683 This publishing style is capable of producing LaTeX or PDF documents.
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
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.
2695 \usepackage{grffile}
2701 Publish a LaTeX document.
2704 Publish a PDF document, using an external LaTeX document conversion
2708 Publish a LaTeX document with CJK (Chinese) encodings.
2711 Publish a PDF document with CJK (Chinese) encodings, using an
2712 external LaTeX document conversion tool.
2715 Publish a LaTeX document that uses the Beamer extension. This is
2716 suitable for producing slides.
2718 Here is an example of a slide.
2720 <slide title="First Slide">
2721 Everything between the slide tags composes this slide.
2723 [[Some-sort-of-cute-image.png]]
2726 - Another bullet point.
2730 Publish a PDF document of slides, using the Beamer extension.
2733 Publish a LaTeX document that uses the Beamer extension. This is
2734 suitable for producing lecture notes.
2736 This can also use the <slide> tag.
2739 Publish a PDF document of lecture notes, using the Beamer
2746 `muse-latex-extension'
2747 Default file extension for publishing LaTeX files.
2749 `muse-latex-pdf-extension'
2750 Default file extension for publishing LaTeX files to PDF.
2752 `muse-latex-pdf-browser'
2753 The program to use when browsing a published PDF file.
2755 This should be a format string.
2757 `muse-latex-pdf-program'
2758 The program that is called to generate PDF content from LaTeX
2761 `muse-latex-pdf-cruft'
2762 Extensions of files to remove after generating PDF output
2766 Header used for publishing LaTeX files.
2768 This may be text or a filename.
2771 Footer used for publishing LaTeX files.
2773 This may be text or a filename.
2775 `muse-latexcjk-header'
2776 Header used for publishing LaTeX files (CJK).
2778 This may be text or a filename.
2780 `muse-latexcjk-footer'
2781 Footer used for publishing LaTeX files (CJK).
2783 This may be text or a filename.
2785 `muse-latex-slides-header'
2786 Header for publishing of slides using LaTeX.
2788 This may be text or a filename.
2790 You must have the Beamer extension for LaTeX installed for this to
2793 `muse-latex-lecture-notes-header'
2794 Header publishing of lecture notes using LaTeX.
2796 This may be text or a filename.
2798 You must have the Beamer extension for LaTeX installed for this to
2801 `muse-latex-markup-regexps'
2802 List of markup regexps for identifying regions in a Muse page.
2804 For more on the structure of this list, *Note
2805 muse-publish-markup-regexps::.
2807 `muse-latex-markup-functions'
2808 An alist of style types to custom functions for that kind of text.
2810 For more on the structure of this list, *Note
2811 muse-publish-markup-functions::.
2813 `muse-latex-markup-strings'
2814 Strings used for marking up text.
2816 These cover the most basic kinds of markup, the handling of which
2817 differs little between the various styles.
2819 `muse-latex-slides-markup-tags'
2820 A list of tag specifications, for specially marking up LaTeX
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).
2827 `muse-latexcjk-encoding-default'
2828 The default Emacs buffer encoding to use in published files.
2830 This will be used if no special characters are found.
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.
2836 `muse-latex-markup-specials-example'
2837 A table of characters which must be represented specially. These
2838 are applied to example> regions.
2840 With the default interpretation of <example> regions, no specials
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.
2847 `muse-latex-markup-specials-url'
2848 A table of characters which must be represented specially. These
2849 are applied to URLs.
2851 `muse-latex-markup-specials-image'
2852 A table of characters which must be represented specially. These
2853 are applied to image filenames.
2855 `muse-latex-permit-contents-tag'
2856 If nil, ignore <contents> tags. Otherwise, insert table of
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.
2864 If you don't agree with this, then set this option to non-nil, and
2865 it will do what you expect.
2869 File: muse.info, Node: Poem, Next: Texinfo, Prev: LaTeX, Up: Publishing Styles
2871 9.9 Publish a poem to LaTeX or PDF
2872 ==================================
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.
2885 Annotations, history, notes, etc.
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.
2892 <poem title="name.of.poem.page">
2894 Let's assume the template above was called `name.of.poem.page'; then
2895 the above tag would result in this inclusion.
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'.
2908 Publish a poem in LaTeX form.
2911 Publish a poem to a PDF document.
2914 Publish a book of poems in LaTeX form.
2917 Publish a book of poems to a PDF document.
2923 `muse-poem-latex-header'
2924 Header used for publishing LaTeX poems.
2926 This may be text or a filename.
2928 `muse-poem-latex-footer'
2929 Footer used for publishing LaTeX files.
2931 This may be text or a filename.
2933 `muse-poem-markup-strings'
2934 Strings used for marking up poems.
2936 These cover the most basic kinds of markup, the handling of which
2937 differs little between the various styles.
2939 `muse-chapbook-latex-header'
2940 Header used for publishing a book of poems in LaTeX form.
2942 This may be text or a filename.
2944 `muse-chapbook-latex-footer'
2945 Footer used for publishing a book of poems in LaTeX form.
2947 This may be text or a filename.
2949 `muse-poem-chapbook-strings'
2950 Strings used for marking up books of poems.
2952 These cover the most basic kinds of markup, the handling of which
2953 differs little between the various styles.
2957 File: muse.info, Node: Texinfo, Next: XML, Prev: Poem, Up: Publishing Styles
2959 9.10 Publish entries to Texinfo format or PDF
2960 =============================================
2962 Rules for publishing a Muse file as a Texinfo article.
2968 Publish a file in Texinfo form.
2971 Generate an Info file from a Muse file.
2974 Publish a file in PDF form.
2980 `muse-texinfo-process-natively'
2981 If non-nil, use the Emacs `texinfmt' module to make Info files.
2983 `muse-texinfo-extension'
2984 Default file extension for publishing Texinfo files.
2986 `muse-texinfo-info-extension'
2987 Default file extension for publishing Info files.
2989 `muse-texinfo-pdf-extension'
2990 Default file extension for publishing PDF files.
2992 `muse-texinfo-header'
2993 Text to prepend to a Muse page being published as Texinfo.
2995 This may be text or a filename. It may contain <lisp> markup tags.
2997 `muse-texinfo-footer'
2998 Text to append to a Muse page being published as Texinfo.
3000 This may be text or a filename. It may contain <lisp> markup tags.
3002 `muse-texinfo-markup-regexps'
3003 List of markup rules for publishing a Muse page to Texinfo.
3005 For more on the structure of this list, *Note
3006 muse-publish-markup-regexps::.
3008 `muse-texinfo-markup-functions'
3009 An alist of style types to custom functions for that kind of text.
3011 For more on the structure of this list, *Note
3012 muse-publish-markup-functions::.
3014 `muse-texinfo-markup-strings'
3015 Strings used for marking up text.
3017 These cover the most basic kinds of markup, the handling of which
3018 differs little between the various styles.
3020 `muse-texinfo-markup-specials'
3021 A table of characters which must be represented specially.
3023 `muse-texinfo-markup-specials'
3024 A table of characters which must be represented specially. These
3025 are applied to URLs.
3029 File: muse.info, Node: XML, Prev: Texinfo, Up: Publishing Styles
3031 9.11 Publish entries to XML
3032 ===========================
3034 Muse is capable of publishing XML documents, with the help of the
3035 `muse-xml.el' module.
3037 A RelaxNG schema is available as part of the Muse distribution in the
3038 `etc/muse.rnc' file.
3044 Publish a file in XML form.
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).
3054 `muse-xml-markup-specials'
3055 A table of characters which must be represented specially in all
3056 XML-like markup formats.
3058 `muse-xml-markup-specials-url-extra'
3059 A table of characters which must be represented specially in all
3060 XML-like markup formats.
3062 These are extra characters that are escaped within URLs.
3064 `muse-xml-extension'
3065 Default file extension used for publishing XML files.
3068 Header used for publishing XML files.
3070 This may be text or a filename.
3073 Footer used for publishing XML files.
3075 This may be text or a filename.
3077 `muse-xml-markup-regexps'
3078 List of markup rules for publishing a Muse page to XML.
3080 For more on the structure of this list, *Note
3081 muse-publish-markup-regexps::.
3083 `muse-xml-markup-functions'
3084 An alist of style types to custom functions for that kind of text.
3086 For more on the structure of this list, *Note
3087 muse-publish-markup-functions::.
3089 `muse-xml-markup-strings'
3090 Strings used for marking up text.
3092 These cover the most basic kinds of markup, the handling of which
3093 differs little between the various styles.
3095 `muse-xml-encoding-default'
3096 The default Emacs buffer encoding to use in published files.
3098 This will be used if no special characters are found.
3100 `muse-xml-charset-default'
3101 The default XML charset to use if no translation is found in
3102 `muse-xml-encoding-map'.
3106 File: muse.info, Node: Extending Muse, Next: Miscellaneous, Prev: Publishing Styles, Up: Top
3108 10 Making your own publishing styles
3109 ************************************
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
3122 File: muse.info, Node: Markup Functions, Next: Markup Regexps, Up: Extending Muse
3124 10.1 Specifying functions to mark up text
3125 =========================================
3127 `muse-publish-markup-functions'
3129 An alist of style types to custom functions for that kind of text.
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.
3135 Each member of the list is of the following form.
3139 * SYMBOL Describes the type of text to associate with this rule.
3140 `muse-publish-markup-regexps' maps regexps to these symbols.
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
3147 File: muse.info, Node: Markup Regexps, Next: Markup Strings, Prev: Markup Functions, Up: Extending Muse
3149 10.2 Markup rules for publishing
3150 ================================
3152 `muse-publish-markup-regexps'
3154 List of markup rules for publishing a page with Muse.
3156 The rules given in this variable are invoked first, followed by
3157 whatever rules are specified by the current style.
3159 Each member of the list is either a function, or a list of the
3162 (REGEXP/SYMBOL TEXT-BEGIN-GROUP REPLACEMENT-TEXT/FUNCTION/SYMBOL)
3164 * REGEXP A regular expression, or symbol whose value is a regular
3165 expression, which is searched for using `re-search-forward'.
3167 * TEXT-BEGIN-GROUP The matching group within that regexp which
3168 denotes the beginning of the actual text to be marked up.
3170 * REPLACEMENT-TEXT A string that will be passed to `replace-match'.
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
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
3185 This is the order that the publishing rules are consulted, by default.
3186 This may be changed by customizing `muse-publish-markup-regexps'.
3188 `trailing and leading whitespace'
3189 Remove trailing and leading whitespace from a file.
3194 This is only recognized at the beginning of a file.
3197 `; a commented line'
3206 Prevent emphasis characters in explicit links from being marked up.
3208 Don't actually publish them here, just add a special no-emphasis
3212 Whitespace-delimited word, possibly with emphasis characters
3214 This function is responsible for marking up emphasis and escaping
3220 Outline-mode style headings.
3225 These are ellipses with a dot at end.
3235 Horizontal rule or section separator.
3240 Prevent lines from being split before or after these characters.
3245 Break a line at point.
3250 Beginning of footnotes section.
3255 Footnote definition or reference. If at beginning of line, it is a
3265 Numbered list, item list, or term definition list.
3268 `table.el' style tables
3273 Muse tables or orgtbl-mode style tables.
3276 spaces before beginning of text
3292 `[[explicit][links]]'
3295 `http://example.com/'
3298 `bare-email@example.com'
3302 File: muse.info, Node: Markup Strings, Next: Markup Tags, Prev: Markup Regexps, Up: Extending Muse
3304 10.3 Strings specific to a publishing style
3305 ===========================================
3307 "Markup strings" are strings used for marking up text for a particular
3310 These cover the most basic kinds of markup, the handling of which
3311 differs little between the various styles.
3313 Available markup strings
3314 ------------------------
3317 An image and a description.
3319 Argument 1: image without extension. Argument 2: image extension.
3320 Argument 3: description.
3325 Argument 1: image without extension. Argument 2: image extension.
3328 An image with a link around it.
3330 Argument 1: link. Argument 2: image without extension. Argument
3334 A reference to an anchor on the current page.
3336 Argument 1: anchor name. Argument 2: description if one exists,
3337 or the original link otherwise.
3340 A URL without a description.
3345 A link to a Muse page with a description.
3347 Argument 1: link. Argument 2: description if one exists, or the
3348 original link otherwise.
3351 A link to a Muse page with an anchor, and a description.
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.
3358 A link to an email address.
3360 Argument 1: email address. Argument 2: email address.
3365 Argument 1: name of anchor.
3370 Argument 1: Initial whitespace. Argument 2: Terminating
3374 Beginning of a comment.
3380 A horizontal line or space.
3383 A space that separates two words which are not to be separated.
3386 Beginning of footnote.
3392 Mark a reference for the current footnote.
3394 Argument 1: number of this footnote.
3397 End of a reference for the current footnote.
3400 Indicate the text of the current footnote.
3402 Argument 1: number of this footnote.
3405 End of a footnote text line.
3408 Text used to replace "Footnotes:" line.
3417 Beginning of a part indicator line. This is used by book
3421 End of a part indicator line. This is used by book publishing.
3424 Beginning of a chapter indicator line. This is used by book
3428 End of a chapter indicator line. This is used by book publishing.
3431 Beginning of level 1 section indicator line.
3433 Argument 1: level of section; always 1.
3436 End of level 1 section indicator line.
3438 Argument 1: level of section; always 1.
3441 Beginning of level 2 section indicator line.
3443 Argument 1: level of section; always 2.
3446 End of level 2 section indicator line.
3448 Argument 1: level of section; always 2.
3451 Beginning of level 3 section indicator line.
3453 Argument 1: level of section; always 3.
3456 End of level 3 section indicator line.
3458 Argument 1: level of section; always 3.
3461 Beginning of section indicator line, where level is greater than 3.
3463 Argument 1: level of section.
3466 End of section indicator line, where level is greater than 3.
3468 Argument 1: level of section.
3471 Beginning of underlined text.
3474 End of underlined text.
3477 Beginning of verbatim text. This includes <code> tags and
3481 End of verbatim text. This includes <code> tags and =teletype
3485 Beginning of the first level of emphasized text.
3488 End of the first level of emphasized text.
3491 Beginning of the second level of emphasized text.
3494 End of the second level of emphasized text.
3497 Beginning of the third (and final) level of emphasized text.
3500 End of the third (and final) level of emphasized text.
3503 Beginning of verse text.
3506 String used to each space that is further indented than the
3507 beginning of the verse.
3510 Beginning of a line of verse.
3513 End of a line of verse.
3515 `begin-last-stanza-line'
3516 Beginning of the last line of a verse stanza.
3518 `end-last-stanza-line'
3519 End of the last line of a verse stanza.
3525 Beginning of an example region. To make use of this, an
3526 `<example>' tag is needed.
3529 End of an example region. To make use of this, an `</example>' tag
3533 Begin a centered line.
3536 End a centered line.
3539 Begin a quoted region.
3542 End a quoted region.
3545 Begin a quote paragraph.
3548 End a quote paragraph.
3551 Begin an unordered list.
3554 End an unordered list.
3557 Begin an unordered list item.
3560 End an unordered list item.
3563 Begin an ordered list.
3566 End an ordered list.
3569 Begin an ordered list item.
3572 End an ordered list item.
3575 Begin a definition list.
3578 End a definition list.
3581 Begin a definition list item.
3584 End a definition list item.
3587 Begin a definition list term.
3590 End a definition list term.
3593 Begin a definition list entry.
3596 End a definition list entry.
3605 Begin a table grouping.
3608 End a table grouping.
3617 Begin a table entry.
3624 File: muse.info, Node: Markup Tags, Next: Style Elements, Prev: Markup Strings, Up: Extending Muse
3626 10.4 Tag specifications for special markup
3627 ==========================================
3629 `muse-publish-markup-tags'
3631 A list of tag specifications, for specially marking up text.
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.
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.
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.
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.
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
3656 File: muse.info, Node: Style Elements, Next: Deriving Styles, Prev: Markup Tags, Up: Extending Muse
3658 10.5 Parameters used for defining styles
3659 ========================================
3661 Style elements are tags that define a style. Use either
3662 `muse-define-style' or `muse-derive-style' (*note Deriving Styles::) to
3665 -- Function: muse-define-style name &rest elements
3671 File extension to use for publishing files with this style.
3674 File extension to use for publishing links to Muse files with this
3678 File extension to use for publishing second-stage files with this
3681 For example, PDF publishing generates a LaTeX file first, then a
3682 PDF from that LaTeX file.
3685 List of markup rules for publishing a page with Muse. *Note
3686 muse-publish-markup-regexps::.
3689 An alist of style types to custom functions for that kind of text.
3690 *Note muse-publish-markup-functions::.
3693 Strings used for marking up text with this style.
3695 These cover the most basic kinds of markup, the handling of which
3696 differs little between the various styles.
3699 A list of tag specifications, used for handling extra tags. *Note
3700 muse-publish-markup-tags::.
3703 A table of characters which must be represented specially.
3706 A function that is to be executed on the newly-created publishing
3707 buffer (or the current region) before any publishing occurs.
3709 This is used to set extra parameters that direct the publishing
3713 A function that is to be executed on the publishing buffer (or the
3714 current region) immediately after applying all of the markup
3717 This is used to fix the order of table elements (header, footer,
3718 body) in XML-ish styles.
3721 A function that is to be executed on the publishing buffer after
3722 :before-end, and immediately after inserting the header and footer.
3724 This is used for generating the table of contents as well as
3725 setting the file coding system.
3728 A function that is to be executed after saving the published file,
3729 but while still in its buffer.
3731 This is used for generating second-stage documents like PDF files
3732 from just-published LaTeX files.
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.
3741 Header used for publishing files of this style.
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.
3747 Footer used for publishing files of this style.
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.
3753 Style sheet used for publishing files of this style.
3755 This may be a variable or text. It is used in the header of HTML
3756 and XHTML based publishing styles.
3759 The function used to browse the published result of files of this
3764 File: muse.info, Node: Deriving Styles, Prev: Style Elements, Up: Extending Muse
3766 10.6 Deriving a new style from an existing one
3767 ==============================================
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.
3773 -- Function: muse-derive-style new-name base-name &rest elements
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
3783 *Note Style Elements::, for a complete list of all parameters.
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.
3790 All regexps in the current style and the base style(s) will be
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.
3799 File: muse.info, Node: Miscellaneous, Next: Getting Help and Reporting Bugs, Prev: Extending Muse, Up: Top
3801 11 Miscellaneous add-ons, like a minor mode
3802 *******************************************
3806 * Muse List Edit Minor Mode:: Edit lists easily in other major modes.
3809 File: muse.info, Node: Muse List Edit Minor Mode, Up: Miscellaneous
3811 11.1 Edit lists easily in other major modes
3812 ===========================================
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).
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.
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.
3835 `muse-list-edit-minor-mode' uses the following keybindings.
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
3841 `C-< (`muse-l-e-m-m-decrease-list-item-indent')'
3842 Decrease indentation of the current list item.
3844 `C-> (`muse-l-e-m-m-increase-list-item-indent')'
3845 Increase indentation of the current list item.
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.
3855 Interactively, with no prefix argument, toggle the mode. With
3856 universal prefix ARG turn mode on. With zero or negative ARG turn
3859 This minor mode provides the Muse keybindings for editing lists,
3860 and support for filling lists properly.
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.
3866 Definition lists and footnotes are also recognized.
3868 Note that list items may omit leading spaces, for compatibility
3869 with modes that set `left-margin', such as `debian-changelog-mode'.
3871 -- Function: turn-on-muse-list-edit-minor-mode
3872 Unconditionally turn on Muse list edit minor mode.
3874 -- Function: turn-off-muse-list-edit-minor-mode
3875 Unconditionally turn off Muse list edit minor mode.
3878 File: muse.info, Node: Getting Help and Reporting Bugs, Next: History, Prev: Miscellaneous, Up: Top
3880 12 Getting Help and Reporting Bugs
3881 **********************************
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.
3886 * `http://www.emacswiki.org/cgi-bin/wiki/EmacsMuse' is the
3887 emacswiki.org page, and anyone may add tips, hints, or bug
3890 * `http://mwolson.org/projects/EmacsMuse.html' is the web page that
3891 Michael Olson (the current maintainer) made for Muse.
3893 * Muse has several different mailing lists.
3896 Low-traffic list for Muse-related announcements.
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'.
3906 Discussion, bugfixes, suggestions, tips, and the like for
3907 Muse. This mailing list also includes the content of
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'.
3917 Log messages for commits made to Muse.
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'.
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.
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'.
3936 `muse-el-internationalization'
3937 Discussion of translation of the Muse website and
3938 documentation into many languages.
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'.
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.
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.
3959 File: muse.info, Node: History, Next: Contributors, Prev: Getting Help and Reporting Bugs, Up: Top
3961 13 History of This Document
3962 ***************************
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
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
3973 As of 2004-12-01, Michael Olson became the maintainer of Muse, as
3974 per John Wiegley's request.
3976 * 2005 Michael Olson overhauled this document and added many new
3977 sections in preparation for the first release of Muse (3.01).
3981 File: muse.info, Node: Contributors, Next: GNU Free Documentation License, Prev: History, Up: Top
3983 14 Contributors to This Documentation
3984 *************************************
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
3990 John Sullivan did a majority of the work on the emacs-wiki texinfo
3993 While Sacha Chua maintained emacs-wiki, she worked quite a bit on the
3994 emacs-wiki texinfo manual.
3997 File: muse.info, Node: GNU Free Documentation License, Next: Concept Index, Prev: Contributors, Up: Top
3999 Appendix A GNU Free Documentation License
4000 *****************************************
4002 Version 1.2, November 2002
4004 Copyright (C) 2000,2001,2002 Free Software Foundation, Inc.
4005 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
4007 Everyone is permitted to copy and distribute verbatim copies
4008 of this license document, but changing it is not allowed.
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.
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.
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.
4036 1. APPLICABILITY AND DEFINITIONS
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.
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.
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.
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.
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.
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."
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.
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.
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
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.
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.
4138 You may also lend copies, under the same conditions stated above,
4139 and you may publicly display copies.
4141 3. COPYING IN QUANTITY
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
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
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.
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.
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:
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
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
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
4212 G. Preserve in that license notice the full lists of Invariant
4213 Sections and required Cover Texts given in the Document's
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
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
4243 O. Preserve any Warranty Disclaimers.
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.
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
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.
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.
4274 5. COMBINING DOCUMENTS
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.
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
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."
4300 6. COLLECTIONS OF DOCUMENTS
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.
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
4315 7. AGGREGATION WITH INDEPENDENT WORKS
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.
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.
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
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
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.
4365 10. FUTURE REVISIONS OF THIS LICENSE
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/.
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.
4384 ADDENDUM: How to use this License for your documents
4385 ====================================================
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:
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.''
4399 If you have Invariant Sections, Front-Cover Texts and Back-Cover
4400 Texts, replace the "with...Texts." line with this:
4402 with the Invariant Sections being LIST THEIR TITLES, with the
4403 Front-Cover Texts being LIST, and with the Back-Cover Texts being
4406 If you have Invariant Sections without Cover Texts, or some other
4407 combination of the three, merge those two alternatives to suit the
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.
4416 File: muse.info, Node: Concept Index, Prev: GNU Free Documentation License, Up: Top