【问题标题】:References Truncated in Beamer Presentation prepared in Knitr/RMarkdown在 Knitr/RMarkdown 中准备的 Beamer 演示文稿中截断的参考文献
【发布时间】:2016-06-11 05:04:39
【问题描述】:

我目前正在 RStudio 中准备一个演示文稿(使用 RMarkdown 和 Knitr,输出到 Beamer 演示文稿),其中包含很多参考资料。

我正在使用一个非常典型的 YAML 标头:

---
title: "Title"
author: "Me"
date: "February 27th, 2016"
output: 
  beamer_presentation
csl: ../../apa.csl
bibliography: ../../RefenceDesk.bib 
---

此演示文稿已编译,参考文献按应有的方式显示,但不幸的是,它们都出现在一张幻灯片上(实际上从页面上消失了)。有没有办法让参考文献出现在多张幻灯片上?

【问题讨论】:

    标签: r latex knitr r-markdown beamer


    【解决方案1】:

    {.allowframebreaks} 是投影仪中多幻灯片参考书目的解决方案。它可以使用常规 pandoc 模板开箱即用(请参阅my previous answer)。但是,knitr 有一个设置可以阻止它,方法是在其投影仪模板中重新定义 \widowpenalties。您可以验证是否使用keep_tex: true 检查.tex 文件。

    在我看来,这是一个错误。一个快速的解决方法是将\widowpenalties 重置为其默认值。可以在您的 yaml 前端问题中完成:

    ---
    title: Title
    header-includes:
      - \widowpenalties 1 150
    output: 
      beamer_presentation
    ---
    

    然后,您可以这样指出参考部分:

    ## References {.allowframebreaks}
    

    【讨论】:

    • 有趣!我昨晚发现了{.allowframebreaks},但它什么也没做。我刚刚尝试添加 header-includes - 但它实际上似乎并没有更改 .tex 文件中的值。编译后,如果我打开 .tex 文件,它仍然显示\widowpenalties 1 10000
    • 对我来说,它不适用于 ## References {.allowframebrakes},但它适用于 # References {.allowframebrakes}
    【解决方案2】:

    正如上面@David 在 cmets 中所说:

    对我来说,它不适用于 ## References {.allowframebreaks},但它适用于 #References {.allowframebreaks}。

    我想指出,显然要使参考幻灯片正常工作,您必须创建最后一张幻灯片,其标题级别由slide_level: __YAML 部分设置。 p>

    所以,用户应该设置以下之一:

    • # 引用 {.allowframebreaks}。对于那些使用slide_level: 1的人,或者
    • ## 引用 {.allowframebreaks}。对于那些使用slide_level: 2 的人,或者
    • ### 引用 {.allowframebreaks}。对于那些使用slide_level: 3 等等的人...

    【讨论】:

    • 如果有人因为拼写而失败,那就是 {.allowframebreaks} 而不是 {.allowframebrakes}。
    • 是否可以为所有幻灯片(所有级别)设置允许帧中断?
    • 是的。只需在每个幻灯片标题后附加选项 {.allowframebreaks} 即可。 (可能有一种方法可以更改所有幻灯片的 yaml 选项,但我不知道。
    【解决方案3】:

    虽然这超出了使用常规 pandoc 引文模板的范围,但我发现了另一种可用于跨幻灯片放置引用的方法,但它依赖于 natbib 引文包。

    在 YAML 前面的事情中,我补充说:

    ---
    title: "Title"
    output: 
      beamer_presentation:
        citation_package: natbib
    bibliography: ../../RefenceDesk.bib 
    biblio-style: "apalike"
    ---
    

    参考幻灯片没有标题,我似乎无法调整字体大小(通过在.Rmd 文件末尾使用\scriptsize),但至少它们看起来连贯。

    编辑:为了节省,我删除了 csl: ../../apa.csl 行,因为 natbib 不需要它。

    【讨论】:

    • 为我工作!如果有人收到 natbib 导致的错误 ! LaTeX Error: \newblock undefined.,那么只需添加这一行 \newcommand{\newblock}{}
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-04-13
    • 1970-01-01
    • 2021-01-30
    • 1970-01-01
    • 2017-11-15
    • 2023-02-23
    • 2015-02-07
    相关资源
    最近更新 更多