diff --git a/doc/props/P_PICK_MSG b/doc/props/P_PICK_MSG
index f77d508..76b2760 100644
--- a/doc/props/P_PICK_MSG
+++ b/doc/props/P_PICK_MSG
@@ -1,60 +1,78 @@
+
 P_PICK_MSG
-NAME:
-     P_PICK_MSG				"pick_message"
+**********
 
-DEFINIERT IN:
-     /sys/living/put_and_get.h
 
-BESCHREIBUNG:
-     Mit P_PICK_MSG kann man die Meldung, die man beim Aufnehmen eines
-     Objektes bekommt, modifizieren.
+NAME
+====
 
-     Folgende Werte sind moeglich:
+   P_PICK_MSG                         "pick_message"
 
-     o 0
-       Es wird eine Standardmeldung ausgegeben. Dies ist Voreinstellung.
 
-     o NO_PNG_MSG       == -1
-       Es wird keinerlei Meldung ausgegeben
+DEFINIERT IN
+============
 
-     o Ein Array aus Strings
-       Der erste String wird an den Spieler ausgegeben, der zweite
-       (optionale) an den Raum.
+   /sys/living/put_and_get.h
 
-       Die Strings werden durch die Funktion replace_personal() geparst.
-	Objekt1 - Spieler
-        Objekt2 - das Objekt, das genommen wird
 
-       Wird der zweite String nicht angegeben, erfolgt keine Meldung an den
-       Raum.
+BESCHREIBUNG
+============
 
-BEISPIEL:
-     void create() {
-      ...
-      SetProp( P_SHORT, "Etwas Sand" );
-      SetProp( P_LONG, break_string(
-       "Ein wenig magischer Sand. Sehr feinkruemelig.",78 ));
+   Mit P_PICK_MSG kann man die Meldung, die man beim Aufnehmen eines
+   Objektes bekommt, modifizieren.
 
-      SetProp( P_NAME, "Sand" );
-      AddId( ({"sand"}) );
-      SetProp( P_GENDER, MALE );
+   Folgende Werte sind moeglich:
 
-      SetProp( P_PICK_MSG, ({
-       "Du schaufelst @WEN2 in deine Hand.",
-       "@WER1 schaufelt @WEN2 in eine Hand."}));
-      ...
-     }
+   o 0
+     Es wird eine Standardmeldung ausgegeben. Dies ist Voreinstellung.
 
-     Das ganze fuehrt bei Ugars "nimm sand" zu folgenden
-     Meldungen:
+   o NO_PNG_MSG       == -1
+     Es wird keinerlei Meldung ausgegeben
 
-     Ugar: "Du schaufelst den Sand in deine Hand."
-     Raum: "Ugar schaufelt den Sand in eine Hand."
+   o Ein Array aus Strings
+     Der erste String wird an den Spieler ausgegeben, der zweite
+     (optionale) an den Raum.
 
-SIEHE AUCH:
-     Aehnliches: P_DROP_MSG, P_PUT_MSG, P_GIVE_MSG, P_WEAR_MSG, P_WIELD_MSG
-     Fehler:     P_TOO_HEAVY_MSG, P_ENV_TOO_HEAVY_MSG, P_TOO_MANY_MSG,
-                 P_NOINSERT_MSG, P_NOLEAVE_MSG, P_NODROP, P_NOGET 
-     Sonstiges:  replace_personal(E), pick_obj(L), /std/living/put_and_get.c
+     Die Strings werden durch die Funktion replace_personal() geparst.
+      Objekt1 - Spieler
+      Objekt2 - das Objekt, das genommen wird
+
+     Wird der zweite String nicht angegeben, erfolgt keine Meldung an den
+     Raum.
+
+
+BEISPIEL
+========
+
+   void create() {
+    ...
+    SetProp( P_SHORT, "Etwas Sand" );
+    SetProp( P_LONG, break_string(
+     "Ein wenig magischer Sand. Sehr feinkruemelig.",78 ));
+
+    SetProp( P_NAME, "Sand" );
+    AddId( ({"sand"}) );
+    SetProp( P_GENDER, MALE );
+
+    SetProp( P_PICK_MSG, ({
+     "Du schaufelst @WEN2 in deine Hand.",
+     "@WER1 schaufelt @WEN2 in eine Hand."}));
+    ...
+   }
+
+   Das ganze fuehrt bei Ugars "nimm sand" zu folgenden
+   Meldungen:
+
+   Ugar: "Du schaufelst den Sand in deine Hand."
+   Raum: "Ugar schaufelt den Sand in eine Hand."
+
+
+SIEHE AUCH
+==========
+
+   Aehnliches: P_DROP_MSG, P_PUT_MSG, P_GIVE_MSG, P_WEAR_MSG, P_WIELD_MSG
+   Fehler:     P_TOO_HEAVY_MSG, P_ENV_TOO_HEAVY_MSG, P_TOO_MANY_MSG,
+               P_NOINSERT_MSG, P_NOLEAVE_MSG, P_NODROP, P_NOGET
+   Sonstiges:  replace_personal(E), pick_obj(L), /std/living/put_and_get.c
 
 14. Maerz 2004 Gloinson
