मार्कडाउन से पीडीएफ के साथ पैंडोक में परिवर्तित करते समय मार्जिन आकार सेट करें


179

मैंने RStudio में RMarkdown फ़ाइल बनाई है और इसे HTML और .md फ़ाइल में निट के साथ बुनना करने में कामयाब रहा। अगला, मैंने .md फ़ाइल को एक पीडीएफ फाइल में बदलने के लिए पंडोक का उपयोग किया (यदि मैं कोशिश करता हूं और मुझे .html फ़ाइल से रूपांतरित करता हूं तो मुझे एक त्रुटि मिलती है)। हालाँकि, पीडीएफ का उत्पादन बड़े पैमाने पर हाशिये पर होता है (जैसे कि यह http://johnmacfarlane.net/pandoc/demo/example13.pdf )। छोटे मार्जिन के साथ कुछ का उत्पादन करने के लिए मुझे पैंडो कैसे मिल सकता है? मैंने pandoc उपयोगकर्ता गाइड के माध्यम से देखा है, लेकिन कुछ भी उपयोगी नहीं पाया है।

जवाबों:


241

रेकॉर्डडाउन और पंडोक के हाल के संस्करण

रेकॉर्डडाउन के अधिक हाल के संस्करणों में , शीर्ष-स्तरीय तत्व के माध्यम से हाशेल हेडर में मार्जिन की सेटिंग की जा सकती है geometry। आप जो geometryटैग में निर्दिष्ट करते हैं, उसे LaTeX टेम्प्लेट में पाइप किया जाएगा जो कि पंडोक के साथ जहाजों को निम्नलिखित LaTeX स्निपेट के माध्यम से दिखाता है

$if(geometry)$
\usepackage[$for(geometry)$$geometry$$sep$,$endfor$]{geometry}
$endif$

उदाहरण के लिए, मार्जिन को निर्दिष्ट करने के लिए जो चौड़ाई में 2 सेमी हैं, उनमें एक शामिल होगा

---
title: "Habits"
author: John Doe
date: March 22, 2005
geometry: margin=2cm
output: pdf_document
---

ज्यामिति LaTeX पैकेज में पारित होने के लिए और अधिक जटिल विशिष्टताओं के लिए , स्ट्रिंग विकल्प एक साथ जैसे आप LaTeX के साथ करेंगे:

---
title: "Habits"
author: John Doe
date: March 22, 2005
geometry: "left=3cm,right=3cm,top=2cm,bottom=2cm"
output: pdf_document
---

मूल उत्तर

यह एक LaTeX प्रश्न है क्योंकि Pandoc LaTeX के माध्यम से पीडीएफ को प्रदान कर रहा है - आप एक LaTeX दस्तावेज़ पर डिफ़ॉल्ट मार्जिन का प्रतिनिधित्व करने के लिए क्या जुड़ा हुआ है।

ज्यामिति उदाहरण के लिए LaTeX पैकेज पेज के हाशिये को बदलने के लिए इस्तेमाल किया जा सकता। हालाँकि, आपको पंडोक को इसका उपयोग करने के लिए एक तरीका की आवश्यकता होगी, जिसमें यह सम्मिलित है कि परिवर्तित md फ़ाइल पर लागू LaTeX हेडर शामिल है।

आप यह कैसे करते हैं यह पंडोक उपयोगकर्ता गाइड में प्रलेखित है । विशेष रूप से --template=FILEकमांड लाइन तर्क और टेम्प्लेट अनुभाग देखें । अनिवार्य रूप से, या तो लैटेक्स निर्देशों को शामिल करने के लिए डिफ़ॉल्ट टेम्पलेट को ढूंढें और संशोधित करें जिसे आप अपने टेम्पलेट को खरोंच से उपयोग करना या शुरू करना चाहते हैं और इसे उपयुक्त स्थान पर रखें; देखना --data-dirकमांड लाइन तर्क।


एक अन्य विकल्प यदि आप Pandoc का नवीनतम संस्करण का उपयोग कर रहे चर तर्क (के साथ या तो सेट का उपयोग करने के लिए है -V KEY[=VAL]या --variable=KEY[:VAL])। geometryपैकेज मई 2012 में डिफ़ॉल्ट LaTeX टेम्पलेट में जोड़ा गया था (देखें इस चर्चा )। जैसे, यदि आप पेज मार्जिन बदलना चाहते हैं, तो आप उपयोग कर सकते हैं:

pandoc -V geometry:margin=1in -o output.pdf input.md

आप कई चर मान भी निर्दिष्ट कर सकते हैं। उदाहरण के लिए, यदि आप आधे इंच के मार्जिन के साथ 4 बाई 6 इंच की पीडीएफ बनाना चाहते हैं, तो आप इसका उपयोग कर सकते हैं:

pandoc -V geometry:paperwidth=4in -V geometry:paperheight=6in -V geometry:margin=.5in -o output.pdf input.md

33
यदि आप पंडोक के नवीनतम संस्करण का उपयोग कर रहे हैं, तो आप इसे variableडिफ़ॉल्ट टेम्पलेट में मार्जिन या हार्ड-कोडिंग से टेम्पलेट बनाने के बजाय कमांड का उपयोग करके भी सेट कर सकते हैं । उदाहरण के लिए, 1 इंच मार्जिन के लिए, आप उपयोग कर सकते हैं pandoc -V geometry:margin=1in -o output.pdf input.md
A5C1D2H2I1M1N2O1R2T1

@mrdwab वही है जिसकी मुझे आवश्यकता है। बहुत बहुत धन्यवाद। उत्तर के रूप में पोस्ट करना चाहते हैं ताकि मैं इसे स्वीकार कर सकूं?
mchangun

8
@mchangun, मैंने अपनी टिप्पणी को शामिल करने के लिए गैविन के उत्तर को संपादित किया है क्योंकि यह एक वैध है जो उन उपयोगकर्ताओं के लिए उपयोगी हो सकता है जो डिफ़ॉल्ट पंडोक टेम्प्लेट में शामिल नहीं अन्य कस्टम LaTeX पैकेज का उपयोग करना चाहते हैं।
A5C1D2H2I1M1N2O1R2T1

1
पंडोक में बहुत नया। मुझे लग रहा था कि -V geometry:margin=1inविकल्प का कोई असर नहीं हो रहा था । Googling के माध्यम से, मैंने पाया कि कहीं (क्षमा करें लिंक को खो दिया) प्रलेखन ने कहा कि डिफ़ॉल्ट टेम्पलेट का उपयोग करने पर इस विकल्प का कोई प्रभाव नहीं है। मैं बस एक पृष्ठ मार्केड फ़ाइल को पीडीएफ में परिवर्तित करना चाहता हूं ताकि किसी व्यक्ति को एक फ़्लायर के रूप में भेजा जा सके। मेरा त्वरित समाधान: टेम्पलेट फ़ाइल को सीधे संपादित करें और लाइन जोड़ें \usepackage[margin=1.0in]{geometry}। मेरी स्थापना पर, फ़ाइल में है:/usr/share/pandoc-1.9.1.1/templates
स्टीव कोच

वहाँ एक रास्ता है, कमांड लाइन से सिर्फ एक मार्जिन को प्रभावित करने के लिए? मेरी पूरी पुस्तक में सबसे नीचे एक विशाल गैप है और मैं सिर्फ उस मार्जिन को प्रभावित करना चाहता हूं। -वी ज्यामिति: मार्जिन: नीचे काम करने के लिए प्रतीत नहीं होता है।
ऑस्टिन फथेरेई

105

पंडोक के हाल के संस्करणों में, आप YAML हेडर में कई पैरामीटर सेट कर सकते हैं । आप यहां उदाहरण के लिए ज्यामिति सेट कर सकते हैं:

---
title:  Pandoc nice margins example
author: naught101
geometry: margin=3cm
---

body text of document

जब पंडोक इसे एक पीडीएफ में परिवर्तित करता है, तो इसका सही मार्जिन होना चाहिए।


यह एक बेहतर उपाय है! यह काफी उपयोगी है जब आप स्वचालित रूप से एक संपादक में दस्तावेज़ का निर्माण कर रहे हैं जैसे Kileया Sublime Text 2/3कमांड लाइन तर्क बदलना एक दर्द होगा।
अभिनव
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.