2016-02-28 22 views
5

Tôi hiện đang chuẩn bị một bản trình bày trong RStudio (sử dụng RMarkdown và Knitr, xuất ra trình bày Beamer) có khá ít tham chiếu.Tài liệu tham khảo Cắt ngắn trong trình bày Beamer được chuẩn bị trong Knitr/RMarkdown

Tôi đang sử dụng một tiêu đề YAML khá điển hình:

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

trình bày này biên soạn và tài liệu tham khảo xuất hiện như họ cần, nhưng tiếc là tất cả họ đều xuất hiện trên một slide (và thực sự chạy ra ngoài trang). Có cách nào để tham chiếu xuất hiện trên nhiều trang trình bày không?

Trả lời

1

Trong khi điều này đi ra ngoài của việc sử dụng thường xuyên mẫu pandoc trích dẫn, tôi đã tìm thấy một cách tiếp cận khác có thể được sử dụng để đặt các tham chiếu trên các trang trình bày nhưng nó dựa trên gói trích dẫn natbib.

Trong vấn đề trước YAML, tôi nói thêm:

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

Slide tài liệu tham khảo không có được một danh hiệu và tôi dường như không thể điều chỉnh kích thước font chữ (bằng cách sử dụng một \scriptsize vào cuối của tập tin .Rmd) , nhưng ít nhất chúng xuất hiện một cách mạch lạc.

EDIT: Đối với phân tích cú pháp, tôi đã xóa dòng csl: ../../apa.csl, vì natbib không yêu cầu nó.

+1

Làm việc cho tôi! Nếu có ai bị lỗi do natbib gây ra '! Lỗi LaTeX: \ newblock undefined.' sau đó chỉ cần thêm dòng này '\ newcommand {\ newblock} {}' – akhmed

5

{.allowframebreaks} là giải pháp cho thư mục nhiều trang trong beamer. Nó hoạt động ra khỏi hộp với các mẫu pandoc thường xuyên (xem my previous answer). Tuy nhiên, knitr có cài đặt ngăn chặn nó bằng cách xác định lại \widowpenalties trong mẫu beamer của nó. Bạn có thể xác minh rằng nếu bạn kiểm tra tệp .tex với keep_tex: true.

Theo tôi, đây là lỗi. Khắc phục nhanh chóng là đặt lại \widowpenalties thành giá trị mặc định của nó. Nó có thể được thực hiện trong vấn đề trước yaml của bạn:

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

Sau đó, bạn có thể chỉ ra phần tài liệu tham khảo như vậy:

## References {.allowframebreaks} 
+0

Thú vị! Tôi đã phát hiện ra '{.allowframebreaks}' tối qua, nhưng nó không làm gì cả. Tôi vừa thử thêm header-includes - nhưng nó không thực sự có vẻ thay đổi các giá trị trong file .tex. Sau khi biên dịch, nếu tôi mở tập tin .tex, nó vẫn nói '\ widowpenalties 1 10000'. –

+0

Xin chúc mừng! Rất tốt! – Jean

Các vấn đề liên quan