2017-05-18 65 views
6

Mam poniżej dokument r do obniżenia. Chciałbym ukryć stronę 2, jeśli parametr "P" nie jest równy A.ukrywanie całych stron w dokumencie r skoku

Tak więc wynik byłby, gdyby parametr P! = A wygenerował tylko 3 strony.

Czy to możliwe?

--- 
title: "Untitled" 
output: 
    pdf_document: 
    toc: yes 
params: 
    P: A 
--- 

```{r setup, include=FALSE} 
knitr::opts_chunk$set(echo = TRUE) 
``` 

\newpage 


## PAGE2 

this is text for page 2 

this is text for page 2 

```{r cars} 
summary(cars) 
``` 

\newpage 


## PAGE3 

this is text for page 3 

```{r pressure, echo=FALSE} 
plot(pressure) 
``` 

\newpage 

## PAGE4 

this is text for page 4 
+2

Umieściłbym go w osobnym pliku Rmd i użył knit_child aby wstawić go jako porcję z włączonym/wyłączonym wyjściem warunkowym. – baptiste

+0

Czy mimo to można to zrobić za pomocą jednego pliku rmd? – user3022875

Odpowiedz

0

Możesz komentować sekcję na podstawie wartości P. Oto trochę hackish sposób to zrobić: otoczyć sekcję z \iffalse/\fi. Zauważ, że kod R wewnątrz sekcji nadal musi być poprawny, aby to działało (zostanie skompilowane przez knitr, ale zignorowane przez latex).

```{r, echo=FALSE, results='asis'} 
if(params$P != "A") 
    cat("\\iffalse") 
``` 

## PAGE2 

this is text for page 2 

this is text for page 2 

```{r cars} 
summary(cars) 
``` 

\newpage 

```{r, echo=FALSE, results='asis'} 
if(params$P != "A") 
    cat("\\fi") 
```