diff --git a/Doc/Sd1/arrays.xml b/Doc/Sd1/arrays.xml
index 356bc4da1815d363f843712e74a5bb18b6281494..7910c190e76c8ff99f7e44bfe4e2a059c52f3897 100644
--- a/Doc/Sd1/arrays.xml
+++ b/Doc/Sd1/arrays.xml
@@ -981,9 +981,8 @@ static String[] append (final String[] values, final String newValue) {
   copy[copy.length - 1] = newValue; <co linkends="sd1_array_fig_manualExtendArray-6" xml:id="sd1_array_fig_manualExtendArray-6-co" />
   return copy;
 }</programlisting>
-    </figure>
 
-    <calloutlist>
+    <calloutlist role="slideExclude">
       <callout arearefs="sd1_array_fig_manualExtendArray-1-co" xml:id="sd1_array_fig_manualExtendArray-1">
         <para>No final here: Reference will be re-assigned.</para>
       </callout>
@@ -1011,6 +1010,7 @@ static String[] append (final String[] values, final String newValue) {
         newly created array's reference.</para>
       </callout>
     </calloutlist>
+    </figure>
 
     <figure xml:id="sd1_array_fig_manualExtendArrayResult">
       <title>Extension result</title>
diff --git a/Doc/Sd1/gettingStarted.xml b/Doc/Sd1/gettingStarted.xml
index 9a1e64279e88820a1d1289b00804e577b332dabb..172ee52e4554276cc677b4659ca380dee4b85868 100644
--- a/Doc/Sd1/gettingStarted.xml
+++ b/Doc/Sd1/gettingStarted.xml
@@ -355,9 +355,7 @@
           </imageobject>
         </imageobjectco>
       </mediaobject>
-    </figure>
-
-    <calloutlist>
+    <calloutlist role="slideExclude">
       <callout arearefs="sd1_callout_usingExercises-1-co"
                xml:id="sd1_callout_usingExercises-1">
         <para>The question to be answered.</para>
@@ -390,6 +388,8 @@
         </itemizedlist>
       </callout>
     </calloutlist>
+    </figure>
+
   </section>
 
   <section xml:id="sd1CommonRessources">
@@ -581,34 +581,36 @@
           </imageobject>
         </imageobjectco>
       </mediaobject>
-    </figure>
 
-    <calloutlist>
-      <callout arearefs="sd1_fig_imageco_editJava-1-co"
-               xml:id="sd1_fig_imageco_editJava-1.2">
-        <para>The process of creating a text file from scratch or editing an
-        existing one is called editing. It requires a text editor like
-        <command xlink:href="https://www.nano-editor.org">nano</command>,
-        <command xlink:href="https://www.vim.org">vi(m)</command>, <command
-        xlink:href="https://atom.io">atom</command> or similar.</para>
-
-        <tip>
-          <para>You should learn quickly how to use an editor. A basic command
-          is sufficient. Both <command
-          xlink:href="https://www.nano-editor.org">nano</command> and <command
-          xlink:href="https://www.vim.org">vi(m)</command> are good choices on
-          Linux/UNIX systems due to their widespread distribution. Windows and
-          Apple users have different choices as well.</para>
-        </tip>
-      </callout>
+      <calloutlist role="slideExclude">
+        <callout arearefs="sd1_fig_imageco_editJava-1-co"
+                 xml:id="sd1_fig_imageco_editJava-1.2">
+          <para>The process of creating a text file from scratch or editing an
+          existing one is called editing. It requires a text editor like
+          <command xlink:href="https://www.nano-editor.org">nano</command>,
+          <command xlink:href="https://www.vim.org">vi(m)</command>, <command
+          xlink:href="https://atom.io">atom</command> or similar.</para>
 
-      <callout arearefs="sd1_fig_imageco_editJava-2.2-co"
-               xml:id="sd1_fig_imageco_editJava-2.2">
-        <para>The resulting files are just plain text. Unlike office documents
-        they won't contain any layout or formatting like <abbrev>e.g.</abbrev>
-        different font sizes, background colours or similar.</para>
-      </callout>
-    </calloutlist>
+          <tip>
+            <para>You should learn quickly how to use an editor. A basic
+            command is sufficient. Both <command
+            xlink:href="https://www.nano-editor.org">nano</command> and
+            <command xlink:href="https://www.vim.org">vi(m)</command> are good
+            choices on Linux/UNIX systems due to their widespread
+            distribution. Windows and Apple users have different choices as
+            well.</para>
+          </tip>
+        </callout>
+
+        <callout arearefs="sd1_fig_imageco_editJava-2.2-co"
+                 xml:id="sd1_fig_imageco_editJava-2.2">
+          <para>The resulting files are just plain text. Unlike office
+          documents they won't contain any layout or formatting like
+          <abbrev>e.g.</abbrev> different font sizes, background colours or
+          similar.</para>
+        </callout>
+      </calloutlist>
+    </figure>
 
     <para>We shed some light on <xref linkend="glo_Java"/> class
     definitions:</para>
@@ -633,9 +635,7 @@ public class HelloWorld <co
   }
 
 }</programlisting>
-    </figure>
-
-    <calloutlist>
+    <calloutlist role="slideExclude">
       <callout arearefs="sd1_fig_listing_structureClassDefinition-1-co"
                xml:id="sd1_fig_listing_structureClassDefinition-1">
         <para>The text file <filename>HelloWorld.java</filename> contains a
@@ -697,6 +697,8 @@ public class HelloWorld <co
         linkend="glo_Java"/> environment happy.</para>
       </callout>
     </calloutlist>
+    </figure>
+
 
     <para>Prior to execution we require a compilation step:</para>
 
@@ -724,9 +726,7 @@ public class HelloWorld <co
           </imageobject>
         </imageobjectco>
       </mediaobject>
-    </figure>
-
-    <calloutlist>
+    <calloutlist role="slideExclude">
       <callout arearefs="sd1_fig_imageco_compileJava-1-co"
                xml:id="sd1_fig_imageco_compileJava-1.2">
         <para>The text file <filename>HelloWorld.java</filename> containing
@@ -762,6 +762,7 @@ ls: cannot access 'HelloWorld.class': No such file or directory
         linkend="glo_JRE"/> providing system.</para>
       </callout>
     </calloutlist>
+    </figure>
 
     <para>Besides human readable portions bytecode files mainly contain binary
     data providing instructions to be executed:</para>
@@ -850,9 +851,7 @@ ls: cannot access 'HelloWorld.class': No such file or directory
           </imageobject>
         </imageobjectco>
       </mediaobject>
-    </figure>
-
-    <calloutlist>
+    <calloutlist role="slideExclude">
       <callout arearefs="__area-5fxifu" xml:id="sd1_fig_imageco_executeJava-1">
         <para>Passing a bytecode file to the Java Runtime System (<xref
         linkend="glo_JRE"/>):</para>
@@ -881,6 +880,8 @@ ls: cannot access 'HelloWorld.class': No such file or directory
         language="java">println("Hello, world")</code>.</para>
       </callout>
     </calloutlist>
+    </figure>
+
   </section>
 
   <section xml:id="sd1CodeSnippets">
diff --git a/Doc/Sd1/inheritance.xml b/Doc/Sd1/inheritance.xml
index 3dbb6bf956a2b002465a8cbeb941b0b5b980c2e0..3f49aa7719caa0a2ba832ed0067539c28053b7d5 100644
--- a/Doc/Sd1/inheritance.xml
+++ b/Doc/Sd1/inheritance.xml
@@ -70,9 +70,7 @@
 }</programlisting></td>
       </tr>
     </informaltable>
-  </figure>
-
-  <calloutlist>
+  <calloutlist role="slideExclude">
     <callout arearefs="sda_inherit_fig_DuplicateCode-1-co"
              xml:id="sda_inherit_fig_DuplicateCode-1">
       <para>The center coordinate (<code language="java">x</code>|<code
@@ -104,6 +102,8 @@
       </itemizedlist>
     </callout>
   </calloutlist>
+  </figure>
+
 
   <figure xml:id="sda_inherit_fig_ideaFactorOutCommonCode">
     <title>Idea: Centralize common code</title>
@@ -354,9 +354,7 @@ public Rectangle(double x, double y,
           linkends="sda_inherit_fig_RectangleConstructor-2"
           xml:id="sda_inherit_fig_RectangleConstructor-2-co"/>;
 }</programlisting>
-    </figure>
-
-    <calloutlist>
+    <calloutlist role="slideExclude">
       <callout arearefs="sda_inherit_fig_RectangleConstructor-1-co"
                xml:id="sda_inherit_fig_RectangleConstructor-1">
         <para>Passing center coordinate to superclass constructor.</para>
@@ -373,6 +371,7 @@ public Rectangle(double x, double y,
         subclass.</para>
       </callout>
     </calloutlist>
+    </figure>
 
     <figure xml:id="sda_inherit_fig_RectangleLogging">
       <title>Logging <classname>Rectangle</classname> instances</title>
@@ -572,9 +571,7 @@ for (final Shape s : shapes) {
 
       <screen>Circle at (1.0|1.0), radius= 2.0: <emphasis role="red">area = 12.566370614359172</emphasis>
 Rectangle at (1.0|-1.0), width= 2.0, height=3.0: <emphasis role="red">area = 6.0</emphasis></screen>
-    </figure>
-
-    <calloutlist>
+    <calloutlist role="slideExclude">
       <callout arearefs="sda_inherit_fig_shapePolymorphicAreaCall-1-co"
                xml:id="sda_inherit_fig_shapePolymorphicAreaCall-1">
         <para>An array of <classname>Shape</classname> references.</para>
@@ -602,6 +599,7 @@ Rectangle at (1.0|-1.0), width= 2.0, height=3.0: <emphasis role="red">area = 6.0
         respectively.</para>
       </callout>
     </calloutlist>
+    </figure>
 
     <figure xml:id="sda_inherit_fig_getAreaPolymorphicProblem">
       <title>Problems:</title>
@@ -669,9 +667,7 @@ Rectangle at (1.0|-1.0), width= 2.0, height=3.0: <emphasis role="red">area = 6.0
   } ...</programlisting></td>
         </tr>
       </informaltable>
-    </figure>
-
-    <calloutlist>
+    <calloutlist role="slideExclude">
       <callout arearefs="sda_inherit_fig_implementAbstractGetArea-1-co"
                xml:id="sda_inherit_fig_implementAbstractGetArea-1">
         <para>Superclass <classname>Shape</classname> contains an <code
@@ -715,6 +711,7 @@ Rectangle at (1.0|-1.0), width= 2.0, height=3.0: <emphasis role="red">area = 6.0
         getArea()</methodname>.</para>
       </callout>
     </calloutlist>
+    </figure>
 
     <figure xml:id="sda_inherit_fig_shapeGetAreaAbstract">
       <title><code language="java">abstract</code> method
@@ -1026,9 +1023,7 @@ public class Rectangle <co linkends="sda_inherit_fig_protectedCreationTime-3"
     return width * height;
   } ...
 }</programlisting>
-    </figure>
-
-    <calloutlist>
+    <calloutlist role="slideExclude">
       <callout arearefs="sda_inherit_fig_protectedCreationTime-1-co"
                xml:id="sda_inherit_fig_protectedCreationTime-1">
         <para>Defining superclass <classname>Shape</classname> in package
@@ -1055,6 +1050,7 @@ public class Rectangle <co linkends="sda_inherit_fig_protectedCreationTime-3"
         across package boundary.</para>
       </callout>
     </calloutlist>
+    </figure>
 
     <qandaset defaultlabel="qanda" xml:id="sd1_qanda_protectedPackagePrivate">
       <title><code language="java">protected</code> vs. <quote>package
diff --git a/Doc/Sd1/interfacesAbstractClasses.xml b/Doc/Sd1/interfacesAbstractClasses.xml
index eb4af079700bc965ed0631d4360286b95ef0398e..18590d78eb47054d473d05e05ef82118d152c28f 100644
--- a/Doc/Sd1/interfacesAbstractClasses.xml
+++ b/Doc/Sd1/interfacesAbstractClasses.xml
@@ -194,9 +194,8 @@ void close​() <co linkends="sd1_interface_fig_AutoCloseablePromise-2.2"
 }</programlisting></td>
       </tr>
     </informaltable>
-  </figure>
 
-  <informaltable border="0">
+  <informaltable border="0"  role="slideExclude">
     <tr>
       <td valign="top"><calloutlist>
           <callout arearefs="sd1_interface_fig_AutoCloseablePromise-1.2-co"
@@ -266,6 +265,8 @@ void close​() <co linkends="sd1_interface_fig_AutoCloseablePromise-2.2"
         </calloutlist></td>
     </tr>
   </informaltable>
+    </figure>
+
 
   <figure xml:id="sd1_interface_fig_AutoCloseableAsAbstractClass">
     <title><code language="java">abstract</code> class replacement</title>
@@ -311,9 +312,8 @@ abstract void close​();<co
 }</programlisting></td>
       </tr>
     </informaltable>
-  </figure>
 
-  <informaltable border="0">
+  <informaltable role="slideExclude" border="0">
     <tr>
       <td valign="top"><calloutlist>
           <callout arearefs="sd1_interface_fig_AutoCloseableAsAbstractClass-1-co"
@@ -352,6 +352,7 @@ abstract void close​();<co
         </calloutlist></td>
     </tr>
   </informaltable>
+  </figure>
 
   <figure xml:id="sd1_interface_fig_whyInterfacesVsAbstractClasses">
     <title><code language="java">interface</code> vs. <code
@@ -503,9 +504,8 @@ public interface MyFlushable extends MyAutoCloseable {
     return ...;
   }
 }</programlisting>
-    </figure>
 
-    <calloutlist>
+    <calloutlist role="slideExclude">
       <callout arearefs="sd1_callout_StringComparable-1-co"
                xml:id="sd1_callout_StringComparable-1">
         <para>Type parameter <classname
@@ -522,6 +522,7 @@ public interface MyFlushable extends MyAutoCloseable {
         linkend="sd1_callout_StringComparable-1-co"/>.</para>
       </callout>
     </calloutlist>
+    </figure>
 
     <figure xml:id="sd1_fig_StringCompareExamples">
       <title>Comparison examples</title>
@@ -548,9 +549,8 @@ System.out.println("Hannah".compareTo("Hannah")); <co
 0   <coref linkend="sd1_callout_stringCompareExamples-3-co"/></screen></td>
         </tr>
       </informaltable>
-    </figure>
 
-    <calloutlist>
+    <calloutlist role="slideExclude">
       <callout arearefs="sd1_callout_stringCompareExamples-1-co"
                xml:id="sd1_callout_stringCompareExamples-1">
         <para><code language="java">"Eve"</code> is lexicographically smaller
@@ -569,6 +569,7 @@ System.out.println("Hannah".compareTo("Hannah")); <co
         equal to <code language="java">"Hannah"</code>.</para>
       </callout>
     </calloutlist>
+    </figure>
 
     <figure xml:id="sd1_fig_StringSortAscDesc">
       <title>Ascending and descending names</title>
@@ -643,9 +644,8 @@ Peter
 Tim</screen></td>
         </tr>
       </informaltable>
-    </figure>
 
-    <calloutlist>
+    <calloutlist role="slideExclude">
       <callout arearefs="sd1_callout_StringSortAscending-1-co"
                xml:id="sd1_callout_StringSortAscending-1">
         <para>An array of names in random lexicographical order.</para>
@@ -668,6 +668,7 @@ Tim</screen></td>
         output.</para>
       </callout>
     </calloutlist>
+    </figure>
 
     <qandaset defaultlabel="qanda" xml:id="sd1QandaArraysSortUnderstand">
       <title>Understanding <methodname
@@ -979,9 +980,8 @@ System.out.println(new SortCaseInsensitive(). <co
 -13 <coref linkend="sd1_callout_StringComparatorDemo-2-co"/></screen></td>
         </tr>
       </informaltable>
-    </figure>
 
-    <calloutlist>
+    <calloutlist role="slideExclude">
       <callout arearefs="sd1_callout_StringComparatorDemo-1-co"
                xml:id="sd1_callout_StringComparatorDemo-1">
         <para>Standard <classname
@@ -998,6 +998,8 @@ System.out.println(new SortCaseInsensitive(). <co
       </callout>
     </calloutlist>
 
+        </figure>
+
     <figure xml:id="sd1_fig_StringSortIgnoreCase">
       <title><classname
       xlink:href="https://docs.oracle.com/javase/10/docs/api/java/util/Comparator.html">Case
@@ -1061,9 +1063,8 @@ UK
 ATM</screen></td>
         </tr>
       </informaltable>
-    </figure>
 
-    <calloutlist>
+    <calloutlist role="slideExclude">
       <callout arearefs="sd1_callout_StringSortIgnoreCaseLambda-1-co"
                xml:id="sd1_callout_StringSortIgnoreCaseLambda-1">
         <para>This lambda expression is equivalent to the following custom
@@ -1080,6 +1081,7 @@ ATM</screen></td>
 }</programlisting>
       </callout>
     </calloutlist>
+    </figure>
 
     <qandaset defaultlabel="qanda" xml:id="sd1QandaArraysFlexibleSorting">
       <title>Adding flexibility in sorting rectangles</title>
diff --git a/Doc/Sd1/objectsClasses.xml b/Doc/Sd1/objectsClasses.xml
index 729cc1f028ba88f532931b20e10e856cea78553d..bc87ebafe16db022d592fc4cce0d40c60dd543e5 100644
--- a/Doc/Sd1/objectsClasses.xml
+++ b/Doc/Sd1/objectsClasses.xml
@@ -325,9 +325,8 @@ public class Q {<lineannotation>Class def</lineannotation>
           </glossdef>
         </glossentry>
       </glosslist>
-    </figure>
 
-    <informaltable border="0">
+    <informaltable  role="slideExclude" border="0">
       <tr>
         <th>Fully qualified class name</th>
 
@@ -364,6 +363,7 @@ public class Q {<lineannotation>Class def</lineannotation>
           </calloutlist></td>
       </tr>
     </informaltable>
+    </figure>
 
     <figure xml:id="sd1_fig_importByWildcard">
       <title>Don't be too lazy!</title>
@@ -421,9 +421,8 @@ public class Q {
           xml:id="sd1_fig_javaDotLangNoImportRequired-3-co"/> s = new Scanner(System.in);
   }
 }</programlisting>
-    </figure>
 
-    <calloutlist>
+    <calloutlist role="slideExclude">
       <callout arearefs="sd1_fig_javaDotLangNoImportRequired-1.2-co"
                xml:id="sd1_fig_javaDotLangNoImportRequired-1.2">
         <para>Classes belonging to the <package
@@ -448,6 +447,7 @@ public class Q {
         <programlisting language="java">java.util.Scanner s = new java.util.Scanner(System.in);</programlisting>
       </callout>
     </calloutlist>
+    </figure>
 
     <figure xml:id="sd1_fig_package2directory">
       <title>Class, package and file system</title>
@@ -631,9 +631,8 @@ height=44</screen></td>
 }</programlisting></td>
         </tr>
       </informaltable>
-    </figure>
 
-    <calloutlist>
+    <calloutlist role="slideExclude">
       <callout arearefs="sd1_callout_methodSyntax-1-co"
                xml:id="sd1_callout_methodSyntax-1">
         <para>Optional <link
@@ -689,6 +688,8 @@ height=44</screen></td>
         <para>The method's implementation.</para>
       </callout>
     </calloutlist>
+        </figure>
+
 
     <figure xml:id="fig_rectangleGetPerimeter">
       <title>A rectangle's perimeter</title>
@@ -1445,9 +1446,8 @@ public void writeSvg() {
 }</programlisting></td>
           </tr>
         </informaltable>
-      </figure>
 
-      <calloutlist>
+      <calloutlist role="slideExclude">
         <callout arearefs="sd1_callout_publicPrivateInterface-1-co"
                  xml:id="sd1_callout_publicPrivateInterface-1">
           <para>Private attributes only accessible inside class.</para>
@@ -1458,6 +1458,7 @@ public void writeSvg() {
           <para>Public interface accessible by arbitrary classes.</para>
         </callout>
       </calloutlist>
+      </figure>
 
       <figure xml:id="sd1_fig_timeAccessViolation">
         <title>Access violation</title>
@@ -2466,9 +2467,8 @@ a = 33;</programlisting></td>
 }</programlisting></td>
           </tr>
         </informaltable>
-      </figure>
 
-      <calloutlist>
+      <calloutlist role="slideExclude">
         <callout arearefs="sd1_fig_rectangle_constructorCallsConstructor-1-co"
                  xml:id="sd1_fig_rectangle_constructorCallsConstructor-1">
           <para>Reusing constructor <methodname>Rectangle(int width, int
@@ -2483,6 +2483,7 @@ a = 33;</programlisting></td>
           height = widthAndHeight</code>.</para>
         </callout>
       </calloutlist>
+      </figure>
 
       <figure xml:id="sd1_fig_rectangleThreeConstructorsInstances">
         <title>Instances by overloaded constructors</title>
@@ -3573,9 +3574,8 @@ seconds = 23</screen></td>
           xml:id="sd1_callout_clubStaticMembercount-4-co"/>;
   }
 }</programlisting>
-    </figure>
 
-    <calloutlist>
+    <calloutlist role="slideExclude">
       <callout arearefs="sd1_callout_clubStaticMembercount-1-co"
                xml:id="sd1_callout_clubStaticMembercount-1">
         <para>The keyword <code language="java">static</code> defines <code
@@ -3615,7 +3615,7 @@ seconds = 23</screen></td>
         <para>Accessing an instance's membership number.</para>
       </callout>
     </calloutlist>
-
+    </figure>
     <figure xml:id="sd1_fig_staticMembershipNumberInfo">
       <title>Showing membership numbers.</title>
 
@@ -3650,9 +3650,8 @@ seconds = 23</screen></td>
   }
   ...
 }</programlisting>
-    </figure>
 
-    <calloutlist>
+    <calloutlist role="slideExclude" >
       <callout arearefs="sd1_callout_clubMembershipAccessHeadcount-1-co"
                xml:id="sd1_callout_clubMembershipAccessHeadcount-1">
         <para><methodname>getMemberCount()</methodname> being defined as
@@ -3666,6 +3665,7 @@ seconds = 23</screen></td>
         variables.</para>
       </callout>
     </calloutlist>
+    </figure>
 
     <figure xml:id="sd1_fig_staticAccessMemberCountImplement">
       <title>Accessing the club's member count</title>
@@ -9351,9 +9351,8 @@ After printDuplicateValue: <emphasis role="red">6</emphasis></screen></td>
           </imageobject>
         </imageobjectco>
       </mediaobject>
-    </figure>
 
-    <calloutlist>
+    <calloutlist role="slideExclude">
       <callout arearefs="sd1_fig_callStackCircleAreaIdea-1-co"
                xml:id="sd1_fig_callStackCircleAreaIdea-1">
         <para>Three call stack frames corresponding to
@@ -9373,6 +9372,7 @@ After printDuplicateValue: <emphasis role="red">6</emphasis></screen></td>
         </tip>
       </callout>
     </calloutlist>
+    </figure>
   </section>
 
   <section xml:id="sd1_sect_unitTestExample">
@@ -9660,9 +9660,8 @@ java.lang.AssertionError
           </imageobject>
         </imageobjectco>
       </mediaobject>
-    </figure>
 
-    <calloutlist>
+    <calloutlist role="slideExclude">
       <callout arearefs="sd1_fig_testSkeletonImplementation-1-co"
                xml:id="sd1_fig_testSkeletonImplementation-1">
         <para>Test <methodname>test_1_isNotPrime()</methodname> accidentally
@@ -9677,6 +9676,7 @@ java.lang.AssertionError
         linkend="sd1_fig_UnitTestingStep_1"/>.</para>
       </callout>
     </calloutlist>
+    </figure>
 
     <para>Before replacing the skeleton implementation <xref
     linkend="sd1_fig_UnitTestingStep_1"/> we supply additional tests:</para>
diff --git a/Doc/Sd1/statements.xml b/Doc/Sd1/statements.xml
index 2f9362f1663b4bb3098e5846c756469e06484cd6..d559f94b22162295f7d9f0ff9975416c2f621ab9 100644
--- a/Doc/Sd1/statements.xml
+++ b/Doc/Sd1/statements.xml
@@ -229,9 +229,8 @@ Done!</screen></td>
             </mediaobject></td>
         </tr>
       </informaltable>
-    </figure>
 
-    <calloutlist>
+    <calloutlist role="slideExclude">
       <callout arearefs="sd1_fig_ifElse-1-co" xml:id="sd1_fig_ifElse-1">
         <para>Decision on boolean expression.</para>
       </callout>
@@ -250,6 +249,7 @@ Done!</screen></td>
         false.</para>
       </callout>
     </calloutlist>
+    </figure>
 
     <figure xml:id="sd1_fig_ifElseSyntax">
       <title><code language="java">if ... else</code> execution syntax</title>
@@ -881,9 +881,8 @@ System.out.println("Failed!");</programlisting>
 [else
   (block | statement) ] <co linkends="sd1_fig_ifElse_elseSyntax-2"
           xml:id="sd1_fig_ifElse_elseSyntax-2-co"/></programlisting>
-    </figure>
 
-    <calloutlist>
+    <calloutlist role="slideExclude">
       <callout arearefs="sd1_fig_ifElse_elseSyntax-1-co"
                xml:id="sd1_fig_ifElse_elseSyntax-1">
         <para>The pair of braces [...] indicates an optional clause. The
@@ -902,6 +901,9 @@ System.out.println("Failed!");</programlisting>
       </callout>
     </calloutlist>
 
+        </figure>
+
+
     <figure xml:id="sd1_fig_useScannerClass">
       <title>User input recipe</title>
 
@@ -1916,9 +1918,8 @@ Do not copy!</screen></td>
               </mediaobject></td>
           </tr>
         </informaltable>
-      </figure>
 
-      <calloutlist>
+      <calloutlist role="slideExclude">
         <callout arearefs="sd1_callout_whileLoop-1-co"
                  xml:id="sd1_callout_whileLoop-1">
           <para>The code block will be repeated this number of times.</para>
@@ -1945,6 +1946,7 @@ Do not copy!</screen></td>
           iteration.</para>
         </callout>
       </calloutlist>
+      </figure>
 
       <figure xml:id="sd1_fig_loopParamSolutionSyntaxSugar">
         <title>Combining increment and termination condition</title>
diff --git a/Doc/Sd1/workingWithNumbers.xml b/Doc/Sd1/workingWithNumbers.xml
index b98aa65848772a29f7830fc297740220f3e7991d..d19fb504c728ab53b06cf53c4bd77967b0b3ec65 100644
--- a/Doc/Sd1/workingWithNumbers.xml
+++ b/Doc/Sd1/workingWithNumbers.xml
@@ -138,9 +138,8 @@ int iPrimitiveFromInteger = <co linkends="sd1_numbers_fig_conventional-3"
   iInteger.intValue();</programlisting></td>
         </tr>
       </informaltable>
-    </figure>
 
-    <informaltable border="1">
+    <informaltable role="slideExclude" border="1">
       <colgroup width="50%"/>
 
       <colgroup width="50%"/>
@@ -203,6 +202,7 @@ int iPrimitiveFromInteger = <co linkends="sd1_numbers_fig_conventional-3"
           </calloutlist></td>
       </tr>
     </informaltable>
+    </figure>
 
     <figure xml:id="sd1_numbers_fig_stackBoxUnboxVsConventional">
       <title>Boxing syntax comparison</title>
diff --git a/Doc/lectures.xml b/Doc/lectures.xml
index 496936f3dad70b6cdbf9ffd93f2f384de636b2b7..aa2ea0a239d9f448f54700d5fa649f58aa00191d 100644
--- a/Doc/lectures.xml
+++ b/Doc/lectures.xml
@@ -9,8 +9,6 @@
       xmlns:html="http://www.w3.org/1999/xhtml"
       xmlns:db="http://docbook.org/ns/docbook">
   <info>
-    <title>Lecture notes</title>
-
     <author>
       <personname
       xlink:href="https://www.hdm-stuttgart.de/mi/kontakt/dozenten#goik"><firstname>Martin</firstname>
@@ -65,7 +63,7 @@
   </info>
 
   <xi:include href="preface.xml" xpointer="element(/1)"/>
-  
+
   <part annotations="forumId=5;" xml:id="sd1">
     <title>Software development 1</title>
 
diff --git a/ws/Docbook/CustomLayer/slide/slideHdm.xsl b/ws/Docbook/CustomLayer/slide/slideHdm.xsl
index 4a7cbfd2b87b8c3dcea8cc7e5cf85d24ba7cba5c..f83ad834cd1e28ed3a4418797bbb4f7f10502100 100644
--- a/ws/Docbook/CustomLayer/slide/slideHdm.xsl
+++ b/ws/Docbook/CustomLayer/slide/slideHdm.xsl
@@ -117,6 +117,10 @@
       </xsl:choose>
     </xsl:variable>
     
+    <xsl:variable name="webhelpLink">
+      <xsl:call-template name="href.target.uri"/>
+    </xsl:variable>
+    
     <xsl:variable name="titleNode" select="d:title"/>
     
     <xsl:variable name="baseSupplementDir">
@@ -179,12 +183,7 @@
               <xsl:if test="not($slide2lectureref = 'no')">                
                 <div class ="hdmfooter">
                   <p>
-                    <a target="_blank">
-                      <xsl:attribute name="href">
-                        <xsl:call-template name="href.target.uri"/>
-                      </xsl:attribute>
-                      <xsl:text>Lecture notes</xsl:text>
-                    </a>
+                    <a target="_blank" href="{$webhelpLink}">Lecture notes</a>
                   </p>
                 </div>              
               </xsl:if>
@@ -200,12 +199,7 @@
           <xsl:if test="not($slide2lectureref = 'no')">
             <div class ="hdmfooter">
               <p>
-                <a target="_blank">
-                  <xsl:attribute name="href">
-                    <xsl:call-template name="href.target.uri"/>
-                  </xsl:attribute>
-                  <xsl:text>Lecture notes</xsl:text>
-                </a>
+                <a target="_blank" href="{$webhelpLink}">Lecture notes</a>
                 <xsl:variable name="qandaId" select="@xml:id"/>
                 <xsl:if test="$topicLookup/map/entry[@id = $qandaId]">
                   <xsl:text> | </xsl:text>        
@@ -297,13 +291,23 @@
     <xsl:apply-templates/>
   </xsl:template>
   
+  <!-- Ignore e.g. calloutlist elements inside figure -->
+  
+  <xsl:template match="*[contains(@role, 'slideExclude')]">
+    <xsl:message>
+      <xsl:text>Excluding &lt;</xsl:text>
+      <xsl:value-of select="name(.)"/>
+      <xsl:text>&gt; from slides</xsl:text>
+    </xsl:message>
+  </xsl:template>
+  
   <xsl:template match="d:figure/d:title">
     <h3>
       <xsl:apply-templates/>
     </h3>
   </xsl:template>
   
-  <!-- Hack: Docbook XSL does not handle @valign in images-->  
+  <!-- Hack: Docbooxsl:tek XSL does not handle @valign in images-->  
   <xsl:template match="d:mediaobject[d:imageobject/d:imagedata[@valign]]">
     <img>
       <xsl:attribute name="src">
diff --git a/ws/Docbook/CustomLayer/webhelp/positioning.css.patch b/ws/Docbook/CustomLayer/webhelp/positioning.css.patch
index 7f5711016990ec086442edc4f857932c25b0137a..1c2ba902508f6c884267945e710aa4b8cf41a7de 100644
--- a/ws/Docbook/CustomLayer/webhelp/positioning.css.patch
+++ b/ws/Docbook/CustomLayer/webhelp/positioning.css.patch
@@ -1,5 +1,5 @@
---- positioning.css.orig	2018-03-09 11:38:24.328819187 +0100
-+++ positioning.css	2018-03-09 11:37:48.793089249 +0100
+--- positioning.css.orig	2018-09-24 09:46:38.912065646 +0200
++++ positioning.css	2018-09-24 09:45:47.348868192 +0200
 @@ -1,3 +1,8 @@
 +/*  
 + *   patched by: /usr/share/hdm-docbook-xsl/CustomLayer/webhelp/positioning.css.patch 
@@ -80,7 +80,7 @@
  #content .qandaset>table, #content .qandaset>table td, #content .calloutlist table, #content .calloutlist table td, #content .navfooter table, #content .navfooter table td {
      border: 0px solid;
  }
-@@ -375,3 +394,124 @@
+@@ -375,3 +394,132 @@
  
  }
  
@@ -205,3 +205,11 @@
 +    font-weight: bold !important;
 +}
 +
++/* figure frame */
++.figure {
++    border-width: 0.5ex;
++    border-style: solid;
++    border-color: grey;
++    padding: 1ex;
++    border-radius: 2ex;
++}