diff --git a/doc/props/P_POST b/doc/props/P_POST
index 53a6f74..975a884 100644
--- a/doc/props/P_POST
+++ b/doc/props/P_POST
@@ -1,64 +1,82 @@
-NAME:
-	P_POST				"Post"
 
-DEFINIERT IN:
-	/mail/post.h
+P_POST
+******
 
-BESCHREIBUNG:
-	In dieser Property laesst sich die Versendeerlaubnis von Paketen
-	regeln. Hierbei gibt es zum einen die postlagernden Pakete, die man
-	in einer Post abholen muss, und es gibt die sogenannten
-	Kurierpakete, welche direkt und unmittelbar zugestellt werden.
-	Nicht immer ist es erwuenscht, dass Pakete aus der Ferne in einen
-	Raum geschickt werden duerfen. Dies duerfte insbesondere innerhalb
-	von Gebieten interessant sein, in welche man nur beschraenkt viele
-	Objekte mitfuehren kann. Mit dieser Property nun ist es leicht
-	moeglich, dies zu verbieten. Man kann auch in den Objekten selbst
-	angeben, ob diese per postlagerndem Paket bzw. Kurierpaket
-	verschickt werden duerfen. Dies duerfte zum Beispiel bei Komponenten
-	fuer Spells oder fuer Unique-Objekte interessant sein.
-	Folgende Werte sind moeglich, wobei in Raeumen und Objekten
-	Standardmaessig PP_DEFAULT genutzt wird:
 
-	  PP_FORBIDDEN		-2	// auf jeden Fall verboten
-	  PP_NO_EXPRESS		-1	// Kurierpakete verboten
-	  PP_DEFAULT		 0	// Default
-	  PP_NORMAL_ALLOWED	 1	// postlagernde Pakete erlaubt
-	  PP_ALLOWED		 2	// auf jeden Fall erlaubt
+NAME
+====
 
-	Raeume, die von /std/post.c abgeleitet wurden, nutzen als Standard
-	natuerlich PP_ALLOWED.
+   P_POST                          "Post"
 
-BEISPIEL:
-	Um Kurierpakete fuer einen Raum zu verbieten, nutzt man die
-	Funktionalitaet dieser Property folgendermassen:
 
-	  include "/mail/post.h"
-	  ...
-	  void create()
-	  { ::create();
-	    ...
-	    SetProp(P_POST,PP_NO_EXPRESS);
-	    ...
-	  }
+DEFINIERT IN
+============
 
-	Objekte selbst koennte man folgendermassen aus Paketen verbannen,
-	welche versendet werden sollen:
+   /mail/post.h
 
-	  include "/mail/post.h"
-	  ...
-	  void create()
-	  { ::create();
-	    ...
-	    SetProp(P_POST,PP_FORBIDDEN);
-	    ...
-	  }
 
-	In letzterem Fall funktionieren im Gegensatz zum ersten Beispiel
-	auch keine postlagernden Pakete mehr.
+BESCHREIBUNG
+============
 
-SIEHE AUCH:
-	/std/post.c, /std/mailcabin.c, /p/service/loco/std/mailcabin.c
+   In dieser Property laesst sich die Versendeerlaubnis von Paketen
+   regeln. Hierbei gibt es zum einen die postlagernden Pakete, die man
+   in einer Post abholen muss, und es gibt die sogenannten
+   Kurierpakete, welche direkt und unmittelbar zugestellt werden.
+   Nicht immer ist es erwuenscht, dass Pakete aus der Ferne in einen
+   Raum geschickt werden duerfen. Dies duerfte insbesondere innerhalb
+   von Gebieten interessant sein, in welche man nur beschraenkt viele
+   Objekte mitfuehren kann. Mit dieser Property nun ist es leicht
+   moeglich, dies zu verbieten. Man kann auch in den Objekten selbst
+   angeben, ob diese per postlagerndem Paket bzw. Kurierpaket
+   verschickt werden duerfen. Dies duerfte zum Beispiel bei Komponenten
+   fuer Spells oder fuer Unique-Objekte interessant sein.
+   Folgende Werte sind moeglich, wobei in Raeumen und Objekten
+   Standardmaessig PP_DEFAULT genutzt wird:
 
-----------------------------------------------------------------------------
+     PP_FORBIDDEN          -2      // auf jeden Fall verboten
+     PP_NO_EXPRESS         -1      // Kurierpakete verboten
+     PP_DEFAULT             0      // Default
+     PP_NORMAL_ALLOWED      1      // postlagernde Pakete erlaubt
+     PP_ALLOWED             2      // auf jeden Fall erlaubt
+
+   Raeume, die von /std/post.c abgeleitet wurden, nutzen als Standard
+   natuerlich PP_ALLOWED.
+
+
+BEISPIEL
+========
+
+   Um Kurierpakete fuer einen Raum zu verbieten, nutzt man die
+   Funktionalitaet dieser Property folgendermassen:
+
+     include "/mail/post.h"
+     ...
+     void create()
+     { ::create();
+       ...
+       SetProp(P_POST,PP_NO_EXPRESS);
+       ...
+     }
+
+   Objekte selbst koennte man folgendermassen aus Paketen verbannen,
+   welche versendet werden sollen:
+
+     include "/mail/post.h"
+     ...
+     void create()
+     { ::create();
+       ...
+       SetProp(P_POST,PP_FORBIDDEN);
+       ...
+     }
+
+   In letzterem Fall funktionieren im Gegensatz zum ersten Beispiel
+   auch keine postlagernden Pakete mehr.
+
+
+SIEHE AUCH
+==========
+
+   /std/post.c, /std/mailcabin.c, /p/service/loco/std/mailcabin.c
+
 Last modified: Sun Sep  6 19:34:37 1998 by Patryn
