        (block {:break-before "odd-page"}) ;; the very first format should start on recto
        (heading :h1 :editorial [fmt :editorial])
        (heading :h1 :hörbuch [fmt :hörbuch])
-       (mapcat #(genre-sexp subitems fmt %) (order (keys subitems)))
+       (mapcat #(genre-sexp subitems fmt % 1) (order (keys subitems)))
        (heading :h1 :recommendations [fmt :recommendations])])]])
 
 (defmethod document-sexp :all-formats

  [:fo:list-block
   (for [item items] (entry-sexp item))])

(defn subgenre-sexp [items fmt genre subgenre]
  (when-let [items (subgenre items)]
    [(heading :h3 subgenre [fmt genre subgenre])
     (when-not (#{:kinder-und-jugendbücher} genre)
       (set-marker (layout/translations subgenre)))
     (entries-sexp items)]))

(defn subgenres-sexp [items fmt genre]
  (mapcat #(subgenre-sexp items fmt genre %) (order (keys items))))

(defn genre-sexp [items fmt genre]
  (when-let [items (genre items)]
    [(heading :h2 genre [fmt genre])
     (set-marker (layout/translations genre))
     (cond
       (#{:kinder-und-jugendbücher} genre) (subgenres-sexp items fmt genre)
       (#{:hörbuch} fmt) (subgenres-sexp items fmt genre)
       :else (entries-sexp items))]))

(defn format-sexp [items fmt]
  (when-let [items (fmt items)]
    [(heading :h1 fmt [fmt])
     (toc items [fmt] 3)
     (set-marker (layout/translations fmt))
     (case fmt
       (:hörfilm :ludo) (entries-sexp items)
       (mapcat #(genre-sexp items fmt %) (order (keys items))))]))

(defn- page-number []
  [:fo:inline

         (toc subitems [fmt] 3 :heading? true :editorial? true)
         (heading :h1 :editorial [fmt :editorial])
         (heading :h1 :recommendation [fmt :recommendations])
         (mapcat #(genre-sexp subitems fmt % 1) (order (keys subitems)))])]]))

(defmethod document-sexp :hörbuch
  [items fmt {:keys [description date]}]
