@@ -219,25 +219,27 @@ blockToTexinfo (Header 0 _ lst) = do
219219 return $ text "@node Top" $$
220220 text "@top " <> txt <> blankline
221221
222−blockToTexinfo (Header level _ lst) = do
223− node <- inlineListForNode lst
224− txt <- inlineListToTexinfo lst
225− idsUsed <- gets stIdentifiers
226− let id' = uniqueIdent lst idsUsed
227− modify $ \st -> st{ stIdentifiers = Set.insert id' idsUsed }
228− sec <- seccmd level
229− return $ if (level > 0) && (level <= 4)
230− then blankline <> text "@node " <> node $$
231− text sec <> txt $$
232− text "@anchor" <> braces (text $ '#':id')
233− else txt
234− where
235− seccmd :: PandocMonad m => Int -> TI m String
236− seccmd 1 = return "@chapter "
237− seccmd 2 = return "@section "
238− seccmd 3 = return "@subsection "
239− seccmd 4 = return "@subsubsection "
240− seccmd _ = throwError $ PandocSomeError "illegal seccmd level"
222+blockToTexinfo (Header level _ lst)
223+ | level < 1 || level > 4 = blockToTexinfo (Para lst)
224+ | otherwise = do
225+ node <- inlineListForNode lst
226+ txt <- inlineListToTexinfo lst
227+ idsUsed <- gets stIdentifiers
228+ let id' = uniqueIdent lst idsUsed
229+ modify $ \st -> st{ stIdentifiers = Set.insert id' idsUsed }
230+ sec <- seccmd level
231+ return $ if (level > 0) && (level <= 4)
232+ then blankline <> text "@node " <> node $$
233+ text sec <> txt $$
234+ text "@anchor" <> braces (text $ '#':id')
235+ else txt
236+ where
237+ seccmd :: PandocMonad m => Int -> TI m String
238+ seccmd 1 = return "@chapter "
239+ seccmd 2 = return "@section "
240+ seccmd 3 = return "@subsection "
241+ seccmd 4 = return "@subsubsection "
242+ seccmd _ = throwError $ PandocSomeError "illegal seccmd level"
241243
242244blockToTexinfo (Table caption aligns widths heads rows) = do
243245 headers <- if all null heads