2014-04-04 7 views
20

Mit was ist derzeit die Entwicklungsversion von RStudio (0.98.758), ich liebe, dass ich eine ioslides Präsentation in erstellen kann.Wie kann ich Spaltenumbrüche in einer Rmarkdown/ioslides Präsentation beheben

Die rmarkdown docs for this format gibt eine Beschreibung, wie eine zweispaltige Folie zu tun, und es kommt mit der Warnung, dass:

Beachten Sie, dass Inhalte über die Spalten fließen so, wenn Sie ein Bild haben wollen auf Eine Seite und Text auf der anderen Seite sollten Sie sicherstellen, dass das Bild eine ausreichende Höhe hat, um den Text auf die andere Seite der Folie zu zwingen.

Aber ich kann nicht scheinen, möglicherweise ein Bild groß genug zu machen! Der Text wird immer noch vom unteren Rand der ersten Spalte entfernt. In der folgenden Darstellung möchte ich ein Basishistogramm mit einem qplot Histogramm in Spalten nebeneinander mit einigen Kommentaren und Code vergleichen. Ich habe Code für ein relativ kurzes Beispiel mit einigen grundlegenden Lösungsversuchen eingefügt. Wenn Sie es stricken, denke ich, dass das Problem offensichtlich ist. (Beachten Sie, dass Sie eine preview version of RStudio benötigen.)

--- 
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> 

Hier ist ein Bild der vierten Rutsche, können Sie sehen, Text wird am unteren Rand der linken Spalte abgeschnitten, während die rechte Spalte bietet viel Platz.

cut off

Antwort

15

Ich habe auch um das meinen Kopf wurde zu kratzen.

Sie können die Verwendung der divs vermeiden und {.columns-2} als ein Header-Attribut verwenden.

Für die Bilder habe ich standardmäßig eine relativ große Größe im YAML mit fig_height und fig_width eingestellt. Dann im Chunk des out.width Attribut mir die Größe der Ausgabesteuerung (350px scheint in diesem Layout gut zu funktionieren)

--- 
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! Ich hatte Probleme, es zur Arbeit zu bringen, aber erkannte, dass das Browserfenster von RStudio immer noch das Problem zeigt, aber es sieht in Chrome/Firefox gut aus. Vielen Dank! – Gregor

Verwandte Themen