1 |
@c This is part of the Emacs manual. |
@c This is part of the Emacs manual. |
2 |
@c Copyright (C) 1985,86,87,93,94,95,97,2000,2001 |
@c Copyright (C) 1985,86,87,93,94,95,97,2000,2001, 2002 |
3 |
@c Free Software Foundation, Inc. |
@c Free Software Foundation, Inc. |
4 |
@c See file emacs.texi for copying conditions. |
@c See file emacs.texi for copying conditions. |
5 |
@node Text, Programs, Indentation, Top |
@node Text, Programs, Indentation, Top |
50 |
@xref{Formatted Text}. |
@xref{Formatted Text}. |
51 |
@end iftex |
@end iftex |
52 |
|
|
53 |
|
@cindex skeletons |
54 |
|
@cindex templates |
55 |
|
@cindex autotyping |
56 |
|
@cindex automatic typing |
57 |
The ``automatic typing'' features may be useful when writing text. |
The ``automatic typing'' features may be useful when writing text. |
58 |
@xref{Top,, Autotyping, autotype, Features for Automatic Typing}. |
@xref{Top,, Autotyping, autotype, Features for Automatic Typing}. |
59 |
|
|
67 |
* Text Mode:: The major modes for editing text files. |
* Text Mode:: The major modes for editing text files. |
68 |
* Outline Mode:: Editing outlines. |
* Outline Mode:: Editing outlines. |
69 |
* TeX Mode:: Editing input to the formatter TeX. |
* TeX Mode:: Editing input to the formatter TeX. |
70 |
|
* HTML Mode:: Editing HTML, SGML, and XML files. |
71 |
* Nroff Mode:: Editing input to the formatter nroff. |
* Nroff Mode:: Editing input to the formatter nroff. |
72 |
* Formatted Text:: Editing formatted text directly in WYSIWYG fashion. |
* Formatted Text:: Editing formatted text directly in WYSIWYG fashion. |
73 |
@end menu |
@end menu |
532 |
@findex center-line |
@findex center-line |
533 |
The command @kbd{M-s} (@code{center-line}) centers the current line |
The command @kbd{M-s} (@code{center-line}) centers the current line |
534 |
within the current fill column. With an argument @var{n}, it centers |
within the current fill column. With an argument @var{n}, it centers |
535 |
@var{n} lines individually and moves past them. |
@var{n} lines individually and moves past them. This binding is |
536 |
|
made by Text mode and is available only in that and related modes |
537 |
|
(@pxref{Text Mode}). |
538 |
|
|
539 |
@vindex fill-column |
@vindex fill-column |
540 |
@kindex C-x f |
@kindex C-x f |
570 |
period. Set the variable @code{sentence-end-without-period} to |
period. Set the variable @code{sentence-end-without-period} to |
571 |
@code{t} to tell the sentence commands that a period is not necessary. |
@code{t} to tell the sentence commands that a period is not necessary. |
572 |
|
|
573 |
|
@vindex fill-nobreak-predicate |
574 |
|
The variable @code{fill-nobreak-predicate} specifies additional |
575 |
|
conditions for where line-breaking is allowed. Its value is either |
576 |
|
@code{nil} or a Lisp function; the function is called with no |
577 |
|
arguments, and if it returns a non-@code{nil} value, then point is not |
578 |
|
a good place to break the line. The standard functions you can use |
579 |
|
@code{fill-single-word-nobreak-p} (don't break after the first word of |
580 |
|
a sentence or before the last) and @code{fill-french-nobreak-p} (don't |
581 |
|
break after @samp{(} or before @samp{)}, @samp{:} or @samp{?}). |
582 |
|
|
583 |
@node Fill Prefix |
@node Fill Prefix |
584 |
@subsection The Fill Prefix |
@subsection The Fill Prefix |
585 |
|
|
920 |
@menu |
@menu |
921 |
* Format: Outline Format. What the text of an outline looks like. |
* Format: Outline Format. What the text of an outline looks like. |
922 |
* Motion: Outline Motion. Special commands for moving through |
* Motion: Outline Motion. Special commands for moving through |
923 |
outlines. |
outlines. |
924 |
* Visibility: Outline Visibility. Commands to control what is visible. |
* Visibility: Outline Visibility. Commands to control what is visible. |
925 |
* Views: Outline Views. Outlines and multiple views. |
* Views: Outline Views. Outlines and multiple views. |
926 |
* Foldout:: Folding editing. |
* Foldout:: Folding editing. |
1062 |
invisible (@code{hide-leaves}). |
invisible (@code{hide-leaves}). |
1063 |
@item C-c C-k |
@item C-c C-k |
1064 |
Make all subheadings of this heading line, at all levels, visible |
Make all subheadings of this heading line, at all levels, visible |
1065 |
(@code{show-branches}). |
(@code{show-branches}). |
1066 |
@item C-c C-i |
@item C-c C-i |
1067 |
Make immediate subheadings (one level down) of this heading line |
Make immediate subheadings (one level down) of this heading line |
1068 |
visible (@code{show-children}). |
visible (@code{show-children}). |
1144 |
setting @code{selective-display-ellipses} to @code{nil}. Then there is |
setting @code{selective-display-ellipses} to @code{nil}. Then there is |
1145 |
no visible indication of the presence of invisible lines. |
no visible indication of the presence of invisible lines. |
1146 |
|
|
1147 |
|
@findex reveal-mode |
1148 |
When incremental search finds text that is hidden by Outline mode, |
When incremental search finds text that is hidden by Outline mode, |
1149 |
it makes that part of the buffer visible. If you exit the search |
it makes that part of the buffer visible. If you exit the search |
1150 |
at that position, the text remains visible. |
at that position, the text remains visible. You can also |
1151 |
|
automatically make text visible as you navigate in it by using |
1152 |
|
@kbd{M-x reveal-mode}. |
1153 |
|
|
1154 |
@node Outline Views |
@node Outline Views |
1155 |
@subsection Viewing One Outline in Multiple Views |
@subsection Viewing One Outline in Multiple Views |
1275 |
(eval-after-load "outline" '(require 'foldout)) |
(eval-after-load "outline" '(require 'foldout)) |
1276 |
@end example |
@end example |
1277 |
|
|
1278 |
@node TeX Mode, Nroff Mode, Outline Mode, Text |
@node TeX Mode |
1279 |
@section @TeX{} Mode |
@section @TeX{} Mode |
1280 |
@cindex @TeX{} mode |
@cindex @TeX{} mode |
1281 |
@cindex La@TeX{} mode |
@cindex La@TeX{} mode |
1578 |
modified buffers. Generally, you need to use (@code{tex-file}) twice to |
modified buffers. Generally, you need to use (@code{tex-file}) twice to |
1579 |
get the cross-references right. |
get the cross-references right. |
1580 |
|
|
1581 |
@vindex tex-start-options-string |
@vindex tex-start-options |
1582 |
The value of the variable @code{tex-start-options-string} specifies |
The value of the variable @code{tex-start-options} specifies |
1583 |
options for the @TeX{} run. The default value causes @TeX{} to run in |
options for the @TeX{} run. |
1584 |
nonstop mode. To run @TeX{} interactively, set the variable to @code{""}. |
|
1585 |
|
@vindex tex-start-commands |
1586 |
|
The value of the variable @code{tex-start-commands} specifies @TeX{} |
1587 |
|
commands for starting @TeX{}. The default value causes @TeX{} to run |
1588 |
|
in nonstop mode. To run @TeX{} interactively, set the variable to |
1589 |
|
@code{""}. |
1590 |
|
|
1591 |
@vindex tex-main-file |
@vindex tex-main-file |
1592 |
Large @TeX{} documents are often split into several files---one main |
Large @TeX{} documents are often split into several files---one main |
1649 |
@findex tildify-region |
@findex tildify-region |
1650 |
@cindex ties, @TeX{}, inserting |
@cindex ties, @TeX{}, inserting |
1651 |
@cindex hard spaces, @TeX{}, inserting |
@cindex hard spaces, @TeX{}, inserting |
|
@cindex SGML |
|
|
@cindex HTML |
|
1652 |
The commands @kbd{M-x tildify-buffer} and @kbd{M-x tildify-region} |
The commands @kbd{M-x tildify-buffer} and @kbd{M-x tildify-region} |
1653 |
insert @samp{~} (@dfn{tie}) characters where they are conventionally |
insert @samp{~} (@dfn{tie}) characters where they are conventionally |
1654 |
required. This is set up for Czech---customize the group |
required. This is set up for Czech---customize the group |
1661 |
For managing all kinds of references for La@TeX{}, you can use |
For managing all kinds of references for La@TeX{}, you can use |
1662 |
Ref@TeX{}. @xref{Top, , RefTeX, reftex}. |
Ref@TeX{}. @xref{Top, , RefTeX, reftex}. |
1663 |
|
|
1664 |
|
@node HTML Mode |
1665 |
|
@section SGML, XML, and HTML Modes |
1666 |
|
|
1667 |
|
The major modes for SGML and HTML include indentation support and |
1668 |
|
commands to operate on tags. This section describes the special |
1669 |
|
commands of these modes. (HTML mode is a slightly customized variant |
1670 |
|
of SGML mode.) |
1671 |
|
|
1672 |
|
@table @kbd |
1673 |
|
@item C-c C-n |
1674 |
|
@kindex C-c C-n @r{(SGML mode)} |
1675 |
|
@findex sgml-name-char |
1676 |
|
Interactively specify a special character and insert the SGML |
1677 |
|
@samp{&}-command for that character. |
1678 |
|
|
1679 |
|
@item C-c C-t |
1680 |
|
@kindex C-c C-t @r{(SGML mode)} |
1681 |
|
@findex sgml-tag |
1682 |
|
Interactively specify a tag and its attributes (@code{sgml-tag}). |
1683 |
|
This command asks you for a tag name and for the attribute values, |
1684 |
|
then inserts both the opening tag and the closing tag, leaving point |
1685 |
|
between them. |
1686 |
|
|
1687 |
|
With a prefix argument @var{n}, the command puts the tag around the |
1688 |
|
@var{n} words already present in the buffer after point. With |
1689 |
|
@minus{}1 as argument, it puts the tag around the region. (In |
1690 |
|
Transient Mark mode, it does this whenever a region is active.) |
1691 |
|
|
1692 |
|
@item C-c C-a |
1693 |
|
@kindex C-c C-a @r{(SGML mode)} |
1694 |
|
@findex sgml-attributes |
1695 |
|
Interactively insert attribute values for the current tag |
1696 |
|
(@code{sgml-attributes}). |
1697 |
|
|
1698 |
|
@item C-c C-f |
1699 |
|
@kindex C-c C-f @r{(SGML mode)} |
1700 |
|
@findex sgml-skip-tag-forward |
1701 |
|
Skip across a balanced tag group (which extends from an opening tag |
1702 |
|
through its corresponding closing tag) (@code{sgml-skip-tag-forward}). |
1703 |
|
A numeric argument acts as a repeat count. |
1704 |
|
|
1705 |
|
@item C-c C-b |
1706 |
|
@kindex C-c C-b @r{(SGML mode)} |
1707 |
|
@findex sgml-skip-tag-backward |
1708 |
|
Skip backward across a balanced tag group (which extends from an |
1709 |
|
opening tag through its corresponding closing tag) |
1710 |
|
(@code{sgml-skip-tag-forward}). A numeric argument acts as a repeat |
1711 |
|
count. |
1712 |
|
|
1713 |
|
@item C-c C-d |
1714 |
|
@kindex C-c C-d @r{(SGML mode)} |
1715 |
|
@findex sgml-delete-tag |
1716 |
|
Delete the tag at or after point, and delete the matching tag too |
1717 |
|
(@code{sgml-delete-tag}). If the tag at or after point is an opening |
1718 |
|
tag, delete the closing tag too; if it is a closing tag, delete the |
1719 |
|
opening tag too. |
1720 |
|
|
1721 |
|
@item C-c ? @var{tag} @key{RET} |
1722 |
|
@kindex C-c ? @r{(SGML mode)} |
1723 |
|
@findex sgml-tag-help |
1724 |
|
Display a description of the meaning of tag @var{tag} |
1725 |
|
(@code{sgml-tag-help}). If the argument @var{tag} is empty, describe |
1726 |
|
the tag at point. |
1727 |
|
|
1728 |
|
@item C-c / |
1729 |
|
@kindex C-c / @r{(SGML mode)} |
1730 |
|
@findex sgml-close-tag |
1731 |
|
Insert a close tag for the innermost unterminated tag |
1732 |
|
(@code{sgml-close-tag}). If called from within a tag or a comment, |
1733 |
|
close this element instead of inserting a close tag. |
1734 |
|
|
1735 |
|
@item C-c 8 |
1736 |
|
@kindex C-c 8 @r{(SGML mode)} |
1737 |
|
@findex sgml-name-8bit-mode |
1738 |
|
Toggle a minor mode in which Latin-1 characters insert the |
1739 |
|
corresponding SGML commands that stand for them, instead of the |
1740 |
|
characters themselves (@code{sgml-name-8bit-mode}). |
1741 |
|
|
1742 |
|
@item C-c C-v |
1743 |
|
@kindex C-c C-v @r{(SGML mode)} |
1744 |
|
@findex sgml-validate |
1745 |
|
Run a shell command (which you must specify) to validate the current |
1746 |
|
buffer as SGML (@code{sgml-validate}). |
1747 |
|
|
1748 |
|
@item C-x TAB |
1749 |
|
@kindex C-c TAB @r{(SGML mode)} |
1750 |
|
@findex sgml-tags-invisible |
1751 |
|
Toggle the visibility of existing tags in the buffer. This can be |
1752 |
|
used as a cheap preview. |
1753 |
|
@end table |
1754 |
|
|
1755 |
|
@vindex sgml-xml-mode |
1756 |
|
SGML mode and HTML mode support XML also. In XML, every opening tag |
1757 |
|
must have an explicit closing tag. When @code{sgml-xml-mode} is |
1758 |
|
non-@code{nil}, SGML mode (and HTML mode) always insert explicit |
1759 |
|
closing tags. When you visit a file, these modes determine from the |
1760 |
|
file contents whether it is XML or not, and set @code{sgml-xml-mode} |
1761 |
|
accordingly, so that they do the right thing for the file in either |
1762 |
|
case. |
1763 |
|
|
1764 |
@node Nroff Mode |
@node Nroff Mode |
1765 |
@section Nroff Mode |
@section Nroff Mode |
1766 |
|
|
1849 |
* Color: Format Colors. Changing the color of text. |
* Color: Format Colors. Changing the color of text. |
1850 |
* Indent: Format Indentation. Changing the left and right margins. |
* Indent: Format Indentation. Changing the left and right margins. |
1851 |
* Justification: Format Justification. |
* Justification: Format Justification. |
1852 |
Centering, setting text flush with the |
Centering, setting text flush with the |
1853 |
left or right margin, etc. |
left or right margin, etc. |
1854 |
* Other: Format Properties. The "special" text properties submenu. |
* Other: Format Properties. The "special" text properties submenu. |
1855 |
* Forcing Enriched Mode:: How to force use of Enriched mode. |
* Forcing Enriched Mode:: How to force use of Enriched mode. |
1858 |
@node Requesting Formatted Text |
@node Requesting Formatted Text |
1859 |
@subsection Requesting to Edit Formatted Text |
@subsection Requesting to Edit Formatted Text |
1860 |
|
|
1861 |
Whenever you visit a file that Emacs saved in the text/enriched format, |
Whenever you visit a file that Emacs saved in the text/enriched |
1862 |
Emacs automatically converts the formatting information in the file into |
format, Emacs automatically converts the formatting information in the |
1863 |
Emacs's own internal format (text properties), and turns on Enriched |
file into Emacs's own internal format (known as @dfn{text |
1864 |
mode. |
properties}), and turns on Enriched mode. |
1865 |
|
|
1866 |
@findex enriched-mode |
@findex enriched-mode |
1867 |
To create a new file of formatted text, first visit the nonexistent |
To create a new file of formatted text, first visit the nonexistent |
1898 |
@samp{x-read-only}. This ensures that they will not conflict with |
@samp{x-read-only}. This ensures that they will not conflict with |
1899 |
standard annotations that may be added later. |
standard annotations that may be added later. |
1900 |
|
|
1901 |
|
@xref{Text Properties,,, elisp, the Emacs Lisp Reference Manual}, |
1902 |
|
for more information about text properties. |
1903 |
|
|
1904 |
@node Hard and Soft Newlines |
@node Hard and Soft Newlines |
1905 |
@subsection Hard and Soft Newlines |
@subsection Hard and Soft Newlines |
1906 |
@cindex hard newline |
@cindex hard newline |
2148 |
|
|
2149 |
@node Format Justification |
@node Format Justification |
2150 |
@subsection Justification in Formatted Text |
@subsection Justification in Formatted Text |
2151 |
|
|
2152 |
When editing formatted text, you can specify various styles of |
When editing formatted text, you can specify various styles of |
2153 |
justification for a paragraph. The style you specify automatically |
justification for a paragraph. The style you specify automatically |
2154 |
affects the Emacs fill commands. |
affects the Emacs fill commands. |
2220 |
The default justification style is specified by the variable |
The default justification style is specified by the variable |
2221 |
@code{default-justification}. Its value should be one of the symbols |
@code{default-justification}. Its value should be one of the symbols |
2222 |
@code{left}, @code{right}, @code{full}, @code{center}, or @code{none}. |
@code{left}, @code{right}, @code{full}, @code{center}, or @code{none}. |
2223 |
|
|
2224 |
@node Format Properties |
@node Format Properties |
2225 |
@subsection Setting Other Text Properties |
@subsection Setting Other Text Properties |
2226 |
|
|
2260 |
Emacs does the necessary conversions on the text which you insert, but |
Emacs does the necessary conversions on the text which you insert, but |
2261 |
it does not enable Enriched mode. If you wish to do that, type @kbd{M-x |
it does not enable Enriched mode. If you wish to do that, type @kbd{M-x |
2262 |
enriched-mode}. |
enriched-mode}. |
2263 |
@end itemize |
@end itemize |
2264 |
|
|
2265 |
The command @code{format-decode-buffer} translates text in various |
The command @code{format-decode-buffer} translates text in various |
2266 |
formats into Emacs's internal format. It asks you to specify the format |
formats into Emacs's internal format. It asks you to specify the format |