       (set/subset? items (set layout/subgenres))
       (keep items layout/subgenres))))
 
-(defn- toc-entry [items path to-depth]
+(defn- toc-entry [items path to-depth indent-depth]
   (let [depth (count path)]
     [:fo:block (-> {:text-align-last "justify" :role "TOCI"}
-                   (cond-> (<= depth 2) (assoc :start-indent "1em")))
+                   (cond-> (>= depth indent-depth) (assoc :start-indent "1em")))
      [:fo:basic-link {:internal-destination (hash path)}
       (inline {:role "Reference"} (layout/translations (last path)))
       " " [:fo:leader {:leader-pattern "dots" :role "NonStruct"}] " "
       [:fo:page-number-citation {:ref-id (hash path) :role "Reference"}]]
      (when (and (map? items) (< depth to-depth))
-       (keep #(toc-entry (% items) (conj path %) to-depth) (order (keys items))))]))
-
-(defn toc [items path to-depth & {:keys [heading? editorial? recommendation-at-end? single-recommendation?]}]
+       (keep #(toc-entry (% items) (conj path %) to-depth indent-depth) (order (keys items))))]))
+
+(defn toc [items path to-depth indent-depth & {:keys [heading? editorial? recommendation-at-end? single-recommendation?]}]
   (when (map? items)
     [:fo:block {:line-height "150%"
                 :role "TOC"}

    (header :verso)

    [:fo:flow {:flow-name "xsl-region-body"}
     (toc items [] 1 :heading? true)
     (block {:break-before "odd-page"}) ;; the very first format should start on recto
     (mapcat #(format-sexp items % 1) (order (keys items)))]]])



      (let [subitems (get items fmt)]
        [:fo:flow {:flow-name "xsl-region-body"}
         (toc subitems [fmt] 3 3 :heading? true :editorial? true :single-recommendation? true)
         (heading :h1 :editorial [fmt :editorial])
         (md-to-fop (slurp "/home/eglic/src/catalog/samples/editorial.md"))
         (heading :h1 :recommendation [fmt :recommendation])
