2017-04-24 13 views
11

से पहले एक पीडीएफ डालने से मैं अपनी थीसिस को रिंगडाउन में बुकडाउन के साथ लिख रहा हूं (और मैं इसे अंततः पीडीएफ प्रारूप में निर्यात करूंगा)। मेरे थीसिस को सौंपने के लिए, मुझे अपने थीसिस के पहले पृष्ठ से पहले हस्तलिखित हस्ताक्षर वाले कुछ स्कैन किए गए दस्तावेज़ों को शामिल करने की आवश्यकता है।बुकडाउन फ्रंट पेज

बुकडाउन विभिन्न आरएमडी फाइलों के संयोजन में अद्भुत है, लेकिन मैंने शीर्षक पृष्ठ से पहले एक पीडीएफ दस्तावेज शामिल करने में कामयाब नहीं रहा है। preamble.tex में साथ

bookdown::pdf_book: 
    includes: 
    in_header: preamble.tex 
    before_body: beforebody.tex 

:

मैं इस की कोशिश की है

\usepackage{pdfpages} 

और beforebody.tex में:

\includepdf[pages={5}, scale=1]{OfficialFrontpages.pdf} 
\newpage 

हालांकि, तो यह पहले Bookdown बनाता है शीर्षक पृष्ठ, और केवल सामग्री तालिका से पहले इन पृष्ठों को सम्मिलित करता है। अंतिम पीडीएफ दस्तावेज के पहले पृष्ठ से पहले इस दस्तावेज़ को शामिल करने के लिए मजबूर करने का कोई तरीका है?

पहले .Rmd फ़ाइलों की लाइनों के रूप में इन आदेशों का समावेश भी काम नहीं करता:

![Caption](OfficialFrontpages.pdf) 
\raggedright 
\clearpage 

उत्तर

2

विकल्प 1: आप इस

includes: 
    after_body:Title_page.tex 

की तरह कुछ कोशिश कर सकते हैं विकल्प 2: चूंकि मैं लेटेक्स में अधिक आरामदायक हूं, इसलिए मैं मुख्य थीसिस और आधिकारिक पृष्ठों को दो अलग-अलग पीडीएफ दस्तावेज़ों के रूप में उत्पन्न करता हूं, वें इन दोनों को गठबंधन करने के लिए लेटेक्स पैकेज पीडीएफजेज का उपयोग करें।

तरह

\usepackage{pdfpages} 

\begin{document} 

\includepdf[pages={5}, scale=1]{OfficialFrontpages.pdf} 
\newpage 
\includepdf[pages={-}, scale=1]{MyThesis.pdf} 

\end{document} 

मैं अंत में pdflatex साथ संकलन होगा कुछ।

मुझे यह बताएं कि यह उपयोगी था या नहीं।

2

एक रणनीति लेटेक्स टेम्पलेट को संपादित करना है ताकि आप \includepdf पर \maketitle से पहले मूल्यांकन कर सकें। ऐसा लगता है जैसे बुकडाउन नियमित rmarkdown latex template का उपयोग कर रहा है। चलो एक प्रतिलिपि बनाते हैं और इसे संपादित करते हैं। फिर अपने RMD दस्तावेज़ में लिखने

$if(title)$ 
\maketitle 
$endif$ 

और::

  1. आप इस हिस्से पूरी तरह निकाल दें सकता है:

    \includepdf[pages={5}, scale=1]{OfficialFrontpages.pdf} 
    \maketitle 
    
  2. या आप वहाँ कई विकल्प तरीके यह करने के लिए कर रहे हैं उस भाग को स्थानांतरित कर सकता है, जो before_body का ख्याल रखता है:

    $for(include-before)$ 
    $include-before$ 
    $endfor$ 
    

    \maketitle से पहले, और अपनी वर्तमान रणनीति का उपयोग पहले_बॉडी के साथ करें।

किसी भी तरह से, आप अपने कस्टम टेम्पलेट का उपयोग करने knitr बताने के लिए की आवश्यकता होगी:

bookdown::pdf_book: 
    template: mytemplate.tex 

और तुम कुछ अन्य पैरामीटर के बाद से knitr बिल्कुल वैसा ही व्यवहार न करे समायोजित करने के लिए जब इस्तेमाल किया हो सकता है कस्टम टेम्पलेट्स के साथ (उदाहरण के लिए, आपको शायद मार्जिन आकार को फिर से परिभाषित करने की आवश्यकता होगी)।

1

यदि आप अपने बुकडाउन वर्कफ़्लो के हिस्से के रूप में बाहरी पीडीएफ संलग्न करते हैं, तो आप इसकी निर्माण प्रक्रिया (विशेष रूप से स्कैन किए गए दस्तावेज़ों के लिए) में एक अनावश्यक ओवरहेड जोड़ते हैं। इसके बजाए, आपको उत्पाद कर्मचारियों को उत्पाद संभालने के दौरान ही विलय की आवश्यकता होती है।

एक समाधान एक अलग TeX बनाने और LaTeX पैकेज pdfpages के माध्यम से दस्तावेज़ों को मर्ज करना है। यह पहले ही यहां पोस्ट कर दिया गया है, लेकिन मेरे लिए यह दो पीडीएफ के लिए थोड़ा अधिक लगता है। मैं बस के साथ जाना होगा: दस्तावेज़ (आंकड़े और इस तरह के) के आकार के आधार

pdftk OfficialFrontpages.pdf MyThesis.pdf cat output final.pdf 

, आप भी पिछले तर्क के रूप में compress जोड़ने से फायदा हो सकता है।

pdfMerge <- function(doc1, doc2) 
    system2("pdftk", paste(doc1, doc2, "cat output final.pdf")) 

pdftk सिर्फ कई पार मंच उपयोगिताओं में से एक (विंडोज, मैक है:

बेशक

, यदि आप आर कंसोल के आराम छोड़ने के लिए नहीं करना चाहते हैं, कुछ भी समारोह को परिभाषित करने से रोकता है , लिनक्स) पीडीएफ मर्ज करने के लिए। एक विकल्प qpdf है।

संबंधित मुद्दे