web-dev-qa-db-fra.com

Comment ajouter \ newpage dans Rmarkdown de manière intelligente?

Je me demande si on pourrait simplement utiliser la commande LaTeX \newpage dans R markdown v2 d’une manière différente de celle-ci:

```{r, results='asis', echo=FALSE}
cat("\\newpage")
```

Je produis pdf_output. Si any1 a une idée, n'hésitez pas à commenter :)! Merci

Je crée un pdf comme ceci:

---
title: " "
author: " "
date: "2014"
output: 
   pdf_document:
      includes:
         in_header: naglowek.tex
      highlight: pygments
      toc: true
      toc_depth: 3
      number_sections: true
      keep_tex: true
---
103
Marcin Kosiński

Simplement \newpage ou \pagebreak fonctionnera, par exemple.

hello world
\newpage
```{r, echo=FALSE}
1+1
```
\pagebreak
```{r, echo=FALSE}
plot(1:10)
```

Cette solution suppose que vous tricotez en PDF. Pour HTML, vous pouvez obtenir un effet similaire en ajoutant une balise <P style="page-break-before: always">. Notez que vous ne verrez probablement pas de saut de page dans votre navigateur (les pages HTML ne comportent pas de pages en tant que telles), mais la mise en page l’aura.

158
tonytonov

Dans le bloc d'initialisation, je définis une fonction

pagebreak <- function() {
  if(knitr::is_latex_output())
    return("\\newpage")
  else
    return('<div style="page-break-before: always;" />')
}

Dans la partie de démarque où je veux insérer un saut de page, je tape

`r pagebreak()`
9
Billy34

Vous pouvez subordonner le saut de page au tricotage au format PDF. Cela a fonctionné pour moi.

```{r, results='asis', eval=(opts_knit$get('rmarkdown.pandoc.to') == 'latex')}
cat('\\pagebreak')
```
9
Bravoking