4657 lines
162 KiB
Plaintext
4657 lines
162 KiB
Plaintext
|
This is muse.info, produced by makeinfo version 4.13 from muse.texi.
|
|||
|
|
|||
|
INFO-DIR-SECTION Emacs
|
|||
|
START-INFO-DIR-ENTRY
|
|||
|
* Muse: (muse). Authoring and publishing environment for Emacs.
|
|||
|
END-INFO-DIR-ENTRY
|
|||
|
|
|||
|
This manual is for Emacs Muse version 3.20.
|
|||
|
|
|||
|
Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free
|
|||
|
Software Foundation, Inc.
|
|||
|
|
|||
|
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.
|
|||
|
|
|||
|
|
|||
|
File: muse.info, Node: Top, Next: Preface, Prev: (dir), Up: (dir)
|
|||
|
|
|||
|
Muse
|
|||
|
****
|
|||
|
|
|||
|
This manual is for Emacs Muse version 3.20.
|
|||
|
|
|||
|
Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free
|
|||
|
Software Foundation, Inc.
|
|||
|
|
|||
|
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.
|
|||
|
|
|||
|
* 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.
|
|||
|
|
|||
|
--- 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.
|
|||
|
|
|||
|
|
|||
|
File: muse.info, Node: Preface, Next: Introduction, Prev: Top, Up: Top
|
|||
|
|
|||
|
1 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.
|
|||
|
|
|||
|
* PDF: http://mwolson.org/static/doc/muse.pdf
|
|||
|
|
|||
|
* HTML (single file): http://mwolson.org/static/doc/muse.html
|
|||
|
|
|||
|
* HTML (multiple files): http://mwolson.org/static/doc/muse/
|
|||
|
|
|||
|
|
|||
|
File: muse.info, Node: Introduction, Next: Obtaining Muse, Prev: Preface, Up: Top
|
|||
|
|
|||
|
2 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 `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.
|
|||
|
|
|||
|
|
|||
|
File: muse.info, Node: Obtaining Muse, Next: Installation, Prev: Introduction, Up: Top
|
|||
|
|
|||
|
3 How to Get Muse Releases and Development Changes
|
|||
|
**************************************************
|
|||
|
|
|||
|
* Menu:
|
|||
|
|
|||
|
* Releases:: Released versions of Muse.
|
|||
|
* Development:: Latest unreleased development changes.
|
|||
|
|
|||
|
|
|||
|
File: muse.info, Node: Releases, Next: Development, Prev: Obtaining Muse, Up: Obtaining Muse
|
|||
|
|
|||
|
3.1 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 <muse-el-discuss@gna.org> mailing list. *Note
|
|||
|
Getting Help and Reporting Bugs::.
|
|||
|
|
|||
|
Debian users can get Muse via apt-get. The `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
|
|||
|
`/etc/apt/sources.list' file and run `apt-get install muse'.
|
|||
|
|
|||
|
deb http://mwolson.org/debian/ ./
|
|||
|
|
|||
|
Ubuntu users can also get Muse via apt-get. The `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 `/etc/apt/sources.list' file and run `apt-get install muse'.
|
|||
|
|
|||
|
deb http://mwolson.org/ubuntu/ ./
|
|||
|
|
|||
|
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 `muse-el' package.
|
|||
|
|
|||
|
Alternatively, you can download the latest release from
|
|||
|
`http://download.gna.org/muse-el/' .
|
|||
|
|
|||
|
|
|||
|
File: muse.info, Node: Development, Prev: Releases, Up: Obtaining Muse
|
|||
|
|
|||
|
3.2 Latest unreleased development changes
|
|||
|
=========================================
|
|||
|
|
|||
|
Choose the development version if you want to live on the bleeding edge
|
|||
|
of Muse development or try out new features before release.
|
|||
|
|
|||
|
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:
|
|||
|
`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.
|
|||
|
|
|||
|
1. Install git.
|
|||
|
|
|||
|
* Debian and Ubuntu: `apt-get install git-core'.
|
|||
|
|
|||
|
* Windows: `http://git.or.cz/gitwiki/WindowsInstall'.
|
|||
|
|
|||
|
* Other operating systems: download, compile, and install the
|
|||
|
source from `http://www.kernel.org/pub/software/scm/git/', or
|
|||
|
find a git package for your operating system.
|
|||
|
|
|||
|
2. Download the Muse development branch.
|
|||
|
|
|||
|
If you have developer access to Muse, do:
|
|||
|
|
|||
|
git clone ssh://repo.or.cz/srv/git/muse-el.git muse
|
|||
|
|
|||
|
otherwise, do:
|
|||
|
|
|||
|
git clone git://repo.or.cz/muse-el.git muse
|
|||
|
|
|||
|
If you are behind a restrictive firewall, and do not have developer
|
|||
|
access, then do the following instead:
|
|||
|
|
|||
|
git clone http://repo.or.cz/r/muse-el.git muse
|
|||
|
|
|||
|
3. 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.
|
|||
|
|
|||
|
# 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
|
|||
|
|
|||
|
"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
|
|||
|
`.git/config' file in the directory where the Muse source was
|
|||
|
placed.
|
|||
|
|
|||
|
4. Update to the latest version by pulling in any missing changes.
|
|||
|
|
|||
|
cd muse
|
|||
|
git pull origin
|
|||
|
|
|||
|
git will show how many files changed, and will provide a visual
|
|||
|
display for how many lines were changed in each file.
|
|||
|
|
|||
|
|
|||
|
There are other ways to interact with the Muse repository.
|
|||
|
|
|||
|
* Browse git repo: `http://repo.or.cz/w/muse-el.git'
|
|||
|
|
|||
|
* Latest development snapshot:
|
|||
|
`http://mwolson.org/static/dist/muse-latest.tar.gz'
|
|||
|
|
|||
|
* Latest development snapshot (zip file):
|
|||
|
`http://mwolson.org/static/dist/muse-latest.zip'
|
|||
|
|
|||
|
The latest development snapshot can lag behind the git repo by as
|
|||
|
much as 20 minutes, but never more than that.
|
|||
|
|
|||
|
Becoming a Muse developer
|
|||
|
-------------------------
|
|||
|
|
|||
|
If you want commit access to the shared Muse repository, then register
|
|||
|
an account at `http://repo.or.cz' (be sure to add an SSH key), and
|
|||
|
contact the current maintainer at <mwolson@gnu.org>. It would be best
|
|||
|
to send some patches to the <muse-el-discuss@gna.org> mailing list
|
|||
|
first, so that he knows that you know what you are doing. *Note
|
|||
|
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
|
|||
|
`http://emacswiki.org/cgi-bin/wiki/MuseDevelopment'.
|
|||
|
|
|||
|
|
|||
|
File: muse.info, Node: Installation, Next: Getting Started, Prev: Obtaining Muse, Up: Top
|
|||
|
|
|||
|
4 Compiling and Installing Muse
|
|||
|
*******************************
|
|||
|
|
|||
|
Muse may be compiled and installed on your machine.
|
|||
|
|
|||
|
Compilation
|
|||
|
-----------
|
|||
|
|
|||
|
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 `emacs'
|
|||
|
will be used.
|
|||
|
|
|||
|
If you want to use the `xemacs' binary to perform the compilation,
|
|||
|
you must copy `Makefile.defs.default' to `Makefile.defs' in the
|
|||
|
top-level directory, and then edit `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 `PATH'.
|
|||
|
|
|||
|
EMACS = xemacs
|
|||
|
SITEFLAG = -no-site-file
|
|||
|
# Edit the section as necessary
|
|||
|
install_info = install-info --section "XEmacs 21.4" $(1).info \
|
|||
|
$(INFODIR)/dir || :
|
|||
|
|
|||
|
Running `make' in the top-level directory should compile the Muse
|
|||
|
source files in the `lisp' directory, and generate an autoloads file in
|
|||
|
`lisp/muse-autoloads.el'.
|
|||
|
|
|||
|
Installation
|
|||
|
------------
|
|||
|
|
|||
|
Muse may be installed into your file hierarchy by doing the following.
|
|||
|
|
|||
|
Copy `Makefile.defs.default' to `Makefile.defs' in the top-level
|
|||
|
directory, if you haven't done so already. Then edit the
|
|||
|
`Makefile.defs' file so that `ELISPDIR' points to where you want the
|
|||
|
source and compiled Muse files to be installed and `INFODIR' indicates
|
|||
|
where to put the Muse manual. You may use a combination of `DESTDIR'
|
|||
|
and `PREFIX' to further determine where the installed files should be
|
|||
|
placed. As mentioned earlier, you will want to edit `EMACS' and
|
|||
|
`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 `INSTALLINFO' as specified in
|
|||
|
`Makefile.defs'.
|
|||
|
|
|||
|
If you wish to install Muse to different locations than the defaults
|
|||
|
specify, edit `Makefile.defs' accordingly.
|
|||
|
|
|||
|
Run `make' as a normal user, if you haven't done so already.
|
|||
|
|
|||
|
Run `make install' as the root user if you have chosen installation
|
|||
|
locations that require root permissions.
|
|||
|
|
|||
|
ELPA
|
|||
|
----
|
|||
|
|
|||
|
For those used to installing software packages, there will be a `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 `http://tromey.com/elpa/'.
|
|||
|
|
|||
|
|
|||
|
File: muse.info, Node: Getting Started, Next: Projects, Prev: Installation, Up: Top
|
|||
|
|
|||
|
5 Getting Started
|
|||
|
*****************
|
|||
|
|
|||
|
* 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.
|
|||
|
|
|||
|
|
|||
|
File: muse.info, Node: Loading Muse, Next: Using Muse Mode, Prev: Getting Started, Up: Getting Started
|
|||
|
|
|||
|
5.1 How to Load Muse
|
|||
|
====================
|
|||
|
|
|||
|
To use Muse, add the directory containing its files to your `load-path'
|
|||
|
variable, in your `.emacs' file. Then, load in the authoring mode, and
|
|||
|
the styles you wish to publish to. An example follows.
|
|||
|
|
|||
|
(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
|
|||
|
|
|||
|
An easy way of seeing which settings are available and changing
|
|||
|
settings is to use the Muse customization interface. To do this, type
|
|||
|
`M-x customize-group muse RET'. Each of the options has its own
|
|||
|
documentation. Options are grouped logically according to what effect
|
|||
|
they have.
|
|||
|
|
|||
|
|
|||
|
File: muse.info, Node: Using Muse Mode, Next: Publishing Files Overview, Prev: Loading Muse, Up: Getting Started
|
|||
|
|
|||
|
5.2 How to Edit Files in Muse
|
|||
|
=============================
|
|||
|
|
|||
|
Muse Mode should automatically be activated when you visit a file with a
|
|||
|
".muse" extension. One such file is `QuickStart.muse', which is
|
|||
|
available in the `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 `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 <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 `C-c C-l', which is also `M-x font-lock-mode', make changes,
|
|||
|
and then hit `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 `C-c C-e', which is also `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 `C-c TAB l'. A link to a URL may be created
|
|||
|
by hitting `C-c TAB u'. Links may be followed by hitting `RET' on them.
|
|||
|
|
|||
|
If you want to add a new list item, this may by accomplished by
|
|||
|
hitting `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 `M-q' to wrap it onto
|
|||
|
multiple lines.
|
|||
|
|
|||
|
|
|||
|
File: muse.info, Node: Publishing Files Overview, Next: File Extensions, Prev: Using Muse Mode, Up: Getting Started
|
|||
|
|
|||
|
5.3 Publishing a Single File or Project
|
|||
|
=======================================
|
|||
|
|
|||
|
The command `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 `C-c C-t'. If the file has been published recently, and its
|
|||
|
contents have not changed, running `C-c C-t' again will not publish the
|
|||
|
file. To force publishing in this case, do `C-u C-c C-t'.
|
|||
|
|
|||
|
If you have set up projects and are visiting a file that is part of a
|
|||
|
project, then `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 `C-c M-C-t',
|
|||
|
which is also `M-x muse-publish-this-file'.
|
|||
|
|
|||
|
If the currently opened file is part of a defined project in
|
|||
|
`muse-project-alist', it (and the rest of the changed files in a
|
|||
|
project) may be published using `C-c C-p'.
|
|||
|
|
|||
|
|
|||
|
File: muse.info, Node: File Extensions, Prev: Publishing Files Overview, Up: Getting Started
|
|||
|
|
|||
|
5.4 Using a Different File Extension
|
|||
|
====================================
|
|||
|
|
|||
|
By default, Muse expects all project files to have the file extension
|
|||
|
`.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 `.muse', you can customize the extension by
|
|||
|
setting the value of `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.
|
|||
|
|
|||
|
(setq muse-file-extension nil
|
|||
|
muse-mode-auto-p t)
|
|||
|
|
|||
|
Note that if you chose to have `muse-file-extension' set to `nil',
|
|||
|
you may have trouble if your `.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 `(plan)' from your `.emacs'.) If you
|
|||
|
wish to visit Muse files from your `.emacs', be sure to also add the
|
|||
|
following additional code before any such visits happen:
|
|||
|
|
|||
|
(add-hook 'find-file-hooks 'muse-mode-maybe)
|
|||
|
|
|||
|
|
|||
|
File: muse.info, Node: Projects, Next: Keystroke Summary, Prev: Getting Started, Up: Top
|
|||
|
|
|||
|
6 Creating and Managing Muse 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.
|
|||
|
|
|||
|
|
|||
|
File: muse.info, Node: Single Project, Next: Multiple Projects, Prev: Projects, Up: Projects
|
|||
|
|
|||
|
6.1 A Single-Project Example
|
|||
|
============================
|
|||
|
|
|||
|
Here is a sample project, which may be defined in your `.emacs' file.
|
|||
|
|
|||
|
(setq muse-project-alist
|
|||
|
'(("Website" ("~/Pages" :default "index")
|
|||
|
(:base "html" :path "~/public_html")
|
|||
|
(:base "pdf" :path "~/public_html/pdf"))))
|
|||
|
|
|||
|
The above defines a project named "website", whose files are located
|
|||
|
in the directory `~/Pages'. The default page to visit is `index'.
|
|||
|
When this project is published, each page will be output as HTML to the
|
|||
|
directory `~/public_html', and as PDF to the directory
|
|||
|
`~/public_html/pdf'. Within any project page, you may create a link to
|
|||
|
other pages using the syntax `[[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 `~/Pages' in the example.
|
|||
|
|
|||
|
|
|||
|
File: muse.info, Node: Multiple Projects, Next: Projects and Subdirectories, Prev: Single Project, Up: Projects
|
|||
|
|
|||
|
6.2 A Multiple-Project Example
|
|||
|
==============================
|
|||
|
|
|||
|
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
|
|||
|
`http://wjsullivan.net/PlannerMode.html' to get it).
|
|||
|
|
|||
|
(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"))))
|
|||
|
|
|||
|
The `:major-mode' attribute specifies which major to use when
|
|||
|
visiting files in this directory.
|
|||
|
|
|||
|
The `:visit-link' attribute specifies the function to call when
|
|||
|
visiting links.
|
|||
|
|
|||
|
The `:exclude' attribute has a regexp that matches files to never
|
|||
|
publish.
|
|||
|
|
|||
|
|
|||
|
File: muse.info, Node: Projects and Subdirectories, Next: Options for Projects, Prev: Multiple Projects, Up: Projects
|
|||
|
|
|||
|
6.3 Publishing Subdirectories in Projects
|
|||
|
=========================================
|
|||
|
|
|||
|
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.
|
|||
|
|
|||
|
(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"))))
|
|||
|
|
|||
|
The `muse-project-alist-dirs' function takes a directory and returns
|
|||
|
it and all of its subdirectories in a list.
|
|||
|
|
|||
|
The `muse-project-alist-styles' function is explained by the
|
|||
|
comments above.
|
|||
|
|
|||
|
The "blosxom" text is the name of another publishing style, much like
|
|||
|
"html". *Note Blosxom::, for further information about it. You can
|
|||
|
use any publishing style you like for the third argument to
|
|||
|
`muse-project-alist-styles'.
|
|||
|
|
|||
|
|
|||
|
File: muse.info, Node: Options for Projects, Prev: Projects and Subdirectories, Up: Projects
|
|||
|
|
|||
|
6.4 Listing of Available Options for Projects
|
|||
|
=============================================
|
|||
|
|
|||
|
This is a listing of all of the various options (or, more accurately:
|
|||
|
attributes) that may be specified in `muse-project-alist'.
|
|||
|
|
|||
|
Each muse-project-alist entry looks like this:
|
|||
|
|
|||
|
(PROJECT-NAME (SOURCES)
|
|||
|
OUTPUTS)
|
|||
|
|
|||
|
We refer to these names below.
|
|||
|
|
|||
|
"Attributes", which compose SOURCES and OUTPUTS, are a pair of
|
|||
|
values. The first value is a keyword, like `: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.
|
|||
|
|
|||
|
Project Name
|
|||
|
------------
|
|||
|
|
|||
|
This is a string that indicates the name of the project. It is
|
|||
|
primarily used for publishing interwiki links with the `muse-wiki.el'
|
|||
|
module.
|
|||
|
|
|||
|
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.
|
|||
|
|
|||
|
`:book-chapter'
|
|||
|
Indicates a new chapter of a book. The text of the title of the
|
|||
|
chapter comes immediately after this keyword.
|
|||
|
|
|||
|
`: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.
|
|||
|
|
|||
|
`:book-funcall'
|
|||
|
A function to call while publishing a book. This is useful for
|
|||
|
doing something just after a particular chapter.
|
|||
|
|
|||
|
`:book-part'
|
|||
|
Indicates the beginning of a new part of the book. The text of the
|
|||
|
title should come immediately after this keyword.
|
|||
|
|
|||
|
`: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 `:part'
|
|||
|
attribute.
|
|||
|
|
|||
|
`:default'
|
|||
|
The default page to visit when browsing a project. Also, if you
|
|||
|
are using the `muse-wiki.el' module, publishing a link to just a
|
|||
|
project's name will cause it to link to this default file.
|
|||
|
|
|||
|
`:force-publish'
|
|||
|
This specifies a list of pages which should be published every
|
|||
|
time a project is published (by using `C-c C-p', for example),
|
|||
|
regardless of whether their contents have changed. This is useful
|
|||
|
for updating Index pages, pages that use the <include> tag, and
|
|||
|
other pages that have dynamically-generated content.
|
|||
|
|
|||
|
`:major-mode'
|
|||
|
This specifies the major mode to use when visiting files in this
|
|||
|
project. The default is `muse-mode'.
|
|||
|
|
|||
|
`: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
|
|||
|
`:book-chapter' attribute,
|
|||
|
|
|||
|
`:publish-project'
|
|||
|
Indicates which function we should call when publishing a project.
|
|||
|
|
|||
|
`: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:
|
|||
|
|
|||
|
(VAR1 VALUE1 VAR2 VALUE2 ...)
|
|||
|
|
|||
|
`:visit-link'
|
|||
|
Specifies the function to call when visiting a link. The default
|
|||
|
is `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.
|
|||
|
|
|||
|
|
|||
|
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 `:base' attribute and a
|
|||
|
`:path' attribute.
|
|||
|
|
|||
|
`:base'
|
|||
|
Publishing style to use, such as "html", "docbook", or "pdf".
|
|||
|
|
|||
|
`:base-url'
|
|||
|
An external URL which can be used to access published files. This
|
|||
|
is mainly used by the `muse-wiki' module when publishing links
|
|||
|
between two separate projects, if the projects are served on
|
|||
|
different domains.
|
|||
|
|
|||
|
It is also used by the `muse-journal' module to create the RSS or
|
|||
|
RDF output.
|
|||
|
|
|||
|
`:exclude'
|
|||
|
Exclude items matching a regexp from being published. The regexp
|
|||
|
should usually begin with "/".
|
|||
|
|
|||
|
`:include'
|
|||
|
Only include items matching a regexp when publishing. The regexp
|
|||
|
should usually begin with "/".
|
|||
|
|
|||
|
`:path'
|
|||
|
The directory in which to store published files.
|
|||
|
|
|||
|
`:timestamps'
|
|||
|
A file containing the timestamps (that is, time of creation) for
|
|||
|
files in this project. It might eventually used by the
|
|||
|
`muse-blosxom' module, but this option is not currently in use by
|
|||
|
any Muse code.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
File: muse.info, Node: Keystroke Summary, Next: Markup Rules, Prev: Projects, Up: Top
|
|||
|
|
|||
|
7 Keys Used in Muse Mode
|
|||
|
************************
|
|||
|
|
|||
|
This is a summary of keystrokes available in every Muse buffer.
|
|||
|
|
|||
|
`C-c C-a (`muse-index')'
|
|||
|
Display an index of all known Muse pages.
|
|||
|
|
|||
|
`C-c C-b (`muse-find-backlinks')'
|
|||
|
Find all pages that link to this page.
|
|||
|
|
|||
|
`C-c C-e (`muse-edit-link-at-point')'
|
|||
|
Edit link at point.
|
|||
|
|
|||
|
`C-c C-f (`muse-project-find-file')'
|
|||
|
Open another Muse page. Prompt for the name.
|
|||
|
|
|||
|
`C-c C-i l, C-c TAB l (`muse-insert-relative-link-to-file')'
|
|||
|
Insert a link to a file interactively.
|
|||
|
|
|||
|
`C-c C-i t, C-c TAB t (`muse-insert-tag')'
|
|||
|
Insert a tag interactively.
|
|||
|
|
|||
|
`C-c C-i u, C-c TAB u (`muse-insert-url')'
|
|||
|
Insert a URL interactively.
|
|||
|
|
|||
|
`C-c C-l (`font-lock-mode')'
|
|||
|
Toggle font lock / highlighting for the current buffer.
|
|||
|
|
|||
|
`C-c C-p (`muse-project-publish')'
|
|||
|
Publish any Muse pages that have changed.
|
|||
|
|
|||
|
`C-c C-s (`muse-search')'
|
|||
|
Find text in all files of the current project.
|
|||
|
|
|||
|
`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.
|
|||
|
|
|||
|
`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.
|
|||
|
|
|||
|
`C-c C-v (`muse-browse-result')'
|
|||
|
Show the published result of this page.
|
|||
|
|
|||
|
`C-c = (`muse-what-changed')'
|
|||
|
Diff this page against the last backup version.
|
|||
|
|
|||
|
`TAB'
|
|||
|
Move to the next Wiki reference.
|
|||
|
|
|||
|
`S-TAB'
|
|||
|
Move to the previous Wiki reference.
|
|||
|
|
|||
|
`M-TAB'
|
|||
|
Complete the name of a page from the current project at point.
|
|||
|
|
|||
|
`M-RET'
|
|||
|
Insert a new list item at point, indenting properly.
|
|||
|
|
|||
|
`C-<'
|
|||
|
Decrease the indentation of the list item at point.
|
|||
|
|
|||
|
`C->'
|
|||
|
Increase the indentation of the list item at point.
|
|||
|
|
|||
|
`M-x muse-colors-toggle-inline-images RET'
|
|||
|
Toggle display of inlined images on/off.
|
|||
|
|
|||
|
`M-x muse-update-values RET'
|
|||
|
Update various values that are automatically generated.
|
|||
|
|
|||
|
Call this after changing `muse-project-alist'.
|
|||
|
|
|||
|
|
|||
|
File: muse.info, Node: Markup Rules, Next: Publishing Styles, Prev: Keystroke Summary, Up: Top
|
|||
|
|
|||
|
8 Rules for Using 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.
|
|||
|
|
|||
|
|
|||
|
File: muse.info, Node: Paragraphs, Next: Headings, Prev: Markup Rules, Up: Markup Rules
|
|||
|
|
|||
|
8.1 Paragraphs: centering and quoting
|
|||
|
=====================================
|
|||
|
|
|||
|
Paragraphs in Muse must be separated by a blank line.
|
|||
|
|
|||
|
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 <center> tag to surround regions that are to be published as
|
|||
|
centered paragraphs.
|
|||
|
|
|||
|
But if a line begins with whitespace, though less than six columns,
|
|||
|
it indicates a quoted paragraph. Alternatively, you can use the
|
|||
|
<quote> tag to surround regions that are to be published as quoted
|
|||
|
paragraphs.
|
|||
|
|
|||
|
Literal paragraphs
|
|||
|
------------------
|
|||
|
|
|||
|
The <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.
|
|||
|
|
|||
|
There is also the <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 `style' attribute for the
|
|||
|
<literal> tag. An example follows.
|
|||
|
|
|||
|
<literal style="latex">
|
|||
|
A LaTeX-based style was used in the publishing of this document.
|
|||
|
</literal>
|
|||
|
|
|||
|
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 `exact="t"' to
|
|||
|
the tag.
|
|||
|
|
|||
|
Line breaks
|
|||
|
-----------
|
|||
|
|
|||
|
If you need a line break, then use the `<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 (*note Verse::).
|
|||
|
|
|||
|
|
|||
|
File: muse.info, Node: Headings, Next: Directives, Prev: Paragraphs, Up: Markup Rules
|
|||
|
|
|||
|
8.2 Levels of 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.
|
|||
|
|
|||
|
* First level
|
|||
|
|
|||
|
** Second level
|
|||
|
|
|||
|
*** Third level
|
|||
|
|
|||
|
**** Fourth level
|
|||
|
|
|||
|
|
|||
|
File: muse.info, Node: Directives, Next: Emphasizing Text, Prev: Headings, Up: Markup Rules
|
|||
|
|
|||
|
8.3 Directives at the beginning of a document
|
|||
|
=============================================
|
|||
|
|
|||
|
Directives are lines beginning with the `#' 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 `muse-publishing-directive' function may be used in header and
|
|||
|
footer text to access directives. For example, to access the `#title'
|
|||
|
directive, use `(muse-publishing-directive "title")'.
|
|||
|
|
|||
|
The following is a list of directives that Muse uses.
|
|||
|
|
|||
|
`#author'
|
|||
|
The author of this document.
|
|||
|
|
|||
|
If this is not specified, Muse will attempt to figure it out from
|
|||
|
the `user-full-name' variable.
|
|||
|
|
|||
|
`#date'
|
|||
|
The date that the document was last modified.
|
|||
|
|
|||
|
This is used by publishing styles that are able to embed the date
|
|||
|
information.
|
|||
|
|
|||
|
`#desc'
|
|||
|
A short description of this document.
|
|||
|
|
|||
|
This is used by the `journal' publishing style to embed information
|
|||
|
inside of an RSS/RDF feed.
|
|||
|
|
|||
|
`#title'
|
|||
|
The title of this document.
|
|||
|
|
|||
|
If this is not specified, the name of the file is used.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
File: muse.info, Node: Emphasizing Text, Next: Footnotes, Prev: Directives, Up: Markup Rules
|
|||
|
|
|||
|
8.4 Bold, italicized, and underlined text
|
|||
|
=========================================
|
|||
|
|
|||
|
To emphasize text, surround it with certain specially recognized
|
|||
|
characters.
|
|||
|
|
|||
|
*emphasis*
|
|||
|
**strong emphasis**
|
|||
|
***very strong emphasis***
|
|||
|
_underlined_
|
|||
|
=verbatim and monospace=
|
|||
|
|
|||
|
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 `muse-verbatim-face'.
|
|||
|
|
|||
|
You can also use the <code> tag to indicate verbatim and monospace
|
|||
|
text. This is handy for regions that have an "=" in them.
|
|||
|
|
|||
|
|
|||
|
File: muse.info, Node: Footnotes, Next: Verse, Prev: Emphasizing Text, Up: Markup Rules
|
|||
|
|
|||
|
8.5 Making notes to be shown at the end
|
|||
|
=======================================
|
|||
|
|
|||
|
A footnote reference is simply a number in square brackets. To define
|
|||
|
the footnote, place this definition at the bottom of your file.
|
|||
|
`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 `C-c ! a' command, to very
|
|||
|
easily insert footnotes while typing. Use `C-x C-x' to return to the
|
|||
|
point of insertion.
|
|||
|
|
|||
|
|
|||
|
File: muse.info, Node: Verse, Next: Lists, Prev: Footnotes, Up: Markup Rules
|
|||
|
|
|||
|
8.6 Indicating poetic stanzas
|
|||
|
=============================
|
|||
|
|
|||
|
Poetry requires that whitespace be preserved, but without resorting to
|
|||
|
monospace. To indicate this, use the following markup, reminiscent of
|
|||
|
email quotations.
|
|||
|
|
|||
|
> A line of Emacs verse;
|
|||
|
> forgive its being so terse.
|
|||
|
|
|||
|
You can also use the <verse> tag, if you prefer.
|
|||
|
|
|||
|
<verse>
|
|||
|
A line of Emacs verse;
|
|||
|
forgive its being so terse.
|
|||
|
</verse>
|
|||
|
|
|||
|
Multiple stanzas may be included in one set of <verse> tags, as
|
|||
|
follows.
|
|||
|
|
|||
|
<verse>
|
|||
|
A line of Emacs verse;
|
|||
|
forgive its being so terse.
|
|||
|
|
|||
|
In terms of terse verse,
|
|||
|
you could do worse.
|
|||
|
</verse>
|
|||
|
|
|||
|
|
|||
|
File: muse.info, Node: Lists, Next: Tables, Prev: Verse, Up: Markup Rules
|
|||
|
|
|||
|
8.7 Lists of items
|
|||
|
==================
|
|||
|
|
|||
|
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.
|
|||
|
|
|||
|
These are rendered as a bullet list.
|
|||
|
|
|||
|
Normal text.
|
|||
|
|
|||
|
- bullet item one
|
|||
|
- bullet item two
|
|||
|
|
|||
|
An enumerated list follows.
|
|||
|
|
|||
|
Normal text.
|
|||
|
|
|||
|
1. Enum item one
|
|||
|
2. Enum item two
|
|||
|
|
|||
|
Here is a definition list.
|
|||
|
|
|||
|
Term1 ::
|
|||
|
This is a first definition
|
|||
|
And it has two lines;
|
|||
|
no, make that three.
|
|||
|
|
|||
|
Term2 :: This is a second definition
|
|||
|
|
|||
|
Nested lists
|
|||
|
------------
|
|||
|
|
|||
|
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.
|
|||
|
|
|||
|
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
|
|||
|
|
|||
|
Breaking list items
|
|||
|
-------------------
|
|||
|
|
|||
|
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.
|
|||
|
|
|||
|
- 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
|
|||
|
|
|||
|
|
|||
|
File: muse.info, Node: Tables, Next: Explicit Links, Prev: Lists, Up: Markup Rules
|
|||
|
|
|||
|
8.8 Generation of data tables
|
|||
|
=============================
|
|||
|
|
|||
|
Only very simple tables are supported. The syntax is as follows.
|
|||
|
|
|||
|
Double bars || Separate header fields
|
|||
|
|
|||
|
Single bars | Separate body fields
|
|||
|
Here are more | body fields
|
|||
|
|
|||
|
Triple bars ||| Separate footer fields
|
|||
|
|
|||
|
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 `#disable-tables t' to the top of the file.
|
|||
|
|
|||
|
Other table formats
|
|||
|
-------------------
|
|||
|
|
|||
|
It is possible to publish very basic Orgtbl-mode style tables.
|
|||
|
|
|||
|
| org | style | table |
|
|||
|
|------+-------+-------|
|
|||
|
| one | | one |
|
|||
|
| two | two | |
|
|||
|
| | three | three |
|
|||
|
|------+-------+-------|
|
|||
|
| more | stuff | |
|
|||
|
|
|||
|
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.
|
|||
|
|
|||
|
border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides"
|
|||
|
|
|||
|
`table.el' style tables are also supported, as long as `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 `table.el'. Styles derived from these styles will
|
|||
|
also work.
|
|||
|
|
|||
|
+---+-----+---+
|
|||
|
| | one | 1 |
|
|||
|
+---+-----+---+
|
|||
|
| b | two | |
|
|||
|
+---+-----+---+
|
|||
|
| c | | 3 |
|
|||
|
+---+-----+---+
|
|||
|
|
|||
|
|
|||
|
File: muse.info, Node: Explicit Links, Next: Implicit Links, Prev: Tables, Up: Markup Rules
|
|||
|
|
|||
|
8.9 Hyperlinks and email addresses with descriptions
|
|||
|
====================================================
|
|||
|
|
|||
|
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.
|
|||
|
|
|||
|
[[link target][link description]]
|
|||
|
[[link target without description]]
|
|||
|
|
|||
|
Thus, the current maintainer's homepage for Muse can be found
|
|||
|
`[[http://mwolson.org/projects/EmacsMuse.html][here]]', or at
|
|||
|
`[[http://mwolson.org/projects/EmacsMuse.html]]'.
|
|||
|
|
|||
|
|
|||
|
File: muse.info, Node: Implicit Links, Next: Images, Prev: Explicit Links, Up: Markup Rules
|
|||
|
|
|||
|
8.10 Bare URLs, WikiNames, and InterWiki links
|
|||
|
==============================================
|
|||
|
|
|||
|
A URL or email address encountered in the input text is published as a
|
|||
|
hyperlink. These kind of links are called "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 *note Hyperlinks and email addresses with
|
|||
|
descriptions: Explicit Links.
|
|||
|
|
|||
|
If the `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 `muse-wiki-wikiword-regexp' option and subsequently running
|
|||
|
`(muse-configure-highlighting 'muse-colors-markupmuse-colors-markup)'.
|
|||
|
If you use the Customize interface, the latter will be done
|
|||
|
automatically.
|
|||
|
|
|||
|
The `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 `muse-project-alist' will
|
|||
|
be used as InterWiki names by default. Several examples follow.
|
|||
|
|
|||
|
Blog::DocumentingMuse
|
|||
|
Projects#EmacsMuse
|
|||
|
Website
|
|||
|
|
|||
|
In the first case, the interwiki delimiter is `::', `Blog' is the
|
|||
|
project name, and `DocumentingMuse' is the page name. In the second
|
|||
|
example, `#' 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
|
|||
|
`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.
|
|||
|
|
|||
|
Blog::DocumentingMuse#anchor1
|
|||
|
Projects#EmacsMuse#anchor2
|
|||
|
|
|||
|
|
|||
|
File: muse.info, Node: Images, Next: Horizontal Rules and Anchors, Prev: Implicit Links, Up: Markup Rules
|
|||
|
|
|||
|
8.11 Publishing and displaying images
|
|||
|
=====================================
|
|||
|
|
|||
|
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 `http://mwolson.org/'.
|
|||
|
|
|||
|
[[http://mwolson.org/][/static/logos/site-logo.png]]
|
|||
|
|
|||
|
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.
|
|||
|
|
|||
|
[[URL:http://mwolson.org/static/logos/site-logo.png]]
|
|||
|
|
|||
|
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 `C-c C-i', or disabled permanently
|
|||
|
by setting the `muse-colors-inline-images' option to `nil'.
|
|||
|
|
|||
|
The method for finding images may be altered by customizing the
|
|||
|
`muse-colors-inline-image-method' option. One useful value for this
|
|||
|
option is `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
|
|||
|
`../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
|
|||
|
`muse-project-alist', but this has not been implemented yet.
|
|||
|
|
|||
|
Publishing simple images
|
|||
|
------------------------
|
|||
|
|
|||
|
The following example will display correctly and publish correctly if a
|
|||
|
PNG file called `TestLogo.png' exists in the `../pics/' directory. If
|
|||
|
text is on the same line as the picture, it will remain so in the
|
|||
|
output.
|
|||
|
|
|||
|
[[../myimage.png]]
|
|||
|
|
|||
|
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.
|
|||
|
|
|||
|
[[../pics/mycat.png][My cat Dexter]]
|
|||
|
|
|||
|
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.
|
|||
|
|
|||
|
|
|||
|
File: muse.info, Node: Horizontal Rules and Anchors, Next: Embedded Lisp, Prev: Images, Up: Markup Rules
|
|||
|
|
|||
|
8.12 Inserting a horizontal line or anchor
|
|||
|
==========================================
|
|||
|
|
|||
|
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!
|
|||
|
|
|||
|
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.
|
|||
|
|
|||
|
|
|||
|
File: muse.info, Node: Embedded Lisp, Next: Citations, Prev: Horizontal Rules and Anchors, Up: Markup Rules
|
|||
|
|
|||
|
8.13 Evaluating Emacs Lisp code in documents for extensibility
|
|||
|
==============================================================
|
|||
|
|
|||
|
Arbitrary kinds of markup can be achieved using the <lisp> tag. With
|
|||
|
the <lisp> tag, you may generate whatever output text you wish. The
|
|||
|
inserted output will get marked up if the <lisp> tag appears within the
|
|||
|
main text of the document.
|
|||
|
|
|||
|
<lisp>(concat "This form gets " "inserted")</lisp>
|
|||
|
|
|||
|
Note that you should not use the `insert' command within a set of
|
|||
|
<lisp> tags, since the return value from the <lisp> tags will be
|
|||
|
automatically inserted into the document.
|
|||
|
|
|||
|
It is also possible to treat the output as if it were surrounded by
|
|||
|
the <example>, <src>, or <verse> tags, by specifying "example", "src",
|
|||
|
or "verse" as the `markup' attribute of the <lisp> tag.
|
|||
|
|
|||
|
<lisp markup="example">
|
|||
|
(concat "Insert" " me")
|
|||
|
</lisp>
|
|||
|
|
|||
|
Other languages also have tags that cause source code to be
|
|||
|
evaluated. *Note Tag Summary::, for details.
|
|||
|
|
|||
|
|
|||
|
File: muse.info, Node: Citations, Next: Comments, Prev: Embedded Lisp, Up: Markup Rules
|
|||
|
|
|||
|
8.14 Support for citing other resources
|
|||
|
=======================================
|
|||
|
|
|||
|
Example
|
|||
|
-------
|
|||
|
|
|||
|
Here is an example of what citations look like in a Muse document.
|
|||
|
|
|||
|
#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>.
|
|||
|
|
|||
|
Overview
|
|||
|
--------
|
|||
|
|
|||
|
The `#bibsource' directive defines the source of the bibliographies.
|
|||
|
The following sources are possible.
|
|||
|
|
|||
|
* DocBook + RefDB: the string "REFDB"
|
|||
|
|
|||
|
* LaTeX + bibtex: the name of an appropriate bibtex file
|
|||
|
|
|||
|
* LaTeX + RefDB: if the input file is called "foo.muse", then set
|
|||
|
this to "foo.bib"
|
|||
|
|
|||
|
Citations are encoded as <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 `latex' and `docbook' styles translate these to the
|
|||
|
proper separator automatically.
|
|||
|
|
|||
|
The <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:
|
|||
|
|
|||
|
Miller et al. had already shown in a previous publication (1999) that
|
|||
|
this is not going to work.
|
|||
|
|
|||
|
Remember that refdb-mode (the Emacs interface to RefDB) can retrieve
|
|||
|
references by simply marking the citation key and running the
|
|||
|
`refdb-getref-by-field-on-region' command. Later versions of
|
|||
|
`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
|
|||
|
`muse-docbook-bibliography' and `muse-latex-bibliography' are called in
|
|||
|
the header or footer to generate this content, so it is possible to
|
|||
|
change the exact position.
|
|||
|
|
|||
|
|
|||
|
File: muse.info, Node: Comments, Next: Tag Summary, Prev: Citations, Up: Markup Rules
|
|||
|
|
|||
|
8.15 Lines to omit from published output
|
|||
|
========================================
|
|||
|
|
|||
|
Use the following syntax to indicate a comment. Comments will not be
|
|||
|
published.
|
|||
|
|
|||
|
; Comment text goes here.
|
|||
|
|
|||
|
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 <comment> tag.
|
|||
|
|
|||
|
If you wish the comment to be published, but just commented out using
|
|||
|
the comment syntax of the output format, then set
|
|||
|
`muse-publish-comments-p' to non-nil.
|
|||
|
|
|||
|
|
|||
|
File: muse.info, Node: Tag Summary, Prev: Comments, Up: Markup Rules
|
|||
|
|
|||
|
8.16 Tags that Muse recognizes
|
|||
|
==============================
|
|||
|
|
|||
|
Muse has several built-in tags that may prove useful during publishing.
|
|||
|
*Note 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 `muse-publish-markup-header-footer-tags' option lists the
|
|||
|
tags that are allowed in headers and footers.
|
|||
|
|
|||
|
Syntax
|
|||
|
------
|
|||
|
|
|||
|
If a tag takes arguments, it will look like this, where "tagname" is
|
|||
|
the name of the tag.
|
|||
|
|
|||
|
<tagname arg1="string1" arg2="string2">
|
|||
|
|
|||
|
If you want the tag to look like it came straight from an XHTML
|
|||
|
document, you can alternatively do the following.
|
|||
|
|
|||
|
<tagname arg1="string1" arg2="string2" />
|
|||
|
|
|||
|
If a tag surrounds some text, it will look like this.
|
|||
|
|
|||
|
<tagname>Some text</tagname>
|
|||
|
|
|||
|
If a tag surrounds a large region, it will look like this.
|
|||
|
|
|||
|
<tagname>
|
|||
|
Some text.
|
|||
|
Some more text.
|
|||
|
</tagname>
|
|||
|
|
|||
|
Tag listing
|
|||
|
-----------
|
|||
|
|
|||
|
This is the complete list of tags that Muse accepts, including those
|
|||
|
that were mentioned in previous sections.
|
|||
|
|
|||
|
`<br>'
|
|||
|
Insert a line break.
|
|||
|
|
|||
|
Muse will automatically detect paragraphs when publishing by means
|
|||
|
of blank lines, so this tag is usually unnecessary.
|
|||
|
|
|||
|
`<cite>'
|
|||
|
Insert a citation to another source.
|
|||
|
|
|||
|
This takes the argument `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
|
|||
|
`#bibsource' directive.
|
|||
|
|
|||
|
*Note Citations::, for additional information.
|
|||
|
|
|||
|
`<class>'
|
|||
|
If publishing to HTML, surround the given text with a <span> tag.
|
|||
|
It takes one argument called "name" that specifies the "class"
|
|||
|
attribute of the <span> tag.
|
|||
|
|
|||
|
If publishing to a different format, do nothing extra to the text.
|
|||
|
|
|||
|
`<code>'
|
|||
|
Treat the text surrounded by the tag as if they were enclosed in
|
|||
|
equal signs, that is, make it monospace.
|
|||
|
|
|||
|
`<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
|
|||
|
<example> tag.
|
|||
|
|
|||
|
If "src", treat the included text as if it was surrounded by the
|
|||
|
<src> tag. You should also specify the "lang" attribute if doing
|
|||
|
this.
|
|||
|
|
|||
|
If "verse", treat the region as if it was surrounded by the
|
|||
|
<verse> tag, to preserve newlines.
|
|||
|
|
|||
|
Otherwise, it should be the name of a function to call, with the
|
|||
|
buffer narrowed to the region.
|
|||
|
|
|||
|
`<comment>'
|
|||
|
Treat the entire region as a comment. If the option
|
|||
|
MUSE-PUBLISH-COMMENTS-P is nil, delete the region, otherwise
|
|||
|
publish it using the comment syntax of the current publishing
|
|||
|
style.
|
|||
|
|
|||
|
`<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 MUSE-PUBLISH-CONTENTS-DEPTH option. To change this only for
|
|||
|
the current tag, use the "depth" argument.
|
|||
|
|
|||
|
`<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
|
|||
|
<div> tag. Likewise for the "id" argument.
|
|||
|
|
|||
|
`<example>'
|
|||
|
Publish the region in monospace, preserving the newlines in the
|
|||
|
region. This is useful for snippets of code.
|
|||
|
|
|||
|
`<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.
|
|||
|
|
|||
|
<include file="included_file">
|
|||
|
|
|||
|
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 <example> tag.
|
|||
|
|
|||
|
If "src", treat the included text as if it was surrounded by the
|
|||
|
<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
|
|||
|
<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.
|
|||
|
|
|||
|
`<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 `insert'. All text properties are
|
|||
|
removed from the resulting text.
|
|||
|
|
|||
|
This tag takes the "markup" argument. See the description of
|
|||
|
<command> for details.
|
|||
|
|
|||
|
`<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.
|
|||
|
|
|||
|
`<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.
|
|||
|
|
|||
|
<markup><lisp>(muse-index-as-string t t)</lisp></markup>
|
|||
|
|
|||
|
`<perl>'
|
|||
|
Run the `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
|
|||
|
<command> for details.
|
|||
|
|
|||
|
`<python>'
|
|||
|
Run the `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
|
|||
|
<command> for details.
|
|||
|
|
|||
|
`<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.
|
|||
|
|
|||
|
`<ruby>'
|
|||
|
Run the `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
|
|||
|
<command> for details.
|
|||
|
|
|||
|
`<src>'
|
|||
|
Publish the region using htmlize. The language to use may be
|
|||
|
specified by the "lang" attribute.
|
|||
|
|
|||
|
Muse will look for a function named LANG-mode, where 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 <example> tag.
|
|||
|
|
|||
|
`<verbatim>'
|
|||
|
This is used when you want to prevent Muse from trying to
|
|||
|
interpret some markup. Surround the markup in <verbatim> and
|
|||
|
</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.
|
|||
|
|
|||
|
`<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.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
File: muse.info, Node: Publishing Styles, Next: Extending Muse, Prev: Markup Rules, Up: Top
|
|||
|
|
|||
|
9 Publishing Various Types of Documents
|
|||
|
***************************************
|
|||
|
|
|||
|
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.
|
|||
|
|
|||
|
|
|||
|
File: muse.info, Node: Blosxom, Next: Book, Prev: Publishing Styles, Up: Publishing Styles
|
|||
|
|
|||
|
9.1 Integrating Muse and pyblosxom.cgi
|
|||
|
======================================
|
|||
|
|
|||
|
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.
|
|||
|
|
|||
|
|
|||
|
File: muse.info, Node: Blosxom Requirements, Next: Blosxom Entries, Prev: Blosxom, Up: Blosxom
|
|||
|
|
|||
|
9.1.1 Other tools needed for the Blosxom style
|
|||
|
----------------------------------------------
|
|||
|
|
|||
|
You will need to have `pyblosxom.cgi' or `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.
|
|||
|
|
|||
|
PyBlosxom
|
|||
|
---------
|
|||
|
|
|||
|
There are two different ways of accomplishing this in pyblosxom. The
|
|||
|
first way involves gathering the timestamps (as specified by the
|
|||
|
`#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
|
|||
|
`#postdate' directive. Muse will translate the `#date' directive into
|
|||
|
`#postdate' at publish time, so you don't have to do any extra work.
|
|||
|
|
|||
|
Placing timestamps in one file
|
|||
|
..............................
|
|||
|
|
|||
|
The following additional components are required in order to make the
|
|||
|
date of blog entries display as something sensible.
|
|||
|
|
|||
|
1. 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.
|
|||
|
|
|||
|
2. A plugin for (py)blosxom that reads this file.
|
|||
|
|
|||
|
These 2 things are provided for `pyblosxom.cgi' in the
|
|||
|
`contrib/pyblosxom' subdirectory. `getstamps.py' provides the former
|
|||
|
service, while `hardcodedates.py' provides the latter service.
|
|||
|
|
|||
|
Here is a sample listing from my `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.
|
|||
|
|
|||
|
2005-04-01-14-16 personal/paper_cranes
|
|||
|
2005-03-21 personal/spring_break_over
|
|||
|
2004-10-24 personal/finished_free_culture
|
|||
|
|
|||
|
The script `contrib/pyblosxom/make-blog' demonstrates how to call
|
|||
|
`getstamps.py'. Note that you will need to set the current directory
|
|||
|
to where your Muse files are, execute `getstamps.py', and then move the
|
|||
|
generated timestamps file to your publishing directory.
|
|||
|
|
|||
|
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 `muse-blosxom-use-metadate' to non-nil to
|
|||
|
enable adding a `#postdate' directive to all published files. You can
|
|||
|
do this by:
|
|||
|
|
|||
|
M-x customize-variable RET muse-blosxom-use-metadate RET
|
|||
|
|
|||
|
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 `contrib/pyblosxom/metadate.py'.
|
|||
|
|
|||
|
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.
|
|||
|
|
|||
|
1. Download and install blosxom from
|
|||
|
`http://blosxom.sourceforge.net/'.
|
|||
|
|
|||
|
2. Install the metadate plugin. It is available in
|
|||
|
`contrib/blosxom/metadate_0_0_3'.
|
|||
|
|
|||
|
3. Every time you make a new blog entry, change to the blosxom data
|
|||
|
directory and execute the `contrib/blosxom/getstamps.pl' script.
|
|||
|
This script has only recently been made, and may still have some
|
|||
|
bugs, so use with caution.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
File: muse.info, Node: Blosxom Entries, Next: Blosxom Options, Prev: Blosxom Requirements, Up: Blosxom
|
|||
|
|
|||
|
9.1.2 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 `#title'
|
|||
|
directive), plus whatever normal content is desired.
|
|||
|
|
|||
|
The date directive is not used directly by `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 `muse-blosxom-new-entry' that will
|
|||
|
automate the process of making a new blog entry. To make use of it, do
|
|||
|
the following.
|
|||
|
|
|||
|
* Customize `muse-blosxom-base-directory' to the location that your
|
|||
|
blog entries are stored.
|
|||
|
|
|||
|
* Assign the `muse-blosxom-new-entry' function to a key sequence. I
|
|||
|
use the following code to assign this function to `C-c p l''.
|
|||
|
|
|||
|
(global-set-key "\C-cpl" 'muse-blosxom-new-entry)
|
|||
|
|
|||
|
* You should create your directory structure ahead of time under
|
|||
|
your base directory. These directories, which correspond with
|
|||
|
category names, may be nested.
|
|||
|
|
|||
|
* 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.
|
|||
|
|
|||
|
|
|||
|
File: muse.info, Node: Blosxom Options, Prev: Blosxom Entries, Up: Blosxom
|
|||
|
|
|||
|
9.1.3 Blosxom styles and options provided
|
|||
|
-----------------------------------------
|
|||
|
|
|||
|
The following styles and options are available in the Blosxom publishing
|
|||
|
style.
|
|||
|
|
|||
|
Styles provided
|
|||
|
---------------
|
|||
|
|
|||
|
`blosxom-html'
|
|||
|
Publish Blosxom entries in HTML form.
|
|||
|
|
|||
|
`blosxom-xhtml'
|
|||
|
Publish Blosxom entries in XHTML form.
|
|||
|
|
|||
|
|
|||
|
Options provided
|
|||
|
----------------
|
|||
|
|
|||
|
`muse-blosxom-extension'
|
|||
|
Default file extension for publishing Blosxom files.
|
|||
|
|
|||
|
`muse-blosxom-header'
|
|||
|
Header used for publishing Blosxom files.
|
|||
|
|
|||
|
This may be text or a filename.
|
|||
|
|
|||
|
`muse-blosxom-footer'
|
|||
|
Footer used for publishing Blosxom files.
|
|||
|
|
|||
|
This may be text or a filename.
|
|||
|
|
|||
|
`muse-blosxom-base-directory'
|
|||
|
Base directory of blog entries, used by `muse-blosxom-new-entry'.
|
|||
|
|
|||
|
This is the top-level directory where your blog entries may be
|
|||
|
found locally.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
File: muse.info, Node: Book, Next: ConTeXt, Prev: Blosxom, Up: Publishing Styles
|
|||
|
|
|||
|
9.2 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 `: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 `muse-project-alist', and use the `book-pdf' style with a
|
|||
|
very specific `:include' value to specify some page whose contents will
|
|||
|
be checked for the values of `#title' and `#date', and whose name will
|
|||
|
be used in the output file. Then to publish the book, visit the
|
|||
|
aforementioned page and use `C-c C-t' or `C-c C-p' to trigger the
|
|||
|
publishing process. An example `muse-project-alist' for this method
|
|||
|
follows.
|
|||
|
|
|||
|
(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
|
|||
|
)))
|
|||
|
|
|||
|
In this example, there would be a file called
|
|||
|
`~/Notes/notes-anthology.muse', which would contain just the following.
|
|||
|
The resulting book would be published to
|
|||
|
`~/public_html/notes/notes-anthology.pdf'.
|
|||
|
|
|||
|
#title My Technology Ramblings
|
|||
|
|
|||
|
Another way is to call the `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 `examples/johnw/muse-init.el',
|
|||
|
in the `muse-publish-my-books' function.
|
|||
|
|
|||
|
Styles provided
|
|||
|
---------------
|
|||
|
|
|||
|
`book-latex'
|
|||
|
Publish a book in LaTeX form. The header and footer are different
|
|||
|
than the normal LaTeX publishing mode.
|
|||
|
|
|||
|
`book-pdf'
|
|||
|
Publish a book in PDF form. The header and footer are different
|
|||
|
than the normal PDF publishing mode.
|
|||
|
|
|||
|
|
|||
|
Options provided
|
|||
|
----------------
|
|||
|
|
|||
|
`muse-book-before-publish-hook'
|
|||
|
A hook run in the book buffer before it is marked up.
|
|||
|
|
|||
|
`muse-book-after-publish-hook'
|
|||
|
A hook run in the book buffer after it is marked up.
|
|||
|
|
|||
|
`muse-book-latex-header'
|
|||
|
Header used for publishing books to LaTeX.
|
|||
|
|
|||
|
This may be text or a filename.
|
|||
|
|
|||
|
`muse-book-latex-footer'
|
|||
|
Footer used for publishing books to LaTeX.
|
|||
|
|
|||
|
This may be text or a filename.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
File: muse.info, Node: ConTeXt, Next: DocBook, Prev: Book, Up: Publishing Styles
|
|||
|
|
|||
|
9.3 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.
|
|||
|
|
|||
|
Styles provided
|
|||
|
---------------
|
|||
|
|
|||
|
`context'
|
|||
|
Publish a ConTeXt document.
|
|||
|
|
|||
|
`context-pdf'
|
|||
|
Publish a PDF document, using an external ConTeXt document
|
|||
|
conversion tool.
|
|||
|
|
|||
|
`context-slides'
|
|||
|
Produce slides from a ConTeXt document.
|
|||
|
|
|||
|
Here is an example of a slide.
|
|||
|
|
|||
|
* First Slide
|
|||
|
|
|||
|
[[Some-sort-of-cute-image.png]]
|
|||
|
|
|||
|
** A subheading
|
|||
|
|
|||
|
- A bullet point.
|
|||
|
- Another bullet point.
|
|||
|
|
|||
|
* Second Slide
|
|||
|
|
|||
|
... and so on
|
|||
|
|
|||
|
`context-slides-pdf'
|
|||
|
Publish a PDF document of ConTeXt slides.
|
|||
|
|
|||
|
|
|||
|
Options provided
|
|||
|
----------------
|
|||
|
|
|||
|
`muse-context-extension'
|
|||
|
Default file extension for publishing ConTeXt files.
|
|||
|
|
|||
|
`muse-context-pdf-extension'
|
|||
|
Default file extension for publishing ConTeXt files to PDF.
|
|||
|
|
|||
|
`muse-context-pdf-program'
|
|||
|
The program that is called to generate PDF content from ConTeXt
|
|||
|
content.
|
|||
|
|
|||
|
`muse-context-pdf-cruft'
|
|||
|
Extensions of files to remove after generating PDF output
|
|||
|
successfully.
|
|||
|
|
|||
|
`muse-context-header'
|
|||
|
Header used for publishing ConTeXt files.
|
|||
|
|
|||
|
This may be text or a filename.
|
|||
|
|
|||
|
`muse-context-footer'
|
|||
|
Footer used for publishing ConTeXt files.
|
|||
|
|
|||
|
This may be text or a filename.
|
|||
|
|
|||
|
`muse-context-markup-regexps'
|
|||
|
List of markup regexps for identifying regions in a Muse page.
|
|||
|
|
|||
|
For more on the structure of this list, *Note
|
|||
|
muse-publish-markup-regexps::.
|
|||
|
|
|||
|
`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, *Note
|
|||
|
muse-publish-markup-functions::.
|
|||
|
|
|||
|
`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.
|
|||
|
|
|||
|
`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.
|
|||
|
|
|||
|
`muse-context-slides-markup-strings'
|
|||
|
Strings used for marking up text in ConTeXt slides.
|
|||
|
|
|||
|
`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.
|
|||
|
|
|||
|
`muse-context-markup-specials-example'
|
|||
|
A table of characters which must be represented specially. These
|
|||
|
are applied to example> regions.
|
|||
|
|
|||
|
With the default interpretation of <example> regions, no specials
|
|||
|
need to be escaped.
|
|||
|
|
|||
|
`muse-context-markup-specials-literal'
|
|||
|
A table of characters which must be represented specially. This
|
|||
|
applies to =monospaced text= and <code> regions.
|
|||
|
|
|||
|
`muse-context-markup-specials-url'
|
|||
|
A table of characters which must be represented specially. These
|
|||
|
are applied to URLs.
|
|||
|
|
|||
|
`muse-context-markup-specials-image'
|
|||
|
A table of characters which must be represented specially. These
|
|||
|
are applied to image filenames.
|
|||
|
|
|||
|
`muse-context-permit-contents-tag'
|
|||
|
If nil, ignore <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 <contents> tag.
|
|||
|
|
|||
|
If you don't agree with this, then set this option to non-nil, and
|
|||
|
it will do what you expect.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
File: muse.info, Node: DocBook, Next: HTML, Prev: ConTeXt, Up: Publishing Styles
|
|||
|
|
|||
|
9.4 Publishing in DocBook XML form
|
|||
|
==================================
|
|||
|
|
|||
|
This publishing style is used to generate DocBook XML files.
|
|||
|
|
|||
|
Styles provided
|
|||
|
---------------
|
|||
|
|
|||
|
`docbook'
|
|||
|
Publish a file in Docbook form.
|
|||
|
|
|||
|
|
|||
|
Options provided
|
|||
|
----------------
|
|||
|
|
|||
|
This publishing style uses the same options for markup up special
|
|||
|
characters as the "xml" publishing style. *Note XML::, for details.
|
|||
|
|
|||
|
`muse-docbook-extension'
|
|||
|
Default file extension for publishing DocBook XML files.
|
|||
|
|
|||
|
`muse-docbook-header'
|
|||
|
Header used for publishing DocBook XML files.
|
|||
|
|
|||
|
This may be text or a filename.
|
|||
|
|
|||
|
`muse-docbook-footer'
|
|||
|
Footer used for publishing DocBook XML files.
|
|||
|
|
|||
|
This may be text or a filename.
|
|||
|
|
|||
|
`muse-docbook-markup-regexps'
|
|||
|
List of markup rules for publishing a Muse page to DocBook XML.
|
|||
|
|
|||
|
`muse-docbook-markup-functions'
|
|||
|
An alist of style types to custom functions for that kind of text.
|
|||
|
|
|||
|
`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.
|
|||
|
|
|||
|
`muse-docbook-encoding-default'
|
|||
|
The default Emacs buffer encoding to use in published files. This
|
|||
|
will be used if no special characters are found.
|
|||
|
|
|||
|
`muse-docbook-charset-default'
|
|||
|
The default DocBook XML charset to use if no translation is found
|
|||
|
in `muse-xml-encoding-map'.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
File: muse.info, Node: HTML, Next: Ikiwiki, Prev: DocBook, Up: Publishing Styles
|
|||
|
|
|||
|
9.5 Publishing in HTML or XHTML form
|
|||
|
====================================
|
|||
|
|
|||
|
This publishing style is capable of producing HTML or XHTML documents.
|
|||
|
|
|||
|
Styles provided
|
|||
|
---------------
|
|||
|
|
|||
|
`html'
|
|||
|
Supports publishing to HTML 4.0 and HTML 4.01, Strict or
|
|||
|
Transitional.
|
|||
|
|
|||
|
`xhtml'
|
|||
|
Supports publishing to XHTML 1.0 and XHTML 1.1, Strict or
|
|||
|
Transitional.
|
|||
|
|
|||
|
|
|||
|
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. *Note XML::, for details.
|
|||
|
|
|||
|
`muse-html-extension'
|
|||
|
Default file extension for publishing HTML files.
|
|||
|
|
|||
|
`muse-xhtml-extension'
|
|||
|
Default file extension for publishing XHTML files.
|
|||
|
|
|||
|
`muse-html-style-sheet'
|
|||
|
Store your stylesheet definitions here.
|
|||
|
|
|||
|
This is used in `muse-html-header'. You can put raw CSS in here or
|
|||
|
a <link> tag to an external stylesheet. This text may contain
|
|||
|
<lisp> markup tags.
|
|||
|
|
|||
|
If you are publishing to XHTML, then customize the
|
|||
|
`muse-xhtml-style-sheet' option instead.
|
|||
|
|
|||
|
`muse-xhtml-style-sheet'
|
|||
|
Store your stylesheet definitions here.
|
|||
|
|
|||
|
This is used in `muse-xhtml-header'. You can put raw CSS in here
|
|||
|
or a <link> tag to an external stylesheet. This text may contain
|
|||
|
<lisp> markup tags.
|
|||
|
|
|||
|
`muse-html-header'
|
|||
|
Header used for publishing HTML files.
|
|||
|
|
|||
|
This may be text or a filename.
|
|||
|
|
|||
|
`muse-html-footer'
|
|||
|
Footer used for publishing HTML files.
|
|||
|
|
|||
|
This may be text or a filename.
|
|||
|
|
|||
|
`muse-xhtml-header'
|
|||
|
Header used for publishing XHTML files.
|
|||
|
|
|||
|
This may be text or a filename.
|
|||
|
|
|||
|
`muse-xhtml-footer'
|
|||
|
Footer used for publishing XHTML files.
|
|||
|
|
|||
|
This may be text or a filename.
|
|||
|
|
|||
|
`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.
|
|||
|
|
|||
|
`muse-html-table-attributes'
|
|||
|
The attribute to be used with HTML <table> tags.
|
|||
|
|
|||
|
If you want to make more-complicated tables in HTML, surround the
|
|||
|
HTML with the literal tag, so that it does not get escaped.
|
|||
|
|
|||
|
`muse-html-markup-regexps'
|
|||
|
List of markup rules for publishing a Muse page to HTML.
|
|||
|
|
|||
|
`muse-html-markup-functions'
|
|||
|
An alist of style types to custom functions for that kind of text.
|
|||
|
|
|||
|
`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.
|
|||
|
|
|||
|
`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.
|
|||
|
|
|||
|
`muse-html-markup-tags'
|
|||
|
A list of tag specifications, for specially marking up HTML.
|
|||
|
*Note muse-publish-markup-tags::, for more information.
|
|||
|
|
|||
|
`muse-html-meta-http-equiv'
|
|||
|
The http-equiv attribute used for the HTML <meta> tag.
|
|||
|
|
|||
|
`muse-html-meta-content-type'
|
|||
|
The content type used for the HTML <meta> tag.
|
|||
|
|
|||
|
If you are striving for XHTML 1.1 compliance, you may want to
|
|||
|
change this to "application/xhtml+xml".
|
|||
|
|
|||
|
`muse-html-meta-content-encoding'
|
|||
|
The charset to append to the HTML <meta> tag.
|
|||
|
|
|||
|
If set to the symbol 'detect, use `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.
|
|||
|
|
|||
|
`muse-html-charset-default'
|
|||
|
The default HTML meta charset to use if no translation is found in
|
|||
|
`muse-xml-encoding-map'.
|
|||
|
|
|||
|
`muse-html-encoding-default'
|
|||
|
The default Emacs buffer encoding to use in published files. This
|
|||
|
will be used if no special characters are found.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
File: muse.info, Node: Ikiwiki, Next: Journal, Prev: HTML, Up: Publishing Styles
|
|||
|
|
|||
|
9.6 Integrating with ikiwiki
|
|||
|
============================
|
|||
|
|
|||
|
Note: Support for Ikiwiki is not yet complete. Use at your own risk.
|
|||
|
|
|||
|
Ikiwiki is a wiki compiler (`http://ikiwiki.info/'). Emacs Muse can
|
|||
|
(not yet) be used as a source format for Ikiwiki pages with the plugin
|
|||
|
`IkiWiki::Plugin::muse'.
|
|||
|
|
|||
|
The `lisp/muse-ikiwiki.el' file provides publishing functions and
|
|||
|
styles for Ikiwiki. The plugin for Ikiwiki to recognize Muse files is
|
|||
|
provided by the `contrib/ikiwiki/IkiWiki/Plugin/muse.pm' file. Two
|
|||
|
sample init files are available in the `examples/ikiwiki' directory.
|
|||
|
Configure your `ikiwiki.setup' file so that the `muse_init' variable
|
|||
|
has the location of your Muse init file.
|
|||
|
|
|||
|
If you are using CGI, The directory `contrib/ikiwiki/IkiWiki' must
|
|||
|
be copied to the same directory as the CGI script that Ikiwiki
|
|||
|
generates. When publishing your wiki, the PERL5LIB environment
|
|||
|
variable must contain the path to the `contrib/ikiwiki/IkiWiki'
|
|||
|
directory.
|
|||
|
|
|||
|
Styles provided
|
|||
|
---------------
|
|||
|
|
|||
|
`ikiwiki'
|
|||
|
Supports publishing XHTML output that Ikiwiki can understand.
|
|||
|
|
|||
|
|
|||
|
Options provided
|
|||
|
----------------
|
|||
|
|
|||
|
`muse-ikiwiki-header'
|
|||
|
Header used for publishing Ikiwiki output files.
|
|||
|
|
|||
|
This may be text or a filename.
|
|||
|
|
|||
|
`muse-ikiwiki-footer'
|
|||
|
Footer used for publishing Ikiwiki output files.
|
|||
|
|
|||
|
This may be text or a filename.
|
|||
|
|
|||
|
|
|||
|
Other relevant options
|
|||
|
----------------------
|
|||
|
|
|||
|
`muse-colors-evaluate-lisp-tags'
|
|||
|
Specify whether to evaluate the contents of <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.
|
|||
|
|
|||
|
`muse-html-src-allowed-modes'
|
|||
|
Modes that we allow the <src> tag to colorize. If `t', permit the
|
|||
|
<src> tag to colorize any mode.
|
|||
|
|
|||
|
If a list of mode names, such as `'("html" "latex")', and the lang
|
|||
|
argument to <src> is not in the list, then use fundamental mode
|
|||
|
instead.
|
|||
|
|
|||
|
`muse-publish-enable-dangerous-tags'
|
|||
|
If non-nil, publish tags like <lisp> and <command> that can call
|
|||
|
external programs or expose sensitive information. Otherwise,
|
|||
|
ignore tags like this.
|
|||
|
|
|||
|
This is useful to set to `nil' when the file to publish is coming
|
|||
|
from an untrusted source.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
File: muse.info, Node: Journal, Next: LaTeX, Prev: Ikiwiki, Up: Publishing Styles
|
|||
|
|
|||
|
9.7 Keeping a journal or blog
|
|||
|
=============================
|
|||
|
|
|||
|
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.
|
|||
|
|
|||
|
* 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>
|
|||
|
|
|||
|
The "qotd", or Quote of the Day, is entirely optional. When
|
|||
|
generated to HTML, this entry is rendered as the following.
|
|||
|
|
|||
|
<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>
|
|||
|
|
|||
|
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.
|
|||
|
|
|||
|
muse-project-alist considerations
|
|||
|
---------------------------------
|
|||
|
|
|||
|
If you wish to publish an RDF or RSS feed, it is important to include
|
|||
|
the `:base-url' attribute in your `muse-project-alist' entry for your
|
|||
|
Journal projects. An example follows.
|
|||
|
|
|||
|
(setq muse-project-alist
|
|||
|
'(("Journal" ("~/Journal/"
|
|||
|
:default "journal")
|
|||
|
(:base "journal-rss"
|
|||
|
:base-url "http://example.org/journal/"
|
|||
|
:path "~/public_html/journal"))))
|
|||
|
|
|||
|
Styles provided
|
|||
|
---------------
|
|||
|
|
|||
|
`journal-html'
|
|||
|
Publish journal entries as an HTML document.
|
|||
|
|
|||
|
`journal-xhtml'
|
|||
|
Publish journal entries as an XHTML document.
|
|||
|
|
|||
|
`journal-latex'
|
|||
|
Publish journal entries as a LaTeX document.
|
|||
|
|
|||
|
`journal-pdf'
|
|||
|
Publish journal entries as a PDF document.
|
|||
|
|
|||
|
`journal-book-latex'
|
|||
|
Publish journal entries as a LaTeX book.
|
|||
|
|
|||
|
`journal-book-pdf'
|
|||
|
Publish journal entries as a PDF book.
|
|||
|
|
|||
|
`journal-rdf'
|
|||
|
Publish journal entries as an RDF file (RSS 1.0).
|
|||
|
|
|||
|
`journal-rss'
|
|||
|
Publish journal entries as an RSS file (RSS 2.0).
|
|||
|
|
|||
|
`journal-rss-entry'
|
|||
|
Used internally by `journal-rss' and `journal-rdf' for publishing
|
|||
|
individual entries.
|
|||
|
|
|||
|
|
|||
|
Options provided
|
|||
|
----------------
|
|||
|
|
|||
|
`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.
|
|||
|
|
|||
|
`muse-journal-date-format'
|
|||
|
Date format to use for journal entries.
|
|||
|
|
|||
|
`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.
|
|||
|
|
|||
|
`muse-journal-html-entry-template'
|
|||
|
Template used to publish individual journal entries as HTML.
|
|||
|
|
|||
|
This may be text or a filename.
|
|||
|
|
|||
|
`muse-journal-latex-section'
|
|||
|
Template used to publish a LaTeX section.
|
|||
|
|
|||
|
`muse-journal-latex-subsection'
|
|||
|
Template used to publish a LaTeX subsection.
|
|||
|
|
|||
|
`muse-journal-markup-tags'
|
|||
|
A list of tag specifications, for specially marking up Journal
|
|||
|
entries.
|
|||
|
|
|||
|
*Note muse-publish-markup-tags::, for more information.
|
|||
|
|
|||
|
This is used by `journal-latex' and its related styles, as well as
|
|||
|
the `journal-rss-entry' style, which both `journal-rdf' and
|
|||
|
`journal-rss' use.
|
|||
|
|
|||
|
`muse-journal-rdf-extension'
|
|||
|
Default file extension for publishing RDF (RSS 1.0) files.
|
|||
|
|
|||
|
`muse-journal-rdf-base-url'
|
|||
|
The base URL of the website referenced by the RDF file.
|
|||
|
|
|||
|
`muse-journal-rdf-header'
|
|||
|
Header used for publishing RDF (RSS 1.0) files.
|
|||
|
|
|||
|
This may be text or a filename.
|
|||
|
|
|||
|
`muse-journal-rdf-footer'
|
|||
|
Footer used for publishing RDF (RSS 1.0) files.
|
|||
|
|
|||
|
This may be text or a filename.
|
|||
|
|
|||
|
`muse-journal-rdf-date-format'
|
|||
|
Date format to use for RDF entries.
|
|||
|
|
|||
|
`muse-journal-rdf-entry-template'
|
|||
|
Template used to publish individual journal entries as RDF.
|
|||
|
|
|||
|
This may be text or a filename.
|
|||
|
|
|||
|
`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.
|
|||
|
|
|||
|
`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.
|
|||
|
|
|||
|
`muse-journal-rss-extension'
|
|||
|
Default file extension for publishing RSS 2.0 files.
|
|||
|
|
|||
|
`muse-journal-rss-base-url'
|
|||
|
The base URL of the website referenced by the RSS file.
|
|||
|
|
|||
|
`muse-journal-rss-header'
|
|||
|
Header used for publishing RSS 2.0 files.
|
|||
|
|
|||
|
This may be text or a filename.
|
|||
|
|
|||
|
`muse-journal-rss-footer'
|
|||
|
Footer used for publishing RSS 2.0 files.
|
|||
|
|
|||
|
This may be text or a filename.
|
|||
|
|
|||
|
`muse-journal-rss-date-format'
|
|||
|
Date format to use for RSS 2.0 entries.
|
|||
|
|
|||
|
`muse-journal-rss-entry-template'
|
|||
|
Template used to publish individual journal entries as RSS 2.0.
|
|||
|
|
|||
|
This may be text or a filename.
|
|||
|
|
|||
|
`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.
|
|||
|
|
|||
|
`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.
|
|||
|
|
|||
|
`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, *Note
|
|||
|
muse-publish-markup-regexps::.
|
|||
|
|
|||
|
`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, *Note
|
|||
|
muse-publish-markup-functions::.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
File: muse.info, Node: LaTeX, Next: Poem, Prev: Journal, Up: Publishing Styles
|
|||
|
|
|||
|
9.8 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 `grffile.sty', which may be
|
|||
|
found in the `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.
|
|||
|
|
|||
|
\usepackage{grffile}
|
|||
|
|
|||
|
Styles provided
|
|||
|
---------------
|
|||
|
|
|||
|
`latex'
|
|||
|
Publish a LaTeX document.
|
|||
|
|
|||
|
`pdf'
|
|||
|
Publish a PDF document, using an external LaTeX document conversion
|
|||
|
tool.
|
|||
|
|
|||
|
`latexcjk'
|
|||
|
Publish a LaTeX document with CJK (Chinese) encodings.
|
|||
|
|
|||
|
`pdfcjk'
|
|||
|
Publish a PDF document with CJK (Chinese) encodings, using an
|
|||
|
external LaTeX document conversion tool.
|
|||
|
|
|||
|
`slides'
|
|||
|
Publish a LaTeX document that uses the Beamer extension. This is
|
|||
|
suitable for producing slides.
|
|||
|
|
|||
|
Here is an example of a slide.
|
|||
|
|
|||
|
<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>
|
|||
|
|
|||
|
`slides-pdf'
|
|||
|
Publish a PDF document of slides, using the Beamer extension.
|
|||
|
|
|||
|
`lecture-notes'
|
|||
|
Publish a LaTeX document that uses the Beamer extension. This is
|
|||
|
suitable for producing lecture notes.
|
|||
|
|
|||
|
This can also use the <slide> tag.
|
|||
|
|
|||
|
`lecture-notes-pdf'
|
|||
|
Publish a PDF document of lecture notes, using the Beamer
|
|||
|
extension.
|
|||
|
|
|||
|
|
|||
|
Options provided
|
|||
|
----------------
|
|||
|
|
|||
|
`muse-latex-extension'
|
|||
|
Default file extension for publishing LaTeX files.
|
|||
|
|
|||
|
`muse-latex-pdf-extension'
|
|||
|
Default file extension for publishing LaTeX files to PDF.
|
|||
|
|
|||
|
`muse-latex-pdf-browser'
|
|||
|
The program to use when browsing a published PDF file.
|
|||
|
|
|||
|
This should be a format string.
|
|||
|
|
|||
|
`muse-latex-pdf-program'
|
|||
|
The program that is called to generate PDF content from LaTeX
|
|||
|
content.
|
|||
|
|
|||
|
`muse-latex-pdf-cruft'
|
|||
|
Extensions of files to remove after generating PDF output
|
|||
|
successfully.
|
|||
|
|
|||
|
`muse-latex-header'
|
|||
|
Header used for publishing LaTeX files.
|
|||
|
|
|||
|
This may be text or a filename.
|
|||
|
|
|||
|
`muse-latex-footer'
|
|||
|
Footer used for publishing LaTeX files.
|
|||
|
|
|||
|
This may be text or a filename.
|
|||
|
|
|||
|
`muse-latexcjk-header'
|
|||
|
Header used for publishing LaTeX files (CJK).
|
|||
|
|
|||
|
This may be text or a filename.
|
|||
|
|
|||
|
`muse-latexcjk-footer'
|
|||
|
Footer used for publishing LaTeX files (CJK).
|
|||
|
|
|||
|
This may be text or a filename.
|
|||
|
|
|||
|
`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.
|
|||
|
|
|||
|
`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.
|
|||
|
|
|||
|
`muse-latex-markup-regexps'
|
|||
|
List of markup regexps for identifying regions in a Muse page.
|
|||
|
|
|||
|
For more on the structure of this list, *Note
|
|||
|
muse-publish-markup-regexps::.
|
|||
|
|
|||
|
`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, *Note
|
|||
|
muse-publish-markup-functions::.
|
|||
|
|
|||
|
`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.
|
|||
|
|
|||
|
`muse-latex-slides-markup-tags'
|
|||
|
A list of tag specifications, for specially marking up LaTeX
|
|||
|
slides.
|
|||
|
|
|||
|
`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).
|
|||
|
|
|||
|
`muse-latexcjk-encoding-default'
|
|||
|
The default Emacs buffer encoding to use in published files.
|
|||
|
|
|||
|
This will be used if no special characters are found.
|
|||
|
|
|||
|
`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.
|
|||
|
|
|||
|
`muse-latex-markup-specials-example'
|
|||
|
A table of characters which must be represented specially. These
|
|||
|
are applied to example> regions.
|
|||
|
|
|||
|
With the default interpretation of <example> regions, no specials
|
|||
|
need to be escaped.
|
|||
|
|
|||
|
`muse-latex-markup-specials-literal'
|
|||
|
A table of characters which must be represented specially. This
|
|||
|
applies to =monospaced text= and <code> regions.
|
|||
|
|
|||
|
`muse-latex-markup-specials-url'
|
|||
|
A table of characters which must be represented specially. These
|
|||
|
are applied to URLs.
|
|||
|
|
|||
|
`muse-latex-markup-specials-image'
|
|||
|
A table of characters which must be represented specially. These
|
|||
|
are applied to image filenames.
|
|||
|
|
|||
|
`muse-latex-permit-contents-tag'
|
|||
|
If nil, ignore <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 <contents> tag.
|
|||
|
|
|||
|
If you don't agree with this, then set this option to non-nil, and
|
|||
|
it will do what you expect.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
File: muse.info, Node: Poem, Next: Texinfo, Prev: LaTeX, Up: Publishing Styles
|
|||
|
|
|||
|
9.9 Publish a poem to LaTeX or PDF
|
|||
|
==================================
|
|||
|
|
|||
|
The `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.
|
|||
|
|
|||
|
Title
|
|||
|
|
|||
|
|
|||
|
Body of poem
|
|||
|
|
|||
|
|
|||
|
Annotations, history, notes, etc.
|
|||
|
|
|||
|
Once a poem is written in this format, just publish it to PDF using
|
|||
|
the `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.
|
|||
|
|
|||
|
<poem title="name.of.poem.page">
|
|||
|
|
|||
|
Let's assume the template above was called `name.of.poem.page'; then
|
|||
|
the above tag would result in this inclusion.
|
|||
|
|
|||
|
** Title
|
|||
|
|
|||
|
> Body of poem
|
|||
|
|
|||
|
John Wiegley uses this module for publishing all of the poems on his
|
|||
|
website, which are at `http://www.newartisans.com/johnw/poems.html'.
|
|||
|
|
|||
|
Styles provided
|
|||
|
---------------
|
|||
|
|
|||
|
`poem-latex'
|
|||
|
Publish a poem in LaTeX form.
|
|||
|
|
|||
|
`poem-pdf'
|
|||
|
Publish a poem to a PDF document.
|
|||
|
|
|||
|
`chapbook-latex'
|
|||
|
Publish a book of poems in LaTeX form.
|
|||
|
|
|||
|
`chapbook-pdf'
|
|||
|
Publish a book of poems to a PDF document.
|
|||
|
|
|||
|
|
|||
|
Options provided
|
|||
|
----------------
|
|||
|
|
|||
|
`muse-poem-latex-header'
|
|||
|
Header used for publishing LaTeX poems.
|
|||
|
|
|||
|
This may be text or a filename.
|
|||
|
|
|||
|
`muse-poem-latex-footer'
|
|||
|
Footer used for publishing LaTeX files.
|
|||
|
|
|||
|
This may be text or a filename.
|
|||
|
|
|||
|
`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.
|
|||
|
|
|||
|
`muse-chapbook-latex-header'
|
|||
|
Header used for publishing a book of poems in LaTeX form.
|
|||
|
|
|||
|
This may be text or a filename.
|
|||
|
|
|||
|
`muse-chapbook-latex-footer'
|
|||
|
Footer used for publishing a book of poems in LaTeX form.
|
|||
|
|
|||
|
This may be text or a filename.
|
|||
|
|
|||
|
`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.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
File: muse.info, Node: Texinfo, Next: XML, Prev: Poem, Up: Publishing Styles
|
|||
|
|
|||
|
9.10 Publish entries to Texinfo format or PDF
|
|||
|
=============================================
|
|||
|
|
|||
|
Rules for publishing a Muse file as a Texinfo article.
|
|||
|
|
|||
|
Styles provided
|
|||
|
---------------
|
|||
|
|
|||
|
`texi'
|
|||
|
Publish a file in Texinfo form.
|
|||
|
|
|||
|
`info'
|
|||
|
Generate an Info file from a Muse file.
|
|||
|
|
|||
|
`info-pdf'
|
|||
|
Publish a file in PDF form.
|
|||
|
|
|||
|
|
|||
|
Options provided
|
|||
|
----------------
|
|||
|
|
|||
|
`muse-texinfo-process-natively'
|
|||
|
If non-nil, use the Emacs `texinfmt' module to make Info files.
|
|||
|
|
|||
|
`muse-texinfo-extension'
|
|||
|
Default file extension for publishing Texinfo files.
|
|||
|
|
|||
|
`muse-texinfo-info-extension'
|
|||
|
Default file extension for publishing Info files.
|
|||
|
|
|||
|
`muse-texinfo-pdf-extension'
|
|||
|
Default file extension for publishing PDF files.
|
|||
|
|
|||
|
`muse-texinfo-header'
|
|||
|
Text to prepend to a Muse page being published as Texinfo.
|
|||
|
|
|||
|
This may be text or a filename. It may contain <lisp> markup tags.
|
|||
|
|
|||
|
`muse-texinfo-footer'
|
|||
|
Text to append to a Muse page being published as Texinfo.
|
|||
|
|
|||
|
This may be text or a filename. It may contain <lisp> markup tags.
|
|||
|
|
|||
|
`muse-texinfo-markup-regexps'
|
|||
|
List of markup rules for publishing a Muse page to Texinfo.
|
|||
|
|
|||
|
For more on the structure of this list, *Note
|
|||
|
muse-publish-markup-regexps::.
|
|||
|
|
|||
|
`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, *Note
|
|||
|
muse-publish-markup-functions::.
|
|||
|
|
|||
|
`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.
|
|||
|
|
|||
|
`muse-texinfo-markup-specials'
|
|||
|
A table of characters which must be represented specially.
|
|||
|
|
|||
|
`muse-texinfo-markup-specials'
|
|||
|
A table of characters which must be represented specially. These
|
|||
|
are applied to URLs.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
File: muse.info, Node: XML, Prev: Texinfo, Up: Publishing Styles
|
|||
|
|
|||
|
9.11 Publish entries to XML
|
|||
|
===========================
|
|||
|
|
|||
|
Muse is capable of publishing XML documents, with the help of the
|
|||
|
`muse-xml.el' module.
|
|||
|
|
|||
|
A RelaxNG schema is available as part of the Muse distribution in the
|
|||
|
`etc/muse.rnc' file.
|
|||
|
|
|||
|
Styles provided
|
|||
|
---------------
|
|||
|
|
|||
|
`xml'
|
|||
|
Publish a file in XML form.
|
|||
|
|
|||
|
|
|||
|
Options provided
|
|||
|
----------------
|
|||
|
|
|||
|
`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).
|
|||
|
|
|||
|
`muse-xml-markup-specials'
|
|||
|
A table of characters which must be represented specially in all
|
|||
|
XML-like markup formats.
|
|||
|
|
|||
|
`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.
|
|||
|
|
|||
|
`muse-xml-extension'
|
|||
|
Default file extension used for publishing XML files.
|
|||
|
|
|||
|
`muse-xml-header'
|
|||
|
Header used for publishing XML files.
|
|||
|
|
|||
|
This may be text or a filename.
|
|||
|
|
|||
|
`muse-xml-footer'
|
|||
|
Footer used for publishing XML files.
|
|||
|
|
|||
|
This may be text or a filename.
|
|||
|
|
|||
|
`muse-xml-markup-regexps'
|
|||
|
List of markup rules for publishing a Muse page to XML.
|
|||
|
|
|||
|
For more on the structure of this list, *Note
|
|||
|
muse-publish-markup-regexps::.
|
|||
|
|
|||
|
`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, *Note
|
|||
|
muse-publish-markup-functions::.
|
|||
|
|
|||
|
`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.
|
|||
|
|
|||
|
`muse-xml-encoding-default'
|
|||
|
The default Emacs buffer encoding to use in published files.
|
|||
|
|
|||
|
This will be used if no special characters are found.
|
|||
|
|
|||
|
`muse-xml-charset-default'
|
|||
|
The default XML charset to use if no translation is found in
|
|||
|
`muse-xml-encoding-map'.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
File: muse.info, Node: Extending Muse, Next: Miscellaneous, Prev: Publishing Styles, Up: Top
|
|||
|
|
|||
|
10 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.
|
|||
|
|
|||
|
|
|||
|
File: muse.info, Node: Markup Functions, Next: Markup Regexps, Up: Extending Muse
|
|||
|
|
|||
|
10.1 Specifying functions to mark up text
|
|||
|
=========================================
|
|||
|
|
|||
|
`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. `muse-publish' provides
|
|||
|
rules for the most common types of markup.
|
|||
|
|
|||
|
Each member of the list is of the following form.
|
|||
|
|
|||
|
(SYMBOL FUNCTION)
|
|||
|
|
|||
|
* SYMBOL Describes the type of text to associate with this rule.
|
|||
|
`muse-publish-markup-regexps' maps regexps to these symbols.
|
|||
|
|
|||
|
* FUNCTION Function to use to mark up this kind of rule if no
|
|||
|
suitable function is found through the `:functions' tag of the
|
|||
|
current style.
|
|||
|
|
|||
|
|
|||
|
File: muse.info, Node: Markup Regexps, Next: Markup Strings, Prev: Markup Functions, Up: Extending Muse
|
|||
|
|
|||
|
10.2 Markup rules for publishing
|
|||
|
================================
|
|||
|
|
|||
|
`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.
|
|||
|
|
|||
|
(REGEXP/SYMBOL TEXT-BEGIN-GROUP REPLACEMENT-TEXT/FUNCTION/SYMBOL)
|
|||
|
|
|||
|
* REGEXP A regular expression, or symbol whose value is a regular
|
|||
|
expression, which is searched for using `re-search-forward'.
|
|||
|
|
|||
|
* TEXT-BEGIN-GROUP The matching group within that regexp which
|
|||
|
denotes the beginning of the actual text to be marked up.
|
|||
|
|
|||
|
* 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.
|
|||
|
|
|||
|
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.
|
|||
|
|
|||
|
Publishing order
|
|||
|
----------------
|
|||
|
|
|||
|
This is the order that the publishing rules are consulted, by default.
|
|||
|
This may be changed by customizing `muse-publish-markup-regexps'.
|
|||
|
|
|||
|
`trailing and leading whitespace'
|
|||
|
Remove trailing and leading whitespace from a file.
|
|||
|
|
|||
|
`directive'
|
|||
|
`#directive'
|
|||
|
|
|||
|
This is only recognized at the beginning of a file.
|
|||
|
|
|||
|
`comment'
|
|||
|
`; a commented line'
|
|||
|
|
|||
|
`tag'
|
|||
|
`<tag>'
|
|||
|
|
|||
|
`comment'
|
|||
|
`; comment'
|
|||
|
|
|||
|
`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.
|
|||
|
|
|||
|
`word'
|
|||
|
Whitespace-delimited word, possibly with emphasis characters
|
|||
|
|
|||
|
This function is responsible for marking up emphasis and escaping
|
|||
|
some specials.
|
|||
|
|
|||
|
`heading'
|
|||
|
`** Heading'
|
|||
|
|
|||
|
Outline-mode style headings.
|
|||
|
|
|||
|
`enddots'
|
|||
|
`....'
|
|||
|
|
|||
|
These are ellipses with a dot at end.
|
|||
|
|
|||
|
`dots'
|
|||
|
`...'
|
|||
|
|
|||
|
Ellipses.
|
|||
|
|
|||
|
`rule'
|
|||
|
`----'
|
|||
|
|
|||
|
Horizontal rule or section separator.
|
|||
|
|
|||
|
`no-break-space'
|
|||
|
`~~'
|
|||
|
|
|||
|
Prevent lines from being split before or after these characters.
|
|||
|
|
|||
|
`line-break'
|
|||
|
`<br>'
|
|||
|
|
|||
|
Break a line at point.
|
|||
|
|
|||
|
`fn-sep'
|
|||
|
`Footnotes:'
|
|||
|
|
|||
|
Beginning of footnotes section.
|
|||
|
|
|||
|
`footnote'
|
|||
|
`[1]'
|
|||
|
|
|||
|
Footnote definition or reference. If at beginning of line, it is a
|
|||
|
definition.
|
|||
|
|
|||
|
`list'
|
|||
|
* ` 1. '
|
|||
|
|
|||
|
* ` - '
|
|||
|
|
|||
|
* `term :: '
|
|||
|
|
|||
|
Numbered list, item list, or term definition list.
|
|||
|
|
|||
|
`table-el'
|
|||
|
`table.el' style tables
|
|||
|
|
|||
|
`table'
|
|||
|
`table | cells'
|
|||
|
|
|||
|
Muse tables or orgtbl-mode style tables.
|
|||
|
|
|||
|
`quote'
|
|||
|
spaces before beginning of text
|
|||
|
|
|||
|
Blockquotes.
|
|||
|
|
|||
|
`emdash'
|
|||
|
`--'
|
|||
|
|
|||
|
2-wide dash
|
|||
|
|
|||
|
`verse'
|
|||
|
`> verse text'
|
|||
|
|
|||
|
`anchor'
|
|||
|
`#anchor'
|
|||
|
|
|||
|
`link'
|
|||
|
`[[explicit][links]]'
|
|||
|
|
|||
|
`url'
|
|||
|
`http://example.com/'
|
|||
|
|
|||
|
`email'
|
|||
|
`bare-email@example.com'
|
|||
|
|
|||
|
|
|||
|
|
|||
|
File: muse.info, Node: Markup Strings, Next: Markup Tags, Prev: Markup Regexps, Up: Extending Muse
|
|||
|
|
|||
|
10.3 Strings specific to a publishing style
|
|||
|
===========================================
|
|||
|
|
|||
|
"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.
|
|||
|
|
|||
|
Available markup strings
|
|||
|
------------------------
|
|||
|
|
|||
|
`image-with-desc'
|
|||
|
An image and a description.
|
|||
|
|
|||
|
Argument 1: image without extension. Argument 2: image extension.
|
|||
|
Argument 3: description.
|
|||
|
|
|||
|
`image'
|
|||
|
An inlined image.
|
|||
|
|
|||
|
Argument 1: image without extension. Argument 2: image extension.
|
|||
|
|
|||
|
`image-link'
|
|||
|
An image with a link around it.
|
|||
|
|
|||
|
Argument 1: link. Argument 2: image without extension. Argument
|
|||
|
3: image extension.
|
|||
|
|
|||
|
`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.
|
|||
|
|
|||
|
`url'
|
|||
|
A URL without a description.
|
|||
|
|
|||
|
Argument 1: URL.
|
|||
|
|
|||
|
`link'
|
|||
|
A link to a Muse page with a description.
|
|||
|
|
|||
|
Argument 1: link. Argument 2: description if one exists, or the
|
|||
|
original link otherwise.
|
|||
|
|
|||
|
`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.
|
|||
|
|
|||
|
`email-addr'
|
|||
|
A link to an email address.
|
|||
|
|
|||
|
Argument 1: email address. Argument 2: email address.
|
|||
|
|
|||
|
`anchor'
|
|||
|
An anchor.
|
|||
|
|
|||
|
Argument 1: name of anchor.
|
|||
|
|
|||
|
`emdash'
|
|||
|
A 2-length dash.
|
|||
|
|
|||
|
Argument 1: Initial whitespace. Argument 2: Terminating
|
|||
|
whitespace.
|
|||
|
|
|||
|
`comment-begin'
|
|||
|
Beginning of a comment.
|
|||
|
|
|||
|
`comment-end'
|
|||
|
End of a comment.
|
|||
|
|
|||
|
`rule'
|
|||
|
A horizontal line or space.
|
|||
|
|
|||
|
`no-break-space'
|
|||
|
A space that separates two words which are not to be separated.
|
|||
|
|
|||
|
`footnote'
|
|||
|
Beginning of footnote.
|
|||
|
|
|||
|
`footnote-end'
|
|||
|
End of footnote.
|
|||
|
|
|||
|
`footnotemark'
|
|||
|
Mark a reference for the current footnote.
|
|||
|
|
|||
|
Argument 1: number of this footnote.
|
|||
|
|
|||
|
`footnotemark-end'
|
|||
|
End of a reference for the current footnote.
|
|||
|
|
|||
|
`footnotetext'
|
|||
|
Indicate the text of the current footnote.
|
|||
|
|
|||
|
Argument 1: number of this footnote.
|
|||
|
|
|||
|
`footnotetext-end'
|
|||
|
End of a footnote text line.
|
|||
|
|
|||
|
`fn-sep'
|
|||
|
Text used to replace "Footnotes:" line.
|
|||
|
|
|||
|
`dots'
|
|||
|
3 dots.
|
|||
|
|
|||
|
`enddots'
|
|||
|
4 dots.
|
|||
|
|
|||
|
`part'
|
|||
|
Beginning of a part indicator line. This is used by book
|
|||
|
publishing.
|
|||
|
|
|||
|
`part-end'
|
|||
|
End of a part indicator line. This is used by book publishing.
|
|||
|
|
|||
|
`chapter'
|
|||
|
Beginning of a chapter indicator line. This is used by book
|
|||
|
publishing.
|
|||
|
|
|||
|
`chapter-end'
|
|||
|
End of a chapter indicator line. This is used by book publishing.
|
|||
|
|
|||
|
`section'
|
|||
|
Beginning of level 1 section indicator line.
|
|||
|
|
|||
|
Argument 1: level of section; always 1.
|
|||
|
|
|||
|
`section-end'
|
|||
|
End of level 1 section indicator line.
|
|||
|
|
|||
|
Argument 1: level of section; always 1.
|
|||
|
|
|||
|
`subsection'
|
|||
|
Beginning of level 2 section indicator line.
|
|||
|
|
|||
|
Argument 1: level of section; always 2.
|
|||
|
|
|||
|
`subsection-end'
|
|||
|
End of level 2 section indicator line.
|
|||
|
|
|||
|
Argument 1: level of section; always 2.
|
|||
|
|
|||
|
`subsubsection'
|
|||
|
Beginning of level 3 section indicator line.
|
|||
|
|
|||
|
Argument 1: level of section; always 3.
|
|||
|
|
|||
|
`subsubsection-end'
|
|||
|
End of level 3 section indicator line.
|
|||
|
|
|||
|
Argument 1: level of section; always 3.
|
|||
|
|
|||
|
`section-other'
|
|||
|
Beginning of section indicator line, where level is greater than 3.
|
|||
|
|
|||
|
Argument 1: level of section.
|
|||
|
|
|||
|
`section-other-end'
|
|||
|
End of section indicator line, where level is greater than 3.
|
|||
|
|
|||
|
Argument 1: level of section.
|
|||
|
|
|||
|
`begin-underline'
|
|||
|
Beginning of underlined text.
|
|||
|
|
|||
|
`end-underline'
|
|||
|
End of underlined text.
|
|||
|
|
|||
|
`begin-literal'
|
|||
|
Beginning of verbatim text. This includes <code> tags and
|
|||
|
=teletype text=.
|
|||
|
|
|||
|
`end-literal'
|
|||
|
End of verbatim text. This includes <code> tags and =teletype
|
|||
|
text=.
|
|||
|
|
|||
|
`begin-emph'
|
|||
|
Beginning of the first level of emphasized text.
|
|||
|
|
|||
|
`end-emph'
|
|||
|
End of the first level of emphasized text.
|
|||
|
|
|||
|
`begin-more-emph'
|
|||
|
Beginning of the second level of emphasized text.
|
|||
|
|
|||
|
`end-more-emph'
|
|||
|
End of the second level of emphasized text.
|
|||
|
|
|||
|
`begin-most-emph'
|
|||
|
Beginning of the third (and final) level of emphasized text.
|
|||
|
|
|||
|
`end-most-emph'
|
|||
|
End of the third (and final) level of emphasized text.
|
|||
|
|
|||
|
`begin-verse'
|
|||
|
Beginning of verse text.
|
|||
|
|
|||
|
`verse-space'
|
|||
|
String used to each space that is further indented than the
|
|||
|
beginning of the verse.
|
|||
|
|
|||
|
`begin-verse-line'
|
|||
|
Beginning of a line of verse.
|
|||
|
|
|||
|
`empty-verse-line'
|
|||
|
End of a line of verse.
|
|||
|
|
|||
|
`begin-last-stanza-line'
|
|||
|
Beginning of the last line of a verse stanza.
|
|||
|
|
|||
|
`end-last-stanza-line'
|
|||
|
End of the last line of a verse stanza.
|
|||
|
|
|||
|
`end-verse'
|
|||
|
End of verse text.
|
|||
|
|
|||
|
`begin-example'
|
|||
|
Beginning of an example region. To make use of this, an
|
|||
|
`<example>' tag is needed.
|
|||
|
|
|||
|
`end-example'
|
|||
|
End of an example region. To make use of this, an `</example>' tag
|
|||
|
is needed.
|
|||
|
|
|||
|
`begin-center'
|
|||
|
Begin a centered line.
|
|||
|
|
|||
|
`end-center'
|
|||
|
End a centered line.
|
|||
|
|
|||
|
`begin-quote'
|
|||
|
Begin a quoted region.
|
|||
|
|
|||
|
`end-quote'
|
|||
|
End a quoted region.
|
|||
|
|
|||
|
`begin-quote-item'
|
|||
|
Begin a quote paragraph.
|
|||
|
|
|||
|
`end-quote-item'
|
|||
|
End a quote paragraph.
|
|||
|
|
|||
|
`begin-uli'
|
|||
|
Begin an unordered list.
|
|||
|
|
|||
|
`end-uli'
|
|||
|
End an unordered list.
|
|||
|
|
|||
|
`begin-uli-item'
|
|||
|
Begin an unordered list item.
|
|||
|
|
|||
|
`end-uli-item'
|
|||
|
End an unordered list item.
|
|||
|
|
|||
|
`begin-oli'
|
|||
|
Begin an ordered list.
|
|||
|
|
|||
|
`end-oli'
|
|||
|
End an ordered list.
|
|||
|
|
|||
|
`begin-oli-item'
|
|||
|
Begin an ordered list item.
|
|||
|
|
|||
|
`end-oli-item'
|
|||
|
End an ordered list item.
|
|||
|
|
|||
|
`begin-dl'
|
|||
|
Begin a definition list.
|
|||
|
|
|||
|
`end-dl'
|
|||
|
End a definition list.
|
|||
|
|
|||
|
`begin-dl-item'
|
|||
|
Begin a definition list item.
|
|||
|
|
|||
|
`end-dl-item'
|
|||
|
End a definition list item.
|
|||
|
|
|||
|
`begin-ddt'
|
|||
|
Begin a definition list term.
|
|||
|
|
|||
|
`end-ddt'
|
|||
|
End a definition list term.
|
|||
|
|
|||
|
`begin-dde'
|
|||
|
Begin a definition list entry.
|
|||
|
|
|||
|
`end-dde'
|
|||
|
End a definition list entry.
|
|||
|
|
|||
|
`begin-table'
|
|||
|
Begin a table.
|
|||
|
|
|||
|
`end-table'
|
|||
|
End a table.
|
|||
|
|
|||
|
`begin-table-group'
|
|||
|
Begin a table grouping.
|
|||
|
|
|||
|
`end-table-group'
|
|||
|
End a table grouping.
|
|||
|
|
|||
|
`begin-table-row'
|
|||
|
Begin a table row.
|
|||
|
|
|||
|
`end-table-row'
|
|||
|
End a table row.
|
|||
|
|
|||
|
`begin-table-entry'
|
|||
|
Begin a table entry.
|
|||
|
|
|||
|
`end-table-entry'
|
|||
|
End a table entry.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
File: muse.info, Node: Markup Tags, Next: Style Elements, Prev: Markup Strings, Up: Extending Muse
|
|||
|
|
|||
|
10.4 Tag specifications for special markup
|
|||
|
==========================================
|
|||
|
|
|||
|
`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.
|
|||
|
|
|||
|
|
|||
|
File: muse.info, Node: Style Elements, Next: Deriving Styles, Prev: Markup Tags, Up: Extending Muse
|
|||
|
|
|||
|
10.5 Parameters used for defining styles
|
|||
|
========================================
|
|||
|
|
|||
|
Style elements are tags that define a style. Use either
|
|||
|
`muse-define-style' or `muse-derive-style' (*note Deriving Styles::) to
|
|||
|
create a new style.
|
|||
|
|
|||
|
-- Function: muse-define-style name &rest elements
|
|||
|
|
|||
|
Usable elements
|
|||
|
---------------
|
|||
|
|
|||
|
`:suffix'
|
|||
|
File extension to use for publishing files with this style.
|
|||
|
|
|||
|
`:link-suffix'
|
|||
|
File extension to use for publishing links to Muse files with this
|
|||
|
style.
|
|||
|
|
|||
|
`: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.
|
|||
|
|
|||
|
`:regexps'
|
|||
|
List of markup rules for publishing a page with Muse. *Note
|
|||
|
muse-publish-markup-regexps::.
|
|||
|
|
|||
|
`:functions'
|
|||
|
An alist of style types to custom functions for that kind of text.
|
|||
|
*Note muse-publish-markup-functions::.
|
|||
|
|
|||
|
`: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.
|
|||
|
|
|||
|
`:tags'
|
|||
|
A list of tag specifications, used for handling extra tags. *Note
|
|||
|
muse-publish-markup-tags::.
|
|||
|
|
|||
|
`:specials'
|
|||
|
A table of characters which must be represented specially.
|
|||
|
|
|||
|
`: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.
|
|||
|
|
|||
|
`: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.
|
|||
|
|
|||
|
`: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.
|
|||
|
|
|||
|
`: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.
|
|||
|
|
|||
|
`: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.
|
|||
|
|
|||
|
`: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.
|
|||
|
|
|||
|
`: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.
|
|||
|
|
|||
|
`:browser'
|
|||
|
The function used to browse the published result of files of this
|
|||
|
style.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
File: muse.info, Node: Deriving Styles, Prev: Style Elements, Up: Extending Muse
|
|||
|
|
|||
|
10.6 Deriving a new style from an existing one
|
|||
|
==============================================
|
|||
|
|
|||
|
To create a new style from an existing one, use `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.
|
|||
|
|
|||
|
-- Function: muse-derive-style new-name base-name &rest elements
|
|||
|
|
|||
|
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 `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.
|
|||
|
|
|||
|
*Note Style Elements::, for a complete list of all parameters.
|
|||
|
|
|||
|
`:functions'
|
|||
|
If a markup function is not found in the derived style's function
|
|||
|
list, the base style's function list will be queried.
|
|||
|
|
|||
|
`:regexps'
|
|||
|
All regexps in the current style and the base style(s) will be
|
|||
|
used.
|
|||
|
|
|||
|
`:strings'
|
|||
|
If a markup string is not found in the derived style's string
|
|||
|
list, the base style's string list will be queried.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
File: muse.info, Node: Miscellaneous, Next: Getting Help and Reporting Bugs, Prev: Extending Muse, Up: Top
|
|||
|
|
|||
|
11 Miscellaneous add-ons, like a minor mode
|
|||
|
*******************************************
|
|||
|
|
|||
|
* Menu:
|
|||
|
|
|||
|
* Muse List Edit Minor Mode:: Edit lists easily in other major modes.
|
|||
|
|
|||
|
|
|||
|
File: muse.info, Node: Muse List Edit Minor Mode, Up: Miscellaneous
|
|||
|
|
|||
|
11.1 Edit lists easily in other major modes
|
|||
|
===========================================
|
|||
|
|
|||
|
`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.
|
|||
|
|
|||
|
Installation
|
|||
|
------------
|
|||
|
|
|||
|
To use it, add "(require 'muse-mode)" to your Emacs customization file
|
|||
|
and add the function `turn-on-muse-list-edit-minor-mode' to any mode
|
|||
|
hooks where you wish to enable this minor mode.
|
|||
|
|
|||
|
Keybindings
|
|||
|
-----------
|
|||
|
|
|||
|
`muse-list-edit-minor-mode' uses the following keybindings.
|
|||
|
|
|||
|
`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.
|
|||
|
|
|||
|
`C-< (`muse-l-e-m-m-decrease-list-item-indent')'
|
|||
|
Decrease indentation of the current list item.
|
|||
|
|
|||
|
`C-> (`muse-l-e-m-m-increase-list-item-indent')'
|
|||
|
Increase indentation of the current list item.
|
|||
|
|
|||
|
|
|||
|
Functions
|
|||
|
---------
|
|||
|
|
|||
|
-- Function: 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 ARG turn mode on. With zero or negative 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 `left-margin', such as `debian-changelog-mode'.
|
|||
|
|
|||
|
-- Function: turn-on-muse-list-edit-minor-mode
|
|||
|
Unconditionally turn on Muse list edit minor mode.
|
|||
|
|
|||
|
-- Function: turn-off-muse-list-edit-minor-mode
|
|||
|
Unconditionally turn off Muse list edit minor mode.
|
|||
|
|
|||
|
|
|||
|
File: muse.info, Node: Getting Help and Reporting Bugs, Next: History, Prev: Miscellaneous, Up: Top
|
|||
|
|
|||
|
12 Getting Help and Reporting Bugs
|
|||
|
**********************************
|
|||
|
|
|||
|
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.
|
|||
|
|
|||
|
* `http://www.emacswiki.org/cgi-bin/wiki/EmacsMuse' is the
|
|||
|
emacswiki.org page, and anyone may add tips, hints, or bug
|
|||
|
descriptions to it.
|
|||
|
|
|||
|
* `http://mwolson.org/projects/EmacsMuse.html' is the web page that
|
|||
|
Michael Olson (the current maintainer) made for Muse.
|
|||
|
|
|||
|
* Muse has several different mailing lists.
|
|||
|
|
|||
|
`muse-el-announce'
|
|||
|
Low-traffic list for Muse-related announcements.
|
|||
|
|
|||
|
You can join this mailing list (<muse-el-announce@gna.org>)
|
|||
|
using the subscription form at
|
|||
|
`http://mail.gna.org/listinfo/muse-el-announce/'. This
|
|||
|
mailing list is also available via Gmane
|
|||
|
(`http://gmane.org/'). The group is called
|
|||
|
`gmane.emacs.muse.announce'.
|
|||
|
|
|||
|
`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 (<muse-el-discuss@gna.org>)
|
|||
|
using the subscription form at
|
|||
|
`http://mail.gna.org/listinfo/muse-el-discuss/'. This mailing
|
|||
|
list is also available via Gmane with the identifier
|
|||
|
`gmane.emacs.muse.general'.
|
|||
|
|
|||
|
`muse-el-logs'
|
|||
|
Log messages for commits made to Muse.
|
|||
|
|
|||
|
You can join this mailing list (<muse-el-logs@gna.org>) using
|
|||
|
the subscription form at
|
|||
|
`http://mail.gna.org/listinfo/muse-el-logs/'. This mailing
|
|||
|
list is also available via Gmane with the identifier
|
|||
|
`gmane.emacs.muse.scm'.
|
|||
|
|
|||
|
`muse-el-commits'
|
|||
|
Generated bug reports for Emacs Muse. If you use our
|
|||
|
bug-tracker at `https://gna.org/bugs/?group=muse-el', the bug
|
|||
|
reports will be sent to this list automatically.
|
|||
|
|
|||
|
You can join this mailing list (<muse-el-commits@gna.org>)
|
|||
|
using the subscription form at
|
|||
|
`http://mail.gna.org/listinfo/muse-el-commits/'. This
|
|||
|
mailing list is also available via Gmane with the identifier
|
|||
|
`gmane.emacs.muse.cvs'.
|
|||
|
|
|||
|
`muse-el-internationalization'
|
|||
|
Discussion of translation of the Muse website and
|
|||
|
documentation into many languages.
|
|||
|
|
|||
|
You can join this mailing list
|
|||
|
(<muse-el-internationalization@gna.org>) using the
|
|||
|
subscription form at
|
|||
|
`http://mail.gna.org/listinfo/internationalization/'. This
|
|||
|
mailing list is also available via Gmane with the identifier
|
|||
|
`gmane.emacs.muse.internationalization'.
|
|||
|
|
|||
|
|
|||
|
* You can visit the IRC Freenode channel `#emacs'. Many of the
|
|||
|
contributors are frequently around and willing to answer your
|
|||
|
questions. The `#muse' channel is also available for
|
|||
|
Muse-specific help, and its current maintainer hangs out there.
|
|||
|
|
|||
|
* The maintainer of Emacs Muse, Michael Olson, may be contacted at
|
|||
|
<mwolson@gnu.org>. He can be rather slow at answering email, so
|
|||
|
it is often better to use the muse-el-discuss mailing list.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
File: muse.info, Node: History, Next: Contributors, Prev: Getting Help and Reporting Bugs, Up: Top
|
|||
|
|
|||
|
13 History of This Document
|
|||
|
***************************
|
|||
|
|
|||
|
* 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.
|
|||
|
|
|||
|
* 2005 Michael Olson overhauled this document and added many new
|
|||
|
sections in preparation for the first release of Muse (3.01).
|
|||
|
|
|||
|
|
|||
|
|
|||
|
File: muse.info, Node: Contributors, Next: GNU Free Documentation License, Prev: History, Up: Top
|
|||
|
|
|||
|
14 Contributors to This Documentation
|
|||
|
*************************************
|
|||
|
|
|||
|
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.
|
|||
|
|
|||
|
|
|||
|
File: muse.info, Node: GNU Free Documentation License, Next: Concept Index, Prev: Contributors, Up: Top
|
|||
|
|
|||
|
Appendix A GNU Free Documentation License
|
|||
|
*****************************************
|
|||
|
|
|||
|
Version 1.2, November 2002
|
|||
|
|
|||
|
Copyright (C) 2000,2001,2002 Free Software Foundation, Inc.
|
|||
|
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
|||
|
|
|||
|
Everyone is permitted to copy and distribute verbatim copies
|
|||
|
of this license document, but changing it is not allowed.
|
|||
|
|
|||
|
|
|||
|
0. PREAMBLE
|
|||
|
|
|||
|
The purpose of this License is to make a manual, textbook, or other
|
|||
|
functional and useful document "free" in the sense of freedom: to
|
|||
|
assure everyone the effective freedom to copy and redistribute it,
|
|||
|
with or without modifying it, either commercially or
|
|||
|
noncommercially. Secondarily, this License preserves for the
|
|||
|
author and publisher a way to get credit for their work, while not
|
|||
|
being considered responsible for modifications made by others.
|
|||
|
|
|||
|
This License is a kind of "copyleft," which means that derivative
|
|||
|
works of the document must themselves be free in the same sense.
|
|||
|
It complements the GNU General Public License, which is a copyleft
|
|||
|
license designed for free software.
|
|||
|
|
|||
|
We have designed this License in order to use it for manuals for
|
|||
|
free software, because free software needs free documentation: a
|
|||
|
free program should come with manuals providing the same freedoms
|
|||
|
that the software does. But this License is not limited to
|
|||
|
software manuals; it can be used for any textual work, regardless
|
|||
|
of subject matter or whether it is published as a printed book.
|
|||
|
We recommend this License principally for works whose purpose is
|
|||
|
instruction or reference.
|
|||
|
|
|||
|
|
|||
|
1. APPLICABILITY AND DEFINITIONS
|
|||
|
|
|||
|
This License applies to any manual or other work, in any medium,
|
|||
|
that contains a notice placed by the copyright holder saying it
|
|||
|
can be distributed under the terms of this License. Such a notice
|
|||
|
grants a world-wide, royalty-free license, unlimited in duration,
|
|||
|
to use that work under the conditions stated herein. The
|
|||
|
"Document," below, refers to any such manual or work. Any member
|
|||
|
of the public is a licensee, and is addressed as "you." You
|
|||
|
accept the license if you copy, modify or distribute the work in a
|
|||
|
way requiring permission under copyright law.
|
|||
|
|
|||
|
A "Modified Version" of the Document means any work containing the
|
|||
|
Document or a portion of it, either copied verbatim, or with
|
|||
|
modifications and/or translated into another language.
|
|||
|
|
|||
|
A "Secondary Section" is a named appendix or a front-matter
|
|||
|
section of the Document that deals exclusively with the
|
|||
|
relationship of the publishers or authors of the Document to the
|
|||
|
Document's overall subject (or to related matters) and contains
|
|||
|
nothing that could fall directly within that overall subject.
|
|||
|
(Thus, if the Document is in part a textbook of mathematics, a
|
|||
|
Secondary Section may not explain any mathematics.) The
|
|||
|
relationship could be a matter of historical connection with the
|
|||
|
subject or with related matters, or of legal, commercial,
|
|||
|
philosophical, ethical or political position regarding them.
|
|||
|
|
|||
|
The "Invariant Sections" are certain Secondary Sections whose
|
|||
|
titles are designated, as being those of Invariant Sections, in
|
|||
|
the notice that says that the Document is released under this
|
|||
|
License. If a section does not fit the above definition of
|
|||
|
Secondary then it is not allowed to be designated as Invariant.
|
|||
|
The Document may contain zero Invariant Sections. If the Document
|
|||
|
does not identify any Invariant Sections then there are none.
|
|||
|
|
|||
|
The "Cover Texts" are certain short passages of text that are
|
|||
|
listed, as Front-Cover Texts or Back-Cover Texts, in the notice
|
|||
|
that says that the Document is released under this License. A
|
|||
|
Front-Cover Text may be at most 5 words, and a Back-Cover Text may
|
|||
|
be at most 25 words.
|
|||
|
|
|||
|
A "Transparent" copy of the Document means a machine-readable copy,
|
|||
|
represented in a format whose specification is available to the
|
|||
|
general public, that is suitable for revising the document
|
|||
|
straightforwardly with generic text editors or (for images
|
|||
|
composed of pixels) generic paint programs or (for drawings) some
|
|||
|
widely available drawing editor, and that is suitable for input to
|
|||
|
text formatters or for automatic translation to a variety of
|
|||
|
formats suitable for input to text formatters. A copy made in an
|
|||
|
otherwise Transparent file format whose markup, or absence of
|
|||
|
markup, has been arranged to thwart or discourage subsequent
|
|||
|
modification by readers is not Transparent. An image format is
|
|||
|
not Transparent if used for any substantial amount of text. A
|
|||
|
copy that is not "Transparent" is called "Opaque."
|
|||
|
|
|||
|
Examples of suitable formats for Transparent copies include plain
|
|||
|
ASCII without markup, Texinfo input format, LaTeX input format,
|
|||
|
SGML or XML using a publicly available DTD, and
|
|||
|
standard-conforming simple HTML, PostScript or PDF designed for
|
|||
|
human modification. Examples of transparent image formats include
|
|||
|
PNG, XCF and JPG. Opaque formats include proprietary formats that
|
|||
|
can be read and edited only by proprietary word processors, SGML
|
|||
|
or XML for which the DTD and/or processing tools are not generally
|
|||
|
available, and the machine-generated HTML, PostScript or PDF
|
|||
|
produced by some word processors for output purposes only.
|
|||
|
|
|||
|
The "Title Page" means, for a printed book, the title page itself,
|
|||
|
plus such following pages as are needed to hold, legibly, the
|
|||
|
material this License requires to appear in the title page. For
|
|||
|
works in formats which do not have any title page as such, "Title
|
|||
|
Page" means the text near the most prominent appearance of the
|
|||
|
work's title, preceding the beginning of the body of the text.
|
|||
|
|
|||
|
A section "Entitled XYZ" means a named subunit of the Document
|
|||
|
whose title either is precisely XYZ or contains XYZ in parentheses
|
|||
|
following text that translates XYZ in another language. (Here XYZ
|
|||
|
stands for a specific section name mentioned below, such as
|
|||
|
"Acknowledgements," "Dedications," "Endorsements," or "History.")
|
|||
|
To "Preserve the Title" of such a section when you modify the
|
|||
|
Document means that it remains a section "Entitled XYZ" according
|
|||
|
to this definition.
|
|||
|
|
|||
|
The Document may include Warranty Disclaimers next to the notice
|
|||
|
which states that this License applies to the Document. These
|
|||
|
Warranty Disclaimers are considered to be included by reference in
|
|||
|
this License, but only as regards disclaiming warranties: any other
|
|||
|
implication that these Warranty Disclaimers may have is void and
|
|||
|
has no effect on the meaning of this License.
|
|||
|
|
|||
|
2. VERBATIM COPYING
|
|||
|
|
|||
|
You may copy and distribute the Document in any medium, either
|
|||
|
commercially or noncommercially, provided that this License, the
|
|||
|
copyright notices, and the license notice saying this License
|
|||
|
applies to the Document are reproduced in all copies, and that you
|
|||
|
add no other conditions whatsoever to those of this License. You
|
|||
|
may not use technical measures to obstruct or control the reading
|
|||
|
or further copying of the copies you make or distribute. However,
|
|||
|
you may accept compensation in exchange for copies. If you
|
|||
|
distribute a large enough number of copies you must also follow
|
|||
|
the conditions in section 3.
|
|||
|
|
|||
|
You may also lend copies, under the same conditions stated above,
|
|||
|
and you may publicly display copies.
|
|||
|
|
|||
|
3. COPYING IN QUANTITY
|
|||
|
|
|||
|
If you publish printed copies (or copies in media that commonly
|
|||
|
have printed covers) of the Document, numbering more than 100, and
|
|||
|
the Document's license notice requires Cover Texts, you must
|
|||
|
enclose the copies in covers that carry, clearly and legibly, all
|
|||
|
these Cover Texts: Front-Cover Texts on the front cover, and
|
|||
|
Back-Cover Texts on the back cover. Both covers must also clearly
|
|||
|
and legibly identify you as the publisher of these copies. The
|
|||
|
front cover must present the full title with all words of the
|
|||
|
title equally prominent and visible. You may add other material
|
|||
|
on the covers in addition. Copying with changes limited to the
|
|||
|
covers, as long as they preserve the title of the Document and
|
|||
|
satisfy these conditions, can be treated as verbatim copying in
|
|||
|
other respects.
|
|||
|
|
|||
|
If the required texts for either cover are too voluminous to fit
|
|||
|
legibly, you should put the first ones listed (as many as fit
|
|||
|
reasonably) on the actual cover, and continue the rest onto
|
|||
|
adjacent pages.
|
|||
|
|
|||
|
If you publish or distribute Opaque copies of the Document
|
|||
|
numbering more than 100, you must either include a
|
|||
|
machine-readable Transparent copy along with each Opaque copy, or
|
|||
|
state in or with each Opaque copy a computer-network location from
|
|||
|
which the general network-using public has access to download
|
|||
|
using public-standard network protocols a complete Transparent
|
|||
|
copy of the Document, free of added material. If you use the
|
|||
|
latter option, you must take reasonably prudent steps, when you
|
|||
|
begin distribution of Opaque copies in quantity, to ensure that
|
|||
|
this Transparent copy will remain thus accessible at the stated
|
|||
|
location until at least one year after the last time you
|
|||
|
distribute an Opaque copy (directly or through your agents or
|
|||
|
retailers) of that edition to the public.
|
|||
|
|
|||
|
It is requested, but not required, that you contact the authors of
|
|||
|
the Document well before redistributing any large number of
|
|||
|
copies, to give them a chance to provide you with an updated
|
|||
|
version of the Document.
|
|||
|
|
|||
|
4. MODIFICATIONS
|
|||
|
|
|||
|
You may copy and distribute a Modified Version of the Document
|
|||
|
under the conditions of sections 2 and 3 above, provided that you
|
|||
|
release the Modified Version under precisely this License, with
|
|||
|
the Modified Version filling the role of the Document, thus
|
|||
|
licensing distribution and modification of the Modified Version to
|
|||
|
whoever possesses a copy of it. In addition, you must do these
|
|||
|
things in the Modified Version:
|
|||
|
|
|||
|
A. Use in the Title Page (and on the covers, if any) a title
|
|||
|
distinct from that of the Document, and from those of previous
|
|||
|
versions (which should, if there were any, be listed in the
|
|||
|
History section of the Document). You may use the same title
|
|||
|
as a previous version if the original publisher of that version
|
|||
|
gives permission.
|
|||
|
B. List on the Title Page, as authors, one or more persons or
|
|||
|
entities responsible for authorship of the modifications in the
|
|||
|
Modified Version, together with at least five of the principal
|
|||
|
authors of the Document (all of its principal authors, if it
|
|||
|
has fewer than five), unless they release you from this
|
|||
|
requirement.
|
|||
|
C. State on the Title page the name of the publisher of the
|
|||
|
Modified Version, as the publisher.
|
|||
|
D. Preserve all the copyright notices of the Document.
|
|||
|
E. Add an appropriate copyright notice for your modifications
|
|||
|
adjacent to the other copyright notices.
|
|||
|
F. Include, immediately after the copyright notices, a license
|
|||
|
notice giving the public permission to use the Modified Version
|
|||
|
under the terms of this License, in the form shown in the
|
|||
|
Addendum below.
|
|||
|
G. Preserve in that license notice the full lists of Invariant
|
|||
|
Sections and required Cover Texts given in the Document's
|
|||
|
license notice.
|
|||
|
H. Include an unaltered copy of this License.
|
|||
|
I. Preserve the section Entitled "History," Preserve its Title,
|
|||
|
and add to it an item stating at least the title, year, new
|
|||
|
authors, and publisher of the Modified Version as given on the
|
|||
|
Title Page. If there is no section Entitled "History" in the
|
|||
|
Document, create one stating the title, year, authors, and
|
|||
|
publisher of the Document as given on its Title Page, then add
|
|||
|
an item describing the Modified Version as stated in the
|
|||
|
previous sentence.
|
|||
|
J. Preserve the network location, if any, given in the Document for
|
|||
|
public access to a Transparent copy of the Document, and likewise
|
|||
|
the network locations given in the Document for previous versions
|
|||
|
it was based on. These may be placed in the "History" section.
|
|||
|
You may omit a network location for a work that was published at
|
|||
|
least four years before the Document itself, or if the original
|
|||
|
publisher of the version it refers to gives permission.
|
|||
|
K. For any section Entitled "Acknowledgements" or "Dedications,"
|
|||
|
Preserve the Title of the section, and preserve in the section all
|
|||
|
the substance and tone of each of the contributor
|
|||
|
acknowledgements and/or dedications given therein.
|
|||
|
L. Preserve all the Invariant Sections of the Document,
|
|||
|
unaltered in their text and in their titles. Section numbers
|
|||
|
or the equivalent are not considered part of the section titles.
|
|||
|
M. Delete any section Entitled "Endorsements." Such a section
|
|||
|
may not be included in the Modified Version.
|
|||
|
N. Do not retitle any existing section to be Entitled
|
|||
|
"Endorsements" or to conflict in title with any Invariant
|
|||
|
Section.
|
|||
|
O. Preserve any Warranty Disclaimers.
|
|||
|
|
|||
|
If the Modified Version includes new front-matter sections or
|
|||
|
appendices that qualify as Secondary Sections and contain no
|
|||
|
material copied from the Document, you may at your option
|
|||
|
designate some or all of these sections as invariant. To do this,
|
|||
|
add their titles to the list of Invariant Sections in the Modified
|
|||
|
Version's license notice. These titles must be distinct from any
|
|||
|
other section titles.
|
|||
|
|
|||
|
You may add a section Entitled "Endorsements," provided it contains
|
|||
|
nothing but endorsements of your Modified Version by various
|
|||
|
parties-for example, statements of peer review or that the text has
|
|||
|
been approved by an organization as the authoritative definition
|
|||
|
of a standard.
|
|||
|
|
|||
|
You may add a passage of up to five words as a Front-Cover Text,
|
|||
|
and a passage of up to 25 words as a Back-Cover Text, to the end
|
|||
|
of the list of Cover Texts in the Modified Version. Only one
|
|||
|
passage of Front-Cover Text and one of Back-Cover Text may be
|
|||
|
added by (or through arrangements made by) any one entity. If the
|
|||
|
Document already includes a cover text for the same cover,
|
|||
|
previously added by you or by arrangement made by the same entity
|
|||
|
you are acting on behalf of, you may not add another; but you may
|
|||
|
replace the old one, on explicit permission from the previous
|
|||
|
publisher that added the old one.
|
|||
|
|
|||
|
The author(s) and publisher(s) of the Document do not by this
|
|||
|
License give permission to use their names for publicity for or to
|
|||
|
assert or imply endorsement of any Modified Version.
|
|||
|
|
|||
|
5. COMBINING DOCUMENTS
|
|||
|
|
|||
|
You may combine the Document with other documents released under
|
|||
|
this License, under the terms defined in section 4 above for
|
|||
|
modified versions, provided that you include in the combination
|
|||
|
all of the Invariant Sections of all of the original documents,
|
|||
|
unmodified, and list them all as Invariant Sections of your
|
|||
|
combined work in its license notice, and that you preserve all
|
|||
|
their Warranty Disclaimers.
|
|||
|
|
|||
|
The combined work need only contain one copy of this License, and
|
|||
|
multiple identical Invariant Sections may be replaced with a single
|
|||
|
copy. If there are multiple Invariant Sections with the same name
|
|||
|
but different contents, make the title of each such section unique
|
|||
|
by adding at the end of it, in parentheses, the name of the
|
|||
|
original author or publisher of that section if known, or else a
|
|||
|
unique number. Make the same adjustment to the section titles in
|
|||
|
the list of Invariant Sections in the license notice of the
|
|||
|
combined work.
|
|||
|
|
|||
|
In the combination, you must combine any sections Entitled
|
|||
|
"History" in the various original documents, forming one section
|
|||
|
Entitled "History"; likewise combine any sections Entitled
|
|||
|
"Acknowledgements," and any sections Entitled "Dedications." You
|
|||
|
must delete all sections Entitled "Endorsements."
|
|||
|
|
|||
|
6. COLLECTIONS OF DOCUMENTS
|
|||
|
|
|||
|
You may make a collection consisting of the Document and other
|
|||
|
documents released under this License, and replace the individual
|
|||
|
copies of this License in the various documents with a single copy
|
|||
|
that is included in the collection, provided that you follow the
|
|||
|
rules of this License for verbatim copying of each of the
|
|||
|
documents in all other respects.
|
|||
|
|
|||
|
You may extract a single document from such a collection, and
|
|||
|
distribute it individually under this License, provided you insert
|
|||
|
a copy of this License into the extracted document, and follow
|
|||
|
this License in all other respects regarding verbatim copying of
|
|||
|
that document.
|
|||
|
|
|||
|
7. AGGREGATION WITH INDEPENDENT WORKS
|
|||
|
|
|||
|
A compilation of the Document or its derivatives with other
|
|||
|
separate and independent documents or works, in or on a volume of
|
|||
|
a storage or distribution medium, is called an "aggregate" if the
|
|||
|
copyright resulting from the compilation is not used to limit the
|
|||
|
legal rights of the compilation's users beyond what the individual
|
|||
|
works permit. When the Document is included in an aggregate, this
|
|||
|
License does not apply to the other works in the aggregate which
|
|||
|
are not themselves derivative works of the Document.
|
|||
|
|
|||
|
If the Cover Text requirement of section 3 is applicable to these
|
|||
|
copies of the Document, then if the Document is less than one half
|
|||
|
of the entire aggregate, the Document's Cover Texts may be placed
|
|||
|
on covers that bracket the Document within the aggregate, or the
|
|||
|
electronic equivalent of covers if the Document is in electronic
|
|||
|
form. Otherwise they must appear on printed covers that bracket
|
|||
|
the whole aggregate.
|
|||
|
|
|||
|
8. TRANSLATION
|
|||
|
|
|||
|
Translation is considered a kind of modification, so you may
|
|||
|
distribute translations of the Document under the terms of section
|
|||
|
4. Replacing Invariant Sections with translations requires special
|
|||
|
permission from their copyright holders, but you may include
|
|||
|
translations of some or all Invariant Sections in addition to the
|
|||
|
original versions of these Invariant Sections. You may include a
|
|||
|
translation of this License, and all the license notices in the
|
|||
|
Document, and any Warranty Disclaimers, provided that you also
|
|||
|
include the original English version of this License and the
|
|||
|
original versions of those notices and disclaimers. In case of a
|
|||
|
disagreement between the translation and the original version of
|
|||
|
this License or a notice or disclaimer, the original version will
|
|||
|
prevail.
|
|||
|
|
|||
|
If a section in the Document is Entitled "Acknowledgements,"
|
|||
|
"Dedications," or "History," the requirement (section 4) to
|
|||
|
Preserve its Title (section 1) will typically require changing the
|
|||
|
actual title.
|
|||
|
|
|||
|
9. TERMINATION
|
|||
|
|
|||
|
You may not copy, modify, sublicense, or distribute the Document
|
|||
|
except as expressly provided for under this License. Any other
|
|||
|
attempt to copy, modify, sublicense or distribute the Document is
|
|||
|
void, and will automatically terminate your rights under this
|
|||
|
License. However, parties who have received copies, or rights,
|
|||
|
from you under this License will not have their licenses
|
|||
|
terminated so long as such parties remain in full compliance.
|
|||
|
|
|||
|
10. FUTURE REVISIONS OF THIS LICENSE
|
|||
|
|
|||
|
The Free Software Foundation may publish new, revised versions of
|
|||
|
the GNU Free Documentation License from time to time. Such new
|
|||
|
versions will be similar in spirit to the present version, but may
|
|||
|
differ in detail to address new problems or concerns. See
|
|||
|
http://www.gnu.org/copyleft/.
|
|||
|
|
|||
|
Each version of the License is given a distinguishing version
|
|||
|
number. If the Document specifies that a particular numbered
|
|||
|
version of this License "or any later version" applies to it, you
|
|||
|
have the option of following the terms and conditions either of
|
|||
|
that specified version or of any later version that has been
|
|||
|
published (not as a draft) by the Free Software Foundation. If
|
|||
|
the Document does not specify a version number of this License,
|
|||
|
you may choose any version ever published (not as a draft) by the
|
|||
|
Free Software Foundation.
|
|||
|
|
|||
|
|
|||
|
ADDENDUM: How to use this License for your documents
|
|||
|
====================================================
|
|||
|
|
|||
|
To use this License in a document you have written, include a copy of
|
|||
|
the License in the document and put the following copyright and license
|
|||
|
notices just after the title page:
|
|||
|
|
|||
|
Copyright (C) YEAR YOUR NAME.
|
|||
|
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, no Front-Cover Texts, and no Back-Cover Texts.
|
|||
|
A copy of the license is included in the section entitled ``GNU
|
|||
|
Free Documentation License.''
|
|||
|
|
|||
|
If you have Invariant Sections, Front-Cover Texts and Back-Cover
|
|||
|
Texts, replace the "with...Texts." line with this:
|
|||
|
|
|||
|
with the Invariant Sections being LIST THEIR TITLES, with the
|
|||
|
Front-Cover Texts being LIST, and with the Back-Cover Texts being
|
|||
|
LIST.
|
|||
|
|
|||
|
If you have Invariant Sections without Cover Texts, or some other
|
|||
|
combination of the three, merge those two alternatives to suit the
|
|||
|
situation.
|
|||
|
|
|||
|
If your document contains nontrivial examples of program code, we
|
|||
|
recommend releasing these examples in parallel under your choice of
|
|||
|
free software license, such as the GNU General Public License, to
|
|||
|
permit their use in free software.
|
|||
|
|
|||
|
|
|||
|
File: muse.info, Node: Concept Index, Prev: GNU Free Documentation License, Up: Top
|
|||
|
|
|||
|
Index
|
|||
|
*****
|
|||
|
|
|||
|
|