2012-10-22 28 views
10

R işaretleme dosyalarında R chunks tarafından oluşturulan normal çizimler, html slaytlarına veya pdf'ye dönüştürüldüğünde tam olarak oradadır. Ancak, pandoc -t beamer ex.md -V theme:Warsaw -o beamer.pdf tarafından beamer slaytlarına dönüştürüldüklerinde, grafikler özellikle par(mfrow=c(n,m)) tarafından üretilenler için son derece büyük hale gelir, bu durumda çizimin sadece bir kısmı görüntülenir.Pandoc tarafından .md tarafından dönüştürülen beamer slaytları son derece büyük

Yığın seçeneği dev='pdf' ayarlanarak düzeltmeyi denedim, ancak çalışmaz.

html komplodur enter image description here

projeksiyon içinde arsa enter image description here

+2

bu şaşırtıcı değildir; LaTeX, PNG görüntüleri için makul bir varsayılan genişlik belirlerken oldukça kötüydü (web tarayıcıları çok daha iyi); http://yihui.name/knitr/demo/framed/ adresindeki '\ maxwidth 'dosyasına bakın ve' \ setkeys {Gin} {width = \ maxwidth}' trick'i ile birleştirin; İnsanların açgözlü olma eğilimindeyim, fakat ham LaTeX gerçekten de PDF çıktıları için en iyi çözümdür (Markdown'un basitliği için bir bedel ödenir). –

+0

@Yihui Teşekkürler. Tamamen fiyatı kabul et. – Elaine

cevap

12

Pandoc gelişimi versiyonu slayt genişliğine görüntüleri küçültmek gerekir projeksiyon şablonunda bazı kodu olduğunu. Bu senin davasına yardımcı olabilir.

Değişiklik sadece bir şablona sahip olduğundan, bunu kullanmak için geliştirme pandoc'unu yüklemeniz gerekmez. Sadece pandoc -D beamer > my.beamer kullanarak varsayılan beamer şablonunun bir kopyasını oluşturun. hat \usepackage{graphicx} sonra my.beamer aşağıdaki satırları ekleyin:

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

Sonra seçeneği --template=my.beamer ile Pandoc kullanın.

+0

Bu çözüm kullanılarak düzgün bir şekilde çözüldü. Teşekkürler. – Elaine

İlgili konular