diff --git a/doc/lfun/name b/doc/lfun/name
index 74eac45..3509366 100644
--- a/doc/lfun/name
+++ b/doc/lfun/name
@@ -1,54 +1,81 @@
+
+name()
+******
+
 name()|Name()
 
-FUNKTION:
-     varargs string name(int casus, int demon);
-     varargs string Name(int casus, int demon);
 
-DEFINIERT IN:
-     /std/thing/description.c
+FUNKTION
+========
 
-ARGUMENTE:
-     casus
-          Der Fall, in dem der Name dekliniert werden soll.
-     demon
-          Gibt an, ob der Name mit bestimmtem oder unbestimmtem Artikel
-          versehen werden soll:
-             + demon = 0: Unbestimmter Artikel.
-             + demon = 1: Bestimmter Artikel.
-             + demon = 2: Finde selbst heraus, ob ein bestimmter oder ein
-               unbestimmter Artikel verwendet werden soll.
+   varargs string name(int casus, int demon);
+   varargs string Name(int casus, int demon);
 
-BESCHREIBUNG:
-     Diese Funktion ermittelt den Namen des Objektes im gewuenschten Fall
-     und mit dem angegebenen Artikel. Moegliche Werte fuer casus sind in
-     <thing/language.h> definiert. Weiterhin werden auch (falls angegeben)
-     die Namensadjektive dekliniert und in den Namen eingebaut.
 
-     Name() ist ein Alias fuer capitalize(name()), der Artikel wird also
-     gross geschrieben.
+DEFINIERT IN
+============
 
-RUeCKGABEWERT:
-     String mit dem Namen des Objektes.
+   /std/thing/description.c
 
-BEMERKUNGEN:
-     Falls P_ARTICLE gesetzt ist, werden weder Artikel noch Namensadjektive
-     in den Namen eingebaut.
 
-     Wenn man als casus RAW angibt, wird der Name im Nominativ ohne Artikel
-     und Namensadjektive zurueckgegeben.
+ARGUMENTE
+=========
 
-BEISPIELE:
-     Wenn das Objekt ein Ball mit P_NAME="Ball" und P_NAME_ADJ="klein" ist,
-     so liefern die folgenden Aufrufe die angegebenen Ergebnisse:
+   casus
+        Der Fall, in dem der Name dekliniert werden soll.
+   demon
+        Gibt an, ob der Name mit bestimmtem oder unbestimmtem Artikel
+        versehen werden soll:
+           + demon = 0: Unbestimmter Artikel.
+           + demon = 1: Bestimmter Artikel.
+           + demon = 2: Finde selbst heraus, ob ein bestimmter oder ein
+             unbestimmter Artikel verwendet werden soll.
 
-     name(WER,0);    => "ein kleiner Ball"
-     name(WESSEN,1); => "des kleinen Balls"
-     name(RAW);      => "Ball"
-     name(WEM,2);    => "einem kleinen Ball" oder "dem kleinen Ball",
-                        abhaengig davon, wieviele Baelle gerade da sind.
 
-SIEHE AUCH:
-     /std/thing/description.c, Name()
+BESCHREIBUNG
+============
 
-----------------------------------------------------------------------------
+   Diese Funktion ermittelt den Namen des Objektes im gewuenschten Fall
+   und mit dem angegebenen Artikel. Moegliche Werte fuer casus sind in
+   <thing/language.h> definiert. Weiterhin werden auch (falls angegeben)
+   die Namensadjektive dekliniert und in den Namen eingebaut.
+
+   Name() ist ein Alias fuer capitalize(name()), der Artikel wird also
+   gross geschrieben.
+
+
+RUeCKGABEWERT
+=============
+
+   String mit dem Namen des Objektes.
+
+
+BEMERKUNGEN
+===========
+
+   Falls P_ARTICLE gesetzt ist, werden weder Artikel noch Namensadjektive
+   in den Namen eingebaut.
+
+   Wenn man als casus RAW angibt, wird der Name im Nominativ ohne Artikel
+   und Namensadjektive zurueckgegeben.
+
+
+BEISPIELE
+=========
+
+   Wenn das Objekt ein Ball mit P_NAME="Ball" und P_NAME_ADJ="klein" ist,
+   so liefern die folgenden Aufrufe die angegebenen Ergebnisse:
+
+   name(WER,0);    => "ein kleiner Ball"
+   name(WESSEN,1); => "des kleinen Balls"
+   name(RAW);      => "Ball"
+   name(WEM,2);    => "einem kleinen Ball" oder "dem kleinen Ball",
+                      abhaengig davon, wieviele Baelle gerade da sind.
+
+
+SIEHE AUCH
+==========
+
+   /std/thing/description.c, Name()
+
 Letzte Aenderung: 29.07.2016, Bugfix
