2014-10-14 2 views
9

Я использую Knit PDF для компиляции презентации лучей в RStudio.Представление Beamer 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)) 
``` 

Как можно изменить размер шрифта (только для этого одного куска, оставляя другие куски одинакового размера шрифта), так что выход из этой команды помещается на одном слайде?

ответ

8

Одно решение использует knitrhooks. Крючок - это код, который будет выполняться до или после выполнения кода фрагмента. Вы можете использовать его для вставки в файл команды 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-код. Несмотря на громоздкость, вы можете использовать два последовательных фрагмента (1: эхо, результаты нет, 2-й: нет эха, результаты да), чтобы избежать этого.

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

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

PS. Возможно, есть лучший способ, изменив output hooks вместо кусков.

+0

Возможно, мне не хватает чего-то очевидного здесь, но в чем преимущество использования этой функции hook вместо добавления \ large "вручную" перед куском (и отмена его после куска, если необходимо, с использованием \ normalsized)? – crsh