【问题标题】:Beamer presentation RStudio change font size for chunkBeamer 演示 RStudio 更改块的字体大小
【发布时间】:2014-12-09 21:58:32
【问题描述】:

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

如何更改字体大小(仅针对这一块,其他块保持相同的字体大小)以使该命令的输出适合一张幻灯片?

【问题讨论】:

    标签: r rstudio knitr beamer


    【解决方案1】:

    我打算把它作为对 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()下方。

    【讨论】:

      【解决方案2】:

      这就是我的做法......

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

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

      调用markdown顶部的文件:

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

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

      ## Tiny font slide
      
      \FontSmall
      
      here is some tiny font ...
      

      【讨论】:

        【解决方案3】:

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

        ```{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。虽然很麻烦,但您可以使用两个连续的块(第一个:回显,结果不;第二个:不回显,结果是)来规避这一点。

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

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

        【讨论】:

        • 也许我在这里遗漏了一些明显的东西,但是使用这个钩子函数而不是在块之前“手动”添加 \large 有什么好处(如果需要,在块之后撤销它,使用\normalsized)?
        • 是的,修改输出挂钩的方法很简单,正如我在下面的答案中所看到的那样——由于 cmets 中的格式限制,我写了我的 onw 答案以获得更好的易读性跨度>
        猜你喜欢
        • 1970-01-01
        • 2015-03-28
        • 1970-01-01
        • 2018-03-08
        • 2019-10-31
        • 2013-01-14
        • 2016-11-14
        • 2014-09-24
        • 1970-01-01
        相关资源
        最近更新 更多