我目前正准备在RStudio进行演示(使用RMarkdown和Knitr,输出到Beamer演示文稿),其中有很多参考文献。
我使用的是非常典型的YAML标头:
---
title: "Title"
author: "Me"
date: "February 27th, 2016"
output:
beamer_presentation
csl: ../../apa.csl
bibliography: ../../RefenceDesk.bib
---
此演示文稿编译并且引用按原样显示,但不幸的是它们都出现在一张幻灯片上(实际上是在页面上运行)。有没有办法让参考文献出现在多张幻灯片上?
答案 0 :(得分:10)
{.allowframebreaks}
是投影机中多滑道参考书目的解决方案。它使用常规的pandoc模板开箱即用(参见my previous answer)。但是,knitr
有一个设置可以通过在其beamer模板中重新定义\widowpenalties
来阻止它。如果您使用.tex
检查keep_tex: true
文件,则可以验证。
在我看来,这是一个错误。快速解决方法是将\widowpenalties
重置为其默认值。它可以在您的yaml前端事项中完成:
---
title: Title
header-includes:
- \widowpenalties 1 150
output:
beamer_presentation
---
然后,您可以指示参考部分:
## References {.allowframebreaks}
答案 1 :(得分:2)
虽然这不是使用常规pandoc引文模板,但我找到了另一种可用于在幻灯片中放置引用的方法,但它依赖于natbib
引用包。
在YAML前面,我补充道:
---
title: "Title"
output:
beamer_presentation:
citation_package: natbib
bibliography: ../../RefenceDesk.bib
biblio-style: "apalike"
---
参考幻灯片没有获得标题,我似乎无法调整字体大小(在\scriptsize
文件的末尾使用.Rmd
),但至少它们是连贯的。< / p>
编辑:对于简约性,我删除了csl: ../../apa.csl
行,因为natbib不需要它。
答案 2 :(得分:2)
正如@David上面在评论中所说:
对我而言,它并没有与## References {.allowframebreaks}一起使用,但它与#References {.allowframebreaks}一起使用。
我想指出,显然要让参考幻灯片正常工作,您必须在 YAML 部分创建一个由slide_level: __
设置的标题级别相同的最后一张幻灯片。
因此,用户应设置以下之一:
slide_level: 1
,或者slide_level: 2
,或者slide_level: 3
等等......