diff --git a/doc/lfun/UseHands b/doc/lfun/UseHands
index a4fbc8d..d11723c 100644
--- a/doc/lfun/UseHands
+++ b/doc/lfun/UseHands
@@ -1,37 +1,61 @@
-UseHands
-FUNKTION:
-     public varargs int UseHands(object ob, int num)
 
-DEFINIERT IN:
-     /std/living/combat.c
+UseHands()
+**********
 
-ARGUMENTE:
-     ob  - das Objekt, das die Haende belegen soll
-     num - die Anzahl der zu belegenden Haende    
 
-RUECKGABEWERT:
-     1, fuer Erfolg
-     0, sonst     
+FUNKTION
+========
 
-BESCHREIBUNG:
-     Belegt, wenn moeglich Haende eines Livings durch ein bestimmtes
-     Objekt. Wenn die Anzahl der freien Haende (P_MAX_HANDS-P_USED_HANDS)
-     kleiner ist als "num", dann schlaegt diese Belegung fehl.
+   public varargs int UseHands(object ob, int num)
 
-BEISPIELE:
-     > halte seil fest
-     ...
-     this_player()->UseHands(this_object(),2);
-     ...
 
-     > lasse seil los
-     ...
-     this_player()->FreeHands(this_object());
-     ...
+DEFINIERT IN
+============
 
-SIEHE AUCH:
-     P_HANDS, P_HANDS_USED_BY
-     P_MAX_HANDS, P_USED_HANDS, P_FREE_HANDS
-     FreeHands
+   /std/living/combat.c
+
+
+ARGUMENTE
+=========
+
+   ob  - das Objekt, das die Haende belegen soll
+   num - die Anzahl der zu belegenden Haende
+
+
+RUECKGABEWERT
+=============
+
+   1, fuer Erfolg
+   0, sonst
+
+
+BESCHREIBUNG
+============
+
+   Belegt, wenn moeglich Haende eines Livings durch ein bestimmtes
+   Objekt. Wenn die Anzahl der freien Haende (P_MAX_HANDS-P_USED_HANDS)
+   kleiner ist als "num", dann schlaegt diese Belegung fehl.
+
+
+BEISPIELE
+=========
+
+   > halte seil fest
+   ...
+   this_player()->UseHands(this_object(),2);
+   ...
+
+   > lasse seil los
+   ...
+   this_player()->FreeHands(this_object());
+   ...
+
+
+SIEHE AUCH
+==========
+
+   P_HANDS, P_HANDS_USED_BY
+   P_MAX_HANDS, P_USED_HANDS, P_FREE_HANDS
+   FreeHands
 
 1.Feb.2004 Gloinson
