diff --git a/biscuit/apps/chronos/pdf.py b/biscuit/apps/chronos/pdf.py
index 08f7dc3d0b010c23ee3b02c2d58c4182eebb96f1..900f08c21d00591759ec784588a5349a06382661 100644
--- a/biscuit/apps/chronos/pdf.py
+++ b/biscuit/apps/chronos/pdf.py
@@ -1,5 +1,6 @@
 import os
 import subprocess
+import inspect
 
 from django.template.loader import render_to_string
 
@@ -30,9 +31,58 @@ def generate_pdf(tex, filename):
     register_log_with_filename("latex_{}".format(filename), "latex", "{}.log".format(filename), process.returncode)
 
 
+def equal(sub1, sub2):
+    if sub1.classes == sub2.classes and sub1.sub and sub2.sub and \
+        sub1.sub.teacher_old == sub2.sub.teacher_old and \
+        sub1.sub.teacher_new == sub2.sub.teacher_new and \
+        sub1.sub.subject_old == sub2.sub.subject_old and \
+        sub1.sub.subject_new == sub2.sub.subject_new and \
+        sub1.sub.room_old == sub2.sub.room_old and \
+        sub1.sub.room_new == sub2.sub.room_new and \
+        sub1.sub.text == sub2.sub.text:
+        print("Treffer:", sub1.classes, '=', sub2.classes, '\n',
+            sub1.sub.teacher_old, '=', sub2.sub.teacher_old, '\n',
+            sub1.sub.teacher_new, '=', sub2.sub.teacher_old, '\n',
+            sub1.sub.subject_old, '=', sub2.sub.subject_old, '\n',
+            sub1.sub.subject_new, '=', sub2.sub.subject_new, '\n',
+            sub1.sub.room_old, '=', sub2.sub.room_new, '\n',
+            sub1.sub.text, '=', sub2.sub.text)
+        return True
+
+
+def merge_subs(subs):
+    new_subs = []
+    i = 0
+    print("Länge:",len(subs))
+    while i < len(subs) - 1:
+        j = 1
+        # Hier geht's schon los: Warum ist sub.teacher_old der gesuchte String, aber sub.subject_old ist ein Objekt?
+#        print('Komplett:',subs[i].classes, subs[i].sub.teacher_old.shortcode, subs[i].sub.subject_old, subs[i].sub.room_old, subs[i].sub.text)
+#         sub = inspect.getmembers(subs[i])
+#         for s in sub:
+#             print('sub:',len(s), s[0], s[1])
+        while equal(subs[i], subs[i + j]):
+            j += 1
+            if i + j > len(subs) - 1:
+                break
+        if j > 1:
+            new_sub = subs[i]
+            new_sub.lesson = subs[i].lesson + '-' + subs[i + j - 1].lesson
+            print('lesson',new_sub.lesson)
+            new_subs.append(new_sub)
+        else:
+            new_subs.append(subs[i])
+            # get last item
+            if i == len(subs) - 2:
+                new_subs.append(subs[i+1])
+                break
+        i += j
+    return(new_subs)
+
+
 def generate_class_tex(subs, date, header_info, hints=None):
     """Generate LaTeX for a PDF by a substitution table"""
-
+    subs = merge_subs(subs)
     context = {
         "subs": subs,
         "date": date,