2016-07-12 41 views
7

Beamer slaytlarıma sığacak şekilde biraz R kodu alıyorum. Diğer knitr türü belgeler için yapabildiğiniz gibi, kod boyutu için size argümanı aracılığıyla yazı tipi boyutunu değiştirmek mümkün görünmüyor. Tek yol, her kod yığınından önce \footnotesize ile görünüyor. Çok fazla kod parçasına sahip olduğumdan ve bazı durumlarda LaTeX madde işaretlerim için \normalsize kullanmam gerektiğinden sinir bozucu oluyor. Benim header.txt (aşağıda) Ben http://yihui.name/knitr/demo/beamer/ uzak ama hiç şansım kod bit bir çift ile denemişlerdir olarakKnitr ve lateks ile Beamer öğesindeki kod boyutu yazı tipi boyutu

enter image description here

--- 
title: "Untitled" 
output: 
beamer_presentation: 
    includes: 
    in_header: header.txt 
--- 

```{r setup, include=FALSE} 
knitr::opts_chunk$set(echo = TRUE, size = "footnotesize") 
``` 

## R Markdown 

```{r} 
summary(cars) 
``` 

\footnotesize 
```{r} 
summary(cars) 
``` 

.

\ifdefined\knitrout 
\renewenvironment{knitrout}{\begin{footnotesize}}{\end{footnotesize}} 
\else 
\fi 

\makeatletter 
\let\oldalltt\alltt 
\def\alltt{\@ifnextchar[\[email protected] \[email protected]} 
\def\[email protected]i[#1]{\oldalltt[#1]\footnotesize} 
\def\[email protected]{\oldalltt\footnotesize} 
\makeatother 

... ama gerçekten \def ile benim derinliği dışarı.

cevap

3

this tex.SE answer Çizim, biz footnotesize yapmak R kodunu çevreleyen Shaded ortamı (ve çıkış için verbatim ortamı) yeniden tanımlamak olabilir. Bunu başlığınıza ekleyin:

%% change fontsize of R code 
\let\oldShaded\Shaded 
\let\endoldShaded\endShaded 
\renewenvironment{Shaded}{\footnotesize\oldShaded}{\endoldShaded} 

%% change fontsize of output 
\let\oldverbatim\verbatim 
\let\endoldverbatim\endverbatim 
\renewenvironment{verbatim}{\footnotesize\oldverbatim}{\endoldverbatim} 
+0

çok teşekkürler. Gördüğüm kadarıyla sadece R kodu üzerinde çalışıyor (gölgeli alanda) ve R çıkışı değil. ikisini de kapsayacak bir yol var mı? – gjabel

+0

@gjabel 'verbatim' 'i yeniden tanımlamamız gerekecek, güncellenmiş – scoa

+0

cevabına bakınız. Teşekkürler. Ayrıca, eğer knitr :: opts_chunk $ setini (collapse = TRUE) değiştirirsem '' verbatim 'düzeltmeniz (slaytlarda başka yerlerde kullanıldığında efektleri çaldırır) hakkında endişelenmenize gerek olmadığını buldum. gölgeli alanda da. – gjabel