diff --git a/doc/sefun/time2string b/doc/sefun/time2string
index 4dae719..4acd1a2 100644
--- a/doc/sefun/time2string
+++ b/doc/sefun/time2string
@@ -1,53 +1,75 @@
-FUNKTION:
-	string time2string( string format, int time )
-	
-ARGUMENTE:
-	format: String, der das Format der Zeitausgabe festlegt.
-	time: Eine Anzahl von Sekunden, die ausgegeben werden soll.
 
-ERGEBNIS:
-	Zeit in String-Form.
+time2string()
+*************
 
-BESCHREIBUNG:
-	Der Formatstring wird zurueckgegeben, wobei bestimmte Ersetzungs-
-	symbole durch passende Daten, die aus der Zeit berechnet werden,
-	ersetzt werden. Die Ersetzungssymbole funktionieren aehnlich
-	denen aus 'printf' bekannten Symbolen. Insbesondere kann eine
-	Feldbreite mit angegeben werden.
 
-	Folgende Ersetzungssymbole sind erlaubt:
-	%%	wird durch ein Prozent (%) ersetzt.
-	%n, %w, %d, %h, %m, %s
-		  werden durch die Anzahl der Monate, Wochen, Tage, Stunden, Minuten oder
-      Sekunden ersetzt. Die Funktion erkennt, welches die groesste benutzte
-		  Zeiteinheit ist und rechnet die keineren so um, dass sie zwischen 0 und
-      jeweiligen Maximum der Zeiteinheit liegen (59, 23 etc.) liegen.
- 	%N	wird durch die Worte 'Woche' oder 'Wochen' ersetzt,
-      je nachdem welchen Wertd %n haette.
- 	%W	wird durch die Worte 'Woche' oder 'Wochen' ersetzt,
-		  je nachdem welchen Wert %w haette.
-	%D	wird durch die Worte 'Tag' oder 'Tage' ersetzt,
-		  je nachdem welchen Wert %d haette.
-	%H,%M,%S
-		  werden durch die Worte 'Stunde(n)', 'Minute(n)' bzw. 'Sekunde(n)'
-      ersetzt.
-	%X	wird durch die groesste Zeiteinheit ersetzt, die nicht Null ist. Wenn
-      bei %X die Feldbreite 0 angegeben wird (also %0X), dann wird nicht der
-      ausgeschriebene Name, sonder eine Abkuerzung fuer die Zeiteinheit
-      ausgegeben. (Das sind dann 'd','h','m' oder 's'.)
-	%x	wird durch den numerischen Wert dieser Zeiteinheit
-		  ersetzt.
-			
-BEISPIELE:
-	time2string( "%m %M", 60 ) -> "1 Minute"
-	time2string( "%m %M", 120 ) -> "2 Minuten"
-	time2string( "%s %S", 125 ) -> "125 Sekunden"
-	time2string( "%m %M und %s %S" ) -> "2 Minuten und 5 Sekunden"
-	time2string( "%d:%02h:%02m:%02s", 10000 ) -> "0:02:46:40"
-	time2string( "%x %X", 3600 ) -> "1 Stunde"
-	time2string( "%x %0X", 3600 ) -> "1 h"
-	time2string( "%x %X", 360000 ) -> "4 Tage"
-	time2string( "%x %0X", 360000 ) -> "4 d"
+FUNKTION
+========
 
-SIEHE AUCH:
-	sprintf(E)
+   string time2string( string format, int time )
+
+
+ARGUMENTE
+=========
+
+   format: String, der das Format der Zeitausgabe festlegt.
+   time: Eine Anzahl von Sekunden, die ausgegeben werden soll.
+
+
+ERGEBNIS
+========
+
+   Zeit in String-Form.
+
+
+BESCHREIBUNG
+============
+
+     Der Formatstring wird zurueckgegeben, wobei bestimmte Ersetzungs-
+     symbole durch passende Daten, die aus der Zeit berechnet werden,
+     ersetzt werden. Die Ersetzungssymbole funktionieren aehnlich
+     denen aus 'printf' bekannten Symbolen. Insbesondere kann eine
+     Feldbreite mit angegeben werden.
+
+     Folgende Ersetzungssymbole sind erlaubt:
+     %%      wird durch ein Prozent (%) ersetzt.
+     %n, %w, %d, %h, %m, %s
+               werden durch die Anzahl der Monate, Wochen, Tage, Stunden, Minuten oder
+   Sekunden ersetzt. Die Funktion erkennt, welches die groesste benutzte
+               Zeiteinheit ist und rechnet die keineren so um, dass sie zwischen 0 und
+   jeweiligen Maximum der Zeiteinheit liegen (59, 23 etc.) liegen.
+     %N      wird durch die Worte 'Woche' oder 'Wochen' ersetzt,
+   je nachdem welchen Wertd %n haette.
+     %W      wird durch die Worte 'Woche' oder 'Wochen' ersetzt,
+               je nachdem welchen Wert %w haette.
+     %D      wird durch die Worte 'Tag' oder 'Tage' ersetzt,
+               je nachdem welchen Wert %d haette.
+     %H,%M,%S
+               werden durch die Worte 'Stunde(n)', 'Minute(n)' bzw. 'Sekunde(n)'
+   ersetzt.
+     %X      wird durch die groesste Zeiteinheit ersetzt, die nicht Null ist. Wenn
+   bei %X die Feldbreite 0 angegeben wird (also %0X), dann wird nicht der
+   ausgeschriebene Name, sonder eine Abkuerzung fuer die Zeiteinheit
+   ausgegeben. (Das sind dann 'd','h','m' oder 's'.)
+     %x      wird durch den numerischen Wert dieser Zeiteinheit
+               ersetzt.
+
+
+BEISPIELE
+=========
+
+   time2string( "%m %M", 60 ) -> "1 Minute"
+   time2string( "%m %M", 120 ) -> "2 Minuten"
+   time2string( "%s %S", 125 ) -> "125 Sekunden"
+   time2string( "%m %M und %s %S" ) -> "2 Minuten und 5 Sekunden"
+   time2string( "%d:%02h:%02m:%02s", 10000 ) -> "0:02:46:40"
+   time2string( "%x %X", 3600 ) -> "1 Stunde"
+   time2string( "%x %0X", 3600 ) -> "1 h"
+   time2string( "%x %X", 360000 ) -> "4 Tage"
+   time2string( "%x %0X", 360000 ) -> "4 d"
+
+
+SIEHE AUCH
+==========
+
+   sprintf(E)
