emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to text.texi


From: Glenn Morris
Subject: [Emacs-diffs] Changes to text.texi
Date: Thu, 06 Sep 2007 04:40:53 +0000

CVSROOT:        /sources/emacs
Module name:    emacs
Changes by:     Glenn Morris <gm>       07/09/06 04:40:53

Index: text.texi
===================================================================
RCS file: text.texi
diff -N text.texi
--- text.texi   21 Jan 2007 04:41:10 -0000      1.75
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,2901 +0,0 @@
address@hidden This is part of the Emacs manual.
address@hidden Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 
2001,
address@hidden   2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, 
Inc.
address@hidden See file emacs.texi for copying conditions.
address@hidden Text, Programs, Indentation, Top
address@hidden Commands for Human Languages
address@hidden text
address@hidden manipulating text
-
-  The term @dfn{text} has two widespread meanings in our area of the
-computer field.  One is data that is a sequence of characters.  Any file
-that you edit with Emacs is text, in this sense of the word.  The other
-meaning is more restrictive: a sequence of characters in a human language
-for humans to read (possibly after processing by a text formatter), as
-opposed to a program or binary data.  This chapter is concerned with
-editing text in the narrower sense.
-
-  Human languages have syntactic/stylistic conventions that can be
-supported or used to advantage by editor commands: conventions involving
-words, sentences, paragraphs, and capital letters.  This chapter
-describes Emacs commands for all of these things.  There are also
-commands for @dfn{filling}, which means rearranging the lines of a
-paragraph to be approximately equal in length.  The commands for moving
-over and killing words, sentences and paragraphs, while intended
-primarily for editing text, are also often useful for editing programs.
-
-  Emacs has several major modes for editing human-language text.  If the
-file contains text pure and simple, use Text mode, which customizes
-Emacs in small ways for the syntactic conventions of text.  Outline mode
-provides special commands for operating on text with an outline
-structure.
address@hidden
address@hidden Mode}.
address@hidden iftex
-
-  For text which contains embedded commands for text formatters, Emacs
-has other major modes, each for a particular formatter.  Thus, for
-input to @TeX{}, you would use @TeX{}
address@hidden
-mode (@pxref{TeX Mode,,@TeX{} Mode}).
address@hidden iftex
address@hidden
-mode.
address@hidden ifnottex
-For input to groff or nroff, use Nroff mode.
-
-  Instead of using a text formatter, you can edit formatted text in
-WYSIWYG style (``what you see is what you get''), with Enriched mode.
-Then the formatting appears on the screen in Emacs while you edit.
address@hidden
address@hidden Text}.
address@hidden iftex
-
address@hidden ASCII art
-  If you need to edit pictures made out of text characters (commonly
-referred to as ``ASCII art''), use @kbd{M-x edit-picture} to enter
-Picture mode, a special major mode for editing such pictures.
address@hidden
address@hidden Mode,,, emacs-xtra, Specialized Emacs Features}.
address@hidden iftex
address@hidden
address@hidden Mode}.
address@hidden ifnottex
-
-
address@hidden skeletons
address@hidden templates
address@hidden autotyping
address@hidden automatic typing
-  The ``automatic typing'' features may be useful when writing text.
address@hidden,, autotype}.
-
address@hidden
-* Words::              Moving over and killing words.
-* Sentences::          Moving over and killing sentences.
-* Paragraphs::         Moving over paragraphs.
-* Pages::              Moving over pages.
-* Filling::            Filling or justifying text.
-* Case::               Changing the case of text.
-* Text Mode::          The major modes for editing text files.
-* Outline Mode::        Editing outlines.
-* TeX Mode::           Editing input to the formatter TeX.
-* HTML Mode::           Editing HTML, SGML, and XML files.
-* Nroff Mode::         Editing input to the formatter nroff.
-* Formatted Text::      Editing formatted text directly in WYSIWYG fashion.
-* Text Based Tables::   Editing text-based tables in WYSIWYG fashion.
address@hidden menu
-
address@hidden Words
address@hidden Words
address@hidden words
address@hidden Meta commands and words
-
-  Emacs has commands for moving over or operating on words.  By convention,
-the keys for them are all Meta characters.
-
address@hidden @kbd
address@hidden M-f
-Move forward over a word (@code{forward-word}).
address@hidden M-b
-Move backward over a word (@code{backward-word}).
address@hidden M-d
-Kill up to the end of a word (@code{kill-word}).
address@hidden address@hidden
-Kill back to the beginning of a word (@code{backward-kill-word}).
address@hidden M-@@
-Mark the end of the next word (@code{mark-word}).
address@hidden M-t
-Transpose two words or drag a word across others
-(@code{transpose-words}).
address@hidden table
-
-  Notice how these keys form a series that parallels the character-based
address@hidden, @kbd{C-b}, @kbd{C-d}, @key{DEL} and @kbd{C-t}.  @kbd{M-@@} is
-cognate to @kbd{C-@@}, which is an alias for @address@hidden
-
address@hidden M-f
address@hidden M-b
address@hidden forward-word
address@hidden backward-word
-  The commands @kbd{M-f} (@code{forward-word}) and @kbd{M-b}
-(@code{backward-word}) move forward and backward over words.  These
-Meta characters are thus analogous to the corresponding control
-characters, @kbd{C-f} and @kbd{C-b}, which move over single characters
-in the text.  The analogy extends to numeric arguments, which serve as
-repeat counts.  @kbd{M-f} with a negative argument moves backward, and
address@hidden with a negative argument moves forward.  Forward motion
-stops right after the last letter of the word, while backward motion
-stops right before the first letter.
-
address@hidden M-d
address@hidden kill-word
-  @kbd{M-d} (@code{kill-word}) kills the word after point.  To be
-precise, it kills everything from point to the place @kbd{M-f} would
-move to.  Thus, if point is in the middle of a word, @kbd{M-d} kills
-just the part after point.  If some punctuation comes between point and the
-next word, it is killed along with the word.  (If you wish to kill only the
-next word but not the punctuation before it, simply do @kbd{M-f} to get
-the end, and kill the word backwards with @address@hidden)
address@hidden takes arguments just like @kbd{M-f}.
-
address@hidden backward-kill-word
address@hidden M-DEL
-  @address@hidden (@code{backward-kill-word}) kills the word before
-point.  It kills everything from point back to where @kbd{M-b} would
-move to.  For instance, if point is after the space in @address@hidden,
-BAR}}, it kills @address@hidden, }}.  If you wish to kill just
address@hidden, and not the comma and the space, use @kbd{M-b M-d} instead
-of @address@hidden
-
address@hidden Don't index M-t and transpose-words here, they are indexed in
address@hidden fixit.texi, in the node "Transpose".
address@hidden @kindex M-t
address@hidden @findex transpose-words
-  @kbd{M-t} (@code{transpose-words}) exchanges the word before or
-containing point with the following word.  The delimiter characters between
-the words do not move.  For example, @address@hidden, BAR}} transposes into
address@hidden@samp{BAR, FOO}} rather than @address@hidden FOO,}}.  
@xref{Transpose}, for
-more on transposition.
-
address@hidden M-@@
address@hidden mark-word
-  To operate on the next @var{n} words with an operation which applies
-between point and mark, you can either set the mark at point and then move
-over the words, or you can use the command @kbd{M-@@} (@code{mark-word})
-which does not move point, but sets the mark where @kbd{M-f} would move
-to.  @kbd{M-@@} accepts a numeric argument that says how many words to
-scan for the place to put the mark.  In Transient Mark mode, this command
-activates the mark.
-
-  The word commands' understanding of word boundaries is controlled
-by the syntax table.  Any character can, for example, be declared to
-be a word delimiter.  @xref{Syntax}.
-
address@hidden Sentences
address@hidden Sentences
address@hidden sentences
address@hidden manipulating sentences
-
-  The Emacs commands for manipulating sentences and paragraphs are mostly
-on Meta keys, so as to be like the word-handling commands.
-
address@hidden @kbd
address@hidden M-a
-Move back to the beginning of the sentence (@code{backward-sentence}).
address@hidden M-e
-Move forward to the end of the sentence (@code{forward-sentence}).
address@hidden M-k
-Kill forward to the end of the sentence (@code{kill-sentence}).
address@hidden C-x @key{DEL}
-Kill back to the beginning of the sentence (@code{backward-kill-sentence}).
address@hidden table
-
address@hidden M-a
address@hidden M-e
address@hidden backward-sentence
address@hidden forward-sentence
-  The commands @kbd{M-a} and @kbd{M-e} (@code{backward-sentence} and
address@hidden) move to the beginning and end of the current
-sentence, respectively.  They were chosen to resemble @kbd{C-a} and
address@hidden, which move to the beginning and end of a line.  Unlike
-them, @kbd{M-a} and @kbd{M-e} move over successive sentences if
-repeated.
-
-  Moving backward over a sentence places point just before the first
-character of the sentence; moving forward places point right after the
-punctuation that ends the sentence.  Neither one moves over the
-whitespace at the sentence boundary.
-
address@hidden M-k
address@hidden C-x DEL
address@hidden kill-sentence
address@hidden backward-kill-sentence
-  Just as @kbd{C-a} and @kbd{C-e} have a kill command, @kbd{C-k}, to go
-with them, so @kbd{M-a} and @kbd{M-e} have a corresponding kill command
address@hidden (@code{kill-sentence}) which kills from point to the end of
-the sentence.  With minus one as an argument it kills back to the
-beginning of the sentence.  Larger arguments serve as a repeat count.
-There is also a command, @kbd{C-x @key{DEL}}
-(@code{backward-kill-sentence}), for killing back to the beginning of a
-sentence.  This command is useful when you change your mind in the
-middle of composing text.
-
-  The sentence commands assume that you follow the American typist's
-convention of putting two spaces at the end of a sentence; they consider
-a sentence to end wherever there is a @samp{.}, @samp{?} or @samp{!}
-followed by the end of a line or two spaces, with any number of
address@hidden)}, @samp{]}, @samp{'}, or @samp{"} characters allowed in between.
-A sentence also begins or ends wherever a paragraph begins or ends.
-It is useful to follow this convention, because it makes a distinction
-between periods that end a sentence and periods that indicate
-abbreviations; that enables the Emacs sentence commands to distinguish,
-too.  These commands do not stop for periods that indicate abbreviations.
-
address@hidden sentence-end-double-space
-  If you want to use just one space between sentences, you can set the
-variable @code{sentence-end-double-space} to @code{nil} to make the
-sentence commands stop for single spaces.  However, this mode has a
-drawback: there is no way to distinguish between periods that end
-sentences and those that indicate abbreviations.  For convenient and
-reliable editing, we therefore recommend you follow the two-space
-convention.  The variable @code{sentence-end-double-space} also
-affects filling (@pxref{Fill Commands}) in related ways.
-
address@hidden sentence-end
-  The variable @code{sentence-end} controls how to recognize the end
-of a sentence.  If address@hidden, it is a regexp that matches the
-last few characters of a sentence, together with the whitespace
-following the sentence.  If the value is @code{nil}, the default, then
-Emacs computes the regexp according to various criteria such as the
-value of @code{sentence-end-double-space}.  @xref{Regexp Example}, for
-a detailed explanation of one of the regular expressions Emacs uses
-for this purpose.
-
address@hidden sentence-end-without-period
-  Some languages do not use periods to indicate the end of a sentence.
-For example, sentences in Thai end with a double space but without a
-period.  Set the variable @code{sentence-end-without-period} to
address@hidden in such cases.
-
address@hidden Paragraphs
address@hidden Paragraphs
address@hidden paragraphs
address@hidden manipulating paragraphs
address@hidden address@hidden
address@hidden address@hidden
address@hidden backward-paragraph
address@hidden forward-paragraph
-
-  The Emacs commands for manipulating paragraphs are also on Meta keys.
-
address@hidden @kbd
address@hidden address@hidden
-Move back to previous paragraph beginning (@code{backward-paragraph}).
address@hidden address@hidden
-Move forward to next paragraph end (@code{forward-paragraph}).
address@hidden M-h
-Put point and mark around this or next paragraph (@code{mark-paragraph}).
address@hidden table
-
-  @address@hidden moves to the beginning of the current or previous
-paragraph, while @address@hidden moves to the end of the current or next
-paragraph.  Blank lines and text-formatter command lines separate
-paragraphs and are not considered part of any paragraph.  If there is
-a blank line before the paragraph, @address@hidden moves to the blank line,
-because that is convenient in practice.
-
-  In Text mode, an indented line is not a paragraph break.  If you
-want indented lines to have this effect, use Paragraph-Indent Text
-mode instead.  @xref{Text Mode}.
-
-  In major modes for programs, paragraphs begin and end only at blank
-lines.  This makes the paragraph commands useful, even though there
-are no paragraphs as such in a program.
-
-  When you have set a fill prefix, then paragraphs are delimited by
-all lines which don't start with the fill prefix.  @xref{Filling}.
-
address@hidden M-h
address@hidden mark-paragraph
-  When you wish to operate on a paragraph, you can use the command
address@hidden (@code{mark-paragraph}) to set the region around it.  Thus,
-for example, @kbd{M-h C-w} kills the paragraph around or after point.
-The @kbd{M-h} command puts point at the beginning and mark at the end of
-the paragraph point was in.  In Transient Mark mode, it activates the
-mark.  If point is between paragraphs (in a run of blank lines, or at a
-boundary), the paragraph following point is surrounded by point and
-mark.  If there are blank lines preceding the first line of the
-paragraph, one of these blank lines is included in the region.
-
address@hidden paragraph-start
address@hidden paragraph-separate
-  The precise definition of a paragraph boundary is controlled by the
-variables @code{paragraph-separate} and @code{paragraph-start}.  The
-value of @code{paragraph-start} is a regexp that should match any line
-that either starts or separates paragraphs.  The value of
address@hidden is another regexp that should match only lines
-that separate paragraphs without being part of any paragraph (for
-example, blank lines).  Lines that start a new paragraph and are
-contained in it must match only @code{paragraph-start}, not
address@hidden  Each regular expression must match at the
-left margin.  For example, in Fundamental mode, @code{paragraph-start}
-is @address@hidden"\f\\|[ \t]*$"}}, and @code{paragraph-separate} is
address@hidden@code{"[ \t\f]*$"}}.
-
-  Normally it is desirable for page boundaries to separate paragraphs.
-The default values of these variables recognize the usual separator for
-pages.
-
address@hidden Pages
address@hidden Pages
-
address@hidden pages
address@hidden formfeed
-  Files are often thought of as divided into @dfn{pages} by the
address@hidden character (@acronym{ASCII} control-L, octal code 014).
-When you print hardcopy for a file, this character forces a page break;
-thus, each page of the file goes on a separate page on paper.  Most Emacs
-commands treat the page-separator character just like any other
-character: you can insert it with @kbd{C-q C-l}, and delete it with
address@hidden  Thus, you are free to paginate your file or not.  However,
-since pages are often meaningful divisions of the file, Emacs provides
-commands to move over them and operate on them.
-
address@hidden @kbd
address@hidden C-x [
-Move point to previous page boundary (@code{backward-page}).
address@hidden C-x ]
-Move point to next page boundary (@code{forward-page}).
address@hidden C-x C-p
-Put point and mark around this page (or another page) (@code{mark-page}).
address@hidden C-x l
-Count the lines in this page (@code{count-lines-page}).
address@hidden table
-
address@hidden C-x [
address@hidden C-x ]
address@hidden forward-page
address@hidden backward-page
-  The @kbd{C-x [} (@code{backward-page}) command moves point to immediately
-after the previous page delimiter.  If point is already right after a page
-delimiter, it skips that one and stops at the previous one.  A numeric
-argument serves as a repeat count.  The @kbd{C-x ]} (@code{forward-page})
-command moves forward past the next page delimiter.
-
address@hidden C-x C-p
address@hidden mark-page
-  The @kbd{C-x C-p} command (@code{mark-page}) puts point at the
-beginning of the current page and the mark at the end.  The page
-delimiter at the end is included (the mark follows it).  The page
-delimiter at the front is excluded (point follows it).  In Transient
-Mark mode, this command activates the mark.
-
-  @kbd{C-x C-p C-w} is a handy way to kill a page to move it
-elsewhere.  If you move to another page delimiter with @kbd{C-x [} and
address@hidden ]}, then yank the killed page, all the pages will be properly
-delimited once again.  The reason @kbd{C-x C-p} includes only the
-following page delimiter in the region is to ensure that.
-
-  A numeric argument to @kbd{C-x C-p} is used to specify which page to go
-to, relative to the current one.  Zero means the current page.  One means
-the next page, and @minus{}1 means the previous one.
-
address@hidden C-x l
address@hidden count-lines-page
-  The @kbd{C-x l} command (@code{count-lines-page}) is good for deciding
-where to break a page in two.  It displays in the echo area the total number
-of lines in the current page, and then divides it up into those preceding
-the current line and those following, as in
-
address@hidden
-Page has 96 (72+25) lines
address@hidden example
-
address@hidden
-  Notice that the sum is off by one; this is correct if point is not at the
-beginning of a line.
-
address@hidden page-delimiter
-  The variable @code{page-delimiter} controls where pages begin.  Its
-value is a regexp that matches the beginning of a line that separates
-pages.  The normal value of this variable is @code{"^\f"}, which
-matches a formfeed character at the beginning of a line.
-
address@hidden Filling
address@hidden Filling Text
address@hidden filling text
-
-  @dfn{Filling} text means breaking it up into lines that fit a
-specified width.  Emacs does filling in two ways.  In Auto Fill mode,
-inserting text with self-inserting characters also automatically fills
-it.  There are also explicit fill commands that you can use when editing
-text leaves it unfilled.  When you edit formatted text, you can specify
-a style of filling for each portion of the text (@pxref{Formatted
-Text}).
-
address@hidden
-* Auto Fill::          Auto Fill mode breaks long lines automatically.
-* Fill Commands::       Commands to refill paragraphs and center lines.
-* 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.
-* Longlines::           Editing text with very long lines.
address@hidden menu
-
address@hidden Auto Fill
address@hidden Auto Fill Mode
address@hidden Auto Fill mode
address@hidden mode, Auto Fill
-
-  @dfn{Auto Fill} mode is a minor mode in which lines are broken
-automatically when they become too wide.  Breaking happens only when
-you type a @key{SPC} or @key{RET}.
-
address@hidden @kbd
address@hidden M-x auto-fill-mode
-Enable or disable Auto Fill mode.
address@hidden @key{SPC}
address@hidden @key{RET}
-In Auto Fill mode, break lines when appropriate.
address@hidden table
-
address@hidden auto-fill-mode
-  @kbd{M-x auto-fill-mode} turns Auto Fill mode on if it was off, or off
-if it was on.  With a positive numeric argument it always turns Auto
-Fill mode on, and with a negative argument always turns it off.  You can
-see when Auto Fill mode is in effect by the presence of the word
address@hidden in the mode line, inside the parentheses.  Auto Fill mode is
-a minor mode which is enabled or disabled for each buffer individually.
address@hidden Modes}.
-
-  In Auto Fill mode, lines are broken automatically at spaces when they
-get longer than the desired width.  Line breaking and rearrangement
-takes place only when you type @key{SPC} or @key{RET}.  If you wish to
-insert a space or newline without permitting line-breaking, type
address@hidden @key{SPC}} or @kbd{C-q C-j} (recall that a newline is really a
-control-J).  Also, @kbd{C-o} inserts a newline without line breaking.
-
-  Auto Fill mode works well with programming-language modes, because it
-indents new lines with @key{TAB}.  If a line ending in a comment gets
-too long, the text of the comment is split into two comment lines.
-Optionally, new comment delimiters are inserted at the end of the first
-line and the beginning of the second so that each line is a separate
-comment; the variable @code{comment-multi-line} controls the choice
-(@pxref{Comments}).
-
-  Adaptive filling (@pxref{Adaptive Fill}) works for Auto Filling as
-well as for explicit fill commands.  It takes a fill prefix
-automatically from the second or first line of a paragraph.
-
-  Auto Fill mode does not refill entire paragraphs; it can break lines but
-cannot merge lines.  So editing in the middle of a paragraph can result in
-a paragraph that is not correctly filled.  The easiest way to make the
-paragraph properly filled again is usually with the explicit fill commands.
address@hidden
address@hidden Commands}.
address@hidden ifnottex
-
-  Many users like Auto Fill mode and want to use it in all text files.
-The section on init files says how to arrange this permanently for yourself.
address@hidden File}.
-
address@hidden Fill Commands
address@hidden Explicit Fill Commands
-
address@hidden @kbd
address@hidden M-q
-Fill current paragraph (@code{fill-paragraph}).
address@hidden C-x f
-Set the fill column (@code{set-fill-column}).
address@hidden M-x fill-region
-Fill each paragraph in the region (@code{fill-region}).
address@hidden M-x fill-region-as-paragraph
-Fill the region, considering it as one paragraph.
address@hidden M-s
-Center a line.
address@hidden table
-
address@hidden M-q
address@hidden fill-paragraph
-  To refill a paragraph, use the command @kbd{M-q}
-(@code{fill-paragraph}).  This operates on the paragraph that point is
-inside, or the one after point if point is between paragraphs.
-Refilling works by removing all the line-breaks, then inserting new ones
-where necessary.
-
address@hidden fill-region
-  To refill many paragraphs, use @kbd{M-x fill-region}, which
-finds the paragraphs in the region and fills each of them.
-
address@hidden fill-region-as-paragraph
-  @kbd{M-q} and @code{fill-region} use the same criteria as @kbd{M-h}
-for finding paragraph boundaries (@pxref{Paragraphs}).  For more
-control, you can use @kbd{M-x fill-region-as-paragraph}, which refills
-everything between point and mark as a single paragraph.  This command
-deletes any blank lines within the region, so separate blocks of text
-end up combined into one block.
-
address@hidden justification
-  A numeric argument to @kbd{M-q} tells it to @dfn{justify} the text
-as well as filling it.  This means that extra spaces are inserted to
-make the right margin line up exactly at the fill column.  To remove
-the extra spaces, use @kbd{M-q} with no argument.  (Likewise for
address@hidden)  Another way to control justification, and choose
-other styles of filling, is with the @code{justification} text
-property; see @ref{Format Justification}.
-
address@hidden M-s @r{(Text mode)}
address@hidden centering
address@hidden center-line
-  The command @kbd{M-s} (@code{center-line}) centers the current line
-within the current fill column.  With an argument @var{n}, it centers
address@hidden lines individually and moves past them.  This binding is
-made by Text mode and is available only in that and related modes
-(@pxref{Text Mode}).
-
address@hidden fill-column
address@hidden C-x f
address@hidden set-fill-column
-  The maximum line width for filling is in the variable
address@hidden  Altering the value of @code{fill-column} makes it
-local to the current buffer; until that time, the default value is in
-effect.  The default is initially 70.  @xref{Locals}.  The easiest way
-to set @code{fill-column} is to use the command @kbd{C-x f}
-(@code{set-fill-column}).  With a numeric argument, it uses that as the
-new fill column.  With just @kbd{C-u} as argument, it sets
address@hidden to the current horizontal position of point.
-
-  Emacs commands normally consider a period followed by two spaces or by
-a newline as the end of a sentence; a period followed by just one space
-indicates an abbreviation and not the end of a sentence.  To preserve
-the distinction between these two ways of using a period, the fill
-commands do not break a line after a period followed by just one space.
-
-  If the variable @code{sentence-end-double-space} is @code{nil}, the
-fill commands expect and leave just one space at the end of a sentence.
-Ordinarily this variable is @code{t}, so the fill commands insist on
-two spaces for the end of a sentence, as explained above.  @xref{Sentences}.
-
address@hidden colon-double-space
-  If the variable @code{colon-double-space} is address@hidden, the
-fill commands put two spaces after a colon.
-
address@hidden fill-nobreak-predicate
-  The variable @code{fill-nobreak-predicate} is a hook (an abnormal
-hook, @pxref{Hooks}) specifying additional conditions where
-line-breaking is not allowed.  Each function is called with no
-arguments, with point at a place where Emacs is considering breaking
-the line.  If a function returns a address@hidden value, then that's
-a bad place to break the line.  Two standard functions you can use are
address@hidden (don't break after the first word of
-a sentence or before the last) and @code{fill-french-nobreak-p} (don't
-break after @samp{(} or before @samp{)}, @samp{:} or @samp{?}).
-
address@hidden Fill Prefix
address@hidden The Fill Prefix
-
address@hidden fill prefix
-  To fill a paragraph in which each line starts with a special marker
-(which might be a few spaces, giving an indented paragraph), you can use
-the @dfn{fill prefix} feature.  The fill prefix is a string that Emacs
-expects every line to start with, and which is not included in filling.
-You can specify a fill prefix explicitly; Emacs can also deduce the
-fill prefix automatically (@pxref{Adaptive Fill}).
-
address@hidden @kbd
address@hidden C-x .
-Set the fill prefix (@code{set-fill-prefix}).
address@hidden M-q
-Fill a paragraph using current fill prefix (@code{fill-paragraph}).
address@hidden M-x fill-individual-paragraphs
-Fill the region, considering each change of indentation as starting a
-new paragraph.
address@hidden M-x fill-nonuniform-paragraphs
-Fill the region, considering only paragraph-separator lines as starting
-a new paragraph.
address@hidden table
-
address@hidden C-x .
address@hidden set-fill-prefix
-  To specify a fill prefix for the current buffer, move to a line that
-starts with the desired prefix, put point at the end of the prefix,
-and type @address@hidden .}}@: (@code{set-fill-prefix}).  (That's a period
-after the @kbd{C-x}.)  To turn off the fill prefix, specify an empty
-prefix: type @address@hidden .}}@: with point at the beginning of a line.
-
-  When a fill prefix is in effect, the fill commands remove the fill
-prefix from each line of the paragraph before filling and insert it on
-each line after filling.  (The beginning of the first line of the
-paragraph is left unchanged, since often that is intentionally
-different.)  Auto Fill mode also inserts the fill prefix automatically
-when it makes a new line.  The @kbd{C-o} command inserts the fill
-prefix on new lines it creates, when you use it at the beginning of a
-line (@pxref{Blank Lines}).  Conversely, the command @kbd{M-^} deletes
-the prefix (if it occurs) after the newline that it deletes
-(@pxref{Indentation}).
-
-  For example, if @code{fill-column} is 40 and you set the fill prefix
-to @samp{;; }, then @kbd{M-q} in the following text
-
address@hidden
-;; This is an
-;; example of a paragraph
-;; inside a Lisp-style comment.
address@hidden example
-
address@hidden
-produces this:
-
address@hidden
-;; This is an example of a paragraph
-;; inside a Lisp-style comment.
address@hidden example
-
-  Lines that do not start with the fill prefix are considered to start
-paragraphs, both in @kbd{M-q} and the paragraph commands; this gives
-good results for paragraphs with hanging indentation (every line
-indented except the first one).  Lines which are blank or indented once
-the prefix is removed also separate or start paragraphs; this is what
-you want if you are writing multi-paragraph comments with a comment
-delimiter on each line.
-
address@hidden fill-individual-paragraphs
-  You can use @kbd{M-x fill-individual-paragraphs} to set the fill
-prefix for each paragraph automatically.  This command divides the
-region into paragraphs, treating every change in the amount of
-indentation as the start of a new paragraph, and fills each of these
-paragraphs.  Thus, all the lines in one ``paragraph'' have the same
-amount of indentation.  That indentation serves as the fill prefix for
-that paragraph.
-
address@hidden fill-nonuniform-paragraphs
-  @kbd{M-x fill-nonuniform-paragraphs} is a similar command that divides
-the region into paragraphs in a different way.  It considers only
-paragraph-separating lines (as defined by @code{paragraph-separate}) as
-starting a new paragraph.  Since this means that the lines of one
-paragraph may have different amounts of indentation, the fill prefix
-used is the smallest amount of indentation of any of the lines of the
-paragraph.  This gives good results with styles that indent a paragraph's
-first line more or less that the rest of the paragraph.
-
address@hidden fill-prefix
-  The fill prefix is stored in the variable @code{fill-prefix}.  Its value
-is a string, or @code{nil} when there is no fill prefix.  This is a
-per-buffer variable; altering the variable affects only the current buffer,
-but there is a default value which you can change as well.  @xref{Locals}.
-
-  The @code{indentation} text property provides another way to control
-the amount of indentation paragraphs receive.  @xref{Format Indentation}.
-
address@hidden Adaptive Fill
address@hidden Adaptive Filling
-
address@hidden adaptive filling
-  The fill commands can deduce the proper fill prefix for a paragraph
-automatically in certain cases: either whitespace or certain punctuation
-characters at the beginning of a line are propagated to all lines of the
-paragraph.
-
-  If the paragraph has two or more lines, the fill prefix is taken from
-the paragraph's second line, but only if it appears on the first line as
-well.
-
-  If a paragraph has just one line, fill commands @emph{may} take a
-prefix from that line.  The decision is complicated because there are
-three reasonable things to do in such a case:
-
address@hidden @bullet
address@hidden
-Use the first line's prefix on all the lines of the paragraph.
-
address@hidden
-Indent subsequent lines with whitespace, so that they line up under the
-text that follows the prefix on the first line, but don't actually copy
-the prefix from the first line.
-
address@hidden
-Don't do anything special with the second and following lines.
address@hidden itemize
-
-  All three of these styles of formatting are commonly used.  So the
-fill commands try to determine what you would like, based on the prefix
-that appears and on the major mode.  Here is how.
-
address@hidden adaptive-fill-first-line-regexp
-  If the prefix found on the first line matches
address@hidden, or if it appears to be a
-comment-starting sequence (this depends on the major mode), then the
-prefix found is used for filling the paragraph, provided it would not
-act as a paragraph starter on subsequent lines.
-
-  Otherwise, the prefix found is converted to an equivalent number of
-spaces, and those spaces are used as the fill prefix for the rest of the
-lines, provided they would not act as a paragraph starter on subsequent
-lines.
-
-  In Text mode, and other modes where only blank lines and page
-delimiters separate paragraphs, the prefix chosen by adaptive filling
-never acts as a paragraph starter, so it can always be used for filling.
-
address@hidden adaptive-fill-mode
address@hidden adaptive-fill-regexp
-  The variable @code{adaptive-fill-regexp} determines what kinds of line
-beginnings can serve as a fill prefix: any characters at the start of
-the line that match this regular expression are used.  If you set the
-variable @code{adaptive-fill-mode} to @code{nil}, the fill prefix is
-never chosen automatically.
-
address@hidden adaptive-fill-function
-  You can specify more complex ways of choosing a fill prefix
-automatically by setting the variable @code{adaptive-fill-function} to a
-function.  This function is called with point after the left margin of a
-line, and it should return the appropriate fill prefix based on that
-line.  If it returns @code{nil}, @code{adaptive-fill-regexp} gets
-a chance to find a prefix.
-
address@hidden Refill
address@hidden Refill Mode
address@hidden refilling text, word processor style
address@hidden modes, Refill
address@hidden 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 behavior.  This works by running a
-paragraph-filling command at suitable times.
-
-  To toggle the use of Refill mode in the current buffer, type
address@hidden refill-mode}.  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 not robust.  You can
-get better ``line wrapping'' behavior using Longlines mode.
address@hidden  However, Longlines mode has an important
-side-effect: the newlines that it inserts for you are not saved to
-disk, so the files that you make with Longlines mode will appear to be
-completely unfilled if you edit them without Longlines mode.
-
address@hidden Longlines
address@hidden Long Lines Mode
address@hidden refilling text, word processor style
address@hidden modes, Long Lines
address@hidden word wrap
address@hidden Long Lines minor mode
-
-  Long Lines mode is a minor mode for @dfn{word wrapping}; it lets you
-edit ``unfilled'' text files, which Emacs would normally display as a
-bunch of extremely long lines.  Many text editors, such as those built
-into many web browsers, normally do word wrapping.
-
address@hidden longlines-mode
-  To enable Long Lines mode, type @kbd{M-x longlines-mode}.  If the
-text is full of long lines, this will ``wrap'' them
-immediately---i.e., break up to fit in the window.  As you edit the
-text, Long Lines mode automatically re-wraps lines by inserting or
-deleting @dfn{soft newlines} as necessary (@pxref{Hard and Soft
-Newlines}.)  These soft newlines won't show up when you save the
-buffer into a file, or when you copy the text into the kill ring,
-clipboard, or a register.
-
address@hidden longlines-auto-wrap
-  Word wrapping is @emph{not} the same as ordinary filling
-(@pxref{Fill Commands}).  It does not contract multiple spaces into a
-single space, recognize fill prefixes (@pxref{Fill Prefix}), or
-perform adaptive filling (@pxref{Adaptive Fill}).  The reason for this
-is that a wrapped line is still, conceptually, a single line.  Each
-soft newline is equivalent to exactly one space in that long line, and
-vice versa.  However, you can still call filling functions such as
address@hidden, and these will work as expected, inserting soft newlines
-that won't show up on disk or when the text is copied.  You can even
-rely entirely on the normal fill commands by turning off automatic
-line wrapping, with @kbd{C-u M-x longlines-auto-wrap}.  To turn
-automatic line wrapping back on, type @kbd{M-x longlines-auto-wrap}.
-
address@hidden longlines-show-hard-newlines
-  Type @kbd{RET} to insert a hard newline, one which automatic
-refilling will not remove.  If you want to see where all the hard
-newlines are, type @kbd{M-x longlines-show-hard-newlines}.  This will
-mark each hard newline with a special symbol.  The same command with a
-prefix argument turns this display off.
-
-  Long Lines mode does not change normal text files that are already
-filled, since the existing newlines are considered hard newlines.
-Before Long Lines can do anything, you need to transform each
-paragraph into a long line.  One way is to set @code{fill-column} to a
-large number (e.g., @kbd{C-u 9999 C-x f}), re-fill all the paragraphs,
-and then set @code{fill-column} back to its original value.
-
address@hidden Case
address@hidden Case Conversion Commands
address@hidden case conversion
-
-  Emacs has commands for converting either a single word or any arbitrary
-range of text to upper case or to lower case.
-
address@hidden @kbd
address@hidden M-l
-Convert following word to lower case (@code{downcase-word}).
address@hidden M-u
-Convert following word to upper case (@code{upcase-word}).
address@hidden M-c
-Capitalize the following word (@code{capitalize-word}).
address@hidden C-x C-l
-Convert region to lower case (@code{downcase-region}).
address@hidden C-x C-u
-Convert region to upper case (@code{upcase-region}).
address@hidden table
-
address@hidden M-l
address@hidden M-u
address@hidden M-c
address@hidden words, case conversion
address@hidden converting text to upper or lower case
address@hidden capitalizing words
address@hidden downcase-word
address@hidden upcase-word
address@hidden capitalize-word
-  The word conversion commands are the most useful.  @kbd{M-l}
-(@code{downcase-word}) converts the word after point to lower case, moving
-past it.  Thus, repeating @kbd{M-l} converts successive words.
address@hidden (@code{upcase-word}) converts to all capitals instead, while
address@hidden (@code{capitalize-word}) puts the first letter of the word
-into upper case and the rest into lower case.  All these commands convert
-several words at once if given an argument.  They are especially convenient
-for converting a large amount of text from all upper case to mixed case,
-because you can move through the text using @kbd{M-l}, @kbd{M-u} or
address@hidden on each word as appropriate, occasionally using @kbd{M-f} instead
-to skip a word.
-
-  When given a negative argument, the word case conversion commands apply
-to the appropriate number of words before point, but do not move point.
-This is convenient when you have just typed a word in the wrong case: you
-can give the case conversion command and continue typing.
-
-  If a word case conversion command is given in the middle of a word,
-it applies only to the part of the word which follows point.  (This is
-comparable to what @kbd{M-d} (@code{kill-word}) does.)  With a
-negative argument, case conversion applies only to the part of the
-word before point.
-
address@hidden C-x C-l
address@hidden C-x C-u
address@hidden downcase-region
address@hidden upcase-region
-  The other case conversion commands are @kbd{C-x C-u}
-(@code{upcase-region}) and @kbd{C-x C-l} (@code{downcase-region}), which
-convert everything between point and mark to the specified case.  Point and
-mark do not move.
-
-  The region case conversion commands @code{upcase-region} and
address@hidden are normally disabled.  This means that they ask
-for confirmation if you try to use them.  When you confirm, you may
-enable the command, which means it will not ask for confirmation again.
address@hidden
-
address@hidden Text Mode
address@hidden Text Mode
address@hidden Text mode
address@hidden mode, Text
address@hidden text-mode
-
-  When you edit files of text in a human language, it's more convenient
-to use Text mode rather than Fundamental mode.  To enter Text mode, type
address@hidden text-mode}.
-
-  In Text mode, only blank lines and page delimiters separate
-paragraphs.  As a result, paragraphs can be indented, and adaptive
-filling determines what indentation to use when filling a paragraph.
address@hidden Fill}.
-
address@hidden TAB @r{(Text mode)}
-  Text mode defines @key{TAB} to run @code{indent-relative}
-(@pxref{Indentation}), so that you can conveniently indent a line like
-the previous line.
-
-  Text mode turns off the features concerned with comments except when
-you explicitly invoke them.  It changes the syntax table so that
-single-quotes are considered part of words.  However, if a word starts
-with single-quotes, these are treated as a prefix for purposes such as
-capitalization.  That is, @kbd{M-c} will convert @samp{'hello'} into
address@hidden'Hello'}, as expected.
-
address@hidden Paragraph-Indent Text mode
address@hidden mode, Paragraph-Indent Text
address@hidden paragraph-indent-text-mode
address@hidden paragraph-indent-minor-mode
-  If you indent the first lines of paragraphs, then you should use
-Paragraph-Indent Text mode rather than Text mode.  In this mode, you
-do not need to have blank lines between paragraphs, because the
-first-line indentation is sufficient to start a paragraph; however
-paragraphs in which every line is indented are not supported.  Use
address@hidden paragraph-indent-text-mode} to enter this mode.  Use @kbd{M-x
-paragraph-indent-minor-mode} to enable an equivalent minor mode in
-situations where you can't change the major mode---in mail
-composition, for instance.
-
address@hidden M-TAB @r{(Text mode)}
-  Text mode, and all the modes based on it, define @address@hidden
-as the command @code{ispell-complete-word}, which performs completion
-of the partial word in the buffer before point, using the spelling
-dictionary as the space of possible words.  @xref{Spelling}.  If your
-window manager defines @address@hidden to switch windows, you can
-type @address@hidden @key{TAB}} or @kbd{C-M-i}.
-
address@hidden text-mode-hook
-  Entering Text mode runs the hook @code{text-mode-hook}.  Other major
-modes related to Text mode also run this hook, followed by hooks of
-their own; this includes Paragraph-Indent Text mode, Nroff mode, @TeX{}
-mode, Outline mode, and Mail mode.  Hook functions on
address@hidden can look at the value of @code{major-mode} to see
-which of these modes is actually being entered.  @xref{Hooks}.
-
address@hidden
-  Emacs provides two other modes for editing text that is to be passed
-through a text formatter to produce fancy formatted printed output.
address@hidden Mode}, for editing input to the formatter nroff.
address@hidden Mode,,@TeX{} Mode}, for editing input to the formatter TeX.
-
-  Another mode is used for editing outlines.  It allows you to view the
-text at various levels of detail.  You can view either the outline
-headings alone or both headings and text; you can also hide some of the
-headings at lower levels from view to make the high level structure more
-visible.  @xref{Outline Mode}.
address@hidden ifnottex
-
address@hidden Outline Mode
address@hidden Outline Mode
address@hidden Outline mode
address@hidden mode, Outline
address@hidden invisible lines
-
address@hidden outline-mode
address@hidden outline-minor-mode
address@hidden outline-minor-mode-prefix
-  Outline mode is a major mode much like Text mode but intended for
-editing outlines.  It allows you to make parts of the text temporarily
-invisible so that you can see the outline structure.  Type @kbd{M-x
-outline-mode} to switch to Outline mode as the major mode of the current
-buffer.
-
-  When Outline mode makes a line invisible, the line does not appear
-on the screen.  The screen appears exactly as if the invisible line
-were deleted, except that an ellipsis (three periods in a row) appears
-at the end of the previous visible line.  (Multiple consecutive
-invisible lines produce just one ellipsis.)
-
-  Editing commands that operate on lines, such as @kbd{C-n} and
address@hidden, treat the text of the invisible line as part of the previous
-visible line.  Killing the ellipsis at the end of a visible line
-really kills all the following invisible lines.
-
-  Outline minor mode provides the same commands as the major mode,
-Outline mode, but you can use it in conjunction with other major modes.
-Type @kbd{M-x outline-minor-mode} to enable the Outline minor mode in
-the current buffer.  You can also specify this in the text of a file,
-with a file local variable of the form @samp{mode: outline-minor}
-(@pxref{File Variables}).
-
address@hidden C-c @@ @r{(Outline minor mode)}
-  The major mode, Outline mode, provides special key bindings on the
address@hidden prefix.  Outline minor mode provides similar bindings with
address@hidden @@} as the prefix; this is to reduce the conflicts with the
-major mode's special commands.  (The variable
address@hidden controls the prefix used.)
-
address@hidden outline-mode-hook
-  Entering Outline mode runs the hook @code{text-mode-hook} followed by
-the hook @code{outline-mode-hook} (@pxref{Hooks}).
-
address@hidden
-* Format: Outline Format.         What the text of an outline looks like.
-* Motion: Outline Motion.         Special commands for moving through
-                                     outlines.
-* Visibility: Outline Visibility.  Commands to control what is visible.
-* Views: Outline Views.            Outlines and multiple views.
-* Foldout::                        Folding means zooming in on outlines.
address@hidden menu
-
address@hidden Outline Format
address@hidden Format of Outlines
-
address@hidden heading lines (Outline mode)
address@hidden body lines (Outline mode)
-  Outline mode assumes that the lines in the buffer are of two types:
address@hidden lines} and @dfn{body lines}.  A heading line represents a
-topic in the outline.  Heading lines start with one or more stars; the
-number of stars determines the depth of the heading in the outline
-structure.  Thus, a heading line with one star is a major topic; all the
-heading lines with two stars between it and the next one-star heading
-are its subtopics; and so on.  Any line that is not a heading line is a
-body line.  Body lines belong with the preceding heading line.  Here is
-an example:
-
address@hidden
-* Food
-This is the body,
-which says something about the topic of food.
-
-** Delicious Food
-This is the body of the second-level header.
-
-** Distasteful Food
-This could have
-a body too, with
-several lines.
-
-*** Dormitory Food
-
-* Shelter
-Another first-level topic with its header line.
address@hidden example
-
-  A heading line together with all following body lines is called
-collectively an @dfn{entry}.  A heading line together with all following
-deeper heading lines and their body lines is called a @dfn{subtree}.
-
address@hidden outline-regexp
-  You can customize the criterion for distinguishing heading lines by
-setting the variable @code{outline-regexp}.  (The recommended ways to
-do this are in a major mode function or with a file local variable.)
-Any line whose beginning has a match for this regexp is considered a
-heading line.  Matches that start within a line (not at the left
-margin) do not count.
-
-  The length of the matching text determines the level of the heading;
-longer matches make a more deeply nested level.  Thus, for example, if
-a text formatter has commands @samp{@@chapter}, @samp{@@section} and
address@hidden@@subsection} to divide the document into chapters and sections,
-you could make those lines count as heading lines by setting
address@hidden to @samp{"@@chap\\|@@\\(sub\\)*section"}.  Note
-the trick: the two words @samp{chapter} and @samp{section} are equally
-long, but by defining the regexp to match only @samp{chap} we ensure
-that the length of the text matched on a chapter heading is shorter,
-so that Outline mode will know that sections are contained in
-chapters.  This works as long as no other command starts with
address@hidden@@chap}.
-
address@hidden outline-level
-  You can explicitly specify a rule for calculating the level of a
-heading line by setting the variable @code{outline-level}.  The value
-of @code{outline-level} should be a function that takes no arguments
-and returns the level of the current heading.  The recommended ways to
-set this variable are in a major mode command or with a file local
-variable.
-
address@hidden Outline Motion
address@hidden Outline Motion Commands
-
-  Outline mode provides special motion commands that move backward and
-forward to heading lines.
-
address@hidden @kbd
address@hidden C-c C-n
-Move point to the next visible heading line
-(@code{outline-next-visible-heading}).
address@hidden C-c C-p
-Move point to the previous visible heading line
-(@code{outline-previous-visible-heading}).
address@hidden C-c C-f
-Move point to the next visible heading line at the same level
-as the one point is on (@code{outline-forward-same-level}).
address@hidden C-c C-b
-Move point to the previous visible heading line at the same level
-(@code{outline-backward-same-level}).
address@hidden C-c C-u
-Move point up to a lower-level (more inclusive) visible heading line
-(@code{outline-up-heading}).
address@hidden table
-
address@hidden outline-next-visible-heading
address@hidden outline-previous-visible-heading
address@hidden C-c C-n @r{(Outline mode)}
address@hidden C-c C-p @r{(Outline mode)}
-  @kbd{C-c C-n} (@code{outline-next-visible-heading}) moves down to the next
-heading line.  @kbd{C-c C-p} (@code{outline-previous-visible-heading}) moves
-similarly backward.  Both accept numeric arguments as repeat counts.  The
-names emphasize that invisible headings are skipped, but this is not really
-a special feature.  All editing commands that look for lines ignore the
-invisible lines automatically.
-
address@hidden outline-up-heading
address@hidden outline-forward-same-level
address@hidden outline-backward-same-level
address@hidden C-c C-f @r{(Outline mode)}
address@hidden C-c C-b @r{(Outline mode)}
address@hidden C-c C-u @r{(Outline mode)}
-  More powerful motion commands understand the level structure of headings.
address@hidden C-f} (@code{outline-forward-same-level}) and
address@hidden C-b} (@code{outline-backward-same-level}) move from one
-heading line to another visible heading at the same depth in
-the outline.  @kbd{C-c C-u} (@code{outline-up-heading}) moves
-backward to another heading that is less deeply nested.
-
address@hidden Outline Visibility
address@hidden Outline Visibility Commands
-
-  The other special commands of outline mode are used to make lines visible
-or invisible.  Their names all start with @code{hide} or @code{show}.
-Most of them fall into pairs of opposites.  They are not undoable; instead,
-you can undo right past them.  Making lines visible or invisible is simply
-not recorded by the undo mechanism.
-
-  Many of these commands act on the ``current'' heading line.  If
-point is on a heading line, that is the current heading line; if point
-is on a body line, the current heading line is the nearest preceding
-header line.
-
address@hidden @kbd
address@hidden C-c C-c
-Make the current heading line's body invisible (@code{hide-entry}).
address@hidden C-c C-e
-Make the current heading line's body visible (@code{show-entry}).
address@hidden C-c C-d
-Make everything under the current heading invisible, not including the
-heading itself (@code{hide-subtree}).
address@hidden C-c C-s
-Make everything under the current heading visible, including body,
-subheadings, and their bodies (@code{show-subtree}).
address@hidden C-c C-l
-Make the body of the current heading line, and of all its subheadings,
-invisible (@code{hide-leaves}).
address@hidden C-c C-k
-Make all subheadings of the current heading line, at all levels,
-visible (@code{show-branches}).
address@hidden C-c C-i
-Make immediate subheadings (one level down) of the current heading
-line visible (@code{show-children}).
address@hidden C-c C-t
-Make all body lines in the buffer invisible (@code{hide-body}).
address@hidden C-c C-a
-Make all lines in the buffer visible (@code{show-all}).
address@hidden C-c C-q
-Hide everything except the top @var{n} levels of heading lines
-(@code{hide-sublevels}).
address@hidden C-c C-o
-Hide everything except for the heading or body that point is in, plus
-the headings leading up from there to the top level of the outline
-(@code{hide-other}).
address@hidden table
-
address@hidden hide-entry
address@hidden show-entry
address@hidden C-c C-c @r{(Outline mode)}
address@hidden C-c C-e @r{(Outline mode)}
-  Two commands that are exact opposites are @kbd{C-c C-c}
-(@code{hide-entry}) and @kbd{C-c C-e} (@code{show-entry}).  They apply
-to the body lines directly following the current heading line.
-Subheadings and their bodies are not affected.
-
address@hidden hide-subtree
address@hidden show-subtree
address@hidden C-c C-s @r{(Outline mode)}
address@hidden C-c C-d @r{(Outline mode)}
address@hidden subtree (Outline mode)
-  Two more powerful opposites are @kbd{C-c C-d} (@code{hide-subtree})
-and @kbd{C-c C-s} (@code{show-subtree}).  Both apply to the current
-heading line's @dfn{subtree}: its body, all its subheadings, both
-direct and indirect, and all of their bodies.  In other words, the
-subtree contains everything following the current heading line, up to
-and not including the next heading of the same or higher rank.
-
address@hidden hide-leaves
address@hidden show-branches
address@hidden C-c C-l @r{(Outline mode)}
address@hidden C-c C-k @r{(Outline mode)}
-  Intermediate between a visible subtree and an invisible one is having
-all the subheadings visible but none of the body.  There are two
-commands for doing this, depending on whether you want to hide the
-bodies or make the subheadings visible.  They are @kbd{C-c C-l}
-(@code{hide-leaves}) and @kbd{C-c C-k} (@code{show-branches}).
-
address@hidden C-c C-i @r{(Outline mode)}
address@hidden show-children
-  A little weaker than @code{show-branches} is @kbd{C-c C-i}
-(@code{show-children}).  It makes just the direct subheadings
-visible---those one level down.  Deeper subheadings remain invisible, if
-they were invisible.
-
address@hidden hide-body
address@hidden show-all
address@hidden C-c C-t @r{(Outline mode)}
address@hidden C-c C-a @r{(Outline mode)}
-  Two commands have a blanket effect on the whole file.  @kbd{C-c C-t}
-(@code{hide-body}) makes all body lines invisible, so that you see just
-the outline structure (as a special exception, it will not hide lines
-at the top of the file, preceding the first header line, even though
-these are technically body lines).  @kbd{C-c C-a} (@code{show-all})
-makes all lines visible.  These commands can be thought of as a pair
-of opposites even though @kbd{C-c C-a} applies to more than just body
-lines.
-
address@hidden hide-sublevels
address@hidden C-c C-q @r{(Outline mode)}
-  The command @kbd{C-c C-q} (@code{hide-sublevels}) hides all but the
-top level headings.  With a numeric argument @var{n}, it hides everything
-except the top @var{n} levels of heading lines.
-
address@hidden hide-other
address@hidden C-c C-o @r{(Outline mode)}
-  The command @kbd{C-c C-o} (@code{hide-other}) hides everything except
-the heading and body text that point is in, plus its parents (the headers
-leading up from there to top level in the outline) and the top level
-headings.
-
address@hidden reveal-mode
-  When incremental search finds text that is hidden by Outline mode,
-it makes that part of the buffer visible.  If you exit the search
-at that position, the text remains visible.  You can also
-automatically make text visible as you navigate in it by using
address@hidden reveal-mode}.
-
address@hidden Outline Views
address@hidden Viewing One Outline in Multiple Views
-
address@hidden multiple views of outline
address@hidden views of an outline
address@hidden outline with multiple views
address@hidden indirect buffers and outlines
-  You can display two views of a single outline at the same time, in
-different windows.  To do this, you must create an indirect buffer using
address@hidden make-indirect-buffer}.  The first argument of this command is
-the existing outline buffer name, and its second argument is the name to
-use for the new indirect buffer.  @xref{Indirect Buffers}.
-
-  Once the indirect buffer exists, you can display it in a window in the
-normal fashion, with @kbd{C-x 4 b} or other Emacs commands.  The Outline
-mode commands to show and hide parts of the text operate on each buffer
-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.
-
address@hidden Foldout
address@hidden Folding Editing
-
address@hidden folding editing
-  The Foldout package extends Outline mode and Outline minor mode with
-``folding'' commands.  The idea of folding is that you zoom in on a
-nested portion of the outline, while hiding its relatives at higher
-levels.
-
-  Consider an Outline mode buffer with all the text and subheadings under
-level-1 headings hidden.  To look at what is hidden under one of these
-headings, you could 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.
-
address@hidden C-c C-z
address@hidden 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 @w{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 mode line 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 specified 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.
-
address@hidden C-c C-x
address@hidden foldout-exit-fold
-  To unzoom (exit) a fold, use @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 levels of folds.  Specifying a zero argument
-exits all folds.
-
-  To cancel the narrowing of 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 mode also provides mouse commands for entering and exiting
-folds, and for showing and hiding text:
-
address@hidden @asis
address@hidden @kbd{C-M-Mouse-1} zooms in on the heading clicked on
address@hidden @asis
address@hidden
-single click: expose body.
address@hidden
-double click: expose subheadings.
address@hidden
-triple click: expose body and subheadings.
address@hidden
-quad click: expose entire subtree.
address@hidden itemize
address@hidden @kbd{C-M-Mouse-2} exposes text under the heading clicked on
address@hidden @asis
address@hidden
-single click: expose body.
address@hidden
-double click: expose subheadings.
address@hidden
-triple click: expose body and subheadings.
address@hidden
-quad click: expose entire subtree.
address@hidden itemize
address@hidden @kbd{C-M-Mouse-3} hides text under the heading clicked on or 
exits fold
address@hidden @asis
address@hidden
-single click: hide subtree.
address@hidden
-double click: exit fold and hide text.
address@hidden
-triple click: exit fold without hiding text.
address@hidden
-quad click: exit all folds and hide text.
address@hidden itemize
address@hidden table
-
address@hidden foldout-mouse-modifiers
-  You can specify different modifier keys (instead of
address@hidden) by setting @code{foldout-mouse-modifiers}; but if
-you have already loaded the @file{foldout.el} library, you must reload
-it in order for this to take effect.
-
-  To use the Foldout package, you can type @kbd{M-x load-library
address@hidden foldout @key{RET}}; or you can arrange for to do that
-automatically by putting this in your @file{.emacs} file:
-
address@hidden
-(eval-after-load "outline" '(require 'foldout))
address@hidden example
-
address@hidden TeX Mode
address@hidden @TeX{} Mode
address@hidden @TeX{} mode
address@hidden address@hidden mode
address@hidden address@hidden mode
address@hidden address@hidden mode
address@hidden mode, @TeX{}
address@hidden mode, address@hidden
address@hidden mode, address@hidden
address@hidden mode, address@hidden
address@hidden tex-mode
address@hidden plain-tex-mode
address@hidden latex-mode
address@hidden slitex-mode
address@hidden doctex-mode
-
-  @TeX{} is a powerful text formatter written by Donald Knuth; it is
-also free software, like GNU Emacs.  address@hidden is a simplified input
-format for @TeX{}, implemented by @TeX{} macros; it comes with @TeX{}.
address@hidden is a special form of address@hidden@address@hidden is
-obsoleted by the @samp{slides} document class and other alternative
-packages in recent address@hidden versions.}  address@hidden (@file{.dtx}) is a
-special file format in which the address@hidden sources are written,
-combining sources with documentation.
-
-  Emacs has a special @TeX{} mode for editing @TeX{} input files.
-It provides facilities for checking the balance of delimiters and for
-invoking @TeX{} on all or part of the file.
-
address@hidden tex-default-mode
-  @TeX{} mode has four variants: Plain @TeX{} mode, address@hidden mode,
address@hidden mode, and address@hidden mode (these distinct major modes differ
-only slightly).  They are designed for editing the four different
-formats.  The command @kbd{M-x tex-mode} looks at the contents of the
-buffer to determine whether the contents appear to be either address@hidden
-input, address@hidden, or address@hidden input; if so, it selects the
-appropriate mode.  If the file contents do not appear to be address@hidden,
address@hidden or address@hidden, it selects Plain @TeX{} mode.  If the contents
-are insufficient to determine this, the variable
address@hidden controls which mode is used.
-
-  When @kbd{M-x tex-mode} does not guess right, you can use the commands
address@hidden plain-tex-mode}, @kbd{M-x latex-mode}, @kbd{M-x slitex-mode},
-and @kbd{doctex-mode} to select explicitly the particular variants of
address@hidden mode.
-
address@hidden
-* Editing: TeX Editing.   Special commands for editing in TeX mode.
-* LaTeX: LaTeX Editing.   Additional commands for LaTeX input files.
-* Printing: TeX Print.    Commands for printing part of a file with TeX.
-* Misc: TeX Misc.         Customization of TeX mode, and related features.
address@hidden menu
-
address@hidden TeX Editing
address@hidden @TeX{} Editing Commands
-
-  Here are the special commands provided in @TeX{} mode for editing the
-text of the file.
-
address@hidden @kbd
address@hidden "
-Insert, according to context, either @samp{``} or @samp{"} or
address@hidden''} (@code{tex-insert-quote}).
address@hidden C-j
-Insert a paragraph break (two newlines) and check the previous
-paragraph for unbalanced braces or dollar signs
-(@code{tex-terminate-paragraph}).
address@hidden M-x tex-validate-region
-Check each paragraph in the region for unbalanced braces or dollar signs.
address@hidden C-c @{
-Insert @address@hidden@}} and position point between them 
(@code{tex-insert-braces}).
address@hidden C-c @}
-Move forward past the next unmatched close brace (@code{up-list}).
address@hidden table
-
address@hidden tex-insert-quote
address@hidden " @r{(@TeX{} mode)}
-  In @TeX{}, the character @samp{"} is not normally used; we use
address@hidden to start a quotation and @samp{''} to end one.  To make
-editing easier under this formatting convention, @TeX{} mode overrides
-the normal meaning of the key @kbd{"} with a command that inserts a pair
-of single-quotes or backquotes (@code{tex-insert-quote}).  To be
-precise, this command inserts @samp{``} after whitespace or an open
-brace, @samp{"} after a backslash, and @samp{''} after any other
-character.
-
-  If you need the character @samp{"} itself in unusual contexts, use
address@hidden to insert it.  Also, @kbd{"} with a numeric argument always
-inserts that number of @samp{"} characters.  You can turn off the
-feature of @kbd{"} expansion by eliminating that binding in the local
-map (@pxref{Key Bindings}).
-
-  In @TeX{} mode, @samp{$} has a special syntax code which attempts to
-understand the way @TeX{} math mode delimiters match.  When you insert a
address@hidden that is meant to exit math mode, the position of the matching
address@hidden that entered math mode is displayed for a second.  This is the
-same feature that displays the open brace that matches a close brace that
-is inserted.  However, there is no way to tell whether a @samp{$} enters
-math mode or leaves it; so when you insert a @samp{$} that enters math
-mode, the previous @samp{$} position is shown as if it were a match, even
-though they are actually unrelated.
-
address@hidden tex-insert-braces
address@hidden C-c @{ @r{(@TeX{} mode)}
address@hidden up-list
address@hidden C-c @} @r{(@TeX{} mode)}
-  @TeX{} uses braces as delimiters that must match.  Some users prefer
-to keep braces balanced at all times, rather than inserting them
-singly.  Use @kbd{C-c @{} (@code{tex-insert-braces}) to insert a pair of
-braces.  It leaves point between the two braces so you can insert the
-text that belongs inside.  Afterward, use the command @kbd{C-c @}}
-(@code{up-list}) to move forward past the close brace.
-
address@hidden tex-validate-region
address@hidden tex-terminate-paragraph
address@hidden C-j @r{(@TeX{} mode)}
-  There are two commands for checking the matching of braces.  @kbd{C-j}
-(@code{tex-terminate-paragraph}) checks the paragraph before point, and
-inserts two newlines to start a new paragraph.  It outputs a message in
-the echo area if any mismatch is found.  @kbd{M-x tex-validate-region}
-checks a region, paragraph by paragraph.  The errors are listed in the
address@hidden buffer, and you can use @kbd{C-c C-c} or @kbd{Mouse-2} in
-that buffer to go to a particular mismatch.
-
-  Note that Emacs commands count square brackets and parentheses in
address@hidden mode, not just braces.  This is not strictly correct for the
-purpose of checking @TeX{} syntax.  However, parentheses and square
-brackets are likely to be used in text as matching delimiters and it is
-useful for the various motion commands and automatic match display to
-work with them.
-
address@hidden LaTeX Editing
address@hidden address@hidden Editing Commands
-
-  address@hidden mode, and its variant, address@hidden mode, provide a few 
extra
-features not applicable to plain @TeX{}.
-
address@hidden @kbd
address@hidden C-c C-o
-Insert @samp{\begin} and @samp{\end} for address@hidden block and position
-point on a line between them (@code{tex-latex-block}).
address@hidden C-c C-e
-Close the innermost address@hidden block not yet closed
-(@code{tex-close-latex-block}).
address@hidden table
-
address@hidden tex-latex-block
address@hidden C-c C-o @r{(address@hidden mode)}
address@hidden latex-block-names
-  In address@hidden input, @samp{\begin} and @samp{\end} commands are used to
-group blocks of text.  To insert a @samp{\begin} and a matching
address@hidden (on a new line following the @samp{\begin}), use @kbd{C-c
-C-o} (@code{tex-latex-block}).  A blank line is inserted between the
-two, and point is left there.  You can use completion when you enter the
-block type; to specify additional block type names beyond the standard
-list, set the variable @code{latex-block-names}.  For example, here's
-how to add @samp{theorem}, @samp{corollary}, and @samp{proof}:
-
address@hidden
-(setq latex-block-names '("theorem" "corollary" "proof"))
address@hidden example
-
address@hidden tex-close-latex-block
address@hidden C-c C-e @r{(address@hidden mode)}
-  In address@hidden input, @samp{\begin} and @samp{\end} commands must
-balance.  You can use @kbd{C-c C-e} (@code{tex-close-latex-block}) to
-insert automatically a matching @samp{\end} to match the last unmatched
address@hidden  It indents the @samp{\end} to match the corresponding
address@hidden  It inserts a newline after @samp{\end} if point is at
-the beginning of a line.
-
address@hidden TeX Print
address@hidden @TeX{} Printing Commands
-
-  You can invoke @TeX{} as an inferior of Emacs on either the entire
-contents of the buffer or just a region at a time.  Running @TeX{} in
-this way on just one chapter is a good way to see what your changes
-look like without taking the time to format the entire file.
-
address@hidden @kbd
address@hidden C-c C-r
-Invoke @TeX{} on the current region, together with the buffer's header
-(@code{tex-region}).
address@hidden C-c C-b
-Invoke @TeX{} on the entire current buffer (@code{tex-buffer}).
address@hidden C-c @key{TAB}
-Invoke address@hidden on the current file (@code{tex-bibtex-file}).
address@hidden C-c C-f
-Invoke @TeX{} on the current file (@code{tex-file}).
address@hidden C-c C-l
-Recenter the window showing output from the inferior @TeX{} so that
-the last line can be seen (@code{tex-recenter-output-buffer}).
address@hidden C-c C-k
-Kill the @TeX{} subprocess (@code{tex-kill-job}).
address@hidden C-c C-p
-Print the output from the last @kbd{C-c C-r}, @kbd{C-c C-b}, or @kbd{C-c
-C-f} command (@code{tex-print}).
address@hidden C-c C-v
-Preview the output from the last @kbd{C-c C-r}, @kbd{C-c C-b}, or @kbd{C-c
-C-f} command (@code{tex-view}).
address@hidden C-c C-q
-Show the printer queue (@code{tex-show-print-queue}).
address@hidden C-c C-c
-Invoke some other compilation command on the entire current buffer
-(@code{tex-compile}).
address@hidden table
-
address@hidden tex-buffer
address@hidden C-c C-b @r{(@TeX{} mode)}
address@hidden tex-print
address@hidden C-c C-p @r{(@TeX{} mode)}
address@hidden tex-view
address@hidden C-c C-v @r{(@TeX{} mode)}
address@hidden tex-show-print-queue
address@hidden C-c C-q @r{(@TeX{} mode)}
-  You can pass the current buffer through an inferior @TeX{} by means of
address@hidden C-b} (@code{tex-buffer}).  The formatted output appears in a
-temporary file; to print it, type @kbd{C-c C-p} (@code{tex-print}).
-Afterward, you can use @kbd{C-c C-q} (@code{tex-show-print-queue}) to
-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}).
-
address@hidden @env{TEXINPUTS} environment variable
address@hidden 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 @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
-directory, such as @code{"/tmp"}.
-
address@hidden tex-run-command
address@hidden latex-run-command
address@hidden slitex-run-command
address@hidden tex-dvi-print-command
address@hidden tex-dvi-view-command
address@hidden tex-show-queue-command
-  If you want to specify which shell commands are used in the inferior @TeX{},
-you can do so by setting the values of the variables @code{tex-run-command},
address@hidden, @code{slitex-run-command},
address@hidden, @code{tex-dvi-view-command}, and
address@hidden  The default values may
-(or may not) be appropriate for your system.
-
-  Normally, the file name given to these commands comes at the end of
-the command string; for example, @samp{latex @var{filename}}.  In some
-cases, however, the file name needs to be embedded in the command; an
-example is when you need to provide the file name as an argument to one
-command whose output is piped to another.  You can specify where to put
-the file name with @samp{*} in the command string.  For example,
-
address@hidden
-(setq tex-dvi-print-command "dvips -f * | lpr")
address@hidden example
-
address@hidden tex-kill-job
address@hidden C-c C-k @r{(@TeX{} mode)}
address@hidden tex-recenter-output-buffer
address@hidden C-c C-l @r{(@TeX{} mode)}
-  The terminal output from @TeX{}, including any error messages, appears
-in a buffer called @samp{*tex-shell*}.  If @TeX{} gets an error, you can
-switch to this buffer and feed it input (this works as in Shell mode;
address@hidden Shell}).  Without switching to this buffer you can
-scroll it so that its last line is visible by typing @kbd{C-c
-C-l}.
-
-  Type @kbd{C-c C-k} (@code{tex-kill-job}) to kill the @TeX{} process if
-you see that its output is no longer useful.  Using @kbd{C-c C-b} or
address@hidden C-r} also kills any @TeX{} process still running.
-
address@hidden tex-region
address@hidden C-c C-r @r{(@TeX{} mode)}
-  You can also pass an arbitrary region through an inferior @TeX{} by typing
address@hidden C-r} (@code{tex-region}).  This is tricky, however, because most 
files
-of @TeX{} input contain commands at the beginning to set parameters and
-define macros, without which no later part of the file will format
-correctly.  To solve this problem, @kbd{C-c C-r} allows you to designate a
-part of the file as containing essential commands; it is included before
-the specified region as part of the input to @TeX{}.  The designated part
-of the file is called the @dfn{header}.
-
address@hidden header (@TeX{} mode)
-  To indicate the bounds of the header in Plain @TeX{} mode, you insert two
-special strings in the file.  Insert @samp{%**start of header} before the
-header, and @samp{%**end of header} after it.  Each string must appear
-entirely on one line, but there may be other text on the line before or
-after.  The lines containing the two strings are included in the header.
-If @samp{%**start of header} does not appear within the first 100 lines of
-the buffer, @kbd{C-c C-r} assumes that there is no header.
-
-  In address@hidden mode, the header begins with @samp{\documentclass} or
address@hidden and ends with @address@hidden@}}.  These
-are commands that address@hidden requires you to use in any case, so nothing
-special needs to be done to identify the header.
-
address@hidden tex-file
address@hidden C-c C-f @r{(@TeX{} mode)}
-  The commands (@code{tex-buffer}) and (@code{tex-region}) do all of their
-work in a temporary directory, and do not have available any of the auxiliary
-files needed by @TeX{} for cross-references; these commands are generally
-not suitable for running the final copy in which all of the cross-references
-need to be correct.
-
-  When you want the auxiliary files for cross references, use @kbd{C-c
-C-f} (@code{tex-file}) which runs @TeX{} on the current buffer's file,
-in that file's directory.  Before running @TeX{}, it offers to save any
-modified buffers.  Generally, you need to use (@code{tex-file}) twice to
-get the cross-references right.
-
address@hidden tex-start-options
-  The value of the variable @code{tex-start-options} specifies
-options for the @TeX{} run.
-
address@hidden tex-start-commands
-  The value of the variable @code{tex-start-commands} specifies @TeX{}
-commands for starting @TeX{}.  The default value causes @TeX{} to run
-in nonstop mode.  To run @TeX{} interactively, set the variable to
address@hidden""}.
-
address@hidden tex-main-file
-  Large @TeX{} documents are often split into several files---one main
-file, plus subfiles.  Running @TeX{} on a subfile typically does not
-work; you have to run it on the main file.  In order to make
address@hidden useful when you are editing a subfile, you can set the
-variable @code{tex-main-file} to the name of the main file.  Then
address@hidden runs @TeX{} on that file.
-
-  The most convenient way to use @code{tex-main-file} is to specify it
-in a local variable list in each of the subfiles.  @xref{File
-Variables}.
-
address@hidden tex-bibtex-file
address@hidden C-c TAB @r{(@TeX{} mode)}
address@hidden tex-bibtex-command
-  For address@hidden files, you can use address@hidden to process the auxiliary
-file for the current buffer's file.  address@hidden looks up bibliographic
-citations in a data base and prepares the cited references for the
-bibliography section.  The command @kbd{C-c @key{TAB}}
-(@code{tex-bibtex-file}) runs the shell command
-(@code{tex-bibtex-command}) to produce a @samp{.bbl} file for the
-current buffer's file.  Generally, you need to do @kbd{C-c C-f}
-(@code{tex-file}) once to generate the @samp{.aux} file, then do
address@hidden @key{TAB}} (@code{tex-bibtex-file}), and then repeat @kbd{C-c 
C-f}
-(@code{tex-file}) twice more to get the cross-references correct.
-
address@hidden tex-compile
address@hidden C-c C-c @r{(@TeX{} mode)}
-  To invoke some other compilation program on the current @TeX{}
-buffer, type @kbd{C-c C-c} (@code{tex-compile}).  This command knows
-how to pass arguments to many common programs, including
address@hidden, @file{yap}, @file{xdvi}, and @file{dvips}.  You can
-select your desired compilation program using the standard completion
-keys (@pxref{Completion}).
-
address@hidden TeX Misc
address@hidden @TeX{} Mode Miscellany
-
address@hidden tex-shell-hook
address@hidden tex-mode-hook
address@hidden latex-mode-hook
address@hidden slitex-mode-hook
address@hidden plain-tex-mode-hook
-  Entering any variant of @TeX{} mode runs the hooks
address@hidden and @code{tex-mode-hook}.  Then it runs either
address@hidden, @code{latex-mode-hook}, or
address@hidden, whichever is appropriate.  Starting the
address@hidden shell runs the hook @code{tex-shell-hook}.  @xref{Hooks}.
-
address@hidden iso-iso2tex
address@hidden iso-tex2iso
address@hidden iso-iso2gtex
address@hidden iso-gtex2iso
address@hidden Latin-1 @TeX{} encoding
address@hidden @TeX{} encoding
-  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.
address@hidden
address@hidden Too cryptic to be useful, too cryptic for me to make it better 
-- rms.
-  They
-are included by default in the @code{format-alist} variable, so they
-can be used with @kbd{M-x format-find-file}, for instance.
address@hidden ignore
-
address@hidden  @c Not worth documenting if it is only for Czech -- rms.
address@hidden tildify-buffer
address@hidden tildify-region
address@hidden ties, @TeX{}, inserting
address@hidden hard spaces, @TeX{}, inserting
-  The commands @kbd{M-x tildify-buffer} and @kbd{M-x tildify-region}
-insert @samp{~} (@dfn{tie}) characters where they are conventionally
-required.  This is set up for Czech---customize the group
address@hidden for other languages or for other sorts of markup.
address@hidden ignore
-
address@hidden address@hidden package
address@hidden references, address@hidden
address@hidden address@hidden references
-  For managing all kinds of references for address@hidden, you can use
address@hidden  @inforef{Top,, reftex}.
-
address@hidden HTML Mode
address@hidden SGML, XML, and HTML Modes
-
-  The major modes for SGML and HTML include indentation support and
-commands to operate on tags.  This section describes the special
-commands of these modes.  (HTML mode is a slightly customized variant
-of SGML mode.)
-
address@hidden @kbd
address@hidden C-c C-n
address@hidden C-c C-n @r{(SGML mode)}
address@hidden sgml-name-char
-Interactively specify a special character and insert the SGML
address@hidden&}-command for that character.
-
address@hidden C-c C-t
address@hidden C-c C-t @r{(SGML mode)}
address@hidden sgml-tag
-Interactively specify a tag and its attributes (@code{sgml-tag}).
-This command asks you for a tag name and for the attribute values,
-then inserts both the opening tag and the closing tag, leaving point
-between them.
-
-With a prefix argument @var{n}, the command puts the tag around the
address@hidden words already present in the buffer after point.  With
address@hidden as argument, it puts the tag around the region.  (In
-Transient Mark mode, it does this whenever a region is active.)
-
address@hidden C-c C-a
address@hidden C-c C-a @r{(SGML mode)}
address@hidden sgml-attributes
-Interactively insert attribute values for the current tag
-(@code{sgml-attributes}).
-
address@hidden C-c C-f
address@hidden C-c C-f @r{(SGML mode)}
address@hidden sgml-skip-tag-forward
-Skip across a balanced tag group (which extends from an opening tag
-through its corresponding closing tag) (@code{sgml-skip-tag-forward}).
-A numeric argument acts as a repeat count.
-
address@hidden C-c C-b
address@hidden C-c C-b @r{(SGML mode)}
address@hidden sgml-skip-tag-backward
-Skip backward across a balanced tag group (which extends from an
-opening tag through its corresponding closing tag)
-(@code{sgml-skip-tag-forward}).  A numeric argument acts as a repeat
-count.
-
address@hidden C-c C-d
address@hidden C-c C-d @r{(SGML mode)}
address@hidden sgml-delete-tag
-Delete the tag at or after point, and delete the matching tag too
-(@code{sgml-delete-tag}).  If the tag at or after point is an opening
-tag, delete the closing tag too; if it is a closing tag, delete the
-opening tag too.
-
address@hidden C-c ? @var{tag} @key{RET}
address@hidden C-c ? @r{(SGML mode)}
address@hidden sgml-tag-help
-Display a description of the meaning of tag @var{tag}
-(@code{sgml-tag-help}).  If the argument @var{tag} is empty, describe
-the tag at point.
-
address@hidden C-c /
address@hidden C-c / @r{(SGML mode)}
address@hidden sgml-close-tag
-Insert a close tag for the innermost unterminated tag
-(@code{sgml-close-tag}).  If called from within a tag or a comment,
-close this element instead of inserting a close tag.
-
address@hidden C-c 8
address@hidden C-c 8 @r{(SGML mode)}
address@hidden sgml-name-8bit-mode
-Toggle a minor mode in which Latin-1 characters insert the
-corresponding SGML commands that stand for them, instead of the
-characters themselves (@code{sgml-name-8bit-mode}).
-
address@hidden C-c C-v
address@hidden C-c C-v @r{(SGML mode)}
address@hidden sgml-validate
-Run a shell command (which you must specify) to validate the current
-buffer as SGML (@code{sgml-validate}).
-
address@hidden C-c TAB
address@hidden C-c TAB @r{(SGML mode)}
address@hidden sgml-tags-invisible
-Toggle the visibility of existing tags in the buffer.  This can be
-used as a cheap preview.
address@hidden table
-
address@hidden sgml-xml-mode
-  SGML mode and HTML mode support XML also.  In XML, every opening tag
-must have an explicit closing tag.  When @code{sgml-xml-mode} is
address@hidden, SGML mode and HTML mode always insert explicit
-closing tags.  When you visit a file, these modes determine from the
-file contents whether it is XML or not, and set @code{sgml-xml-mode}
-accordingly, so that they do the right thing for the file in either
-case.
-
address@hidden Nroff Mode
address@hidden Nroff Mode
-
address@hidden nroff
address@hidden nroff-mode
-  Nroff mode is a mode like Text mode but modified to handle nroff commands
-present in the text.  Invoke @kbd{M-x nroff-mode} to enter this mode.  It
-differs from Text mode in only a few ways.  All nroff command lines are
-considered paragraph separators, so that filling will never garble the
-nroff commands.  Pages are separated by @samp{.bp} commands.  Comments
-start with backslash-doublequote.  Also, three special commands are
-provided that are not in Text mode:
-
address@hidden forward-text-line
address@hidden backward-text-line
address@hidden count-text-lines
address@hidden M-n @r{(Nroff mode)}
address@hidden M-p @r{(Nroff mode)}
address@hidden M-? @r{(Nroff mode)}
address@hidden @kbd
address@hidden M-n
-Move to the beginning of the next line that isn't an nroff command
-(@code{forward-text-line}).  An argument is a repeat count.
address@hidden M-p
-Like @kbd{M-n} but move up (@code{backward-text-line}).
address@hidden M-?
-Displays in the echo area the number of text lines (lines that are not
-nroff commands) in the region (@code{count-text-lines}).
address@hidden table
-
address@hidden electric-nroff-mode
-  The other feature of Nroff mode is that you can turn on Electric Nroff
-mode.  This is a minor mode that you can turn on or off with @kbd{M-x
-electric-nroff-mode} (@pxref{Minor Modes}).  When the mode is on, each
-time you use @key{RET} to end a line that contains an nroff command that
-opens a kind of grouping, the matching nroff command to close that
-grouping is automatically inserted on the following line.  For example,
-if you are at the beginning of a line and type @kbd{.@: ( b @key{RET}},
-this inserts the matching command @samp{.)b} on a new line following
-point.
-
-  If you use Outline minor mode with Nroff mode (@pxref{Outline Mode}),
-heading lines are lines of the form @samp{.H} followed by a number (the
-header level).
-
address@hidden nroff-mode-hook
-  Entering Nroff mode runs the hook @code{text-mode-hook}, followed by
-the hook @code{nroff-mode-hook} (@pxref{Hooks}).
-
address@hidden Formatted Text
address@hidden Editing Formatted Text
-
address@hidden Enriched mode
address@hidden mode, Enriched
address@hidden formatted text
address@hidden WYSIWYG
address@hidden word processing
-  @dfn{Enriched mode} is a minor mode for editing files that contain
-formatted text in WYSIWYG fashion, as in a word processor.  Currently,
-formatted text in Enriched mode can specify fonts, colors, underlining,
-margins, and types of filling and justification.  In the future, we plan
-to implement other formatting features as well.
-
-  Enriched mode is a minor mode (@pxref{Minor Modes}).  It is
-typically used in conjunction with Text mode (@pxref{Text Mode}), but
-you can also use it with other major modes such as Outline mode and
-Paragraph-Indent Text mode.
-
address@hidden 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
-Conversion,, Format Conversion, elisp, the Emacs Lisp Reference Manual},
-for details of how Emacs recognizes and converts file formats.
-
-  The Emacs distribution contains a formatted text file that can serve as
-an example.  Its name is @file{etc/enriched.doc}.  It contains samples
-illustrating all the features described in this section.  It also
-contains a list of ideas for future enhancements.
-
address@hidden
-* Requesting Formatted Text::   Entering and exiting Enriched mode.
-* Hard and Soft Newlines::      There are two different kinds of newlines.
-* Editing Format Info::         How to edit text properties.
-* Faces: Format Faces.          Bold, italic, underline, etc.
-* Color: Format Colors.         Changing the color of text.
-* Indent: Format Indentation.   Changing the left and right margins.
-* Justification: Format Justification.
-                                Centering, setting text flush with the
-                                  left or right margin, etc.
-* Other: Format Properties.     The "special" text properties submenu.
-* Forcing Enriched Mode::       How to force use of Enriched mode.
address@hidden menu
-
address@hidden Requesting Formatted Text
address@hidden Requesting to Edit Formatted Text
-
-  Whenever you visit a file that Emacs saved in the text/enriched
-format, Emacs automatically converts the formatting information in the
-file into Emacs's own internal format (known as @dfn{text
-properties}), and turns on Enriched mode.
-
address@hidden enriched-mode
-  To create a new file of formatted text, first visit the nonexistent
-file, then type @kbd{M-x enriched-mode} before you start inserting text.
-This command turns on Enriched mode.  Do this before you begin inserting
-text, to ensure that the text you insert is handled properly.
-
-  More generally, the command @code{enriched-mode} turns Enriched mode
-on if it was off, and off if it was on.  With a prefix argument, this
-command turns Enriched mode on if the argument is positive, and turns
-the mode off otherwise.
-
-  When you save a buffer while Enriched mode is enabled in it, Emacs
-automatically converts the text to text/enriched format while writing it
-into the file.  When you visit the file again, Emacs will automatically
-recognize the format, reconvert the text, and turn on Enriched mode
-again.
-
address@hidden enriched-translations
-  You can add annotations for saving additional text properties, which
-Emacs normally does not save, by adding to @code{enriched-translations}.
-Note that the text/enriched standard requires any non-standard
-annotations to have names starting with @samp{x-}, as in
address@hidden  This ensures that they will not conflict with
-standard annotations that may be added later.
-
-  @xref{Text Properties,,, elisp, the Emacs Lisp Reference Manual},
-for more information about text properties.
-
address@hidden Hard and Soft Newlines
address@hidden Hard and Soft Newlines
address@hidden hard newline
address@hidden soft newline
address@hidden newlines, hard and soft
-
address@hidden use-hard-newlines
-  In formatted text, Emacs distinguishes between two different kinds of
-newlines, @dfn{hard} newlines and @dfn{soft} newlines.  (You can enable
-or disable this feature separately in any  buffer with the command
address@hidden)
-
-  Hard newlines are used to separate paragraphs, or items in a list, or
-anywhere that there should always be a line break regardless of the
-margins.  The @key{RET} command (@code{newline}) and @kbd{C-o}
-(@code{open-line}) insert hard newlines.
-
-  Soft newlines are used to make text fit between the margins.  All the
-fill commands, including Auto Fill, insert soft newlines---and they
-delete only soft newlines.
-
-  Although hard and soft newlines look the same, it is important to bear
-the difference in mind.  Do not use @key{RET} to break lines in the
-middle of filled paragraphs, or else you will get hard newlines that are
-barriers to further filling.  Instead, let Auto Fill mode break lines,
-so that if the text or the margins change, Emacs can refill the lines
-properly.  @xref{Auto Fill}.
-
-  On the other hand, in tables and lists, where the lines should always
-remain as you type them, you can use @key{RET} to end lines.  For these
-lines, you may also want to set the justification style to
address@hidden  @xref{Format Justification}.
-
address@hidden Editing Format Info
address@hidden Editing Format Information
-
-  There are two ways to alter the formatting information for a formatted
-text file: with keyboard commands, and with the mouse.
-
-  The easiest way to add properties to your document is with the Text
-Properties menu.  You can get to this menu in two ways: from the Edit
-menu in the menu bar (use @address@hidden e t} if you have no mouse),
-or with @kbd{C-Mouse-2} (hold the @key{CTRL} key and press the middle
-mouse button).  There are also keyboard commands described in the
-following section.
-
-  Most of the items in the Text Properties menu lead to other submenus.
-These are described in the sections that follow.  Some items run
-commands directly:
-
address@hidden @code
address@hidden facemenu-remove-face-props
address@hidden Remove Face Properties
-Delete from the region all face and color text properties
-(@code{facemenu-remove-face-props}).
-
address@hidden facemenu-remove-all
address@hidden Remove Text Properties
-Delete @emph{all} text properties from the region
-(@code{facemenu-remove-all}).
-
address@hidden describe-text-properties
address@hidden text properties of characters
address@hidden overlays at character position
address@hidden widgets at buffer position
address@hidden buttons at buffer position
address@hidden Describe Properties
-List all the text properties, widgets, buttons, and overlays of the
-character following point (@code{describe-text-properties}).
-
address@hidden Display Faces
-Display a list of all the defined faces (@code{list-faces-display}).
-
address@hidden Display Colors
-Display a list of all the defined colors (@code{list-colors-display}).
address@hidden table
-
address@hidden Format Faces
address@hidden Faces in Formatted Text
-
-  The Faces submenu lists various Emacs faces including @code{bold},
address@hidden, and @code{underline} (@pxref{Faces}).  These menu items
-operate on the region if it is active and nonempty.  Otherwise, they
-specify to use that face for an immediately following self-inserting
-character.  Instead of the menu, you can use these keyboard commands:
-
address@hidden @kbd
address@hidden M-o d @r{(Enriched mode)}
address@hidden facemenu-set-default
address@hidden M-o d
-Remove all @code{face} properties from the region (which includes
-specified colors), or force the following inserted character to have no
address@hidden property (@code{facemenu-set-default}).
address@hidden M-o b @r{(Enriched mode)}
address@hidden facemenu-set-bold
address@hidden M-o b
-Add the face @code{bold} to the region or to the following inserted
-character (@code{facemenu-set-bold}).
address@hidden M-o i @r{(Enriched mode)}
address@hidden facemenu-set-italic
address@hidden M-o i
-Add the face @code{italic} to the region or to the following inserted
-character (@code{facemenu-set-italic}).
address@hidden M-o l @r{(Enriched mode)}
address@hidden facemenu-set-bold-italic
address@hidden M-o l
-Add the face @code{bold-italic} to the region or to the following
-inserted character (@code{facemenu-set-bold-italic}).
address@hidden M-o u @r{(Enriched mode)}
address@hidden facemenu-set-underline
address@hidden M-o u
-Add the face @code{underline} to the region or to the following inserted
-character (@code{facemenu-set-underline}).
address@hidden M-o o @r{(Enriched mode)}
address@hidden facemenu-set-face
address@hidden M-o o @var{face} @key{RET}
-Add the face @var{face} to the region or to the following inserted
-character (@code{facemenu-set-face}).
address@hidden table
-
-   With a prefix argument, all these commands apply to an immediately
-following self-inserting character, disregarding the region.
-
-  A self-inserting character normally inherits the @code{face}
-property (and most other text properties) from the preceding character
-in the buffer.  If you use the above commands to specify face for the
-next self-inserting character, or the next section's commands to
-specify a foreground or background color for it, then it does not
-inherit the @code{face} property from the preceding character; instead
-it uses whatever you specified.  It will still inherit other text
-properties, though.
-
-  Strictly speaking, these commands apply only to the first following
-self-inserting character that you type.  But if you insert additional
-characters after it, they will inherit from the first one.  So it
-appears that these commands apply to all of them.
-
-  Enriched mode defines two additional faces: @code{excerpt} and
address@hidden  These correspond to codes used in the text/enriched file
-format.
-
-  The @code{excerpt} face is intended for quotations.  This face is the
-same as @code{italic} unless you customize it (@pxref{Face Customization}).
-
-  The @code{fixed} face means, ``Use a fixed-width font for this part
-of the text.''  Applying the @code{fixed} face to a part of the text
-will cause that part of the text to appear in a fixed-width font, even
-if the default font is variable-width.  This applies to Emacs and to
-other systems that display text/enriched format.  So if you
-specifically want a certain part of the text to use a fixed-width
-font, you should specify the @code{fixed} face for that part.
-
-  By default, the @code{fixed} face looks the same as @code{bold}.
-This is an attempt to distinguish it from @code{default}.  You may
-wish to customize @code{fixed} to some other fixed-width medium font.
address@hidden Customization}.
-
-  If your terminal cannot display different faces, you will not be
-able to see them, but you can still edit documents containing faces,
-and even add faces and colors to documents.  The faces you specify
-will be visible when the file is viewed on a terminal that can display
-them.
-
address@hidden Format Colors
address@hidden Colors in Formatted Text
-
-  You can specify foreground and background colors for portions of the
-text.  There is a menu for specifying the foreground color and a menu
-for specifying the background color.  Each color menu lists all the
-colors that you have used in Enriched mode in the current Emacs session.
-
-  If you specify a color with a prefix argument---or, in Transient
-Mark mode, if the region is not active---then it applies to any
-immediately following self-inserting input.  Otherwise, the command
-applies to the region.
-
-  Each color menu contains one additional item: @samp{Other}.  You can use
-this item to specify a color that is not listed in the menu; it reads
-the color name with the minibuffer.  To display a list of available colors
-and their names, use the @samp{Display Colors} menu item in the Text
-Properties menu (@pxref{Editing Format Info}).
-
-  Any color that you specify in this way, or that is mentioned in a
-formatted text file that you read in, is added to the corresponding
-color menu for the duration of the Emacs session.
-
address@hidden facemenu-set-foreground
address@hidden facemenu-set-background
-  There are no predefined key bindings for specifying colors, but you can do so
-with the extended commands @kbd{M-x facemenu-set-foreground} and
address@hidden facemenu-set-background}.  Both of these commands read the name
-of the color with the minibuffer.
-
address@hidden Format Indentation
address@hidden Indentation in Formatted Text
-
-  When editing formatted text, you can specify different amounts of
-indentation for the right or left margin of an entire paragraph or a
-part of a paragraph.  The margins you specify automatically affect the
-Emacs fill commands (@pxref{Filling}) and line-breaking commands.
-
-  The Indentation submenu provides a convenient interface for specifying
-these properties.  The submenu contains four items:
-
address@hidden @code
address@hidden C-x TAB @r{(Enriched mode)}
address@hidden increase-left-margin
address@hidden Indent More
-Indent the region by 4 columns (@code{increase-left-margin}).  In
-Enriched mode, this command is also available on @kbd{C-x @key{TAB}}; if
-you supply a numeric argument, that says how many columns to add to the
-margin (a negative argument reduces the number of columns).
-
address@hidden Indent Less
-Remove 4 columns of indentation from the region.
-
address@hidden Indent Right More
-Make the text narrower by indenting 4 columns at the right margin.
-
address@hidden Indent Right Less
-Remove 4 columns of indentation from the right margin.
address@hidden table
-
-  You can use these commands repeatedly to increase or decrease the
-indentation.
-
-  The most common way to use them is to change the indentation of an
-entire paragraph.  For other uses, the effects of refilling can be
-hard to predict, except in some special cases like the one described
-next.
-
-  The most common other use is to format paragraphs with @dfn{hanging
-indents}, which means that the first line is indented less than
-subsequent lines.  To set up a hanging indent, increase the
-indentation of the region starting after the first word of the
-paragraph and running until the end of the paragraph.
-
-  Indenting the first line of a paragraph is easier.  Set the margin for
-the whole paragraph where you want it to be for the body of the
-paragraph, then indent the first line by inserting extra spaces or tabs.
-
address@hidden standard-indent
-  The variable @code{standard-indent} specifies how many columns these
-commands should add to or subtract from the indentation.  The default
-value is 4.  The overall default right margin for Enriched mode is
-controlled by the variable @code{fill-column}, as usual.
-
address@hidden C-c [ @r{(Enriched mode)}
address@hidden C-c ] @r{(Enriched mode)}
address@hidden set-left-margin
address@hidden set-right-margin
-  There are also two commands for setting the left or right margin of
-the region absolutely: @code{set-left-margin} and
address@hidden  Enriched mode binds these commands to
address@hidden [} and @kbd{C-c ]}, respectively.  You can specify the
-margin width either with a numeric argument or in the minibuffer.
-
-  Sometimes, as a result of editing, the filling of a paragraph becomes
-messed up---parts of the paragraph may extend past the left or right
-margins.  When this happens, use @kbd{M-q} (@code{fill-paragraph}) to
-refill the paragraph.
-
-  The fill prefix, if any, works in addition to the specified paragraph
-indentation: @kbd{C-x .} does not include the specified indentation's
-whitespace in the new value for the fill prefix, and the fill commands
-look for the fill prefix after the indentation on each line.  @xref{Fill
-Prefix}.
-
address@hidden Format Justification
address@hidden Justification in Formatted Text
-
-  When editing formatted text, you can specify various styles of
-justification for a paragraph.  The style you specify automatically
-affects the Emacs fill commands.
-
-  The Justification submenu provides a convenient interface for specifying
-the style.  The submenu contains five items:
-
address@hidden @code
address@hidden Left
-This is the most common style of justification (at least for English).
-Lines are aligned at the left margin but left uneven at the right.
-
address@hidden Right
-This aligns each line with the right margin.  Spaces and tabs are added
-on the left, if necessary, to make lines line up on the right.
-
address@hidden Full
-This justifies the text, aligning both edges of each line.  Justified
-text looks very nice in a printed book, where the spaces can all be
-adjusted equally, but it does not look as nice with a fixed-width font
-on the screen.  Perhaps a future version of Emacs will be able to adjust
-the width of spaces in a line to achieve elegant justification.
-
address@hidden Center
-This centers every line between the current margins.
-
address@hidden Unfilled
-This turns off filling entirely.  Each line will remain as you wrote it;
-the fill and auto-fill functions will have no effect on text which has
-this setting.  You can, however, still indent the left margin.  In
-unfilled regions, all newlines are treated as hard newlines (@pxref{Hard
-and Soft Newlines}) .
address@hidden table
-
-  In Enriched mode, you can also specify justification from the keyboard
-using the @kbd{M-j} prefix character:
-
address@hidden @kbd
address@hidden M-j l @r{(Enriched mode)}
address@hidden set-justification-left
address@hidden M-j l
-Make the region left-filled (@code{set-justification-left}).
address@hidden M-j r @r{(Enriched mode)}
address@hidden set-justification-right
address@hidden M-j r
-Make the region right-filled (@code{set-justification-right}).
address@hidden M-j b @r{(Enriched mode)}
address@hidden set-justification-full
address@hidden M-j b
-Make the region fully justified (@code{set-justification-full}).
address@hidden M-j c @r{(Enriched mode)}
address@hidden M-S @r{(Enriched mode)}
address@hidden set-justification-center
address@hidden M-j c
address@hidden M-S
-Make the region centered (@code{set-justification-center}).
address@hidden M-j u @r{(Enriched mode)}
address@hidden set-justification-none
address@hidden M-j u
-Make the region unfilled (@code{set-justification-none}).
address@hidden table
-
-  Justification styles apply to entire paragraphs.  All the
-justification-changing commands operate on the paragraph containing
-point, or, if the region is active, on all paragraphs which overlap the
-region.
-
address@hidden default-justification
-  The default justification style is specified by the variable
address@hidden  Its value should be one of the symbols
address@hidden, @code{right}, @code{full}, @code{center}, or @code{none}.
-This is a per-buffer variable.  Setting the variable directly affects
-only the current buffer.  However, customizing it in a Custom buffer
-sets (as always) the default value for buffers that do not override it.
address@hidden, and @ref{Easy Customization}.
-
address@hidden Format Properties
address@hidden Setting Other Text Properties
-
-  The Special Properties menu lets you add or remove three other useful text
-properties: @code{read-only}, @code{invisible} and @code{intangible}.
-The @code{intangible} property disallows moving point within the text,
-the @code{invisible} text property hides text from display, and the
address@hidden property disallows alteration of the text.
-
-  Each of these special properties has a menu item to add it to the
-region.  The last menu item, @samp{Remove Special}, removes all of these
-special properties from the text in the region.
-
-  Currently, the @code{invisible} and @code{intangible} properties are
address@hidden saved in the text/enriched format.  The @code{read-only}
-property is saved, but it is not a standard part of the text/enriched
-format, so other editors may not respect it.
-
address@hidden Forcing Enriched Mode
address@hidden Forcing Enriched Mode
-
-  Normally, Emacs knows when you are editing formatted text because it
-recognizes the special annotations used in the file that you visited.
-However, sometimes you must take special actions to convert file
-contents or turn on Enriched mode:
-
address@hidden @bullet
address@hidden
-When you visit a file that was created with some other editor, Emacs may
-not recognize the file as being in the text/enriched format.  In this
-case, when you visit the file you will see the formatting commands
-rather than the formatted text.  Type @kbd{M-x format-decode-buffer} to
-translate it.  This also automatically turns on Enriched mode.
-
address@hidden
-When you @emph{insert} a file into a buffer, rather than visiting it,
-Emacs does the necessary conversions on the text which you insert, but
-it does not enable Enriched mode.  If you wish to do that, type @kbd{M-x
-enriched-mode}.
address@hidden itemize
-
-  The command @code{format-decode-buffer} translates text in various
-formats into Emacs's internal format.  It asks you to specify the format
-to translate from; however, normally you can type just @key{RET}, which
-tells Emacs to guess the format.
-
address@hidden format-find-file
-  If you wish to look at a text/enriched file in its raw form, as a
-sequence of characters rather than as formatted text, use the @kbd{M-x
-find-file-literally} command.  This visits a file, like
address@hidden, but does not do format conversion.  It also inhibits
-character code conversion (@pxref{Coding Systems}) and automatic
-uncompression (@pxref{Compressed Files}).  To disable format conversion
-but allow character code conversion and/or automatic uncompression if
-appropriate, use @code{format-find-file} with suitable arguments.
-
address@hidden Text Based Tables
address@hidden Editing Text-based Tables
address@hidden table mode
address@hidden text-based tables
-
-  Table mode provides an easy and intuitive way to create and edit WYSIWYG
-text-based tables.  Here is an example of such a table:
-
address@hidden
address@hidden
-+-----------------+--------------------------------+-----------------+
-|     Command     |          Description           |   Key Binding   |
-+-----------------+--------------------------------+-----------------+
-|  forward-char   |Move point right N characters   |       C-f       |
-|                 |(left if N is negative).        |                 |
-|                 |                                |                 |
-|                 |On reaching end of buffer, stop |                 |
-|                 |and signal error.               |                 |
-+-----------------+--------------------------------+-----------------+
-|  backward-char  |Move point left N characters    |       C-b       |
-|                 |(right if N is negative).       |                 |
-|                 |                                |                 |
-|                 |On attempt to pass beginning or |                 |
-|                 |end of buffer, stop and signal  |                 |
-|                 |error.                          |                 |
-+-----------------+--------------------------------+-----------------+
address@hidden group
address@hidden smallexample
-
-  Table mode allows the contents of the table such as this one to be
-easily manipulated by inserting or deleting characters inside a cell.
-A cell is effectively a localized rectangular edit region and edits to
-a cell do not affect the contents of the surrounding cells.  If the
-contents do not fit into a cell, then the cell is automatically
-expanded in the vertical and/or horizontal directions and the rest of
-the table is restructured and reformatted in accordance with the
-growth of the cell.
-
address@hidden
-* Table Definition::          What is a text based table.
-* Table Creation::            How to create a table.
-* Table Recognition::         How to activate and deactivate tables.
-* Cell Commands::             Cell-oriented commands in a table.
-* Cell Justification::        Justifying cell contents.
-* Row Commands::              Manipulating rows of table cell.
-* Column Commands::           Manipulating columns of table cell.
-* Fixed Width Mode::          Fixing cell width.
-* Table Conversion::          Converting between plain text and tables.
-* Measuring Tables::          Analyzing table dimension.
-* Table Misc::                Table miscellany.
address@hidden menu
-
address@hidden Table Definition
address@hidden What is a Text-based Table?
-
-  Keep the following examples of valid tables in mind as a reference
-while you read this section:
-
address@hidden
-              +--+----+---+     +-+     +--+-----+
-              |  |    |   |     | |     |  |     |
-              +--+----+---+     +-+     |  +--+--+
-              |  |    |   |             |  |  |  |
-              +--+----+---+             +--+--+  |
-                                        |     |  |
-                                        +-----+--+
address@hidden example
-
-  A table consists of a rectangular frame whose inside is divided into
-cells.  Each cell must be at least one character wide and one
-character high, not counting its border lines.  A cell can be
-subdivided into multiple rectangular cells, but cells cannot overlap.
-
-  The table frame and cell border lines are made of three special
-characters.  These variables specify those characters:
-
address@hidden @code
address@hidden table-cell-vertical-char
address@hidden table-cell-vertical-char
-Holds the character used for vertical lines.  The default value is
address@hidden|}.
-
address@hidden table-cell-horizontal-char
address@hidden table-cell-horizontal-char
-Holds the character used for horizontal lines.  The default value is
address@hidden
-
address@hidden table-cell-intersection-char
address@hidden table-cell-intersection-char
-Holds the character used at where horizontal line and vertical line
-meet.  The default value is @samp{+}.
address@hidden table
-
address@hidden
-Based on this definition, the following five tables are examples of invalid
-tables:
-
address@hidden
-   +-----+    +-----+       +--+    +-++--+    ++
-   |     |    |     |       |  |    | ||  |    ++
-   | +-+ |    |     |       |  |    | ||  |
-   | | | |    +--+  |    +--+--+    +-++--+
-   | +-+ |    |  |  |    |  |  |    +-++--+
-   |     |    |  |  |    |  |  |    | ||  |
-   +-----+    +--+--+    +--+--+    +-++--+
-     a           b          c          d        e
address@hidden example
-
-From left to right:
-
address@hidden a
address@hidden
-Overlapped cells or non-rectangular cells are not allowed.
address@hidden
-Same as a.
address@hidden
-The border must be rectangular.
address@hidden
-Cells must have a minimum width/height of one character.
address@hidden
-Same as d.
address@hidden enumerate
-
address@hidden Table Creation
address@hidden How to Create a Table?
address@hidden create a text-based table
address@hidden table creation
-
address@hidden table-insert
-  The command to create a table is @code{table-insert}.  When called
-interactively, it asks for the number of columns, number of rows, cell
-width and cell height.  The number of columns is the number of cells
-horizontally side by side.  The number of rows is the number of cells
-vertically within the table's height.  The cell width is a number of
-characters that each cell holds, left to right.  The cell height is a
-number of lines each cell holds.  The cell width and the cell height
-can be either an integer (when the value is constant across the table)
-or a series of integer, separated by spaces or commas, where each
-number corresponds to the next cell within a row from left to right,
-or the next cell within a column from top to bottom.
-
address@hidden Table Recognition
address@hidden Table Recognition
address@hidden table recognition
-
address@hidden table-recognize
address@hidden table-unrecognize
-  Table mode maintains special text properties in the buffer to allow
-editing in a convenient fashion.  When a buffer with tables is saved
-to its file, these text properties are lost, so when you visit this
-file again later, Emacs does not see a table, but just formatted text.
-To resurrect the table text properties, issue the @kbd{M-x
-table-recognize} command.  It scans the current buffer, recognizes
-valid table cells, and attaches appropriate text properties to allow
-for table editing.  The converse command, @code{table-unrecognize}, is
-used to remove the special text properties and convert the buffer back
-to plain text.
-
-  Special commands exist to enable or disable tables within a region,
-enable or disable individual tables, and enable/disable individual
-cells.  These commands are:
-
address@hidden @kbd
address@hidden table-recognize-region
address@hidden M-x table-recognize-region
-Recognize tables within the current region and activate them.
address@hidden table-unrecognize-region
address@hidden M-x table-unrecognize-region
-Deactivate tables within the current region.
address@hidden table-recognize-table
address@hidden M-x table-recognize-table
-Recognize the table under point and activate it.
address@hidden table-unrecognize-table
address@hidden M-x table-unrecognize-table
-Deactivate the table under point.
address@hidden table-recognize-cell
address@hidden M-x table-recognize-cell
-Recognize the cell under point and activate it.
address@hidden table-unrecognize-cell
address@hidden M-x table-unrecognize-cell
-Deactivate the cell under point.
address@hidden table
-
-  For another way of converting text into tables, see @ref{Table
-Conversion}.
-
address@hidden Cell Commands
address@hidden Commands for Table Cells
-
address@hidden table-forward-cell
address@hidden table-backward-cell
-  The commands @code{table-forward-cell} and
address@hidden move point from the current cell to an
-adjacent cell forward and backward respectively.  The order of the
-cells is cyclic: when point is in the last cell of a table, typing
address@hidden table-forward-cell} moves to the first cell in the table.
-Likewise @kbd{M-x table-backward-cell} from the first cell in a table
-moves to the last cell.
-
address@hidden table-span-cell
-  The command @code{table-span-cell} merges the current cell with the
-adjacent cell in a specified direction---right, left, above or below.
-You specify the direction with the minibuffer.  It does not allow
-merges which don't result in a legitimate cell layout.
-
address@hidden table-split-cell
address@hidden text-based tables, split a cell
address@hidden split table cell
-  The command @code{table-split-cell} splits the current cell
-vertically or horizontally.  This command is a wrapper to the
-direction specific commands @code{table-split-cell-vertically} and
address@hidden  You specify the direction with
-a minibuffer argument.
-
address@hidden table-split-cell-vertically
-  The command @code{table-split-cell-vertically} splits the current
-cell vertically and creates a pair of cells above and below where
-point is located.  The content in the original cell is split as well.
-
address@hidden table-split-cell-horizontally
-  The command @code{table-split-cell-horizontally} splits the current
-cell horizontally and creates a pair of cells right and left of where
-point is located.  If the cell being split is not empty, this asks you
-how to handle the cell contents.  The three options are: @code{split},
address@hidden, or @code{right}.  @code{split} splits the contents at
-point literally, while the @code{left} and @code{right} options move
-the entire contents into the left or right cell respectively.
-
address@hidden enlarge a table cell
address@hidden shrink a table cell
-  The next four commands enlarge or shrink a cell.  They use numeric
-arguments (@pxref{Arguments}) to specify how many columns or rows to
-enlarge or shrink a particular table.
-
address@hidden @kbd
address@hidden table-heighten-cell
address@hidden M-x table-heighten-cell
-Enlarge the current cell vertically.
address@hidden table-shorten-cell
address@hidden M-x table-shorten-cell
-Shrink the current cell vertically.
address@hidden table-widen-cell
address@hidden M-x table-widen-cell
-Enlarge the current cell horizontally.
address@hidden table-narrow-cell
address@hidden M-x table-narrow-cell
-Shrink the current cell horizontally.
address@hidden table
-
address@hidden Cell Justification
address@hidden Cell Justification
address@hidden cell text justification
-
-  You can specify text justification for each cell.  The justification
-is remembered independently for each cell and the subsequent editing
-of cell contents is subject to the specified justification.
-
address@hidden table-justify
-  The command @code{table-justify} ask you to specify what to justify:
-a cell, a column, or a row.  If you select cell justification, this
-command sets the justification only for the current cell.  Selecting
-column or row justification sets the justification for all the cells
-within a column or row respectively.  The command then ask you which
-kind of justification to apply: @code{left}, @code{center},
address@hidden, @code{top}, @code{middle}, @code{bottom}, or
address@hidden  Horizontal justification and vertical justification are
-specified independently.  The options @code{left}, @code{center}, and
address@hidden specify horizontal justification while the options
address@hidden, @code{middle}, @code{bottom}, and @code{none} specify
-vertical justification.  The vertical justification @code{none}
-effectively removes vertical justification.  Horizontal justification
-must be one of @code{left}, @code{center}, or @code{right}.
-
address@hidden table-detect-cell-alignment
-  Justification information is stored in the buffer as a part of text
-property.  Therefore, this information is ephemeral and does not
-survive through the loss of the buffer (closing the buffer and
-revisiting the buffer erase any previous text properties).  To
-countermand for this, the command @code{table-recognize} and other
-recognition commands (@pxref{Table Recognition}) are equipped with a
-convenience feature (turned on by default).  During table recognition,
-the contents of a cell are examined to determine which justification
-was originally applied to the cell and then applies this justification
-to the cell.  This is a speculative algorithm and is therefore not
-perfect, however, the justification is deduced correctly most of the
-time.  To disable this feature, customize the variable
address@hidden and set it to @code{nil}.
-
address@hidden Row Commands
address@hidden Commands for Table Rows
address@hidden table row commands
-
address@hidden insert row in table
address@hidden table-insert-row
-  The command @code{table-insert-row} inserts a row of cells before
-the current row in a table.  The current row where point is located is
-pushed down after the newly inserted row.  A numeric prefix argument
-specifies the number of rows to insert.  Note that in order to insert
-rows @emph{after} the last row at the bottom of a table, you must
-place point below the table---that is, outside the table---prior to
-invoking this command.
-
address@hidden delete row in table
address@hidden table-delete-row
-  The command @code{table-delete-row} deletes a row of cells at point.
-A numeric prefix argument specifies the number of rows to delete.
-
address@hidden Column Commands
address@hidden Commands for Table Columns
address@hidden table column commands
-
address@hidden insert column in table
address@hidden table-insert-column
-  The command @code{table-insert-column} inserts a column of cells to
-the left of the current row in a table.  This pushes the current
-column to the right.  To insert a column to the right side of the
-rightmost column, place point to the right of the rightmost column,
-which is outside of the table, prior to invoking this command.  A
-numeric prefix argument specifies the number of columns to insert.
-
address@hidden delete column in table
-  A command @code{table-delete-column} deletes a column of cells at
-point.  A numeric prefix argument specifies the number of columns to
-delete.
-
address@hidden Fixed Width Mode
address@hidden Fix Width of Cells
address@hidden fix width of table cells
-
address@hidden table-fixed-width-mode
-  The command @code{table-fixed-width-mode} toggles fixed width mode
-on and off.  When fixed width mode is turned on, editing inside a
-cell never changes the cell width; when it is off, the cell width
-expands automatically in order to prevent a word from being folded
-into multiple lines.  By default, fixed width mode is disabled.
-
address@hidden Table Conversion
address@hidden Conversion Between Plain Text and Tables
address@hidden text to table
address@hidden table to text
-
address@hidden table-capture
-  The command @code{table-capture} captures plain text in a region and
-turns it into a table.  Unlike @code{table-recognize} (@pxref{Table
-Recognition}), the original text does not have a table appearance but
-may hold a logical table structure.  For example, some elements
-separated by known patterns form a two dimensional structure which can
-be turned into a table.
-
-  Here's an example of data that @code{table-capture} can operate on.
-The numbers are horizontally separated by a comma and vertically
-separated by a newline character.
-
address@hidden
-1, 2, 3, 4
-5, 6, 7, 8
-, 9, 10
address@hidden example
-
address@hidden
-Invoking @kbd{M-x table-capture} on that text produces this table:
-
address@hidden
-+-----+-----+-----+-----+
-|1    |2    |3    |4    |
-+-----+-----+-----+-----+
-|5    |6    |7    |8    |
-+-----+-----+-----+-----+
-|     |9    |10   |     |
-+-----+-----+-----+-----+
address@hidden example
-
address@hidden
-The conversion uses @samp{,} for the column delimiter and newline for
-a row delimiter, cells are left justified, and minimum cell width is
-5.
-
address@hidden table-release
-  The command @code{table-release} does the opposite of
address@hidden  It releases a table by removing the table frame
-and cell borders.  This leaves the table contents as plain text.  One
-of the useful applications of @code{table-capture} and
address@hidden is to edit a text in layout.  Look at the
-following three paragraphs (the latter two are indented with header
-lines):
-
address@hidden
address@hidden is a powerful command, but mastering its
-power requires some practice.  Here are some things it can do:
-
-Parse Cell Items      By using column delimiter regular
-                      expression and raw delimiter regular
-                      expression, it parses the specified text
-                      area and extracts cell items from
-                      non-table text and then forms a table out
-                      of them.
-
-Capture Text Area     When no delimiters are specified it
-                      creates a single cell table.  The text in
-                      the specified region is placed in that
-                      cell.
address@hidden example
-
address@hidden
-Applying @code{table-capture} to a region containing the above three
-paragraphs, with empty strings for column delimiter regexp and row
-delimiter regexp, creates a table with a single cell like the
-following one.
-
address@hidden The first line's right-hand frame in the following two examples
address@hidden sticks out to accommodate for the removal of @samp in the
address@hidden produced output!!
address@hidden
address@hidden
-+-----------------------------------------------------------------+
-|@samp{table-capture} is a powerful command, but mastering its         |
-|power requires some practice.  Here are some things it can do:   |
-|                                                                 |
-|Parse Cell Items      By using column delimiter regular          |
-|                      expression and raw delimiter regular       |
-|                      expression, it parses the specified text   |
-|                      area and extracts cell items from          |
-|                      non-table text and then forms a table out  |
-|                      of them.                                   |
-|                                                                 |
-|Capture Text Area     When no delimiters are specified it        |
-|                      creates a single cell table.  The text in  |
-|                      the specified region is placed in that     |
-|                      cell.                                      |
-+-----------------------------------------------------------------+
address@hidden group
address@hidden smallexample
-
address@hidden
-By splitting the cell appropriately we now have a table consisting of
-paragraphs occupying its own cell.  Each cell can now be edited
-independently without affecting the layout of other cells.
-
address@hidden
-+-----------------------------------------------------------------+
-|@samp{table-capture} is a powerful command, but mastering its         |
-|power requires some practice.  Here are some things it can do:   |
-+---------------------+-------------------------------------------+
-|Parse Cell Items     |By using column delimiter regular          |
-|                     |expression and raw delimiter regular       |
-|                     |expression, it parses the specified text   |
-|                     |area and extracts cell items from          |
-|                     |non-table text and then forms a table out  |
-|                     |of them.                                   |
-+---------------------+-------------------------------------------+
-|Capture Text Area    |When no delimiters are specified it        |
-|                     |creates a single cell table.  The text in  |
-|                     |the specified region is placed in that     |
-|                     |cell.                                      |
-+---------------------+-------------------------------------------+
address@hidden smallexample
-
address@hidden
-By applying @code{table-release}, which does the opposite process, the
-contents become once again plain text.  @code{table-release} works as
-a companion command to @code{table-capture}.
-
address@hidden Measuring Tables
address@hidden Analyzing Table Dimensions
address@hidden table dimensions
-
address@hidden table-query-dimension
-  The command @code{table-query-dimension} analyzes a table structure
-and reports information regarding its dimensions.  In case of the
-above example table, the @code{table-query-dimension} command displays
-in echo area:
-
address@hidden
-Cell: (21w, 6h), Table: (67w, 16h), Dim: (2c, 3r), Total Cells: 5
address@hidden smallexample
-
address@hidden
-This indicates that the current cell is 21 character wide and 6 lines
-high, the entire table is 67 characters wide and 16 lines high.  The
-table has 2 columns and 3 rows.  It has a total of 5 cells, since the
-first row has a spanned cell.
-
address@hidden Table Misc
address@hidden Table Miscellany
-
address@hidden insert string into table cells
address@hidden table-insert-sequence
-  The command @code{table-insert-sequence} inserts a string into each
-cell.  Each string is a part of a sequence i.e.@: a series of
-increasing integer numbers.
-
address@hidden table in language format
address@hidden table for HTML and LaTeX
address@hidden table-generate-source
-  The command @code{table-generate-source} generates a table formatted
-for a specific markup language.  It asks for a language (which must be
-one of @code{html}, @code{latex}, or @code{cals}), a destination
-buffer where to put the result, and the table caption (a string), and
-then inserts the generated table in the proper syntax into the
-destination buffer.  The default destination buffer is
address@hidden@var{lang}}, where @var{lang} is the language you
-specified.
-
address@hidden
-   arch-tag: 8db54ed8-2036-49ca-b0df-23811d03dc70
address@hidden ignore




reply via email to

[Prev in Thread] Current Thread [Next in Thread]