تبدیل به زبانهای نشانهگذاری دیگر
وقتی یک سند را با مارکدون نوشتیم، حال میتوان آن را به وسیله پنداک به زبان های دیگر تبدیل کنیم. بهعنوان مثال، سند ساده زیر را در نظر بگیرید:
# This is a test document
Here is some text in the document.
- This is a list
- With two items
اگر این متن را در فایلی به نام input.md ذخیره کنیم، میتوانیم آن را با دستور زیر به یک فایل HTML به نام output.html تبدیل کنیم:
pandoc input.md -o output.html
یا آن را به فایل tex تبدیل کنیم:
pandoc input.md -o output.tex
استفاده از زبان فارسی نیازمند پیشنیازهایی است تا پنداک بتواند آن را بهدرستی تبدیل کند. توضیحات مربوط به این پیشنیازها در بخشهای بعدی ارائه خواهد شد. برای سادهتر شدن مفاهیم، توضیحات در این بخش با متن انگلیسی آورده شده است.
گزینه یا آپشن o- نام فایل خروجی را مشخص میکند. برای فایل ورودی (input.md) تنها کافی است نام فایل را بیاوریم. حتی میتوان چندین فایل ورودی را همزمان مشخص کرد. در این حالت، پنداک آنها را به ترتیب به هم متصل میکند و سپس پردازش انجام میدهد. بنابراین اگر بخواهید کتابی بسازید که هر فصل آن در یک فایل جدا نوشته شده باشد، کافی است همه فایلها را بهترتیب در خط فرمان بنویسید تا در خروجی پشت سر هم بیایند:
pandoc -s input1.md input2.md input3.md -o output.tex
با این حال میتوانیم فرمتها را بهطور صریح هم مشخص کنیم. گزینه from-- برای تعیین فرمت ورودی و to-- برای فرمت خروجی استفاده میشود. معمولاً به این کار نیاز ندارید، مگر زمانی که پسوندهای مشترک وجود داشته باشد. برای نمونه، هر دو فرمت EPUB و EPUB3 پسوند epub. دارند. در این شرایط باید فرمت را صریحاً مشخص کنید.
مثال:
pandoc --from markdown --to latex input.md -o output.tex
یا به شکل کوتاهتر:
pandoc -f markdown -t latex input.md -o output.tex
اگر خروجی شما LaTeX باشد و بخواهید یک سند کامل (شامل تمام بخشهای لازم مثل header یا preamble و body) داشته باشید، باید از گزینه standalone-- استفاده کنید.
اما برای فرمتهایی که بهطور پیشفرض باید یک سند کامل باشند—مثل PDF یا EPUB—پنداک خودش این کار را انجام میدهد و دیگر نیازی به این گزینه ندارید.
نکته دیگر این است که خروجیهایی مانند LaTeX یا HTML ممکن است در ظاهر کمی پیچیدهتر از متن همیشگی شوند. دلیلش این است که هر فرمت قوانین و ساختار مخصوص به خودش را دارد. شما لازم نیست نگران این موضوع باشید؛ پنداک تمام این پیچیدگیها را مدیریت میکند و شما فقط کافی است روی نوشتن متن تمرکز کنید.
برای مشاهده فهرست کامل فرمتهایی که پنداک بهعنوان ورودی و خروجی پشتیبانی میکند، میتوانید این دستورات را اجرا کنید:
pandoc --list-input-formats
pandoc --list-output-formats
گزینههای پرکاربرد (Options)
پنداک گزینههای زیادی برای سفارشیسازی تبدیلها دارد. چند نمونهی پرکاربرد عبارتند از:
| گزینه | توضیح |
|---|---|
--toc | افزودن فهرست مطالب (Table of Contents) |
--number-sections | شمارهگذاری خودکار عناوین بخشها |
-V geometry=margin=2.5cm | تنظیم حاشیه صفحه |
-V mainfont="Yas" | انتخاب فونت اصلی (در اینجا فونت فارسی) |
تبدیل به PDF
برای تبدیل به PDF، همان روش بالا را دنبال میکنیم، ولی پسوند خروجی را pdf. قرار دهیم:
pandoc input.md -o output.pdf
بهطور پیشفرض، پنداک برای تولید PDF از LaTeX استفاده میکند، بنابراین باید یک موتور LaTeX روی سیستم نصب باشد. با این حال، پنداک محدود به LaTeX نیست و میتواند از موتورهای دیگری مثل ConTeXt، roff یا حتی HTML بهعنوان واسط استفاده کند. برای انتخاب موتور دلخواه، از گزینه pdf-engine-- یا t- استفاده میکنیم:
pandoc --pdf-engine=context input.md -o output.pdf
pandoc -t context input.md -o output.pdf
pandoc -t html input.md -o output.pdf
جمعبندی
در زیر یک نمونه دستور آورده شده است که چند گزینه پرکاربرد را بهطور همزمان ترکیب میکند:
pandoc input.md -o output.pdf --pdf-engine=xelatex --toc --number-sections -V geometry=margin=2.5cm
هرچند امکان نوشتن همه گزینهها در خط فرمان وجود دارد، ولی وقتی تعدادشان زیاد میشود، دستورها طولانی و خواندن آنها دشوار میشود. در بخش بعدی روشی ارائه شده است که این مشکل را برطرف میکند.