2016-07-12 18 views
7

Ich versuche, einige R-Code auf meine Beamer Folien passen. Es scheint nicht möglich, die Schriftgröße über das Argument size für den Code-Chunk zu ändern, wie Sie es möglicherweise für andere Dokumente vom Typ knitr machen. Der einzige Weg scheint mit \footnotesize vor jedem Code-Chunk zu sein. Das ist frustrierend, da ich viele Code-Chunks habe und in einigen Fällen muss ich dann \normalsize für meine LaTeX-Punkte verwenden.Code Chunk Schriftgröße in Beamer mit Knitr und 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

In meinem header.txt (unten) ich mit ein paar Bits von Code aus http://yihui.name/knitr/demo/beamer/, aber ohne Glück experimentiert haben.

\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 

... aber wirklich mit \def aus meiner Tiefe.

Antwort

3

Zeichnung auf this tex.SE answer, könnten wir die Shaded Umgebung neu zu definieren, die R Code umgibt, um es (und die verbatim Umgebung für die Ausgabe) footnote zu machen. Fügen Sie das zu Ihrer header.txt hinzu:

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

vielen dank. soweit ich sehe, arbeitet das nur am R-Code (im schattierten Bereich) und nicht am R-Ausgang. Gibt es einen Weg beide zu decken? – gjabel

+0

@gjabel müssen wir 'verbatim' auch neu definieren, siehe aktualisierte Antwort – scoa

+0

genial. Vielen Dank. Ich habe auch festgestellt, dass ich, wenn ich 'knitr :: opts_chunk $ set (collapse = TRUE) vertausche ', keine Sorgen über Ihren' verbatim' Fix machen muss (der an anderer Stelle in den Folien Anklopf-Effekte hat) auch im schattierten Bereich. – gjabel

Verwandte Themen