~ubuntu-branches/ubuntu/raring/muse-el/raring

« back to all changes in this revision

Viewing changes to texi/muse.texi

  • Committer: Bazaar Package Importer
  • Author(s): Michael W. Olson (GNU address)
  • Date: 2008-01-09 15:51:46 UTC
  • mfrom: (1.1.4 upstream)
  • Revision ID: james.westby@ubuntu.com-20080109155146-0wwzermvvzs9rqzo
Tags: 3.11-3ubuntu1
* Merge with with Debian unstable (LP: #137284). Remaining Ubuntu changes:
  - Keep manual.
  - Set Ubuntu MOTU to be Maintainer

Show diffs side-by-side

added added

removed removed

Lines of Context:
12
12
@syncodeindex fn cp
13
13
 
14
14
@copying
15
 
This manual is for Emacs Muse version 3.03.
 
15
This manual is for Emacs Muse version 3.11.
16
16
 
17
17
Copyright @copyright{} 2004, 2005, 2006,
18
18
2007 Free Software Foundation, Inc.
75
75
* Markup Rules::                Rules for using markup.
76
76
* Publishing Styles::           Publishing various types of documents.
77
77
* Extending Muse::              Making your own publishing styles.
 
78
* Miscellaneous::               Miscellaneous add-ons, like a minor mode.
78
79
* Getting Help and Reporting Bugs::  
79
80
* History::                     History of this document.
80
81
* Contributors::                Contributors to this documentation.
122
123
* Horizontal Rules and Anchors::  Inserting a horizontal line or anchor.
123
124
* Embedded Lisp::               Evaluating Emacs Lisp code in documents
124
125
                                  for extensibility.
 
126
* Citations::                   Support for citing other resources.
125
127
* Comments::                    Lines to omit from published output.
126
128
* Tag Summary::                 Tags that Muse recognizes.
127
129
 
129
131
 
130
132
* Blosxom::                     Integrating Muse and pyblosxom.cgi.
131
133
* Book::                        Publishing entries into a compilation.
 
134
* ConTeXt::                     Publishing ConTeXt documents.
132
135
* DocBook::                     Publishing in DocBook XML form.
133
136
* HTML::                        Publishing in HTML or XHTML form.
134
137
* Journal::                     Keeping a journal or blog.
157
160
* Markup Tags::                 Tag specifications for special markup.
158
161
* Style Elements::              Parameters used for defining styles.
159
162
 
 
163
Miscellaneous add-ons, like a minor mode
 
164
 
 
165
* Muse List Edit Minor Mode::   Edit lists easily in other major modes.
 
166
 
160
167
@end detailmenu
161
168
@end menu
162
169
 
178
185
@comment  node-name,  next,  previous,  up
179
186
@chapter What is Muse?
180
187
 
181
 
Emacs Muse is an authoring and publishing environment for Emacs.  It
182
 
simplifies the process of writing documents and publishing them to
183
 
various output formats.
 
188
Emacs Muse (also known as ``Muse'' or ``Emacs-Muse'') is an authoring
 
189
and publishing environment for Emacs.  It simplifies the process of
 
190
writing documents and publishing them to various output formats.
184
191
 
185
192
Muse consists of two main parts: an enhanced text-mode for authoring
186
193
documents and navigating within Muse projects, and a set of publishing
252
259
 
253
260
@cindex releases, from source
254
261
Alternatively, you can download the latest release from
255
 
@uref{http://mwolson.org/static/dist/muse/} .
 
262
@uref{http://download.gna.org/muse-el/} .
256
263
 
257
264
@node Development,  , Releases, Obtaining Muse
258
265
@comment  node-name,  next,  previous,  up
262
269
Choose the development version if you want to live on the bleeding edge
263
270
of Muse development or try out new features before release.
264
271
 
265
 
@cindex arch revision control system, using
266
 
The Arch revision control system allows you to retrieve previous
267
 
versions and select specific features and bug fixes.  If you would like
268
 
to contribute to Muse development, it is highly recommended that you use
269
 
Arch, but this is not a requirement.
270
 
 
271
 
If you are new to Arch, you might find this tutorial helpful:
272
 
@uref{http://mwolson.org/projects/ArchTutorial.html}.
273
 
 
274
 
Downloading the Muse module with Arch and staying up-to-date involves
 
272
@cindex git version control system, using
 
273
The git version control system allows you to keep up-to-date with the
 
274
latest changes to the development version of Muse.  It also allows you
 
275
to contribute changes (via commits, if you are have developer access to
 
276
the repository, or via patches, otherwise).  If you would like to
 
277
contribute to Muse development, it is highly recommended that you use
 
278
git.
 
279
 
 
280
If you are new to git, you might find this tutorial helpful:
 
281
@uref{http://www.kernel.org/pub/software/scm/git/docs/tutorial.html}.
 
282
 
 
283
Downloading the Muse module with git and staying up-to-date involves
275
284
the following steps.
276
285
 
277
286
@enumerate
278
 
@item Install arch
 
287
@item Install git.
279
288
 
280
289
@itemize @bullet
281
 
@item Debian and Ubuntu: @kbd{apt-get install tla}.
282
 
@item Other distributions: see @uref{http://www.gnuarch.org/gnuarchwiki/Getting_Arch}.
 
290
@item Debian and Ubuntu: @kbd{apt-get install git-core}.
 
291
@item Windows: @uref{http://git.or.cz/gitwiki/WindowsInstall}.
 
292
@item Other operating systems: download, compile, and install the source
 
293
from @uref{http://www.kernel.org/pub/software/scm/git/}, or find a git
 
294
package for your operating system.
283
295
@end itemize
284
296
 
285
 
@item Register the archive.
286
 
@example
287
 
tla register-archive -f http://mwolson.org/archives/2006
288
 
@end example
289
 
 
290
 
You might ask why there is a mention of the year ``2006'' in the name of
291
 
the archive.  This year is not very significant---it only means that I
292
 
created this archive in 2006.  I used to create a new archive every
293
 
year, but this was a hassle for people who were trying to track
294
 
development of Muse, so I have stopped doing it.
295
 
 
296
 
@item Download the Muse package.
297
 
@example
298
 
# Download Muse into the @file{muse} directory.
299
 
tla get mwolson@@gnu.org--2006/muse--main--1.0 muse
 
297
@item Download the Muse development branch.
 
298
 
 
299
If you have developer access to Muse, do:
 
300
 
 
301
@example
 
302
git clone ssh://repo.or.cz/srv/git/muse-el.git muse
 
303
@end example
 
304
 
 
305
otherwise, do:
 
306
 
 
307
@example
 
308
git clone git://repo.or.cz/muse-el.git muse
 
309
@end example
 
310
 
 
311
If you are behind a restrictive firewall, and do not have developer
 
312
access, then do the following instead:
 
313
 
 
314
@example
 
315
git clone http://repo.or.cz/r/muse-el.git muse
300
316
@end example
301
317
 
302
318
@item List upstream changes that are missing from your local copy.
303
319
Do this whenever you want to see whether new changes have been committed
304
 
to Muse.
 
320
to Muse.  If you wish, you may skip this step and proceed directly to
 
321
the ``update'' step.
305
322
 
306
323
@example
307
324
# Change to the source directory you are interested in.
308
 
cd muse/
309
 
 
310
 
# Display the summary of changes
311
 
tla missing --summary
 
325
cd muse
 
326
 
 
327
# Fetch new changes from the repository, but don't apply them yet
 
328
git fetch origin
 
329
 
 
330
# Display log messages for the new changes
 
331
git log HEAD..origin
312
332
@end example
313
333
 
314
 
@cindex updating Muse with Arch
315
 
@item Update to the latest version by replaying missing changes.
 
334
``origin'' is git's name for the location where you originally got Muse
 
335
from.  You can change this location at any time by editing the
 
336
@file{.git/config} file in the directory where the Muse source was
 
337
placed.
 
338
 
 
339
@cindex updating Muse with git
 
340
@item Update to the latest version by pulling in any missing changes.
 
341
 
316
342
@example
317
343
cd muse
318
 
tla update
 
344
git pull origin
319
345
@end example
320
346
 
 
347
git will show how many files changed, and will provide a visual display
 
348
for how many lines were changed in each file.
 
349
 
321
350
@end enumerate
322
351
 
323
 
There are other ways to interact with the Muse archive.
 
352
There are other ways to interact with the Muse repository.
324
353
 
325
354
@itemize
326
 
@item Browse arch repository: @uref{http://archzoom.mwolson.org/}
 
355
@item Browse git repo: @uref{http://repo.or.cz/w/muse-el.git}
327
356
@item Latest development snapshot: @uref{http://mwolson.org/static/dist/muse-latest.tar.gz}
328
357
@item Latest development snapshot (zip file): @uref{http://mwolson.org/static/dist/muse-latest.zip}
329
358
@end itemize
330
359
 
331
 
The latest development snapshot will be kept up-to-date since it is
332
 
updated at the same time as the Arch repository.
 
360
The latest development snapshot can lag behind the git repo by as much
 
361
as 20 minutes, but never more than that.
 
362
 
 
363
@subheading Becoming a Muse developer
 
364
@cindex developer, becoming
 
365
 
 
366
If you want commit access to the shared Muse repository, then register
 
367
an account at @uref{http://repo.or.cz} (be sure to add an SSH key), and
 
368
contact the current maintainer at @email{mwolson@@gnu.org}.  It would be
 
369
best to send some patches to the @email{muse-el-discuss@@gna.org}
 
370
mailing list first, so that he knows that you know what you are doing.
 
371
@xref{Getting Help and Reporting Bugs}, for instructions on subscribing
 
372
to the mailing list.
 
373
 
 
374
You must also be willing to sign a copyright assignment for your changes
 
375
to Muse, since Muse is a GNU project.  The current maintainer will
 
376
assist you in this process if you contact him.
 
377
 
 
378
For information on committing changes to Muse and performing
 
379
development, please consult
 
380
@uref{http://emacswiki.org/cgi-bin/wiki/MuseDevelopment}.
333
381
 
334
382
@node Installation, Getting Started, Obtaining Muse, Top
335
383
@comment  node-name,  next,  previous,  up
338
386
Muse may be compiled and installed on your machine.
339
387
 
340
388
@subheading Compilation
 
389
@cindex compiling Muse
341
390
 
342
391
This is an optional step, since Emacs Lisp source code does not
343
392
necessarily have to be byte-compiled.  Byte-compilation may yield a very
348
397
@command{emacs} will be used.
349
398
 
350
399
If you want to use the @command{xemacs} binary to perform the
351
 
compilation, you would need to edit @file{Makefile.defs} in the
352
 
top-level directory as follows.  You can put either a full path to an
 
400
compilation, you must copy @file{Makefile.defs.default} to
 
401
@file{Makefile.defs} in the top-level directory, and then edit
 
402
@file{Makefile.defs} as follows.  You can put either a full path to an
353
403
Emacs or XEmacs binary or just the command name, as long as it is in the
354
 
@env{PATH}.
 
404
@env{PATH}.  Depending on your setup, changes to the @option{PREFIX},
 
405
@option{ELISPDIR}, and/or @option{INFODIR} variables may also need to be
 
406
made.
355
407
 
356
408
@example
357
409
EMACS    = xemacs
358
410
SITEFLAG = -no-site-file
 
411
# Edit the section as necessary
 
412
install_info = install-info --section "XEmacs 21.4" $(1).info \
 
413
        $(INFODIR)/dir || :
359
414
@end example
360
415
 
361
416
Running @code{make} in the top-level directory should compile the Muse
363
418
file in @file{lisp/muse-autoloads.el}.
364
419
 
365
420
@subheading Installation
 
421
@cindex installing Muse
366
422
 
367
423
Muse may be installed into your file hierarchy by doing the following.
368
424
 
369
 
Edit the @file{Makefile.defs} file so that @env{ELISPDIR} points to
370
 
where you want the source and compiled Muse files to be installed and
 
425
Copy @file{Makefile.defs.default} to @file{Makefile.defs} in the
 
426
top-level directory, if you haven't done so already.  Then edit the
 
427
@file{Makefile.defs} file so that @env{ELISPDIR} points to where you
 
428
want the source and compiled Muse files to be installed and
371
429
@env{INFODIR} indicates where to put the Muse manual.  As mentioned
372
430
earlier, you will want to edit @env{EMACS} and @env{SITEFLAG} as shown
373
431
in the Compilation section if you are using XEmacs.
379
437
If you wish to install Muse to different locations than the defaults
380
438
specify, edit @file{Makefile.defs} accordingly.
381
439
 
382
 
Run @code{make} as a normal user.
 
440
Run @code{make} as a normal user, if you haven't done so already.
383
441
 
384
442
Run @code{make install} as the root user if you have chosen installation
385
443
locations that require root permissions.
386
444
 
 
445
@subheading ELPA
 
446
@cindex ELPA package for Muse
 
447
 
 
448
For those used to installing software packages, there will be a
 
449
@code{muse} package available in the Emacs Lisp Package Archive
 
450
(abbreviated ``ELPA'') as of the 3.10 release of Muse.  This package
 
451
will be compiled and installed automatically in a user-specific
 
452
location.  For more information on ELPA, see
 
453
@uref{http://tromey.com/elpa/}.
387
454
 
388
455
@node Getting Started, Projects, Installation, Top
389
456
@comment  node-name,  next,  previous,  up
595
662
                :path "~/public_html/plans"))))
596
663
@end lisp
597
664
 
598
 
The @samp{:major-mode} attribute specifies which major to use when
 
665
The @option{:major-mode} attribute specifies which major to use when
599
666
visiting files in this directory.
600
667
 
601
 
The @samp{:visit-link} attribute specifies the function to call when
 
668
The @option{:visit-link} attribute specifies the function to call when
602
669
visiting links.
603
670
 
604
 
The @samp{:exclude} attribute has a regexp that matches files to never
 
671
The @option{:exclude} attribute has a regexp that matches files to never
605
672
publish.
606
673
 
607
674
@node Projects and Subdirectories, Options for Projects, Multiple Projects, Projects
895
962
* Horizontal Rules and Anchors::  Inserting a horizontal line or anchor.
896
963
* Embedded Lisp::               Evaluating Emacs Lisp code in documents
897
964
                                  for extensibility.
 
965
* Citations::                   Support for citing other resources.
898
966
* Comments::                    Lines to omit from published output.
899
967
* Tag Summary::                 Tags that Muse recognizes.
900
968
@end menu
988
1056
 
989
1057
The @code{muse-publishing-directive} function may be used in header and
990
1058
footer text to access directives.  For example, to access the
991
 
@samp{#title} directive, use @code{(muse-publishing-directive "title")}.
 
1059
@code{#title} directive, use @code{(muse-publishing-directive "title")}.
992
1060
 
993
1061
The following is a list of directives that Muse uses.
994
1062
 
1428
1496
into the document.  This point can be referenced using "page#anchor" as
1429
1497
the target in a Muse link.
1430
1498
 
1431
 
@node Embedded Lisp, Comments, Horizontal Rules and Anchors, Markup Rules
 
1499
@node Embedded Lisp, Citations, Horizontal Rules and Anchors, Markup Rules
1432
1500
@comment  node-name,  next,  previous,  up
1433
1501
@section Evaluating Emacs Lisp code in documents for extensibility
1434
1502
@cindex lisp, embedded
1462
1530
Other languages also have tags that cause source code to be evaluated.
1463
1531
@xref{Tag Summary}, for details.
1464
1532
 
1465
 
@node Comments, Tag Summary, Embedded Lisp, Markup Rules
 
1533
@node Citations, Comments, Embedded Lisp, Markup Rules
 
1534
@comment  node-name,  next,  previous,  up
 
1535
@section Support for citing other resources
 
1536
@cindex citations
 
1537
@cindex tags, <cite>
 
1538
 
 
1539
@subheading Example
 
1540
 
 
1541
Here is an example of what citations look like in a Muse document.
 
1542
 
 
1543
@example
 
1544
#bibsource REFDB
 
1545
 
 
1546
* Title
 
1547
** Subtitle
 
1548
 
 
1549
Some text before <cite>Miller1999</cite> and after the citation.
 
1550
 
 
1551
This is an author-only citation <cite type="author">Miller1999</cite>.
 
1552
 
 
1553
And this is a year-only citation <cite type="year">Miller1999</cite>.
 
1554
 
 
1555
Finally, this is a multi-head citation
 
1556
<cite>Miller1999,Andrews2005</cite>.
 
1557
@end example
 
1558
 
 
1559
@subheading Overview
 
1560
 
 
1561
The @code{#bibsource} directive defines the source of the
 
1562
bibliographies.  The following sources are possible.
 
1563
 
 
1564
@itemize @bullet
 
1565
@item DocBook + RefDB:
 
1566
the string "REFDB"
 
1567
 
 
1568
@item LaTeX + bibtex:
 
1569
the name of an appropriate bibtex file
 
1570
 
 
1571
@item LaTeX + RefDB:
 
1572
if the input file is called "foo.muse", then set this to "foo.bib"
 
1573
@end itemize
 
1574
 
 
1575
Citations are encoded as @verb{|<cite>|} elements which enclose the
 
1576
citation keys as they are defined in the bibliography file or database.
 
1577
In multi-head citations, the citation keys have to be separated by
 
1578
colons or semicolons.  The @code{latex} and @code{docbook} styles
 
1579
translate these to the proper separator automatically.
 
1580
 
 
1581
The @verb{|<cite>|} elements take an optional ``type'' attribute that
 
1582
defines how the citation is rendered.  If the attribute is missing,
 
1583
you'll get a regular citation according to the bibliography style,
 
1584
e.g.'' (Miller et al., 1999)''.  If the attribute is set to "author",
 
1585
only the name of the author(s) will be rendered.  Accordingly, "year"
 
1586
will cause the year to be printed.  This is useful to create citations
 
1587
like this:
 
1588
 
 
1589
@example
 
1590
Miller et al. had already shown in a previous publication (1999) that
 
1591
this is not going to work.
 
1592
@end example
 
1593
 
 
1594
Remember that refdb-mode (the Emacs interface to RefDB) can retrieve
 
1595
references by simply marking the citation key and running the
 
1596
@code{refdb-getref-by-field-on-region} command.  Later versions of
 
1597
@code{refdb-mode} will also allow to insert references as Muse citations
 
1598
(which is already implemented for DocBook, TEI, and LaTeX documents).
 
1599
 
 
1600
You may have noticed that there is no element to indicate the position
 
1601
of the bibliography.  The latter is always created at a valid position
 
1602
close to the end of the document.  The functions
 
1603
@code{muse-docbook-bibliography} and @code{muse-latex-bibliography} are
 
1604
called in the header or footer to generate this content, so it is
 
1605
possible to change the exact position.
 
1606
 
 
1607
@node Comments, Tag Summary, Citations, Markup Rules
1466
1608
@comment  node-name,  next,  previous,  up
1467
1609
@section Lines to omit from published output
1468
1610
@cindex comments
1535
1677
 
1536
1678
@table @samp
1537
1679
 
 
1680
@item <cite>
 
1681
Insert a citation to another source.
 
1682
 
 
1683
This takes the argument @option{type}, which indicates the type of
 
1684
citation.  The valid types are "author" and "year".  If this argument is
 
1685
omitted, include both author and year in the citation.
 
1686
 
 
1687
The bibliography to use for the citation may be specified by the
 
1688
@option{#bibsource} directive.
 
1689
 
 
1690
@xref{Citations}, for additional information.
 
1691
 
1538
1692
@item <class>
1539
1693
If publishing to HTML, surround the given text with a @verb{|<span>|}
1540
 
tag.  It takes one argument called ``name'' that specifies the class
 
1694
tag.  It takes one argument called ``name'' that specifies the ``class''
1541
1695
attribute of the @verb{|<span>|} tag.
1542
1696
 
1543
1697
If publishing to a different format, do nothing extra to the text.
1714
1868
@menu
1715
1869
* Blosxom::                     Integrating Muse and pyblosxom.cgi.
1716
1870
* Book::                        Publishing entries into a compilation.
 
1871
* ConTeXt::                     Publishing ConTeXt documents.
1717
1872
* DocBook::                     Publishing in DocBook XML form.
1718
1873
* HTML::                        Publishing in HTML or XHTML form.
1719
1874
* Journal::                     Keeping a journal or blog.
1745
1900
You will need to have @command{pyblosxom.cgi} or @command{blosxom.cgi}
1746
1901
installed on a machine that you have upload access to.
1747
1902
 
 
1903
The major difficulty in both of these programs is specifying the date of
 
1904
the entries.  Both programs rely on the file modification time rather
 
1905
than any data contained in the entries themselves.  A plugin is needed
 
1906
in order for these programs to be able to get the correct date.
 
1907
 
 
1908
@subheading PyBlosxom
 
1909
 
 
1910
There are two different ways of accomplishing this in pyblosxom.  The
 
1911
first way involves gathering the timestamps (as specified by the
 
1912
@code{#date} directive) into one file and then sending that file along
 
1913
with published entries to the webserver.
 
1914
 
 
1915
The second will read each file at render time and parse the
 
1916
@code{#postdate} directive.  Muse will translate the @code{#date}
 
1917
directive into @code{#postdate} at publish time, so you don't have to do
 
1918
any extra work.
 
1919
 
 
1920
@subsubheading Placing timestamps in one file
 
1921
 
1748
1922
The following additional components are required in order to make the
1749
1923
date of blog entries display as something sensible.
1750
1924
 
1760
1934
These 2 things are provided for @command{pyblosxom.cgi} in the
1761
1935
@file{contrib/pyblosxom} subdirectory.  @file{getstamps.py} provides the
1762
1936
former service, while @file{hardcodedates.py} provides the latter
1763
 
service.  Eventually it is hoped that a @command{blosxom.cgi} plugin and
1764
 
script will be found/written.
 
1937
service.
1765
1938
 
1766
1939
Here is a sample listing from my @file{timestamps} file, which maps
1767
1940
each file to a date.  This can really be in any format, as long as your
1778
1951
directory to where your Muse files are, execute @file{getstamps.py}, and
1779
1952
then move the generated timestamps file to your publishing directory.
1780
1953
 
 
1954
@subsubheading Getting timestamp from entry while rendering
 
1955
 
 
1956
Alternately, the pyblosxom metadate plugin may be used.  On the plus
 
1957
side, there is no need to run a script to gather the date.  On the
 
1958
downside, each entry is read twice rather than once when the page is
 
1959
rendered.  Set the value of @code{muse-blosxom-use-metadate} to non-nil
 
1960
to enable adding a @code{#postdate} directive to all published files.
 
1961
You can do this by:
 
1962
 
 
1963
@example
 
1964
M-x customize-variable RET muse-blosxom-use-metadate RET
 
1965
@end example
 
1966
 
 
1967
With the metadate plugin installed in pyblosxom, the date set in this
 
1968
directive will be used instead of the file's modification time.  The
 
1969
plugin is included with Muse at @file{contrib/pyblosxom/metadate.py}.
 
1970
 
 
1971
@subheading Blosxom
 
1972
 
 
1973
It is also possible to use Blosxom, which is written in Perl, to serve
 
1974
blog entries that were published with Muse.  The steps are as follows.
 
1975
 
 
1976
@enumerate
 
1977
@item
 
1978
Download and install blosxom from @url{http://blosxom.sourceforge.net/}.
 
1979
 
 
1980
@item
 
1981
Install the metadate plugin.  It is available in
 
1982
@file{contrib/blosxom/metadate_0_0_3}.
 
1983
 
 
1984
@item
 
1985
Every time you make a new blog entry, change to the blosxom data
 
1986
directory and execute the @file{contrib/blosxom/getstamps.pl} script.
 
1987
This script has only recently been made, and may still have some bugs,
 
1988
so use with caution.
 
1989
 
 
1990
@end enumerate
 
1991
 
1781
1992
@node Blosxom Entries, Blosxom Options, Blosxom Requirements, Blosxom
1782
1993
@comment  node-name,  next,  previous,  up
1783
1994
@subsection Format of a Blosxom entry and automation
1784
1995
 
1785
1996
Each Blosxom file must include `#date yyyy-mm-dd', or optionally the
1786
 
longer `#date yyyy-mm-dd-hh-mm', a title (using the #title directive),
1787
 
plus whatever normal content is desired.
 
1997
longer `#date yyyy-mm-dd-hh-mm', a title (using the @code{#title}
 
1998
directive), plus whatever normal content is desired.
1788
1999
 
1789
2000
The date directive is not used directly by @command{pyblosxom.cgi} or
1790
2001
this program.  You need to have the two additional items from the former
1866
2077
 
1867
2078
@end table
1868
2079
 
1869
 
@node Book, DocBook, Blosxom, Publishing Styles
 
2080
@node Book, ConTeXt, Blosxom, Publishing Styles
1870
2081
@comment  node-name,  next,  previous,  up
1871
2082
@section Publishing entries into a compilation
1872
2083
 
1879
2090
 
1880
2091
One way of publishing a book is to make a project for it, add the
1881
2092
project to @code{muse-project-alist}, and use the @code{book-pdf} style
1882
 
with a very specific @code{:include} value to specify some page whose
 
2093
with a very specific @option{:include} value to specify some page whose
1883
2094
contents will be checked for the values of @code{#title} and
1884
2095
@code{#date}, and whose name will be used in the output file.  Then to
1885
2096
publish the book, visit the aforementioned page and use @kbd{C-c C-t} or
1960
2171
This may be text or a filename.
1961
2172
 
1962
2173
@end table
1963
 
 
1964
 
@node DocBook, HTML, Book, Publishing Styles
 
2174
@node ConTeXt, DocBook, Book, Publishing Styles
 
2175
@comment  node-name,  next,  previous,  up
 
2176
@section Publishing ConTeXt documents
 
2177
 
 
2178
This publishing style is capable of producing ConTeXt or PDF documents.
 
2179
 
 
2180
If you wish to publish PDF documents based on ConTeXt, you will need to
 
2181
have it installed.  For Debian and Ubuntu, this can be accomplished by
 
2182
installing the ``texlive'' package.
 
2183
 
 
2184
@subheading Styles provided
 
2185
 
 
2186
@table @code
 
2187
 
 
2188
@cindex publishing styles, context
 
2189
@item context
 
2190
Publish a ConTeXt document.
 
2191
 
 
2192
@cindex publishing styles, context-pdf
 
2193
@item context-pdf
 
2194
Publish a PDF document, using an external ConTeXt document conversion
 
2195
tool.
 
2196
 
 
2197
@cindex publishing styles, context-slides
 
2198
@item context-slides
 
2199
Produce slides from a ConTeXt document.
 
2200
 
 
2201
Here is an example of a slide.
 
2202
 
 
2203
@example
 
2204
* First Slide
 
2205
 
 
2206
[[Some-sort-of-cute-image.png]]
 
2207
 
 
2208
** A subheading
 
2209
 
 
2210
 - A bullet point.
 
2211
 - Another bullet point.
 
2212
 
 
2213
* Second Slide
 
2214
 
 
2215
... and so on
 
2216
@end example
 
2217
 
 
2218
@cindex publishing styles, context-slides-pdf
 
2219
@item context-slides-pdf
 
2220
Publish a PDF document of ConTeXt slides.
 
2221
 
 
2222
@end table
 
2223
 
 
2224
@subheading Options provided
 
2225
 
 
2226
@table @code
 
2227
 
 
2228
@item muse-context-extension
 
2229
Default file extension for publishing ConTeXt files.
 
2230
 
 
2231
@item muse-context-pdf-extension
 
2232
Default file extension for publishing ConTeXt files to PDF.
 
2233
 
 
2234
@item muse-context-pdf-program
 
2235
The program that is called to generate PDF content from ConTeXt content.
 
2236
 
 
2237
@item muse-context-pdf-cruft
 
2238
Extensions of files to remove after generating PDF output successfully.
 
2239
 
 
2240
@item muse-context-header
 
2241
Header used for publishing ConTeXt files.
 
2242
 
 
2243
This may be text or a filename.
 
2244
 
 
2245
@item muse-context-footer
 
2246
Footer used for publishing ConTeXt files.
 
2247
 
 
2248
This may be text or a filename.
 
2249
 
 
2250
@item muse-context-markup-regexps
 
2251
List of markup regexps for identifying regions in a Muse page.
 
2252
 
 
2253
For more on the structure of this list,
 
2254
@xref{muse-publish-markup-regexps}.
 
2255
 
 
2256
@item muse-context-markup-functions
 
2257
An alist of style types to custom functions for that kind of text.
 
2258
 
 
2259
For more on the structure of this list,
 
2260
@xref{muse-publish-markup-functions}.
 
2261
 
 
2262
@item muse-context-markup-strings
 
2263
Strings used for marking up text.
 
2264
 
 
2265
These cover the most basic kinds of markup, the handling of which
 
2266
differs little between the various styles.
 
2267
 
 
2268
@item muse-context-slides-header
 
2269
Header for publishing a presentation (slides) using ConTeXt.
 
2270
 
 
2271
Any of the predefined modules, which are available in the
 
2272
tex/context/base directory, can be used by writing a "module" directive
 
2273
at the top of the Muse file; if no such directive is provided, module
 
2274
pre-01 is used.  Alternatively, you can use your own style ("mystyle",
 
2275
in this example) by replacing "\usemodule[]" with "\input mystyle".
 
2276
 
 
2277
This may be text or a filename.
 
2278
 
 
2279
@item muse-context-slides-markup-strings
 
2280
Strings used for marking up text in ConTeXt slides.
 
2281
 
 
2282
@item muse-context-markup-specials-document
 
2283
A table of characters which must be represented specially.
 
2284
These are applied to the entire document, sans already-escaped
 
2285
regions.
 
2286
 
 
2287
@item muse-context-markup-specials-example
 
2288
A table of characters which must be represented specially.
 
2289
These are applied to @verb{|example>|} regions.
 
2290
 
 
2291
With the default interpretation of @verb{|<example>|} regions, no
 
2292
specials need to be escaped.
 
2293
 
 
2294
@item muse-context-markup-specials-literal
 
2295
A table of characters which must be represented specially.
 
2296
This applies to =monospaced text= and @verb{|<code>|} regions.
 
2297
 
 
2298
@item muse-context-markup-specials-url
 
2299
A table of characters which must be represented specially.
 
2300
These are applied to URLs.
 
2301
 
 
2302
@item muse-context-markup-specials-image
 
2303
A table of characters which must be represented specially.
 
2304
These are applied to image filenames.
 
2305
 
 
2306
@item muse-context-permit-contents-tag
 
2307
If nil, ignore @verb{|<contents>|} tags.  Otherwise, insert table of
 
2308
contents.
 
2309
 
 
2310
Most of the time, it is best to have a table of contents on the
 
2311
first page, with a new page immediately following.  To make this
 
2312
work with documents published in both HTML and ConTeXt, we need to
 
2313
ignore the @verb{|<contents>|} tag.
 
2314
 
 
2315
If you don't agree with this, then set this option to non-nil,
 
2316
and it will do what you expect.
 
2317
 
 
2318
@end table
 
2319
 
 
2320
@node DocBook, HTML, ConTeXt, Publishing Styles
1965
2321
@comment  node-name,  next,  previous,  up
1966
2322
@section Publishing in DocBook XML form
1967
2323
 
2209
2565
paragraph of each entry as its "description", and auto-generates tags
2210
2566
for linking to the various entries.
2211
2567
 
 
2568
@subheading muse-project-alist considerations
 
2569
 
 
2570
If you wish to publish an RDF or RSS feed, it is important to include
 
2571
the @option{:base-url} attribute in your @code{muse-project-alist} entry
 
2572
for your Journal projects.  An example follows.
 
2573
 
 
2574
@example
 
2575
(setq muse-project-alist
 
2576
      '(("Journal" ("~/Journal/"
 
2577
                    :default "journal")
 
2578
        (:base "journal-rss"
 
2579
               :base-url "http://example.org/journal/"
 
2580
               :path "~/public_html/journal"))))
 
2581
@end example
 
2582
 
2212
2583
@subheading Styles provided
2213
2584
 
2214
2585
@table @code
2247
2618
@item journal-rss
2248
2619
Publish journal entries as an RSS file (RSS 2.0).
2249
2620
 
 
2621
@cindex publishing styles, journal-rss-entry
 
2622
@item journal-rss-entry
 
2623
Used internally by @code{journal-rss} and @code{journal-rdf} for
 
2624
publishing individual entries.
 
2625
 
2250
2626
@end table
2251
2627
 
2252
2628
@subheading Options provided
2271
2647
@item muse-journal-html-entry-template
2272
2648
Template used to publish individual journal entries as HTML.
2273
2649
 
 
2650
This may be text or a filename.
 
2651
 
2274
2652
@item muse-journal-latex-section
2275
2653
Template used to publish a LaTeX section.
2276
2654
 
2277
2655
@item muse-journal-latex-subsection
2278
2656
Template used to publish a LaTeX subsection.
2279
2657
 
2280
 
@item muse-journal-latex-markup-tags
2281
 
A list of tag specifications, for specially marking up LaTeX.
 
2658
@item muse-journal-markup-tags
 
2659
A list of tag specifications, for specially marking up Journal entries.
2282
2660
 
2283
2661
@xref{muse-publish-markup-tags}, for more information.
2284
2662
 
 
2663
This is used by @code{journal-latex} and its related styles, as well as
 
2664
the @code{journal-rss-entry} style, which both @code{journal-rdf} and
 
2665
@code{journal-rss} use.
 
2666
 
2285
2667
@item muse-journal-rdf-extension
2286
2668
Default file extension for publishing RDF (RSS 1.0) files.
2287
2669
 
2304
2686
@item muse-journal-rdf-entry-template
2305
2687
Template used to publish individual journal entries as RDF.
2306
2688
 
 
2689
This may be text or a filename.
 
2690
 
2307
2691
@item muse-journal-rdf-summarize-entries
2308
2692
If non-nil, include only summaries in the RDF file, not the full data.
2309
2693
 
 
2694
The default is nil, because this annoys some subscribers.
 
2695
 
2310
2696
@item muse-journal-rss-heading-regexp
2311
2697
A regexp that matches a journal heading from an HTML document.
2312
2698
 
2335
2721
@item muse-journal-rss-entry-template
2336
2722
Template used to publish individual journal entries as RSS 2.0.
2337
2723
 
 
2724
This may be text or a filename.
 
2725
 
2338
2726
@item muse-journal-rss-enclosure-types-alist
2339
2727
File types that are accepted as RSS enclosures.
2340
2728
 
2345
2733
@item muse-journal-rss-summarize-entries
2346
2734
If non-nil, include only summaries in the RSS file, not the full data.
2347
2735
 
2348
 
Many RSS subscribers find this annoying.
 
2736
The default is nil, because this annoys some subscribers.
2349
2737
 
2350
2738
@item muse-journal-rss-markup-regexps
2351
2739
List of markup rules for publishing a Muse journal page to RSS.
2416
2804
@item slides-pdf
2417
2805
Publish a PDF document of slides, using the Beamer extension.
2418
2806
 
2419
 
@cindex publishing styles, lecture-nodes
 
2807
@cindex publishing styles, lecture-notes
2420
2808
@item lecture-notes
2421
2809
Publish a LaTeX document that uses the Beamer extension.  This is
2422
2810
suitable for producing lecture notes.
2423
2811
 
2424
2812
This can also use the @verb{|<slide>|} tag.
2425
2813
 
2426
 
@cindex publishing styles, lecture-nodes-pdf
 
2814
@cindex publishing styles, lecture-notes-pdf
2427
2815
@item lecture-notes-pdf
2428
2816
Publish a PDF document of lecture notes, using the Beamer extension.
2429
2817
 
2809
3197
@end table
2810
3198
 
2811
3199
 
2812
 
@node Extending Muse, Getting Help and Reporting Bugs, Publishing Styles, Top
 
3200
@node Extending Muse, Miscellaneous, Publishing Styles, Top
2813
3201
@comment  node-name,  next,  previous,  up
2814
3202
@chapter Making your own publishing styles
2815
3203
 
3516
3904
 
3517
3905
@end table
3518
3906
 
3519
 
 
3520
 
@node Getting Help and Reporting Bugs, History, Extending Muse, Top
 
3907
@node Miscellaneous, Getting Help and Reporting Bugs, Extending Muse, Top
 
3908
@comment  node-name,  next,  previous,  up
 
3909
@chapter Miscellaneous add-ons, like a minor mode
 
3910
 
 
3911
@menu
 
3912
* Muse List Edit Minor Mode::   Edit lists easily in other major modes.
 
3913
@end menu
 
3914
 
 
3915
@node Muse List Edit Minor Mode, , , Miscellaneous
 
3916
@comment  node-name,  next,  previous,  up
 
3917
@section Edit lists easily in other major modes
 
3918
@cindex muse-list-edit-minor-mode
 
3919
 
 
3920
@code{muse-list-edit-minor-mode} is meant to be used with other major
 
3921
modes, such as Message (for composing email) and debian-changelog-mode
 
3922
(for editing debian/changelog files).
 
3923
 
 
3924
It implements practically perfect support for editing and filling lists.
 
3925
It can even handle nested lists.  In addition to Muse-specific list
 
3926
items ("-", numbers, definition lists, footnotes), it can also handle
 
3927
items that begin with "*" or "+".  Filling list items behaves in the
 
3928
same way that it does in Muse, regardless of whether filladapt is also
 
3929
enabled, which is the primary reason to use this tool.
 
3930
 
 
3931
@subheading Installation
 
3932
 
 
3933
To use it, add ``(require 'muse-mode)'' to your Emacs customization file
 
3934
and add the function @code{turn-on-muse-list-edit-minor-mode} to any
 
3935
mode hooks where you wish to enable this minor mode.
 
3936
 
 
3937
@subheading Keybindings
 
3938
 
 
3939
@code{muse-list-edit-minor-mode} uses the following keybindings.
 
3940
 
 
3941
@table @kbd
 
3942
 
 
3943
@item M-RET (`muse-l-e-m-m-insert-list-item')
 
3944
Insert a new list item at point, using the indentation level of the
 
3945
current list item.
 
3946
 
 
3947
@item C-< (`muse-l-e-m-m-decrease-list-item-indent')
 
3948
Decrease indentation of the current list item.
 
3949
 
 
3950
@item C-> (`muse-l-e-m-m-increase-list-item-indent')
 
3951
Increase indentation of the current list item.
 
3952
 
 
3953
@end table
 
3954
 
 
3955
@subheading Functions
 
3956
 
 
3957
@defun muse-list-edit-minor-mode
 
3958
This is a global minor mode for editing files with lists.
 
3959
It is meant to be used with other major modes, and not with Muse mode.
 
3960
 
 
3961
Interactively, with no prefix argument, toggle the mode.
 
3962
With universal prefix @var{arg} turn mode on.
 
3963
With zero or negative @var{arg} turn mode off.
 
3964
 
 
3965
This minor mode provides the Muse keybindings for editing lists,
 
3966
and support for filling lists properly.
 
3967
 
 
3968
It recognizes not only Muse-style lists, which use the "-"
 
3969
character or numbers, but also lists that use asterisks or plus
 
3970
signs.  This should make the minor mode generally useful.
 
3971
 
 
3972
Definition lists and footnotes are also recognized.
 
3973
 
 
3974
Note that list items may omit leading spaces, for compatibility
 
3975
with modes that set @code{left-margin}, such as
 
3976
@code{debian-changelog-mode}.
 
3977
@end defun
 
3978
 
 
3979
@defun turn-on-muse-list-edit-minor-mode
 
3980
Unconditionally turn on Muse list edit minor mode.
 
3981
@end defun
 
3982
 
 
3983
@defun turn-off-muse-list-edit-minor-mode
 
3984
Unconditionally turn off Muse list edit minor mode.
 
3985
@end defun
 
3986
 
 
3987
@node Getting Help and Reporting Bugs, History, Miscellaneous, Top
3521
3988
@comment  node-name,  next,  previous,  up
3522
3989
@chapter Getting Help and Reporting Bugs
3523
3990
@cindex help, getting
3646
4113
emacs-wiki texinfo manual.
3647
4114
 
3648
4115
 
 
4116
@node GNU Free Documentation License, Concept Index, Contributors, Top
 
4117
@appendix GNU Free Documentation License
3649
4118
@include doclicense.texi
3650
4119
 
3651
4120