2014-10-14 13 views
9

Ich benutze Knit PDF um eine Beamer Präsentation in RStudio zu erstellen.Beamer Präsentation RStudio Schriftgröße ändern für Chunk

--- 
title: "A.P. Statistics" 
author: "Notes for Chapter 3.Rmd" 
date: "Monday, October 13, 2014" 
output: beamer_presentation 
--- 

## Computer Output 

```{r} 
summary(lm(cars$dist~cars$speed)) 
``` 

Wie kann ich die Schriftgröße (nur für diesen einen Klumpen, so dass andere Stücke der gleiche Schriftgröße) ändern, so dass die Ausgabe dieses Befehls paßt auf einer Folie?

Antwort

8

Eine Lösung verwendet knitrhooks. Ein Hook ist Code, der vor oder nach der Ausführung des Chunk-Codes ausgeführt wird. Sie könnten damit einen LaTeX-Befehl fontsize in die Datei einfügen.

```{r echo=FALSE} 
knitr::knit_hooks$set(mysize = function(before, options, envir) { 
    if (before) 
    return(options$size) 
}) 
``` 

Kennen Sie die Größe von

ändern
```{r mysize=TRUE, size='\\large'} 
1:10 
``` 

Ein Nachteil ist, dass diese Art von Haken alle Schriftarten auf einer Folie beeinflussen, das heißt auch die R-Kodex wider. Obwohl umständlich, könnten Sie zwei aufeinanderfolgende Chunks verwenden (1. Echo, Ergebnis Nein, 2. Echo nein, Ergebnis ja), um dies zu umgehen.

```{r results="'hide'} 
1:10 
``` 

```{r echo=FALSE, mysize=TRUE, size='\\large'} 
1:10 
``` 

PS. Vielleicht gibt es einen besseren Weg, indem Sie anstelle von Chunk Hooks output hooks ändern.

+0

Vielleicht vermisse ich hier etwas Offensichtliches, aber was ist der Vorteil der Verwendung dieser Hook-Funktion anstelle von \ large "manuell" vor dem Chunk (und widerrufen es nach dem Chunk, wenn nötig, mit \ normalized)? – crsh

Verwandte Themen