]> code.delx.au - gnu-emacs/blobdiff - doc/emacs/text.texi
merge trunk
[gnu-emacs] / doc / emacs / text.texi
index ccc546fb0a17d6a4041caefcef7b71f163d350be..fa33daa94d7b933b67596c0d671a0188b2a971e4 100644 (file)
@@ -2,7 +2,7 @@
 @c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2012
 @c   Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
 @c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2012
 @c   Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
-@node Text, Programs, Indentation, Top
+@node Text
 @chapter Commands for Human Languages
 @cindex text
 @cindex manipulating text
 @chapter Commands for Human Languages
 @cindex text
 @cindex manipulating text
@@ -34,7 +34,7 @@ publish them in many formats.
 @cindex mode, nXML
 @findex nxml-mode
   Emacs has other major modes for text which contains ``embedded''
 @cindex mode, nXML
 @findex nxml-mode
   Emacs has other major modes for text which contains ``embedded''
-commands, such as @TeX{} and La@TeX{} (@pxref{TeX Mode}); HTML and
+commands, such as @TeX{} and @LaTeX{} (@pxref{TeX Mode}); HTML and
 SGML (@pxref{HTML Mode}); XML
 @ifinfo
 (@pxref{Top,The nXML Mode Manual,,nxml-mode, nXML Mode});
 SGML (@pxref{HTML Mode}); XML
 @ifinfo
 (@pxref{Top,The nXML Mode Manual,,nxml-mode, nXML Mode});
@@ -74,10 +74,10 @@ for editing such pictures.
 * Text Mode::           The major modes for editing text files.
 * Outline Mode::        Editing outlines.
 * Org Mode::            The Emacs organizer.
 * Text Mode::           The major modes for editing text files.
 * Outline Mode::        Editing outlines.
 * Org Mode::            The Emacs organizer.
-* TeX Mode::            Editing input to the formatter TeX.
+* TeX Mode::            Editing TeX and LaTeX files.
 * HTML Mode::           Editing HTML and SGML files.
 * HTML Mode::           Editing HTML and SGML files.
-* Nroff Mode::          Editing input to the formatter nroff.
-* Enriched Text::       Editing text ``enriched'' with fonts, colors, etc.
+* Nroff Mode::          Editing input to the nroff formatter.
+* Enriched Text::       Editing text "enriched" with fonts, colors, etc.
 * Text Based Tables::   Commands for editing text-based tables.
 * Two-Column::          Splitting text columns into separate windows.
 @end menu
 * Text Based Tables::   Commands for editing text-based tables.
 * Two-Column::          Splitting text columns into separate windows.
 @end menu
@@ -379,8 +379,8 @@ 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} specifies which page to go to,
 following page delimiter in the region is to ensure that.
 
   A numeric argument to @kbd{C-x C-p} specifies 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.
+relative to the current one.  Zero means the current page, one
+the next page, and @minus{}1 the previous one.
 
 @kindex C-x l
 @findex count-lines-page
 
 @kindex C-x l
 @findex count-lines-page
@@ -412,7 +412,7 @@ beginning of a line.
 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
 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.
+text.
 
 @menu
 * Auto Fill::      Auto Fill mode breaks long lines automatically.
 
 @menu
 * Auto Fill::      Auto Fill mode breaks long lines automatically.
@@ -546,11 +546,11 @@ made by Text mode and is available only in that and related modes
 newline as the end of a sentence; a period followed by just one space
 indicates an abbreviation, not the end of a sentence.  Accordingly,
 the fill commands will not break a line after a period followed by
 newline as the end of a sentence; a period followed by just one space
 indicates an abbreviation, not the end of a sentence.  Accordingly,
 the fill commands will not break a line after a period followed by
-just one space.  If you change the variable
-@code{sentence-end-double-space} to a non-@code{nil} value, the fill
-commands will break a line after a period followed by one space, and
-put just one space after each period.  @xref{Sentences}, for other
-effects and possible drawbacks of this.
+just one space.  If you set the variable
+@code{sentence-end-double-space} to @code{nil}, the fill commands will
+break a line after a period followed by one space, and put just one
+space after each period.  @xref{Sentences}, for other effects and
+possible drawbacks of this.
 
 @vindex colon-double-space
   If the variable @code{colon-double-space} is non-@code{nil}, the
 
 @vindex colon-double-space
   If the variable @code{colon-double-space} is non-@code{nil}, the
@@ -1240,6 +1240,7 @@ quad click: exit all folds and hide text.
 @end itemize
 @end table
 
 @end itemize
 @end table
 
+@c FIXME not marked as a user variable
 @vindex foldout-mouse-modifiers
   You can specify different modifier keys (instead of
 @kbd{Control-Meta-}) by setting @code{foldout-mouse-modifiers}; but if
 @vindex foldout-mouse-modifiers
   You can specify different modifier keys (instead of
 @kbd{Control-Meta-}) by setting @code{foldout-mouse-modifiers}; but if
@@ -1248,7 +1249,7 @@ it in order for this to take effect.
 
   To use the Foldout package, you can type @kbd{M-x load-library
 @key{RET} foldout @key{RET}}; or you can arrange for to do that
 
   To use the Foldout package, you can type @kbd{M-x load-library
 @key{RET} foldout @key{RET}}; or you can arrange for to do that
-automatically by putting this in your init file (@pxref{Init File}):
+automatically by putting the following in your init file:
 
 @example
 (eval-after-load "outline" '(require 'foldout))
 
 @example
 (eval-after-load "outline" '(require 'foldout))
@@ -1302,13 +1303,13 @@ lines but no body lines, and (iii) showing everything.
 body lines and subtree (if any), by typing @kbd{M-<up>}
 (@code{org-metaup}) or @kbd{M-<down>} (@code{org-metadown}) on the
 heading line.  Similarly, you can promote or demote a heading line
 body lines and subtree (if any), by typing @kbd{M-<up>}
 (@code{org-metaup}) or @kbd{M-<down>} (@code{org-metadown}) on the
 heading line.  Similarly, you can promote or demote a heading line
-with @kbd{M-<left>} (@code{org-metaleft}) and @kbd{M-<left>}
+with @kbd{M-<left>} (@code{org-metaleft}) and @kbd{M-<right>}
 (@code{org-metaright}).  These commands execute their global bindings
 if invoked on a body line.
 
   The following subsections give basic instructions for using Org mode
 (@code{org-metaright}).  These commands execute their global bindings
 if invoked on a body line.
 
   The following subsections give basic instructions for using Org mode
-as an organizer and as an authoring system.  @xref{Top,The Org Mode
-Manual,,org, The Org Manual}, for details.
+as an organizer and as an authoring system.  For details, @pxref{Top,
+The Org Mode Manual, Introduction, org, The Org Manual}.
 
 @menu
 * Org Organizer::   Managing TODO lists and agendas.
 
 @menu
 * Org Organizer::   Managing TODO lists and agendas.
@@ -1371,7 +1372,7 @@ etc.
 export and publication.  To export the current buffer, type @kbd{C-c
 C-e} (@code{org-export}) anywhere in an Org buffer.  This command
 prompts for an export format; currently supported formats include
 export and publication.  To export the current buffer, type @kbd{C-c
 C-e} (@code{org-export}) anywhere in an Org buffer.  This command
 prompts for an export format; currently supported formats include
-HTML, La@TeX{}, OpenDocument (@file{.odt}), and PDF.  Some formats,
+HTML, @LaTeX{}, OpenDocument (@file{.odt}), and PDF.  Some formats,
 such as PDF, require certain system tools to be installed.
 
 @vindex org-publish-project-alist
 such as PDF, require certain system tools to be installed.
 
 @vindex org-publish-project-alist
@@ -1404,11 +1405,11 @@ This is an example.
 @node TeX Mode
 @section @TeX{} Mode
 @cindex @TeX{} mode
 @node TeX Mode
 @section @TeX{} Mode
 @cindex @TeX{} mode
-@cindex La@TeX{} mode
+@cindex @LaTeX{} mode
 @cindex Sli@TeX{} mode
 @cindex Doc@TeX{} mode
 @cindex mode, @TeX{}
 @cindex Sli@TeX{} mode
 @cindex Doc@TeX{} mode
 @cindex mode, @TeX{}
-@cindex mode, La@TeX{}
+@cindex mode, @LaTeX{}
 @cindex mode, Sli@TeX{}
 @cindex mode, Doc@TeX{}
 @findex tex-mode
 @cindex mode, Sli@TeX{}
 @cindex mode, Doc@TeX{}
 @findex tex-mode
@@ -1421,15 +1422,15 @@ This is an example.
   Emacs provides special major modes for editing files written in
 @TeX{} and its related formats.  @TeX{} is a powerful text formatter
 written by Donald Knuth; like GNU Emacs, it is free software.
   Emacs provides special major modes for editing files written in
 @TeX{} and its related formats.  @TeX{} is a powerful text formatter
 written by Donald Knuth; like GNU Emacs, it is free software.
-La@TeX{} is a simplified input format for @TeX{}, implemented using
+@LaTeX{} is a simplified input format for @TeX{}, implemented using
 @TeX{} macros.  Doc@TeX{} is a special file format in which the
 @TeX{} macros.  Doc@TeX{} is a special file format in which the
-La@TeX{} sources are written, combining sources with documentation.
-Sli@TeX{} is an obsolete special form of La@TeX{}.@footnote{It has
+@LaTeX{} sources are written, combining sources with documentation.
+Sli@TeX{} is an obsolete special form of @LaTeX{}.@footnote{It has
 been replaced by the @samp{slides} document class, which comes with
 been replaced by the @samp{slides} document class, which comes with
-La@TeX{}.}
+@LaTeX{}.}
 
 @vindex tex-default-mode
 
 @vindex tex-default-mode
-  @TeX{} mode has four variants: Plain @TeX{} mode, La@TeX{} mode,
+  @TeX{} mode has four variants: Plain @TeX{} mode, @LaTeX{} mode,
 Doc@TeX{} mode, and Sli@TeX{} mode.  These distinct major modes differ
 only slightly, and are designed for editing the four different
 formats.  Emacs selects the appropriate mode by looking at the
 Doc@TeX{} mode, and Sli@TeX{} mode.  These distinct major modes differ
 only slightly, and are designed for editing the four different
 formats.  Emacs selects the appropriate mode by looking at the
@@ -1449,13 +1450,13 @@ which are not documented in this manual:
 @itemize @bullet
 @item
 Bib@TeX{} mode is a major mode for Bib@TeX{} files, which are commonly
 @itemize @bullet
 @item
 Bib@TeX{} mode is a major mode for Bib@TeX{} files, which are commonly
-used for keeping bibliographic references for La@TeX{} documents.  For
+used for keeping bibliographic references for @LaTeX{} documents.  For
 more information, see the documentation string for the command
 @code{bibtex-mode}.
 
 @item
 The Ref@TeX{} package provides a minor mode which can be used with
 more information, see the documentation string for the command
 @code{bibtex-mode}.
 
 @item
 The Ref@TeX{} package provides a minor mode which can be used with
-La@TeX{} mode to manage bibliographic references.
+@LaTeX{} mode to manage bibliographic references.
 @ifinfo
 @xref{Top,The Ref@TeX{} Manual,,reftex}.
 @end ifinfo
 @ifinfo
 @xref{Top,The Ref@TeX{} Manual,,reftex}.
 @end ifinfo
@@ -1548,7 +1549,7 @@ text that belongs inside.  Afterward, use the command @kbd{C-c @}}
 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
 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 an @samp{*Occur*} buffer; you can use the usual
+errors are listed in an @file{*Occur*} buffer; you can use the usual
 Occur mode commands in that buffer, such as @kbd{C-c C-c}, to visit a
 particular mismatch (@pxref{Other Repeating Search}).
 
 Occur mode commands in that buffer, such as @kbd{C-c C-c}, to visit a
 particular mismatch (@pxref{Other Repeating Search}).
 
@@ -1560,23 +1561,23 @@ is useful for the various motion commands and automatic match display
 to work with them.
 
 @node LaTeX Editing
 to work with them.
 
 @node LaTeX Editing
-@subsection La@TeX{} Editing Commands
+@subsection @LaTeX{} Editing Commands
 
 
-  La@TeX{} mode provides a few extra features not applicable to plain
+  @LaTeX{} mode provides a few extra features not applicable to plain
 @TeX{}:
 
 @table @kbd
 @item C-c C-o
 @TeX{}:
 
 @table @kbd
 @item C-c C-o
-Insert @samp{\begin} and @samp{\end} for La@TeX{} block and position
+Insert @samp{\begin} and @samp{\end} for @LaTeX{} block and position
 point on a line between them (@code{tex-latex-block}).
 @item C-c C-e
 point on a line between them (@code{tex-latex-block}).
 @item C-c C-e
-Close the innermost La@TeX{} block not yet closed
+Close the innermost @LaTeX{} block not yet closed
 (@code{tex-close-latex-block}).
 @end table
 
 @findex tex-latex-block
 (@code{tex-close-latex-block}).
 @end table
 
 @findex tex-latex-block
-@kindex C-c C-o @r{(La@TeX{} mode)}
-  In La@TeX{} input, @samp{\begin} and @samp{\end} tags are used to
+@kindex C-c C-o @r{(@LaTeX{} mode)}
+  In @LaTeX{} input, @samp{\begin} and @samp{\end} tags are used to
 group blocks of text.  To insert a block, type @kbd{C-c C-o}
 (@code{tex-latex-block}).  This prompts for a block type, and inserts
 the appropriate matching @samp{\begin} and @samp{\end} tags, leaving a
 group blocks of text.  To insert a block, type @kbd{C-c C-o}
 (@code{tex-latex-block}).  This prompts for a block type, and inserts
 the appropriate matching @samp{\begin} and @samp{\end} tags, leaving a
@@ -1585,18 +1586,21 @@ blank line between the two and moving point there.
 @vindex latex-block-names
   When entering the block type argument to @kbd{C-c C-o}, you can use
 the usual completion commands (@pxref{Completion}).  The default
 @vindex latex-block-names
   When entering the block type argument to @kbd{C-c C-o}, you can use
 the usual completion commands (@pxref{Completion}).  The default
-completion list contains the standard La@TeX{} block types.  If you
+completion list contains the standard @LaTeX{} block types.  If you
 want additional block types for completion, customize the list
 variable @code{latex-block-names}.
 
 @findex tex-close-latex-block
 want additional block types for completion, customize the list
 variable @code{latex-block-names}.
 
 @findex tex-close-latex-block
-@kindex C-c C-e @r{(La@TeX{} mode)}
-  In La@TeX{} input, @samp{\begin} and @samp{\end} tags must balance.
+@kindex C-c C-e @r{(@LaTeX{} mode)}
+@findex latex-electric-env-pair-mode
+  In @LaTeX{} input, @samp{\begin} and @samp{\end} tags must balance.
 You can use @kbd{C-c C-e} (@code{tex-close-latex-block}) to insert an
 @samp{\end} tag which matches the last unmatched @samp{\begin}.  It
 also indents the @samp{\end} to match the corresponding @samp{\begin},
 and inserts a newline after the @samp{\end} tag if point is at the
 You can use @kbd{C-c C-e} (@code{tex-close-latex-block}) to insert an
 @samp{\end} tag which matches the last unmatched @samp{\begin}.  It
 also indents the @samp{\end} to match the corresponding @samp{\begin},
 and inserts a newline after the @samp{\end} tag if point is at the
-beginning of a line.
+beginning of a line.  The minor mode @code{latex-electric-env-pair-mode}
+automatically inserts an @samp{\end} or @samp{\begin} tag for you
+when you type the corresponding one.
 
 @node TeX Print
 @subsection @TeX{} Printing Commands
 
 @node TeX Print
 @subsection @TeX{} Printing Commands
@@ -1666,7 +1670,7 @@ such as @code{"/tmp"}.
   The buffer's @TeX{} variant determines what shell command @kbd{C-c
 C-b} actually runs.  In Plain @TeX{} mode, it is specified by the
 variable @code{tex-run-command}, which defaults to @code{"tex"}.  In
   The buffer's @TeX{} variant determines what shell command @kbd{C-c
 C-b} actually runs.  In Plain @TeX{} mode, it is specified by the
 variable @code{tex-run-command}, which defaults to @code{"tex"}.  In
-La@TeX{} mode, it is specified by @code{latex-run-command}, which
+@LaTeX{} mode, it is specified by @code{latex-run-command}, which
 defaults to @code{"latex"}.  The shell command that @kbd{C-c C-v} runs
 to view the @file{.dvi} output is determined by the variable
 @code{tex-dvi-view-command}, regardless of the @TeX{} variant.  The
 defaults to @code{"latex"}.  The shell command that @kbd{C-c C-v} runs
 to view the @file{.dvi} output is determined by the variable
 @code{tex-dvi-view-command}, regardless of the @TeX{} variant.  The
@@ -1691,7 +1695,7 @@ name with @samp{*} in the command string.  For example,
 @findex tex-recenter-output-buffer
 @kindex C-c C-l @r{(@TeX{} mode)}
   The terminal output from @TeX{}, including any error messages,
 @findex tex-recenter-output-buffer
 @kindex 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
+appears in a buffer called @file{*tex-shell*}.  If @TeX{} gets an
 error, you can switch to this buffer and feed it input (this works as
 in Shell mode; @pxref{Interactive Shell}).  Without switching to this
 buffer you can scroll it so that its last line is visible by typing
 error, you can switch to this buffer and feed it input (this works as
 in Shell mode; @pxref{Interactive Shell}).  Without switching to this
 buffer you can scroll it so that its last line is visible by typing
@@ -1721,9 +1725,9 @@ 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.
 
 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 La@TeX{} mode, the header begins with @samp{\documentclass} or
+  In @LaTeX{} mode, the header begins with @samp{\documentclass} or
 @samp{\documentstyle} and ends with @samp{\begin@{document@}}.  These
 @samp{\documentstyle} and ends with @samp{\begin@{document@}}.  These
-are commands that La@TeX{} requires you to use in any case, so nothing
+are commands that @LaTeX{} requires you to use in any case, so nothing
 special needs to be done to identify the header.
 
 @findex tex-file
 special needs to be done to identify the header.
 
 @findex tex-file
@@ -1765,7 +1769,7 @@ Variables}.
 @findex tex-bibtex-file
 @kindex C-c TAB @r{(@TeX{} mode)}
 @vindex tex-bibtex-command
 @findex tex-bibtex-file
 @kindex C-c TAB @r{(@TeX{} mode)}
 @vindex tex-bibtex-command
-  For La@TeX{} files, you can use Bib@TeX{} to process the auxiliary
+  For @LaTeX{} files, you can use Bib@TeX{} to process the auxiliary
 file for the current buffer's file.  Bib@TeX{} looks up bibliographic
 citations in a data base and prepares the cited references for the
 bibliography section.  The command @kbd{C-c @key{TAB}}
 file for the current buffer's file.  Bib@TeX{} looks up bibliographic
 citations in a data base and prepares the cited references for the
 bibliography section.  The command @kbd{C-c @key{TAB}}
@@ -1883,8 +1887,8 @@ the tag at point.
 @kindex C-c / @r{(SGML mode)}
 @findex sgml-close-tag
 Insert a close tag for the innermost unterminated tag
 @kindex C-c / @r{(SGML mode)}
 @findex 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.
+(@code{sgml-close-tag}).  If called within a tag or a comment,
+close it instead of inserting a close tag.
 
 @item C-c 8
 @kindex C-c 8 @r{(SGML mode)}
 
 @item C-c 8
 @kindex C-c 8 @r{(SGML mode)}
@@ -1945,10 +1949,10 @@ always insert explicit closing tags as well.
 @cindex nroff
 @findex nroff-mode
 @vindex nroff-mode-hook
 @cindex nroff
 @findex nroff-mode
 @vindex nroff-mode-hook
-  Nroff mode is a major mode derived from Text mode, which is
+  Nroff mode, a major mode derived from Text mode, is
 specialized for editing nroff files (e.g.@: Unix man pages).  Type
 @kbd{M-x nroff-mode} to enter this mode.  Entering Nroff mode runs the
 specialized for editing nroff files (e.g.@: Unix man pages).  Type
 @kbd{M-x nroff-mode} to enter this mode.  Entering Nroff mode runs the
-hook @code{text-mode-hook}, followed by @code{nroff-mode-hook}
+hook @code{text-mode-hook}, then @code{nroff-mode-hook}
 (@pxref{Hooks}).
 
   In Nroff mode, nroff command lines are treated as paragraph
 (@pxref{Hooks}).
 
   In Nroff mode, nroff command lines are treated as paragraph
@@ -2206,7 +2210,7 @@ for the right or left margin of a paragraph or a part of a paragraph.
 These margins also affect fill commands such as @kbd{M-q}
 (@pxref{Filling}).
 
 These margins also affect fill commands such as @kbd{M-q}
 (@pxref{Filling}).
 
-  The Indentation submenu of Text Properties provides four commands
+  The Indentation submenu of Text Properties offers commands
 for specifying indentation:
 
 @table @code
 for specifying indentation:
 
 @table @code
@@ -2289,10 +2293,9 @@ commands do nothing on text with this setting.  You can, however,
 still indent the left margin.
 @end table
 
 still indent the left margin.
 @end table
 
+@vindex default-justification
   You can also specify justification styles using the Justification
 submenu in the Text Properties menu.
   You can also specify justification styles using the Justification
 submenu in the Text Properties menu.
-
-@vindex default-justification
   The default justification style is specified by the per-buffer
 variable @code{default-justification}.  Its value should be one of the
 symbols @code{left}, @code{right}, @code{full}, @code{center}, or
   The default justification style is specified by the per-buffer
 variable @code{default-justification}.  Its value should be one of the
 symbols @code{left}, @code{right}, @code{full}, @code{center}, or
@@ -2575,10 +2578,12 @@ to @code{nil}.
 @findex table-insert-row
   @kbd{M-x table-insert-row} inserts a row of cells before the current
 table row.  The current row, together with point, is pushed down past
 @findex table-insert-row
   @kbd{M-x table-insert-row} inserts a row of cells before the current
 table row.  The current row, together with point, is pushed down past
-the new row.  To insert rows after the last row at the bottom of a
+the new row.  To insert a row after the last row at the bottom of a
 table, invoke this command with point below the table, just below the
 table, invoke this command with point below the table, just below the
-bottom edge.  A numeric prefix argument specifies the number of rows
-to insert.
+bottom edge.  You can insert more than one row at a time by using a
+numeric prefix argument.
+
+@c A numeric prefix argument specifies the number of rows to insert.
 
 @findex table-insert-column
   Similarly, @kbd{M-x table-insert-column} inserts a column of cells
 
 @findex table-insert-column
   Similarly, @kbd{M-x table-insert-column} inserts a column of cells