diff --git a/tutorial/t13.geo b/tutorial/t13.geo
index 6ff1021a7b70160df1221a616f476521a99a31f4..61edda77b7c52ef7f0a49275ab779a1c8e38db6a 100644
--- a/tutorial/t13.geo
+++ b/tutorial/t13.geo
@@ -1,7 +1,63 @@
-General.MeshDiscrete = 1;
+/*********************************************************************
+ *
+ *  Gmsh tutorial 13
+ *
+ *  Remeshing STL with compounds
+ *
+ *********************************************************************/
+
+// Since compound geometrical compute a new parametrization, one can also use
+// them to remesh STL files, even if in this case there's usually only a single
+// elementary geometrical entity per compound.
+
+// Let's merge the mesh that we would like to remesh. This mesh was reclassified
+// ("colored") from an initial STL triangulation using the "Reclassify 2D" tool
+// in Gmsh, so that we could split it along sharp geometrical features.
 Merge "t13_data.msh";
-Mesh.Algorithm=6;
-Mesh.CharacteristicLengthMax = 1;
+
 // Since the original mesh is a bit coarse, we refine it once
 RefineMesh;
-CreateTopology;
\ No newline at end of file
+
+// Create the topology of the discrete model
+CreateTopology;
+
+// We can now define a compound line (resp. surface) for each discrete line
+// (resp. surface) in the model
+ll[] = Line "*";
+For j In {0 : #ll[]-1}
+  Compound Line(newl) = ll[j];
+EndFor
+ss[] = Surface "*";
+s = news;
+For i In {0 : #ss[]-1}
+  Compound Surface(s+i) = ss[i];
+EndFor
+
+// And we can create the volume based on the new compound entities
+Surface Loop(1) = {s : s + #ss[]-1};
+Volume(1) = {1};
+
+Physical Surface(1) = {s : s + #ss[]-1};
+Physical Volume(1) = 1;
+Physical Line(1) = {26 ... 37};
+
+// element size imposed by a size field
+Field[1] = MathEval;
+Field[1].F = "2.5";
+Background Field = 1;
+
+DefineConstant[
+  funny = {0, Choices{0,1},
+    Name "Parameters/Apply funny mesh size field?"},
+  hide = {Geometry.HideCompounds, Choices{0,1},
+    AutoCheck 0, GmshOption "Geometry.HideCompounds",
+    Name "Parameters/Hide compound sub-entities"}
+];
+
+If(funny)
+  Field[1].F = "2*Sin((x+y)/5) + 3";
+EndIf
+
+Mesh.RemeshAlgorithm = 1; // automatic
+Mesh.RemeshParametrization = 7; // conformal finite element
+Mesh.Algorithm = 6; // Frontal