2016-02-28 8 views
5

Ich bereite gerade eine Präsentation in RStudio vor (mit RMarkdown und Knitr, Ausgabe auf einem Beamer Präsentation), die einige Referenzen hat.Referenzen in Beamer getrimmt Präsentation vorbereitet in Knitr/RMarkdown

Ich bin ein ziemlich typisches YAML-Headers:

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

Diese Präsentation erstellt und die Verweise erscheinen als sie sollten, aber leider alles, was sie erscheinen auf einer Folie (und ablaufen tatsächlich die Seite). Gibt es eine Möglichkeit, die Referenzen auf mehreren Folien erscheinen zu lassen?

Antwort

1

Während dieses außerhalb der Vorlage mit der regulären pandoc Zitat geht, ich habe festgestellt, ein anderer Ansatz, der verwendet werden kann, um die Referenzen über Folien zu setzen, aber es beruht auf dem natbib Zitat-Paket.

Im YAML Titelei, fügte ich hinzu:

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

Der Referenzschieber scheint nicht einen Titel bekommen, und ich kann nicht die Schriftgröße anzupassen (durch ein \scriptsize am Ende der .Rmd Datei) , aber zumindest erscheinen sie kohärent.

EDIT: Für Sparsamkeit habe ich die csl: ../../apa.csl Zeile entfernt, da Natbib es nicht benötigt.

+1

Arbeitete für mich! Wenn jemand einen von natbib verursachten Fehler bekommt '! LaTeX Error: \ newblock undefined. Dann füge einfach diese Zeile '\ newcommand {\ newblock} {}' hinzu – akhmed

5

{.allowframebreaks} ist die Lösung für Multislides Bibliographien in Beamer. Es funktioniert sofort mit regulären Pandora-Vorlagen (siehe my previous answer). knitr hat jedoch eine Einstellung, die dies verhindert, indem \widowpenalties in seiner Beamer-Vorlage neu definiert wird. Sie können das überprüfen, wenn Sie die .tex-Datei mit keep_tex: true untersuchen.

Meiner Meinung nach ist dies ein Fehler. Eine schnelle Lösung wäre, \widowpenalties auf den Standardwert zurückzusetzen. Es kann in Ihrem yaml Titelei erfolgen:

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

Dann Sie den Referenzabschnitt als solche anzeigen können:

## References {.allowframebreaks} 
+0

Interessant! Ich habe letzte Nacht '{.allowframebreaks} 'entdeckt, aber es hat nichts bewirkt. Ich habe gerade versucht, die Header-Includes hinzuzufügen - aber es scheint nicht wirklich die Werte in der .tex-Datei zu ändern. Wenn ich nach dem Kompilieren die .tex-Datei öffne, heißt es immer noch '\ widowpenalties 1 10000'. –

+0

Herzlichen Glückwunsch! Sehr gut! – Jean