diff --git a/doc/lfun/AddId b/doc/lfun/AddId
index fa1ce76..8c2aa4e 100644
--- a/doc/lfun/AddId
+++ b/doc/lfun/AddId
@@ -1,50 +1,75 @@
+
 AddId()
+*******
 
-FUNKTION:
-     void AddId(string|string* ids);
 
-DEFINIERT IN:
-     /std/thing/description.c
+FUNKTION
+========
 
-ARGUMENTE:
-     ids
-          String oder Array von Strings mit den Bezeichnungen, mit denen
-          sich sich das Objekt ansprechen lassen soll.
+   void AddId(string|string* ids);
 
-BESCHREIBUNG:
-     Jedes Objekt sollte sich auf die eine oder andere Weise ansprechen
-     lassen. Zu diesem Zweck kann man dem Objekt mit dieser Funktion
-     Bezeichner uebergeben.
 
-RUeCKGABEWERT:
-     keiner
+DEFINIERT IN
+============
 
-BEMERKUNGEN:
-     Jedes Objekt sollte man zumindest mit seiner Kurzbeschreibung
-     ansprechen koennen! Fuer Abfragen von Questobjeken o.ae. sollte man
-     zusaetzlich IDs verwenden, die Sonderzeichen wie "\n" oder "\t"
-     enthalten, damit sichergestellt ist, dass der Spieler auch wirklich die
-     richtigen Objekte dabeihat.
+   /std/thing/description.c
 
-BEISPIELE:
 
-     AddId( "buch" );
-     AddId( "buechlein" );
+ARGUMENTE
+=========
 
-     Das Objekt laesst sich jetzt als "buch" und als "buechlein" ansprechen.
+   ids
+        String oder Array von Strings mit den Bezeichnungen, mit denen
+        sich sich das Objekt ansprechen lassen soll.
 
-     AddId( ({ "buch", "buechlein" }) );
 
-     Diese Zeile bewirkt das gleiche wie die obigen zwei Zeilen.
+BESCHREIBUNG
+============
 
-     AddId( ({ "puzzle", "\nquest_puzzle" }) );
+   Jedes Objekt sollte sich auf die eine oder andere Weise ansprechen
+   lassen. Zu diesem Zweck kann man dem Objekt mit dieser Funktion
+   Bezeichner uebergeben.
 
-     Der Spieler kann das Objekt als "puzzle" ansprechen, questrelevante
-     Objekte koennen mit der ID "\nquest_puzzle" nach ihm suchen.
 
-SIEHE AUCH:
-     AddAdjective(), RemoveId(), id(), present(), /std/thing/description.c
+RUeCKGABEWERT
+=============
 
-     -----------------------------------------------------------------------
+   keiner
+
+
+BEMERKUNGEN
+===========
+
+   Jedes Objekt sollte man zumindest mit seiner Kurzbeschreibung
+   ansprechen koennen! Fuer Abfragen von Questobjeken o.ae. sollte man
+   zusaetzlich IDs verwenden, die Sonderzeichen wie "\n" oder "\t"
+   enthalten, damit sichergestellt ist, dass der Spieler auch wirklich die
+   richtigen Objekte dabeihat.
+
+
+BEISPIELE
+=========
+
+   AddId( "buch" );
+   AddId( "buechlein" );
+
+   Das Objekt laesst sich jetzt als "buch" und als "buechlein" ansprechen.
+
+   AddId( ({ "buch", "buechlein" }) );
+
+   Diese Zeile bewirkt das gleiche wie die obigen zwei Zeilen.
+
+   AddId( ({ "puzzle", "\nquest_puzzle" }) );
+
+   Der Spieler kann das Objekt als "puzzle" ansprechen, questrelevante
+   Objekte koennen mit der ID "\nquest_puzzle" nach ihm suchen.
+
+
+SIEHE AUCH
+==========
+
+   AddAdjective(), RemoveId(), id(), present(), /std/thing/description.c
+
+   -----------------------------------------------------------------------
+
 20.01.2015, Zesstra
-
