2016-07-12 42 views
7

Sto provando a ottenere un codice R per adattarlo alle diapositive del mio beamer. Non sembra possibile cambiare la dimensione del carattere tramite l'argomento size per il chunk di codice come si potrebbe fare per altri documenti di tipo knitr. L'unico modo sembra essere con \footnotesize prima di ogni chunk di codice. Questo è frustrante, dato che ho un sacco di pezzi di codice e in alcuni casi devo usare \normalsize per i miei punti elenco LaTeX.Dimensione carattere font chunk in Beamer con knitr e latex

--- 
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) 
``` 

enter image description here

Nel mio header.txt (sotto) ho sperimentato con un paio di pezzi di codice da http://yihui.name/knitr/demo/beamer/ ma senza fortuna.

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

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

... ma in realtà il mio modo approfondito con \def.

risposta

3

Attingendo this tex.SE answer, potremmo ridefinire l'ambiente che la circonda ShadedR codice per renderlo footnotesize (e la verbatim ambiente per uscita). Aggiungi questo al tuo header.txt:

%% 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

molte grazie. per quanto vedo questo funziona solo sul codice R (nell'area ombreggiata) e non sull'uscita R. c'è modo di coprire entrambi? – gjabel

+0

@gjabel avremo bisogno di ridefinire 'verbatim', vedi risposta aggiornata – scoa

+0

impressionante. Grazie. ho anche scoperto che se cambio 'knitr :: opts_chunk $ set (collapse = TRUE)' Non ho bisogno di preoccuparmi della tua correzione 'verbatim' (che ha effetti knock on quando viene usata altrove nelle diapositive) poiché l'output R è quindi anche nell'area ombreggiata. – gjabel

Problemi correlati