2014-04-04 7 views
20

Utilizzando la versione di sviluppo di RStudio (0.98.758), mi piace poter creare una presentazione ioslides in .Come correggere le interruzioni di colonna in una presentazione Rmarkdown/ioslides

Il rmarkdown docs for this format dare una descrizione di come fare una diapositiva a due colonne, e viene fornito con l'avvertenza che:

Nota che il contenuto scorrerà attraverso le colonne, quindi se si vuole avere un'immagine su un lato e il testo sull'altro è necessario assicurarsi che l'immagine abbia un'altezza sufficiente per forzare il testo sull'altro lato della diapositiva.

Ma non riesco a creare un'immagine abbastanza grande! Il testo viene ancora rimosso dal fondo della prima colonna. Nella presentazione seguente, mi piacerebbe confrontare un istogramma di base con un istogramma qplot affiancato in colonne, con alcuni commenti e codice. Ho incluso il codice per un esempio relativamente breve con alcuni tentativi di soluzione di base. Se lo farai a maglia, penso che il problema sarà ovvio. (Si noti che è necessario un 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> 

Ecco un'immagine della quarta diapositiva, è possibile visualizzare il testo viene tagliata nella parte inferiore della colonna di sinistra, mentre la colonna di destra ha un sacco di spazio.

cut off

risposta

15

Sono stato graffiare la mia testa intorno a questo anche.

È possibile evitare l'uso dei div e utilizzare {.columns-2} come un attributo di intestazione.

Per le immagini ho impostato una dimensione relativamente grande per impostazione predefinita nello yaml utilizzando fig_height e fig_width. Quindi, utilizzando l'attributo out.width nel pezzo io controllo la dimensione dell'output (350px sembra funzionare bene in questo layout)

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

Nizza! Avevo difficoltà a farlo funzionare, ma mi sono reso conto che la finestra del browser di RStudio mostra ancora il problema, ma ha un bell'aspetto in Chrome/Firefox. Grazie! – Gregor

Problemi correlati