<meta http-equiv="REFRESH" content="10;url=http://wiki.services.openoffice.org/wiki/Documentation/FAQ">
<h3>This page is outdated. You will be redirected to <a href="http://wiki.services.openoffice.org/wiki/Documentation/FAQ">http://wiki.services.openoffice.org
/wiki/Documentation/FAQ</a> shortly.</h3>
<div style="margin-bottom: 10em;"></div>
<p><a href="../../index.html">Documentation</a> / <a href="../index.html">User FAQ</a> / <a href="index.html">Writer</a> / <a href="005.html" accesskey="p">Previous</a>-<a href="007.html"  accesskey="n">Next</a></p>
<h3>How do I create a simple outline-style numbered list? It should look like:</h3>
<br/>
<TABLE width="300" border="1pt" style="text-indent: -1cm;">
	<TR>
		<TD bgcolor="#e6e6e6">
		<CODE>1. List Title<br/>
		&nbsp;&nbsp;&nbsp;1.1 First item<br/>
		&nbsp;&nbsp;&nbsp;1.2 Second item<br/>
		&nbsp;&nbsp;&nbsp;1.3 Third item
		</CODE>
		</TD>
	</TR>
</TABLE>
<P><!-- ^^^ -->There are two tools in OpenOffice.org that give you
the ability to create numbered lists. One is the Format <B>Stylist</B>,
accessed by selecting Stylist from the pulldown menu. It
will open in a separate window and will default to opening the
&quot;Paragraph Styles&quot; view. If you click on the fifth icon
from the left, &quot;Numbering Styles&quot;, you will see a list of
pre-defined number styles. The other tool that you need is the
numbering toolbar. At the extreme far right of the text toolbar (the
bar that displays font name, font size, etc.), there is a small arrow
that points to the left. Click on it. You will now see the numbering
toolbar. You will not see this arrow if you are not already in a text
area that has a numbering style assigned. It turns out that the
numbering you want for the simple list above is already defined in
the pre-defined numbering styles. If the style you need does not
exist, you may also create your own styles. To create the list above:
</P>
<UL>
	<LI><P>Type in your text. The paragraph
	style that you use should not matter. This procedure was tested
	using the &quot;Text body&quot; paragraph style. 
	</P>
	<LI><P>Select all the text by drag
	selecting. 
	</P>
	<LI><P>Double-click on the numbering
	style &quot;Numbering 5&quot;. List numbers (but not the
	sub-numbers) should appear. 
	</P>
	<LI><P>Click on the left pointing arrow
	to the far right of the text toolbar. This will expose the numbering
	toolbar. 
	</P>
	<LI><P>Place your text cursor into the
	list item that says &quot;First item&quot;. 
	</P>
	<LI><P>Click on the right pointing arrow
	(the single one) in the numbering toolbar. Its name is &quot;Move
	Level Down&quot;. This item should now have the number &quot;1.1&quot;
	in front of it. 
	</P>
	<LI><P>Repeat the above step for the other sub-list items. 
	</P>
</UL>
<P>If you need to make your own list numbering style, it is suggested
to select one of the existing styles that is similar (in the
Stylist), then right click to get a context menu. Select &quot;New...&quot;
to make a new style based on the style that was selected. You will
get a dialog with many tabs that allow you to configure your own
numbering style. By the way, you can set up heading numbering the
same way. Each heading level can be assigned a different paragraph
style (e.g. Heading 1, Heading 2, Heading 3) but they all would be
assigned the same NUMBERING style - so the list would number
correctly. <B>Note: </B>OpenOffice.org will often make numbering
difficult when you do the following actions: 
</P>
<UL>
	<LI><P>Hit the back space key when you
	are in the style following a numbering style 
	</P>
	<LI><P>Insert unnumbered styles between
	numbered styles 
	</P>
	<LI><P>Output to HTML format with noncontiguous numbered and
	unnumbered styles 
	</P>
</UL>
<P><!-- ^^^ --></P>
<p><a href="../../index.html">Documentation</a> / <a href="../index.html">User FAQ</a> / <a href="index.html">Writer</a> / <a href="005.html" accesskey="p">Previous</a>-<a href="007.html"  accesskey="n">Next</a></p>
