diff --git a/doc/lfun/MaterialGroup b/doc/lfun/MaterialGroup
index da51cad..1b4e61e 100644
--- a/doc/lfun/MaterialGroup
+++ b/doc/lfun/MaterialGroup
@@ -1,37 +1,64 @@
+
 MaterialGroup()
-FUNKTION:
-     int MaterialGroup(mapping mats, string grp)
+***************
 
-DEFINIERT IN:
-     /p/daemon/materialdb.c (MATERIALDB)
 
-ARGUMENTE:
-     mapping mats - Materialienmapping
-     string grp   - Materialiengruppe
+FUNKTION
+========
 
-BESCHREIBUNG:
-     Die Materialien im Mapping werden auf Zugehoerigkeit zu der Gruppe
-     untersucht und der Gesamtanteil dieser Materialiengruppe am Mapping
-     in Prozent zurueckgegeben (wenn das Mapping sich auf 100% aufaddiert).
+   int MaterialGroup(mapping mats, string grp)
 
-RUECKGABEWERT:
-     int - prozentualer Anteil der Materialiengruppe -100 ... 100 %
 
-BEISPIELE:
-     if(MATERIALDB->MaterialGroup(
-		([MAT_MISC_STONE:40,MAT_AMETHYST:50,MAT_MISC_METAL:10]),
-		MATGROUP_JEWEL)>50)
-      write("Oh ja, darin sind sehr viele Edelsteine!\n");
+DEFINIERT IN
+============
 
-BEMERKUNGEN:
-     Wird von /std/thing/description::QueryMaterialGroup() gerufen.
-     Bitte an Objekten auch QueryMaterialGroup() verwenden.
+   /p/daemon/materialdb.c (MATERIALDB)
 
-SIEHE AUCH:
-     Konzepte:	  material, materialerkennung
-     Grundlegend: P_MATERIAL, /sys/thing/material.h
-     Master:	  AddMaterial(), ConvMaterialList()
-		  GroupName(), MaterialName(),
-		  GetGroupMembers(), GetMatMembership()
 
-7. Mai 2004 Gloinson
\ No newline at end of file
+ARGUMENTE
+=========
+
+   mapping mats - Materialienmapping
+   string grp   - Materialiengruppe
+
+
+BESCHREIBUNG
+============
+
+   Die Materialien im Mapping werden auf Zugehoerigkeit zu der Gruppe
+   untersucht und der Gesamtanteil dieser Materialiengruppe am Mapping
+   in Prozent zurueckgegeben (wenn das Mapping sich auf 100% aufaddiert).
+
+
+RUECKGABEWERT
+=============
+
+   int - prozentualer Anteil der Materialiengruppe -100 ... 100 %
+
+
+BEISPIELE
+=========
+
+   if(MATERIALDB->MaterialGroup(
+              ([MAT_MISC_STONE:40,MAT_AMETHYST:50,MAT_MISC_METAL:10]),
+              MATGROUP_JEWEL)>50)
+    write("Oh ja, darin sind sehr viele Edelsteine!\n");
+
+
+BEMERKUNGEN
+===========
+
+   Wird von /std/thing/description::QueryMaterialGroup() gerufen.
+   Bitte an Objekten auch QueryMaterialGroup() verwenden.
+
+
+SIEHE AUCH
+==========
+
+   Konzepte:    material, materialerkennung
+   Grundlegend: P_MATERIAL, /sys/thing/material.h
+   Master:      AddMaterial(), ConvMaterialList()
+                GroupName(), MaterialName(),
+                GetGroupMembers(), GetMatMembership()
+
+7. Mai 2004 Gloinson
