2012-10-22 6 views
10

R 마크 다운 파일에서 R chunks으로 생성 된 일반 플롯은 html 슬라이드 또는 pdf로 변환 할 때 정확하게 나타납니다. 그러나 비머 슬라이드로 변환 할 때 pandoc -t beamer ex.md -V theme:Warsaw -o beamer.pdf 일 경우 플롯이 매우 커집니다. 특히 par(mfrow=c(n,m))으로 생성되는 플롯의 경우 플롯의 일부만 표시됩니다.pandoc에서 .md로 변환 한 비머 슬라이드의 플롯이 매우 깁니다.

청크 옵션을 dev='pdf'으로 설정하여 수정하려고했으나 제대로 작동하지 않습니다.

HTML의 플롯이다 enter image description here

비머의 플롯 enter image description here

+2

놀라운 것은 아닙니다. LaTeX는 PNG 이미지의 적절한 기본 너비를 설정하는 데 상당히 나쁩니다 (웹 브라우저가 훨씬 낫습니다). 이 페이지 http://yihui.name/knitr/demo/framed/에서'\ maxwidth'를보고 그것을 트릭'\ setkeys {Gin} {width = \ maxwidth}'와 결합하십시오; 나는 사람들이 욕심을 느끼는 경향이 있다는 것을 이해하지만 Raw LaTeX는 실제로 PDF 출력을위한 최상의 솔루션입니다 (Markdown의 단순성에 대한 대가가 있습니다). –

+0

@Yihui 감사합니다. 완전히 가격을 받아들입니다. – Elaine

답변

12

가 pandoc의 개발 버전은 상기 슬라이드의 폭에 이미지를 확장한다 비머 템플릿의 일부 코드를 포함한다. 그것은 당신의 경우에 도움이 될 수 있습니다.

템플릿을 변경하기 때문에 개발 판도를 설치할 필요가 없습니다. pandoc -D beamer > my.beamer을 사용하여 기본 비머 템플릿의 사본을 생성하면됩니다. 라인 \usepackage{graphicx}my.beamer에 다음 줄을 삽입 :

\makeatletter 
\def\ScaleIfNeeded{% 
    \ifdim\[email protected]@width>\linewidth 
    \linewidth 
    \else 
    \[email protected]@width 
    \fi 
} 
\makeatother 
\setkeys{Gin}{width=\ScaleIfNeeded} 

그런 다음 옵션 --template=my.beamer와 pandoc를 사용합니다.

+0

그것은이 솔루션을 사용하여 깔끔하게 해결되었습니다. 감사. – Elaine