diff -ur moin-1.5.0/MoinMoin/macro/TableOfContents.py moin-1.5.0-toc-formatting-patch/MoinMoin/macro/TableOfContents.py
--- moin-1.5.0/MoinMoin/macro/TableOfContents.py	2005-09-22 12:22:09.000000000 -0400
+++ moin-1.5.0-toc-formatting-patch/MoinMoin/macro/TableOfContents.py	2006-01-16 10:15:20.000000000 -0500
@@ -38,6 +38,7 @@
 
     def __init__(self, macro, args):
         self.macro = macro
+        self._ = self.macro.request.getText
         
         self.inc_re = re.compile(r"^\[\[Include\((.*)\)\]\]")
         self.arg_re = re.compile(_args_re_pattern)
@@ -69,12 +70,19 @@
         return self.pre_re.sub('',apply(self.include_macro, args, kwargs)).split('\n')
 
     def run(self):
+        _ = self._
+        self.result.append(self.macro.formatter.startContent(css_class="table-of-contents"))
+        self.result.append(self.macro.formatter.paragraph(1,css_class="table-of-contents-heading"))
+        self.result.append(self.macro.formatter.escapedText(_('Contents')))
+        self.result.append(self.macro.formatter.paragraph(0))
+
         self.process_lines(self.pre_re.sub('',self.macro.parser.raw).split('\n'),
                            self.macro.formatter.page.page_name)
         # Close pending lists
         for i in range(self.baseindent, self.indent):
             self.result.append(self.macro.formatter.listitem(0))
             self.result.append(self.macro.formatter.number_list(0))
+        self.result.append(self.macro.formatter.endContent())
         return ''.join(self.result)
 
     def process_lines(self, lines, pagename):
diff -ur moin-1.5.0/wiki/htdocs/classic/css/common.css moin-1.5.0-toc-formatting-patch/wiki/htdocs/classic/css/common.css
--- moin-1.5.0/wiki/htdocs/classic/css/common.css	2005-12-17 16:22:37.000000000 -0500
+++ moin-1.5.0-toc-formatting-patch/wiki/htdocs/classic/css/common.css	2006-01-16 11:04:59.000000000 -0500
@@ -113,6 +113,18 @@
 /* Replacement for html 3 u tag */
 .u {text-decoration: underline;}
 
+/* TableOfContents macro */
+.table-of-contents { font-size: small;
+                     text-align:left;
+                     margin: 0.5em; padding-left: 2em;
+                     width:50%; }
+.table-of-contents ol { margin:0; margin-left:1em;
+                        list-style-type:decimal; }
+.table-of-contents ul { margin:0;
+                        list-style-type:none; }
+.table-of-contents-heading { font-weight:bold; padding:0; margin:0; }
+
+
 .footnotes ul {
 	padding: 0 2em;
 	margin: 0 0 1em;
diff -ur moin-1.5.0/wiki/htdocs/modern/css/common.css moin-1.5.0-toc-formatting-patch/wiki/htdocs/modern/css/common.css
--- moin-1.5.0/wiki/htdocs/modern/css/common.css	2005-12-17 16:18:10.000000000 -0500
+++ moin-1.5.0-toc-formatting-patch/wiki/htdocs/modern/css/common.css	2006-01-16 11:03:37.000000000 -0500
@@ -143,6 +143,20 @@
 	padding: 0;
 }
 
+/* TableOfContents macro */
+.table-of-contents { border: 1px solid #bbbbbb;
+                     color: black; background-color: #eeeeee;
+                     font-size: small;
+                     text-align:left;
+                     margin: 0.5em; padding-left: 2em;
+                     width:50%; }
+.table-of-contents ol { margin:0; margin-left:1em;
+                        list-style-type:decimal; }
+.table-of-contents ul { margin:0;
+                        list-style-type:none; }
+.table-of-contents-heading { font-weight:bold; padding:0; margin:0; }
+
+
 .footnotes div {
 	width: 5em;
 	border-top: 1pt solid gray;
diff -ur moin-1.5.0/wiki/htdocs/rightsidebar/css/common.css moin-1.5.0-toc-formatting-patch/wiki/htdocs/rightsidebar/css/common.css
--- moin-1.5.0/wiki/htdocs/rightsidebar/css/common.css	2005-12-17 16:24:52.000000000 -0500
+++ moin-1.5.0-toc-formatting-patch/wiki/htdocs/rightsidebar/css/common.css	2006-01-16 11:05:23.000000000 -0500
@@ -126,6 +126,20 @@
 /* Replacement for html 3 u tag */
 .u {text-decoration: underline;}
 
+/* TableOfContents macro */
+.table-of-contents { border: 1px solid #bbbbbb;
+                     color: black; background-color: #eeeeee;
+                     font-size: small;
+                     text-align:left;
+                     margin: 0.5em; padding-left: 2em;
+                     width:50%; }
+.table-of-contents ol { margin:0; margin-left:1em;
+                        list-style-type:decimal; }
+.table-of-contents ul { margin:0;
+                        list-style-type:none; }
+.table-of-contents-heading { font-weight:bold; padding:0; margin:0; }
+
+
 .footnotes ul {
 	padding: 0 2em;
 	margin: 0 0 1em;
