2016-02-28 14 views
5

Şu anda RStudio'da (RMarkdown ve Knitr kullanarak, bir Beamer sunumunu kullanarak) çok az referansı olan bir sunum hazırlıyorum.Referanslar Beamer Sunumunda kısaltıldı Knitr/RMarkdown'da hazırlanan sunum

Ben oldukça tipik YAML başlığını kullanıyorum:

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

Bu sunum derler ve gerektiği gibi referanslar görünür, ancak ne yazık ki hepsi tek slaytta görünür (ve aslında sayfa kaçıp). Referansların birden fazla slaytta görünmesinin bir yolu var mı? Beamer'daki çoklu blok bibliyografyaları için bir çözümdür.

cevap

1

, ben bulduk referansları slaytlara koymak için kullanılabilecek başka bir yaklaşımdır, ancak natbib alıntı paketine dayanır. YAML ön konuda

, ben ekledi:

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

referans slayt bir başlık almaz ve ben (.Rmd dosyanın sonuna bir \scriptsize kullanarak) yazı tipi boyutunu ayarlamak için görünmüyor olabilir ama en azından tutarlı görünüyorlar.

DÜZENLEME: Doğrusal olmayanlar için, gereğinden fazla gereksinim duymadığından, csl: ../../apa.csl satırını kaldırdım.

+1

Benim için çalıştı! Eğer bir kimse doğuştan kaynaklanan bir hata alırsa! LaTeX Hatası: \ newblock undefined.' sonra sadece bu satırı ekle \ \ newcommand {\ newblock} {} – akhmed

5

{.allowframebreaks}. Normal pandoc şablonlarıyla kutudan çıktı (bkz. my previous answer). Ancak, knitr, beamer şablonunda \widowpenalties yeniden tanımlanarak bunu engelleyen bir ayar vardır. dosyasını keep_tex: true ile incelerseniz, bunu doğrulayabilirsiniz.

Bence bu bir hatadır. Hızlı bir düzeltme, \widowpenalties değerini varsayılan değerine sıfırlamak olacaktır. Bu sizin yaml ön konuda yapılabilir: Sonra

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

, aşağıdaki gibi referans bölümüne gösterebilir: Bu normal Pandoc atıf şablonu kullanarak dışında devam ederken

## References {.allowframebreaks} 
+0

İlginç! Dün gece {.allowframebreaks} 'ı keşfettim, ama hiçbir şey yapmadı. Sadece header-includes eklemeyi denedim - ama aslında .tex dosyasındaki değerleri değiştirmek için görünmüyor. Derledikten sonra .tex dosyasını açarsam hala "10000" dır. –

+0

Tebrikler! Çok iyi! – Jean