Support all frame attributes in Beamer.

This commit is contained in:
John MacFarlane 2015-10-15 15:11:07 -07:00
parent 047cb32dfc
commit 504bf3f8e7
2 changed files with 13 additions and 4 deletions

10
README
View file

@ -64,6 +64,7 @@ Markdown can be expected to be lossy.
[XHTML]: http://www.w3.org/TR/xhtml1/ [XHTML]: http://www.w3.org/TR/xhtml1/
[LaTeX]: http://latex-project.org [LaTeX]: http://latex-project.org
[`beamer`]: https://ctan.org/pkg/beamer [`beamer`]: https://ctan.org/pkg/beamer
[Beamer User's Guide]: http://ctan.math.utah.edu/ctan/tex-archive/macros/latex/contrib/beamer/doc/beameruserguide.pdf
[ConTeXt]: http://pragma-ade.nl [ConTeXt]: http://pragma-ade.nl
[RTF]: http://en.wikipedia.org/wiki/Rich_Text_Format [RTF]: http://en.wikipedia.org/wiki/Rich_Text_Format
[DocBook]: http://docbook.org [DocBook]: http://docbook.org
@ -3407,8 +3408,8 @@ To show the notes window, press `s` while viewing the presentation.
Notes are not yet supported for other slide formats, but the notes Notes are not yet supported for other slide formats, but the notes
will not appear on the slides themselves. will not appear on the slides themselves.
Marking frames "fragile" in beamer Frame attributes in beamer
---------------------------------- --------------------------
Sometimes it is necessary to add the LaTeX `[fragile]` option to Sometimes it is necessary to add the LaTeX `[fragile]` option to
a frame in beamer (for example, when using the `minted` environment). a frame in beamer (for example, when using the `minted` environment).
@ -3417,6 +3418,11 @@ introducing the slide:
# Fragile slide {.fragile} # Fragile slide {.fragile}
All of the other frame attributes described in Section 8.1 of
the [Beamer User's Guide] may also be used: `allowdisplaybreaks`,
`allowframebreaks`, `b`, `c`, `t`, `environment`, `label`, `plain`,
`shrink`.
EPUB Metadata EPUB Metadata
============= =============

View file

@ -300,9 +300,12 @@ elementToBeamer slideLevel (Sec lvl _num (ident,classes,kvs) tit elts)
if writerListings opts if writerListings opts
then query hasCode elts then query hasCode elts
else []) else [])
let allowframebreaks = "allowframebreaks" `elem` classes let frameoptions = ["allowdisplaybreaks", "allowframebreaks",
"b", "c", "t", "environment",
"label", "plain", "shrink"]
let optionslist = ["fragile" | fragile] ++ let optionslist = ["fragile" | fragile] ++
["allowframebreaks" | allowframebreaks] [k | k <- classes, k `elem` frameoptions] ++
[k ++ "=" ++ v | (k,v) <- kvs, k `elem` frameoptions]
let options = if null optionslist let options = if null optionslist
then "" then ""
else "[" ++ intercalate "," optionslist ++ "]" else "[" ++ intercalate "," optionslist ++ "]"