]> code.delx.au - gnu-emacs-elpa/blobdiff - packages/muse/texi/muse.texi
Add Texinfo files for muse package.
[gnu-emacs-elpa] / packages / muse / texi / muse.texi
diff --git a/packages/muse/texi/muse.texi b/packages/muse/texi/muse.texi
new file mode 100644 (file)
index 0000000..f62c030
--- /dev/null
@@ -0,0 +1,4247 @@
+\input texinfo @c -*-texinfo-*-
+@c %**start of header
+@setfilename muse.info
+@settitle Muse
+@c %**end of header
+
+@dircategory Emacs
+@direntry
+* Muse: (muse). Authoring and publishing environment for Emacs.
+@end direntry
+
+@syncodeindex fn cp
+
+@copying
+This manual is for Emacs Muse version 3.20.
+
+Copyright @copyright{} 2004, 2005, 2006, 2007,
+2008, 2009, 2010  Free Software Foundation, Inc.
+
+@quotation
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.2 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with the Front-Cover texts being ``A GNU
+Manual'', and with the Back-Cover Texts as in (a) below.  A copy of the
+license is included in the section entitled ``GNU Free Documentation
+License'' in this manual.
+
+(a) The FSF's Back-Cover Text is: ``You have freedom to copy and modify
+this GNU Manual, like GNU software.  Copies published by the Free
+Software Foundation raise funds for GNU development.''
+
+This document is part of a collection distributed under the GNU Free
+Documentation License.  If you want to distribute this document
+separately from the collection, you can do so by adding a copy of the
+license to the document, as described in section 6 of the license.
+
+All Emacs Lisp code contained in this document may be used, distributed,
+and modified without restriction.
+@end quotation
+@end copying
+
+@titlepage
+@title Muse manual
+@subtitle an authoring and publishing environment
+@subtitle for GNU Emacs and XEmacs
+
+@c The following two commands
+@c start the copyright page.
+@page
+@vskip 0pt plus 1filll
+@insertcopying
+@end titlepage
+
+@c So the toc is printed at the start
+@contents
+
+@ifnottex
+@node Top, Preface, (dir), (dir)
+@comment  node-name,  next,  previous,  up
+@top Muse
+
+@insertcopying
+@end ifnottex
+
+@menu
+* Preface::                     About the documentation.
+* Introduction::                What is Muse?
+* Obtaining Muse::              How to get Muse releases and development
+                                  changes.
+* Installation::                Compiling and installing Muse.
+* Getting Started::             Setting up Muse and editing files.
+* Projects::                    Creating and managing Muse projects.
+* Keystroke Summary::           Keys used in Muse mode.
+* Markup Rules::                Rules for using markup.
+* Publishing Styles::           Publishing various types of documents.
+* Extending Muse::              Making your own publishing styles.
+* Miscellaneous::               Miscellaneous add-ons, like a minor mode.
+* Getting Help and Reporting Bugs::  
+* History::                     History of this document.
+* Contributors::                Contributors to this documentation.
+* GNU Free Documentation License::  The license for this documentation.
+* Concept Index::               Search for terms.
+
+@detailmenu
+ --- The Detailed Node Listing ---
+
+How to Get Muse Releases and Development Changes
+
+* Releases::                    Released versions of Muse.
+* Development::                 Latest unreleased development changes.
+
+Getting Started
+
+* Loading Muse::                How to load Muse.
+* Using Muse Mode::             How to edit files in Muse.
+* Publishing Files Overview::   Publishing a single file or project.
+* File Extensions::             Using a different file extension.
+
+Creating and Managing Muse Projects
+
+* Single Project::              A single-project example.
+* Multiple Projects::           A multiple-project example.
+* Projects and Subdirectories::  Publishing subdirectories in projects.
+* Options for Projects::        Listing of available options for projects.
+
+Rules for Using Markup
+
+* Paragraphs::                  Paragraphs: centering and quoting.
+* Headings::                    Levels of headings.
+* Directives::                  Directives at the beginning of a
+                                  document.
+* Emphasizing Text::            Bold, italicized, and underlined text.
+* Footnotes::                   Making notes to be shown at the end.
+* Verse::                       Indicating poetic stanzas.
+* Lists::                       Lists of items.
+* Tables::                      Generation of data tables.
+* Explicit Links::              Hyperlinks and email addresses with
+                                  descriptions.
+* Implicit Links::              Bare URLs, WikiNames, and InterWiki
+                                  links.
+* Images::                      Publishing and displaying images.
+* Horizontal Rules and Anchors::  Inserting a horizontal line or anchor.
+* Embedded Lisp::               Evaluating Emacs Lisp code in documents
+                                  for extensibility.
+* Citations::                   Support for citing other resources.
+* Comments::                    Lines to omit from published output.
+* Tag Summary::                 Tags that Muse recognizes.
+
+Publishing Various Types of Documents
+
+* Blosxom::                     Integrating Muse and pyblosxom.cgi.
+* Book::                        Publishing entries into a compilation.
+* ConTeXt::                     Publishing ConTeXt documents.
+* DocBook::                     Publishing in DocBook XML form.
+* HTML::                        Publishing in HTML or XHTML form.
+* Ikiwiki::                     Integrating with ikiwiki.
+* Journal::                     Keeping a journal or blog.
+* LaTeX::                       Publishing LaTeX documents.
+* Poem::                        Publish a poem to LaTeX or PDF.
+* Texinfo::                     Publish entries to Texinfo format or PDF.
+* XML::                         Publish entries to XML.
+
+Integrating Muse and pyblosxom.cgi
+
+* Blosxom Requirements::        Other tools needed for the Blosxom style.
+* Blosxom Entries::             Format of a Blosxom entry and automation.
+* Blosxom Options::             Blosxom styles and options provided.
+
+Making your own publishing styles
+
+* Markup Functions::            Specifying functions to mark up text.
+* Markup Regexps::              Markup rules for publishing.
+* Markup Strings::              Strings specific to a publishing style.
+* Markup Tags::                 Tag specifications for special markup.
+* Style Elements::              Parameters used for defining styles.
+* Deriving Styles::             Deriving a new style from an existing
+                                  one.
+
+Miscellaneous add-ons, like a minor mode
+
+* Muse List Edit Minor Mode::   Edit lists easily in other major modes.
+
+@end detailmenu
+@end menu
+
+@node Preface, Introduction, Top, Top
+@comment  node-name,  next,  previous,  up
+@chapter About the documentation
+
+This document describes Muse, which was written by John Wiegley and is
+now maintained by Michael Olson.  Several versions of this manual are
+available on-line.
+
+@itemize @bullet
+@item PDF: http://mwolson.org/static/doc/muse.pdf
+@item HTML (single file): http://mwolson.org/static/doc/muse.html
+@item HTML (multiple files): http://mwolson.org/static/doc/muse/
+@end itemize
+
+@node Introduction, Obtaining Muse, Preface, Top
+@comment  node-name,  next,  previous,  up
+@chapter What is Muse?
+
+Emacs Muse (also known as ``Muse'' or ``Emacs-Muse'') is an authoring
+and publishing environment for Emacs.  It simplifies the process of
+writing documents and publishing them to various output formats.
+
+Muse consists of two main parts: an enhanced text-mode for authoring
+documents and navigating within Muse projects, and a set of publishing
+styles for generating different kinds of output.
+
+What makes Muse distinct from other text-publishing systems is a modular
+environment, with a rather simple core, in which "styles" are derived
+from to create new styles.  Much of Muse's overall functionality is
+optional.  For example, you can use the publisher without the
+major-mode, or the mode without doing any publishing; or if you don't
+load the Texinfo or LaTeX modules, those styles won't be available.
+
+The Muse codebase is a departure from emacs-wiki.el version 2.44. The
+code has been restructured and rewritten, especially its publishing
+functions.  The focus in this revision is on the authoring and
+publishing aspects, and the "wikiness" has been removed as a default
+behavior (available in the optional @file{muse-wiki} module).  CamelCase
+words are no longer special by default.
+
+One of the principal aims in the development of Muse is to make it very
+easy to produce good-looking, standards-compliant documents.
+
+@node Obtaining Muse, Installation, Introduction, Top
+@comment  node-name,  next,  previous,  up
+@chapter How to Get Muse Releases and Development Changes
+
+@menu
+* Releases::                    Released versions of Muse.
+* Development::                 Latest unreleased development changes.
+@end menu
+
+@node Releases, Development, Obtaining Muse, Obtaining Muse
+@comment  node-name,  next,  previous,  up
+@section Released versions of Muse
+
+Choose to install a release if you want to minimize risk.
+
+Errors are corrected in development first.  User-visible changes will be
+announced on the @email{muse-el-discuss@@gna.org} mailing list.
+@xref{Getting Help and Reporting Bugs}.
+
+@cindex releases, Debian package
+@cindex Debian package for Muse
+Debian users can get Muse via apt-get.  The @file{muse-el} package is
+available both at Michael Olson's APT repository and the official Debian
+repository.  To make use of the former, add the following line to your
+@file{/etc/apt/sources.list} file and run @code{apt-get install muse}.
+
+@example
+deb http://mwolson.org/debian/ ./
+@end example
+
+@cindex releases, Ubuntu package
+@cindex Ubuntu package for Muse
+Ubuntu users can also get Muse via apt-get.  The @file{muse-el} package
+is available both at Michael Olson's APT repository and the official
+Ubuntu repository.  To make use of the former, add the following line to
+your @file{/etc/apt/sources.list} file and run @code{apt-get install
+muse}.
+
+@example
+deb http://mwolson.org/ubuntu/ ./
+@end example
+
+The reason for making separate Debian and Ubuntu packages is that this
+manual is under the GFDL, and Debian will not allow it to be distributed
+in its main repository.  Ubuntu, on the other hand, permits this manual
+to be included with the @file{muse-el} package.
+
+@cindex releases, from source
+Alternatively, you can download the latest release from
+@uref{http://download.gna.org/muse-el/} .
+
+@node Development,  , Releases, Obtaining Muse
+@comment  node-name,  next,  previous,  up
+@section Latest unreleased development changes
+@cindex development
+
+Choose the development version if you want to live on the bleeding edge
+of Muse development or try out new features before release.
+
+@cindex git version control system, using
+The git version control system allows you to keep up-to-date with the
+latest changes to the development version of Muse.  It also allows you
+to contribute changes (via commits, if you are have developer access to
+the repository, or via patches, otherwise).  If you would like to
+contribute to Muse development, it is highly recommended that you use
+git.
+
+If you are new to git, you might find this tutorial helpful:
+@uref{http://www.kernel.org/pub/software/scm/git/docs/tutorial.html}.
+
+Downloading the Muse module with git and staying up-to-date involves
+the following steps.
+
+@enumerate
+@item Install git.
+
+@itemize @bullet
+@item Debian and Ubuntu: @kbd{apt-get install git-core}.
+@item Windows: @uref{http://git.or.cz/gitwiki/WindowsInstall}.
+@item Other operating systems: download, compile, and install the source
+from @uref{http://www.kernel.org/pub/software/scm/git/}, or find a git
+package for your operating system.
+@end itemize
+
+@item Download the Muse development branch.
+
+If you have developer access to Muse, do:
+
+@example
+git clone ssh://repo.or.cz/srv/git/muse-el.git muse
+@end example
+
+otherwise, do:
+
+@example
+git clone git://repo.or.cz/muse-el.git muse
+@end example
+
+If you are behind a restrictive firewall, and do not have developer
+access, then do the following instead:
+
+@example
+git clone http://repo.or.cz/r/muse-el.git muse
+@end example
+
+@item List upstream changes that are missing from your local copy.
+Do this whenever you want to see whether new changes have been committed
+to Muse.  If you wish, you may skip this step and proceed directly to
+the ``update'' step.
+
+@example
+# Change to the source directory you are interested in.
+cd muse
+
+# Fetch new changes from the repository, but don't apply them yet
+git fetch origin
+
+# Display log messages for the new changes
+git log HEAD..origin
+@end example
+
+``origin'' is git's name for the location where you originally got Muse
+from.  You can change this location at any time by editing the
+@file{.git/config} file in the directory where the Muse source was
+placed.
+
+@cindex updating Muse with git
+@item Update to the latest version by pulling in any missing changes.
+
+@example
+cd muse
+git pull origin
+@end example
+
+git will show how many files changed, and will provide a visual display
+for how many lines were changed in each file.
+
+@end enumerate
+
+There are other ways to interact with the Muse repository.
+
+@itemize
+@item Browse git repo: @uref{http://repo.or.cz/w/muse-el.git}
+@item Latest development snapshot: @uref{http://mwolson.org/static/dist/muse-latest.tar.gz}
+@item Latest development snapshot (zip file): @uref{http://mwolson.org/static/dist/muse-latest.zip}
+@end itemize
+
+The latest development snapshot can lag behind the git repo by as much
+as 20 minutes, but never more than that.
+
+@subheading Becoming a Muse developer
+@cindex developer, becoming
+
+If you want commit access to the shared Muse repository, then register
+an account at @uref{http://repo.or.cz} (be sure to add an SSH key), and
+contact the current maintainer at @email{mwolson@@gnu.org}.  It would be
+best to send some patches to the @email{muse-el-discuss@@gna.org}
+mailing list first, so that he knows that you know what you are doing.
+@xref{Getting Help and Reporting Bugs}, for instructions on subscribing
+to the mailing list.
+
+You must also be willing to sign a copyright assignment for your changes
+to Muse, since Muse is a GNU project.  The current maintainer will
+assist you in this process if you contact him.
+
+For information on committing changes to Muse and performing
+development, please consult
+@uref{http://emacswiki.org/cgi-bin/wiki/MuseDevelopment}.
+
+@node Installation, Getting Started, Obtaining Muse, Top
+@comment  node-name,  next,  previous,  up
+@chapter Compiling and Installing Muse
+
+Muse may be compiled and installed on your machine.
+
+@subheading Compilation
+@cindex compiling Muse
+
+This is an optional step, since Emacs Lisp source code does not
+necessarily have to be byte-compiled.  Byte-compilation may yield a very
+slight speed increase.
+
+A working copy of Emacs or XEmacs is needed in order to compile Emacs
+Muse.  By default, the program that is installed with the name
+@command{emacs} will be used.
+
+If you want to use the @command{xemacs} binary to perform the
+compilation, you must copy @file{Makefile.defs.default} to
+@file{Makefile.defs} in the top-level directory, and then edit
+@file{Makefile.defs} as follows.  You can put either a full path to an
+Emacs or XEmacs binary or just the command name, as long as it is in the
+@env{PATH}.
+
+@example
+EMACS    = xemacs
+SITEFLAG = -no-site-file
+# Edit the section as necessary
+install_info = install-info --section "XEmacs 21.4" $(1).info \
+        $(INFODIR)/dir || :
+@end example
+
+Running @code{make} in the top-level directory should compile the Muse
+source files in the @file{lisp} directory, and generate an autoloads
+file in @file{lisp/muse-autoloads.el}.
+
+@subheading Installation
+@cindex installing Muse
+
+Muse may be installed into your file hierarchy by doing the following.
+
+Copy @file{Makefile.defs.default} to @file{Makefile.defs} in the
+top-level directory, if you haven't done so already.  Then edit the
+@file{Makefile.defs} file so that @env{ELISPDIR} points to where you
+want the source and compiled Muse files to be installed and
+@env{INFODIR} indicates where to put the Muse manual.  You may use a
+combination of @env{DESTDIR} and @env{PREFIX} to further determine where
+the installed files should be placed.  As mentioned earlier, you will
+want to edit @env{EMACS} and @env{SITEFLAG} as shown in the Compilation
+section if you are using XEmacs.
+
+If you are installing Muse on a Debian or Ubuntu system, you might want
+to change the value of @env{INSTALLINFO} as specified in
+@file{Makefile.defs}.
+
+If you wish to install Muse to different locations than the defaults
+specify, edit @file{Makefile.defs} accordingly.
+
+Run @code{make} as a normal user, if you haven't done so already.
+
+Run @code{make install} as the root user if you have chosen installation
+locations that require root permissions.
+
+@subheading ELPA
+@cindex ELPA package for Muse
+
+For those used to installing software packages, there will be a
+@code{muse} package available in the Emacs Lisp Package Archive
+(abbreviated ``ELPA'') as of the 3.10 release of Muse.  This package
+will be compiled and installed automatically in a user-specific
+location.  For more information on ELPA, see
+@uref{http://tromey.com/elpa/}.
+
+@node Getting Started, Projects, Installation, Top
+@comment  node-name,  next,  previous,  up
+@chapter Getting Started
+@cindex settings
+
+@menu
+* Loading Muse::                How to load Muse.
+* Using Muse Mode::             How to edit files in Muse.
+* Publishing Files Overview::   Publishing a single file or project.
+* File Extensions::             Using a different file extension.
+@end menu
+
+@node Loading Muse, Using Muse Mode, Getting Started, Getting Started
+@comment  node-name,  next,  previous,  up
+@section How to Load Muse
+@cindex settings, init file
+
+To use Muse, add the directory containing its files to your
+@code{load-path} variable, in your @file{.emacs} file.  Then, load in
+the authoring mode, and the styles you wish to publish to.  An example
+follows.
+
+@lisp
+(add-to-list 'load-path "<path to Muse>")
+
+(require 'muse-mode)     ; load authoring mode
+
+(require 'muse-html)     ; load publishing styles I use
+(require 'muse-latex)
+(require 'muse-texinfo)
+(require 'muse-docbook)
+
+(require 'muse-project)  ; publish files in projects
+@end lisp
+
+An easy way of seeing which settings are available and changing settings
+is to use the Muse customization interface.  To do this, type
+@kbd{M-x customize-group muse RET}.  Each of the options has its own
+documentation.  Options are grouped logically according to what effect
+they have.
+
+@node Using Muse Mode, Publishing Files Overview, Loading Muse, Getting Started
+@comment  node-name,  next,  previous,  up
+@section How to Edit Files in Muse
+@cindex editing Muse files
+
+Muse Mode should automatically be activated when you visit a file with a
+``.muse'' extension.  One such file is @file{QuickStart.muse}, which is
+available in the @file{examples} directory of the Muse distribution.
+You can tell that Muse Mode has been activated by checking for the text
+``Muse'' in your mode line.  If Muse Mode has not been activated, you
+may activate it by type @kbd{M-x muse-mode RET}.
+
+You will notice that Muse files are highlighted very simply.  Links are
+colored blue, headings are large and bold text, and @verb{|<example>|}
+tags are colored in grey.
+
+There are several different ways to edit things like links, which hide
+the underlying Muse markup.  One way is to toggle font-locking off by
+hitting @kbd{C-c C-l}, which is also @kbd{M-x font-lock-mode}, make
+changes, and then hit @kbd{C-c C-l} again to toggle font-locking back
+on.  Another way is just to move into the text and edit it.  Markup can
+also be removed by normal deletion methods, though some side effects
+might require a second deletion.
+
+For the particular case of editing links, it is easiest to move to the
+link and do @kbd{C-c C-e}, which is also @kbd{M-x
+muse-edit-link-at-point}.  This prompts you for the link and its
+description, using the previous contents of the link as initial values.
+A link to another Muse file may be created by hitting @kbd{C-c TAB l}.
+A link to a URL may be created by hitting @kbd{C-c TAB u}.  Links may be
+followed by hitting @kbd{RET} on them.
+
+If you want to add a new list item, this may by accomplished by hitting
+@kbd{M-RET}.  This will put a dash and some spaces on the screen.  The
+dash is the Muse markup that indicates a list item.  It is also possible
+to created ``nested'' lists with this command, by adjusting the number
+of spaces in front of the dashes.  If you have lists with long lines,
+you can move to a list item and hit @kbd{M-q} to wrap it onto multiple
+lines.
+
+@node Publishing Files Overview, File Extensions, Using Muse Mode, Getting Started
+@comment  node-name,  next,  previous,  up
+@section Publishing a Single File or Project
+@cindex editing Muse files
+
+The command @kbd{M-x muse-project-publish-this-file} will publish the
+current document to any available publishing style (a publishing style
+is an output format, like HTML or Docbook), placing the output in the
+current directory.  If you are in Muse Mode, this command will be bound
+to @kbd{C-c C-t}.  If the file has been published recently, and its
+contents have not changed, running @kbd{C-c C-t} again will not publish
+the file.  To force publishing in this case, do @kbd{C-u C-c C-t}.
+
+If you have set up projects and are visiting a file that is part of a
+project, then @kbd{C-c C-t} will restrict the output formats to those
+which are used by the project, and will automatically publish to the
+output directory defined by the project.  If you want to publish to a
+different directory or use a different format, then use @kbd{C-c M-C-t},
+which is also @kbd{M-x muse-publish-this-file}.
+
+If the currently opened file is part of a defined project in
+@code{muse-project-alist}, it (and the rest of the changed files in a
+project) may be published using @kbd{C-c C-p}.
+
+@node File Extensions, , Publishing Files Overview, Getting Started
+@comment  node-name,  next,  previous,  up
+@section Using a Different File Extension
+@cindex file extension, specifying
+
+By default, Muse expects all project files to have the file extension
+@file{.muse}. Files without this extension will not be associated with
+Muse mode and will not be considered part of any project, even if they
+are within a project directory.
+
+If you don't want to use @file{.muse}, you can customize the extension
+by setting the value of @code{muse-file-extension}.
+
+If you don't want to use any extension at all, and want Muse to
+autodetect project files based on their location, then add the following
+to your Muse settings file.
+
+@lisp
+(setq muse-file-extension nil
+      muse-mode-auto-p t)
+@end lisp
+
+Note that if you chose to have @code{muse-file-extension} set to
+@code{nil}, you may have trouble if your @file{.emacs} file or other
+init scripts attempt to visit a Muse file.  (A very common example of
+this is if you use Planner with Muse and run @code{(plan)} from your
+@file{.emacs}.)  If you wish to visit Muse files from your
+@file{.emacs}, be sure to also add the following additional code before
+any such visits happen:
+
+@lisp
+(add-hook 'find-file-hooks 'muse-mode-maybe)
+@end lisp
+
+
+@node Projects, Keystroke Summary, Getting Started, Top
+@comment  node-name,  next,  previous,  up
+@chapter Creating and Managing Muse Projects
+@cindex projects
+
+Often you will want to publish all the files within a directory to a
+particular set of output styles automatically.  To support, Muse
+allows for the creation of "projects".
+
+@menu
+* Single Project::              A single-project example.
+* Multiple Projects::           A multiple-project example.
+* Projects and Subdirectories::  Publishing subdirectories in projects.
+* Options for Projects::        Listing of available options for projects.
+@end menu
+
+@node Single Project, Multiple Projects, Projects, Projects
+@comment  node-name,  next,  previous,  up
+@section A Single-Project Example
+@cindex projects, single
+
+Here is a sample project, which may be defined in your @file{.emacs}
+file.
+
+@lisp
+(setq muse-project-alist
+      '(("Website" ("~/Pages" :default "index")
+         (:base "html" :path "~/public_html")
+         (:base "pdf" :path "~/public_html/pdf"))))
+@end lisp
+
+The above defines a project named "website", whose files are located
+in the directory @file{~/Pages}.  The default page to visit is
+@file{index}.  When this project is published, each page will be
+output as HTML to the directory @file{~/public_html}, and as PDF to
+the directory @file{~/public_html/pdf}.  Within any project page, you
+may create a link to other pages using the syntax @samp{[[pagename]]}.
+
+If you would like to include only some files from a directory in a Muse
+project, you may use a regexp in place of @file{~/Pages} in the example.
+
+@node Multiple Projects, Projects and Subdirectories, Single Project, Projects
+@comment  node-name,  next,  previous,  up
+@section A Multiple-Project Example
+@cindex projects, multiple
+
+It is possible to specify multiple projects.  Here is an example of
+three projects: a generic website, a projects area, and a day-planner
+(the day-planner part requires Planner Mode---see
+@uref{http://wjsullivan.net/PlannerMode.html} to get it).
+
+@lisp
+(setq muse-project-alist
+      '(("Website" ("~/Pages" :default "index")
+         (:base "html" :path "~/public_html"))
+        (("Projects" ("~/Projects" :default "index")
+         (:base "xhtml"
+                :path "~/public_html/projects"
+                :exclude "/TopSecret")
+         (:base "pdf"
+                :path "~/public_html/projects/pdf"
+                :exclude "/TopSecret")))
+        ("Plans" ("~/Plans"
+                  :default "TaskPool"
+                  :major-mode planner-mode
+                  :visit-link planner-visit-link)
+         (:base "planner-xhtml"
+                :path "~/public_html/plans"))))
+@end lisp
+
+The @option{:major-mode} attribute specifies which major to use when
+visiting files in this directory.
+
+The @option{:visit-link} attribute specifies the function to call when
+visiting links.
+
+The @option{:exclude} attribute has a regexp that matches files to never
+publish.
+
+@node Projects and Subdirectories, Options for Projects, Multiple Projects, Projects
+@comment  node-name,  next,  previous,  up
+@section Publishing Subdirectories in Projects
+@cindex projects, subdirectories
+
+If you want to publish a directory and all of its subdirectories, Muse
+provides two convenience functions that together generate the proper
+rules for you.  Note that we use the backtick to begin this
+muse-project-alist definition, rather than a single quote.
+
+@lisp
+(setq muse-project-alist
+      `(("Website" ("~/Pages" :default "index")
+         (:base "html" :path "~/public_html"))
+        ("Blog" (,@@(muse-project-alist-dirs "~/Blog")
+                 :default "index")
+         ;; Publish this directory and its subdirectories.  Arguments
+         ;; are as follows.  The above `muse-project-alist-dirs' part
+         ;; is also needed.
+         ;;   1. Source directory
+         ;;   2. Output directory
+         ;;   3. Publishing style
+         ;;   remainder: Other things to put in every generated style
+         ,@@(muse-project-alist-styles "~/Blog"
+                                      "~/public_html/blog"
+                                      "blosxom"))))
+@end lisp
+
+The @code{muse-project-alist-dirs} function takes a directory and
+returns it and all of its subdirectories in a list.
+
+The @code{muse-project-alist-styles} function is explained by the
+comments above.
+
+The ``blosxom'' text is the name of another publishing style, much like
+``html''.  @xref{Blosxom}, for further information about it.  You can
+use any publishing style you like for the third argument to
+@code{muse-project-alist-styles}.
+
+@node Options for Projects, , Projects and Subdirectories, Projects
+@comment  node-name,  next,  previous,  up
+@section Listing of Available Options for Projects
+@cindex projects, options
+@cindex muse-project-alist, reference
+
+This is a listing of all of the various options (or, more accurately:
+attributes) that may be specified in @code{muse-project-alist}.
+
+Each muse-project-alist entry looks like this:
+
+@example
+  (PROJECT-NAME (SOURCES)
+    OUTPUTS)
+@end example
+
+We refer to these names below.
+
+``Attributes'', which compose SOURCES and OUTPUTS, are a pair of values.
+The first value is a keyword, like @option{:default}.  The second part
+is the value associated with that keyword, such as the text ``index''.
+If you are familiar with Emacs Lisp property lists, the concept is
+similar to that, except that in the SOURCES section, single directories
+can be interspersed with two-value attributes.
+
+@subheading Project Name
+
+This is a string that indicates the name of the project.  It is
+primarily used for publishing interwiki links with the
+@file{muse-wiki.el} module.
+
+@subheading Sources
+
+This part of a muse-project-alist entry consists of two-value
+attributes, and also directory names.  If you are publishing a book, the
+order of directories and attributes is significant.
+
+The minimal content for the sources section is a list of directories.
+
+@table @option
+
+@item :book-chapter
+Indicates a new chapter of a book.  The text of the title of the chapter
+comes immediately after this keyword.
+
+@item :book-end
+Indicates the end of a book.  Directories listed after this one are
+ignored when publishing a book.  The value ``t'' (without quotes) should
+come immediately after this keyword.
+
+@item :book-funcall
+A function to call while publishing a book.  This is useful for doing
+something just after a particular chapter.
+
+@item :book-part
+Indicates the beginning of a new part of the book.  The text of the
+title should come immediately after this keyword.
+
+@item :book-style
+Indicate a particular publishing style to use for this part of the book.
+If this is specified, it should come just after a @option{:part}
+attribute.
+
+@item :default
+The default page to visit when browsing a project.  Also, if you are
+using the @file{muse-wiki.el} module, publishing a link to just a
+project's name will cause it to link to this default file.
+
+@item :force-publish
+This specifies a list of pages which should be published every time a
+project is published (by using @kbd{C-c C-p}, for example), regardless
+of whether their contents have changed.  This is useful for updating
+Index pages, pages that use the @verb{|<include>|} tag, and other pages
+that have dynamically-generated content.
+
+@item :major-mode
+This specifies the major mode to use when visiting files in this
+project.  The default is @code{muse-mode}.
+
+@item :nochapters
+This indicates that while publishing a book, do not automatically create
+chapters.  Values which may follow this are nil (the default, which
+means that we automatically create chapters), or non-nil, which means
+that we manually specify chapters with the @option{:book-chapter}
+attribute,
+
+@item :publish-project
+Indicates which function we should call when publishing a project.
+
+@item :set
+This specifies a list of variables and values to set when publishing a
+project.  The list should be a property list, which is in the form:
+
+@example
+(VAR1 VALUE1 VAR2 VALUE2 ...)
+@end example
+
+@item :visit-link
+Specifies the function to call when visiting a link.  The default is
+@code{muse-visit-link-default}.  The arguments for that function should
+be (1) the link and (2) whether to visit the link in a new window.
+
+@end table
+
+@subheading Outputs
+
+This part of a muse-project-alist entry is composed of lists of
+attributes.  Each list is called an ``output style''.
+
+The minimal content for an output style is a @option{:base} attribute
+and a @option{:path} attribute.
+
+@table @option
+
+@item :base
+Publishing style to use, such as ``html'', ``docbook'', or ``pdf''.
+
+@item :base-url
+An external URL which can be used to access published files.  This is
+mainly used by the @file{muse-wiki} module when publishing links between
+two separate projects, if the projects are served on different domains.
+
+It is also used by the @file{muse-journal} module to create the RSS or
+RDF output.
+
+@item :exclude
+Exclude items matching a regexp from being published.  The regexp should
+usually begin with "/".
+
+@item :include
+Only include items matching a regexp when publishing.  The regexp should
+usually begin with "/".
+
+@item :path
+The directory in which to store published files.
+
+@item :timestamps
+A file containing the timestamps (that is, time of creation) for files
+in this project.  It might eventually used by the @file{muse-blosxom}
+module, but this option is not currently in use by any Muse code.
+
+@end table
+
+
+@node Keystroke Summary, Markup Rules, Projects, Top
+@comment  node-name,  next,  previous,  up
+@chapter Keys Used in Muse Mode
+@cindex keystrokes
+
+This is a summary of keystrokes available in every Muse buffer.
+
+@table @kbd
+
+@item C-c C-a (`muse-index')
+Display an index of all known Muse pages.
+
+@item C-c C-b (`muse-find-backlinks')
+Find all pages that link to this page.
+
+@item C-c C-e (`muse-edit-link-at-point')
+Edit link at point.
+
+@item C-c C-f (`muse-project-find-file')
+Open another Muse page.  Prompt for the name.
+
+@item C-c C-i l, C-c TAB l (`muse-insert-relative-link-to-file')
+Insert a link to a file interactively.
+
+@item C-c C-i t, C-c TAB t (`muse-insert-tag')
+Insert a tag interactively.
+
+@item C-c C-i u, C-c TAB u (`muse-insert-url')
+Insert a URL interactively.
+
+@item C-c C-l (`font-lock-mode')
+Toggle font lock / highlighting for the current buffer.
+
+@item C-c C-p (`muse-project-publish')
+Publish any Muse pages that have changed.
+
+@item C-c C-s (`muse-search')
+Find text in all files of the current project.
+
+@item C-c C-t (`muse-project-publish-this-file')
+Publish the currently-visited file.  Prompt for the style if the current
+file can be published using more than one style.
+
+@item C-c C-S-t, or C-c C-M-t (`muse-publish-this-file')
+Publish the currently-visited file.  Prompt for both the style and
+output directory.
+
+@item C-c C-v (`muse-browse-result')
+Show the published result of this page.
+
+@item C-c = (`muse-what-changed')
+Diff this page against the last backup version.
+
+@item TAB
+Move to the next Wiki reference.
+
+@item S-TAB
+Move to the previous Wiki reference.
+
+@item M-TAB
+Complete the name of a page from the current project at point.
+
+@item M-RET
+Insert a new list item at point, indenting properly.
+
+@item C-<
+Decrease the indentation of the list item at point.
+
+@item C->
+Increase the indentation of the list item at point.
+
+@item M-x muse-colors-toggle-inline-images RET
+Toggle display of inlined images on/off.
+
+@item M-x muse-update-values RET
+Update various values that are automatically generated.
+
+Call this after changing @code{muse-project-alist}.
+@end table
+
+
+@node Markup Rules, Publishing Styles, Keystroke Summary, Top
+@comment  node-name,  next,  previous,  up
+@chapter Rules for Using Markup
+@cindex markup
+
+A Muse document uses special, contextual markup rules to determine how
+to format the output result.  For example, if a paragraph is indented,
+Muse assumes it should be quoted.
+
+There are not too many markup rules, and all of them strive to be as
+simple as possible so that you can focus on document creation, rather
+than formatting.
+
+@menu
+* Paragraphs::                  Paragraphs: centering and quoting.
+* Headings::                    Levels of headings.
+* Directives::                  Directives at the beginning of a
+                                  document.
+* Emphasizing Text::            Bold, italicized, and underlined text.
+* Footnotes::                   Making notes to be shown at the end.
+* Verse::                       Indicating poetic stanzas.
+* Lists::                       Lists of items.
+* Tables::                      Generation of data tables.
+* Explicit Links::              Hyperlinks and email addresses with
+                                  descriptions.
+* Implicit Links::              Bare URLs, WikiNames, and InterWiki
+                                  links.
+* Images::                      Publishing and displaying images.
+* Horizontal Rules and Anchors::  Inserting a horizontal line or anchor.
+* Embedded Lisp::               Evaluating Emacs Lisp code in documents
+                                  for extensibility.
+* Citations::                   Support for citing other resources.
+* Comments::                    Lines to omit from published output.
+* Tag Summary::                 Tags that Muse recognizes.
+@end menu
+
+@node Paragraphs, Headings, Markup Rules, Markup Rules
+@comment  node-name,  next,  previous,  up
+@section Paragraphs: centering and quoting
+@cindex paragraphs
+
+Paragraphs in Muse must be separated by a blank line.
+
+@cindex paragraphs, centered
+@subheading Centered paragraphs and quotations
+
+A line that begins with six or more columns of whitespace (either tabs
+or spaces) indicates a centered paragraph.  Alternatively, you can use
+the @verb{|<center>|} tag to surround regions that are to be published
+as centered paragraphs.
+
+@cindex paragraphs, quoted
+@cindex quotations
+But if a line begins with whitespace, though less than six columns, it
+indicates a quoted paragraph.  Alternatively, you can use the
+@verb{|<quote>|} tag to surround regions that are to be published as
+quoted paragraphs.
+
+@cindex examples
+@cindex monospace, rendering blocks
+@cindex HTML, rendering blocks in monospace
+@subheading Literal paragraphs
+
+The @verb{|<example>|} tag is used for examples, where whitespace should
+be preserved, the text rendered in monospace, and any characters special
+to the output style escaped.
+
+@cindex literal text
+@cindex HTML, inserting a raw block
+There is also the @verb{|<literal>|} tag, which causes a marked block to
+be entirely left alone.  This can be used for inserting a hand-coded
+HTML blocks into HTML output, for example.
+
+If you want some text to only be inserted when publishing to a
+particular publishing style, use the @option{style} attribute for the
+@verb{|<literal>|} tag.  An example follows.
+
+@example
+<literal style="latex">
+A LaTeX-based style was used in the publishing of this document.
+</literal>
+@end example
+
+This will leave the region alone if the current publishing style is
+``latex'' or based on ``latex'', such as ``pdf'', and delete the region
+otherwise.  It is also possible to leave the text alone only for one
+particular style, rather than its derivations, by adding
+@code{exact="t"} to the tag.
+
+@cindex line breaks
+@subheading Line breaks
+
+If you need a line break, then use the @samp{<br>} tag.  Most of the
+time this tag is unnecessary, because Muse will automatically detect
+paragraphs by means of blank lines.  If you want to preserve newlines in
+several lines of text, then use verse markup instead (@pxref{Verse}).
+
+@node Headings, Directives, Paragraphs, Markup Rules
+@comment  node-name,  next,  previous,  up
+@section Levels of headings
+@cindex headings
+
+A heading becomes a chapter or section in printed output -- depending on
+the style.  To indicate a heading, start a new paragraph with one or
+more asterices, followed by a space and the heading title.  Then begin
+another paragraph to enter the text for that section.
+
+All levels of headings will be published.  Most publishing styles only
+distinguish the between the first 4 levels, however.
+
+@example
+* First level
+
+** Second level
+
+*** Third level
+
+**** Fourth level
+@end example
+
+@node Directives, Emphasizing Text, Headings, Markup Rules
+@comment  node-name,  next,  previous,  up
+@section Directives at the beginning of a document
+@cindex directives
+
+Directives are lines beginning with the @samp{#} character that come
+before any paragraphs or sections in the document.  Directives are of
+the form ``#directive content of directive''.  You can use any
+combination of uppercase and lowercase letters for directives, even if
+the directive is not in the list below.
+
+The @code{muse-publishing-directive} function may be used in header and
+footer text to access directives.  For example, to access the
+@code{#title} directive, use @code{(muse-publishing-directive "title")}.
+
+The following is a list of directives that Muse uses.
+
+@table @code
+@cindex #author
+@item #author
+The author of this document.
+
+If this is not specified, Muse will attempt to figure it out from the
+@code{user-full-name} variable.
+
+@cindex #date
+@item #date
+The date that the document was last modified.
+
+This is used by publishing styles that are able to embed the date
+information.
+
+@cindex #desc
+@item #desc
+A short description of this document.
+
+This is used by the @code{journal} publishing style to embed information
+inside of an RSS/RDF feed.
+
+@cindex #title
+@item #title
+The title of this document.
+
+If this is not specified, the name of the file is used.
+
+@end table
+
+@node Emphasizing Text, Footnotes, Directives, Markup Rules
+@comment  node-name,  next,  previous,  up
+@section Bold, italicized, and underlined text
+@cindex emphasizing text
+@cindex underlining text
+@cindex italicizing text
+@cindex verbatim text
+@cindex monospace, rendering words
+
+To emphasize text, surround it with certain specially recognized
+characters.
+
+@example
+*emphasis*
+**strong emphasis**
+***very strong emphasis***
+_underlined_
+=verbatim and monospace=
+@end example
+
+@cindex WYSIWYG
+While editing a Muse document in Muse mode, these forms of emphasis will
+be highlighted in a WYSIWYG manner.  Each of these forms may span
+multiple lines.
+
+Verbatim text will be colored as gray by default.  To change this,
+customize @code{muse-verbatim-face}.
+
+You can also use the @verb{|<code>|} tag to indicate verbatim and
+monospace text.  This is handy for regions that have an ``='' in them.
+
+@node Footnotes, Verse, Emphasizing Text, Markup Rules
+@comment  node-name,  next,  previous,  up
+@section Making notes to be shown at the end
+@cindex footnotes
+
+A footnote reference is simply a number in square brackets.  To define
+the footnote, place this definition at the bottom of your file.
+@samp{footnote-mode} can be used to greatly facilitate the creation of
+these kinds of footnotes.
+
+Footnotes are defined by the same number in brackets occurring at the
+beginning of a line.  Use footnote-mode's @kbd{C-c ! a} command, to very
+easily insert footnotes while typing.  Use @kbd{C-x C-x} to return to
+the point of insertion.
+
+@node Verse, Lists, Footnotes, Markup Rules
+@comment  node-name,  next,  previous,  up
+@section Indicating poetic stanzas
+@cindex verses
+@cindex poetry
+
+Poetry requires that whitespace be preserved, but without resorting to
+monospace.  To indicate this, use the following markup, reminiscent of
+email quotations.
+
+@example
+> A line of Emacs verse;
+>   forgive its being so terse.
+@end example
+
+You can also use the @verb{|<verse>|} tag, if you prefer.
+
+@example
+<verse>
+A line of Emacs verse;
+  forgive its being so terse.
+</verse>
+@end example
+
+@cindex verses, multiple stanzas
+Multiple stanzas may be included in one set of @verb{|<verse>|} tags, as
+follows.
+
+@example
+<verse>
+A line of Emacs verse;
+  forgive its being so terse.
+
+In terms of terse verse,
+  you could do worse.
+</verse>
+@end example
+
+@node Lists, Tables, Verse, Markup Rules
+@comment  node-name,  next,  previous,  up
+@section Lists of items
+@cindex lists
+
+Lists are given using special characters at the beginning of a line.
+Whitespace must occur before bullets or numbered items, to distinguish
+from the possibility of those characters occurring in a real sentence.
+
+@cindex lists, bullets
+These are rendered as a bullet list.
+
+@example
+Normal text.
+
+ - bullet item one
+ - bullet item two
+@end example
+
+@cindex lists, enumerated
+An enumerated list follows.
+
+@example
+Normal text.
+
+ 1. Enum item one
+ 2. Enum item two
+@end example
+
+@cindex lists, definitions
+Here is a definition list.
+
+@example
+Term1 ::
+  This is a first definition
+  And it has two lines;
+  no, make that three.
+
+Term2 :: This is a second definition
+@end example
+
+@subheading Nested lists
+
+@cindex lists, nested
+It is possible to nest lists of the same or different kinds.  The
+``level'' of the list is determined by the amount of initial whitespace.
+
+@example
+Normal text.
+
+ - Level 1, bullet item one
+   1. Level 2, enum item one
+   2. Level 2, enum item two
+ - Level 1, bullet item two
+   1. Level 2, enum item three
+   2. Level 2, enum item four
+      term :: definition
+@end example
+
+@subheading Breaking list items
+
+@cindex lists, breaking lines
+If you want to break up a line within any list type, just put one blank
+line between the end of the previous line and the beginning of the next
+line, using the same amount of initial indentation.
+
+@example
+ - bullet item 1, line 1
+
+   bullet item 1, line 2
+
+   1. Enum line 1
+
+      Enum line 2
+
+ - bullet item 2, line 1
+
+   bullet item 2, line 2
+@end example
+
+@node Tables, Explicit Links, Lists, Markup Rules
+@comment  node-name,  next,  previous,  up
+@section Generation of data tables
+@cindex tables
+
+@cindex tables, simple
+Only very simple tables are supported.  The syntax is as follows.
+
+@example
+Double bars  || Separate header fields
+
+Single bars   | Separate body fields
+Here are more | body fields
+
+Triple bars ||| Separate footer fields
+@end example
+
+Some publishing styles require header fields to come first, then footer
+fields, and then the body fields.  You can use any order for these
+sections that you like, and Muse will re-order them for you at
+publish-time.
+
+If you wish to disable table generation for one Muse file, add the
+directive @samp{#disable-tables t} to the top of the file.
+
+@subheading Other table formats
+
+@cindex tables, orgtbl-mode style
+It is possible to publish very basic Orgtbl-mode style tables.
+
+@example
+| org  | style | table |
+|------+-------+-------|
+| one  |       | one   |
+| two  | two   |       |
+|      | three | three |
+|------+-------+-------|
+| more | stuff |       |
+@end example
+
+If you are used to the way that Org Mode publishes these tables, then
+customize `muse-html-table-attributes' to the following, in order to get
+a similar kind of output.
+
+@example
+border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides"
+@end example
+
+@cindex tables, table.el style
+@file{table.el} style tables are also supported, as long as
+@file{table.el} itself supports outputting tables for a particular
+publishing style.  At the time of this writing, the ``html'', ``latex'',
+and ``docbook'' styles are supported by @file{table.el}.  Styles derived
+from these styles will also work.
+
+@example
++---+-----+---+
+|   | one | 1 |
++---+-----+---+
+| b | two |   |
++---+-----+---+
+| c |     | 3 |
++---+-----+---+
+@end example
+
+@node Explicit Links, Implicit Links, Tables, Markup Rules
+@comment  node-name,  next,  previous,  up
+@section Hyperlinks and email addresses with descriptions
+@cindex links, explicit
+
+A hyperlink can reference a URL, or another page within a Muse
+project.  In addition, descriptive text can be specified, which should
+be displayed rather than the link text in output styles that supports
+link descriptions.  The syntax is as follows.
+
+@example
+[[link target][link description]]
+[[link target without description]]
+@end example
+
+Thus, the current maintainer's homepage for Muse can be found
+@samp{[[http://mwolson.org/projects/EmacsMuse.html][here]]},
+or at @samp{[[http://mwolson.org/projects/EmacsMuse.html]]}.
+
+@node Implicit Links, Images, Explicit Links, Markup Rules
+@comment  node-name,  next,  previous,  up
+@section Bare URLs, WikiNames, and InterWiki links
+@cindex links, implicit
+@cindex links, raw
+
+@cindex URLs
+@cindex Email addresses
+
+A URL or email address encountered in the input text is published as a
+hyperlink.  These kind of links are called @dfn{implicit links} because
+they are not separated from the rest of the Muse document in any way.
+
+Some characters in URLs will prevent Muse from recognizing them as
+implicit links. If you want to link to a URL containing spaces or any of
+the characters ``][,"'`()<>^'', you will have to make the link
+explicit. The punctuation characters ``.,;:'' are also not recognized as
+part of a URL when they appear at its end. For information on how to
+make an explicit link, see @ref{Explicit Links,,Hyperlinks and email
+addresses with descriptions}.
+
+@cindex WikiNames
+If the @command{muse-wiki} module is loaded, another form of implicit
+link will be made available.  WikiNames, which are typed in CamelCase,
+are highlighted and published as links, provided that the file they
+refer to exists.
+
+Customization of WikiName recognition may be accomplished by editing the
+@code{muse-wiki-wikiword-regexp} option and subsequently running
+@code{(muse-configure-highlighting 'muse-colors-markupmuse-colors-markup)}.
+If you use the Customize interface, the latter will be done
+automatically.
+
+@cindex InterWiki links
+@cindex inter-project links
+The @command{muse-wiki} module also allows for InterWiki links.  These
+are similar to WikiWords, but they specify both the project and page of
+a file.  The names of your project entries in @code{muse-project-alist}
+will be used as InterWiki names by default.  Several examples follow.
+
+@example
+Blog::DocumentingMuse
+Projects#EmacsMuse
+Website
+@end example
+
+In the first case, the interwiki delimiter is @samp{::}, @samp{Blog} is
+the project name, and @samp{DocumentingMuse} is the page name.  In the
+second example, @samp{#} is the interwiki delimiter.  If the name of a
+project occurs by itself in text, like the third case, it will be
+colorized and published as a link to the default page of the given
+project.
+
+Customization of interwiki links may be accomplished by editing the
+@code{muse-wiki-interwiki-alist} option.
+
+It is also possible to link to an anchor in an interwiki document.  This
+is called a ``three-part link''.  Examples of this follow.
+
+@example
+Blog::DocumentingMuse#anchor1
+Projects#EmacsMuse#anchor2
+@end example
+
+@node Images, Horizontal Rules and Anchors, Implicit Links, Markup Rules
+@comment  node-name,  next,  previous,  up
+@section Publishing and displaying images
+@cindex images
+@cindex links, with images
+@subheading Image links
+
+Links to images may be used in either the target or the description, or
+both.  Thus, the following code will publish as a clickable image that
+points to @url{http://mwolson.org/}.
+
+@example
+[[http://mwolson.org/][/static/logos/site-logo.png]]
+@end example
+
+Normally, images in the link part will be inlined.
+
+If you want these images to be published as links instead, place the
+text ``URL:'' immediately in front of the link text.  An example
+follows.
+
+@example
+[[URL:http://mwolson.org/static/logos/site-logo.png]]
+@end example
+
+@cindex images, displaying
+@cindex images, local
+@subheading Displaying images in Muse mode
+If a link to a locally-available image is encountered in the link
+description, Muse mode will attempt to display it if your version of
+Emacs permits this.
+
+This behavior may be toggled with @kbd{C-c C-i}, or disabled permanently
+by setting the @code{muse-colors-inline-images} option to @code{nil}.
+
+The method for finding images may be altered by customizing the
+@code{muse-colors-inline-image-method} option.  One useful value for
+this option is @code{muse-colors-use-publishing-directory}, which tells
+Muse mode to look in the directory where the current file will be
+published.  The default is to look in the current directory.  Relative
+paths like @samp{../pics/} should work for either setting.
+
+Eventually, it is hoped that Muse will be able to copy images from the a
+``source'' directory to a publishing directory by customizing
+@code{muse-project-alist}, but this has not been implemented yet.
+
+@cindex images, without descriptions
+@cindex images, inlined
+@subheading Publishing simple images
+The following example will display correctly and publish correctly if a
+@acronym{PNG} file called @file{TestLogo.png} exists in the
+@file{../pics/} directory.  If text is on the same line as the picture,
+it will remain so in the output.
+
+@example
+[[../myimage.png]]
+@end example
+
+@cindex images, captions
+@subheading Publishing images with captions
+If you want to add a caption to an image, use the following syntax.
+This will center the image (if the output format supports it) and add a
+centered caption below the picture.  Formats that do not support
+centering the image will instead leave it against the left margin.
+
+@example
+[[../pics/mycat.png][My cat Dexter]]
+@end example
+
+Images with captions may only occur in their own paragraphs, with no
+text on the same line.  Otherwise, the published output will not be
+syntactically correct.
+
+@node Horizontal Rules and Anchors, Embedded Lisp, Images, Markup Rules
+@comment  node-name,  next,  previous,  up
+@section Inserting a horizontal line or anchor
+
+@cindex horizontal rules
+@cindex dashes
+@subheading Horizontal Rules
+
+Four or more dashes indicate a horizontal rule.  Be sure to put blank
+lines around it, or it will be considered part of the proceeding or
+following paragraph!
+
+@cindex anchors
+@cindex links, with target on same page
+@subheading Anchors
+
+If you begin a line with "#anchor" -- where "anchor" can be any word
+that doesn't contain whitespace -- it defines an anchor at that point
+into the document.  This point can be referenced using "page#anchor" as
+the target in a Muse link.
+
+@node Embedded Lisp, Citations, Horizontal Rules and Anchors, Markup Rules
+@comment  node-name,  next,  previous,  up
+@section Evaluating Emacs Lisp code in documents for extensibility
+@cindex lisp, embedded
+
+Arbitrary kinds of markup can be achieved using the @verb{|<lisp>|} tag.
+With the @verb{|<lisp>|} tag, you may generate whatever output text you
+wish.  The inserted output will get marked up if the @verb{|<lisp>|}
+tag appears within the main text of the document.
+
+@example
+<lisp>(concat "This form gets " "inserted")</lisp>
+@end example
+
+@cindex lisp, and insert command
+Note that you should not use the @code{insert} command within a set of
+@verb{|<lisp>|} tags, since the return value from the @verb{|<lisp>|}
+tags will be automatically inserted into the document.
+
+It is also possible to treat the output as if it were surrounded by the
+@verb{|<example>|}, @verb{|<src>|}, or @verb{|<verse>|} tags, by
+specifying ``example'', ``src'', or ``verse'' as the @option{markup}
+attribute of the @verb{|<lisp>|} tag.
+
+@example
+<lisp markup="example">
+(concat "Insert" " me")
+</lisp>
+@end example
+
+Other languages also have tags that cause source code to be evaluated.
+@xref{Tag Summary}, for details.
+
+@node Citations, Comments, Embedded Lisp, Markup Rules
+@comment  node-name,  next,  previous,  up
+@section Support for citing other resources
+@cindex citations
+@cindex tags, <cite>
+
+@subheading Example
+
+Here is an example of what citations look like in a Muse document.
+
+@example
+#bibsource REFDB
+
+* Title
+** Subtitle
+
+Some text before <cite>Miller1999</cite> and after the citation.
+
+This is an author-only citation <cite type="author">Miller1999</cite>.
+
+And this is a year-only citation <cite type="year">Miller1999</cite>.
+
+Finally, this is a multi-head citation
+<cite>Miller1999,Andrews2005</cite>.
+@end example
+
+@subheading Overview
+
+The @code{#bibsource} directive defines the source of the
+bibliographies.  The following sources are possible.
+
+@itemize @bullet
+@item DocBook + RefDB:
+the string "REFDB"
+
+@item LaTeX + bibtex:
+the name of an appropriate bibtex file
+
+@item LaTeX + RefDB:
+if the input file is called "foo.muse", then set this to "foo.bib"
+@end itemize
+
+Citations are encoded as @verb{|<cite>|} elements which enclose the
+citation keys as they are defined in the bibliography file or database.
+In multi-head citations, the citation keys have to be separated by
+colons or semicolons.  The @code{latex} and @code{docbook} styles
+translate these to the proper separator automatically.
+
+The @verb{|<cite>|} elements take an optional ``type'' attribute that
+defines how the citation is rendered.  If the attribute is missing,
+you'll get a regular citation according to the bibliography style,
+e.g.'' (Miller et al., 1999)''.  If the attribute is set to "author",
+only the name of the author(s) will be rendered.  Accordingly, "year"
+will cause the year to be printed.  This is useful to create citations
+like this:
+
+@example
+Miller et al. had already shown in a previous publication (1999) that
+this is not going to work.
+@end example
+
+Remember that refdb-mode (the Emacs interface to RefDB) can retrieve
+references by simply marking the citation key and running the
+@code{refdb-getref-by-field-on-region} command.  Later versions of
+@code{refdb-mode} will also allow to insert references as Muse citations
+(which is already implemented for DocBook, TEI, and LaTeX documents).
+
+You may have noticed that there is no element to indicate the position
+of the bibliography.  The latter is always created at a valid position
+close to the end of the document.  The functions
+@code{muse-docbook-bibliography} and @code{muse-latex-bibliography} are
+called in the header or footer to generate this content, so it is
+possible to change the exact position.
+
+@node Comments, Tag Summary, Citations, Markup Rules
+@comment  node-name,  next,  previous,  up
+@section Lines to omit from published output
+@cindex comments
+@cindex publishing, omitting lines
+
+Use the following syntax to indicate a comment.  Comments will not be
+published.
+
+@example
+; Comment text goes here.
+@end example
+
+That is, only a semi-colon at the beginning of a line, followed by a
+literal space, will cause that line to be treated as a comment.
+
+You can alternatively surround the region with the @verb{|<comment>|}
+tag.
+
+If you wish the comment to be published, but just commented out using
+the comment syntax of the output format, then set
+@option{muse-publish-comments-p} to non-nil.
+
+@node Tag Summary, , Comments, Markup Rules
+@comment  node-name,  next,  previous,  up
+@section Tags that Muse recognizes
+@cindex tags
+@cindex inserting files at publish time
+@cindex publishing, including markup in headers and footers
+@cindex publishing, inserting files
+
+Muse has several built-in tags that may prove useful during publishing.
+@xref{muse-publish-markup-tags}, to see how to customize the tags that
+Muse uses, as well as make your own tags.
+
+Only a small subset of these tags are available in header and footer
+text.  The @code{muse-publish-markup-header-footer-tags} option lists
+the tags that are allowed in headers and footers.
+
+@subheading Syntax
+
+If a tag takes arguments, it will look like this, where ``tagname'' is
+the name of the tag.
+
+@example
+<tagname arg1="string1" arg2="string2">
+@end example
+
+If you want the tag to look like it came straight from an XHTML
+document, you can alternatively do the following.
+
+@example
+<tagname arg1="string1" arg2="string2" />
+@end example
+
+If a tag surrounds some text, it will look like this.
+
+@example
+<tagname>Some text</tagname>
+@end example
+
+If a tag surrounds a large region, it will look like this.
+
+@example
+<tagname>
+Some text.
+Some more text.
+</tagname>
+@end example
+
+@subheading Tag listing
+
+This is the complete list of tags that Muse accepts, including those
+that were mentioned in previous sections.
+
+@table @samp
+
+@item <br>
+Insert a line break.
+
+Muse will automatically detect paragraphs when publishing by means of
+blank lines, so this tag is usually unnecessary.
+
+@item <cite>
+Insert a citation to another source.
+
+This takes the argument @option{type}, which indicates the type of
+citation.  The valid types are "author" and "year".  If this argument is
+omitted, include both author and year in the citation.
+
+The bibliography to use for the citation may be specified by the
+@option{#bibsource} directive.
+
+@xref{Citations}, for additional information.
+
+@item <class>
+If publishing to HTML, surround the given text with a @verb{|<span>|}
+tag.  It takes one argument called ``name'' that specifies the ``class''
+attribute of the @verb{|<span>|} tag.
+
+If publishing to a different format, do nothing extra to the text.
+
+@item <code>
+Treat the text surrounded by the tag as if they were enclosed in equal
+signs, that is, make it monospace.
+
+@item <command>
+Run a command on the region, replacing the region with the result of the
+command.  The command is specified with the ``interp'' argument.  If no
+value for ``interp'' is given, pass the entire region to the shell.
+
+The ``markup'' argument controls how this section is marked up.
+
+If it is omitted, publish the region with the normal Muse rules.
+
+If "nil", do not mark up the region at all, but prevent Muse from
+further interpreting it.
+
+If "example", treat the region as if it was surrounded by the
+@verb{|<example>|} tag.
+
+If "src", treat the included text as if it was surrounded by the
+@verb{|<src>|} tag.  You should also specify the ``lang'' attribute if
+doing this.
+
+If "verse", treat the region as if it was surrounded by the
+@verb{|<verse>|} tag, to preserve newlines.
+
+Otherwise, it should be the name of a function to call, with the buffer
+narrowed to the region.
+
+@item <comment>
+Treat the entire region as a comment.  If the option
+@var{muse-publish-comments-p} is nil, delete the region, otherwise
+publish it using the comment syntax of the current publishing style.
+
+@item <contents>
+Publish a Table of Contents.  This will either be inserted in-place or
+at the beginning of the document, depending on your publishing style.
+It does not have a delimiting tag.
+
+By default, only 2 levels of headings will be included in the generated
+Table of Contents.  To change this globally, customize the
+@var{muse-publish-contents-depth} option.  To change this only for the
+current tag, use the ``depth'' argument.
+
+@item <div>
+Insert a <div> tag into HTML documents, and do not insert anything
+special for other non-HTML publishing formats.
+
+If the ``style'' argument is provided, include it with the published
+@verb{|<div>|} tag.  Likewise for the ``id'' argument.
+
+@item <example>
+Publish the region in monospace, preserving the newlines in the region.
+This is useful for snippets of code.
+
+@item <include>
+Insert the given file at the current location during publishing.  The
+basic use of this tag is as follows, replacing ``included_file'' with
+the name of the file that you want to include.
+
+@example
+<include file="included_file">
+@end example
+
+The ``markup'' argument controls how this section is marked up.
+
+If it is omitted, publish the included text with the normal Muse
+rules.
+
+If "nil", do not mark up the included text at all.
+
+If "example", treat the included text as if it was surrounded by the
+@verb{|<example>|} tag.
+
+If "src", treat the included text as if it was surrounded by the
+@verb{|<src>|} tag.  You should also specify the ``lang'' attribute if
+doing this.
+
+If "verse", treat the included text as if it was surrounded by the
+@verb{|<verse>|} tag, to preserve newlines.
+
+Otherwise, it should be the name of a function to call after inserting
+the file with the buffer narrowed to the section inserted.
+
+@item <lisp>
+Evaluate the Emacs Lisp expressions between the initial and ending tags.
+The result is then inserted into the document, so you do not need to
+explicitly call @code{insert}.  All text properties are removed from the
+resulting text.
+
+This tag takes the ``markup'' argument.  See the description of
+@verb{|<command>|} for details.
+
+@item <literal>
+Make sure that the text enclosed by this tag is published without
+escaping it in any way.  This is useful for inserting markup directly
+into the published document, when Muse does not provide the desired
+functionality.
+
+@item <markup>
+Mark up the text between the initial and ending tags.  The markup
+command to use may be specified by the ``function'' argument.  The
+standard Muse markup routines are used by default if no ``function''
+argument is provided.
+
+This is useful for marking up regions in headers and footers.  One
+example that comes to mind is generating a published index of all of the
+files in the current project by doing the following.
+
+@example
+<markup><lisp>(muse-index-as-string t t)</lisp></markup>
+@end example
+
+@item <perl>
+Run the @command{perl} language interpreter on the region, replacing the
+region with the result of the command.
+
+This tag takes the ``markup'' argument.  See the description of
+@verb{|<command>|} for details.
+
+@item <python>
+Run the @command{python} language interpreter on the region, replacing
+the region with the result of the command.
+
+This tag takes the ``markup'' argument.  See the description of
+@verb{|<command>|} for details.
+
+@item <quote>
+Publish the region as a blockquote.  This will either be inserted
+in-place or at the beginning of the document, depending on your
+publishing style.  It does not have a delimiting tag.
+
+@item <ruby>
+Run the @command{ruby} language interpreter on the region, replacing the
+region with the result of the command.
+
+This tag takes the ``markup'' argument.  See the description of
+@verb{|<command>|} for details.
+
+@item <src>
+Publish the region using htmlize.
+The language to use may be specified by the ``lang'' attribute.
+
+Muse will look for a function named @var{lang}-mode, where @var{lang} is
+the value of the ``lang'' attribute.
+
+This tag requires htmlize 1.34 or later in order to work.  If this is
+not satisfied, or the current publishing style is not HTML-based, Muse
+will publish the region like an @verb{|<example>|} tag.
+
+@item <verbatim>
+This is used when you want to prevent Muse from trying to interpret some
+markup.  Surround the markup in @verb{|<verbatim>|} and
+@verb{|</verbatim>|}, and it will not be interpreted.
+
+This tag was used often in previous versions of Muse because they did
+not support whole-document escaping of specials.  Now, it will only be
+needed for other tags, and perhaps footnotes as well.
+
+@item <verse>
+Preserve the newlines in the region.  In formats like HTML, newlines are
+removed by default, hence the need for this tag.  In other publishing
+styles, this tag may cause the text to be indented slightly in a way
+that looks nice for poetry and prose.
+
+@end table
+
+@node Publishing Styles, Extending Muse, Markup Rules, Top
+@comment  node-name,  next,  previous,  up
+@chapter Publishing Various Types of Documents
+@cindex publishing styles
+
+One of the principle features of Muse is the ability to publish a simple
+input text to a variety of different output styles.  Muse also makes it
+easy to create new styles, or derive from an existing style.
+
+@menu
+* Blosxom::                     Integrating Muse and pyblosxom.cgi.
+* Book::                        Publishing entries into a compilation.
+* ConTeXt::                     Publishing ConTeXt documents.
+* DocBook::                     Publishing in DocBook XML form.
+* HTML::                        Publishing in HTML or XHTML form.
+* Ikiwiki::                     Integrating with ikiwiki.
+* Journal::                     Keeping a journal or blog.
+* LaTeX::                       Publishing LaTeX documents.
+* Poem::                        Publish a poem to LaTeX or PDF.
+* Texinfo::                     Publish entries to Texinfo format or PDF.
+* XML::                         Publish entries to XML.
+@end menu
+
+@node Blosxom, Book, Publishing Styles, Publishing Styles
+@comment  node-name,  next,  previous,  up
+@section Integrating Muse and pyblosxom.cgi
+@cindex blog, one-file-per-entry style
+
+The Blosxom publishing style publishes a tree of categorised files to a
+mirrored tree of stories to be served by blosxom.cgi or pyblosxom.cgi.
+In other words, each blog entry corresponds with one file.
+
+@menu
+* Blosxom Requirements::        Other tools needed for the Blosxom style.
+* Blosxom Entries::             Format of a Blosxom entry and automation.
+* Blosxom Options::             Blosxom styles and options provided.
+@end menu
+
+@node Blosxom Requirements, Blosxom Entries, Blosxom, Blosxom
+@comment  node-name,  next,  previous,  up
+@subsection Other tools needed for the Blosxom style
+
+You will need to have @command{pyblosxom.cgi} or @command{blosxom.cgi}
+installed on a machine that you have upload access to.
+
+The major difficulty in both of these programs is specifying the date of
+the entries.  Both programs rely on the file modification time rather
+than any data contained in the entries themselves.  A plugin is needed
+in order for these programs to be able to get the correct date.
+
+@subheading PyBlosxom
+
+There are two different ways of accomplishing this in pyblosxom.  The
+first way involves gathering the timestamps (as specified by the
+@code{#date} directive) into one file and then sending that file along
+with published entries to the webserver.
+
+The second will read each file at render time and parse the
+@code{#postdate} directive.  Muse will translate the @code{#date}
+directive into @code{#postdate} at publish time, so you don't have to do
+any extra work.
+
+@subsubheading Placing timestamps in one file
+
+The following additional components are required in order to make the
+date of blog entries display as something sensible.
+
+@enumerate
+@item
+A script to gather date directives from the entire blog tree into a
+single file.  The file must associate a blog entry with a date.
+
+@item
+A plugin for (py)blosxom that reads this file.
+@end enumerate
+
+These 2 things are provided for @command{pyblosxom.cgi} in the
+@file{contrib/pyblosxom} subdirectory.  @file{getstamps.py} provides the
+former service, while @file{hardcodedates.py} provides the latter
+service.
+
+Here is a sample listing from my @file{timestamps} file, which maps
+each file to a date.  This can really be in any format, as long as your
+date-gathering script and your plugin can both understand it.
+
+@example
+2005-04-01-14-16 personal/paper_cranes
+2005-03-21 personal/spring_break_over
+2004-10-24 personal/finished_free_culture
+@end example
+
+The script @file{contrib/pyblosxom/make-blog} demonstrates how to call
+@file{getstamps.py}.  Note that you will need to set the current
+directory to where your Muse files are, execute @file{getstamps.py}, and
+then move the generated timestamps file to your publishing directory.
+
+@subsubheading Getting timestamp from entry while rendering
+
+Alternately, the pyblosxom metadate plugin may be used.  On the plus
+side, there is no need to run a script to gather the date.  On the
+downside, each entry is read twice rather than once when the page is
+rendered.  Set the value of @code{muse-blosxom-use-metadate} to non-nil
+to enable adding a @code{#postdate} directive to all published files.
+You can do this by:
+
+@example
+M-x customize-variable RET muse-blosxom-use-metadate RET
+@end example
+
+With the metadate plugin installed in pyblosxom, the date set in this
+directive will be used instead of the file's modification time.  The
+plugin is included with Muse at @file{contrib/pyblosxom/metadate.py}.
+
+@subheading Blosxom
+
+It is also possible to use Blosxom, which is written in Perl, to serve
+blog entries that were published with Muse.  The steps are as follows.
+
+@enumerate
+@item
+Download and install blosxom from @url{http://blosxom.sourceforge.net/}.
+
+@item
+Install the metadate plugin.  It is available in
+@file{contrib/blosxom/metadate_0_0_3}.
+
+@item
+Every time you make a new blog entry, change to the blosxom data
+directory and execute the @file{contrib/blosxom/getstamps.pl} script.
+This script has only recently been made, and may still have some bugs,
+so use with caution.
+
+@end enumerate
+
+@node Blosxom Entries, Blosxom Options, Blosxom Requirements, Blosxom
+@comment  node-name,  next,  previous,  up
+@subsection Format of a Blosxom entry and automation
+
+Each Blosxom file must include `#date yyyy-mm-dd', or optionally the
+longer `#date yyyy-mm-dd-hh-mm', a title (using the @code{#title}
+directive), plus whatever normal content is desired.
+
+The date directive is not used directly by @command{pyblosxom.cgi} or
+this program.  You need to have the two additional items from the former
+section to make use of this feature.
+
+There is a function called @code{muse-blosxom-new-entry} that will
+automate the process of making a new blog entry.  To make use of it, do
+the following.
+
+@itemize @bullet
+@item
+Customize @code{muse-blosxom-base-directory} to the location that your
+blog entries are stored.
+
+@item
+Assign the @code{muse-blosxom-new-entry} function to a key sequence.  I
+use the following code to assign this function to @kbd{C-c p l'}.
+
+@example
+(global-set-key "\C-cpl" 'muse-blosxom-new-entry)
+@end example
+
+@item
+You should create your directory structure ahead of time under your base
+directory.  These directories, which correspond with category names, may
+be nested.
+
+@item
+When you enter this key sequence, you will be prompted for the category
+of your entry and its title.  Upon entering this information, a new file
+will be created that corresponds with the title, but in lowercase
+letters and having special characters converted to underscores.  The
+title and date directives will be inserted automatically.
+@end itemize
+
+@node Blosxom Options, , Blosxom Entries, Blosxom
+@comment  node-name,  next,  previous,  up
+@subsection Blosxom styles and options provided
+
+The following styles and options are available in the Blosxom publishing
+style.
+
+@subheading Styles provided
+
+@table @code
+
+@cindex publishing styles, blosxom-html
+@item blosxom-html
+Publish Blosxom entries in HTML form.
+
+@cindex publishing styles, blosxom-xhtml
+@item blosxom-xhtml
+Publish Blosxom entries in XHTML form.
+
+@end table
+
+@subheading Options provided
+
+@table @code
+
+@item muse-blosxom-extension
+Default file extension for publishing Blosxom files.
+
+@item muse-blosxom-header
+Header used for publishing Blosxom files.
+
+This may be text or a filename.
+
+@item muse-blosxom-footer
+Footer used for publishing Blosxom files.
+
+This may be text or a filename.
+
+@item muse-blosxom-base-directory
+Base directory of blog entries, used by @code{muse-blosxom-new-entry}.
+
+This is the top-level directory where your blog entries may be found
+locally.
+
+@end table
+
+@node Book, ConTeXt, Blosxom, Publishing Styles
+@comment  node-name,  next,  previous,  up
+@section Publishing entries into a compilation
+
+This publishing style is used to output ``books'' in LaTeX or PDF
+format.
+
+Each page will become a separate chapter in the book, unless the style
+keyword @option{:nochapters} is used, in which case they are all run
+together as if one giant chapter.
+
+One way of publishing a book is to make a project for it, add the
+project to @code{muse-project-alist}, and use the @code{book-pdf} style
+with a very specific @option{:include} value to specify some page whose
+contents will be checked for the values of @code{#title} and
+@code{#date}, and whose name will be used in the output file.  Then to
+publish the book, visit the aforementioned page and use @kbd{C-c C-t} or
+@kbd{C-c C-p} to trigger the publishing process.  An example
+@code{muse-project-alist} for this method follows.
+
+@example
+(setq muse-project-alist
+      '(("MyNotes" (:nochapters t  ; do automatically add chapters
+                    :book-chapter "Computer Science"
+                    "~/Notes/cs"
+                    :book-chapter "Mathematics"
+                    "~/Notes/math"
+                    :book-chapter "Emacs"
+                    "~/Notes/emacs"
+                    :book-end t ; the rest will not be placed in the book
+                    "~/Notes"   ; so we can find the notes-anthology page
+                    "~/Notes/private"
+                    :force-publish ("index")
+                    :default "index")
+         (:base "book-pdf"
+                :include "/notes-anthology[^/]*$"
+                :path "~/public_html/notes")
+         ;; other publishing styles for each directory go here,
+         ;; if desired
+         )))
+@end example
+
+In this example, there would be a file called
+@file{~/Notes/notes-anthology.muse}, which would contain just the
+following.  The resulting book would be published to
+@file{~/public_html/notes/notes-anthology.pdf}.
+
+@example
+#title My Technology Ramblings
+@end example
+
+Another way is to call the @code{muse-book-publish-project} function
+manually, with a custom project entry.  An example of this may be found
+in John Wiegley's configuration file at
+@file{examples/johnw/muse-init.el}, in the @code{muse-publish-my-books}
+function.
+
+@subheading Styles provided
+
+@table @code
+
+@cindex publishing styles, book-latex
+@item book-latex
+Publish a book in LaTeX form.  The header and footer are different than
+the normal LaTeX publishing mode.
+
+@cindex publishing styles, book-pdf
+@item book-pdf
+Publish a book in PDF form.  The header and footer are different than
+the normal PDF publishing mode.
+
+@end table
+
+@subheading Options provided
+
+@table @code
+
+@item muse-book-before-publish-hook
+A hook run in the book buffer before it is marked up.
+
+@item muse-book-after-publish-hook
+A hook run in the book buffer after it is marked up.
+
+@item muse-book-latex-header
+Header used for publishing books to LaTeX.
+
+This may be text or a filename.
+
+@item muse-book-latex-footer
+Footer used for publishing books to LaTeX.
+
+This may be text or a filename.
+
+@end table
+@node ConTeXt, DocBook, Book, Publishing Styles
+@comment  node-name,  next,  previous,  up
+@section Publishing ConTeXt documents
+
+This publishing style is capable of producing ConTeXt or PDF documents.
+
+If you wish to publish PDF documents based on ConTeXt, you will need to
+have it installed.  For Debian and Ubuntu, this can be accomplished by
+installing the ``texlive'' package.
+
+@subheading Styles provided
+
+@table @code
+
+@cindex publishing styles, context
+@item context
+Publish a ConTeXt document.
+
+@cindex publishing styles, context-pdf
+@item context-pdf
+Publish a PDF document, using an external ConTeXt document conversion
+tool.
+
+@cindex publishing styles, context-slides
+@item context-slides
+Produce slides from a ConTeXt document.
+
+Here is an example of a slide.
+
+@example
+* First Slide
+
+[[Some-sort-of-cute-image.png]]
+
+** A subheading
+
+ - A bullet point.
+ - Another bullet point.
+
+* Second Slide
+
+... and so on
+@end example
+
+@cindex publishing styles, context-slides-pdf
+@item context-slides-pdf
+Publish a PDF document of ConTeXt slides.
+
+@end table
+
+@subheading Options provided
+
+@table @code
+
+@item muse-context-extension
+Default file extension for publishing ConTeXt files.
+
+@item muse-context-pdf-extension
+Default file extension for publishing ConTeXt files to PDF.
+
+@item muse-context-pdf-program
+The program that is called to generate PDF content from ConTeXt content.
+
+@item muse-context-pdf-cruft
+Extensions of files to remove after generating PDF output successfully.
+
+@item muse-context-header
+Header used for publishing ConTeXt files.
+
+This may be text or a filename.
+
+@item muse-context-footer
+Footer used for publishing ConTeXt files.
+
+This may be text or a filename.
+
+@item muse-context-markup-regexps
+List of markup regexps for identifying regions in a Muse page.
+
+For more on the structure of this list,
+@xref{muse-publish-markup-regexps}.
+
+@item muse-context-markup-functions
+An alist of style types to custom functions for that kind of text.
+
+For more on the structure of this list,
+@xref{muse-publish-markup-functions}.
+
+@item muse-context-markup-strings
+Strings used for marking up text.
+
+These cover the most basic kinds of markup, the handling of which
+differs little between the various styles.
+
+@item muse-context-slides-header
+Header for publishing a presentation (slides) using ConTeXt.
+
+Any of the predefined modules, which are available in the
+tex/context/base directory, can be used by writing a "module" directive
+at the top of the Muse file; if no such directive is provided, module
+pre-01 is used.  Alternatively, you can use your own style ("mystyle",
+in this example) by replacing "\usemodule[]" with "\input mystyle".
+
+This may be text or a filename.
+
+@item muse-context-slides-markup-strings
+Strings used for marking up text in ConTeXt slides.
+
+@item muse-context-markup-specials-document
+A table of characters which must be represented specially.
+These are applied to the entire document, sans already-escaped
+regions.
+
+@item muse-context-markup-specials-example
+A table of characters which must be represented specially.
+These are applied to @verb{|example>|} regions.
+
+With the default interpretation of @verb{|<example>|} regions, no
+specials need to be escaped.
+
+@item muse-context-markup-specials-literal
+A table of characters which must be represented specially.
+This applies to =monospaced text= and @verb{|<code>|} regions.
+
+@item muse-context-markup-specials-url
+A table of characters which must be represented specially.
+These are applied to URLs.
+
+@item muse-context-markup-specials-image
+A table of characters which must be represented specially.
+These are applied to image filenames.
+
+@item muse-context-permit-contents-tag
+If nil, ignore @verb{|<contents>|} tags.  Otherwise, insert table of
+contents.
+
+Most of the time, it is best to have a table of contents on the
+first page, with a new page immediately following.  To make this
+work with documents published in both HTML and ConTeXt, we need to
+ignore the @verb{|<contents>|} tag.
+
+If you don't agree with this, then set this option to non-nil,
+and it will do what you expect.
+
+@end table
+
+@node DocBook, HTML, ConTeXt, Publishing Styles
+@comment  node-name,  next,  previous,  up
+@section Publishing in DocBook XML form
+
+This publishing style is used to generate DocBook XML files.
+
+@subheading Styles provided
+
+@table @code
+
+@cindex publishing styles, docbook
+@item docbook
+Publish a file in Docbook form.
+
+@end table
+
+@subheading Options provided
+
+This publishing style uses the same options for markup up special
+characters as the ``xml'' publishing style.  @xref{XML}, for details.
+
+@table @code
+
+@item muse-docbook-extension
+Default file extension for publishing DocBook XML files.
+
+@item muse-docbook-header
+Header used for publishing DocBook XML files.
+
+This may be text or a filename.
+
+@item muse-docbook-footer
+Footer used for publishing DocBook XML files.
+
+This may be text or a filename.
+
+@item muse-docbook-markup-regexps
+List of markup rules for publishing a Muse page to DocBook XML.
+
+@item muse-docbook-markup-functions
+An alist of style types to custom functions for that kind of text.
+
+@item muse-docbook-markup-strings
+Strings used for marking up text.
+
+These cover the most basic kinds of markup, the handling of which
+differs little between the various styles.
+
+@item muse-docbook-encoding-default
+The default Emacs buffer encoding to use in published files.
+This will be used if no special characters are found.
+
+@item muse-docbook-charset-default
+The default DocBook XML charset to use if no translation is
+found in @code{muse-xml-encoding-map}.
+
+@end table
+
+@node HTML, Ikiwiki, DocBook, Publishing Styles
+@comment  node-name,  next,  previous,  up
+@section Publishing in HTML or XHTML form
+
+This publishing style is capable of producing HTML or XHTML documents.
+
+@subheading Styles provided
+
+@table @code
+
+@cindex publishing styles, html
+@item html
+Supports publishing to HTML 4.0 and HTML 4.01, Strict or Transitional.
+
+@item xhtml
+Supports publishing to XHTML 1.0 and XHTML 1.1, Strict or Transitional.
+
+@end table
+
+@subheading Options provided
+
+If an HTML option does not have a corresponding XHTML option, it will
+be used for both of these publishing styles.
+
+These publishing styles use the same options for markup up special
+characters as the ``xml'' publishing style.  @xref{XML}, for details.
+
+@table @code
+
+@item muse-html-extension
+Default file extension for publishing HTML files.
+
+@item muse-xhtml-extension
+Default file extension for publishing XHTML files.
+
+@item muse-html-style-sheet
+Store your stylesheet definitions here.
+
+This is used in @code{muse-html-header}.  You can put raw CSS in here or
+a @verb{|<link>|} tag to an external stylesheet.  This text may contain
+@verb{|<lisp>|} markup tags.
+
+If you are publishing to XHTML, then customize the
+@code{muse-xhtml-style-sheet} option instead.
+
+@item muse-xhtml-style-sheet
+Store your stylesheet definitions here.
+
+This is used in @code{muse-xhtml-header}.  You can put raw CSS in here
+or a @verb{|<link>|} tag to an external stylesheet.  This text may
+contain @verb{|<lisp>|} markup tags.
+
+@item muse-html-header
+Header used for publishing HTML files.
+
+This may be text or a filename.
+
+@item muse-html-footer
+Footer used for publishing HTML files.
+
+This may be text or a filename.
+
+@item muse-xhtml-header
+Header used for publishing XHTML files.
+
+This may be text or a filename.
+
+@item muse-xhtml-footer
+Footer used for publishing XHTML files.
+
+This may be text or a filename.
+
+@item muse-html-anchor-on-word
+When true, anchors surround the closest word.
+
+This allows you to select them in a browser (i.e. for pasting), but has
+the side-effect of marking up headers in multiple colors if your header
+style is different from your link style.
+
+@item muse-html-table-attributes
+The attribute to be used with HTML @verb{|<table>|} tags.
+
+If you want to make more-complicated tables in HTML, surround the HTML
+with the @verb{|literal|} tag, so that it does not get escaped.
+
+@item muse-html-markup-regexps
+List of markup rules for publishing a Muse page to HTML.
+
+@item muse-html-markup-functions
+An alist of style types to custom functions for that kind of text.
+
+@item muse-html-markup-strings
+Strings used for marking up text as HTML.
+
+These cover the most basic kinds of markup, the handling of which
+differs little between the various styles.
+
+@item muse-xhtml-markup-strings
+Strings used for marking up text as XHTML.
+
+These cover the most basic kinds of markup, the handling of which
+differs little between the various styles.
+
+@item muse-html-markup-tags
+A list of tag specifications, for specially marking up HTML.
+@xref{muse-publish-markup-tags}, for more information.
+
+@item muse-html-meta-http-equiv
+The http-equiv attribute used for the HTML @verb{|<meta>|} tag.
+
+@item muse-html-meta-content-type
+The content type used for the HTML @verb{|<meta>|} tag.
+
+If you are striving for XHTML 1.1 compliance, you may want to change
+this to ``application/xhtml+xml''.
+
+@item muse-html-meta-content-encoding
+The charset to append to the HTML @verb{|<meta>|} tag.
+
+If set to the symbol 'detect, use @code{muse-xml-encoding-map} to try
+and determine the HTML charset from emacs's coding.  If set to a string,
+this string will be used to force a particular charset.
+
+@item muse-html-charset-default
+The default HTML meta charset to use if no translation is found in
+@code{muse-xml-encoding-map}.
+
+@item muse-html-encoding-default
+The default Emacs buffer encoding to use in published files.
+This will be used if no special characters are found.
+
+@end table
+
+@node Ikiwiki, Journal, HTML, Publishing Styles
+@comment  node-name,  next,  previous,  up
+@section Integrating with ikiwiki
+
+Note: Support for Ikiwiki is not yet complete.  Use at your own risk.
+
+Ikiwiki is a wiki compiler (@url{http://ikiwiki.info/}).  Emacs Muse can
+(not yet) be used as a source format for Ikiwiki pages with the plugin
+@file{IkiWiki::Plugin::muse}.
+
+The @file{lisp/muse-ikiwiki.el} file provides publishing functions and
+styles for Ikiwiki.  The plugin for Ikiwiki to recognize Muse files is
+provided by the @file{contrib/ikiwiki/IkiWiki/Plugin/muse.pm} file.  Two
+sample init files are available in the @file{examples/ikiwiki}
+directory.  Configure your @file{ikiwiki.setup} file so that the
+@code{muse_init} variable has the location of your Muse init file.
+
+If you are using CGI, The directory @file{contrib/ikiwiki/IkiWiki} must
+be copied to the same directory as the CGI script that Ikiwiki
+generates.  When publishing your wiki, the @var{PERL5LIB} environment
+variable must contain the path to the @file{contrib/ikiwiki/IkiWiki}
+directory.
+
+@subheading Styles provided
+
+@table @code
+
+@cindex publishing styles, ikiwiki
+@item ikiwiki
+Supports publishing XHTML output that Ikiwiki can understand.
+
+@end table
+
+@subheading Options provided
+
+@table @code
+
+@item muse-ikiwiki-header
+Header used for publishing Ikiwiki output files.
+
+This may be text or a filename.
+
+@item muse-ikiwiki-footer
+Footer used for publishing Ikiwiki output files.
+
+This may be text or a filename.
+
+@end table
+
+@subheading Other relevant options
+
+@table @code
+
+@item muse-colors-evaluate-lisp-tags
+Specify whether to evaluate the contents of @verb{|<lisp>|} tags at
+display time.  If nil, don't evaluate them.  If non-nil, evaluate
+them.
+
+The actual contents of the buffer are not changed, only the
+displayed text.
+
+@item muse-html-src-allowed-modes
+Modes that we allow the @verb{|<src>|} tag to colorize.  If @code{t},
+permit the @verb{|<src>|} tag to colorize any mode.
+
+If a list of mode names, such as @code{'("html" "latex")}, and the lang
+argument to @verb{|<src>|} is not in the list, then use fundamental mode
+instead.
+
+@item muse-publish-enable-dangerous-tags
+If non-nil, publish tags like @verb{|<lisp>|} and @verb{|<command>|}
+that can call external programs or expose sensitive information.
+Otherwise, ignore tags like this.
+
+This is useful to set to @code{nil} when the file to publish is coming
+from an untrusted source.
+
+@end table
+
+@node Journal, LaTeX, Ikiwiki, Publishing Styles
+@comment  node-name,  next,  previous,  up
+@section Keeping a journal or blog
+@cindex journal
+@cindex blog, journal style
+
+The module facilitates the keeping and publication of a journal.  When
+publishing to HTML, it assumes the form of a web log, or blog.
+
+The input format for each entry is as follows.
+
+@example
+* 20040317: Title of entry
+
+text for the entry.
+
+<qotd>
+"You know who you are. It comes down to a simple gut check: You
+either love what you do or you don't. Period." -- P. Bronson
+</qotd>
+@end example
+
+The "qotd", or Quote of the Day, is entirely optional.  When generated
+to HTML, this entry is rendered as the following.
+
+@example
+<div class="entry">
+  <div class="entry-qotd">
+    <h3>Quote of the Day:</h3>
+    <p>"You know who you are. It comes down to a simple gut
+      check: You either love what you do or you don't. Period."
+      -- P. Bronson</p>
+  </div>
+  <div class="entry-body">
+    <div class="entry-head">
+      <div class="entry-date">
+        <span class="date">March 17, 2004</span>
+      </div>
+      <div class="entry-title">
+        <h2>Title of entry</h2>
+      </div>
+    </div>
+    <div class="entry-text">
+      <p>Text for the entry.</p>
+    </div>
+  </div>
+</div>
+@end example
+
+The plurality of "div" tags makes it possible to display the entries in
+any form you wish, using a CSS style.
+
+Also, an .RDF file can be generated from your journal by publishing it
+with the "rdf" style.  It uses the first two sentences of the first
+paragraph of each entry as its "description", and auto-generates tags
+for linking to the various entries.
+
+@subheading muse-project-alist considerations
+
+If you wish to publish an RDF or RSS feed, it is important to include
+the @option{:base-url} attribute in your @code{muse-project-alist} entry
+for your Journal projects.  An example follows.
+
+@example
+(setq muse-project-alist
+      '(("Journal" ("~/Journal/"
+                    :default "journal")
+        (:base "journal-rss"
+               :base-url "http://example.org/journal/"
+               :path "~/public_html/journal"))))
+@end example
+
+@subheading Styles provided
+
+@table @code
+
+@cindex publishing styles, journal-html
+@item journal-html
+Publish journal entries as an HTML document.
+
+@cindex publishing styles, journal-xhtml
+@item journal-xhtml
+Publish journal entries as an XHTML document.
+
+@cindex publishing styles, journal-latex
+@item journal-latex
+Publish journal entries as a LaTeX document.
+
+@cindex publishing styles, journal-pdf
+@item journal-pdf
+Publish journal entries as a PDF document.
+
+@cindex publishing styles, journal-book-latex
+@item journal-book-latex
+Publish journal entries as a LaTeX book.
+
+@cindex publishing styles, journal-book-pdf
+@item journal-book-pdf
+Publish journal entries as a PDF book.
+
+@cindex publishing styles, journal-rdf
+@cindex publishing styles, RSS 1.0
+@item journal-rdf
+Publish journal entries as an RDF file (RSS 1.0).
+
+@cindex publishing styles, journal-rss
+@cindex publishing styles, RSS 2.0
+@item journal-rss
+Publish journal entries as an RSS file (RSS 2.0).
+
+@cindex publishing styles, journal-rss-entry
+@item journal-rss-entry
+Used internally by @code{journal-rss} and @code{journal-rdf} for
+publishing individual entries.
+
+@end table
+
+@subheading Options provided
+
+@table @code
+
+@item muse-journal-heading-regexp
+A regexp that matches a journal heading.
+
+Paren group 1 is the ISO date, group 2 is the optional category, and
+group 3 is the optional heading for the entry.
+
+@item muse-journal-date-format
+Date format to use for journal entries.
+
+@item muse-journal-html-heading-regexp
+A regexp that matches a journal heading from an HTML document.
+
+Paren group 1 is the ISO date, group 2 is the optional category, and
+group 3 is the optional heading for the entry.
+
+@item muse-journal-html-entry-template
+Template used to publish individual journal entries as HTML.
+
+This may be text or a filename.
+
+@item muse-journal-latex-section
+Template used to publish a LaTeX section.
+
+@item muse-journal-latex-subsection
+Template used to publish a LaTeX subsection.
+
+@item muse-journal-markup-tags
+A list of tag specifications, for specially marking up Journal entries.
+
+@xref{muse-publish-markup-tags}, for more information.
+
+This is used by @code{journal-latex} and its related styles, as well as
+the @code{journal-rss-entry} style, which both @code{journal-rdf} and
+@code{journal-rss} use.
+
+@item muse-journal-rdf-extension
+Default file extension for publishing RDF (RSS 1.0) files.
+
+@item muse-journal-rdf-base-url
+The base URL of the website referenced by the RDF file.
+
+@item muse-journal-rdf-header
+Header used for publishing RDF (RSS 1.0) files.
+
+This may be text or a filename.
+
+@item muse-journal-rdf-footer
+Footer used for publishing RDF (RSS 1.0) files.
+
+This may be text or a filename.
+
+@item muse-journal-rdf-date-format
+Date format to use for RDF entries.
+
+@item muse-journal-rdf-entry-template
+Template used to publish individual journal entries as RDF.
+
+This may be text or a filename.
+
+@item muse-journal-rdf-summarize-entries
+If non-nil, include only summaries in the RDF file, not the full data.
+
+The default is nil, because this annoys some subscribers.
+
+@item muse-journal-rss-heading-regexp
+A regexp that matches a journal heading from an HTML document.
+
+Paren group 1 is the ISO date, group 2 is the optional category,
+and group 3 is the optional heading for the entry.
+
+@item muse-journal-rss-extension
+Default file extension for publishing RSS 2.0 files.
+
+@item muse-journal-rss-base-url
+The base URL of the website referenced by the RSS file.
+
+@item muse-journal-rss-header
+Header used for publishing RSS 2.0 files.
+
+This may be text or a filename.
+
+@item muse-journal-rss-footer
+Footer used for publishing RSS 2.0 files.
+
+This may be text or a filename.
+
+@item muse-journal-rss-date-format
+Date format to use for RSS 2.0 entries.
+
+@item muse-journal-rss-entry-template
+Template used to publish individual journal entries as RSS 2.0.
+
+This may be text or a filename.
+
+@item muse-journal-rss-enclosure-types-alist
+File types that are accepted as RSS enclosures.
+
+This is an alist that maps file extension to content type.
+
+Useful for podcasting.
+
+@item muse-journal-rss-summarize-entries
+If non-nil, include only summaries in the RSS file, not the full data.
+
+The default is nil, because this annoys some subscribers.
+
+@item muse-journal-rss-markup-regexps
+List of markup rules for publishing a Muse journal page to RSS.
+
+For more information on the structure of this list,
+@xref{muse-publish-markup-regexps}.
+
+@item muse-journal-rss-markup-functions
+An alist of style types to custom functions for that kind of text.
+
+For more on the structure of this list,
+@xref{muse-publish-markup-functions}.
+
+@end table
+
+@node LaTeX, Poem, Journal, Publishing Styles
+@comment  node-name,  next,  previous,  up
+@section Publishing LaTeX documents
+
+This publishing style is capable of producing LaTeX or PDF documents.
+
+If you wish to publish PDF documents, you will need to have a good LaTeX
+installation.  For Debian and Ubuntu, this can be accomplished by
+installing the ``tetex-bin'' and ``tetex-extra'' packages.  TeX fonts
+are also a must.
+
+If your LaTeX installation has the file @file{grffile.sty}, which may be
+found in the @file{texlive-latex-recommended} package for Debian and
+Ubuntu, then consider using it by adding the following to your header
+file.  This allows spaces in filenames to work.
+
+@example
+\usepackage@{grffile@}
+@end example
+
+@subheading Styles provided
+
+@table @code
+
+@cindex publishing styles, latex
+@item latex
+Publish a LaTeX document.
+
+@cindex publishing styles, pdf
+@item pdf
+Publish a PDF document, using an external LaTeX document conversion
+tool.
+
+@cindex publishing styles, latexcjk
+@item latexcjk
+Publish a LaTeX document with CJK (Chinese) encodings.
+
+@cindex publishing styles, pdfcjk
+@item pdfcjk
+Publish a PDF document with CJK (Chinese) encodings, using an external
+LaTeX document conversion tool.
+
+@cindex publishing styles, slides
+@item slides
+Publish a LaTeX document that uses the Beamer extension.  This is
+suitable for producing slides.
+
+Here is an example of a slide.
+
+@example
+<slide title="First Slide">
+Everything between the slide tags composes this slide.
+
+[[Some-sort-of-cute-image.png]]
+
+ - A bullet point.
+ - Another bullet point.
+</slide>
+@end example
+
+@cindex publishing styles, slides-pdf
+@item slides-pdf
+Publish a PDF document of slides, using the Beamer extension.
+
+@cindex publishing styles, lecture-notes
+@item lecture-notes
+Publish a LaTeX document that uses the Beamer extension.  This is
+suitable for producing lecture notes.
+
+This can also use the @verb{|<slide>|} tag.
+
+@cindex publishing styles, lecture-notes-pdf
+@item lecture-notes-pdf
+Publish a PDF document of lecture notes, using the Beamer extension.
+
+@end table
+
+@subheading Options provided
+
+@table @code
+
+@item muse-latex-extension
+Default file extension for publishing LaTeX files.
+
+@item muse-latex-pdf-extension
+Default file extension for publishing LaTeX files to PDF.
+
+@item muse-latex-pdf-browser
+The program to use when browsing a published PDF file.
+
+This should be a format string.
+
+@item muse-latex-pdf-program
+The program that is called to generate PDF content from LaTeX content.
+
+@item muse-latex-pdf-cruft
+Extensions of files to remove after generating PDF output successfully.
+
+@item muse-latex-header
+Header used for publishing LaTeX files.
+
+This may be text or a filename.
+
+@item muse-latex-footer
+Footer used for publishing LaTeX files.
+
+This may be text or a filename.
+
+@item muse-latexcjk-header
+Header used for publishing LaTeX files (CJK).
+
+This may be text or a filename.
+
+@item muse-latexcjk-footer
+Footer used for publishing LaTeX files (CJK).
+
+This may be text or a filename.
+
+@item muse-latex-slides-header
+Header for publishing of slides using LaTeX.
+
+This may be text or a filename.
+
+You must have the Beamer extension for LaTeX installed for this to work.
+
+@item muse-latex-lecture-notes-header
+Header publishing of lecture notes using LaTeX.
+
+This may be text or a filename.
+
+You must have the Beamer extension for LaTeX installed for this to work.
+
+@item muse-latex-markup-regexps
+List of markup regexps for identifying regions in a Muse page.
+
+For more on the structure of this list,
+@xref{muse-publish-markup-regexps}.
+
+@item muse-latex-markup-functions
+An alist of style types to custom functions for that kind of text.
+
+For more on the structure of this list,
+@xref{muse-publish-markup-functions}.
+
+@item muse-latex-markup-strings
+Strings used for marking up text.
+
+These cover the most basic kinds of markup, the handling of which
+differs little between the various styles.
+
+@item muse-latex-slides-markup-tags
+A list of tag specifications, for specially marking up LaTeX slides.
+
+@item muse-latexcjk-encoding-map
+An alist mapping emacs coding systems to appropriate CJK codings.
+Use the base name of the coding system (ie, without the -unix).
+
+@item muse-latexcjk-encoding-default
+The default Emacs buffer encoding to use in published files.
+
+This will be used if no special characters are found.
+
+@item muse-latex-markup-specials-document
+A table of characters which must be represented specially.
+These are applied to the entire document, sans already-escaped
+regions.
+
+@item muse-latex-markup-specials-example
+A table of characters which must be represented specially.
+These are applied to @verb{|example>|} regions.
+
+With the default interpretation of @verb{|<example>|} regions, no
+specials need to be escaped.
+
+@item muse-latex-markup-specials-literal
+A table of characters which must be represented specially.
+This applies to =monospaced text= and @verb{|<code>|} regions.
+
+@item muse-latex-markup-specials-url
+A table of characters which must be represented specially.
+These are applied to URLs.
+
+@item muse-latex-markup-specials-image
+A table of characters which must be represented specially.
+These are applied to image filenames.
+
+@item muse-latex-permit-contents-tag
+If nil, ignore @verb{|<contents>|} tags.  Otherwise, insert table of
+contents.
+
+Most of the time, it is best to have a table of contents on the
+first page, with a new page immediately following.  To make this
+work with documents published in both HTML and LaTeX, we need to
+ignore the @verb{|<contents>|} tag.
+
+If you don't agree with this, then set this option to non-nil,
+and it will do what you expect.
+
+@end table
+
+@node Poem, Texinfo, LaTeX, Publishing Styles
+@comment  node-name,  next,  previous,  up
+@section Publish a poem to LaTeX or PDF
+
+The @code{muse-poem} module makes it easy to attractively publish and
+reference poems in the following format, using the "memoir" module for
+LaTeX publishing.  It will also markup poems for every other output
+style, though none are nearly as pretty.
+
+@example
+Title
+
+
+Body of poem
+
+
+Annotations, history, notes, etc.
+@end example
+
+Once a poem is written in this format, just publish it to PDF using the
+@code{poem-pdf} style.  To make an inlined reference to a poem that
+you've written -- for example, from a blog page -- there is a "poem" tag
+defined by this module.
+
+@example
+<poem title="name.of.poem.page">
+@end example
+
+Let's assume the template above was called @file{name.of.poem.page};
+then the above tag would result in this inclusion.
+
+@example
+** Title
+
+> Body of poem
+@end example
+
+John Wiegley uses this module for publishing all of the poems on his
+website, which are at
+@uref{http://www.newartisans.com/johnw/poems.html}.
+
+@subheading Styles provided
+
+@table @code
+
+@cindex publishing styles, poem-latex
+@item poem-latex
+Publish a poem in LaTeX form.
+
+@cindex publishing styles, poem-pdf
+@item poem-pdf
+Publish a poem to a PDF document.
+
+@cindex publishing styles, chapbook-latex
+@item chapbook-latex
+Publish a book of poems in LaTeX form.
+
+@cindex publishing styles, chapbook-pdf
+@item chapbook-pdf
+Publish a book of poems to a PDF document.
+
+@end table
+
+@subheading Options provided
+
+@table @code
+
+@item muse-poem-latex-header
+Header used for publishing LaTeX poems.
+
+This may be text or a filename.
+
+@item muse-poem-latex-footer
+Footer used for publishing LaTeX files.
+
+This may be text or a filename.
+
+@item muse-poem-markup-strings
+Strings used for marking up poems.
+
+These cover the most basic kinds of markup, the handling of which
+differs little between the various styles.
+
+@item muse-chapbook-latex-header
+Header used for publishing a book of poems in LaTeX form.
+
+This may be text or a filename.
+
+@item muse-chapbook-latex-footer
+Footer used for publishing a book of poems in LaTeX form.
+
+This may be text or a filename.
+
+@item muse-poem-chapbook-strings
+Strings used for marking up books of poems.
+
+These cover the most basic kinds of markup, the handling of which
+differs little between the various styles.
+
+@end table
+
+@node Texinfo, XML, Poem, Publishing Styles
+@comment  node-name,  next,  previous,  up
+@section Publish entries to Texinfo format or PDF
+
+Rules for publishing a Muse file as a Texinfo article.
+
+@subheading Styles provided
+
+@table @code
+
+@cindex publishing styles, texi
+@item texi
+Publish a file in Texinfo form.
+
+@cindex publishing styles, texi
+@item info
+Generate an Info file from a Muse file.
+
+@cindex publishing styles, info-pdf
+@item info-pdf
+Publish a file in PDF form.
+
+@end table
+
+@subheading Options provided
+
+@table @code
+
+@item muse-texinfo-process-natively
+If non-nil, use the Emacs `texinfmt' module to make Info files.
+
+@item muse-texinfo-extension
+Default file extension for publishing Texinfo files.
+
+@item muse-texinfo-info-extension
+Default file extension for publishing Info files.
+
+@item muse-texinfo-pdf-extension
+Default file extension for publishing PDF files.
+
+@item muse-texinfo-header
+Text to prepend to a Muse page being published as Texinfo.
+
+This may be text or a filename.
+It may contain @verb{|<lisp>|} markup tags.
+
+@item muse-texinfo-footer
+Text to append to a Muse page being published as Texinfo.
+
+This may be text or a filename.
+It may contain @verb{|<lisp>|} markup tags.
+
+@item muse-texinfo-markup-regexps
+List of markup rules for publishing a Muse page to Texinfo.
+
+For more on the structure of this list,
+@xref{muse-publish-markup-regexps}.
+
+@item muse-texinfo-markup-functions
+An alist of style types to custom functions for that kind of text.
+
+For more on the structure of this list,
+@xref{muse-publish-markup-functions}.
+
+@item muse-texinfo-markup-strings
+Strings used for marking up text.
+
+These cover the most basic kinds of markup, the handling of which
+differs little between the various styles.
+
+@item muse-texinfo-markup-specials
+A table of characters which must be represented specially.
+
+@item muse-texinfo-markup-specials
+A table of characters which must be represented specially.
+These are applied to URLs.
+
+@end table
+
+@node XML, , Texinfo, Publishing Styles
+@comment  node-name,  next,  previous,  up
+@section Publish entries to XML
+
+Muse is capable of publishing XML documents, with the help of the
+@file{muse-xml.el} module.
+
+A RelaxNG schema is available as part of the Muse distribution in the
+@file{etc/muse.rnc} file.
+
+@subheading Styles provided
+
+@table @code
+
+@cindex publishing styles, xml
+@item xml
+Publish a file in XML form.
+
+@end table
+
+@subheading Options provided
+
+@table @code
+
+@cindex muse-xml-encoding-map
+@item muse-xml-encoding-map
+An alist mapping Emacs coding systems to appropriate XML charsets.
+Use the base name of the coding system (i.e. without the -unix).
+
+@item muse-xml-markup-specials
+A table of characters which must be represented specially in all
+XML-like markup formats.
+
+@item muse-xml-markup-specials-url-extra
+A table of characters which must be represented specially in all
+XML-like markup formats.
+
+These are extra characters that are escaped within URLs.
+
+@item muse-xml-extension
+Default file extension used for publishing XML files.
+
+@item muse-xml-header
+Header used for publishing XML files.
+
+This may be text or a filename.
+
+@item muse-xml-footer
+Footer used for publishing XML files.
+
+This may be text or a filename.
+
+@item muse-xml-markup-regexps
+List of markup rules for publishing a Muse page to XML.
+
+For more on the structure of this list,
+@xref{muse-publish-markup-regexps}.
+
+@item muse-xml-markup-functions
+An alist of style types to custom functions for that kind of text.
+
+For more on the structure of this list,
+@xref{muse-publish-markup-functions}.
+
+@item muse-xml-markup-strings
+Strings used for marking up text.
+
+These cover the most basic kinds of markup, the handling of which
+differs little between the various styles.
+
+@item muse-xml-encoding-default
+The default Emacs buffer encoding to use in published files.
+
+This will be used if no special characters are found.
+
+@item muse-xml-charset-default
+The default XML charset to use if no translation is found in
+@code{muse-xml-encoding-map}.
+
+@end table
+
+
+@node Extending Muse, Miscellaneous, Publishing Styles, Top
+@comment  node-name,  next,  previous,  up
+@chapter Making your own publishing styles
+
+@menu
+* Markup Functions::            Specifying functions to mark up text.
+* Markup Regexps::              Markup rules for publishing.
+* Markup Strings::              Strings specific to a publishing style.
+* Markup Tags::                 Tag specifications for special markup.
+* Style Elements::              Parameters used for defining styles.
+* Deriving Styles::             Deriving a new style from an existing
+                                  one.
+@end menu
+
+@node Markup Functions, Markup Regexps, , Extending Muse
+@comment  node-name,  next,  previous,  up
+@section Specifying functions to mark up text
+@cindex publishing, markup functions
+
+@anchor{muse-publish-markup-functions}
+@code{muse-publish-markup-functions}
+
+An alist of style types to custom functions for that kind of text.
+
+This is used by publishing styles to attempt to minimize the amount of
+custom regexps that each has to define.  @file{muse-publish} provides
+rules for the most common types of markup.
+
+Each member of the list is of the following form.
+
+@example
+(SYMBOL FUNCTION)
+@end example
+
+@itemize @bullet
+@item SYMBOL
+Describes the type of text to associate with this rule.
+@code{muse-publish-markup-regexps} maps regexps to these symbols.
+
+@item FUNCTION
+Function to use to mark up this kind of rule if no suitable function is
+found through the @option{:functions} tag of the current style.
+@end itemize
+
+@node Markup Regexps, Markup Strings, Markup Functions, Extending Muse
+@comment  node-name,  next,  previous,  up
+@section Markup rules for publishing
+@cindex publishing, markup regexps
+@cindex publishing, rules
+
+@anchor{muse-publish-markup-regexps}
+@code{muse-publish-markup-regexps}
+
+List of markup rules for publishing a page with Muse.
+
+The rules given in this variable are invoked first, followed by whatever
+rules are specified by the current style.
+
+Each member of the list is either a function, or a list of the following
+form.
+
+@example
+(REGEXP/SYMBOL TEXT-BEGIN-GROUP REPLACEMENT-TEXT/FUNCTION/SYMBOL)
+@end example
+
+@itemize @bullet
+@item REGEXP
+A regular expression, or symbol whose value is a regular expression,
+which is searched for using `re-search-forward'.
+
+@item TEXT-BEGIN-GROUP
+The matching group within that regexp which denotes the beginning of the
+actual text to be marked up.
+
+@item REPLACEMENT-TEXT
+A string that will be passed to `replace-match'.
+
+If it is not a string, but a function, it will be called to determine
+what the replacement text should be (it must return a string).  If it is
+a symbol, the value of that symbol should be a string.
+@end itemize
+
+The replacements are done in order, one rule at a time.  Writing
+the regular expressions can be a tricky business.  Note that case
+is never ignored.  `case-fold-search' is always bound to nil
+while processing the markup rules.
+
+@subheading Publishing order
+
+This is the order that the publishing rules are consulted, by default.
+This may be changed by customizing @code{muse-publish-markup-regexps}.
+
+@table @code
+
+@item trailing and leading whitespace
+Remove trailing and leading whitespace from a file.
+
+@item directive
+@samp{#directive}
+
+This is only recognized at the beginning of a file.
+
+@item comment
+@samp{; a commented line}
+
+@item tag
+@samp{<tag>}
+
+@item comment
+@samp{; comment}
+
+@item explicit links
+Prevent emphasis characters in explicit links from being marked up.
+
+Don't actually publish them here, just add a special no-emphasis text
+property.
+
+@item word
+Whitespace-delimited word, possibly with emphasis characters
+
+This function is responsible for marking up emphasis and escaping some
+specials.
+
+@item heading
+@samp{** Heading}
+
+Outline-mode style headings.
+
+@item enddots
+@samp{....}
+
+These are ellipses with a dot at end.
+
+@item dots
+@samp{...}
+
+Ellipses.
+
+@item rule
+@samp{----}
+
+Horizontal rule or section separator.
+
+@item no-break-space
+@samp{~~}
+
+Prevent lines from being split before or after these characters.
+
+@item line-break
+@samp{<br>}
+
+Break a line at point.
+
+@item fn-sep
+@samp{Footnotes:}
+
+Beginning of footnotes section.
+
+@item footnote
+@samp{[1]}
+
+Footnote definition or reference.  If at beginning of line, it is a
+definition.
+
+@item list
+@itemize @bullet
+@item
+@samp{ 1. }
+
+@item
+@samp{ - }
+
+@item
+@samp{term :: }
+@end itemize
+
+Numbered list, item list, or term definition list.
+
+@item table-el
+
+@file{table.el} style tables
+
+@item table
+@samp{table | cells}
+
+Muse tables or orgtbl-mode style tables.
+
+@item quote
+spaces before beginning of text
+
+Blockquotes.
+
+@item emdash
+@samp{--}
+
+2-wide dash
+
+@item verse
+@samp{> verse text}
+
+@item anchor
+@samp{#anchor}
+
+@item link
+@samp{[[explicit][links]]}
+
+@item url
+@samp{http://example.com/}
+
+@item email
+@samp{bare-email@@example.com}
+
+@end table
+
+@node Markup Strings, Markup Tags, Markup Regexps, Extending Muse
+@comment  node-name,  next,  previous,  up
+@section Strings specific to a publishing style
+@cindex publishing, markup strings
+
+@dfn{Markup strings} are strings used for marking up text for a
+particular style.
+
+These cover the most basic kinds of markup, the handling of which
+differs little between the various styles.
+
+@subheading Available markup strings
+
+@table @code
+
+@item image-with-desc
+An image and a description.
+
+Argument 1: image without extension.  Argument 2: image extension.
+Argument 3: description.
+
+@item image
+An inlined image.
+
+Argument 1: image without extension.  Argument 2: image extension.
+
+@item image-link
+An image with a link around it.
+
+Argument 1: link.  Argument 2: image without extension.
+Argument 3: image extension.
+
+@item anchor-ref
+A reference to an anchor on the current page.
+
+Argument 1: anchor name.  Argument 2: description if one exists, or the
+original link otherwise.
+
+@item url
+A URL without a description.
+
+Argument 1: URL.
+
+@item link
+A link to a Muse page with a description.
+
+Argument 1: link.  Argument 2: description if one exists, or the
+original link otherwise.
+
+@item link-and-anchor
+A link to a Muse page with an anchor, and a description.
+
+Argument 1: link.  Argument 2: anchor name.
+Argument 3: description if one exists, or the original link otherwise.
+Argument 4: link without an extension.
+
+@item email-addr
+A link to an email address.
+
+Argument 1: email address.  Argument 2: email address.
+
+@item anchor
+An anchor.
+
+Argument 1: name of anchor.
+
+@item emdash
+A 2-length dash.
+
+Argument 1: Initial whitespace.  Argument 2: Terminating whitespace.
+
+@item comment-begin
+Beginning of a comment.
+
+@item comment-end
+End of a comment.
+
+@item rule
+A horizontal line or space.
+
+@item no-break-space
+A space that separates two words which are not to be separated.
+
+@item footnote
+Beginning of footnote.
+
+@item footnote-end
+End of footnote.
+
+@item footnotemark
+Mark a reference for the current footnote.
+
+Argument 1: number of this footnote.
+
+@item footnotemark-end
+End of a reference for the current footnote.
+
+@item footnotetext
+Indicate the text of the current footnote.
+
+Argument 1: number of this footnote.
+
+@item footnotetext-end
+End of a footnote text line.
+
+@item fn-sep
+Text used to replace ``Footnotes:'' line.
+
+@item dots
+3 dots.
+
+@item enddots
+4 dots.
+
+@item part
+Beginning of a part indicator line.  This is used by book publishing.
+
+@item part-end
+End of a part indicator line.  This is used by book publishing.
+
+@item chapter
+Beginning of a chapter indicator line.  This is used by book publishing.
+
+@item chapter-end
+End of a chapter indicator line.  This is used by book publishing.
+
+@item section
+Beginning of level 1 section indicator line.
+
+Argument 1: level of section; always 1.
+
+@item section-end
+End of level 1 section indicator line.
+
+Argument 1: level of section; always 1.
+
+@item subsection
+Beginning of level 2 section indicator line.
+
+Argument 1: level of section; always 2.
+
+@item subsection-end
+End of level 2 section indicator line.
+
+Argument 1: level of section; always 2.
+
+@item subsubsection
+Beginning of level 3 section indicator line.
+
+Argument 1: level of section; always 3.
+
+@item subsubsection-end
+End of level 3 section indicator line.
+
+Argument 1: level of section; always 3.
+
+@item section-other
+Beginning of section indicator line, where level is greater than 3.
+
+Argument 1: level of section.
+
+@item section-other-end
+End of section indicator line, where level is greater than 3.
+
+Argument 1: level of section.
+
+@item begin-underline
+Beginning of underlined text.
+
+@item end-underline
+End of underlined text.
+
+@item begin-literal
+Beginning of verbatim text.  This includes @verb{|<code>|} tags and
+=teletype text=.
+
+@item end-literal
+End of verbatim text.  This includes @verb{|<code>|} tags and =teletype
+text=.
+
+@item begin-emph
+Beginning of the first level of emphasized text.
+
+@item end-emph
+End of the first level of emphasized text.
+
+@item begin-more-emph
+Beginning of the second level of emphasized text.
+
+@item end-more-emph
+End of the second level of emphasized text.
+
+@item begin-most-emph
+Beginning of the third (and final) level of emphasized text.
+
+@item end-most-emph
+End of the third (and final) level of emphasized text.
+
+@item begin-verse
+Beginning of verse text.
+
+@item verse-space
+String used to each space that is further indented than the beginning of
+the verse.
+
+@item begin-verse-line
+Beginning of a line of verse.
+
+@item empty-verse-line
+End of a line of verse.
+
+@item begin-last-stanza-line
+Beginning of the last line of a verse stanza.
+
+@item end-last-stanza-line
+End of the last line of a verse stanza.
+
+@item end-verse
+End of verse text.
+
+@item begin-example
+Beginning of an example region.  To make use of this, an
+@samp{<example>} tag is needed.
+
+@item end-example
+End of an example region.  To make use of this, an @samp{</example>} tag
+is needed.
+
+@item begin-center
+Begin a centered line.
+
+@item end-center
+End a centered line.
+
+@item begin-quote
+Begin a quoted region.
+
+@item end-quote
+End a quoted region.
+
+@item begin-quote-item
+Begin a quote paragraph.
+
+@item end-quote-item
+End a quote paragraph.
+
+@item begin-uli
+Begin an unordered list.
+
+@item end-uli
+End an unordered list.
+
+@item begin-uli-item
+Begin an unordered list item.
+
+@item end-uli-item
+End an unordered list item.
+
+@item begin-oli
+Begin an ordered list.
+
+@item end-oli
+End an ordered list.
+
+@item begin-oli-item
+Begin an ordered list item.
+
+@item end-oli-item
+End an ordered list item.
+
+@item begin-dl
+Begin a definition list.
+
+@item end-dl
+End a definition list.
+
+@item begin-dl-item
+Begin a definition list item.
+
+@item end-dl-item
+End a definition list item.
+
+@item begin-ddt
+Begin a definition list term.
+
+@item end-ddt
+End a definition list term.
+
+@item begin-dde
+Begin a definition list entry.
+
+@item end-dde
+End a definition list entry.
+
+@item begin-table
+Begin a table.
+
+@item end-table
+End a table.
+
+@item begin-table-group
+Begin a table grouping.
+
+@item end-table-group
+End a table grouping.
+
+@item begin-table-row
+Begin a table row.
+
+@item end-table-row
+End a table row.
+
+@item begin-table-entry
+Begin a table entry.
+
+@item end-table-entry
+End a table entry.
+
+@end table
+
+@node Markup Tags, Style Elements, Markup Strings, Extending Muse
+@comment  node-name,  next,  previous,  up
+@section Tag specifications for special markup
+@cindex publishing, markup tags
+
+@anchor{muse-publish-markup-tags}
+@code{muse-publish-markup-tags}
+
+A list of tag specifications, for specially marking up text.
+
+XML-style tags are the best way to add custom markup to Muse.  This is
+easily accomplished by customizing this list of markup tags.
+
+For each entry, the name of the tag is given, whether it expects a
+closing tag and/or an optional set of attributes, whether it is
+nestable, and a function that performs whatever action is desired within
+the delimited region.
+
+The tags themselves are deleted during publishing, before the function
+is called.  The function is called with three arguments, the beginning
+and end of the region surrounded by the tags.  If properties are
+allowed, they are passed as a third argument in the form of an alist.
+The `end' argument to the function is always a marker.
+
+Point is always at the beginning of the region within the tags, when the
+function is called.  Wherever point is when the function finishes is
+where tag markup will resume.
+
+These tag rules are processed once at the beginning of markup, and once
+at the end, to catch any tags which may have been inserted in-between.
+
+@node Style Elements, Deriving Styles, Markup Tags, Extending Muse
+@comment  node-name,  next,  previous,  up
+@section Parameters used for defining styles
+@cindex publishing, style elements
+
+Style elements are tags that define a style.  Use either
+@code{muse-define-style} or @code{muse-derive-style}
+(@pxref{Deriving Styles}) to create a new style.
+
+@defun muse-define-style name &rest elements
+@end defun
+
+@subheading Usable elements
+
+@table @option
+
+@item :suffix
+File extension to use for publishing files with this style.
+
+@item :link-suffix
+File extension to use for publishing links to Muse files with this
+style.
+
+@item :osuffix
+File extension to use for publishing second-stage files with this style.
+
+For example, PDF publishing generates a LaTeX file first, then a PDF
+from that LaTeX file.
+
+@item :regexps
+List of markup rules for publishing a page with Muse.
+@xref{muse-publish-markup-regexps}.
+
+@item :functions
+An alist of style types to custom functions for that kind of text.
+@xref{muse-publish-markup-functions}.
+
+@item :strings
+Strings used for marking up text with this style.
+
+These cover the most basic kinds of markup, the handling of which
+differs little between the various styles.
+
+@item :tags
+A list of tag specifications, used for handling extra tags.
+@xref{muse-publish-markup-tags}.
+
+@item :specials
+A table of characters which must be represented specially.
+
+@item :before
+A function that is to be executed on the newly-created publishing buffer
+(or the current region) before any publishing occurs.
+
+This is used to set extra parameters that direct the publishing process.
+
+@item :before-end
+A function that is to be executed on the publishing buffer (or the
+current region) immediately after applying all of the markup regexps.
+
+This is used to fix the order of table elements (header, footer, body)
+in XML-ish styles.
+
+@item :after
+A function that is to be executed on the publishing buffer after
+:before-end, and immediately after inserting the header and footer.
+
+This is used for generating the table of contents as well as setting the
+file coding system.
+
+@item :final
+A function that is to be executed after saving the published file, but
+while still in its buffer.
+
+This is used for generating second-stage documents like PDF files from
+just-published LaTeX files.
+
+The function must accept three arguments: the name of the muse source
+file, the name of the just-published file, and the name of the
+second-stage target file.  The name of the second-stage target file is
+the same as that of the just-published file if no second-stage
+publishing is required.
+
+@item :header
+Header used for publishing files of this style.
+
+This may be a variable, text, or a filename.  It is inserted at the
+beginning of a file, after evaluating the publishing markup.
+
+@item :footer
+Footer used for publishing files of this style.
+
+This may be a variable, text, or a filename.  It is inserted at the end
+of a file, after evaluating the publishing markup.
+
+@item :style-sheet
+Style sheet used for publishing files of this style.
+
+This may be a variable or text.  It is used in the header of HTML and
+XHTML based publishing styles.
+
+@item :browser
+The function used to browse the published result of files of this style.
+
+@end table
+
+@node Deriving Styles, , Style Elements, Extending Muse
+@comment  node-name,  next,  previous,  up
+@section Deriving a new style from an existing one
+@cindex publishing styles, deriving
+
+To create a new style from an existing one, use @code{muse-derive-style}
+as follows.  This is a good way to fix something you don't like about a
+particular publishing style, or to personalize it.
+
+@defun muse-derive-style new-name base-name &rest elements
+@end defun
+
+The derived name is a string defining the new style, such as "my-html".
+The base name must identify an existing style, such as "html" -- if you
+have loaded @file{muse-html}.  The style parameters are the same as
+those used to create a style, except that they override whatever
+definitions exist in the base style.  However, some definitions only
+partially override.  The following parameters support partial
+overriding.
+
+@xref{Style Elements}, for a complete list of all parameters.
+
+@table @option
+
+@item :functions
+If a markup function is not found in the derived style's function list,
+the base style's function list will be queried.
+
+@item :regexps
+All regexps in the current style and the base style(s) will be used.
+
+@item :strings
+If a markup string is not found in the derived style's string list, the
+base style's string list will be queried.
+
+@end table
+
+@node Miscellaneous, Getting Help and Reporting Bugs, Extending Muse, Top
+@comment  node-name,  next,  previous,  up
+@chapter Miscellaneous add-ons, like a minor mode
+
+@menu
+* Muse List Edit Minor Mode::   Edit lists easily in other major modes.
+@end menu
+
+@node Muse List Edit Minor Mode, , , Miscellaneous
+@comment  node-name,  next,  previous,  up
+@section Edit lists easily in other major modes
+@cindex muse-list-edit-minor-mode
+
+@code{muse-list-edit-minor-mode} is meant to be used with other major
+modes, such as Message (for composing email) and debian-changelog-mode
+(for editing debian/changelog files).
+
+It implements practically perfect support for editing and filling lists.
+It can even handle nested lists.  In addition to Muse-specific list
+items ("-", numbers, definition lists, footnotes), it can also handle
+items that begin with "*" or "+".  Filling list items behaves in the
+same way that it does in Muse, regardless of whether filladapt is also
+enabled, which is the primary reason to use this tool.
+
+@subheading Installation
+
+To use it, add ``(require 'muse-mode)'' to your Emacs customization file
+and add the function @code{turn-on-muse-list-edit-minor-mode} to any
+mode hooks where you wish to enable this minor mode.
+
+@subheading Keybindings
+
+@code{muse-list-edit-minor-mode} uses the following keybindings.
+
+@table @kbd
+
+@item M-RET (`muse-l-e-m-m-insert-list-item')
+Insert a new list item at point, using the indentation level of the
+current list item.
+
+@item C-< (`muse-l-e-m-m-decrease-list-item-indent')
+Decrease indentation of the current list item.
+
+@item C-> (`muse-l-e-m-m-increase-list-item-indent')
+Increase indentation of the current list item.
+
+@end table
+
+@subheading Functions
+
+@defun muse-list-edit-minor-mode
+This is a global minor mode for editing files with lists.
+It is meant to be used with other major modes, and not with Muse mode.
+
+Interactively, with no prefix argument, toggle the mode.
+With universal prefix @var{arg} turn mode on.
+With zero or negative @var{arg} turn mode off.
+
+This minor mode provides the Muse keybindings for editing lists,
+and support for filling lists properly.
+
+It recognizes not only Muse-style lists, which use the "-"
+character or numbers, but also lists that use asterisks or plus
+signs.  This should make the minor mode generally useful.
+
+Definition lists and footnotes are also recognized.
+
+Note that list items may omit leading spaces, for compatibility
+with modes that set @code{left-margin}, such as
+@code{debian-changelog-mode}.
+@end defun
+
+@defun turn-on-muse-list-edit-minor-mode
+Unconditionally turn on Muse list edit minor mode.
+@end defun
+
+@defun turn-off-muse-list-edit-minor-mode
+Unconditionally turn off Muse list edit minor mode.
+@end defun
+
+@node Getting Help and Reporting Bugs, History, Miscellaneous, Top
+@comment  node-name,  next,  previous,  up
+@chapter Getting Help and Reporting Bugs
+@cindex help, getting
+@cindex bugs, reporting
+
+After you have read this guide, if you still have questions about
+Muse, or if you have bugs to report, there are several places you can
+go.
+
+@itemize @bullet
+
+@item
+@uref{http://www.emacswiki.org/cgi-bin/wiki/EmacsMuse} is the
+emacswiki.org page, and anyone may add tips, hints, or bug descriptions
+to it.
+
+@item
+@uref{http://mwolson.org/projects/EmacsMuse.html} is the web page
+that Michael Olson (the current maintainer) made for Muse.
+
+@item
+Muse has several different mailing lists.
+
+@table @samp
+
+@item muse-el-announce
+Low-traffic list for Muse-related announcements.
+
+You can join this mailing list (@email{muse-el-announce@@gna.org})
+using the subscription form at
+@url{http://mail.gna.org/listinfo/muse-el-announce/}.  This
+mailing list is also available via Gmane (@url{http://gmane.org/}). The
+group is called @samp{gmane.emacs.muse.announce}.
+
+@item muse-el-discuss
+Discussion, bugfixes, suggestions, tips, and the like for Muse.
+This mailing list also includes the content of muse-el-announce.
+
+You can join this mailing list (@email{muse-el-discuss@@gna.org})
+using the subscription form at
+@url{http://mail.gna.org/listinfo/muse-el-discuss/}.  This mailing
+list is also available via Gmane with the identifier
+@samp{gmane.emacs.muse.general}.
+
+@item muse-el-logs
+Log messages for commits made to Muse.
+
+You can join this mailing list (@email{muse-el-logs@@gna.org}) using
+the subscription form at
+@url{http://mail.gna.org/listinfo/muse-el-logs/}.  This mailing list
+is also available via Gmane with the identifier
+@samp{gmane.emacs.muse.scm}.
+
+@item muse-el-commits
+Generated bug reports for Emacs Muse.  If you use our bug-tracker at
+@url{https://gna.org/bugs/?group=muse-el}, the bug reports will be
+sent to this list automatically.
+
+You can join this mailing list (@email{muse-el-commits@@gna.org}) using
+the subscription form at
+@url{http://mail.gna.org/listinfo/muse-el-commits/}.  This mailing list
+is also available via Gmane with the identifier
+@samp{gmane.emacs.muse.cvs}.
+
+@item muse-el-internationalization
+Discussion of translation of the Muse website and documentation into
+many languages.
+
+You can join this mailing list
+(@email{muse-el-internationalization@@gna.org}) using the subscription
+form at @url{http://mail.gna.org/listinfo/internationalization/}.  This
+mailing list is also available via Gmane with the identifier
+@samp{gmane.emacs.muse.internationalization}.
+
+@end table
+
+@item
+You can visit the IRC Freenode channel @samp{#emacs}. Many of the
+contributors are frequently around and willing to answer your
+questions.  The @samp{#muse} channel is also available for
+Muse-specific help, and its current maintainer hangs out there.
+
+@item
+The maintainer of Emacs Muse, Michael Olson, may be contacted at
+@email{mwolson@@gnu.org}.  He can be rather slow at answering email, so
+it is often better to use the muse-el-discuss mailing list.
+
+@end itemize
+
+@node History, Contributors, Getting Help and Reporting Bugs, Top
+@comment  node-name,  next,  previous,  up
+@chapter History of This Document
+@cindex history, of Muse
+
+@itemize
+@item 2004
+John Wiegley started Muse upon realizing that EmacsWiki had some serious
+limitations. Around February 2004, he started making "emacs-wiki version
+3.00 APLHA", which eventually became known as Muse.
+
+Most of those who frequent the emacs-wiki mailing list continued to use
+emacs-wiki, mainly because Planner hasn't been ported over to it.
+
+As of 2004-12-01, Michael Olson became the maintainer of Muse, as per
+John Wiegley's request.
+
+@item 2005
+Michael Olson overhauled this document and added many new sections in
+preparation for the first release of Muse (3.01).
+
+@end itemize
+
+@node Contributors, GNU Free Documentation License, History, Top
+@comment  node-name,  next,  previous,  up
+@chapter Contributors to This Documentation
+@cindex contributors
+
+The first draft of this document was taken from the emacs-wiki texinfo
+manual.  Michael Olson adapted it for Muse and added most of its
+content.
+
+John Sullivan did a majority of the work on the emacs-wiki texinfo
+manual.
+
+While Sacha Chua maintained emacs-wiki, she worked quite a bit on the
+emacs-wiki texinfo manual.
+
+
+@node GNU Free Documentation License, Concept Index, Contributors, Top
+@appendix GNU Free Documentation License
+@include doclicense.texi
+
+
+@node Concept Index,  , GNU Free Documentation License, Top
+@comment  node-name,  next,  previous,  up
+@unnumbered Index
+
+@printindex cp
+
+@bye