Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

تبدیل به زبان‌های نشانه‌گذاری دیگر

وقتی یک سند را با مارک‌دون نوشتیم، حال میتوان آن را به وسیله پنداک به زبان های دیگر تبدیل کنیم. به‌عنوان مثال، سند ساده زیر را در نظر بگیرید:

# 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

هرچند امکان نوشتن همه گزینه‌ها در خط فرمان وجود دارد، ولی وقتی تعدادشان زیاد می‌شود، دستورها طولانی و خواندن آنها دشوار می‌شود. در بخش بعدی روشی ارائه شده است که این مشکل را برطرف می‌کند.