2014-04-04 10 views
20

Korzystając z obecnej wersji rozwojowej RStudio (0.98.758), cieszę się, że mogę stworzyć prezentację ioslides w .Jak mogę naprawić podziały kolumn w prezentacji Rmarkdown/ioslides

rmarkdown docs for this format dać opis jak to zrobić slajd dwukolumnowy, a to przychodzi z ostrzeżeniem, że:

Należy pamiętać, że zawartość będzie przepływać w poprzek kolumn, więc jeśli chcesz mieć obraz na po jednej stronie i tekst po drugiej należy upewnić się, że obraz ma wystarczającą wysokość, aby wymusić tekst na drugą stronę slajdu.

Ale nie mogę sprawić, żeby obraz był wystarczająco duży! Tekst wciąż jest wypychany z dołu pierwszej kolumny. W poniższej prezentacji chciałbym porównać histogram bazowy z histogramem qplot obok siebie w kolumnach, z kilkoma komentarzami i kodem. Załączam kod dla stosunkowo krótkiego przykładu z kilkoma podstawowymi próbami rozwiązania. Jeśli to zrobisz, myślę, że problem będzie oczywisty. (Należy pamiętać, że trzeba będzie preview version of RStudio.)

--- 
title: "Two Column" 
author: "Some guy on Stack Overflow" 
date: "Friday, April 04, 2014" 
output: ioslides_presentation 
--- 

## Two-Column Attempt {.smaller} 

<div class="columns-2"> 
Base graphics can be quick... 

```{r, fig.width = 3, fig.height = 4} 
par_opts <- names(par()) 
    hist(nchar(par_opts), 
     breaks = seq(1.5, 9.5, by = 1)) 
``` 

But `ggplot2` can be quick too: 

```{r, fig.width = 2.5, fig.height = 2.5} 
require(ggplot2, quietly = T) 
qplot(factor(nchar(par_opts))) 
``` 
</div> 

## Two-Column Attempt: Taller Hist {.smaller} 

<div class="columns-2"> 
Base graphics can be quick... 

```{r, fig.width = 3, fig.height = 6} 
par_opts <- names(par()) 
    hist(nchar(par_opts), 
     breaks = seq(1.5, 9.5, by = 1)) 
``` 

But `ggplot2` can be quick too: 

```{r, fig.width = 2.5, fig.height = 2.5} 
require(ggplot2, quietly = T) 
qplot(factor(nchar(par_opts))) 
``` 
</div> 

## Two-Column Attempt: Extra div {.smaller} 

<div class="columns-2"> 

Base graphics can be quick... 

```{r, fig.width = 3, fig.height = 4} 
par_opts <- names(par()) 
    hist(nchar(par_opts), 
     breaks = seq(1.5, 9.5, by = 1)) 
``` 

<div> 
... 
</div> 

But `ggplot2` can be quick too: 

```{r, fig.width = 2.5, fig.height = 2.5} 
require(ggplot2, quietly = T) 
qplot(factor(nchar(par_opts))) 
``` 
</div> 

Oto obraz 4. slajdzie widać tekst jest obcięta u dołu lewej kolumnie, a prawa kolumna ma dużo miejsca.

cut off

Odpowiedz

15

Byłem drapania moja głowa wokół tego również.

Można uniknąć używania elementów div i używać atrybutu nagłówka jako {.columns-2} jako .

Dla obrazów ustawiłem domyślnie relatywnie duży rozmiar w yaml przy użyciu fig_height i fig_width. Następnie, przy użyciu atrybutu out.width w kawałku kontrolować wielkość produkcji (350px wydaje się działać dobrze w tym układzie)

--- 
title: "Two Column" 
author: "Some guy on Stack Overflow" 
date: "Friday, April 04, 2014" 
output: 
    ioslides_presentation: 
    fig_height: 7 
    fig_width: 7 
--- 

## Two-Column Attempt {.smaller .columns-2} 

Base graphics can be quick... 

```{r, out.width = '350px'} 
par_opts <- names(par()) 
    hist(nchar(par_opts), 
     breaks = seq(1.5, 9.5, by = 1)) 
``` 


But `ggplot2` can be quick too: 

```{r, out.width = '350px'} 
require(ggplot2, quietly = T) 
qplot(factor(nchar(par_opts))) 
``` 
+0

Nice! Miałem problemy z uruchomieniem go, ale zdałem sobie sprawę, że okno przeglądarki RStudio nadal pokazuje problem, ale wygląda świetnie w Chrome/Firefox. Dzięki! – Gregor