tutorial the sheet guide examples español descargar definitive chunk cheat r knitr r-markdown

the - knitr/Rmd: salto de página después de n líneas/n distancia



r markdown the definitive guide pdf (1)

Permítanme advertir que esto puede ser más apropiado como una pregunta html / css pero (a) no estoy muy familiarizado con esas técnicas y (b) si es posible, quería mantener todo en la familia (familia R).

Me gustaría usar knitr para escribir informes de estilo académico ( pautas de tipo APA 6 ) usando Rmarkdown. Tengo la mayoría de los aspectos resueltos pero no de páginas. Puedo configurar pausas de página manualmente con algo como:

# report ```{r setup, include=FALSE} # set global chunk options opts_chunk$set(cache=TRUE) ``` ------ ## Page 1 ```{r plot1} plot(1:10, 1:10) ``` ------ ## Page 2

En el siguiente .Rmd, me gustaría establecer programáticamente esas interrupciones después de n lines / n distance. Entonces digamos después de 8 pulgadas o 140 líneas.

# report ```{r setup, include=FALSE} # set global chunk options opts_chunk$set(cache=TRUE) ``` Initial Text. Yay! ```{r plot1} plot(1:10, 1:10) ``` More Text. Outstanding. What Hadley''s not calling it plyr2? ```{r plot2, fig.width=4, fig.height=4} plot(1:10, 1:10) ``` `r paste(rep("So much text so little time!", 10000))`

¿Cómo puedo programar programáticamente saltos de página después de una distancia n? Esto es similar a cómo LaTeX dividiría un archivo en páginas, por lo que si una figura ocupa demasiado espacio, sería forzado a pasar a la página siguiente.

EDITAR Encontrado esto de un amigo: http://www.w3.org/TR/css3-page/ puede ser útil.


Programaticamente Crea un div HTML. Establezca el ancho y alto de este div en una cantidad fija y el desbordamiento para desplazarse.

<div style="height:1000px; width: 500px; overflow-y: scroll;"> ... </div>

Procese su rebaja en elementos HTML. Tengo 5 etiquetas de h1 que son 300 px de altura cada una.

<h1 style="height:300px;">First</h1> <h1 style="height:300px;">Second</h1> <h1 style="height:300px;">Third</h1> <h1 style="height:300px;">Fourth</h1> <h1 style="height:300px;">Fifth</h1>

Estos 5 h1 no encajarán todos en la misma página. La página tiene solo 1,000 píxeles de alto. Solo 3 etiquetas h1 caben en esta página. Tendremos que insertar un salto de página después del tercer elemento.

Incrementa cada elemento nuevo en el DOM. Después de insertar cada elemento, compruebe si la barra de desplazamiento del navegador está presente. Si es así, entonces sabemos que el artículo que acabamos de insertar era demasiado grande para esta página; eliminar el elemento e insertar un salto de página.

Antes de:

### First ### Second ### Third ### Fourth ### Fifth

Después:

### First ### Second ### Third ------ ### Fourth ### Fifth

Esto funcionaría para cualquier elemento y no tendría que preocuparse por la altura de un elemento. Porque, si el elemento que acaba de insertar hizo el desplazamiento del div HTML, entonces necesitamos un salto de página. Imágenes, videos, h1, h2, p, CSS personalizado / dinámico, cualquier cosa.

ACTUALIZAR

También puede calcular la altura de cada elemento div. http://api.jquery.com/height/ esa manera, volver a calcular un documento de 54 páginas sería mucho más fácil.