@@ -411,15 +411,15 @@ elementToBeamer slideLevel (Sec lvl _num (ident,classes,kvs) tit elts)
411411 slideTitle <-
412412 if tit == [Str "\0"] -- marker for hrule
413413 then return []
414− else
415− if null ident
416− then return $ latex "{" : tit ++ [latex "}"]
417− else do
418− ref <- toLabel ident
419− return $ latex ("{%\n\\protect\\hypertarget{" ++
420− ref ++ "}{%\n") : tit ++ [latex "}}"]
414+ else return $ latex "{" : tit ++ [latex "}"]
415+ ref <- toLabel ident
416+ let slideAnchor = if null ident
417+ then []
418+ else [latex ("\n\\protect\\hypertarget{" ++
419+ ref ++ "}{}")]
421420 let slideStart = Para $
422− RawInline "latex" ("\\begin{frame}" ++ options) : slideTitle
421+ RawInline "latex" ("\\begin{frame}" ++ options) :
422+ slideTitle ++ slideAnchor
423423 let slideEnd = RawBlock "latex" "\\end{frame}"
424424 -- now carve up slide into blocks if there are sections inside
425425 bs <- concat `fmap` mapM (elementToBeamer slideLevel) elts