Mercurial > emacs
changeset 99938:c6c4e5badd7a
(Text): Simplify description of markup languages.
(TeX Mode): Simplify introduction. Mention BibTeX mode.
(TeX Editing): Note that `""' inserts one `"' character.
(HTML Mode): Note in the introduction that XML mode is an alias for
SGML mode. Mention nXML mode.
author | Chong Yidong <cyd@stupidchicken.com> |
---|---|
date | Wed, 26 Nov 2008 04:13:33 +0000 |
parents | ded9dbdc15e9 |
children | 619005ff08ff |
files | doc/emacs/text.texi |
diffstat | 1 files changed, 88 insertions(+), 79 deletions(-) [+] |
line wrap: on
line diff
--- a/doc/emacs/text.texi Wed Nov 26 04:07:53 2008 +0000 +++ b/doc/emacs/text.texi Wed Nov 26 04:13:33 2008 +0000 @@ -26,23 +26,11 @@ @xref{Outline Mode}. @end iftex - For text which contains embedded commands for text formatters, Emacs -has other major modes, each for a particular formatter. For instance, -La@TeX{} mode is used for editing La@TeX{} -@iftex -documents (@pxref{LaTeX,,La@TeX{} Mode}), -@end iftex -@ifnottex -documents, -@end ifnottex -while Nroff mode is used for editing groff or nroff files. - - 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. -@iftex -@xref{Formatted Text}. -@end iftex + Emacs has other major modes for text which contains ``embedded'' +commands, such as @TeX{} and La@TeX{} (@pxref{TeX Mode}); HTML, SGML, +and XML (@pxref{HTML Mode}); and Groff and Nroff (@pxref{Nroff Mode}). +In addition, you can edit formatted text in WYSIWYG style (``what you +see is what you get''), using Enriched mode (@pxref{Formatted Text}). @cindex ASCII art If you need to edit pictures made out of text characters (commonly @@ -1365,36 +1353,38 @@ @findex latex-mode @findex slitex-mode @findex doctex-mode - - @TeX{} is a powerful text formatter written by Donald Knuth; it is -also free software, like GNU Emacs. La@TeX{} is a simplified input -format for @TeX{}, implemented by @TeX{} macros; it comes with @TeX{}. -Sli@TeX{} is a special form of La@TeX{}.@footnote{Sli@TeX{} is -obsoleted by the @samp{slides} document class and other alternative -packages in recent La@TeX{} versions.} Doc@TeX{} (@file{.dtx}) is a -special file format in which the La@TeX{} 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. +@findex bibtex-mode + + 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 +@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 +been replaced by the @samp{slides} document class, which comes with +La@TeX{}.} @vindex tex-default-mode @TeX{} mode has four variants: Plain @TeX{} mode, La@TeX{} mode, -Sli@TeX{} mode, and Doc@TeX{} 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 La@TeX{} -input, Sli@TeX{}, or Doc@TeX{} input; if so, it selects the -appropriate mode. If the file contents do not appear to be La@TeX{}, -Sli@TeX{} or Doc@TeX{}, it selects Plain @TeX{} mode. If the contents -are insufficient to determine this, the variable -@code{tex-default-mode} controls which mode is used. - - When @kbd{M-x tex-mode} does not guess right, you can use the commands -@kbd{M-x plain-tex-mode}, @kbd{M-x latex-mode}, @kbd{M-x slitex-mode}, -and @kbd{doctex-mode} to select explicitly the particular variants of -@TeX{} 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 +contents of the buffer. (This is done by the @code{tex-mode} command, +which is normally called automatically when you visit a @TeX{}-like +file. @xref{Choosing Modes}.) If the contents are insufficient to +determine this, Emacs chooses the mode specified by the variable +@code{tex-default-mode}; its default value is @code{latex-mode}. If +Emacs does not guess right, you can select the correct variant of +@TeX{} mode using the command @kbd{M-x plain-tex-mode}, @kbd{M-x +latex-mode}, @kbd{M-x slitex-mode}, or @kbd{doctex-mode}. + + Emacs also provides Bib@TeX{} mode, a major mode for editing +Bib@TeX{} files. Bib@TeX{} is a tool for storing and formatting +bibliographic references, which is commonly used together with +La@TeX{}. In addition, the Ref@TeX{} package provides a minor mode +which can be used in conjunction with La@TeX{} mode to manage +bibliographic references. @inforef{Top,, reftex}. @menu * Editing: TeX Editing. Special commands for editing in TeX mode. @@ -1406,9 +1396,6 @@ @node TeX Editing @subsection @TeX{} Editing Commands - Here are the special commands provided in @TeX{} mode for editing the -text of the file. - @table @kbd @item " Insert, according to context, either @samp{``} or @samp{"} or @@ -1427,20 +1414,22 @@ @findex tex-insert-quote @kindex " @r{(@TeX{} mode)} - In @TeX{}, the character @samp{"} is not normally used; we use -@samp{``} 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 -@kbd{C-q} 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{}, the character @samp{"} is not normally used; instead, +quotations begin with @samp{``} and end with @samp{''}. For +convenience, @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, it inserts +@samp{``} after whitespace or an open brace, @samp{"} after a +backslash, and @samp{''} after any other character. + + As a special exception, if you type @kbd{"} when the text before +point is either @samp{``} or @samp{''}, Emacs replaces that preceding +text with a single @samp{"} character. You can therefore type +@kbd{""} to insert @samp{"}, should you ever need to do so. (You can +also use @kbd{C-q "} to insert this character.) + + To disable the @kbd{"} expansion feature, eliminate 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 @@ -1477,15 +1466,15 @@ Note that Emacs commands count square brackets and parentheses in @TeX{} 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. +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. @node LaTeX Editing @subsection La@TeX{} Editing Commands - La@TeX{} mode, and its variant, Sli@TeX{} mode, provide a few extra -features not applicable to plain @TeX{}. + La@TeX{} mode (and its obsolete variant, Sli@TeX{} mode) provide a +few extra features not applicable to plain @TeX{}: @table @kbd @item C-c C-o @@ -1755,11 +1744,28 @@ @node HTML Mode @section 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.) +@cindex SGML mode +@cindex HTML mode +@cindex XML mode +@cindex mode, SGML +@cindex mode, HTML +@cindex mode, XML +@findex sgml-mode +@findex html-mode +@findex xml-mode + + The major modes for SGML, XML, and HTML provide indentation support +and commands for operating on tags. XML mode is actually identical to +SGML mode (to be precise, @code{xml-mode} is an alias for +@code{sgml-mode}), because XML is a strict subset of SGML. HTML mode +is a slightly customized variant of SGML mode. + +@vindex sgml-xml-mode + In XML, every opening tag must have an explicit closing tag. When +the variable @code{sgml-xml-mode} is non-@code{nil}, the tag insertion +commands described below always insert explicit closing tags as well. +When you visit a file, Emacs determines whether it is XML by examining +the file contents, and sets @code{sgml-xml-mode} accordingly. @table @kbd @item C-c C-n @@ -1845,14 +1851,17 @@ used as a cheap preview. @end table -@vindex 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 -non-@code{nil}, 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. +@cindex nXML mode +@cindex mode, nXML +@findex nxml-mode +@cindex XML schema + Emacs also provides a more advanced mode mode for editing XML +documents, called nXML mode (@code{nxml-mode}). nXML mode is aware of +many existing XML schema, and uses them to provide completion of XML +elements via @kbd{C-@key{RET}} or @kbd{M-@key{TAB}}, as well as +``on-the-fly'' validation of XML, with errors highlighted via Font +Lock (@pxref{Font Lock}). It is described in its own manual. +@xref{Top, nXML Mode,,nxml-mode, nXML Mode}. @node Nroff Mode @section Nroff Mode