I am using Knit PDF to compile a beamer presentation in RStudio.
---
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))
```
How can I change the font size (just for this one chunk, leaving other chunks the same font size) so that the output of this command fits on one slide?
One solution is using knitr
hooks. A hook is code that will run before or after the chunk code is executed. You could use it to insert a LaTeX fontsize command in the file.
```{r echo=FALSE}
knitr::knit_hooks$set(mysize = function(before, options, envir) {
if (before)
return(options$size)
})
```
Know you can change the size by
```{r mysize=TRUE, size='\\large'}
1:10
```
One Drawback is that this type of hook will affect all the fonts on a slide, i.e. also the echoed R-Code. Though cumbersome, you could use two consecutive chunks (1st: echo, results no; 2nd: no echo, results yes) to evade this.
```{r results="'hide'}
1:10
```
```{r echo=FALSE, mysize=TRUE, size='\\large'}
1:10
```
PS. Maybe there is a better way by modifying output hooks instead of chunk hooks.
I was going to place it as a comment to Mark Heckmann's answer, but the formatting was all screwed.
Actually, if you write your chunk hook like this:
```{r echo=FALSE}
knitr::knit_hooks$set(mysize = function(before, options, envir) {
if (before) {
return(options$size)
} else {
return("\\normalsize")
}
})
```
it will do the trick.
In my case, I also included an
knitr::opts_chunk$set(mysize = TRUE, size = "\\tiny")
right below the knitr::knit_hooks$set()
.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With