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

تنظیمات از پیش تعیین شده

پنداک این امکان را به شما می‌دهد که تمام تنظیمات و گزینه‌هایی را که معمولاً در خط فرمان وارد می‌کنید، داخل یک فایل YAML ذخیره کنید. به این ترتیب، به جای نوشتن یک دستور طولانی و پر از گزینه، فقط کافی است در خط فرمان، فایل تنظیمات را معرفی کنید.

نکته

YAML (مخفف YAML Ain't Markup Language) یک فرمت متنی ساده و خوانا برای ذخیره‌سازی داده‌ها و پیکربندی‌هاست. در اینجا از YAML برای تعریف گزینه‌ها و پارامترهای پنداک استفاده می‌کنیم. فایل YAML ساختار ساده‌ای دارد و با فاصله‌ها و تورفتگی‌ها (indentation) گزینه‌ها و مقادیر را مشخص می‌کند.

به زبان ساده:

  1. یک فایل متنی با پسوند yaml. می‌سازید.
  2. داخل آن، گزینه‌ها و پارامترهای موردنظرتان برای پنداک را تعریف می‌کنید.
  3. سپس در خط فرمان به جای نوشتن همه گزینه‌ها، فقط می‌نویسید:
pandoc input.md -o output.pdf --defaults /path/to/file.yaml

در نهایت پنداک تمام تنظیمات داخل فایل YAML را به‌صورت خودکار اعمال می‌کند.

یک مثال ساده از فایل YAML:

pdf-engine: xelatex
toc: true
number-sections: true

variables:
  geometry: "a4paper, margin=2.5cm"
  mainfont: Yas
  fontsize: 12pt

حالا کافی است فقط بنویسید:

pandoc input.md -o output.pdf --defaults config.yaml

و همه گزینه‌ها به طور خودکار اعمال می‌شوند. این روش به‌ویژه وقتی دستور پنداک شما طولانی باشد یا گزینه‌های تکراری زیادی داشته باشید بسیار مفید است و کار را ساده‌تر می‌کند.

نمونه تنظیمات پیشنهادی برای زبان فارسی

گزینه های زیر یک نمونه‌ای ایده‌آل برای زبان فارسی می‌باشد:

pdf-engine: xelatex
top-level-division: chapter # part, section

variables:
  geometry: "a4paper, margin=1.3in"
  fontsize: 12pt
  header-includes:
    - \usepackage{hyperref}
    - \usepackage{xepersian}
    - \settextfont{XB Niloofar}
    - '\renewcommand{\labelitemi}{\tiny\textbullet}' # Set the size of bullet points to small

جدول زیر، هر کدام از گزینه‌های تعریف‌ شده در مثال بالا را توضیح می‌دهد:

گزینهتوضیح
pdf-engine: xelatex
موتور PDF برای پشتیبانی بهتر از فونت‌های فارسی
top-level-division: chapter
تعیین سطح اصلی تقسیم‌بندی سند (مثل فصل یا بخش)
geometry: "a4paper, margin=1.3in"
اندازه کاغذ و فاطله حاشیه‌ها
fontsize: 12pt
اندازه فونت متن
header-includes
پکیج‌ها و دستورات اضافه‌ای که قبل از شروع سند بارگذاری می‌شوند
\usepackage{hyperref}
فعال‌کردن لینک‌ها و ارجاعات
\usepackage{xepersian}
پشتیبانی کامل از متن فارسی
\settextfont{XB Niloofar}
تعیین فونت اصلی متن فارسی
\renewcommand{\labelitemi}{\tiny\textbullet}
کوچک کردن علامت‌های گلوله‌ای در لیست‌ها

ترکیب زبان‌های مارک‌آپ

پیش‌تر توضیح داده شد که پنداک ابتدا فایل ورودی را به یک زبان میانی تبدیل می‌کند. این یعنی شما می‌توانید در یک فایل واحد، ترکیبی از چند زبان نشانه‌گذاری (Markup) مثل Markdown، LaTeX و HTML داشته باشید. پنداک همه آن‌ها را به درخت نحو انتزاعی (AST) تبدیل کرده و سپس خروجی نهایی را به‌درستی تولید می‌کند.

به عنوان مثال، یک فایل ورودی شامل Markdown، LaTeX و HTML میتواند به شکل زیر باشد:

بخش LaTeX

برای تعریف مشخصات سند (عنوان، نویسنده، تاریخ) و همچنین برای نوشتن فرمول‌های ریاضی یا محتوای پیشرفته که Markdown پشتیبانی محدودی از آن‌ها دارد:

\title{نام اثر}
\author{محمدرضا روستا}
\date{}
\maketitle


The area of a circle is $A = \pi r^2$.

$$
f(x) = \int_{0}^{\infty} e^{-t^2} dt
$$

بخش مارک‌دون

برای نوشتن متن‌های ساده‌تر، سریع و روان:

## بخش اول

متن نوشته شده با مارک‌دون

- لیست با آیتم شماره ۱
- لیست با آیتم شماره ۲

کلمات با **تأکید** و ~~خط‌خوردگی~~

بخش HTML

برای پوشش محدودیت‌های مارک‌دون، مانند لاتک میتوان می‌توان از تگ‌های html هم استفاده کرد. به‌عنوان مثال برای مرکزچین کردن متن یا جدول:

<div align="center">

| ستون اول | ستون دوم |
|----------|----------|
| مورد اول | مورد دوم |
| مورد سوم | مورد چهارم |

</div>

به این ترتیب، می‌توانید در یک فایل واحد: از Markdown برای متن اصلی، از LaTeX برای فرمول‌ها و از HTML برای قالب‌بندی‌های خاص استفاده کنید. پنداک همه را یکجا پردازش کرده و خروجی نهایی را بدون مشکل تولید می‌کند.