एक नए पृष्ठ पर एक पंडोक-जनित पीडीएफ में शुरू करने के लिए अध्याय प्राप्त करना


20
%Title
%Author

#Header 1

Lots of words.

#Header 2

More words.

##Level 2 header

उपरोक्त पाठ को ई-पाठकों के लिए EPUB फ़ाइल में बदल दिया जा सकता है pandoc -o output.epub input.mkd, और इसे PDF में परिवर्तित किया जा सकता है pandoc -o output.pdf input.mkd। उत्तरार्द्ध को एक लेटेक्स इंजन स्थापित करने की आवश्यकता होती है, जो प्रश्न का उत्तर देने के लिए प्रासंगिक हो सकता है।

EPUB के साथ, प्रत्येक स्तर 1 हेडर स्वचालित रूप से एक नए पृष्ठ के शीर्ष पर सेट किया जाता है (कम हेडर नहीं हैं)। पीडीएफ के साथ, यह मामला नहीं है - और मैं इसे डिफ़ॉल्ट रूप से होने की उम्मीद नहीं करूंगा, क्योंकि यह मार्कडाउन के मुख्य लक्ष्यों के विपरीत होगा। हालाँकि, मुझे इस व्यवहार को सक्षम करने के लिए एक pandoc विकल्प खोजने में परेशानी हो रही है।

क्या किसी को पंडोक के साथ इस व्यवहार को सक्षम करने का तरीका पता है? एक कॉन्फिग फाइल को एडिट करना एक स्वीकार्य समाधान होगा, लेकिन अगर सिंटैक्स लेटेक्स-आधारित है तो मैं इसकी एक व्याख्या की सराहना करूंगा (कॉन्फिग फाइल में क्या है, लेटेक्स की व्यापक व्याख्या नहीं!)।

पंडोक का --chaptersविकल्प ऐसा लगता है जैसे मुझे जो चाहिए वह करना चाहिए ... लेकिन यह

  • अध्याय केवल विषम संख्या वाले पृष्ठों पर दिखाई देते हैं, रिक्त पृष्ठों को आवश्यक के रूप में सम्मिलित करते हैं (दिलचस्प है, लेकिन ऐसा नहीं है जो मैं चाहता हूं - मैं इसे ए 4 पेपर पर प्रिंट करना चाहता हूं, और यह पुस्तक-शैली से बाहर नहीं होने जा रहा है, इसलिए किसी भी सौंदर्यवादी सकारात्मक यहाँ कागज की बर्बादी से ऑफसेट है)
  • Chapter xवास्तविक हेडर से पहले सम्मिलित करता है , जो कुछ हास्यास्पद सामान की ओर जाता है:

अध्याय 1

प्रस्ताव

यदि --chaptersविकल्प को वश में करना संभव है , तो यह एक उपयुक्त उत्तर होगा।

जवाबों:


28

Https://tex.stackexchange.com/questions/9497/start-new-page-with-each-nection देखें ।

पंडोक के साथ इस काम को करने के लिए, आपको निम्नलिखित को लाटेकस दस्तावेज़ की प्रस्तावना में सम्मिलित करना होगा। pandoc पीडीएफ के रास्ते पर उत्पन्न होता है:

\usepackage{titlesec}
\newcommand{\sectionbreak}{\clearpage}

ऐसा करने के कई तरीके हैं। एक प्रस्तावना में इन पंक्तियों के साथ एक कस्टम लाटेक्स टेम्पलेट बनाना है। फिर आप --template mytemplate.latexइस टेम्पलेट का उपयोग करने के लिए pandoc बताने के विकल्प का उपयोग कर सकते हैं । डिफ़ॉल्ट लाटेक्स टेम्पलेट प्राप्त करने के लिए, जिसे आप संशोधित कर सकते हैं, करें pandoc -D latex > mytemplate.latex

एक अन्य विकल्प titlesec.texसिर्फ उन दो लाइनों के साथ एक छोटी फ़ाइल बनाना है । फिर --include-in-header titlesec.texहेडर में इसे शामिल करने के विकल्प के साथ पिंडोक को कॉल करें , जैसे:

pandoc --toc --include-in-header titlesec.tex -o output.pdf input1.mkd input2.mkd

धन्यवाद, यह कमाल है। यह पीडीएफ के भीतर लिंक को तोड़ने और सभी बुकमार्क सेट करने का नकारात्मक पक्ष है (सुनिश्चित नहीं है कि यह सही शब्द है) तो पेज 1 पर, लेकिन जब से मैं इसे मुख्य रूप से वास्तविक मुद्रण के लिए उपयोग कर रहा हूं, यह कोई बड़ी बात नहीं है। केवल एक चीज यह नहीं करती है कि शीर्षक के रूप में एक ही पृष्ठ पर सामग्री की तालिका रखी जाए, लेकिन यह वास्तव में महत्वपूर्ण नहीं है।
ईविल

2
BTW, यदि आप वही जॉन मैकफर्लेन हैं, जिन्होंने पंडोक बनाया है, तो मैं आपको धन्यवाद देने का मौका लेना चाहूंगा - जब से मैंने इसे खोजा है, आपका कार्यक्रम मेरे लेखन वर्कफ़्लो का एक महत्वपूर्ण हिस्सा बन गया है। इसके अलावा, क्या कोई संसाधन हैं जो आप LaTeX के बारे में जानने के लिए सुझाएंगे?
निकालना

4
आपका स्वागत है। मैंने लैम्पपोर्ट की किताब LaTeX: A डॉक्यूमेंट प्रिपरेशन सिस्टम के साथ शुरुआत की, जो अच्छी है।
जॉन मैकफर्लेन

1
शीर्षक पांडोक वर्तमान लेटेक्स टेम्पलेट के साथ असंगत लगता है, प्रस्तावित उत्तर एक लेटेक्स त्रुटि उत्पन्न करता है। आप sectsty उपयोग कर सकते हैं: \usepackage{sectsty} \sectionfont{\clearpage}
मर्लिज़न सेब्रेट्स

उपरोक्त विधि का उपयोग करने पर त्रुटियां होती हैं। समाधान यहाँ दिया गया है
jdhao

11

मैंने जो किया वह यह था:

pandoc --toc -V documentclass=report -o output.pdf inputs*.mkd

यह LaTeX 'रिपोर्ट' दस्तावेज़ वर्ग का उपयोग करने का कारण बनता है (डिफ़ॉल्ट रूप से --chapters, पैंडॉक 'पुस्तक' या 'संस्मरण' वर्ग) का उपयोग करता है, जो पुस्तकों के लिए डिज़ाइन किए गए हैं - पुस्तक-बंधन की सुविधा के लिए अलग-अलग आकार के मार्जिन एक-दूसरे के लिए। , अध्याय केवल विषम पृष्ठों पर शुरू हो रहे हैं, आदि), जो पृष्ठों के शीर्ष पर स्तर 1 हेडर डालता है, लेकिन उन्हें केवल विषम संख्या वाले पृष्ठों के शीर्ष पर नहीं रखता है।

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


1

साथ ही दो साल से अधिक समय बाद, और मैं इस मुद्दे पर भी भागता रहा; तो किसी और के लिए जो इस मुद्दे पर चलता है जो इसे पाता है ...

जॉन के जवाब और शामिल अन्य लिंक के लिए धन्यवाद , मैं pandoc -Hविकल्प के साथ एक फ़ाइल में निम्नलिखित का उपयोग करता हूं और यह ठीक काम करता है:

% /superuser/601469/getting-chapters-to-start-on-a-new-page-in-a-pandoc-generated-pdf
% http://tex.stackexchange.com/questions/120740/how-do-i-remove-chapter-n-from-the-chapter-titles-of-a-book
\usepackage{titlesec}
\usepackage{fancyhdr}

\newcommand{\sectionbreak}{\clearpage}
\titleformat{\chapter}[display]{\normalfont\bfseries}{}{0pt}{\Large}
\pagestyle{fancy}
\fancyhf{}
\fancyhead[RE]{\leftmark}
\fancyhead[LO]{\rightmark}
\fancyhead[LE,RO]{\thepage}
\renewcommand\headrulewidth{0pt}
\renewcommand\chaptermark[1]{\markboth{#1}{}} 
\renewcommand\sectionmark[1]{\markright{\thesection.\ #1}}

इसके साथ, मैंने --chaptersविकल्प का उपयोग किया pandocऔर यह बिना किसी Chapter XX:पृष्ठ शीर्षक के नए पृष्ठों पर पीडीएफ अध्याय उत्पन्न करता है । दस्तावेज़ वर्ग -V documentclass=reportद्वारा उत्पादित पेज-स्किपिंग-एंड-न्यू-ऑन-ऑड-ऑन-पेज-नंबर घटना के बिना, वांछित परिणाम का उपयोग करना book


0

एक ही समस्या थी और मुझे पता था कि मैं केवल YAML मेटाडेटा फ़ील्ड का उपयोग करके अपना समाधान पोस्ट करूंगा।

documentclass: report
header-includes:
- \renewcommand{\chaptername}{}
- \renewcommand{\thechapter}{}
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.