Beamer演示文稿RStudio更改块的字体大小

时间:2014-10-14 23:35:18

标签: r rstudio knitr beamer

我正在使用Knit PDF在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))
```

如何更改字体大小(仅适用于此一个块,其他块保持相同的字体大小),以便此命令的输出适合一张幻灯片?

3 个答案:

答案 0 :(得分:8)

一种解决方案是使用knitr hooks。钩子是在块代码执行之前或之后运行的代码。您可以使用它在文件中插入LaTeX fontsize命令。

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

知道您可以通过

更改大小
```{r mysize=TRUE, size='\\large'}
1:10
```

一个缺点是这种类型的挂钩会影响幻灯片上的所有字体,即回显的R-Code。虽然很麻烦,但你可以使用两个连续的块(第一个:echo,结果没有;第二个:没有回声,结果是)来逃避这个。

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

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

PS。也许有一种更好的方法是修改output hooks而不是chunk hooks。

答案 1 :(得分:0)

这是我的方法...

将以下内容添加到您的slideStyle.sty文件中

% set font size to 7 with line breaks at 8
\newcommand\FontSmall{\fontsize{7}{8}\selectfont}

在减价顶部调用文件:

output: 
  beamer_presentation:
    includes: 
      in_header: "P:/R/Slides/slideStyles.sty"

,然后在您的.Rmd文件中添加以下内容

## Tiny font slide

\FontSmall

here is some tiny font ...

答案 2 :(得分:0)

我打算将其作为对马克·赫克曼(Mark Heckmann)回答的评论,但格式完全搞砸了。

实际上,如果您这样编写块挂钩:

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

它将解决问题。

就我而言,我还提供了一个

knitr::opts_chunk$set(mysize = TRUE, size = "\\tiny")

knitr::knit_hooks$set()的正下方。