@@ -303,12 +303,17 @@ isLineBreakOrSpace _ = False
303303blockToLaTeX :: Block -- ^ Block to convert
304304 -> State WriterState Doc
305305blockToLaTeX Null = return empty
306−blockToLaTeX (Div (_,classes,_) bs) = do
306+blockToLaTeX (Div (identifier,classes,_) bs) = do
307307 beamer <- writerBeamer `fmap` gets stOptions
308+ ref <- toLabel identifier
309+ let linkAnchor = if null identifier
310+ then empty
311+ else "\\hyperdef{}" <> braces (text ref) <>
312+ braces ("\\label" <> braces (text ref))
308313 contents <- blockListToLaTeX bs
309314 if beamer && "notes" `elem` classes -- speaker notes
310315 then return $ "\\note" <> braces contents
311− else return contents
316+ else return (linkAnchor <> contents)
312317blockToLaTeX (Plain lst) =
313318 inlineListToLaTeX $ dropWhile isLineBreakOrSpace lst
314319-- title beginning with fig: indicates that the image is a figure