]> code.delx.au - gnu-emacs/blobdiff - man/text.texi
(underlying_face_id): New function.
[gnu-emacs] / man / text.texi
index 9fbbd0172228c827858f8c65a4994762b23bc915..cd0c13e3d31312e0f93c49ece2adee3f7a6bc0d9 100644 (file)
@@ -1,5 +1,6 @@
 @c This is part of the Emacs manual.
-@c Copyright (C) 1985, 86, 87, 93, 94, 95, 1997 Free Software Foundation, Inc.
+@c Copyright (C) 1985, 86, 87, 93, 94, 95, 97, 2000
+@c   Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
 @node Text, Programs, Indentation, Top
 @chapter Commands for Human Languages
@@ -391,6 +392,7 @@ Text}).
 * Fill Prefix::                Filling paragraphs that are indented
                           or in a comment, etc.
 * Adaptive Fill::       How Emacs can determine the fill prefix automatically.
+* Refill::              Keeping paragraphs filled.
 @end menu
 
 @node Auto Fill
@@ -531,6 +533,12 @@ two spaces for the end of a sentence, as explained above.  @xref{Sentences}.
   If the variable @code{colon-double-space} is non-@code{nil}, the
 fill commands put two spaces after a colon.
 
+@vindex sentence-end-without-period
+The variable @code{sentence-end-without-period} can be set
+non-@code{nil} to indicate that a sentence will end without a period.
+For example, a sentence in Thai text ends with double space but without
+a period.
+
 @node Fill Prefix
 @subsection The Fill Prefix
 
@@ -691,6 +699,25 @@ line, and it should return the appropriate fill prefix based on that
 line.  If it returns @code{nil}, that means it sees no fill prefix in
 that line.
 
+@node Refill
+@subsection Refill Mode
+@cindex refilling text, word processor style
+@cindex modes, Refill
+@cindex Refill minor mode
+
+Refill minor mode provides support for keeping paragraphs filled as you
+type or modify them in other ways.  It provides an effect similar to
+typical word processor behaviour.  This works by running a
+paragraph-filling command at suitable times.
+
+When you are typing text, only characters which normally trigger auto
+filling, like the space character, will trigger refilling.  This is to
+avoid making it too slow.  Apart from self-inserting characters, other
+commands which modify the text cause refilling.
+
+The current implementation is preliminary and probably not robust.  We
+expect to improve on it.
+
 @node Case
 @section Case Conversion Commands
 @cindex case conversion
@@ -876,6 +903,7 @@ the hook @code{outline-mode-hook} (@pxref{Hooks}).
                                      outlines. 
 * Visibility: Outline Visibility.  Commands to control what is visible.
 * Views: Outline Views.            Outlines and multiple views.
+* Foldout::                        Folding editing.
 @end menu
 
 @node Outline Format
@@ -1120,7 +1148,105 @@ independently; as a result, each buffer can have its own view.  If you
 want more than two views on the same outline, create additional indirect
 buffers.
 
-@node TeX Mode
+@node Foldout
+@subsection Folding editing
+
+@cindex folding editing
+The Foldout package provides folding editor extensions for Outline mode
+and Outline minor mode.  It may be used by putting in your @file{.emacs}
+
+@example
+(eval-after-load "outline" '(require 'foldout))
+@end example
+
+@noindent
+Folding editing works as follows.
+
+Consider an Outline mode buffer all the text and subheadings under
+level-1 headings hidden.  To look at what is hidden under one of these
+headings normally you would use @kbd{C-c C-e} (@kbd{M-x show-entry}) to
+expose the body or @kbd{C-c C-i} to expose the child (level-2) headings.
+
+@kindex C-c C-z
+@findex foldout-zoom-subtree
+With Foldout, you use @kbd{C-c C-z} (@kbd{M-x foldout-zoom-subtree}).
+This exposes the body and child subheadings and narrows the buffer so
+that only the level-1 heading, the body and the level-2 headings are
+visible.  Now to look under one of the level-2 headings, position the
+cursor on it and use @kbd{C-c C-z} again.  This exposes the level-2 body
+and its level-3 child subheadings and narrows the buffer again.  Zooming
+in on successive subheadings can be done as much as you like.  A string
+in the modeline shows how deep you've gone.
+
+When zooming in on a heading, to see only the child subheadings specify
+a numeric argument: @kbd{C-u C-c C-z}.  The number of levels of children
+can be specified too (compare @kbd{M-x show-children}), e.g.@: @kbd{M-2
+C-c C-z} exposes two levels of child subheadings.  Alternatively, the
+body can be spcified with a negative argument: @kbd{M-- C-c C-z}.  The
+whole subtree can be expanded, similarly to @kbd{C-c C-s} (@kbd{M-x
+show-subtree}), by specifying a zero argument: @kbd{M-0 C-c C-z}.
+
+While you're zoomed in you can still use outline-mode's exposure and
+hiding functions without disturbing Foldout.  Also, since the buffer is
+narrowed, `global' editing actions will only affect text under the
+zoomed-in heading.  This is useful for restricting changes to a
+particular chapter or section of your document.
+
+@kindex C-c C-x
+@findex foldout-exit-fold
+Unzoom (exit) a fold using @kbd{C-c C-x} (@kbd{M-x foldout-exit-fold}).
+This hides all the text and subheadings under the top-level heading and
+returns you to the previous view of the buffer.  Specifying a numeric
+argument exits that many folds.  Specifying a zero argument exits all
+folds.
+
+You might want to exit a fold without hiding the text and subheadings,
+specify a negative argument.  For example, @kbd{M--2 C-c C-x} exits two
+folds and leaves the text and subheadings exposed.
+
+Foldout provides mouse bindings for entering and exiting folds and for
+showing and hiding text as follows:
+@table @asis
+@item @kbd{M-C-mouse-1} zooms in on the heading clicked on
+@table @asis
+@item single click
+expose body
+@item double click
+expose subheadings
+@item triple click
+expose body and subheadings
+@item quad click
+expose entire subtree
+@end table
+@item @kbd{M-C-mouse-2} exposes text under the heading clicked on
+@table @r
+@item single click
+expose body
+@item double click
+expose subheadings
+@item triple click
+expose body and subheadings
+@item quad click
+expose entire subtree
+@end table
+@item @kbd{M-C-mouse-3} hides text under the heading clicked on or exits fold
+@table @r
+@item single click
+hide subtree
+@item double click
+exit fold and hide text
+@item triple click
+exit fold without hiding text
+@item quad click
+exit all folds and hide text
+@end table
+@end table
+
+@vindex foldout-mouse-modifiers
+You can change the modifier keys used by setting
+@code{foldout-mouse-modifiers}.
+
+@node TeX Mode, Nroff Mode, Outline Mode, Text
 @section @TeX{} Mode
 @cindex @TeX{} mode
 @cindex La@TeX{} mode
@@ -1136,7 +1262,8 @@ buffers.
   @TeX{} is a powerful text formatter written by Donald Knuth; it is also
 free, like GNU Emacs.  La@TeX{} is a simplified input format for @TeX{},
 implemented by @TeX{} macros; it comes with @TeX{}.  Sli@TeX{} is a special
-form of La@TeX{}.@refill
+form of La@TeX{}.@footnote{Sli@TeX{} is obsoleted by the @samp{slides}
+document class in recent La@TeX{} versions.}
 
   Emacs has a special @TeX{} mode for editing @TeX{} input files.
 It provides facilities for checking the balance of delimiters and for
@@ -1170,6 +1297,45 @@ appropriate.  For Sli@TeX{} files, it calls @code{slitex-mode-hook}.
 Starting the @TeX{} shell runs the hook @code{tex-shell-hook}.
 @xref{Hooks}.
 
+@findex iso-iso2tex
+@findex iso-tex2iso
+@findex iso-iso2gtex
+@findex iso-gtex2iso
+@cindex Latin-1 @TeX{} encoding
+@TeX{} encoding
+@vindex format-alist
+@findex format-find-file
+The commands @kbd{M-x iso-iso2tex}, @kbd{M-x iso-tex2iso}, @kbd{M-x
+iso-iso2gtex} and @kbd{M-x iso-gtex2iso} can be used to convert between
+Latin-1 encoded files and @TeX{}-encoded equivalents.  They are included
+by default in the @code{format-alist} variable, and so an be used with
+@kbd{M-x format-find-file}, for instance.
+
+@findex tildify-buffer
+@findex tildify-region
+@cindex ties, @TeX{}, inserting
+@cindex hard spaces, @TeX{}, inserting
+@cindex SGML
+@cindex HTML
+The commands @kbd{M-x tildify-buffer} and @kbd{M-x tildify-region} can
+be used to insert missing @samp{~} @dfn{tie} characters which should be
+present in the file to represent `hard spaces'.  This is set up for
+Czech---customize the group @samp{tildify} for other languages or for
+other sorts of markup; there is support for SGML (HTML).
+
+@cindex RefTeX package
+@cindex references, La@TeX{}
+@cindex La@TeX{} references
+  For managing all kinds of references for La@TeX{}, you can use
+Ref@TeX{}.  @xref{Top, , RefTeX, reftex}.
+
+@cindex Bib@TeX{} mode
+@cindex mode, Bib@TeX{}
+@pindex bibtex
+@findex bibtex-mode
+There is also a mode for editing files for the Bib@TeX{} bibliography
+program often used with La@TeX{}.
+
 @menu
 * Editing: TeX Editing.   Special commands for editing in TeX mode.
 * LaTeX: LaTeX Editing.   Additional commands for LaTeX input files.
@@ -1343,11 +1509,11 @@ view the progress of your output towards being printed.  If your terminal
 has the ability to display @TeX{} output files, you can preview the
 output on the terminal with @kbd{C-c C-v} (@code{tex-view}).
 
-@cindex @code{TEXINPUTS} environment variable
+@cindex @env{TEXINPUTS} environment variable
 @vindex tex-directory
   You can specify the directory to use for running @TeX{} by setting the
 variable @code{tex-directory}.  @code{"."} is the default value.  If
-your environment variable @code{TEXINPUTS} contains relative directory
+your environment variable @env{TEXINPUTS} contains relative directory
 names, or if your files contains @samp{\input} commands with relative
 file names, then @code{tex-directory} @emph{must} be @code{"."} or you
 will get the wrong results.  Otherwise, it is safe to specify some other
@@ -1464,9 +1630,6 @@ current buffer's file.  Generally, you need to do @kbd{C-c C-f}
 @kbd{C-c TAB} (@code{tex-bibtex-file}), and then repeat @kbd{C-c C-f}
 (@code{tex-file}) twice more to get the cross-references correct.
 
-  For managing all kinds of references, you can use Ref@TeX{}.
-@xref{Top, , RefTeX, reftex}.
-
 @node Nroff Mode
 @section Nroff Mode
 
@@ -1535,6 +1698,7 @@ used in conjunction with Text mode (@pxref{Text Mode}).  However, you
 can also use it with other major modes such as Outline mode and
 Paragraph-Indent Text mode.
 
+@cindex text/enriched MIME format
   Potentially, Emacs can store formatted text files in various file
 formats.  Currently, only one format is implemented: @dfn{text/enriched}
 format, which is defined by the MIME protocol.  @xref{Format