@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
* 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
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
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
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
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
@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
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.
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
@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
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