diff --git a/doc/sphinx/man/lfun/AddSpecialInfo b/doc/sphinx/man/lfun/AddSpecialInfo
new file mode 100644
index 0000000..efc3067
--- /dev/null
+++ b/doc/sphinx/man/lfun/AddSpecialInfo
@@ -0,0 +1,88 @@
+
+AddSpecialInfo()
+****************
+
+
+FUNKTION
+========
+
+   varargs void AddSpecialInfo( frage, meldung
+                         [, indent [, [silent [, casebased] ] ] );
+
+
+ARGUMENTE
+=========
+
+   string/string* frage
+      Schluesseltext(e) auf die Informationen gegeben werden sollen.
+   string/closure function
+      Methodenname im NPC/Closure
+   string indent
+      Text, der sich bei mehrzeiligen Meldungen wiederholen soll.
+   int/string silent
+      Ist silent gesetzt, so erfolgt Antwort nur an Fragenden.
+   string/closure casebased
+      Funktionsname oder Closure mit Returnwert string oder int.
+
+
+DEFINIERT IN
+============
+
+   /std/npc/info.c
+
+
+BESCHREIBUNG
+============
+
+   Wenn ein Spieler ein NPC mittels "frage <monstername> nach <frage>" nach
+   einer Information mit dem Schluessel frage fragt, so wird die Methode
+   "function" gerufen. Die Rueckgabe wird als Meldung ausgegeben.
+
+   Fuer die Beschreibung der weiteren Parameter siehe man AddInfo(L).
+
+   AddSpecialInfo(keys, "function", ...) entspricht:
+   - AddInfo(keys, #'function, ...)
+
+
+BEMERKUNGEN
+===========
+
+   Da AddSpecialInfo() und AddInfo() auf die gleichen Daten zugreifen,
+   kann man Informationen, die mit AddSpecialInfo() gesetzt wurden, auch
+   mit RemoveInfo() entfernen. Es gibt kein RemoveSpecialInfo().
+
+
+BEISPIELE
+=========
+
+   // Das folgende Beispiel ist auch unter man AddInfo(L) zu finden.
+   ### dynamisch ###
+   AddSpecialInfo(({"keks","kekse"}),
+                  "query_kekse",      // der Methodenname
+                  "sagt: ");
+   // ist uebrigens das gleiche wie:
+   // static string query_kekse();
+   // ...
+   // AddInfo(({"keks","kekse"}),
+   //         #'query_kekse,          // ein Verweis auf die Methode
+   //         "sagt: ");
+   ...
+   static string query_kekse() {
+    if(present("keks"))
+     return("Ich hab noch welche. Aetsch!");
+    return("Menno. Keine mehr da!");
+   }
+
+   // "frage monster nach keks":
+   // - wenn es noch Kekse hat, hoeren alle:
+   //   "Das Monster sagt: Ich hab noch welche. Aetsch!
+   // - sonst:
+   //   "Das Monster sagt: "Menno. Keine mehr da!
+
+
+SIEHE AUCH
+==========
+
+   AddInfo(L), RemoveInfo(L)
+
+7.Apr 2004 Gloinson
