diff --git a/doc/props/P_PUT_MSG b/doc/props/P_PUT_MSG
index 5f6caef..65624ce 100644
--- a/doc/props/P_PUT_MSG
+++ b/doc/props/P_PUT_MSG
@@ -1,62 +1,79 @@
+
 P_PUT_MSG
-NAME:
-     P_PUT_MSG				"put_message"
+*********
 
-DEFINIERT IN:
-     /sys/living/put_and_get.h
 
-BESCHREIBUNG:
+NAME
+====
 
-     Mit P_PUT_MSG kann man die Meldung, die man beim Hineinstecken eines
-     Objektes in einen Container bekommt, modifizieren.
+   P_PUT_MSG                          "put_message"
 
-     Folgende Werte sind moeglich:
 
-     o 0
-       Es wird eine Standardmeldung ausgegeben. Dies ist Voreinstellung.
+DEFINIERT IN
+============
 
-     o NO_PNG_MSG	== -1
-       Es wird keinerlei Meldung ausgegeben
+   /sys/living/put_and_get.h
 
-     o Ein Array aus Strings
-       Der erste String wird an den Spieler ausgegeben, der zweite
-       (optionale) an den Raum.
 
-       Die Strings werden durch die Funktion replace_personal() geparst.
-	Objekt1 - Spieler
-        Objekt2 - das Objekt, das irgendwohin gesteckt wird
-	Objekt3 - der Container
+BESCHREIBUNG
+============
 
-       Wird der zweite String nicht angegeben, erfolgt keine Meldung an den
-       Raum.
+   Mit P_PUT_MSG kann man die Meldung, die man beim Hineinstecken eines
+   Objektes in einen Container bekommt, modifizieren.
 
-BEISPIEL:
-     void create() {
-      ...
-      SetProp( P_SHORT, "Etwas Sand" );
-      SetProp( P_LONG, break_string(
-       "Ein wenig magischer Sand. Sehr feinkruemelig.",78 ));
+   Folgende Werte sind moeglich:
 
-      SetProp( P_NAME, "Sand" );
-      AddId( ({"sand"}) );
-      SetProp( P_GENDER, MALE );
+   o 0
+     Es wird eine Standardmeldung ausgegeben. Dies ist Voreinstellung.
 
-      SetProp( P_PUT_MSG, ({
-       "Du laesst @WEN2 in @WENU3 rieseln.",
-       "@WER1 laesst @WEN2 in @WENU3 rieseln."}));
-      ...
-     }
+   o NO_PNG_MSG       == -1
+     Es wird keinerlei Meldung ausgegeben
 
-     Das ganze fuehrt bei Ugars "stecke sand in paket" zu folgenden
-     Meldungen:
+   o Ein Array aus Strings
+     Der erste String wird an den Spieler ausgegeben, der zweite
+     (optionale) an den Raum.
 
-     Ugar: "Du laesst den Sand in ein Paket rieseln."
-     Raum: "Ugar laesst den Sand in ein Paket rieseln."
+     Die Strings werden durch die Funktion replace_personal() geparst.
+      Objekt1 - Spieler
+      Objekt2 - das Objekt, das irgendwohin gesteckt wird
+      Objekt3 - der Container
 
-SIEHE AUCH:
-     Aehnliches: P_PICK_MSG, P_DROP_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), put_obj(L), /std/living/put_and_get.c
+     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_PUT_MSG, ({
+     "Du laesst @WEN2 in @WENU3 rieseln.",
+     "@WER1 laesst @WEN2 in @WENU3 rieseln."}));
+    ...
+   }
+
+   Das ganze fuehrt bei Ugars "stecke sand in paket" zu folgenden
+   Meldungen:
+
+   Ugar: "Du laesst den Sand in ein Paket rieseln."
+   Raum: "Ugar laesst den Sand in ein Paket rieseln."
+
+
+SIEHE AUCH
+==========
+
+   Aehnliches: P_PICK_MSG, P_DROP_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), put_obj(L), /std/living/put_and_get.c
 
 14. Maerz 2004 Gloinson
