GNU Info

Info Node: (emacs)Outline Format

(emacs)Outline Format


Next: Outline Motion Up: Outline Mode
Enter node , (file) or (file)node

Format of Outlines
------------------

   Outline mode assumes that the lines in the buffer are of two types:
"heading lines" and "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:

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

   A heading line together with all following body lines is called
collectively an "entry".  A heading line together with all following
deeper heading lines and their body lines is called a "subtree".

   You can customize the criterion for distinguishing heading lines by
setting the variable `outline-regexp'.  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 `@chapter', `@section' and `@subsection' to divide the
document into chapters and sections, you could make those lines count
as heading lines by setting `outline-regexp' to
`"@chap\\|@\\(sub\\)*section"'.  Note the trick: the two words
`chapter' and `section' are equally long, but by defining the regexp to
match only `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 `@chap'.

   You can change the rule for calculating the level of a heading line
by setting the variable `outline-level'.  The value of `outline-level'
should be a function that takes no arguments and returns the level of
the current heading.  Some major modes such as C, Nroff, and Emacs Lisp
mode set this variable and `outline-regexp' in order to work with
Outline minor mode.


automatically generated by info2www version 1.2.2.9