स्मार्ट तरीके से Rmarkdown में \ newpage कैसे जोड़ें?


114

मुझे आश्चर्य है कि अगर कोई \newpageआर मार्केड v2 में LaTeX कमांड का उपयोग इस तरह से कर सकता है:

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

मैं pdf_output का उत्पादन करता हूं। अगर किसी भी 1 में कोई विचार है तो कृपया टिप्पणी करने में संकोच न करें :)! धन्यवाद

मैं इस तरह से pdf बनाता हूँ:

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

आप अपना पीडीएफ आउटपुट कैसे बना रहे हैं?
स्पेल्डमैन

मैंने अपना प्रश्न संपादित किया। वहाँ कैसे मैं पीडीएफ बनाने के लिए है।
Marcin Kosi Marski

और फिर आप किन पैकेजों / कार्यों का उपयोग करते हैं? या आप सिर्फ RStudio में बटन क्लिक करते हैं?
स्पेसमैन

क्या फर्क पड़ता है? मेरे पैकेज या फ़ंक्शंस का इससे कोई लेना-देना नहीं है कि मैं कोड के कुछ हिस्सों में नया पृष्ठ जोड़ना चाहूंगा।
मार्सिन कोसीस्की

संपूर्ण वर्कफ़्लो को देखकर अच्छा लगता है - मार्कशीट से पीडीएफ तक जाने के विभिन्न तरीके हैं। इसके बिना, हम अनुमान लगा रहे हैं। अच्छा अनुमान @tonytonov
Spacedman

जवाबों:


177

बस \newpageया \pagebreakकाम करेगा, जैसे

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

यह समाधान मानता है कि आप पीडीएफ बुनाई कर रहे हैं। HTML के लिए, आप एक टैग जोड़कर एक समान प्रभाव प्राप्त कर सकते हैं <P style="page-break-before: always">। ध्यान दें कि आपको अपने ब्राउज़र में पृष्ठ विराम दिखाई नहीं देगा (HTMLs में प्रति पृष्ठ पृष्ठ नहीं हैं), लेकिन मुद्रण लेआउट में यह होगा।


क्या मैं किसी तरह विषय को बंद कर सकता हूं?
मार्सिन कोसीस्की

2
आपका स्वागत है! आपने पहले ही उत्तर (हरा निशान) स्वीकार कर लिया है; यह संकेत है कि समस्या हल हो गई है। यह इस सवाल के लिए पर्याप्त है, हालांकि अन्य उपयोगकर्ता अभी भी अपने उत्तर या टिप्पणी जोड़ सकते हैं। यहाँ पर एसओ क्लोजिंग प्रश्न एक वोट-आधारित टूल है, जो उचित प्रश्नों को लॉक नहीं करता है या यदि उचित नहीं है तो उन्हें हटा भी देता है। आपका प्रश्न ठीक है, इसलिए आपको इसे अभी बंद या हटाना नहीं है, बस इसे वैसे ही छोड़ दें।
tonytonov

क्या HTML पर बुनाई करते समय इसका कोई प्रभाव पड़ता है? क्या इससे कोई त्रुटि होती है?
ग्रोवचा

चूंकि यह एक नया पेज बनाने का सवाल है। आप html आउटपुट में एक नया पेज कैसे बनाएंगे?
मार्सिन कोसीस्की

1
@ MarcinKosiński आप सीधे HTML टैग सम्मिलित कर सकते हैं: स्पष्टीकरण के लिए संपादन देखें।
टोनेटनोव

22

इनिशियलाइजेशन चंक में मैं एक फंक्शन को परिभाषित करता हूं

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

मार्कडाउन हिस्से में जहां मैं एक पेज ब्रेक डालना चाहता हूं, मैं टाइप करता हूं

`r pagebreak()`

13

आप पीडीएफ को बुनाई पर पेजब्रेक सशर्त बना सकते हैं। इसने मेरे लिए काम किया।

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

यह महान काम करता है, पीडीएफ में एक पेज ब्रेक बनाता है लेकिन HTML में कुछ भी आउटपुट नहीं करता है (जहां पेज ब्रेक का कोई मतलब नहीं है)। लगता है कि इस संभावना को जोड़ने के लिए मुख्य उत्तर को अपडेट करने के लिए इसे मिटा दें।
मैग्नस

1
{r, results='asis', eval=(opts_knit$get('rmarkdown.pandoc.to') == 'latex')} cat('\\pagebreak') में परिणाम Error in eval(x, envir = envir) : object 'opts_knit' not found Calls: <Anonymous> ... process_group.block -> call_block -> eval_lang -> eval -> eval Execution halted opts_knit$getहालांकि कंसोल में काम करता है ठीक। ?
कीथ्पजोलले

आउटपुट फ़ाइल में echo = FALSEस्टेटमेंट प्राप्त करने से बचने के लिए निट ऑप्स में जोड़ें cat('\\pagebreak')
अक्रोनिक्स

@Akronix मैंने cat('\\pagebreak')chunk में इस्तेमाल किया और echo = FALSEknitr opts में जोड़ा , लेकिन फिर भी मेरे pdf में "## \ newpage" मिलता है, कोई विचार क्यों?
बेंजामिन तेलकैंप

1
```{r page break, results='asis', eval=(opts_knit$get('rmarkdown.pandoc.to') == 'latex'), echo = FALSE} cat('\\pagebreak') ```
अक्रोनिक्स
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.