@@ -11,6 +11,7 @@ import Data.Generics
1111import Data.Monoid
1212import Data.Char (isSpace)
1313import Control.Monad.State
14+import Control.Monad
1415import Control.Applicative ((<$>))
1516import Data.List (intersperse)
1617import Data.Maybe (fromMaybe)
@@ -868,7 +869,9 @@ parseBlock (Elem e) =
868869 parseRow = mapM (parseMixed plain . elContent) . filterChildren isEntry
869870 sect n = do isbook <- gets dbBook
870871 let n' = if isbook || n == 0 then n + 1 else n
871− headerText <- case filterChild (named "title") e of
872+ headerText <- case filterChild (named "title") e `mplus`
873+ (filterChild (named "info") e >>=
874+ filterChild (named "title")) of
872875 Just t -> getInlines t
873876 Nothing -> return mempty
874877 modify $ \st -> st{ dbSectionLevel = n }