मार्कडाउन और कई फाइलों सहित


197

क्या कोई मार्कडाउन कांटा है जो आपको अन्य फ़ाइलों को संदर्भित करने की अनुमति देता है, जिसमें एक फ़ाइल शामिल है? विशेष रूप से, मैं उन लिंक्स के साथ एक अलग मार्कडाउन फ़ाइल बनाना चाहता हूं, जिसे मैं अक्सर कॉल करता हूं, लेकिन हमेशा नहीं (इस B.md को कॉल करें), फिर जब मैं md फाइल में संदर्भ द्वारा लिंक कर रहा हूं जो मैं लिख रहा हूं (एएमडी), मैं वर्तमान फ़ाइल (A.md) के अंत के बजाय अन्य फ़ाइल (B.md) से लिंक खींचने के लिए इसे पसंद करें।


1
अगर आपका सवाल जीथब से संबंधित है, तो आप यहाँ
आदि प्रसाद

3
मार्कडाउन के लिए अंगूठे का नियम यह है कि 'कैन मार्कडाउन ...' का जवाब आमतौर पर 'व्यावहारिक रूप से, सार्वभौमिक या आसानी से नहीं है'।
माइकल शेपर

4
इस बात की खुली चर्चा होती है कि पंडोक के साथ github.com/jgm/pandoc/issues/553 पर कैसे बात करें और आम मंच पर बात करते हैं com.commonmark.org/t/…
naught101

जवाबों:


217

संक्षिप्त जवाब नहीं है। लंबा जवाब है हां। :-)

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

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

01_preface.md
02_introduction.md
03_why_markdown_is_useful.md
04_limitations_of_markdown.md
05_conclusions.md

आप एक ही निर्देशिका के भीतर इस कमांड को निष्पादित करके उन्हें मर्ज कर सकते हैं:

pandoc *.md > markdown_book.html

चूंकि पंडोक अनुवाद करने से पहले सभी फाइलों को मर्ज कर देगा, आप अपने लिंक को इस तरह अंतिम फ़ाइल में शामिल कर सकते हैं:

01_preface.md
02_introduction.md
03_why_markdown_is_useful.md
04_limitations_of_markdown.md
05_conclusions.md
06_links.md

तो आपका 01_preface.mdकुछ हिस्सा इस तरह दिख सकता है:

I always wanted to write a book with [markdown][mkdnlink].

और आपका 02_introduction.mdकुछ हिस्सा इस तरह दिख सकता है:

Let's start digging into [the best text-based syntax][mkdnlink] available.

जब तक आपकी अंतिम फ़ाइल में लाइन शामिल है:

[mkdnlink]: http://daringfireball.net/projects/markdown

... पहले उपयोग की गई एक ही कमांड मर्ज और रूपांतरण का प्रदर्शन करेगी जबकि उस लिंक को पूरे भर में शामिल किया जाएगा। बस सुनिश्चित करें कि आप उस फ़ाइल की शुरुआत में एक खाली लाइन या दो छोड़ दें। Pandoc प्रलेखन कहना है कि यह फ़ाइलों को इस तरह से बनाए गए हैं, के बीच एक रिक्त पंक्ति कहते हैं, लेकिन यह मेरे लिए काम रिक्त पंक्ति के बिना ऐसा नहीं किया।


6
यह मेरे लिए एक अत्यंत उपयोगी पोस्ट निकला! धन्यवाद हारून। ऐसा लगता है कि यह / chapters dir के लिए एक आम उपयोग मामला होगा, एक स्क्रिप्ट जो अध्याय का निर्माण / विलय करती है, और फिर एक शीर्ष स्तर आवरण स्क्रिप्ट जिसमें एक चरण शामिल होता है जैसे: --include-before-body $ (शामिल /dir) / merged_chapters .html। यही दृष्टिकोण मैं कुछ संगठनात्मक लाभ प्राप्त करने के लिए ले जाऊंगा।
रोब

1
पंडोक का उपयोग करने का एक अन्य लाभ यह है कि यह कई प्रकार के आउटपुट का समर्थन करता है: आप न केवल एचटीएमएल बल्कि डॉक से लाटेक तक ईपब तक सब कुछ उत्पन्न कर सकते हैं।
क्रिस क्रिचो

pandoc *.md > markdown_book.htmlपरिणाम pandoc: *.md: openfile: invalid argument (Invalid argument)- यह आपके द्वारा निर्दिष्ट सिंटैक्स का समर्थन करने के लिए प्रकट नहीं होता है।
जेसन यंग

यह मेरे सिस्टम पर काम कर रहा है। मैंने GitHub पर एक नमूना भंडार बनाया ताकि आप इसे उन सभी फाइलों के साथ आज़मा सकें जो मैंने उपयोग की थीं।
हारून मैसी

आप कुछ उचित सीएसएस को शामिल करके छवियों को सही तरीके से संरेखित कर सकते हैं, जो कि आपको वैसे भी शायद करना चाहिए।
n

50

मैं सिर्फ यह उल्लेख करूंगा कि आप catकमांड फाइल का उपयोग करके उन्हें इनपुट करने से पहले इनपुट फ़ाइलों को संक्षिप्त कर सकते हैं, markdown_pyजिसका वही प्रभाव पड़ता है जैसा कि pandocकई इनपुट फाइलों के आने से होता है।

cat *.md | markdown_py > youroutputname.html

मेरे मैक पर मार्कडाउन के पायथन संस्करण के लिए ऊपर के पंडोक उदाहरण के रूप में बहुत अधिक काम करता है ।


1
@ tprk77: सिवाय इसके कि हारून का जवाब स्पष्ट करता है कि बिल्ली कमान यहाँ बेमानी है ..
n

1
cat *.mdएक अनम्य फ़ाइल नामकरण सम्मेलन का अर्थ है। इतना ही नहीं इस सम्मेलन में आवश्यक रूप से पुनरावर्ती को प्रतिबंधित करना शामिल होगा, बड़ी प्रलेखन परियोजनाओं के लिए मिश्रण में नई फ़ाइलों को जोड़ना दर्दनाक होगा। आपको बहुत सारी गिनती और नाम बदलना होगा। मार्कडाउन परियोजना को इस उद्देश्य के लिए वर्ष 2010 से एक प्रीप्रोसेसर लगा है।
जूनग्रिड

@ninegrid जबकि MarkdownPP आपके जवाब में आपके द्वारा संदर्भित स्रोत रेपो को देखने से बहुत उपयोगी लगता है, यह मुझे लगता है (क) MarkdownPP जॉन रीज़ की परियोजना है, केवल; (ख) यह "मार्काडाउन प्रोजेक्ट" (विभिन्न जायकों में से कोई भी) का हिस्सा नहीं है; और (सी) मार्कडाउनपीपी विशेष रूप से जीएफएम का उत्पादन करता है। सही बात? जैसा कि मैंने कहा, यह दिलचस्प और मददगार लगता है, लेकिन आपकी टिप्पणी यहाँ पर ऐसा लगता है जैसे यह एक मानक मार्कडाउन सुविधा है जिसे हर मार्कडाउन कार्यान्वयन के साथ आना चाहिए। लेकिन रेपो को देखने से, स्थिति पूर्ण विपरीत प्रतीत होती है।
FeRD

MD तालिकाओं को HTML तालिकाओं में बदलने में विफल रहता है।
james.garriss

30

आप वास्तव में मार्कडाउन प्रीप्रोसेसर ( MarkdownPP ) का उपयोग कर सकते हैं । अन्य उत्तरों से काल्पनिक पुस्तक उदाहरण के साथ चल रहा है, आप .mdppअपने अध्यायों का प्रतिनिधित्व करने वाली फाइलें बनाएंगे । .mdppफ़ाइलों तो उपयोग कर सकते हैं !INCLUDE "path/to/file.mdpp"के निर्देश है, जो रिकर्सिवली अंतिम आउटपुट में संदर्भित फ़ाइल की सामग्री के साथ निर्देश की जगह संचालित।

chapters/preface.mdpp
chapters/introduction.mdpp
chapters/why_markdown_is_useful.mdpp
chapters/limitations_of_markdown.mdpp
chapters/conclusions.mdpp

फिर आपको index.mdppनिम्नलिखित की आवश्यकता होगी :

!INCLUDE "chapters/preface.mdpp"
!INCLUDE "chapters/introduction.mdpp"
!INCLUDE "chapters/why_markdown_is_useful.mdpp"
!INCLUDE "chapters/limitations_of_markdown.mdpp"
!INCLUDE "chapters/conclusions.mdpp"

अपनी पुस्तक रेंडर करने के लिए आप बस प्रीप्रोसेसर को चालू करें index.mdpp:

$ markdown-pp.py index.mdpp mybook.md

बड़ी प्रलेखन परियोजनाओं के लिए अनुकूल प्रीप्रोसेसर फीचर्स के प्रदर्शन के लिए मार्कडाउनपीपी रिपॉजिटरी readme.mdppमें देखना न भूलें ।


19

मेरा समाधान m4 का उपयोग करना है। यह अधिकांश प्लेटफ़ॉर्म पर समर्थित है और इसे बिनुटिल्स पैकेज में शामिल किया गया है।

सबसे पहले changequote()फ़ाइल में एक मैक्रो शामिल करें जो आपके द्वारा पसंद किए जाने वाले उद्धरण वर्णों को बदलने के लिए है (डिफ़ॉल्ट है `')। फ़ाइल संसाधित होने पर मैक्रो हटा दिया जाता है।

changequote(`{{', `}}')
include({{other_file}})

कमांडलाइन पर:

m4 -I./dir_containing_other_file/ input.md > _tmp.md
pandoc -o output.html _tmp.md

2
m4मुश्किल से जाना जाता है, लेकिन वास्तव में एक अविश्वसनीय रूप से शक्तिशाली उपकरण है जब यह इस तरह की जेनेरिक जरूरतों के लिए आता है। दस्तावेज़ का उल्लेख करने के लिए पर्याप्त है यह "काफी नशे की लत" हो सकता है।
एरियल

अब, कि एक हल है! जीनियस
ब्रांट

M4 के विचार और अनुस्मारक के लिए +1 ! मजेदार बात यह है कि जब मैंने ऊपर दिए गए एक्सटेंशन को 'md' के रूप में देखा तो मैं m4 के अपने सिर में सोच रहा था । फिर आप एक उदाहरण शामिल करेंगे वह महान है। मुझे यकीन नहीं है कि अगर यह सवाल ठीक वही है जो मैं इसके बाद कर रहा हूं, लेकिन यह हो सकता है। धन्यवाद दोनों तरह से।
प्रिएत्तन

15

अभी हाल ही में मैंने Node में कुछ इस तरह से लिखा था, जिसमें markdown-शामिल है जो आपको C स्टाइल सिंटैक्स के साथ markdown फ़ाइलों को शामिल करने की अनुमति देता है, जैसे:

#include "my-file.md"

मेरा मानना ​​है कि यह आपके द्वारा पूछे जा रहे सवाल के साथ अच्छी तरह से संरेखित है। मैं इसे पुराना जानता हूं, लेकिन मैं इसे कम से कम अपडेट करना चाहता था।

आप अपनी इच्छानुसार किसी भी मार्कडाउन फ़ाइल में इसे शामिल कर सकते हैं। उस फ़ाइल में और भी शामिल हो सकते हैं और मार्कडाउन-शामिल एक आंतरिक लिंक बना देगा और आपके लिए सभी काम करेगा।

आप इसके माध्यम से डाउनलोड कर सकते हैं npm

npm install -g markdown-include

1
यह बहुत मददगार रहा है! धन्यवाद!
leas

@ चले खुशी की सेवा के लिए ... मैं काफी कुछ वर्षों में इस पर काम नहीं किया है, लेकिन मैं हमेशा कुछ बिंदु पर इसे वापस पाने का मतलब है। उम्मीद है कि यह आपके उद्देश्यों के लिए अच्छा हो।
सेथेंन

9

मल्टीमर्कडाउन में यह मूल रूप से है। यह इसे फ़ाइल स्थानांतरण कहता है :

{{some_other_file.txt}}

यह सब लेता है। अजीब नाम है, लेकिन सभी बक्से को टिक करता है।


क्या इस सिंटैक्स को रेंडर करने के लिए कोई फ्री और ओपन सोर्स एडिटर हैं? मैंने यह प्रश्न यहां अधिक विवरण के साथ पूछा है । अगर आप मेरी मदद कर सकते हैं तो मैं इसकी सराहना करूंगा।
फाद

1
@ फ़ेड: मुझे डर है कि मैं एक विम उपयोगकर्ता हूँ और ऐसे किसी भी संपादक से अनजान हूँ। मैं आपके Reddit Q पर देखता हूं कि आपने पाया कि Asciidoc और के विभिन्न संपादक, इसका समर्थन करते हैं। मुझे यह नहीं पता था - धन्यवाद।
eff

खुशी है कि यह उपयोगी था। लेकिन क्या मल्टीमार्कडाउन के लिए लाइव पूर्वावलोकन है? क्या आप अपने सेटअप और डॉट फ़ाइलों को कुछ और विवरणों के साथ साझा करना चाहेंगे?
फाद

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

1
ऐसा लगता है कि यह दिलचस्प हो सकता है, हालांकि मुझे कम से कम अपने (मार्गर) उद्देश्यों के लिए इसे मार्कडाउन / एस्किडोक पर चुनने का कोई कारण नहीं दिखता है।
eff

8

मैं includes.txtअपनी सभी फाइलों के साथ सही क्रम में एक फाइल का उपयोग करता हूं जिसे मैं इस तरह से पंडोक निष्पादित करता हूं:

pandoc -s $(cat includes.txt) --quiet -f markdown -t html5 --css pandoc.css -o index.html

एक जादू की तरह काम करता है!


1
महान दृष्टिकोण । फ़ाइल ऑर्डर निर्दिष्ट करना मौलिक है, लेकिन यह globविधियों के साथ पूरा नहीं होता है जब तक कि आप फ़ाइलों की संख्या नहीं लेते हैं।
इफिथिथ

क्या आप चरणों की व्याख्या शामिल कर सकते हैं? इतना शक्तिशाली लगता है! मैं यह जानना चाहूंगा कि क्या अन्य रूपांतरण जैसे कि .pdf और .tex बनाने के लिए इसे ट्रिम करना संभव है।
निलोन

6

वास्तव में आप उपयोग कर सकते हैं \input{filename}और \include{filename}जो लेटेक्स कमांड हैं, सीधे में Pandoc, क्योंकि यह लगभग सभी htmlऔर latexसिंटैक्स का समर्थन करता है ।

लेकिन सावधान, शामिल फ़ाइल को latexफ़ाइल के रूप में माना जाएगा । लेकिन आप अपने संकलन कर सकते हैं markdownकरने के लिए latexके साथ Pandoxआसानी से।


6

Asciidoc ( http://www.methods.co.nz/asciidoc/ ) वास्तव में स्टेरॉयड पर एक मार्कडाउन है। कुल मिलाकर, Asciidoc और Markdown बहुत समान लगेगा और इसे स्विच करना आसान है। मार्कडाइस पर Asciidoc का एक बड़ा लाभ यह है कि यह अन्य Asciidoc फ़ाइलों के लिए, लेकिन यह भी आप की तरह किसी भी स्वरूप के लिए पहले से ही समर्थन करता है। तुम भी आंशिक रूप से लाइन नंबर या अपनी शामिल फ़ाइलों के अंदर टैग के आधार पर फ़ाइलें शामिल कर सकते हैं।

जब आप डॉक्स लिखते हैं तो अन्य फाइलें शामिल करना वास्तव में एक जीवन रक्षक है।

उदाहरण के लिए आपके पास ऐसी सामग्री के साथ एक asciidoc फ़ाइल हो सकती है:

// [source,perl]
// ----
// include::script.pl[]
// ----

और में अपना नमूना बनाए रखें script.pl

और मुझे यकीन है कि आप आश्चर्यचकित होंगे कि हाँ, गितुब भी एसाइसीडॉक का समर्थन करता है।


यहाँ एक अच्छा वादा लगता है लेकिन कैसे-कैसे चरणों के साथ एक पूर्ण उत्तर नहीं देता है। क्या यह संभव है कि मल्टी-फाइल डॉक्यूमेंट को एक में कैसे बदला जाए?
निलोन

यह इस पृष्ठ पर अब तक का सबसे अच्छा समाधान है। मैं इस नतीजे पर पहुंचा और रेडिट पर यहां मुद्दे को संबोधित किया । AsciiDoc में अंतर्निहित है और इसे GitHub द्वारा प्रस्तुत किया गया है। Atom और vscode दोनों में लाइव प्रीव्यू के लिए अच्छे प्लगइन्स हैं। मुझे आश्चर्य है कि AsciiDoc पहले से ही उद्योग मानक क्यों नहीं है!
फाद

4

मुझे लगता है कि हम बेहतर तरीके से एक नई फ़ाइल समावेशन सिंटैक्स अपनाते हैं (इसलिए कोड ब्लॉक के साथ गड़बड़ी नहीं होगी, मुझे लगता है कि सी स्टाइल समावेश पूरी तरह से गलत है), और मैंने पर्ल में एक छोटा सा उपकरण लिखा, नामकरण cat.pl, क्योंकि यह काम करता हैcat ( cat a.txt b.txt c.txtविलीन हो जाएगा) तीन फाइलें), लेकिन यह गहराई में नहीं, बल्कि गहराई में फाइलों को मिलाती है । कैसे इस्तेमाल करे?

$ perl cat.pl <your file>

विस्तार से वाक्य रचना है:

  • पुनरावर्ती में फ़ाइलें शामिल हैं: @include <-=path=
  • बस एक को शामिल करें: %include <-=path=

यह फ़ाइल समावेशन छोरों को ठीक से संभाल सकता है (यदि a.txt <- b.txt, b.txt <- axt, तो आप क्या उम्मीद करते हैं?)।

उदाहरण:

a.txt:

a.txt

    a <- b

    @include <-=b.txt=

a.end

b.txt:

b.txt

    b <- a

    @include <-=a.txt=

b.end

perl cat.pl a.txt > c.txt, c.txt:

a.txt

    a <- b

    b.txt

        b <- a

        a.txt

            a <- b

            @include <-=b.txt= (note:won't include, because it will lead to infinite loop.)

        a.end

    b.end

a.end

Https://github.com/district10/cat/blob/master/tutorial_cat.pl_.md पर अधिक उदाहरण ।

मैंने एक जावा संस्करण भी लिखा था जिसमें एक समान प्रभाव था (समान नहीं, लेकिन करीब)।


<<[include_file.md](MacOS पर 2 चिह्नित): gist.github.com/district10/d46a0e207d888d0526aef94fb8d8998c
dvorak4tzx 15

ध्यान दें, @का उपयोग उद्धरणों के लिए किया जाता है pandoc-citeproc(उदाहरण के लिए " @Darwin1859")।
प्लाज़्माबिन्टॉन्ग

4

मुझे वास्तव में आश्चर्य हुआ कि इस पृष्ठ के किसी भी HTML समाधान की पेशकश नहीं की गई है। जहां तक ​​मैंने समझा है कि मार्कडाउन फाइलें HTML टैग्स के व्यापक भाग (यदि सभी नहीं) शामिल कर सकती हैं। तो इन चरणों का पालन करें:

  1. से यहाँ : अपनी Markdown फ़ाइलें डाल <span style="display:block"> ... </span>सुनिश्चित करें कि वे markdown के रूप में प्रदान किया जाएगा टैग। आपके पास कई अन्य शैली गुण हैं जिन्हें आप जोड़ सकते हैं। मुझे जो पसंद है वह है text-align:justify

  2. से यहाँ : का उपयोग कर अपने मुख्य फ़ाइल में फ़ाइलों को शामिल करें<iframe src="/path/to/file.md" seamless></iframe>

PS1। यह समाधान सभी मार्कडाउन इंजन / रेंडरर्स पर काम नहीं करता है। उदाहरण के लिए, टाइपोरा ने फाइलों को सही ढंग से प्रस्तुत किया, लेकिन विजुअल स्टूडियो कोड ने नहीं किया। यह बहुत अच्छा होगा यदि अन्य अपना अनुभव अन्य प्लेटफार्मों के साथ साझा कर सकें। विशेष रूप से मैं GitHub और GitLab के बारे में सुनना चाहूंगा ...

पीएस 2। आगे की जांच में यह प्रतीत होता है कि कई असंगतताएँ हैं, जिसके कारण कई प्लेटफार्मों पर इसे ठीक से प्रस्तुत नहीं किया जा रहा है, जिसमें टाइपोरा, गिटहब और विज़ुअल स्टूडियो कोड शामिल हैं। कृपया इसका उपयोग तब तक न करें जब तक मैं उनका समाधान नहीं कर देता। मैं केवल चर्चा के लिए उत्तर को नहीं हटाऊंगा और यदि हो सकता है कि आप अपनी राय साझा कर सकें।

PS3। इस मुद्दे की और पड़ताल करने के लिए मैंने यह सवाल स्टैकऑवरफ्लो पर और यहां रेडिट पर पूछे हैं ।

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

PS5। अंतर्निहित कार्यक्षमता के साथ एक और हल्की मार्कअप भाषा है reStructuredText। यह .. include:: inclusion.txt मानक द्वारा वाक्य रचना के साथ आता है । नहीं है ReText संपादक और साथ ही लाइव पूर्वावलोकन के साथ।


1

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

---
header-includes:
- \usepackage{pdfpages}
output: pdf_document
---

\includepdf{/path/to/pdf/document.pdf}

# Section

Blah blah

## Section 

Blah blah

चूंकि आपके सभी दस्तावेजों को परिवर्तित करने के लिए लेटेक्स का उपयोग करते हुए पंडोक, header-includesअनुभाग पीडीएफपैप पैकेज को कॉल करता है। फिर जब आप \includepdf{/path/to/pdf/document.pdf}इसे शामिल करेंगे तो उस दस्तावेज़ में जो कुछ भी शामिल है वह सम्मिलित होगा। इसके अलावा, आप इस तरह से कई पीडीएफ फाइलें शामिल कर सकते हैं।

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

---
title: Something meaning full
author: Talking head
---

और दो addtional लेटेक्स फ़ाइल document1, जो इस तरह दिखता है:

\section{Section}

Profundity.

\subsection{Section}

Razor's edge.

और एक और, document2.tex, जो इस तरह दिखता है:

\section{Section

Glah

\subsection{Section}

Balh Balh

मान लें कि आप document1.tex और document2.tex को markdown1.md में शामिल करना चाहते हैं, तो आप बस markdown1.md पर ऐसा करेंगे।

---
title: Something meaning full
author: Talking head
---

\input{/path/to/document1}
\input{/path/to/document2}

इसके ऊपर पैंडो चलाएं, जैसे

टर्मिनल में pandoc markdown1.md -o markdown1.pdf

आपका अंतिम दस्तावेज कुछ इस तरह दिखाई देगा:

कुछ मतलब पूरा

बात हो रही है हेड की

अनुभाग

गहराई।

अनुभाग

रेज़र की धार।

अनुभाग

Glah

अनुभाग

बल्ह बल्ह


0

मैं मैक ओएस एक्स पर मार्क 2 का उपयोग करता हूं। यह अन्य फ़ाइलों को शामिल करने के लिए निम्नलिखित सिंटैक्स का समर्थन करता है।

<<[chapters/chapter1.md]
<<[chapters/chapter2.md]
<<[chapters/chapter3.md]
<<[chapters/chapter4.md]

अफसोस की बात है, आप इसे पैंडोक को नहीं खिला सकते क्योंकि यह वाक्य रचना को नहीं समझता है। हालाँकि, एक पंडोक कमांड लाइन बनाने के लिए सिंटैक्स को स्ट्रिप करने के लिए स्क्रिप्ट लिखना काफी आसान है।


7
क्या आपके पास स्क्रिप्ट को केवल कहने के बजाय ऐसा करना आसान होगा? :)
तोबुलकेह

0

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

<script src="/markdown-it.min.js"></script>
<script src="/jquery-3.5.1.min.js"></script>

<script> 
  $(function() {
    var mdit = window.markdownit();
    mdit.options.html=true;
    // Process all div elements of class include.  Follow up with custom callback
    $('div.include').each( function() {
      var inc = $(this);
      // Use contents between div tag as the file to be included from server
      var filename = inc.html();
      // Unable to intercept load() contents.  post-process markdown rendering with callback
      inc.load(filename, function () {
        inc.html( mdit.render(this.innerHTML) );
      });
  });
})
</script>
</head>

<body>
<h1>Master Document </h1>

<h1>Section 1</h1>
<div class="include">sec_1.md</div>
<hr/>
<h1>Section 2</h1>
<div class="include">sec_2.md</div>

-5

IMHO, आप अपना इनपुट * .md फ़ाइलों की तरह अपना परिणाम प्राप्त कर सकते हैं:

$ pandoc -s -o outputDoc.pdf inputDoc1.md inputDoc2.md outputDoc3.md
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.