diff --git a/doc/lfun/WithDraw b/doc/lfun/WithDraw
index d1532a2..1bff547 100644
--- a/doc/lfun/WithDraw
+++ b/doc/lfun/WithDraw
@@ -1,42 +1,69 @@
+
 WithDraw()
-FUNKTION:
-     int WithDraw(int amount);
+**********
 
-DEFINIERT IN:
-     /p/daemon/zentralbank.c
 
-ARGUMENTE:
-     int amount	- angeforderte Geldmenge
+FUNKTION
+========
 
-BESCHREIBUNG:
-     Damit wird bei der Zentralbank eine bestimmte Menge Geld angefordert.
-     Der Rueckgabewert haengt vom Kassenstand der Zentralbank ab und ist
-     entweder amount oder amount/3.
+   int WithDraw(int amount);
 
-RUeCKGABEWERT:
-     Menge des bei der Zentralbank "abgehobenen" Geldes.
 
-BEISPIELE:
-     #include <bank.h>
-     ...
-     if(ZENTRALBANK->WithDraw(50000)<50000)
-      write(break_string(
-       "Leider koennen wir ihnen keinen vollen Zuschuss zu ihrem Hotelbau "
-       "geben!",
-       "Der Beamte sagt: ",78));
-      say(break_string(
-       "Leider koennen wir ihnen keinen vollen Zuschuss zu ihrem Hotelbau "
-       "geben!",
-       "Der Beamte sagt zu "+this_player()->name(WEM)+": ",78));
-      ...
+DEFINIERT IN
+============
 
-BEMERKUNGEN:
-     Unsere Zentralbank ist korrupt, vor allem dadurch, dass in Laeden und
-     an anderen Stellen Geld erzeugt wird.
+   /p/daemon/zentralbank.c
 
-SIEHE AUCH:
-     Geldhandling:	AddMoney(L), QueryMoney(L)
-     Zentralbank:	PayIn(L), _query_current_money(L)
-     Sonstiges:		/items/money.c, /sys/bank.h
+
+ARGUMENTE
+=========
+
+   int amount - angeforderte Geldmenge
+
+
+BESCHREIBUNG
+============
+
+   Damit wird bei der Zentralbank eine bestimmte Menge Geld angefordert.
+   Der Rueckgabewert haengt vom Kassenstand der Zentralbank ab und ist
+   entweder amount oder amount/3.
+
+
+RUeCKGABEWERT
+=============
+
+   Menge des bei der Zentralbank "abgehobenen" Geldes.
+
+
+BEISPIELE
+=========
+
+   #include <bank.h>
+   ...
+   if(ZENTRALBANK->WithDraw(50000)<50000)
+    write(break_string(
+     "Leider koennen wir ihnen keinen vollen Zuschuss zu ihrem Hotelbau "
+     "geben!",
+     "Der Beamte sagt: ",78));
+    say(break_string(
+     "Leider koennen wir ihnen keinen vollen Zuschuss zu ihrem Hotelbau "
+     "geben!",
+     "Der Beamte sagt zu "+this_player()->name(WEM)+": ",78));
+    ...
+
+
+BEMERKUNGEN
+===========
+
+   Unsere Zentralbank ist korrupt, vor allem dadurch, dass in Laeden und
+   an anderen Stellen Geld erzeugt wird.
+
+
+SIEHE AUCH
+==========
+
+   Geldhandling:      AddMoney(L), QueryMoney(L)
+   Zentralbank:       PayIn(L), _query_current_money(L)
+   Sonstiges:         /items/money.c, /sys/bank.h
 
 27. Apr 2004 Gloinson
