diff --git a/doc/sefun/shout b/doc/sefun/shout
index ead266f..0d38abb 100644
--- a/doc/sefun/shout
+++ b/doc/sefun/shout
@@ -1,69 +1,93 @@
-FUNKTION:
-     varargs void shout( string text, mixed where )
 
-DEFINIERT IN:
-     /secure/simul_efun.c
+shout()
+*******
 
-ARGUMENTE:
-     text
-          Der Text, der ausgegeben werden soll
 
-     where [optional]
-          Wo soll man den Text ueberall hoeren koennen?
+FUNKTION
+========
 
-BESCHREIBUNG:
-     Der Text 'text' wird an alle Spieler in einem Gebiet ausgegeben.
-     Wird der Parameter 'where' weggelassen bzw. ist er null, so geht der
-     Text an alle Spieler im Mud. Das catch_tell() von NPCs wird nicht
-     ausgeloest.
+   varargs void shout( string text, mixed where )
 
-     Ist 'where' eine Zahl != 0, so wird der Text nur an Spieler ausgegeben,
-     die sich im selben Gebiet aufhalten wie this_player(). Dabei wird die
-     Zugehoerigkeit zum selben Gebiet an den ersten zwei Ebenen des Pfades
-     der Raeume festgemacht. Befindet sich this_player() z.B. in
-     "/d/ebene/irgendwo", so geht der Text an alle Spieler, deren Aufenthalts-
-     orte in "/d/ebene/*" liegen.
 
-     Fuer 'where' kann auch direkt ein Pfad angegeben werden. So wuerde ein
-     'shout( txt, "/players/" )' an alle Spieler gehen, die sich in
-     (eigentlich nicht erwuenschten) Raeumen in /players/* befinden.
+DEFINIERT IN
+============
 
-     Um mit einem Aufruf gleich mehrere Pfade abzudecken, kann auch ein Array
-     von Strings uebergeben werden. Alle Pfade werden als 'regular expression'
-     interpretiert. Dadurch ist es moeglich, die Zielraeume auf einfache Art
-     sehr genau einzuschraenken.
+   /secure/simul_efun.c
 
-     HINWEIS: Bitte ueberleg vor jedem shout() genau, ob es wirklich noetig
-     ist, dass _jeder_ etwas davon mitbekommt oder ob es nicht vielleicht
-     sinnvoller ist, das Zielgebiet etwas einzuschraenken. Im Zweifelsfall
-     sollte der zustaendige RM aufpassen, dass die Spieler nicht durch allzu
-     zahlreiche shouts belaestigt werden.
 
-RUeCKGABEWERT:
-     keiner
+ARGUMENTE
+=========
 
-BEISPIELE:
-     shout( "Du spuerst, wie ein Zittern durch das MorgenGrauen geht.\n" );
-        Der allseits bekannte Text wird an alle Spieler im MG ausgegeben.
+   text
+        Der Text, der ausgegeben werden soll
 
-     shout( "Du hoerst eine gewaltige Explosion.\n", 1 );
-        Von der Explosion bekommen alle Spieler in derselben Gegend etwas mit,
-        aber nicht am anderen Ende des Muds.
+   where [optional]
+        Wo soll man den Text ueberall hoeren koennen?
 
-     shout( "Irgendwo ist ein Baum umgefallen.\n", "/d/vland/" );
-        ... gibt eine Meldung aus, die keinen wirklich interessiert. Aber es
-        trifft eh nur Leute in einem unwichtigen Teil des MorgenGrauen. ;-)
 
-     shout( "Aufwachen Du Idler!\n", "/players/.*/workroom" );
-        Mit Hilfe von regular expressions kann man recht einfach z.B. alle
-        Workrooms auf einmal adressieren.
+BESCHREIBUNG
+============
 
-     shout( "Halloooooo, Echoooooo!\n", ({ "/d/gebirge/", "/d/ebene/" }) );
-        Wenn der Spieler hoch oben auf dem Berg laut genug ruft, hoert man
-        ihn auch noch weit in der Ebene.
+   Der Text 'text' wird an alle Spieler in einem Gebiet ausgegeben.
+   Wird der Parameter 'where' weggelassen bzw. ist er null, so geht der
+   Text an alle Spieler im Mud. Das catch_tell() von NPCs wird nicht
+   ausgeloest.
 
-SIEHE AUCH:
-     write(), say(), tell_object(), tell_room(), regexp()
+   Ist 'where' eine Zahl != 0, so wird der Text nur an Spieler ausgegeben,
+   die sich im selben Gebiet aufhalten wie this_player(). Dabei wird die
+   Zugehoerigkeit zum selben Gebiet an den ersten zwei Ebenen des Pfades
+   der Raeume festgemacht. Befindet sich this_player() z.B. in
+   "/d/ebene/irgendwo", so geht der Text an alle Spieler, deren Aufenthalts-
+   orte in "/d/ebene/*" liegen.
 
-----------------------------------------------------------------------------
+   Fuer 'where' kann auch direkt ein Pfad angegeben werden. So wuerde ein
+   'shout( txt, "/players/" )' an alle Spieler gehen, die sich in
+   (eigentlich nicht erwuenschten) Raeumen in /players/* befinden.
+
+   Um mit einem Aufruf gleich mehrere Pfade abzudecken, kann auch ein Array
+   von Strings uebergeben werden. Alle Pfade werden als 'regular expression'
+   interpretiert. Dadurch ist es moeglich, die Zielraeume auf einfache Art
+   sehr genau einzuschraenken.
+
+   HINWEIS: Bitte ueberleg vor jedem shout() genau, ob es wirklich noetig
+   ist, dass _jeder_ etwas davon mitbekommt oder ob es nicht vielleicht
+   sinnvoller ist, das Zielgebiet etwas einzuschraenken. Im Zweifelsfall
+   sollte der zustaendige RM aufpassen, dass die Spieler nicht durch allzu
+   zahlreiche shouts belaestigt werden.
+
+
+RUeCKGABEWERT
+=============
+
+   keiner
+
+
+BEISPIELE
+=========
+
+   shout( "Du spuerst, wie ein Zittern durch das MorgenGrauen geht.\n" );
+      Der allseits bekannte Text wird an alle Spieler im MG ausgegeben.
+
+   shout( "Du hoerst eine gewaltige Explosion.\n", 1 );
+      Von der Explosion bekommen alle Spieler in derselben Gegend etwas mit,
+      aber nicht am anderen Ende des Muds.
+
+   shout( "Irgendwo ist ein Baum umgefallen.\n", "/d/vland/" );
+      ... gibt eine Meldung aus, die keinen wirklich interessiert. Aber es
+      trifft eh nur Leute in einem unwichtigen Teil des MorgenGrauen. ;-)
+
+   shout( "Aufwachen Du Idler!\n", "/players/.*/workroom" );
+      Mit Hilfe von regular expressions kann man recht einfach z.B. alle
+      Workrooms auf einmal adressieren.
+
+   shout( "Halloooooo, Echoooooo!\n", ({ "/d/gebirge/", "/d/ebene/" }) );
+      Wenn der Spieler hoch oben auf dem Berg laut genug ruft, hoert man
+      ihn auch noch weit in der Ebene.
+
+
+SIEHE AUCH
+==========
+
+   write(), say(), tell_object(), tell_room(), regexp()
+
 Last modified: Sun Nov 28 03:00:00 1999 by Tiamak
