diff --git a/doc/lfun/Leave b/doc/lfun/Leave
index b3b52d2..fef5e6f 100644
--- a/doc/lfun/Leave
+++ b/doc/lfun/Leave
@@ -1,40 +1,64 @@
+
 Leave()
+*******
 
-FUNKTION:
-     int Leave();
 
-DEFINIERT IN:
-     /std/transport.c
+FUNKTION
+========
 
-ARGUMENTE:
-     keine
+   int Leave();
 
-BESCHREIBUNG:
-     Wenn sich der Spieler auf einem Transporter befindet, und dieser sich
-     momentan an einer Haltestelle liegt, verlaesst der Spieler den
-     Transporter.
 
-RUeCKGABEWERT:
-     Null, wenn der Spieler den Transporter nicht verlassen konnte, sonst
-     ungleich Null.
+DEFINIERT IN
+============
 
-BEMERKUNGEN:
-     Es werden keine Tests durchgefuehrt, ob der Transporter ueberhaupt
-     angesprochen wurde! Das muss man selber machen.
+   /std/transport.c
 
-BEISPIELE:
 
-     int myLeave(string str)
-     {
-       if (str && id(str))
-         return Leave();
+ARGUMENTE
+=========
 
-       notify_fail("Was willst Du verlassen?\n");
-       return 0;
-     }
+   keine
 
-SIEHE AUCH:
-     Enter(), /std/transport.c
 
-----------------------------------------------------------------------------
+BESCHREIBUNG
+============
+
+   Wenn sich der Spieler auf einem Transporter befindet, und dieser sich
+   momentan an einer Haltestelle liegt, verlaesst der Spieler den
+   Transporter.
+
+
+RUeCKGABEWERT
+=============
+
+   Null, wenn der Spieler den Transporter nicht verlassen konnte, sonst
+   ungleich Null.
+
+
+BEMERKUNGEN
+===========
+
+   Es werden keine Tests durchgefuehrt, ob der Transporter ueberhaupt
+   angesprochen wurde! Das muss man selber machen.
+
+
+BEISPIELE
+=========
+
+   int myLeave(string str)
+   {
+     if (str && id(str))
+       return Leave();
+
+     notify_fail("Was willst Du verlassen?\n");
+     return 0;
+   }
+
+
+SIEHE AUCH
+==========
+
+   Enter(), /std/transport.c
+
 Last modified: Wed May 8 10:20:30 1996 by Wargon
