.\" Automatically generated by Pandoc 3.10.2 .\" .TH "pandoc" "1" "2026\-08\-11" "pandoc 3.10.2" "راهنمای کاربر Pandoc" .SH "نام (NAME)" pandoc \- تبدیل‌کننده عمومی زبان‌های نشانه‌گذاری .SH "خلاصه دستور (SYNOPSIS)" \f[CR]pandoc\f[R] [\f[I]options\f[R]] [\f[I]input\-file\f[R]]\&... .SH "توضیحات (DESCRIPTION)" برنامهٔ Pandoc یک کتابخانهٔ Haskell برای تبدیل یک قالب نشانه‌گذاری به قالبی دیگر، و یک ابزار خط فرمانی است که از این کتابخانه استفاده می‌کند. .PP ‏Pandoc می‌تواند میان قالب‌های متعددی از نشانه‌گذاری و واژه‌پردازی تبدیل انجام دهد، از جمله و نه‌محدود به، گونه‌های مختلف Markdown، HTML، LaTeX و Word docx. برای فهرست کامل قالب‌های ورودی و خروجی، گزینه‌های \f[CR]\-\-from\f[R] و \f[CR]\-\-to\f[R] را در زیر ببینید. همچنین Pandoc می‌تواند خروجی PDF تولید کند: بخش «ساخت PDF» در زیر را ببینید. .PP نسخهٔ ارتقایافتهٔ Markdown در Pandoc شامل ساختار دستوری برای جدول‌ها، فهرست‌های تعاریف، بلوک‌های فراداده، پاورقی‌ها، ارجاعات، عبارات ریاضی و موارد بسیار بیشتری است. بخش «Markdown در Pandoc» را در زیر ببینید. .PP ‏Pandoc طراحی مدولار دارد: از مجموعه‌ای از خواننده‌ها (readers) تشکیل شده است که متن را در یک قالب مشخص تجزیه کرده و یک نمایش بومی از سند (یک \f[I]abstract syntax tree\f[R] یا AST) تولید می‌کنند، و مجموعه‌ای از نویسنده‌ها (writers) که این نمایش بومی را به قالب هدف تبدیل می‌کنند. بنابراین، افزودن یک قالب ورودی یا خروجی تنها مستلزم اضافه کردن یک reader یا writer است. کاربران همچنین می‌توانند فیلترهای سفارشی pandoc را برای تغییر دادن AST میانی اجرا کنند. .PP از آن‌جا که نمایش میانی یک سند در pandoc نسبت به بسیاری از قالب‌هایی که میانشان تبدیل انجام می‌دهد قدرت بیان کمتری دارد، نباید انتظار تبدیل بی‌نقص میان هر قالبی با قالب دیگر را داشت. ‏Pandoc تلاش می‌کند عناصر ساختاری یک سند را حفظ کند، اما جزئیات قالب‌بندی نظیر اندازهٔ حاشیه را حفظ نمی‌کند. همچنین برخی از عناصر سند، مانند جدول‌های پیچیده، ممکن است در مدل سادهٔ سند در pandoc نگنجند. در حالی که تبدیل از نسخهٔ Markdown در pandoc به تمام قالب‌ها هدفش بی‌نقص بودن است، می‌توان انتظار داشت تبدیل از قالب‌هایی با قدرت بیان بیشتر از Markdown در pandoc همراه با افت داده یا جزئیات (lossy) باشد. .SS استفاده از pandoc اگر هیچ \f[I]input\-files\f[R] مشخص نشده باشد، ورودی از \f[I]stdin\f[R] خوانده می‌شود. خروجی به‌طور پیش‌فرض به \f[I]stdout\f[R] هدایت می‌شود. برای نوشتن خروجی در یک فایل، از گزینهٔ \f[CR]\-o\f[R]/\f[CR]\-\-output\f[R] استفاده کنید: .IP .EX pandoc \-o output.html input.txt .EE .PP به‌طور پیش‌فرض، pandoc یک قطعه‌سند (fragment) تولید می‌کند. برای تولید یک سند کامل و مستقل (برای نمونه، یک فایل معتبر HTML شامل \f[CR]\f[R] و \f[CR]\f[R])، از پرچم \f[CR]\-s\f[R] یا \f[CR]\-\-standalone\f[R] استفاده کنید: .IP .EX pandoc \-s \-o output.html input.txt .EE .PP برای اطلاعات بیشتر در مورد چگونگی تولید اسناد مستقل، بخش «الگوها (Templates)» در زیر را ببینید. .PP اگر چندین فایل ورودی داده شود، pandoc پیش از تجزیه، همهٔ آن‌ها را (با خطوط خالی میانشان) به هم پیوند می‌دهد. (از \f[CR]\-\-file\-scope\f[R] برای تجزیهٔ فایل‌ها به‌صورت جداگانه استفاده کنید.) .SS مشخص کردن قالب‌ها قالب ورودی و خروجی را می‌توان با استفاده از گزینه‌های خط فرمان به‌طور صریح مشخص کرد. قالب ورودی را می‌توان با گزینهٔ \f[CR]\-f/\-\-from\f[R] و قالب خروجی را با گزینهٔ \f[CR]\-t/\-\-to\f[R] تعیین کرد. بنابراین، برای تبدیل \f[CR]hello.txt\f[R] از Markdown به LaTeX، می‌توانید دستور زیر را وارد کنید: .IP .EX pandoc \-f markdown \-t latex hello.txt .EE .PP برای تبدیل \f[CR]hello.html\f[R] از HTML به Markdown: .IP .EX pandoc \-f html \-t markdown hello.html .EE .PP قالب‌های ورودی و خروجی پشتیبانی‌شده در زیر در بخش «گزینه‌ها» فهرست شده‌اند (برای قالب‌های ورودی به \f[CR]\-f\f[R] و برای قالب‌های خروجی به \f[CR]\-t\f[R] مراجعه کنید). همچنین می‌توانید از \f[CR]pandoc \-\-list\-input\-formats\f[R] و \f[CR]pandoc \-\-list\-output\-formats\f[R] برای چاپ فهرست قالب‌های پشتیبانی‌شده استفاده کنید. .PP اگر قالب ورودی یا خروجی به‌طور صریح مشخص نشود، pandoc تلاش خواهد کرد آن را از روی پسوند نام فایل‌ها حدس بزند. بنابراین، برای نمونه، .IP .EX pandoc \-o hello.tex hello.txt .EE .PP فایل \f[CR]hello.txt\f[R] را از Markdown به LaTeX تبدیل می‌کند. اگر هیچ فایل خروجی‌ای مشخص نشود (به‌طوری که خروجی به \f[I]stdout\f[R] برود)، یا اگر پسوند فایل خروجی ناشناخته باشد، قالب خروجی به‌طور پیش‌فرض HTML خواهد بود. اگر هیچ فایل ورودی‌ای مشخص نشود (به‌طوری که ورودی از \f[I]stdin\f[R] بیاید)، یا اگر پسوندهای فایل‌های ورودی ناشناخته باشند، قالب ورودی Markdown در نظر گرفته خواهد شد. .SS کدگذاری نویسه‌ها برنامهٔ Pandoc از کدگذاری نویسه‌ای UTF\-8 برای هر دو ورودی و خروجی استفاده می‌کند. اگر کدگذاری نویسه‌ای محلی شما UTF\-8 نیست، باید ورودی و خروجی را از طریق \f[CR]iconv\f[R] لوله‌کشی کنید: .IP .EX iconv \-t utf\-8 input.txt | pandoc | iconv \-f utf\-8 .EE .PP توجه داشته باشید که در برخی قالب‌های خروجی (مانند HTML، LaTeX، ConTeXt، RTF، OPML، DocBook، و Texinfo)، اطلاعات مربوط به کدگذاری نویسه‌ها در سرآیند سند گنجانده می‌شود که این اطلاعات تنها در صورت استفاده از گزینهٔ \f[CR]\-s/\-\-standalone\f[R] قرار خواهند گرفت. .SS ساخت PDF برای تولید یک PDF، فایلی با پسوند \f[CR].pdf\f[R] را به عنوان خروجی مشخص کنید: .IP .EX pandoc test.txt \-o test.pdf .EE .PP به‌طور پیش‌فرض، pandoc از LaTeX برای ایجاد PDF استفاده می‌کند که مستلزم نصب بودن یک موتور LaTeX است (به \f[CR]\-\-pdf\-engine\f[R] در زیر مراجعه کنید). از سوی دیگر، pandoc می‌تواند از ConTeXt، roff ms یا HTML به عنوان یک قالب میانی استفاده کند. برای این کار، مانند قبل یک فایل خروجی با پسوند \f[CR].pdf\f[R] مشخص کنید، اما گزینهٔ \f[CR]\-\-pdf\-engine\f[R] یا \f[CR]\-t context\f[R]، \f[CR]\-t html\f[R]، یا \f[CR]\-t ms\f[R] را به خط فرمان اضافه کنید. ابزاری که برای تولید PDF از قالب میانی استفاده می‌شود را می‌توان با استفاده از \f[CR]\-\-pdf\-engine\f[R] تعیین کرد. .PP بسته به قالب میانیِ استفاده‌شده، می‌توانید سبک PDF را با متغیرها کنترل کنید: بخش‌های متغیرها برای LaTeX، متغیرها برای ConTeXt، متغیرها برای \f[CR]wkhtmltopdf\f[R]، و متغیرها برای ms را ببینید. هنگامی که HTML به عنوان قالب میانی استفاده می‌شود، می‌توان خروجی را با استفاده از \f[CR]\-\-css\f[R] سبک‌دهی کرد. .PP برای اشکال‌زدایی در فرایند ساخت PDF، بررسی نمایش میانی می‌تواند مفید باشد: به جای \f[CR]\-o test.pdf\f[R]، برای نمونه از \f[CR]\-s \-o test.tex\f[R] برای خروجی دادن LaTeX تولیدشده استفاده کنید. سپس می‌توانید آن را با \f[CR]pdflatex test.tex\f[R] بیازمایید. .PP هنگام استفاده از LaTeX، بسته‌های زیر باید در دسترس باشند (آن‌ها در تمامی نسخه‌های اخیر TeX Live گنجانده شده‌اند): \f[CR]amsfonts\f[R]، \f[CR]amsmath\f[R]، \f[CR]lm\f[R]، \f[CR]unicode\-math\f[R]، \f[CR]iftex\f[R]، \f[CR]listings\f[R] (اگر از گزینهٔ \f[CR]\-\-listings\f[R] استفاده شود)، \f[CR]fancyvrb\f[R]، \f[CR]longtable\f[R]، \f[CR]caption\f[R]، \f[CR]booktabs\f[R]، \f[CR]multirow\f[R] (اگر سند حاوی جدولی با سلول‌هایی باشد که چندین سطر را در بر می‌گیرند)، \f[CR]graphicx\f[R] (اگر سند حاوی تصاویر باشد)، \f[CR]bookmark\f[R]، \f[CR]xcolor\f[R]، \f[CR]soul\f[R]، \f[CR]geometry\f[R] (با تنظیم متغیر \f[CR]geometry\f[R])، \f[CR]setspace\f[R] (با \f[CR]linestretch\f[R])، و \f[CR]babel\f[R] (با \f[CR]lang\f[R]). اگر \f[CR]CJKmainfont\f[R] تنظیم شده باشد، در صورت استفاده از \f[CR]xelatex\f[R] به \f[CR]xeCJK\f[R] نیاز است؛ در غیر این صورت اگر از \f[CR]lualatex\f[R] استفاده شود به \f[CR]luatexja\f[R] نیاز خواهد بود. اگر کدها در طرحی برجسته‌سازی شوند که از پس‌زمینهٔ رنگی استفاده می‌کند، بستهٔ \f[CR]framed\f[R] مورد نیاز است. استفاده از \f[CR]xelatex\f[R] یا \f[CR]lualatex\f[R] به عنوان موتور PDF، نیازمند \f[CR]fontspec\f[R] است. ‏\f[CR]lualatex\f[R] از \f[CR]selnolig\f[R] و \f[CR]lua\-ul\f[R] استفاده می‌کند. ‏\f[CR]xelatex\f[R] از \f[CR]bidi\f[R] (با تنظیم متغیر \f[CR]dir\f[R]) استفاده می‌کند. اگر متغیر \f[CR]mathspec\f[R] تنظیم شده باشد، \f[CR]xelatex\f[R] به جای \f[CR]unicode\-math\f[R] از \f[CR]mathspec\f[R] استفاده خواهد کرد. اگر متغیر یا فیلد فرادادهٔ \f[CR]csquotes\f[R] روی یک مقدار درست (true) تنظیم شده باشد، بستهٔ \f[CR]csquotes\f[R] برای تایپوگرافی استفاده خواهد شد. بسته‌های \f[CR]natbib\f[R]، \f[CR]biblatex\f[R]، \f[CR]bibtex\f[R]، و \f[CR]biber\f[R] می‌توانند به‌صورت اختیاری برای رندر کردن ارجاعات استفاده شوند. اگر ریاضیات با \f[CR]\(rscancel\f[R]، \f[CR]\(rsbcancel\f[R]، یا \f[CR]\(rsxcancel\f[R] استفاده شده باشد، بستهٔ \f[CR]cancel\f[R] مورد نیاز است. بسته‌های زیر در صورت موجود بودن، برای بهبود کیفیت خروجی استفاده خواهند شد، اما وجود آن‌ها توسط pandoc الزامی نیست: \f[CR]upquote\f[R] (برای نقل‌قول‌های مستقیم در محیط‌های verbatim)، \f[CR]microtype\f[R] (برای تنظیم بهتر فاصله‌گذاری)، \f[CR]parskip\f[R] (برای فواصل بهتر میان‌پاراگرافی)، \f[CR]xurl\f[R] (برای شکست خطوط بهتر در نشانی‌های اینترنتی)، و \f[CR]footnotehyper\f[R] یا \f[CR]footnote\f[R] (برای امکان‌پذیر کردن پاورقی‌ها در جدول‌ها)..SS خواندن از وب (Reading from the Web) به‌جای یک فایل ورودی، می‌توان یک URI مطلق ارائه داد. در این حالت pandoc محتوا را با استفاده از HTTP واکشی خواهد کرد: .IP .EX pandoc \-f html \-t markdown https://www.fsf.org .EE .PP هنگام درخواست سند از یک URL، ارسال یک رشته سفارشی User\-Agent یا دیگر سرآیندها امکان‌پذیر است: .IP .EX pandoc \-f html \-t markdown \-\-request\-header User\-Agent:\(dqMozilla/5.0\(dq \(rs https://www.fsf.org .EE .SH "گزینه‌ها (OPTIONS)" .SS گزینه‌های عمومی (General options) .TP \f[CR]\-f\f[R] \f[I]FORMAT\f[R], \f[CR]\-r\f[R] \f[I]FORMAT\f[R], \f[CR]\-\-from=\f[R]\f[I]FORMAT\f[R], \f[CR]\-\-read=\f[R]\f[I]FORMAT\f[R] قالب ورودی را مشخص می‌کند. \f[I]FORMAT\f[R] می‌تواند یکی از موارد زیر باشد: .RS .IP \(bu 2 \f[CR]asciidoc\f[R] (نشانه‌گذاری AsciiDoc) .IP \(bu 2 \f[CR]bibtex\f[R] (کتاب‌شناسی BibTeX) .IP \(bu 2 \f[CR]biblatex\f[R] (کتاب‌شناسی BibLaTeX) .IP \(bu 2 \f[CR]bits\f[R] (BITS XML، نام مستعار برای \f[CR]jats\f[R]) .IP \(bu 2 \f[CR]commonmark\f[R] (مارک‌داون CommonMark) .IP \(bu 2 \f[CR]commonmark_x\f[R] (مارک‌داون CommonMark به‌همراه افزونه‌ها) .IP \(bu 2 \f[CR]creole\f[R] (Creole 1.0) .IP \(bu 2 \f[CR]csljson\f[R] (کتاب‌شناسی CSL JSON) .IP \(bu 2 \f[CR]csv\f[R] (جدول CSV) .IP \(bu 2 \f[CR]tsv\f[R] (جدول TSV) .IP \(bu 2 \f[CR]djot\f[R] (نشانه‌گذاری Djot) .IP \(bu 2 \f[CR]docbook\f[R] (DocBook) .IP \(bu 2 \f[CR]docx\f[R] (Word docx) .IP \(bu 2 \f[CR]dokuwiki\f[R] (نشانه‌گذاری DokuWiki) .IP \(bu 2 \f[CR]endnotexml\f[R] (کتاب‌شناسی EndNote XML) .IP \(bu 2 \f[CR]epub\f[R] (EPUB) .IP \(bu 2 \f[CR]fb2\f[R] (کتاب الکترونیکی FictionBook2) .IP \(bu 2 \f[CR]gfm\f[R] (مارک‌داون اختصاصی گیت‌هاب \- GitHub\-Flavored Markdown)، یا نگارش منسوخ و با دقت کمتر \f[CR]markdown_github\f[R]؛ تنها زمانی از \f[CR]markdown_github\f[R] استفاده کنید که به افزونه‌هایی نیاز دارید که در \f[CR]gfm\f[R] پشتیبانی نمی‌شوند. .IP \(bu 2 \f[CR]haddock\f[R] (نشانه‌گذاری Haddock) .IP \(bu 2 \f[CR]html\f[R] (HTML) .IP \(bu 2 \f[CR]ipynb\f[R] (دفترچه Jupyter) .IP \(bu 2 \f[CR]jats\f[R] (JATS XML) .IP \(bu 2 \f[CR]jira\f[R] (نشانه‌گذاری ویکی Jira/Confluence) .IP \(bu 2 \f[CR]json\f[R] (نسخه JSON از AST بومی) .IP \(bu 2 \f[CR]latex\f[R] (LaTeX) .IP \(bu 2 \f[CR]markdown\f[R] (مارک‌داون Pandoc) .IP \(bu 2 \f[CR]markdown_mmd\f[R] (MultiMarkdown) .IP \(bu 2 \f[CR]markdown_phpextra\f[R] (PHP Markdown Extra) .IP \(bu 2 \f[CR]markdown_strict\f[R] (مارک‌داون اصلیِ بدون افزونه) .IP \(bu 2 \f[CR]mediawiki\f[R] (نشانه‌گذاری MediaWiki) .IP \(bu 2 \f[CR]man\f[R] (roff man) .IP \(bu 2 \f[CR]mdoc\f[R] (نشانه‌گذاری صفحه راهنمای mdoc) .IP \(bu 2 \f[CR]muse\f[R] (Muse) .IP \(bu 2 \f[CR]native\f[R] (Haskell بومی) .IP \(bu 2 \f[CR]odt\f[R] (سند متنی OpenDocument) .IP \(bu 2 \f[CR]opml\f[R] (OPML) .IP \(bu 2 \f[CR]org\f[R] (حالت Emacs Org) .IP \(bu 2 \f[CR]pod\f[R] (Plain Old Documentation متعلق به Perl) .IP \(bu 2 \f[CR]pptx\f[R] (PowerPoint) .IP \(bu 2 \f[CR]ris\f[R] (کتاب‌شناسی RIS) .IP \(bu 2 \f[CR]rtf\f[R] (Rich Text Format) .IP \(bu 2 \f[CR]rst\f[R] (reStructuredText) .IP \(bu 2 \f[CR]t2t\f[R] (txt2tags) .IP \(bu 2 \f[CR]textile\f[R] (Textile) .IP \(bu 2 \f[CR]tikiwiki\f[R] (نشانه‌گذاری TikiWiki) .IP \(bu 2 \f[CR]twiki\f[R] (نشانه‌گذاری TWiki) .IP \(bu 2 \f[CR]typst\f[R] (typst) .IP \(bu 2 \f[CR]vimwiki\f[R] (Vimwiki) .IP \(bu 2 \f[CR]xlsx\f[R] (صفحه‌گسترده Excel) .IP \(bu 2 \f[CR]xml\f[R] (نسخه XML از AST بومی) .IP \(bu 2 مسیر یک خواننده سفارشی Lua؛ بخش «خواننده‌ها و نویسنده‌های سفارشی» در ادامه را ببینید .PP افزونه‌ها می‌توانند با افزودن \f[CR]+EXTENSION\f[R] یا \f[CR]\-EXTENSION\f[R] به انتهای نام قالب، به‌صورت جداگانه فعال یا غیرفعال شوند. برای فهرستی از افزونه‌ها و نام‌های آن‌ها، بخش «افزونه‌ها» در ادامه را ببینید. همچنین گزینه‌های \f[CR]\-\-list\-input\-formats\f[R] و \f[CR]\-\-list\-extensions\f[R] در ادامه را بررسی کنید. .RE .TP \f[CR]\-t\f[R] \f[I]FORMAT\f[R], \f[CR]\-w\f[R] \f[I]FORMAT\f[R], \f[CR]\-\-to=\f[R]\f[I]FORMAT\f[R], \f[CR]\-\-write=\f[R]\f[I]FORMAT\f[R] قالب خروجی را مشخص می‌کند. \f[I]FORMAT\f[R] می‌تواند یکی از موارد زیر باشد: .RS .IP \(bu 2 \f[CR]ansi\f[R] (متن حاوی کدهای گریز ANSI، جهت نمایش در ترمینال) .IP \(bu 2 \f[CR]asciidoc\f[R] (نگارش نوین AsciiDoc بر اساس تفسیر Asciidoctor) .IP \(bu 2 \f[CR]asciidoc_legacy\f[R] (AsciiDoc بر اساس تفسیر \f[CR]asciidoc\-py\f[R]). .IP \(bu 2 \f[CR]asciidoctor\f[R] (مترادف منسوخ‌شده برای \f[CR]asciidoc\f[R]) .IP \(bu 2 \f[CR]bbcode\f[R] BBCode .IP \(bu 2 \f[CR]bbcode_fluxbb\f[R] BBCode (FluxBB) .IP \(bu 2 \f[CR]bbcode_phpbb\f[R] BBCode (phpBB) .IP \(bu 2 \f[CR]bbcode_steam\f[R] BBCode (Steam) .IP \(bu 2 \f[CR]bbcode_hubzilla\f[R] BBCode (Hubzilla) .IP \(bu 2 \f[CR]bbcode_xenforo\f[R] BBCode (xenForo) .IP \(bu 2 \f[CR]beamer\f[R] (اسلایدشوی نمایشی LaTeX beamer) .IP \(bu 2 \f[CR]bibtex\f[R] (کتاب‌شناسی BibTeX) .IP \(bu 2 \f[CR]biblatex\f[R] (کتاب‌شناسی BibLaTeX) .IP \(bu 2 \f[CR]chunkedhtml\f[R] (آرشیو zip حاوی چندین فایل HTML پیوندیافته) .IP \(bu 2 \f[CR]commonmark\f[R] (مارک‌داون CommonMark) .IP \(bu 2 \f[CR]commonmark_x\f[R] (مارک‌داون CommonMark به‌همراه افزونه‌ها) .IP \(bu 2 \f[CR]context\f[R] (ConTeXt) .IP \(bu 2 \f[CR]csljson\f[R] (کتاب‌شناسی CSL JSON) .IP \(bu 2 \f[CR]djot\f[R] (نشانه‌گذاری Djot) .IP \(bu 2 \f[CR]docbook\f[R] یا \f[CR]docbook4\f[R] (DocBook 4) .IP \(bu 2 \f[CR]docbook5\f[R] (DocBook 5) .IP \(bu 2 \f[CR]docx\f[R] (Word docx) .IP \(bu 2 \f[CR]dokuwiki\f[R] (نشانه‌گذاری DokuWiki) .IP \(bu 2 \f[CR]epub\f[R] یا \f[CR]epub3\f[R] (کتاب EPUB v3) .IP \(bu 2 \f[CR]epub2\f[R] (EPUB v2) .IP \(bu 2 \f[CR]fb2\f[R] (کتاب الکترونیکی FictionBook2) .IP \(bu 2 \f[CR]gfm\f[R] (مارک‌داون اختصاصی گیت‌هاب \- GitHub\-Flavored Markdown)، یا نگارش منسوخ و با دقت کمتر \f[CR]markdown_github\f[R]؛ تنها زمانی از \f[CR]markdown_github\f[R] استفاده کنید که به افزونه‌هایی نیاز دارید که در \f[CR]gfm\f[R] پشتیبانی نمی‌شوند. .IP \(bu 2 \f[CR]haddock\f[R] (نشانه‌گذاری Haddock) .IP \(bu 2 \f[CR]html\f[R] یا \f[CR]html5\f[R] (HTML، یعنی نشانه‌گذاری چندزبانه HTML5/XHTML).IP \(bu 2 \f[CR]html4\f[R] (XHTML 1.0 Transitional) .IP \(bu 2 \f[CR]icml\f[R] (InDesign ICML) .IP \(bu 2 \f[CR]ipynb\f[R] (دفترچه یادداشت Jupyter) .IP \(bu 2 \f[CR]jats_archiving\f[R] (JATS XML، مجموعه برچسب‌های بایگانی و تبادل) .IP \(bu 2 \f[CR]jats_articleauthoring\f[R] (JATS XML، مجموعه برچسب‌های نگارش مقاله) .IP \(bu 2 \f[CR]jats_publishing\f[R] (JATS XML، مجموعه برچسب‌های انتشار نشریه) .IP \(bu 2 \f[CR]jats\f[R] (نام مستعار برای \f[CR]jats_archiving\f[R]) .IP \(bu 2 \f[CR]jira\f[R] (نشانه‌گذاری ویکی Jira/Confluence) .IP \(bu 2 \f[CR]json\f[R] (نسخه JSON از AST بومی) .IP \(bu 2 \f[CR]latex\f[R] (LaTeX) .IP \(bu 2 \f[CR]man\f[R] (roff man) .IP \(bu 2 \f[CR]markdown\f[R] (مارک‌داون pandoc) .IP \(bu 2 \f[CR]markdown_mmd\f[R] (MultiMarkdown) .IP \(bu 2 \f[CR]markdown_phpextra\f[R] (PHP Markdown Extra) .IP \(bu 2 \f[CR]markdown_strict\f[R] (مارک‌داون اولیه و بدون افزونه) .IP \(bu 2 \f[CR]markua\f[R] (Markua) .IP \(bu 2 \f[CR]mediawiki\f[R] (نشانه‌گذاری MediaWiki) .IP \(bu 2 \f[CR]ms\f[R] (roff ms) .IP \(bu 2 \f[CR]muse\f[R] (Muse) .IP \(bu 2 \f[CR]native\f[R] (Haskell بومی) .IP \(bu 2 \f[CR]odt\f[R] (سند متنی OpenDocument) .IP \(bu 2 \f[CR]opml\f[R] (OPML) .IP \(bu 2 \f[CR]opendocument\f[R] (OpenDocument XML) .IP \(bu 2 \f[CR]org\f[R] (حالت Emacs Org) .IP \(bu 2 \f[CR]pdf\f[R] (PDF) .IP \(bu 2 \f[CR]plain\f[R] (متن ساده) .IP \(bu 2 \f[CR]pptx\f[R] (اسلایدشوی PowerPoint) .IP \(bu 2 \f[CR]rst\f[R] (reStructuredText) .IP \(bu 2 \f[CR]rtf\f[R] (Rich Text Format) .IP \(bu 2 \f[CR]texinfo\f[R] (GNU Texinfo) .IP \(bu 2 \f[CR]textile\f[R] (Textile) .IP \(bu 2 \f[CR]t2t\f[R] (txt2tags) .IP \(bu 2 \f[CR]slideous\f[R] (اسلایدشوی HTML و JavaScript موسوم به Slideous) .IP \(bu 2 \f[CR]slidy\f[R] (اسلایدشوی HTML و JavaScript موسوم به Slidy) .IP \(bu 2 \f[CR]dzslides\f[R] (اسلایدشوی HTML5 + JavaScript موسوم به DZSlides) .IP \(bu 2 \f[CR]revealjs\f[R] (اسلایدشوی HTML5 + JavaScript موسوم به reveal.js) .IP \(bu 2 \f[CR]s5\f[R] (اسلایدشوی HTML و JavaScript موسوم به S5) .IP \(bu 2 \f[CR]tei\f[R] (TEI Simple) .IP \(bu 2 \f[CR]typst\f[R] (typst) .IP \(bu 2 \f[CR]vimdoc\f[R] (Vimdoc) .IP \(bu 2 \f[CR]xml\f[R] (نسخه XML از AST بومی) .IP \(bu 2 \f[CR]xwiki\f[R] (نشانه‌گذاری XWiki) .IP \(bu 2 \f[CR]zimwiki\f[R] (نشانه‌گذاری ZimWiki) .IP \(bu 2 مسیر یک writer سفارشی Lua؛ بخش «Custom readers and writers» در زیر را ببینید .PP توجه داشته باشید که خروجی‌های \f[CR]odt\f[R]، \f[CR]docx\f[R]، \f[CR]epub\f[R] و \f[CR]pdf\f[R] به \f[I]stdout\f[R] هدایت نخواهند شد مگر اینکه با \f[CR]\-o \-\f[R] اجبار شوند. .PP افزونه‌ها می‌توانند با پیوست کردن \f[CR]+EXTENSION\f[R] یا \f[CR]\-EXTENSION\f[R] به نام قالب، به‌صورت جداگانه فعال یا غیرفعال شوند. برای فهرستی از افزونه‌ها و نام‌های آن‌ها، بخش Extensions در زیر را ببینید. همچنین بخش‌های \f[CR]\-\-list\-output\-formats\f[R] و \f[CR]\-\-list\-extensions\f[R] در زیر را ببینید. .RE .TP \f[CR]\-o\f[R] \f[I]FILE\f[R], \f[CR]\-\-output=\f[R]\f[I]FILE\f[R] نوشتن خروجی در \f[I]FILE\f[R] به‌جای \f[I]stdout\f[R]. اگر \f[I]FILE\f[R] برابر با \f[CR]\-\f[R] باشد، خروجی به \f[I]stdout\f[R] ارسال خواهد شد، حتی اگر یک قالب غیرمتنی (\f[CR]docx\f[R]، \f[CR]odt\f[R]، \f[CR]epub2\f[R]، \f[CR]epub3\f[R]) مشخص شده باشد. اگر قالب خروجی \f[CR]chunkedhtml\f[R] باشد و \f[I]FILE\f[R] پسوند نداشته باشد، آنگاه pandoc به‌جای تولید یک فایل \f[CR].zip\f[R]، دایرکتوری \f[I]FILE\f[R] را ایجاد کرده و محتوای بایگانی zip را در آنجا استخراج می‌کند (مگر اینکه \f[I]FILE\f[R] از قبل وجود داشته باشد، که در این حالت یک خطا رخ خواهد داد). .TP \f[CR]\-\-data\-dir=\f[R]\f[I]DIRECTORY\f[R] مشخص کردن دایرکتوری داده‌های کاربر برای جستجوی فایل‌های داده pandoc. اگر این گزینه مشخص نشود، دایرکتوری پیش‌فرض داده‌های کاربر استفاده خواهد شد. در سیستم‌های *nix و macOS این مسیر زیردایرکتوری \f[CR]pandoc\f[R] از دایرکتوری داده XDG خواهد بود (به‌طور پیش‌فرض، \f[CR]$HOME/.local/share\f[R]، که با تنظیم متغیر محیطی \f[CR]XDG_DATA_HOME\f[R] قابل لغو است). اگر آن دایرکتوری وجود نداشته باشد و \f[CR]$HOME/.pandoc\f[R] موجود باشد، از آن استفاده خواهد شد (برای سازگاری با نسخه‌های پیشین). در ویندوز دایرکتوری پیش‌فرض داده‌های کاربر \f[CR]%APPDATA%\(rspandoc\f[R] است. شما می‌توانید دایرکتوری پیش‌فرض داده‌های کاربر در سیستم خود را با نگاه کردن به خروجی دستور \f[CR]pandoc \-\-version\f[R] پیدا کنید. فایل‌های داده قرار گرفته در این دایرکتوری (برای نمونه، \f[CR]reference.odt\f[R]، \f[CR]reference.docx\f[R]، \f[CR]epub.css\f[R]، \f[CR]templates\f[R]) بر مقادیر پیش‌فرض عادی pandoc تقدم خواهند داشت. (توجه داشته باشید که دایرکتوری داده‌های کاربر توسط pandoc ایجاد نمی‌شود، بنابراین در صورت تمایل به استفاده از آن، باید خودتان آن را بسازید.) .TP \f[CR]\-d\f[R] \f[I]FILE\f[R], \f[CR]\-\-defaults=\f[R]\f[I]FILE\f[R] تعیین مجموعه‌ای از تنظیمات پیش‌فرض گزینه‌ها. \f[I]FILE\f[R] یک فایل YAML یا JSON است که فیلدهای آن متناظر با تنظیمات گزینه‌های خط فرمان هستند. تمامی گزینه‌های مربوط به تبدیل سند، از جمله فایل‌های ورودی و خروجی، را می‌توان با استفاده از یک فایل تنظیمات پیش‌فرض تعیین کرد. برای یافتن این فایل، ابتدا دایرکتوری جاری و سپس زیردایرکتوری \f[CR]defaults\f[R] از دایرکتوری داده‌های کاربر (ببینید \f[CR]\-\-data\-dir\f[R]) جستجو خواهد شد. اگر \f[I]FILE\f[R] فاقد پسوند باشد و فایل پیدا نشود، pandoc افزودن پسوند \f[CR].yaml\f[R] را نیز امتحان خواهد کرد. برای اطلاعات بیشتر درباره قالب این فایل، بخش Defaults files را ببینید. تنظیمات فایل پیش‌فرض ممکن است توسط گزینه‌های بعدی در خط فرمان بازنویسی یا گسترش یابند. .TP \f[CR]\-\-bash\-completion\f[R] تولید یک اسکریپت تکمیل خودکار bash. برای فعال‌سازی تکمیل خودکار bash برای pandoc، این خط را به \f[CR].bashrc\f[R] خود بیفزایید: .RS .IP .EX eval \(dq$(pandoc \-\-bash\-completion)\(dq .EE .RE .TP \f[CR]\-\-sandbox[=true|false]\f[R] اجرای pandoc در یک جعبه‌شنی (sandbox)، جهت محدود کردن عملیات IO در readerها و writerها به خواندن صرف فایل‌های مشخص‌شده در خط فرمان. توجه داشته باشید که این گزینه عملیات IO توسط فیلترها یا در حین تولید اسناد PDF را محدود نمی‌کند. اما این ویژگی امنیتی را در برابر خطراتی همچون افشای محتوای فایل‌ها از طریق دستورالعمل‌های \f[CR]include\f[R] فراهم می‌سازد. هر کسی که pandoc را بر روی ورودی‌های نامعتمد کاربران اجرا می‌کند باید از این گزینه استفاده نماید. .RS .PP نکته: برخی از readerها و writerها (مانند \f[CR]docx\f[R]) نیازمند دسترسی به فایل‌های داده هستند. اگر این فایل‌ها روی سیستم‌فایل ذخیره شده باشند، pandoc هنگام اجرا در حالت \f[CR]\-\-sandbox\f[R] قادر به یافتن آن‌ها نخواهد بود و خطایی صادر می‌کند. برای این منظور، پیشنهاد می‌کنیم از باینری pandoc که با گزینه \f[CR]embed_data_files\f[R] کامپایل شده است استفاده کنید؛ این گزینه سبب می‌شود تا فایل‌های داده به‌جای ذخیره در سیستم‌فایل، درون خود فایل باینری گنجانده شوند. .RE .TP \f[CR]\-\-verbose\f[R] ارائه خروجی اشکال‌زدایی پرگو (مشروح). .TP \f[CR]\-\-quiet\f[R] فرونشاندن و جلوگیری از نمایش پیام‌های هشدار. .TP \f[CR]\-\-fail\-if\-warnings[=true|false]\f[R] خروج با وضعیت خطا در صورت وجود هرگونه هشدار. .TP \f[CR]\-\-log=\f[R]\f[I]FILE\f[R] نوشتن پیام‌های گزارش در قالب ماشین‌خوان JSON در \f[I]FILE\f[R]. تمام پیام‌های بالاتر از سطح DEBUG، فارغ از تنظیمات پرگویی (\f[CR]\-\-verbose\f[R]، \f[CR]\-\-quiet\f[R])، نوشته خواهند شد. .TP \f[CR]\-\-list\-input\-formats\f[R] فهرست کردن قالب‌های ورودی پشتیبانی‌شده، هر کدام در یک سطر. .TP \f[CR]\-\-list\-output\-formats\f[R] فهرست کردن قالب‌های خروجی پشتیبانی‌شده، هر کدام در یک سطر. .TP \f[CR]\-\-list\-extensions\f[R][\f[CR]=\f[R]\f[I]FORMAT\f[R]] فهرست کردن افزونه‌های پشتیبانی‌شده برای \f[I]FORMAT\f[R]، هر کدام در یک سطر، با پیشوند \f[CR]+\f[R] یا \f[CR]\-\f[R] که نشان‌دهنده فعال بودن یا نبودن آن به‌طور پیش‌فرض در \f[I]FORMAT\f[R] است. اگر \f[I]FORMAT\f[R] مشخص نشود، پیش‌فرض‌های مارک‌داون pandoc نمایش داده می‌شوند..TP \f[CR]\-\-list\-highlight\-languages\f[R] فهرست کردن زبان‌های پشتیبانی‌شده برای برجسته‌سازی نحو، یک مورد در هر خط. .TP \f[CR]\-\-list\-highlight\-styles\f[R] فهرست کردن شیوه‌های پشتیبانی‌شده برای برجسته‌سازی نحو، یک مورد در هر خط. \f[CR]\-\-syntax\-highlighting\f[R] را ببینید. .TP \f[CR]\-v\f[R], \f[CR]\-\-version\f[R] چاپ نسخه. .TP \f[CR]\-h\f[R], \f[CR]\-\-help\f[R] نمایش پیام راهنمای استفاده. .SS "گزینه‌های خواننده (Reader options)" .TP \f[CR]\-\-shift\-heading\-level\-by=\f[R]\f[I]NUMBER\f[R] تغییر سطح سربرگ‌ها به اندازه یک عدد صحیح مثبت یا منفی. به عنوان مثال، با \f[CR]\-\-shift\-heading\-level\-by=\-1\f[R]، سربرگ‌های سطح ۲ به سربرگ‌های سطح ۱، و سربرگ‌های سطح ۳ به سربرگ‌های سطح ۲ تبدیل می‌شوند. سطح سربرگ‌ها نمی‌تواند کمتر از ۱ باشد، بنابراین سربرگی که به زیر سطح ۱ منتقل شود، به یک پاراگراف عادی تبدیل خواهد شد. استثنا: با تغییر به میزان \-N، یک سربرگ در سطح N در ابتدای سند جایگزین عنوانِ فراداده (metadata title) می‌شود. گزینه \f[CR]\-\-shift\-heading\-level\-by=\-1\f[R] هنگام تبدیل اسناد HTML یا Markdown که از یک سربرگ اولیه سطح ۱ برای عنوان سند و سربرگ‌های سطح ۲ به بالا برای بخش‌ها استفاده می‌کنند، انتخاب مناسبی است. گزینه \f[CR]\-\-shift\-heading\-level\-by=1\f[R] ممکن است انتخاب مناسبی برای تبدیل اسناد Markdown باشد که از سربرگ‌های سطح ۱ برای بخش‌ها به HTML استفاده می‌کنند، چرا که pandoc از یک سربرگ سطح ۱ برای نمایش عنوان سند استفاده می‌کند. .TP \f[CR]\-\-base\-header\-level=\f[R]\f[I]NUMBER\f[R] \f[I]منسوخ شده. به جای آن از \f[CI]\-\-shift\-heading\-level\-by\f[I]=X استفاده کنید، که در آن X = NUMBER \- 1 است.\f[R] تعیین سطح پایه برای سربرگ‌ها (پیش‌فرض ۱ است). .TP \f[CR]\-\-indented\-code\-classes=\f[R]\f[I]CLASSES\f[R] مشخص کردن کلاس‌های مورد استفاده برای بلوک‌های کد دارای تورفتگی\(emبرای نمونه، \f[CR]perl,numberLines\f[R] یا \f[CR]haskell\f[R]. کلاس‌های چندگانه را می‌توان با فاصله یا ویرگول انگلیسی از یکدیگر جدا کرد. .TP \f[CR]\-\-default\-image\-extension=\f[R]\f[I]EXTENSION\f[R] تعیین یک پسوند پیش‌فرض برای استفاده در مواردی که مسیرها یا URLهای تصاویر فاقد پسوند هستند. این امکان به شما اجازه می‌دهد تا از یک منبع یکسان برای قالب‌هایی که نیازمند انواع متفاوتی از تصاویر هستند استفاده کنید. در حال حاضر این گزینه فقط بر خواننده‌های Markdown و LaTeX اثر می‌گذارد. .TP \f[CR]\-\-file\-scope[=true|false]\f[R] تجزیه هر فایل به صورت مجزا پیش از ترکیب آن‌ها برای اسناد چندفایلی. این قابلیت به پاورقی‌ها در فایل‌های مختلف که دارای شناسه‌های یکسانی هستند اجازه می‌دهد مطابق انتظار کار کنند. در صورت فعال بودن این گزینه، پاورقی‌ها و پیوندها بین فایل‌های مختلف کار نخواهند کرد. خواندن فایل‌های باینری (docx، odt، epub) مستلزم استفاده از \f[CR]\-\-file\-scope\f[R] است. .RS .PP اگر دو یا چند فایل با استفاده از \f[CR]\-\-file\-scope\f[R] پردازش شوند، پیشوندهایی بر پایه نام فایل‌ها به شناسه‌ها اضافه می‌شود تا ابهام‌زدایی شوند، و پیوندهای داخلی نیز بر همین اساس تنظیم خواهند شد. برای نمونه، سربرگی با شناسه \f[CR]foo\f[R] در \f[CR]subdir/file1.txt\f[R]، شناسه آن به \f[CR]subdir__file1.txt__foo\f[R] تغییر خواهد کرد. .RE .TP \f[CR]\-F\f[R] \f[I]PROGRAM\f[R], \f[CR]\-\-filter=\f[R]\f[I]PROGRAM\f[R] مشخص کردن یک فایل اجرایی برای استفاده به عنوان فیلتر جهت تبدیل AST در pandoc پس از تجزیه ورودی و پیش از نگارش خروجی. برنامه اجرایی باید JSON را از stdin خوانده و JSON را در stdout بنویسد. قالب‌بندی JSON باید همانند ورودی و خروجی JSON خود pandoc باشد. نام قالب خروجی به عنوان اولین آرگومان به فیلتر ارسال خواهد شد. بنابراین، .RS .IP .EX pandoc \-\-filter ./caps.py \-t latex .EE .PP معادل است با: .IP .EX pandoc \-t json | ./caps.py latex | pandoc \-f json \-t latex .EE .PP شکل دوم ممکن است برای اشکال‌زدایی فیلترها مفید باشد. .PP فیلترها را می‌توان به هر زبانی نوشت. ماژول \f[CR]Text.Pandoc.JSON\f[R] تابع \f[CR]toJSONFilter\f[R] را برای تسهیل نگارش فیلترها در Haskell ارائه می‌دهد. کسانی که ترجیح می‌دهند فیلترها را در python بنویسند می‌توانند از ماژول \f[CR]pandocfilters\f[R]، قابل نصب از طریق PyPI، استفاده کنند. همچنین کتابخانه‌های فیلتر pandoc در PHP، perl و JavaScript/node.js وجود دارند. .PP به ترتیب اولویت، pandoc فیلترها را در مکان‌های زیر جستجو می‌کند: .IP "1." 3 یک مسیر کامل یا نسبی مشخص‌شده (اجرایی یا غیر اجرایی)، .IP "2." 3 مسیر \f[CR]$DATADIR/filters\f[R] (اجرایی یا غیر اجرایی) که در آن \f[CR]$DATADIR\f[R] دایرکتوری داده‌های کاربر است (به \f[CR]\-\-data\-dir\f[R] در بالا مراجعه کنید)، .IP "3." 3 مسیر \f[CR]$PATH\f[R] (فقط فایل‌های اجرایی). .PP فیلترها، فیلترهای Lua و پردازش citeproc به ترتیبی که در خط فرمان مشخص شده‌اند، اعمال می‌شوند. .RE .TP \f[CR]\-L\f[R] \f[I]SCRIPT\f[R], \f[CR]\-\-lua\-filter=\f[R]\f[I]SCRIPT\f[R] تبدیل سند به شیوه‌ای مشابه فیلترهای JSON (به \f[CR]\-\-filter\f[R] مراجعه کنید)، اما با استفاده از سامانه فیلترسازی توکار Lua در pandoc. انتظار می‌رود اسکریپت Lua ارائه‌شده فهرستی از فیلترهای Lua را برگرداند که به ترتیب اعمال خواهند شد. هر فیلتر Lua باید شامل توابع تبدیل‌کننده عناصر باشد که با نام عنصر AST مورد نظری که تابع فیلتر باید روی آن اعمال شود نمایه شده‌اند. .RS .PP ماژول Lua با نام \f[CR]pandoc\f[R] توابع کمکی را برای ایجاد عناصر فراهم می‌کند. این ماژول همواره در محیط Lua اسکریپت بارگذاری می‌شود. .PP برای جزئیات بیشتر به مستندات فیلترهای Lua مراجعه کنید. .PP به ترتیب اولویت، pandoc فیلترهای Lua را در مکان‌های زیر جستجو می‌کند: .IP "1." 3 یک مسیر کامل یا نسبی مشخص‌شده، .IP "2." 3 مسیر \f[CR]$DATADIR/filters\f[R] که در آن \f[CR]$DATADIR\f[R] دایرکتوری داده‌های کاربر است (به \f[CR]\-\-data\-dir\f[R] در بالا مراجعه کنید). .PP فیلترها، فیلترهای Lua و پردازش citeproc به ترتیبی که در خط فرمان مشخص شده‌اند اعمال می‌شوند. .RE .TP \f[CR]\-M\f[R] \f[I]KEY\f[R][\f[CR]=\f[R]\f[I]VAL\f[R]], \f[CR]\-\-metadata=\f[R]\f[I]KEY\f[R][\f[CR]:\f[R]\f[I]VAL\f[R]] تنظیم فیلد فراداده \f[I]KEY\f[R] به مقدار \f[I]VAL\f[R]. مقداری که در خط فرمان مشخص شود، بر مقداری که در سند با استفاده از بلوک‌های فراداده YAML مشخص شده اولویت دارد. مقادیر به عنوان مقادیر بولی یا رشته‌ای YAML تجزیه خواهند شد. اگر مقداری مشخص نشود، با مقدار به عنوان Boolean true رفتار می‌شود. همانند \f[CR]\-\-variable\f[R]، گزینه \f[CR]\-\-metadata\f[R] باعث تنظیم متغیرهای الگو می‌شود. اما بر خلاف \f[CR]\-\-variable\f[R]، گزینه \f[CR]\-\-metadata\f[R] بر فراداده‌های سند اصلی تأثیر می‌گذارد (که از طریق فیلترها قابل دسترسی است و ممکن است در برخی قالب‌های خروجی چاپ شود) و هنگام درج مقادیر فراداده در الگو، کاراکترهای آن‌ها گریز داده می‌شوند. .TP \f[CR]\-\-metadata\-file=\f[R]\f[I]FILE\f[R] خواندن فراداده از فایل YAML (یا JSON) داده‌شده. این گزینه را می‌توان برای تمام قالب‌های ورودی استفاده کرد، اما مقادیر اسکالر رشته‌ای در فایل فراداده همواره به صورت Markdown تجزیه خواهند شد. (اگر قالب ورودی Markdown یا یکی از گونه‌های آن باشد، از همان گونه برای تجزیه فایل فراداده استفاده می‌شود؛ در صورتی که قالبی غیر از Markdown باشد، افزونه‌های پیش‌فرض Markdown در pandoc به کار گرفته خواهند شد.) این گزینه را می‌توان به دفعات برای گنجاندن چندین فایل فراداده به کار برد؛ مقادیر موجود در فایل‌هایی که دیرتر در خط فرمان مشخص شده‌اند بر مقادیر فایل‌های قبلی اولویت خواهند داشت. مقادیر فراداده مشخص‌شده درون سند یا با استفاده از \f[CR]\-M\f[R]، مقادیر تعیین‌شده با این گزینه را بازنویسی می‌کنند. فایل ابتدا در دایرکتوری کاری و سپس در زیردایرکتوری \f[CR]metadata\f[R] از دایرکتوری داده‌های کاربر جستجو خواهد شد (به \f[CR]\-\-data\-dir\f[R] مراجعه کنید). .TP \f[CR]\-p\f[R], \f[CR]\-\-preserve\-tabs[=true|false]\f[R] حفظ تب‌ها (tabs) به جای تبدیل آن‌ها به فاصله‌ها (spaces). (به صورت پیش‌فرض، pandoc تب‌ها را پیش از تجزیه ورودی به فاصله تبدیل می‌کند.) توجه داشته باشید که این گزینه فقط بر تب‌های موجود در محدوده‌های کد لفظی (literal code spans) و بلوک‌های کد اثر می‌گذارد. با تب‌ها در متن معمولی همواره مانند فاصله برخورد می‌شود. .TP \f[CR]\-\-tab\-stop=\f[R]\f[I]NUMBER\f[R] تعیین تعداد فاصله‌ها برای هر تب (پیش‌فرض ۴ است). .TP \f[CR]\-\-track\-changes=accept\f[R]|\f[CR]reject\f[R]|\f[CR]all\f[R] مشخص می‌کند با موارد اضافه‌شده، حذف‌شده و دیدگاه‌های تولیدشده توسط ویژگی \(lqTrack Changes\(rq در MS Word چه برخوردی صورت گیرد. مقدار \f[CR]accept\f[R] (پیش‌فرض) تمام موارد اضافه‌شده و حذف‌شده را پردازش می‌کند. مقدار \f[CR]reject\f[R] آن‌ها را نادیده می‌گیرد. هر دو مقدار \f[CR]accept\f[R] و \f[CR]reject\f[R] دیدگاه‌ها را نادیده می‌گیرند. مقدار \f[CR]all\f[R] تمام موارد درج، حذف و دیدگاه‌ها را که به ترتیب در spanهایی با کلاس‌های \f[CR]insertion\f[R]، \f[CR]deletion\f[R]، \f[CR]comment\-start\f[R] و \f[CR]comment\-end\f[R] قرار گرفته‌اند، شامل می‌شود. نویسنده و زمان اعمال تغییرات نیز گنجانده می‌شود. گزینه \f[CR]all\f[R] برای اسکریپت‌نویسی مفید است: به عنوان مثال، پذیرش تغییرات تنها از یک بازبین خاص، یا قبل از یک تاریخ معین. اگر یک پاراگراف درج یا حذف شود، \f[CR]track\-changes=all\f[R] یک span با کلاس \f[CR]paragraph\-insertion\f[R]/\f[CR]paragraph\-deletion\f[R] پیش از انتهای پاراگراف متأثر تولید می‌کند. این گزینه فقط بر خواننده docx اثر می‌گذارد. .TP \f[CR]\-\-extract\-media=\f[R]\f[I]DIR\f[R]|\f[I]FILE\f[R]\f[CR].zip\f[R] استخراج تصاویر و رسانه‌های دیگر موجود در سند مبدأ یا پیوند داده شده از آن به مسیر \f[I]DIR\f[R]، در صورت لزوم ایجاد این مسیر، و تصحیح مراجع تصاویر در سند تا به فایل‌های استخراج‌شده اشاره کنند. رسانه‌ها بر حسب نیاز بارگیری می‌شوند، از فایل‌سیستم خوانده می‌شوند، یا از یک کانتینر باینری (مانند docx) استخراج می‌گردند. در صورتی که مسیرهای اصلی فایل، نسبی بوده و فاقد \f[CR]..\f[R] باشند، از همان مسیرها استفاده می‌شود. در غیر این صورت، نام فایل‌ها بر پایه درهم‌ساز SHA1 از محتوای آن‌ها ساخته می‌شود. .RS.PP اگر مسیر داده‌شده به \f[CR].zip\f[R] ختم شود، pandoc به‌جای ایجاد یک دایرکتوری، یک بایگانی zip حاوی فایل‌های چندرسانه‌ای ایجاد خواهد کرد. .RE .TP \f[CR]\-\-abbreviations=\f[R]\f[I]FILE\f[R] یک فایل اختصارات سفارشی را مشخص می‌کند، به‌طوری که در هر خط یک اختصار قرار دارد. اگر این گزینه مشخص نشود، pandoc فایل دادهٔ \f[CR]abbreviations\f[R] را از دایرکتوری داده‌های کاربر می‌خواند یا به مقدار پیش‌فرض سیستم بازمی‌گردد. برای مشاهدهٔ پیش‌فرض سیستم، از \f[CR]pandoc \-\-print\-default\-data\-file=abbreviations\f[R] استفاده کنید. تنها کاربرد این فهرست برای pandoc در خوانندهٔ Markdown است. رشته‌های موجود در این فهرست با یک فاصلهٔ نشکستنی (nonbreaking space) دنبال می‌شوند و نقطه در قالب‌هایی مانند LaTeX فاصلهٔ پایان جمله ایجاد نخواهد کرد. این رشته‌ها نباید حاوی فاصله باشند. .TP \f[CR]\-\-typst\-input=\f[R]\f[I]KEY\f[R][\f[CR]=\f[R]\f[I]VAL\f[R]] مقدار پارامتری را تنظیم می‌کند که مانند \f[CR]\-\-input\f[R] در خط فرمان \f[CR]typst\f[R]، در \f[CR]sys.inputs\f[R] در دسترس تجزیه‌کنندهٔ typst قرار خواهد گرفت. برای جداسازی \f[I]KEY\f[R] از \f[I]VAL\f[R] می‌توان از \f[CR]:\f[R] یا \f[CR]=\f[R] استفاده کرد. مقادیری که حاوی فاصله هستند باید داخل گیومه قرار گیرند. .TP \f[CR]\-\-trace[=true|false]\f[R] خروجی عیب‌یابی مربوط به ردگیری پیشرفت تجزیه‌کننده را در stderr چاپ می‌کند. این گزینه برای استفادهٔ توسعه‌دهندگان جهت تشخیص مشکلات کارایی در نظر گرفته شده است. .SS "گزینه‌های عمومی نویسنده (General writer options)" .TP \f[CR]\-s\f[R], \f[CR]\-\-standalone\f[R] تولید خروجی با سربرگ و پانویس مناسب (به‌عنوان مثال، یک فایل مستقل HTML، LaTeX، TEI یا RTF، نه فقط یک قطعه از سند). این گزینه برای خروجی‌های \f[CR]pdf\f[R]، \f[CR]epub\f[R]، \f[CR]epub3\f[R]، \f[CR]fb2\f[R]، \f[CR]docx\f[R] و \f[CR]odt\f[R] به‌طور خودکار تنظیم می‌شود. برای خروجی \f[CR]native\f[R]، این گزینه باعث گنجانده شدن متاداده می‌شود؛ در غیر این صورت، متاداده حذف می‌گردد. .TP \f[CR]\-\-template=\f[R]\f[I]FILE\f[R]|\f[I]URL\f[R] استفاده از فایل مشخص‌شده به‌عنوان قالب سفارشی برای سند تولیدشده. این گزینه متضمن \f[CR]\-\-standalone\f[R] است. برای شرح نحو قالب، بخش «قالب‌ها» (Templates) را در ادامه ببینید. اگر قالب یافت نشود، pandoc آن را در زیردایرکتوری \f[CR]templates\f[R] دایرکتوری داده‌های کاربر جستجو می‌کند (به \f[CR]\-\-data\-dir\f[R] مراجعه کنید). اگر پسوندی مشخص نشده باشد و قالبی بدون پسوند پیدا نشود، pandoc به‌دنبال قالبی با پسوند متناظر با نویسنده (writer) می‌گردد، به‌طوری که \f[CR]\-\-template=special\f[R] برای خروجی HTML به‌دنبال \f[CR]special.html\f[R] می‌گردد. اگر از این گزینه استفاده نشود، یک قالب پیش‌فرض متناسب با قالب خروجی استفاده خواهد شد (به \f[CR]\-D/\-\-print\-default\-template\f[R] مراجعه کنید). .TP \f[CR]\-V\f[R] \f[I]KEY\f[R][\f[CR]=\f[R]\f[I]VAL\f[R]], \f[CR]\-\-variable=\f[R]\f[I]KEY\f[R][\f[CR]=\f[R]\f[I]VAL\f[R]] هنگام پردازش سند در حالت مستقل (standalone)، متغیر قالب \f[I]KEY\f[R] را با مقدار رشته‌ای \f[I]VAL\f[R] تنظیم می‌کند. برای جداسازی \f[I]KEY\f[R] از \f[I]VAL\f[R] می‌توان از \f[CR]:\f[R] یا \f[CR]=\f[R] استفاده کرد. اگر هیچ \f[I]VAL\f[R]ای مشخص نشود، به کلید مقدار \f[CR]true\f[R] داده می‌شود. مقادیر ساختاریافته (فهرست‌ها، نگاشت‌ها) با استفاده از این گزینه قابل انتساب نیستند، اما می‌توان آن‌ها را در بخش \f[CR]variables\f[R] یک فایل مقادیر پیش‌فرض یا با استفاده از گزینهٔ \f[CR]\-\-variable\-json\f[R] مقداردهی کرد. اگر متغیر از قبل دارای مقدار \f[I]list\f[R] باشد، این مقدار به فهرست اضافه خواهد شد. اگر متغیر نوع مقدار دیگری داشته باشد، به فهرستی شامل مقدار قبلی و مقدار جدید تبدیل می‌شود. به‌عنوان مثال، \f[CR]\-V author=Joe \-V author=Sue\f[R] باعث می‌شود \f[CR]author\f[R] حاوی فهرستی از رشته‌ها باشد: \f[CR]Joe\f[R] و \f[CR]Sue\f[R]. .TP \f[CR]\-\-variable\-json=\f[R]\f[I]KEY\f[R][\f[CR]=\f[R]\f[I]JSON\f[R]] متغیر قالب \f[I]KEY\f[R] را به مقدار مشخص‌شده توسط یک رشتهٔ JSON تنظیم می‌کند (این مقدار می‌تواند بولین، رشته، فهرست یا یک نگاشت باشد؛ با عدد مانند یک رشته برخورد خواهد شد). به‌عنوان مثال، \f[CR]\-\-variable\-json foo=false\f[R] به \f[CR]foo\f[R] مقدار بولی false می‌دهد، در حالی که \f[CR]\-\-variable\-json foo=\(aq\(dqfalse\(dq\(aq\f[R] مقدار رشته‌ای \f[CR]\(dqfalse\(dq\f[R] را به آن می‌دهد. برای جداسازی \f[I]KEY\f[R] از \f[I]VAL\f[R] می‌توان از \f[CR]:\f[R] یا \f[CR]=\f[R] استفاده کرد. اگر متغیر از قبل مقداری داشته باشد، آن مقدار جایگزین خواهد شد. .TP \f[CR]\-D\f[R] \f[I]FORMAT\f[R], \f[CR]\-\-print\-default\-template=\f[R]\f[I]FORMAT\f[R] قالب پیش‌فرض سیستم را برای یک \f[I]FORMAT\f[R] خروجی چاپ می‌کند. (برای فهرستی از \f[I]FORMAT\f[R]های ممکن به \f[CR]\-t\f[R] مراجعه کنید.) قالب‌های موجود در دایرکتوری داده‌های کاربر نادیده گرفته می‌شوند. این گزینه می‌تواند همراه با \f[CR]\-o\f[R]/\f[CR]\-\-output\f[R] برای تغییر مسیر خروجی به یک فایل استفاده شود، اما \f[CR]\-o\f[R]/\f[CR]\-\-output\f[R] باید قبل از \f[CR]\-\-print\-default\-template\f[R] در خط فرمان بیاید. .RS .PP توجه داشته باشید که برخی از قالب‌های پیش‌فرض از قطعه‌ها (partials) استفاده می‌کنند، مانند \f[CR]styles.html\f[R]. برای چاپ این قطعه‌ها، از \f[CR]\-\-print\-default\-data\-file\f[R] استفاده کنید: به‌عنوان مثال، \f[CR]\-\-print\-default\-data\-file=templates/styles.html\f[R]. .RE .TP \f[CR]\-\-print\-default\-data\-file=\f[R]\f[I]FILE\f[R] یک فایل دادهٔ پیش‌فرض سیستم را چاپ می‌کند. فایل‌های موجود در دایرکتوری داده‌های کاربر نادیده گرفته می‌شوند. این گزینه می‌تواند همراه با \f[CR]\-o\f[R]/\f[CR]\-\-output\f[R] برای تغییر مسیر خروجی به یک فایل استفاده شود، اما \f[CR]\-o\f[R]/\f[CR]\-\-output\f[R] باید قبل از \f[CR]\-\-print\-default\-data\-file\f[R] در خط فرمان بیاید. .TP \f[CR]\-\-eol=crlf\f[R]|\f[CR]lf\f[R]|\f[CR]native\f[R] پایان خطوط را به‌صورت دستی مشخص می‌کند: \f[CR]crlf\f[R] (ویندوز)، \f[CR]lf\f[R] (مک‌اواس/لینوکس/یونیکس)، یا \f[CR]native\f[R] (پایان خطوط مناسب با سیستم‌عاملی که pandoc روی آن اجرا می‌شود). پیش‌فرض \f[CR]native\f[R] است. .TP \f[CR]\-\-dpi\f[R]=\f[I]NUMBER\f[R] مقدار پیش‌فرض dpi (نقطه در اینچ) را برای تبدیل از پیکسل به اینچ/سانتی‌متر و برعکس مشخص می‌کند. (از نظر فنی، اصطلاح صحیح‌تر ppi است: پیکسل در اینچ). پیش‌فرض 96dpi است. هنگامی که تصویرها در درون خود حاوی اطلاعات مربوط به dpi باشند، به‌جای مقدار پیش‌فرض مشخص‌شده توسط این گزینه، از همان مقدار کدگذاری‌شده استفاده می‌شود. .TP \f[CR]\-\-wrap=auto\f[R]|\f[CR]none\f[R]|\f[CR]preserve\f[R] نحوهٔ شکستن سطرها (wrap) را در خروجی تعیین می‌کند (در کد منبع، نه در نسخهٔ ارائه‌شده نهایی). با مقدار \f[CR]auto\f[R] (پیش‌فرض)، pandoc تلاش می‌کند تا خطوط را بر اساس عرض ستون تعیین‌شده توسط \f[CR]\-\-columns\f[R] بپیچد (پیش‌فرض 72). با مقدار \f[CR]none\f[R]، pandoc اصلاً خطوط را نمی‌شکند. با مقدار \f[CR]preserve\f[R]، pandoc سعی می‌کند شکستگی سطرهای سند مبدأ را حفظ کند (یعنی هر جا که در منبع خطوط جدید غیرمعنایی وجود داشته باشد، در خروجی نیز خطوط جدید غیرمعنایی وجود خواهد داشت). در خروجی \f[CR]ipynb\f[R]، این گزینه بر شکستن خطوط محتوای سلول‌های Markdown تأثیر می‌گذارد. .TP \f[CR]\-\-columns=\f[R]\f[I]NUMBER\f[R] طول خطوط را بر حسب نویسه‌ها مشخص می‌کند. این گزینه بر شکستن متن در کد منبع تولیدشده تأثیر می‌گذارد (به \f[CR]\-\-wrap\f[R] مراجعه کنید). همچنین بر محاسبهٔ پهنای ستون‌ها برای جدول‌های متنی ساده تأثیر دارد (به «جدول‌ها» در ادامه مراجعه کنید). .TP \f[CR]\-\-toc[=true|false]\f[R], \f[CR]\-\-table\-of\-contents[=true|false]\f[R] شامل کردن یک فهرست مطالب به‌طور خودکار تولیدشده (یا در مورد \f[CR]latex\f[R]، \f[CR]context\f[R]، \f[CR]docx\f[R]، \f[CR]odt\f[R]، \f[CR]opendocument\f[R]، \f[CR]rst\f[R] یا \f[CR]ms\f[R]، یک دستورالعمل برای ایجاد آن) در سند خروجی. این گزینه هیچ تأثیری ندارد مگر اینکه از \f[CR]\-s/\-\-standalone\f[R] استفاده شود، و هیچ تأثیری بر خروجی‌های \f[CR]man\f[R]، \f[CR]docbook4\f[R]، \f[CR]docbook5\f[R] یا \f[CR]jats\f[R] ندارد. .RS .PP توجه داشته باشید که اگر در حال تولید PDF از طریق \f[CR]ms\f[R] و استفاده از \f[CR]groff\f[R] (پیش‌فرض) به‌عنوان \f[CR]\-\-pdf\-engine\f[R] هستید، فهرست مطالب در پایان سند ظاهر خواهد شد. اگر ترجیح می‌دهید در ابتدای سند و پیش از عنوان قرار گیرد، می‌توانید از \f[CR]\-\-pdf\-engine=pdfroff\f[R] استفاده کنید. .PP از آنجا که مدخل‌های فهرست مطالب برای پیوند دادن به شناسه‌های عنوان نیاز دارند، این گزینه پسوند \f[CR]auto_identifiers\f[R] را برای قالب ورودی فعال می‌کند، حتی زمانی که به‌طور پیش‌فرض غیرفعال باشد (مانند \f[CR]typst\f[R]). .RE .TP \f[CR]\-\-toc\-depth=\f[R]\f[I]NUMBER\f[R] تعداد سطوح بخش‌ها را برای گنجاندن در فهرست مطالب مشخص می‌کند. پیش‌فرض 3 است (بدین معنی که عنوان‌های سطح ۱، ۲ و ۳ در فهرست ذکر خواهند شد). .TP \f[CR]\-\-lof[=true|false]\f[R], \f[CR]\-\-list\-of\-figures[=true|false]\f[R] شامل کردن یک فهرست اشکالِ به‌طور خودکار تولیدشده (یا در برخی قالب‌ها، دستورالعملی برای ایجاد آن) در سند خروجی. این گزینه هیچ تأثیری ندارد مگر اینکه از \f[CR]\-s/\-\-standalone\f[R] استفاده شود، و تنها بر خروجی‌های \f[CR]latex\f[R]، \f[CR]context\f[R] و \f[CR]docx\f[R] تأثیر می‌گذارد. .TP \f[CR]\-\-lot[=true|false]\f[R], \f[CR]\-\-list\-of\-tables[=true|false]\f[R] شامل کردن یک فهرست جداولِ به‌طور خودکار تولیدشده (یا در برخی قالب‌ها، دستورالعملی برای ایجاد آن) در سند خروجی. این گزینه هیچ تأثیری ندارد مگر اینکه از \f[CR]\-s/\-\-standalone\f[R] استفاده شود، و تنها بر خروجی‌های \f[CR]latex\f[R]، \f[CR]context\f[R] و \f[CR]docx\f[R] تأثیر می‌گذارد. .TP \f[CR]\-\-strip\-comments[=true|false]\f[R] کامنت‌های HTML را از منبع Markdown یا Textile حذف می‌کند، به‌جای اینکه آن‌ها را به‌صورت HTML خام به خروجی Markdown، Textile یا HTML بفرستد. هنگامی که پسوند \f[CR]markdown_in_html_blocks\f[R] فعال نباشد، این گزینه شامل کامنت‌های HTML درون بلوک‌های خام HTML نمی‌شود. .TP \f[CR]\-\-syntax\-highlighting=default|none|idiomatic|\f[R]\f[I]STYLE\f[R]\f[CR]|\f[R]\f[I]FILE\f[R] روشی که برای برجسته‌سازی نحو (syntax highlighting) کد استفاده می‌شود. تنظیم یک \f[I]STYLE\f[R] خاص باعث می‌شود که برجسته‌سازی با موتور برجسته‌سازی داخلی، با استفاده از تعاریف نحو و سبک‌های KDE انجام شود. روش \f[CR]idiomatic\f[R] از یک برجسته‌ساز خاص آن قالب (در صورت وجود) یا سبک پیش‌فرض (اگر قالب مقصد روش برجسته‌سازی اصطلاحی اختصاصی نداشته باشد) استفاده می‌کند. تنظیم این گزینه روی \f[CR]none\f[R] تمام برجسته‌سازی‌های نحو را غیرفعال می‌کند. روش \f[CR]default\f[R] از پیش‌فرض خاص هر قالب استفاده می‌کند. .RS.PP پیش‌فرض برای خروجی‌های HTML، EPUB، Docx، Ms، Man و LaTeX استفاده از برجسته‌ساز درونی با سبک پیش‌فرض است؛ برای Typst استفاده از سامانهٔ برجسته‌سازی نحو خود Typst است. .PP گزینه‌های سبک عبارتند از \f[CR]pygments\f[R] (پیش‌فرض)، \f[CR]kate\f[R]، \f[CR]monochrome\f[R]، \f[CR]breezeDark\f[R]، \f[CR]espresso\f[R]، \f[CR]zenburn\f[R]، \f[CR]haddock\f[R] و \f[CR]tango\f[R]. برای اطلاعات بیشتر دربارهٔ برجسته‌سازی نحو در pandoc، بخش برجسته‌سازی نحو را در ادامه ببینید. همچنین ببینید: \f[CR]\-\-list\-highlight\-styles\f[R]. .PP به جای یک نام \f[I]STYLE\f[R]، می‌توان یک فایل JSON با پسوند \f[CR].theme\f[R] ارائه کرد. این فایل به عنوان یک تم برجسته‌سازی نحو KDE تجزیه شده و (در صورت معتبر بودن) به عنوان سبک برجسته‌سازی استفاده خواهد شد. .PP برای تولید نسخهٔ JSON از یک سبک موجود، از \f[CR]\-\-print\-highlight\-style\f[R] استفاده کنید. .RE .TP \f[CR]\-\-no\-highlight\f[R] \f[I]منسوخ شده است، به جای آن از \f[CI]\-\-syntax\-highlighting=none\f[I] استفاده کنید.\f[R] .RS .PP برجسته‌سازی نحو را برای بلوک‌های کد و کدهای درون‌خطی غیرفعال می‌کند، حتی زمانی که ویژگی زبان مشخص شده باشد. .RE .TP \f[CR]\-\-highlight\-style=\f[R]\f[I]STYLE\f[R]|\f[I]FILE\f[R] \f[I]منسوخ شده است، به جای آن از \f[CI]\-\-syntax\-highlighting=\f[I]\f[R]STYLE\f[I]|\f[R]FILE\f[I] استفاده کنید.\f[R] .RS .PP سبک رنگ‌آمیزی مورد استفاده در کد منبع برجسته‌شده را مشخص می‌کند. .RE .TP \f[CR]\-\-print\-highlight\-style=\f[R]\f[I]STYLE\f[R]|\f[I]FILE\f[R] یک نسخهٔ JSON از یک سبک برجسته‌سازی را چاپ می‌کند، که می‌توان آن را تغییر داد، با پسوند \f[CR].theme\f[R] ذخیره کرد، و با \f[CR]\-\-syntax\-highlighting\f[R] به کار برد. این گزینه می‌تواند همراه با \f[CR]\-o\f[R]/\f[CR]\-\-output\f[R] برای هدایت خروجی به یک فایل استفاده شود، اما \f[CR]\-o\f[R]/\f[CR]\-\-output\f[R] باید در خط فرمان پیش از \f[CR]\-\-print\-highlight\-style\f[R] قرار گیرد. .TP \f[CR]\-\-syntax\-definition=\f[R]\f[I]FILE\f[R] به pandoc دستور می‌دهد تا یک فایل تعریف نحو KDE XML را بارگیری کند، که برای برجسته‌سازی نحو بلوک‌های کد نشانه‌گذاری‌شده به‌کار خواهد رفت. این گزینه می‌تواند برای افزودن پشتیبانی از زبان‌های جدید یا به‌کارگیری تعاریف نحو تغییریافته برای زبان‌های موجود استفاده شود. این گزینه می‌تواند برای افزودن چندین تعریف نحو تکرار شود. .TP \f[CR]\-H\f[R] \f[I]FILE\f[R], \f[CR]\-\-include\-in\-header=\f[R]\f[I]FILE\f[R]|\f[I]URL\f[R] محتویات \f[I]FILE\f[R] را به طور عینی (verbatim) در انتهای هدر (سرآیند) می‌گنجاند. به عنوان مثال، این گزینه می‌تواند برای گنجاندن CSS یا JavaScript خاص در اسناد HTML استفاده شود. این گزینه می‌تواند مکرراً برای گنجاندن چندین فایل در هدر استفاده شود. آن‌ها به ترتیبی که مشخص شده‌اند گنجانده خواهند شد. مستلزم \f[CR]\-\-standalone\f[R] است. .TP \f[CR]\-B\f[R] \f[I]FILE\f[R], \f[CR]\-\-include\-before\-body=\f[R]\f[I]FILE\f[R]|\f[I]URL\f[R] محتویات \f[I]FILE\f[R] را به طور عینی در آغاز بدنهٔ سند می‌گنجاند (مثلاً پس از تگ \f[CR]\f[R] در HTML، یا دستور \f[CR]\(rsbegin{document}\f[R] در LaTeX). این گزینه می‌تواند برای گنجاندن نوارهای ناوبری یا بنرها در اسناد HTML استفاده شود. این گزینه می‌تواند مکرراً برای گنجاندن چندین فایل استفاده شود. آن‌ها به ترتیبی که مشخص شده‌اند گنجانده خواهند شد. مستلزم \f[CR]\-\-standalone\f[R] است. توجه داشته باشید که اگر قالب خروجی \f[CR]odt\f[R] باشد، این فایل باید در قالب OpenDocument XML مناسب برای درج در بدنهٔ سند باشد، و اگر خروجی \f[CR]docx\f[R] باشد، این فایل باید در قالب OpenXML مناسب باشد. .TP \f[CR]\-A\f[R] \f[I]FILE\f[R], \f[CR]\-\-include\-after\-body=\f[R]\f[I]FILE\f[R]|\f[I]URL\f[R] محتویات \f[I]FILE\f[R] را به طور عینی در انتهای بدنهٔ سند می‌گنجاند (پیش از تگ \f[CR]\f[R] در HTML، یا دستور \f[CR]\(rsend{document}\f[R] در LaTeX). این گزینه می‌تواند مکرراً برای گنجاندن چندین فایل استفاده شود. آن‌ها به ترتیبی که مشخص شده‌اند گنجانده خواهند شد. مستلزم \f[CR]\-\-standalone\f[R] است. توجه داشته باشید که اگر قالب خروجی \f[CR]odt\f[R] باشد، این فایل باید در قالب OpenDocument XML مناسب برای درج در بدنهٔ سند باشد، و اگر خروجی \f[CR]docx\f[R] باشد، این فایل باید در قالب OpenXML مناسب باشد. .TP \f[CR]\-\-resource\-path=\f[R]\f[I]SEARCHPATH\f[R] فهرستی از مسیرها برای جستجوی تصاویر و دیگر منابع. مسیرها در سیستم‌های Linux، UNIX و macOS باید با \f[CR]:\f[R] و در Windows با \f[CR];\f[R] از هم جدا شوند. اگر \f[CR]\-\-resource\-path\f[R] مشخص نشود، مسیر پیش‌فرض منابع دایرکتوری کاری است. توجه داشته باشید که در صورت مشخص کردن \f[CR]\-\-resource\-path\f[R]، دایرکتوری کاری باید به طور صریح درج شود، در غیر این صورت جستجو نخواهد شد. برای مثال: \f[CR]\-\-resource\-path=.:test\f[R] دایرکتوری کاری و زیردایرکتوری \f[CR]test\f[R] را به همین ترتیب جستجو خواهد کرد. این گزینه می‌تواند مکرراً استفاده شود. بخش‌هایی از مسیر جستجو که در خط فرمان دیرتر می‌آیند، پیش از بخش‌هایی که زودتر آمده‌اند جستجو خواهند شد؛ بنابراین \f[CR]\-\-resource\-path foo:bar \-\-resource\-path baz:bim\f[R] معادل \f[CR]\-\-resource\-path baz:bim:foo:bar\f[R] است. توجه داشته باشید که این گزینه فقط زمانی تأثیر دارد که خود pandoc نیاز به یافتن یک تصویر داشته باشد (مثلاً هنگام تولید PDF یا docx، یا زمانی که \f[CR]\-\-embed\-resources\f[R] استفاده می‌شود). این گزینه در موارد دیگر (مانند زمانی که pandoc در حال تولید LaTeX یا HTML است) موجب بازنویسی مسیر تصاویر نخواهد شد. .TP \f[CR]\-\-request\-header=\f[R]\f[I]NAME\f[R]\f[CR]:\f[R]\f[I]VAL\f[R] هنگام برقراری درخواست‌های HTTP (برای مثال، هنگامی که یک URL در خط فرمان داده شده است، یا زمانی که منابع استفاده‌شده در سند باید بارگیری شوند)، هدر درخواست \f[I]NAME\f[R] را روی مقدار \f[I]VAL\f[R] تنظیم می‌کند. اگر پشت یک پراکسی قرار دارید، همچنین باید متغیر محیطی \f[CR]http_proxy\f[R] را روی \f[CR]http://...\f[R] تنظیم کنید. .TP \f[CR]\-\-no\-check\-certificate[=true|false]\f[R] اعتبارسنجی گواهی را غیرفعال می‌کند تا دسترسی به منابع ناامن HTTP امکان‌پذیر شود (برای مثال زمانی که گواهی دیگر معتبر نیست یا به صورت خودامضا است)..SS گزینه‌های مؤثر بر نویسنده‌های خاص .TP \f[CR]\-\-self\-contained[=true|false]\f[R] \f[I]مترادف منسوخ‌شده برای \f[CI]\-\-embed\-resources \-\-standalone\f[I].\f[R] .TP \f[CR]\-\-embed\-resources[=true|false]\f[R] تولید یک فایل HTML مستقل (standalone) بدون وابستگی‌های خارجی، با استفاده از URIهای \f[CR]data:\f[R] برای گنجاندن محتوای اسکریپت‌ها، شیوه‌نامه‌ها، تصاویر و ویدیوهای پیوندشده. فایل حاصل باید \(lqخودبسنده\(rq (self\-contained) باشد، به این معنی که برای نمایش صحیح توسط مرورگر نیازی به فایل‌های خارجی و دسترسی به شبکه ندارد. این گزینه تنها با قالب‌های خروجی HTML کار می‌کند، از جمله \f[CR]html4\f[R]، \f[CR]html5\f[R]، \f[CR]html+lhs\f[R]، \f[CR]html5+lhs\f[R]، \f[CR]s5\f[R]، \f[CR]slidy\f[R]، \f[CR]slideous\f[R]، \f[CR]dzslides\f[R] و \f[CR]revealjs\f[R]. اسکریپت‌ها، تصاویر و شیوه‌نامه‌های دارای URLهای مطلق بارگیری خواهند شد؛ موارد دارای URLهای نسبی، نسبت به دایرکتوری کاری (اگر اولین فایل مبدأ محلی باشد) یا نسبت به URL پایه (اگر اولین فایل مبدأ دوردست باشد) جستجو می‌شوند. عناصری با صفت \f[CR]data\-external=\(dq1\(dq\f[R] دست‌نخورده باقی می‌مانند؛ اسنادی که به آن‌ها پیوند می‌دهند در سند گنجانده نخواهند شد. محدودیت: منابعی که به‌طور پویا از طریق JavaScript بارگذاری می‌شوند، قابل گنجاندن نیستند؛ در نتیجه، هنگام استفاده از \f[CR]\-\-mathjax\f[R] ممکن است قلم‌ها مفقود شوند، و برخی ویژگی‌های پیشرفته (مانند بزرگ‌نمایی یا یادداشت‌های ارائه‌دهنده) ممکن است در یک نمایش اسلاید آفلاین و \(lqخودبسنده\(rq با \f[CR]reveal.js\f[R] کار نکنند. .RS .PP برای تصاویر SVG، از برچسب‌های \f[CR]img\f[R] به همراه URIهای \f[CR]data:\f[R] استفاده می‌شود، مگر اینکه تصویر کلاس \f[CR]inline\-svg\f[R] را داشته باشد، که در این صورت یک عنصر درون‌خطی SVG درج می‌شود. این رویکرد زمانی توصیه می‌شود که تکرارهای زیادی از یک SVG یکسان در یک سند وجود داشته باشد، زیرا از عناصر \f[CR]\f[R] برای کاهش افزونگی استفاده خواهد شد. .RE .TP \f[CR]\-\-link\-images[=true|false]\f[R] گنجاندن پیوندها به تصاویر به جای جاسازی تصاویر در ODT. (این گزینه در حال حاضر تنها بر خروجی ODT تأثیر می‌گذارد.) .TP \f[CR]\-\-html\-q\-tags[=true|false]\f[R] استفاده از برچسب‌های \f[CR]\f[R] برای نقل‌قول‌ها در HTML. (این گزینه تنها زمانی تأثیر دارد که افزونهٔ \f[CR]smart\f[R] برای قالب ورودی مورد استفاده فعال باشد.) .TP \f[CR]\-\-ascii[=true|false]\f[R] استفادهٔ انحصاری از نویسه‌های ASCII در خروجی. در حال حاضر برای قالب‌های XML و HTML (که در صورت انتخاب این گزینه، به جای UTF\-8 از نهادها استفاده می‌کنند)، CommonMark، gfm و Markdown (که از نهادها استفاده می‌کنند)، roff man و ms (که از گریزهای هگزادسیمال استفاده می‌کنند)، و تا حدی محدود LaTeX (که در صورت امکان از دستورهای استاندارد برای نویسه‌های اعراب‌دار استفاده می‌کند) پشتیبانی می‌شود. .TP \f[CR]\-\-reference\-links[=true|false]\f[R] استفاده از پیوندهای سبک مرجع (reference\-style) به جای پیوندهای درون‌خطی، در نوشتن Markdown یا reStructuredText. به‌طور پیش‌فرض از پیوندهای درون‌خطی استفاده می‌شود. محل قرارگیری مراجع پیوند تحت تأثیر گزینهٔ \f[CR]\-\-reference\-location\f[R] قرار می‌گیرد. .TP \f[CR]\-\-reference\-location=block\f[R]|\f[CR]section\f[R]|\f[CR]document\f[R] مشخص کردن اینکه پانویس‌ها (و مراجع، در صورت تنظیم \f[CR]reference\-links\f[R]) در انتهای بلوک فعلی (سطح بالا)، بخش فعلی، یا سند قرار گیرند. پیش‌فرض \f[CR]document\f[R] است. در حال حاضر این گزینه تنها بر نویسنده‌های \f[CR]markdown\f[R]، \f[CR]muse\f[R]، \f[CR]html\f[R]، \f[CR]epub\f[R]، \f[CR]slidy\f[R]، \f[CR]s5\f[R]، \f[CR]slideous\f[R]، \f[CR]dzslides\f[R] و \f[CR]revealjs\f[R] تأثیر دارد. در قالب‌های اسلاید، مشخص کردن \f[CR]\-\-reference\-location=section\f[R] باعث رندر شدن یادداشت‌ها در پایین یک اسلاید می‌شود. .TP \f[CR]\-\-figure\-caption\-position=above\f[R]|\f[CR]below\f[R] مشخص کردن اینکه عنوان شکل‌ها در بالا یا پایین شکل‌ها قرار گیرد (پیش‌فرض \f[CR]below\f[R] است). این گزینه تنها بر خروجی HTML، LaTeX، Docx، ODT و Typst تأثیر می‌گذارد. .TP \f[CR]\-\-table\-caption\-position=above\f[R]|\f[CR]below\f[R] مشخص کردن اینکه عنوان جدول‌ها در بالا یا پایین جدول‌ها قرار گیرد (پیش‌فرض \f[CR]above\f[R] است). این گزینه تنها بر خروجی HTML، LaTeX، Docx، ODT و Typst تأثیر می‌گذارد. .TP \f[CR]\-\-markdown\-headings=setext\f[R]|\f[CR]atx\f[R] مشخص کردن استفاده از سرآیندهای سبک ATX (با پیشوند \f[CR]#\f[R]) یا سبک Setext (خط‌کشیده‌شده در زیر) برای سرآیندهای سطح ۱ و ۲ در خروجی Markdown. (پیش‌فرض \f[CR]atx\f[R] است.) سرآیندهای سبک ATX همیشه برای سطوح ۳ به بالا استفاده می‌شوند. این گزینه همچنین بر سلول‌های Markdown در خروجی \f[CR]ipynb\f[R] تأثیر می‌گذارد. .TP \f[CR]\-\-list\-tables[=true|false]\f[R] رندر کردن جدول‌ها به عنوان جدول‌های فهرستی (list tables) در خروجی RST. .TP \f[CR]\-\-top\-level\-division=default\f[R]|\f[CR]section\f[R]|\f[CR]chapter\f[R]|\f[CR]part\f[R] در نظر گرفتن سرآیندهای بالاترین سطح به عنوان نوع تقسیم‌بندی داده‌شده در خروجی LaTeX، ConTeXt، DocBook و TEI. ترتیب سلسله‌مراتب عبارت است از part، chapter، سپس section؛ تمام سرآیندها به نحوی جابه‌جا می‌شوند که بالاترین سرآیند به نوع مشخص‌شده تبدیل شود. رفتار پیش‌فرض، تعیین بهترین نوع تقسیم‌بندی از طریق روش‌های مکاشفه‌ای (heuristics) است: مگر اینکه شرایط دیگری اعمال شود، \f[CR]section\f[R] انتخاب می‌شود. هنگامی که متغیر \f[CR]documentclass\f[R] بر روی \f[CR]report\f[R]، \f[CR]book\f[R] یا \f[CR]memoir\f[R] تنظیم شده باشد (مگر اینکه گزینهٔ \f[CR]article\f[R] مشخص شده باشد)، \f[CR]chapter\f[R] به عنوان تنظیم این گزینه در نظر گرفته می‌شود. اگر \f[CR]beamer\f[R] قالب خروجی باشد، تعیین هر یک از \f[CR]chapter\f[R] یا \f[CR]part\f[R] باعث تبدیل سرآیندهای بالاترین سطح به \f[CR]\(rspart{..}\f[R] می‌شود، در حالی که سرآیندهای سطح دوم به عنوان نوع پیش‌فرض خود باقی می‌مانند. .RS .PP در خروجی Docx، این گزینه در صورت انتخاب \f[CR]chapter\f[R]، شکست بخش (section break) را قبل از سرآیندهای سطح اول و در صورت انتخاب \f[CR]part\f[R]، قبل از سرآیندهای سطح اول و دوم اضافه می‌کند. شماره پانویس‌ها با هر شکست بخش از نو آغاز می‌شوند، مگر اینکه سند مرجع این مورد را تغییر دهد. .RE .TP \f[CR]\-N\f[R], \f[CR]\-\-number\-sections=[true|false]\f[R] شماره‌گذاری سرآیندهای بخش‌ها در خروجی LaTeX، ConTeXt، HTML، Docx، ms یا EPUB. به‌طور پیش‌فرض، بخش‌ها شماره‌گذاری نمی‌شوند. بخش‌های دارای کلاس \f[CR]unnumbered\f[R] هرگز شماره‌گذاری نخواهند شد، حتی اگر \f[CR]\-\-number\-sections\f[R] مشخص شده باشد. .TP \f[CR]\-\-number\-offset=\f[R]\f[I]NUMBER\f[R][\f[CR],\f[R]\f[I]NUMBER\f[R]\f[CR],\f[R]\f[I]\&...\f[R]] میزان جابه‌جایی (افست) برای شماره‌های سرآیند بخش‌ها. عدد اول به شمارهٔ بخش برای سرآیندهای سطح ۱ اضافه می‌شود، عدد دوم برای سرآیندهای سطح ۲ و به همین ترتیب. بنابراین، به عنوان مثال، اگر می‌خواهید اولین سرآیند سطح ۱ در سند شما به جای \(lq1\(rq دارای شمارهٔ \(lq6\(rq باشد، \f[CR]\-\-number\-offset=5\f[R] را مشخص کنید. اگر سند شما با یک سرآیند سطح ۲ شروع می‌شود که می‌خواهید دارای شمارهٔ \(lq1.5\(rq باشد، \f[CR]\-\-number\-offset=1,4\f[R] را تعیین کنید. \f[CR]\-\-number\-offset\f[R] تنها به‌طور مستقیم بر شمارهٔ اولین سرآیند بخش در یک سند تأثیر می‌گذارد؛ شماره‌های بعدی به روش معمول افزایش می‌یابند. مستلزم \f[CR]\-\-number\-sections\f[R] است. در حال حاضر این ویژگی تنها بر خروجی HTML و Docx تأثیر می‌گذارد. .TP \f[CR]\-\-listings[=true|false]\f[R] *منسوخ‌شده، به جای آن از \f[CR]\-\-syntax\-highlighting=idiomatic\f[R] یا \f[CR]\-\-syntax\-highlighting=default\f[R] استفاده کنید. .RS .PP استفاده از بستهٔ \f[CR]listings\f[R] برای بلوک‌های کد LaTeX. این بسته از کدگذاری چندبایتی برای کد منبع پشتیبانی نمی‌کند. برای پشتیبانی از UTF\-8 باید از یک الگوی سفارشی استفاده کنید. این مشکل به‌طور کامل در اینجا مستند شده است: Encoding issue with the listings package. .RE .TP \f[CR]\-i\f[R], \f[CR]\-\-incremental[=true|false]\f[R] نمایش گام‌به‌گام (یکی پس از دیگری) آیتم‌های فهرست در نمایش‌های اسلاید. پیش‌فرض این است که فهرست‌ها به‌طور یک‌جا نمایش داده شوند. .TP \f[CR]\-\-slide\-level=\f[R]\f[I]NUMBER\f[R] مشخص می‌کند که سرآیندهای با سطح تعیین‌شده، اسلاید ایجاد کنند (برای \f[CR]beamer\f[R]، \f[CR]revealjs\f[R]، \f[CR]pptx\f[R]، \f[CR]s5\f[R]، \f[CR]slidy\f[R]، \f[CR]slideous\f[R]، \f[CR]dzslides\f[R]). سرآیندهای بالاتر از این سطح در سلسله‌مراتب برای تقسیم نمایش اسلاید به بخش‌ها استفاده می‌شوند؛ سرآیندهای پایین‌تر از این سطح، زیرعنوان‌هایی را درون یک اسلاید می‌سازند. مقدارهای معتبر 0\-6 هستند. اگر سطح اسلاید 0 مشخص شود، اسلایدها به‌طور خودکار روی سرآیندها تقسیم نمی‌شوند و برای مشخص کردن مرزهای اسلاید باید از خطوط افقی استفاده شود. اگر سطح اسلاید به‌طور صریح مشخص نشود، سطح اسلاید به‌طور خودکار بر اساس محتوای سند تنظیم خواهد شد؛ بخش Structuring the slide show را ببینید. .TP \f[CR]\-\-section\-divs[=true|false]\f[R] قراردادن بخش‌ها درون برچسب‌های \f[CR]
\f[R] (یا برچسب‌های \f[CR]
\f[R] برای \f[CR]html4\f[R])، و الصاق شناسه‌ها به \f[CR]
\f[R] (یا \f[CR]
\f[R]) دربرگیرنده به جای خود سرآیند (بخش Heading identifiers را در زیر ببینید). این گزینه تنها بر خروجی HTML تأثیر دارد (و بر قالب‌های اسلاید HTML تأثیر ندارد). .TP \f[CR]\-\-email\-obfuscation=none\f[R]|\f[CR]javascript\f[R]|\f[CR]references\f[R] تعیین یک روش برای مبهم‌سازی پیوندهای \f[CR]mailto:\f[R] در اسناد HTML. مقدار \f[CR]none\f[R] پیوندهای \f[CR]mailto:\f[R] را دست‌نخورده باقی می‌گذارد. مقدار \f[CR]javascript\f[R] آن‌ها را با استفاده از JavaScript مبهم می‌کند. مقدار \f[CR]references\f[R] آن‌ها را با چاپ حروفشان به عنوان ارجاع‌های نویسه‌ای ده‌دهی یا هگزادسیمال مبهم می‌کند. پیش‌فرض \f[CR]none\f[R] است. .TP \f[CR]\-\-id\-prefix=\f[R]\f[I]STRING\f[R] تعیین یک پیشوند برای اضافه شدن به تمامی شناسه‌ها و پیوندهای داخلی در خروجی HTML و DocBook، و به شماره‌های پانویس در خروجی Markdown و Haddock. این گزینه برای جلوگیری از شناسه‌های تکراری هنگام تولید قطعه‌هایی که قرار است در صفحات دیگر گنجانده شوند، مفید است. .TP \f[CR]\-T\f[R] \f[I]STRING\f[R], \f[CR]\-\-title\-prefix=\f[R]\f[I]STRING\f[R] تعیین \f[I]STRING\f[R] به عنوان پیشوند در ابتدای عنوانی که در سرآیند (header) اچ‌تی‌ام‌ال ظاهر می‌شود (اما نه در عنوانی که در ابتدای بدنهٔ HTML ظاهر می‌شود). مستلزم \f[CR]\-\-standalone\f[R] است..TP \f[CR]\-c\f[R] \f[I]URL\f[R], \f[CR]\-\-css=\f[R]\f[I]URL\f[R] پیوند به یک شیوه‌نامهٔ CSS. این گزینه می‌تواند برای افزودن چندین فایل به‌طور مکرر استفاده شود. فایل‌ها به همان ترتیبی که مشخص شده‌اند اضافه خواهند شد. این گزینه فقط بر خروجی‌های HTML (شامل اسلایدهای HTML) و EPUB اثر می‌گذارد. باید همراه با \f[CR]\-s/\-\-standalone\f[R] استفاده شود، زیرا پیوند به شیوه‌نامه در سرایند سند قرار می‌گیرد. .RS .PP برای ساخت EPUB وجود یک شیوه‌نامه الزامی است. اگر هیچ موردی با استفاده از این گزینه (یا فیلدهای فرادادهٔ \f[CR]css\f[R] یا \f[CR]stylesheet\f[R]) ارائه نشود، pandoc به دنبال فایل \f[CR]epub.css\f[R] در دایرکتوری داده‌های کاربر می‌گردد (گزینهٔ \f[CR]\-\-data\-dir\f[R] را ببینید). اگر آنجا هم پیدا نشود، از مقادیر پیش‌فرض معقول استفاده خواهد شد. .RE .TP \f[CR]\-\-reference\-doc=\f[R]\f[I]FILE\f[R]|\f[I]URL\f[R] استفاده از فایل مشخص‌شده به عنوان مرجع شیوه در تولید فایل docx یا ODT. .RS .TP Docx برای بهترین نتیجه، docx مرجع باید نسخهٔ اصلاح‌شده‌ای از یک فایل docx تولیدشده با pandoc باشد. محتویات docx مرجع نادیده گرفته می‌شوند، اما شیوه‌نامه‌ها و ویژگی‌های سند آن (شامل حاشیه‌ها، اندازهٔ صفحه، سرایند و پاورقی) در docx جدید استفاده خواهند شد. اگر هیچ docx مرجعی در خط فرمان مشخص نشده باشد، pandoc به دنبال فایل \f[CR]reference.docx\f[R] در دایرکتوری داده‌های کاربر می‌گردد (گزینهٔ \f[CR]\-\-data\-dir\f[R] را ببینید). اگر این فایل هم پیدا نشود، از مقادیر پیش‌فرض معقول استفاده خواهد شد. .RS .PP برای ساخت یک \f[CR]reference.docx\f[R] سفارشی، ابتدا یک نسخه از \f[CR]reference.docx\f[R] پیش‌فرض را دریافت کنید: \f[CR]pandoc \-o custom\-reference.docx \-\-print\-default\-data\-file reference.docx\f[R]. سپس \f[CR]custom\-reference.docx\f[R] را در Word یا LibreOffice باز کرده، شیوه‌ها را مطابق میل خود تغییر دهید و فایل را ذخیره کنید. برای بهترین نتیجه، تغییری جز اصلاح شیوه‌های مورد استفادهٔ pandoc در این فایل اعمال نکنید: .PP شیوه‌های پاراگراف: .IP \(bu 2 Normal .IP \(bu 2 Body Text .IP \(bu 2 First Paragraph .IP \(bu 2 Compact .IP \(bu 2 Title .IP \(bu 2 Subtitle .IP \(bu 2 Author .IP \(bu 2 Date .IP \(bu 2 Abstract .IP \(bu 2 AbstractTitle .IP \(bu 2 Bibliography .IP \(bu 2 Heading 1 .IP \(bu 2 Heading 2 .IP \(bu 2 Heading 3 .IP \(bu 2 Heading 4 .IP \(bu 2 Heading 5 .IP \(bu 2 Heading 6 .IP \(bu 2 Heading 7 .IP \(bu 2 Heading 8 .IP \(bu 2 Heading 9 .IP \(bu 2 Block Text [برای نقل‌قول‌های بلوکی] .IP \(bu 2 Footnote Block Text [برای نقل‌قول‌های بلوکی در پاورقی] .IP \(bu 2 Source Code .IP \(bu 2 Footnote Text .IP \(bu 2 Definition Term .IP \(bu 2 Definition .IP \(bu 2 Caption .IP \(bu 2 Table Caption .IP \(bu 2 Image Caption .IP \(bu 2 Figure .IP \(bu 2 Captioned Figure .IP \(bu 2 TOC Heading .PP شیوه‌های نویسه: .IP \(bu 2 Default Paragraph Font .IP \(bu 2 Verbatim Char .IP \(bu 2 Footnote Reference .IP \(bu 2 Hyperlink .IP \(bu 2 Section Number .PP شیوهٔ جدول: .IP \(bu 2 Table .RE .TP ODT برای بهترین نتیجه، ODT مرجع باید نسخهٔ اصلاح‌شده‌ای از یک ODT تولیدشده با pandoc باشد. محتویات ODT مرجع نادیده گرفته می‌شوند، اما شیوه‌نامه‌های آن در ODT جدید استفاده خواهند شد. اگر هیچ ODT مرجعی در خط فرمان مشخص نشده باشد، pandoc به دنبال فایل \f[CR]reference.odt\f[R] در دایرکتوری داده‌های کاربر می‌گردد (گزینهٔ \f[CR]\-\-data\-dir\f[R] را ببینید). اگر این فایل هم پیدا نشود، از مقادیر پیش‌فرض معقول استفاده خواهد شد. .RS .PP برای ساخت یک \f[CR]reference.odt\f[R] سفارشی، ابتدا یک نسخه از \f[CR]reference.odt\f[R] پیش‌فرض را دریافت کنید: \f[CR]pandoc \-o custom\-reference.odt \-\-print\-default\-data\-file reference.odt\f[R]. سپس \f[CR]custom\-reference.odt\f[R] را در LibreOffice باز کرده، شیوه‌ها را مطابق میل خود تغییر دهید و فایل را ذخیره کنید. .RE .TP PowerPoint الگوهای ارائه شده همراه Microsoft PowerPoint 2013 (چه با پسوند \f[CR].pptx\f[R] یا \f[CR].potx\f[R]) و بیشتر الگوهای مشتق‌شده از آن‌ها کارایی دارند. .RS .PP شرط خاص این است که الگو باید شامل طرح‌بندی‌هایی با نام‌های زیر باشد (همان‌طور که در PowerPoint دیده می‌شوند): .IP \(bu 2 Title Slide .IP \(bu 2 Title and Content .IP \(bu 2 Section Header .IP \(bu 2 Two Content .IP \(bu 2 Comparison .IP \(bu 2 Content with Caption .IP \(bu 2 Blank .PP برای هر نام، نخستین طرح‌بندی یافت‌شده با آن نام به کار خواهد رفت. اگر طرح‌بندی با یکی از این نام‌ها پیدا نشود، pandoc یک هشدار نمایش داده و در عوض از طرح‌بندی با همان نام از سند مرجع پیش‌فرض استفاده خواهد کرد. (نحوهٔ استفاده از این طرح‌بندی‌ها در بخش PowerPoint layout choice شرح داده شده است.) .PP تمام الگوهای همراه نسخه‌های اخیر MS PowerPoint دارای این مشخصات هستند. (برای بررسی می‌توانید زیر منوی \f[CR]Home\f[R] روی \f[CR]Layout\f[R] کلیک کنید.) .PP همچنین می‌توانید \f[CR]reference.pptx\f[R] پیش‌فرض را اصلاح کنید: ابتدا دستور \f[CR]pandoc \-o custom\-reference.pptx \-\-print\-default\-data\-file reference.pptx\f[R] را اجرا کرده و سپس \f[CR]custom\-reference.pptx\f[R] را در MS PowerPoint تغییر دهید (pandoc از طرح‌بندی‌هایی با نام‌های ذکرشده در بالا استفاده خواهد کرد). .RE .RE .TP \f[CR]\-\-split\-level=\f[R]\f[I]NUMBER\f[R] سطح عنوانی را مشخص می‌کند که در آن یک سند EPUB یا chunked HTML به فایل‌های مجزا تقسیم می‌شود. حالت پیش‌فرض، تقسیم به فصل‌ها در عناوین سطح ۱ است. در مورد EPUB، این گزینه فقط بر ساختار داخلی EPUB تأثیر می‌گذارد، نه نحوهٔ نمایش فصل‌ها و بخش‌ها برای کاربران. برخی دستگاه‌های کتاب‌خوان در صورت بزرگ بودن فایل‌های فصل ممکن است کند شوند، بنابراین برای اسناد بزرگی با عناوین سطح ۱ اندک، ممکن است ترجیح دهید از سطح فصل ۲ یا ۳ استفاده کنید. برای chunked HTML، این گزینه تعیین می‌کند چه مقدار محتوا در هر \(lqتکه\(rq قرار می‌گیرد. .TP \f[CR]\-\-chunk\-template=\f[R]\f[I]PATHTEMPLATE\f[R] الگویی برای نام فایل‌ها در یک سند \f[CR]chunkedhtml\f[R] مشخص می‌کند. در این الگو، \f[CR]%n\f[R] با شمارهٔ تکه (با صفرهای پیشین تا ۳ رقم تکمیل می‌شود)، \f[CR]%s\f[R] با شمارهٔ بخشِ تکه، \f[CR]%h\f[R] با متن عنوان (بدون قالب‌بندی) و \f[CR]%i\f[R] با شناسهٔ بخش جایگزین خواهد شد. برای نمونه، \f[CR]section\-%s\-%i.html\f[R] ممکن است به \f[CR]section\-1.1\-introduction.html\f[R] تبدیل شود. نویسه‌های \f[CR]/\f[R] و \f[CR]\(rs\f[R] در الگوهای تکه مجاز نیستند و نادیده گرفته خواهند شد. حالت پیش‌فرض \f[CR]%s\-%i.html\f[R] است..TP \f[CR]\-\-epub\-chapter\-level=\f[R]\f[I]NUMBER\f[R] \f[I]مترادف منسوخ‌شده برای \f[CI]\-\-split\-level\f[I].\f[R] .TP \f[CR]\-\-epub\-cover\-image=\f[R]\f[I]FILE\f[R] استفاده از تصویر مشخص‌شده به عنوان جلد EPUB. توصیه می‌شود عرض و ارتفاع تصویر کمتر از 1000px باشد. توجه داشته باشید که در یک سند مبدأ Markdown می‌توانید \f[CR]cover\-image\f[R] را در یک بلوک فراداده YAML نیز تعیین کنید (بخش «فراداده EPUB» در زیر را ببینید). .TP \f[CR]\-\-epub\-title\-page=true\f[R]|\f[CR]false\f[R] مشخص می‌کند که آیا صفحه عنوان در EPUB گنجانده شود یا خیر (پیش‌فرض \f[CR]true\f[R] است). .TP \f[CR]\-\-epub\-metadata=\f[R]\f[I]FILE\f[R] جستجو در فایل XML مشخص‌شده برای فراداده EPUB. این فایل باید شامل مجموعه‌ای از عناصر Dublin Core باشد. برای مثال: .RS .IP .EX Creative Commons es\-AR .EE .PP به‌طور پیش‌فرض، pandoc عناصر فراداده زیر را می‌گنجاند: \f[CR]\f[R] (از عنوان سند)، \f[CR]\f[R] (از نویسندگان سند)، \f[CR]\f[R] (از تاریخ سند که باید در قالب ISO 8601 باشد)، \f[CR]\f[R] (از متغیر \f[CR]lang\f[R]، یا در صورت تنظیم نبودن، محلی‌سازی سیستم)، و \f[CR]\f[R] (یک UUID به‌صورت تصادفی تولیدشده). هر یک از این موارد می‌تواند توسط عناصر موجود در فایل فراداده رونویسی شود. .PP نکته: اگر سند مبدأ Markdown باشد، می‌توان به جای آن از یک بلوک فراداده YAML در سند استفاده کرد. بخش «فراداده EPUB» در زیر را ببینید. .RE .TP \f[CR]\-\-epub\-embed\-font=\f[R]\f[I]FILE\f[R] جاسازی فونت مشخص‌شده در EPUB. این گزینه را می‌توان برای جاسازی چندین فونت تکرار کرد. همچنین می‌توان از نویسه‌های عمومی (wildcards) استفاده کرد: برای مثال، \f[CR]DejaVuSans\-*.ttf\f[R]. با این حال، اگر در خط فرمان از نویسه‌های عمومی استفاده می‌کنید، برای جلوگیری از تفسیر آن‌ها توسط پوسته، مطمئن شوید که آن‌ها را با escape مشخص کرده یا کل نام فایل را در نقل‌قول تکی (single quotes) قرار دهید. برای استفاده از فونت‌های جاسازی‌شده، باید اعلان‌هایی مانند نمونه زیر را به CSS خود اضافه کنید (گزینه \f[CR]\-\-css\f[R] را ببینید): .RS .IP .EX \(atfont\-face { font\-family: DejaVuSans; font\-style: normal; font\-weight: normal; src:url(\(dq../fonts/DejaVuSans\-Regular.ttf\(dq); } \(atfont\-face { font\-family: DejaVuSans; font\-style: normal; font\-weight: bold; src:url(\(dq../fonts/DejaVuSans\-Bold.ttf\(dq); } \(atfont\-face { font\-family: DejaVuSans; font\-style: italic; font\-weight: normal; src:url(\(dq../fonts/DejaVuSans\-Oblique.ttf\(dq); } \(atfont\-face { font\-family: DejaVuSans; font\-style: italic; font\-weight: bold; src:url(\(dq../fonts/DejaVuSans\-BoldOblique.ttf\(dq); } body { font\-family: \(dqDejaVuSans\(dq; } .EE .RE .TP \f[CR]\-\-epub\-subdirectory=\f[R]\f[I]DIRNAME\f[R] مشخص کردن زیردایرکتوری در ظرف OCF که باید محتوای مخصوص EPUB را در خود نگه‌داری کند. پیش‌فرض \f[CR]EPUB\f[R] است. برای قرار دادن محتویات EPUB در بالاترین سطح، از یک رشته خالی استفاده کنید. .TP \f[CR]\-\-ipynb\-output=all|none|best\f[R] نحوه رفتار با سلول‌های خروجی ipynb را تعیین می‌کند. مقدار \f[CR]all\f[R] یعنی تمام قالب‌های داده موجود در فایل اصلی حفظ شوند. مقدار \f[CR]none\f[R] یعنی محتوای سلول‌های داده حذف شوند. مقدار \f[CR]best\f[R] باعث می‌شود pandoc تلاش کند غنی‌ترین بلوک داده در هر سلول خروجی را که با قالب خروجی سازگار است انتخاب کند. پیش‌فرض \f[CR]best\f[R] است. .TP \f[CR]\-\-pdf\-engine=\f[R]\f[I]PROGRAM\f[R] استفاده از موتور مشخص‌شده هنگام تولید خروجی PDF. مقادیر معتبر عبارتند از: \f[CR]pdflatex\f[R]، \f[CR]lualatex\f[R]، \f[CR]xelatex\f[R]، \f[CR]latexmk\f[R]، \f[CR]tectonic\f[R]، \f[CR]wkhtmltopdf\f[R]، \f[CR]weasyprint\f[R]، \f[CR]pagedjs\-cli\f[R]، \f[CR]prince\f[R]، \f[CR]context\f[R]، \f[CR]groff\f[R]، \f[CR]pdfroff\f[R] و \f[CR]typst\f[R]. اگر موتور در PATH شما نباشد، می‌توان مسیر کامل آن را در اینجا مشخص کرد. اگر این گزینه مشخص نشود، pandoc بسته به قالب خروجی تعیین‌شده با استفاده از \f[CR]\-t/\-\-to\f[R]، از پیش‌فرض‌های زیر استفاده می‌کند: .RS .IP \(bu 2 \f[CR]\-t latex\f[R] یا هیچ‌کدام: \f[CR]pdflatex\f[R] (گزینه‌های دیگر: \f[CR]xelatex\f[R]، \f[CR]lualatex\f[R]، \f[CR]tectonic\f[R]، \f[CR]latexmk\f[R]) .IP \(bu 2 \f[CR]\-t context\f[R]: \f[CR]context\f[R] .IP \(bu 2 \f[CR]\-t html\f[R]: \f[CR]weasyprint\f[R] (گزینه‌های دیگر: \f[CR]prince\f[R]، \f[CR]wkhtmltopdf\f[R]، \f[CR]pagedjs\-cli\f[R]؛ برای مقدمه‌ای مناسب در مورد تولید PDF از HTML/CSS وب‌گاه print\-css.rocks را ببینید) .IP \(bu 2 \f[CR]\-t ms\f[R]: \f[CR]groff\f[R] .IP \(bu 2 \f[CR]\-t typst\f[R]: \f[CR]typst\f[R] .PP این گزینه معمولاً برای زمانی در نظر گرفته شده است که یک فایل PDF به عنوان \f[CR]\-o/\-\-output\f[R] مشخص شده باشد. با این حال، ممکن است هنگام درخواست سایر قالب‌های خروجی نیز اثرگذار باشد. برای مثال، خروجی \f[CR]ms\f[R] تنها در صورتی شامل ماکروهای \f[CR].pdfhref\f[R] خواهد بود که یک \f[CR]\-\-pdf\-engine\f[R] انتخاب شده باشد، و این ماکروها بسته به این که \f[CR]groff\f[R] یا \f[CR]pdfroff\f[R] مشخص شده باشد به شکل متفاوتی کدگذاری خواهند شد. .RE .TP \f[CR]\-\-pdf\-engine\-opt=\f[R]\f[I]STRING\f[R] استفاده از رشته داده‌شده به عنوان آرگومان خط فرمان برای \f[CR]pdf\-engine\f[R]. برای مثال، جهت استفاده از دایرکتوری پایدار \f[CR]foo\f[R] برای فایل‌های کمکی \f[CR]latexmk\f[R]، از \f[CR]\-\-pdf\-engine\-opt=\-outdir=foo\f[R] استفاده کنید. توجه داشته باشید که هیچ بررسی برای گزینه‌های تکراری انجام نمی‌شود..SS بازنمایی ارجاعات .TP \f[CR]\-C\f[R], \f[CR]\-\-citeproc\f[R] ارجاعات موجود در فایل را پردازش کرده، آن‌ها را با ارجاعات بازنمایی‌شده جایگزین می‌کند و یک کتاب‌شناسی می‌افزاید. پردازش ارجاعات انجام نخواهد شد مگر آن‌که داده‌های کتاب‌شناختی فراهم شده باشند؛ چه از طریق یک فایل خارجی مشخص‌شده با استفاده از گزینهٔ \f[CR]\-\-bibliography\f[R] یا فیلد \f[CR]bibliography\f[R] در فراداده، یا از طریق بخش \f[CR]references\f[R] در فراداده شامل فهرستی از ارجاعات در قالب CSL YAML با قالب‌بندی Markdown. شیوه‌نامه توسط یک شیوه‌نامهٔ CSL مشخص‌شده با استفاده از گزینهٔ \f[CR]\-\-csl\f[R] یا فیلد \f[CR]csl\f[R] در فراداده کنترل می‌شود. (اگر هیچ شیوه‌نامه‌ای تعیین نشده باشد، شیوهٔ \f[CR]chicago\-author\-date\f[R] به‌طور پیش‌فرض استفاده خواهد شد.) تبدیل پردازش ارجاع ممکن است پیش یا پس از فیلترها یا فیلترهای Lua اعمال شود (ببینید \f[CR]\-\-filter\f[R]، \f[CR]\-\-lua\-filter\f[R]): این تبدیل‌ها به همان ترتیبی که در خط فرمان ظاهر می‌شوند اعمال خواهند شد. برای اطلاعات بیشتر، بخش ارجاعات (Citations) را ببینید. .RS .PP نکته: در صورت تعیین این گزینه، افزونهٔ \f[CR]citations\f[R] به‌طور خودکار در نویسنده (writer) غیرفعال می‌شود تا اطمینان حاصل شود که به جای نحو ارجاعی خودِ قالب، ارجاعات تولیدشده توسط citeproc بازنمایی می‌شوند. .RE .TP \f[CR]\-\-bibliography=\f[R]\f[I]FILE\f[R] فیلد \f[CR]bibliography\f[R] را در فرادادهٔ سند روی \f[I]FILE\f[R] تنظیم می‌کند و هر مقداری را که در فراداده تعیین شده باشد بازنویسی می‌نماید. اگر این آرگومان را چندین بار ارائه دهید، هر \f[I]FILE\f[R] به کتاب‌شناسی اضافه خواهد شد. اگر \f[I]FILE\f[R] یک نشانی URL باشد، از طریق HTTP واکشی خواهد شد. اگر \f[I]FILE\f[R] نسبت به دایرکتوری کاری پیدا نشود، در مسیر منبع جستجو خواهد شد (ببینید \f[CR]\-\-resource\-path\f[R]). .TP \f[CR]\-\-csl=\f[R]\f[I]FILE\f[R] فیلد \f[CR]csl\f[R] را در فرادادهٔ سند روی \f[I]FILE\f[R] تنظیم می‌کند و هر مقدار تعیین‌شده در فراداده را بازنویسی می‌نماید. (این معادل \f[CR]\-\-metadata csl=FILE\f[R] است.) اگر \f[I]FILE\f[R] یک نشانی URL باشد، از طریق HTTP واکشی خواهد شد. اگر \f[I]FILE\f[R] نسبت به دایرکتوری کاری پیدا نشود، در مسیر منبع (ببینید \f[CR]\-\-resource\-path\f[R]) و در نهایت در زیرپوشهٔ \f[CR]csl\f[R] از دایرکتوری داده‌های کاربر pandoc جستجو خواهد شد. .TP \f[CR]\-\-citation\-abbreviations=\f[R]\f[I]FILE\f[R] فیلد \f[CR]citation\-abbreviations\f[R] را در فرادادهٔ سند روی \f[I]FILE\f[R] تنظیم می‌کند و هر مقدار تعیین‌شده در فراداده را بازنویسی می‌نماید. (این معادل \f[CR]\-\-metadata citation\-abbreviations=FILE\f[R] است.) اگر \f[I]FILE\f[R] یک نشانی URL باشد، از طریق HTTP واکشی خواهد شد. اگر \f[I]FILE\f[R] نسبت به دایرکتوری کاری پیدا نشود، در مسیر منبع (ببینید \f[CR]\-\-resource\-path\f[R]) و در نهایت در زیرپوشهٔ \f[CR]csl\f[R] از دایرکتوری داده‌های کاربر pandoc جستجو خواهد شد. .TP \f[CR]\-\-natbib\f[R] استفاده از \f[CR]natbib\f[R] برای ارجاعات در خروجی LaTeX. این گزینه نباید به همراه گزینهٔ \f[CR]\-\-citeproc\f[R] یا با خروجی PDF استفاده شود. هدف از آن استفاده در تولید یک فایل LaTeX است که بتوان با \f[CR]bibtex\f[R] آن را پردازش کرد. .TP \f[CR]\-\-biblatex\f[R] استفاده از \f[CR]biblatex\f[R] برای ارجاعات در خروجی LaTeX. این گزینه نباید به همراه گزینهٔ \f[CR]\-\-citeproc\f[R] یا با خروجی PDF استفاده شود. هدف از آن استفاده در تولید یک فایل LaTeX است که بتوان با \f[CR]bibtex\f[R] یا \f[CR]biber\f[R] آن را پردازش کرد. .SS بازنمایی ریاضی در HTML حالت پیش‌فرض این است که ریاضیات TeX تا جای ممکن با استفاده از نویسه‌های Unicode بازنمایی شوند. فرمول‌ها درون یک \f[CR]span\f[R] با \f[CR]class=\(dqmath\(dq\f[R] قرار می‌گیرند تا در صورت نیاز بتوان سبک آن‌ها را متفاوت از متن اطراف قالب‌بندی کرد. با این حال، این روش تنها برای ریاضیات پایه نتایج قابل قبولی ارائه می‌دهد و معمولاً مایل خواهید بود از \f[CR]\-\-mathjax\f[R] یا یکی دیگر از گزینه‌های زیر استفاده کنید. .TP \f[CR]\-\-mathjax\f[R][\f[CR]=\f[R]\f[I]URL\f[R]] استفاده از MathJax برای نمایش ریاضیات تعبیه‌شدهٔ TeX در خروجی HTML. ریاضیات TeX بین \f[CR]\(rs(...\(rs)\f[R] (برای ریاضیات درون‌خطی) یا \f[CR]\(rs[...\(rs]\f[R] (برای ریاضیات نمایشی) قرار داده شده و درون تگ‌های \f[CR]\f[R] با کلاس \f[CR]math\f[R] پیچیده می‌شوند. سپس جاوااسکریپت MathJax آن را بازنمایی خواهد کرد. آرگومان \f[I]URL\f[R] باید به اسکریپت بارگذاری \f[CR]MathJax.js\f[R] اشاره داشته باشد. اگر \f[I]URL\f[R] ارائه نشود، پیوندی به Cloudflare CDN درج خواهد شد. .TP \f[CR]\-\-mathml\f[R] تبدیل ریاضیات TeX به MathML (در \f[CR]epub3\f[R]، \f[CR]docbook4\f[R]، \f[CR]docbook5\f[R]، \f[CR]jats\f[R]، \f[CR]html4\f[R] و \f[CR]html5\f[R]). این مورد در خروجی \f[CR]odt\f[R] پیش‌فرض است. MathML به‌طور بومی توسط مرورگرهای وب اصلی و برخی کتاب‌خوان‌های الکترونیکی منتخب پشتیبانی می‌شود. .TP \f[CR]\-\-webtex\f[R][\f[CR]=\f[R]\f[I]URL\f[R]] تبدیل فرمول‌های TeX به تگ‌های \f[CR]\f[R] که به یک اسکریپت خارجی پیوند دارند که فرمول‌ها را به تصویر تبدیل می‌کند. فرمول به‌صورت کدگذاری URL (URL\-encode) درآمده و به نشانی URL ارائه‌شده الحاق می‌شود. به‌عنوان مثال، برای تصاویر SVG می‌توانید از \f[CR]\-\-webtex https://latex.codecogs.com/svg.latex?\f[R] استفاده کنید. اگر هیچ نشانی URL تعیین نشود، نشانی URL تولیدکنندهٔ PNG در CodeCogs استفاده خواهد شد (\f[CR]https://latex.codecogs.com/png.latex?\f[R]). نکته: گزینهٔ \f[CR]\-\-webtex\f[R] علاوه بر HTML بر خروجی Markdown نیز تأثیر خواهد گذاشت که اگر نگارشی از Markdown بدون پشتیبانی بومی از ریاضیات را هدف قرار داده باشید، مفید است. .TP \f[CR]\-\-katex\f[R][\f[CR]=\f[R]\f[I]URL\f[R]] استفاده از KaTeX برای نمایش ریاضیات تعبیه‌شدهٔ TeX در خروجی HTML. مقدار \f[I]URL\f[R] نشانیِ پایه برای کتابخانهٔ KaTeX است. آن دایرکتوری باید حاوی یک فایل \f[CR]katex.min.js\f[R] و یک فایل \f[CR]katex.min.css\f[R] باشد. اگر \f[I]URL\f[R] ارائه نشود، پیوندی به KaTeX CDN درج خواهد شد. .TP \f[CR]\-\-gladtex\f[R] قرار دادن ریاضیات TeX درون تگ‌های \f[CR]\f[R] در خروجی HTML. خروجی HTML حاصل می‌تواند متعاقباً توسط GladTeX پردازش شود تا تصاویر SVG از فرمول‌های حروف‌چینی‌شده و یک فایل HTML شامل این تصاویرِ تعبیه‌شده را تولید کند. .RS .IP .EX pandoc \-s \-\-gladtex input.md \-o myfile.htex gladtex \-d image_dir myfile.htex # produces myfile.html and images in image_dir .EE .RE.SS "گزینه‌ها برای اسکریپت‌های پوششی (Options for wrapper scripts)" .TP \f[CR]\-\-dump\-args[=true|false]\f[R] اطلاعات مربوط به آرگومان‌های خط فرمان را در \f[I]stdout\f[R] چاپ کرده و سپس خارج می‌شود. این گزینه در درجه اول برای استفاده در اسکریپت‌های پوششی در نظر گرفته شده است. خط اول خروجی حاوی نام فایل خروجی مشخص‌شده با گزینهٔ \f[CR]\-o\f[R] است، یا در صورتی که فایل خروجی مشخص نشده باشد، حاوی \f[CR]\-\f[R] (برای \f[I]stdout\f[R]) خواهد بود. خطوط باقی‌مانده شامل آرگومان‌های خط فرمان هستند؛ هر کدام در یک خط، و به ترتیبی که ظاهر شده‌اند. این موارد شامل گزینه‌های معمول pandoc و آرگومان‌های آن‌ها نمی‌شوند، اما شامل هر گزینه‌ای هستند که پس از جداکنندهٔ \f[CR]\-\-\f[R] در انتهای خط آمده باشد. .TP \f[CR]\-\-ignore\-args[=true|false]\f[R] نادیده گرفتن آرگومان‌های خط فرمان (برای استفاده در اسکریپت‌های پوششی). گزینه‌های معمول pandoc نادیده گرفته نمی‌شوند. بنابراین، به عنوان مثال، .RS .IP .EX pandoc \-\-ignore\-args \-o foo.html \-s foo.txt \-\- \-e latin1 .EE .PP معادل است با: .IP .EX pandoc \-o foo.html \-s .EE .RE .SH "کدهای خروج (EXIT CODES)" اگر pandoc با موفقیت به پایان برسد، کد خروج 0 را برمی‌گرداند. کدهای خروج غیرصفر معانی زیر را دارند: .RS -14n .IP .EX Code Error \-\-\-\-\-\- \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- 1 PandocIOError 3 PandocFailOnWarningError 4 PandocAppError 5 PandocTemplateError 6 PandocOptionError 21 PandocUnknownReaderError 22 PandocUnknownWriterError 23 PandocUnsupportedExtensionError 24 PandocCiteprocError 25 PandocBibliographyError 31 PandocEpubSubdirectoryError 43 PandocPDFError 44 PandocXMLError 47 PandocPDFProgramNotFoundError 61 PandocHttpError 62 PandocShouldNeverHappenError 63 PandocSomeError 64 PandocParseError 66 PandocMakePDFError 67 PandocSyntaxMapError 83 PandocFilterError 84 PandocLuaError 89 PandocNoScriptingEngine 91 PandocMacroLoop 92 PandocUTF8DecodingError 93 PandocIpynbDecodingError 94 PandocUnsupportedCharsetError 95 PandocInputNotTextError 97 PandocCouldNotFindDataFileError 98 PandocCouldNotFindMetadataFileError 99 PandocResourceNotFound .EE .RE .SH "فایل‌های پیش‌فرض (DEFAULTS FILES)" گزینهٔ \f[CR]\-\-defaults\f[R] می‌تواند برای تعیین بسته‌ای از گزینه‌ها در قالب یک فایل YAML یا JSON استفاده شود. مثال‌های این بخش به زبان YAML ارائه می‌شوند، اما شکل‌های معادل در JSON نیز کار خواهند کرد. .PP فیلدهایی که از قلم افتاده‌اند، مقادیر پیش‌فرض معمول خود را خواهند داشت. بنابراین یک فایل پیش‌فرض می‌تواند به سادگی یک خط باشد: .IP .EX verbosity\f[B]:\f[R] INFO .EE .PP یا در JSON: .IP .EX { \(dqverbosity\(dq: \(dqINFO\(dq } .EE .PP در فیلدهایی که انتظار یک مسیر فایل (یا فهرستی از مسیرهای فایل) را دارند، نحو زیر می‌تواند برای جای‌گذاری متغیرهای محیطی استفاده شود: .IP .EX csl\f[B]:\f[R] ${HOME}/mycsldir/special.csl .EE .PP از \f[CR]${USERDATA}\f[R] نیز می‌توان استفاده کرد؛ این عبارت، صرف‌نظر از مقدار متغیر محیطی \f[CR]USERDATA\f[R]، همواره به دایرکتوری داده‌های کاربر در زمان تجزیهٔ فایل پیش‌فرض اشاره خواهد کرد. .PP عبارت \f[CR]${.}\f[R] به دایرکتوری حاوی خودِ فایل پیش‌فرض اشاره خواهد کرد. این به شما امکان می‌دهد تا به منابع موجود در آن دایرکتوری ارجاع دهید: .IP .EX epub\-cover\-image\f[B]:\f[R] ${.}/cover.jpg epub\-metadata\f[B]:\f[R] ${.}/meta.xml resource\-path\f[B]:\f[R] \f[B]\-\f[R] .\f[I] # the working directory from which pandoc is run\f[R] \f[B]\-\f[R] ${.}/images\f[I] # the images subdirectory of the directory\f[R] \f[I] # containing this defaults file\f[R] .EE .PP این نحوِ جای‌گذاری متغیر محیطی \f[I]فقط\f[R] در فیلدهایی کار می‌کند که انتظار مسیر فایل را دارند. .PP فایل‌های پیش‌فرض را می‌توان در زیردایرکتوری \f[CR]defaults\f[R] از دایرکتوری داده‌های کاربر قرار داد و از هر دایرکتوری‌ای استفاده کرد. به عنوان مثال، می‌توان فایلی برای تعیین پیش‌فرض‌های نگارش نامه ایجاد کرد، آن را به عنوان \f[CR]letter.yaml\f[R] در زیردایرکتوری \f[CR]defaults\f[R] از دایرکتوری داده‌های کاربر ذخیره کرد و سپس این پیش‌فرض‌ها را از هر دایرکتوری با استفاده از \f[CR]pandoc \-\-defaults letter\f[R] یا \f[CR]pandoc \-dletter\f[R] فراخوانی کرد. .PP هنگامی که چندین فایل پیش‌فرض استفاده می‌شوند، محتویات آن‌ها با یکدیگر ترکیب خواهند شد. .PP توجه داشته باشید که در مواردی که آرگومان‌های خط فرمان قابل تکرار هستند (\f[CR]\-\-metadata\-file\f[R]، \f[CR]\-\-css\f[R]، \f[CR]\-\-include\-in\-header\f[R]، \f[CR]\-\-include\-before\-body\f[R]، \f[CR]\-\-include\-after\-body\f[R]، \f[CR]\-\-variable\f[R]، \f[CR]\-\-metadata\f[R]، \f[CR]\-\-syntax\-definition\f[R])، مقادیر مشخص‌شده در خط فرمان با مقادیر مشخص‌شده در فایل پیش‌فرض ترکیب می‌شوند، نه اینکه جایگزین آن‌ها گردند. .PP جدول‌های زیر نگاشت بین ورودی‌های خط فرمان و فایل‌های پیش‌فرض را نشان می‌دهند. .RS -14n .IP .EX command line defaults file \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- foo.md input\-file: foo.md foo.md bar.md input\-files: \- foo.md \- bar.md .EE .RE .PP مقدار \f[CR]input\-files\f[R] می‌تواند برای نشان دادن ورودی از stdin خالی گذاشته شود، و همچنین می‌تواند یک توالی خالی \f[CR][]\f[R] برای عدم ورودی باشد..SS گزینه‌های عمومی (General options) .RS -14n .IP .EX command line defaults file \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- \-\-from markdown+emoji from: markdown+emoji reader: markdown+emoji \-\-to markdown+hard_line_breaks to: markdown+hard_line_breaks writer: markdown+hard_line_breaks \-\-output foo.pdf output\-file: foo.pdf \-\-output \- output\-file: \-\-data\-dir dir data\-dir: dir \-\-defaults file defaults: \- file \-\-verbose verbosity: INFO \-\-quiet verbosity: ERROR \-\-fail\-if\-warnings fail\-if\-warnings: true \-\-sandbox sandbox: true \-\-log=FILE log\-file: FILE .EE .RE .PP گزینه‌های مشخص‌شده در خود یک فایل پیش‌فرض‌ها، همواره نسبت به گزینه‌های موجود در فایل دیگری که با مدخل \f[CR]defaults:\f[R] گنجانده شده است، اولویت دارند. .PP \f[CR]verbosity\f[R] می‌تواند دارای مقادیر \f[CR]ERROR\f[R]، \f[CR]WARNING\f[R] یا \f[CR]INFO\f[R] باشد. .SS گزینه‌های خواننده (Reader options) .RS -14n .IP .EX command line defaults file \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- \-\-shift\-heading\-level\-by \-1 shift\-heading\-level\-by: \-1 \-\-indented\-code\-classes python indented\-code\-classes: \- python \-\-default\-image\-extension \(dq.jpg\(dq default\-image\-extension: \(aq.jpg\(aq \-\-file\-scope file\-scope: true \-\-citeproc \(rs filters: \-\-lua\-filter count\-words.lua \(rs \- citeproc \-\-filter special.lua \- count\-words.lua \- type: json path: special.lua \-\-metadata key=value \(rs metadata: \-\-metadata key2 key: value key2: true \-\-metadata\-file meta.yaml metadata\-files: \- meta.yaml metadata\-file: meta.yaml \-\-preserve\-tabs preserve\-tabs: true \-\-tab\-stop 8 tab\-stop: 8 \-\-track\-changes accept track\-changes: accept \-\-extract\-media dir extract\-media: dir \-\-abbreviations abbrevs.txt abbreviations: abbrevs.txt \-\-typst\-input foo=bar typst\-inputs: foo: bar \-\-trace trace: true .EE .RE .PP مقادیر متادیتای مشخص‌شده در یک فایل پیش‌فرض‌ها، به‌صورت متن رشته‌ای لفظی (literal)، و نه Markdown، تجزیه می‌شوند. .PP فیلترها در صورتی که پسوند \f[CR].lua\f[R] داشته باشند، فیلتر Lua و در غیر این صورت فیلتر JSON فرض می‌شوند. با این حال، همان‌طور که نشان داده شده است، نوع فیلتر می‌تواند به‌صورت صریح نیز مشخص شود. فیلترها به همان ترتیبی که مشخص شده‌اند اجرا می‌شوند. برای گنجاندن فیلتر توکار citeproc، از \f[CR]citeproc\f[R] یا \f[CR]{type: citeproc}\f[R] استفاده کنید. .SS گزینه‌های عمومی نویسنده (General writer options) .RS -14n .IP .EX command line defaults file \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- \-\-standalone standalone: true \-\-template letter template: letter \-\-variable key=val \(rs variables: \-\-variable key2 key: val key2: true \-\-eol nl eol: nl \-\-dpi 300 dpi: 300 \-\-wrap preserve wrap: \(dqpreserve\(dq \-\-columns 72 columns: 72 \-\-table\-of\-contents table\-of\-contents: true \-\-toc toc: true \-\-toc\-depth 3 toc\-depth: 3 \-\-strip\-comments strip\-comments: true \-\-no\-highlight syntax\-highlighting: \(aqnone\(aq \-\-syntax\-highlighting kate syntax\-highlighting: kate \-\-syntax\-definition mylang.xml syntax\-definitions: \- mylang.xml syntax\-definition: mylang.xml \-\-include\-in\-header inc.tex include\-in\-header: \- inc.tex \-\-include\-before\-body inc.tex include\-before\-body: \- inc.tex \-\-include\-after\-body inc.tex include\-after\-body: \- inc.tex \-\-resource\-path .:foo resource\-path: [\(aq.\(aq,\(aqfoo\(aq] \-\-request\-header foo:bar request\-headers: \- [\(dqUser\-Agent\(dq, \(dqMozilla/5.0\(dq] \-\-no\-check\-certificate no\-check\-certificate: true .EE .RE.SS گزینه‌های مؤثر بر نویسنده‌های خاص .RS -14n .IP .EX command line defaults file \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- \-\-self\-contained self\-contained: true \-\-link\-images link\-images: true \-\-html\-q\-tags html\-q\-tags: true \-\-ascii ascii: true \-\-reference\-links reference\-links: true \-\-reference\-location block reference\-location: block \-\-figure\-caption\-position=above figure\-caption\-position: above \-\-table\-caption\-position=below table\-caption\-position: below \-\-markdown\-headings atx markdown\-headings: atx \-\-list\-tables list\-tables: true \-\-top\-level\-division chapter top\-level\-division: chapter \-\-number\-sections number\-sections: true \-\-number\-offset=1,4 number\-offset: \(rs[1,4\(rs] \-\-listings listings: true \-\-list\-of\-figures list\-of\-figures: true \-\-lof lof: true \-\-list\-of\-tables list\-of\-tables: true \-\-lot lot: true \-\-incremental incremental: true \-\-slide\-level 2 slide\-level: 2 \-\-section\-divs section\-divs: true \-\-email\-obfuscation references email\-obfuscation: references \-\-id\-prefix ch1 identifier\-prefix: ch1 \-\-title\-prefix MySite title\-prefix: MySite \-\-css styles/screen.css \(rs css: \-\-css styles/special.css \- styles/screen.css \- styles/special.css \-\-reference\-doc my.docx reference\-doc: my.docx \-\-epub\-cover\-image cover.jpg epub\-cover\-image: cover.jpg \-\-epub\-title\-page=false epub\-title\-page: false \-\-epub\-metadata meta.xml epub\-metadata: meta.xml \-\-epub\-embed\-font special.otf \(rs epub\-fonts: \-\-epub\-embed\-font headline.otf \- special.otf \- headline.otf \-\-split\-level 2 split\-level: 2 \-\-chunk\-template=\(dq%i.html\(dq chunk\-template: \(dq%i.html\(dq \-\-epub\-subdirectory=\(dq\(dq epub\-subdirectory: \(aq\(aq \-\-ipynb\-output best ipynb\-output: best \-\-pdf\-engine xelatex pdf\-engine: xelatex \-\-pdf\-engine\-opt=\-\-shell\-escape pdf\-engine\-opts: \- \(aq\-shell\-escape\(aq pdf\-engine\-opt: \(aq\-shell\-escape\(aq .EE .RE .SS رندر ارجاعات .RS -14n .IP .EX command line defaults file \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- \-\-citeproc citeproc: true \-\-bibliography logic.bib bibliography: logic.bib \-\-csl ieee.csl csl: ieee.csl \-\-citation\-abbreviations ab.json citation\-abbreviations: ab.json \-\-natbib cite\-method: natbib \-\-biblatex cite\-method: biblatex .EE .RE .PP مقدار \f[CR]cite\-method\f[R] می‌تواند \f[CR]citeproc\f[R]، \f[CR]natbib\f[R] یا \f[CR]biblatex\f[R] باشد. این گزینه فقط بر خروجی LaTeX تأثیر می‌گذارد. اگر می‌خواهید از citeproc برای قالب‌بندی ارجاعات استفاده کنید، باید `citeproc: true` را نیز تنظیم کنید. .PP اگر نیاز به کنترل زمان اجرای پردازش citeproc نسبت به سایر فیلترها دارید، باید در عوض از \f[CR]citeproc\f[R] در فهرست \f[CR]filters\f[R] استفاده کنید (گزینه‌های خواننده را ببینید). .SS رندر ریاضیات در HTML .RS -14n .IP .EX command line defaults file \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- \-\-mathjax html\-math\-method: method: mathjax \-\-mathml html\-math\-method: method: mathml \-\-webtex html\-math\-method: method: webtex \-\-katex html\-math\-method: method: katex \-\-gladtex html\-math\-method: method: gladtex .EE .RE .PP علاوه بر مقادیر ذکرشده در بالا، \f[CR]method\f[R] می‌تواند مقدار \f[CR]plain\f[R] را نیز داشته باشد. .PP اگر گزینهٔ خط فرمان یک آرگومان URL بپذیرد، می‌توان یک فیلد \f[CR]url:\f[R] را به \f[CR]html\-math\-method:\f[R] افزود..SS "گزینه‌های اسکریپت‌های لفاف (Options for wrapper scripts)" .RS -14n .IP .EX command line defaults file \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- \-\-dump\-args dump\-args: true \-\-ignore\-args ignore\-args: true .EE .RE .SH "قالب‌ها (TEMPLATES)" هنگامی که گزینهٔ \f[CR]\-s/\-\-standalone\f[R] استفاده می‌شود، pandoc از یک قالب برای افزودن محتوای سرایند و پانویس که برای یک سند مستقل لازم است، استفاده می‌کند. برای دیدن قالب پیش‌فرضی که استفاده می‌شود، کافی است دستور زیر را بنویسید .IP .EX pandoc \-D *FORMAT* .EE .PP که در آن \f[I]FORMAT\f[R] نام فرمت خروجی است. یک قالب سفارشی را می‌توان با استفاده از گزینهٔ \f[CR]\-\-template\f[R] مشخص کرد. همچنین می‌توانید قالب‌های پیش‌فرض سیستم را برای یک فرمت خروجی مشخص \f[I]FORMAT\f[R] با قرار دادن یک فایل \f[CR]templates/default.*FORMAT*\f[R] در دایرکتوری داده‌های کاربر (گزینهٔ \f[CR]\-\-data\-dir\f[R] در بالا را ببینید) بازنویسی کنید. \f[I]استثناها:\f[R] .IP \(bu 2 برای خروجی \f[CR]odt\f[R]، قالب \f[CR]default.opendocument\f[R] را سفارشی‌سازی کنید. .IP \(bu 2 برای خروجی \f[CR]docx\f[R]، قالب \f[CR]default.openxml\f[R] را سفارشی‌سازی کنید. .IP \(bu 2 برای خروجی \f[CR]pdf\f[R]، قالب \f[CR]default.latex\f[R] را سفارشی‌سازی کنید (یا در صورت استفاده از \f[CR]\-t context\f[R]، قالب \f[CR]default.context\f[R]، یا در صورت استفاده از \f[CR]\-t ms\f[R]، قالب \f[CR]default.ms\f[R]، یا در صورت استفاده از \f[CR]\-t html\f[R]، قالب \f[CR]default.html\f[R]). .IP \(bu 2 فرمت \f[CR]pptx\f[R] هیچ قالبی ندارد. .PP توجه داشته باشید که خروجی \f[CR]docx\f[R]، \f[CR]odt\f[R] و \f[CR]pptx\f[R] را نیز می‌توان با استفاده از \f[CR]\-\-reference\-doc\f[R] سفارشی کرد. از یک سند مرجع برای تنظیم سبک‌ها در سند خود استفاده کنید؛ از یک قالب برای مدیریت درون‌یابی متغیرها و سفارشی‌سازی نحوه نمایش متادیتا، جایگاه فهرست مطالب، متن‌های کلیشه‌ای و غیره استفاده نمایید. .PP قالب‌ها حاوی \f[I]متغیرها\f[R] هستند که امکان گنجاندن اطلاعات دلخواه را در هر نقطه‌ای از فایل فراهم می‌کنند. آن‌ها را می‌توان در خط فرمان با استفاده از گزینهٔ \f[CR]\-V/\-\-variable\f[R] تعیین کرد. اگر متغیری تعیین نشده باشد، pandoc به دنبال آن کلید در متادیتای سند می‌گردد، که می‌توان آن را با بلوک‌های متادیتای YAML یا با گزینهٔ \f[CR]\-M/\-\-metadata\f[R] مشخص کرد. علاوه بر این، pandoc به برخی متغیرها مقادیر پیش‌فرض می‌دهد. برای مشاهدهٔ فهرستی از متغیرهای مورد استفاده در قالب‌های پیش‌فرض pandoc، بخش متغیرها را در ادامه ببینید. .PP اگر از قالب‌های سفارشی استفاده می‌کنید، ممکن است با تغییرات pandoc نیاز به بازنگری آن‌ها داشته باشید. ما توصیه می‌کنیم تغییرات در قالب‌های پیش‌فرض را دنبال کرده و قالب‌های سفارشی خود را بر همان اساس اصلاح کنید. یک راه آسان برای انجام این کار، فورک کردن (fork) مخزن pandoc\-templates و ادغام (merge) تغییرات پس از انتشار هر نسخه از pandoc است. .SS "نحو قالب (Template syntax)" .SS "توضیحات (Comments)" هر چیزی بین توالی \f[CR]$\-\-\f[R] و انتهای خط به عنوان توضیح در نظر گرفته شده و از خروجی حذف خواهد شد. .SS "جداکننده‌ها (Delimiters)" برای مشخص کردن متغیرها و ساختارهای کنترلی در قالب، می‌توان از \f[CR]$\f[R]\&...\f[CR]$\f[R] یا \f[CR]${\f[R]\&...\f[CR]}\f[R] به عنوان جداکننده استفاده کرد. این سبک‌ها را می‌توان در یک قالب به صورت ترکیبی نیز به کار برد، اما جداکنندهٔ آغازین و پایانی در هر مورد باید تطابق داشته باشند. پس از جداکنندهٔ آغازین می‌تواند یک یا چند فاصله یا تب بیاید که نادیده گرفته خواهند شد. پیش از جداکنندهٔ پایانی می‌تواند یک یا چند فاصله یا تب بیاید که نادیده گرفته خواهند شد. .PP برای گنجاندن یک علامت واقعی \f[CR]$\f[R] در سند، از \f[CR]$$\f[R] استفاده کنید. .SS "متغیرهای درون‌یابی‌شده (Interpolated variables)" یک جایگاه برای متغیر درون‌یابی‌شده، نام یک متغیر احاطه‌شده توسط جداکننده‌های منطبق است. نام‌های متغیر باید با یک حرف شروع شوند و می‌توانند شامل حروف، اعداد، \f[CR]_\f[R]، \f[CR]\-\f[R] و \f[CR].\f[R] باشند. کلمات کلیدی \f[CR]it\f[R]، \f[CR]if\f[R]، \f[CR]else\f[R]، \f[CR]endif\f[R]، \f[CR]for\f[R]، \f[CR]sep\f[R] و \f[CR]endfor\f[R] نباید به عنوان نام متغیر استفاده شوند. مثال‌ها: .IP .EX $foo$ $foo.bar.baz$ $foo_bar.baz\-bim$ $ foo $ ${foo} ${foo.bar.baz} ${foo_bar.baz\-bim} ${ foo } .EE .PP نام‌های متغیر دارای نقطه برای دستیابی به مقادیر متغیرهای ساختاریافته به کار می‌روند. بنابراین، برای مثال، \f[CR]employee.salary\f[R] مقدار فیلد \f[CR]salary\f[R] از شیئی را برمی‌گرداند که مقدار فیلد \f[CR]employee\f[R] است. .IP \(bu 2 اگر مقدار متغیر یک مقدار ساده باشد، عیناً رندر خواهد شد. (توجه داشته باشید که هیچ گریزدهی (escaping) انجام نمی‌شود؛ فرض بر این است که برنامهٔ فراخواننده، رشته‌ها را متناسب با فرمت خروجی گریز می‌دهد.) .IP \(bu 2 اگر مقدار یک لیست باشد، مقادیر به هم متصل خواهند شد. .IP \(bu 2 اگر مقدار یک نگاشت (map) باشد، رشتهٔ \f[CR]true\f[R] رندر خواهد شد. .IP \(bu 2 هر مقدار دیگری به عنوان رشتهٔ خالی رندر خواهد شد..SS "شرط‌ها (Conditionals)" یک عبارت شرطی با \f[CR]if(variable)\f[R] (محصور در جداکننده‌های منطبق) آغاز می‌شود و با \f[CR]endif\f[R] (محصور در جداکننده‌های منطبق) پایان می‌یابد. این ساختار می‌تواند به صورت اختیاری شامل یک \f[CR]else\f[R] (محصور در جداکننده‌های منطبق) باشد. بخش \f[CR]if\f[R] در صورتی استفاده می‌شود که \f[CR]variable\f[R] مقداری درست (true) داشته باشد، در غیر این صورت بخش \f[CR]else\f[R] (در صورت وجود) به کار می‌رود. مقادیر زیر به عنوان درست (true) در نظر گرفته می‌شوند: .IP \(bu 2 هر نگاشت (map) .IP \(bu 2 هر آرایه حاوی دست‌کم یک مقدار درست (true) .IP \(bu 2 هر رشته غیرخالی .IP \(bu 2 مقدار بولیِ True .PP توجه داشته باشید که در متادیتای YAML (و متادیتای مشخص‌شده در خط فرمان با استفاده از \f[CR]\-M/\-\-metadata\f[R])، مقادیر بدون نقل‌قولِ \f[CR]true\f[R] و \f[CR]false\f[R] به عنوان مقادیر بولی تفسیر می‌شوند. اما متغیری که در خط فرمان با استفاده از \f[CR]\-V/\-\-variable\f[R] مشخص شود، همواره یک مقدار رشته‌ای دریافت خواهد کرد. بنابراین شرط \f[CR]if(foo)\f[R] در صورت استفاده از \f[CR]\-V foo=false\f[R] فعال خواهد شد، اما اگر از \f[CR]\-M foo=false\f[R] استفاده کنید فعال نمی‌شود. .PP مثال‌ها: .IP .EX $if(foo)$bar$endif$ $if(foo)$ $foo$ $endif$ $if(foo)$ part one $else$ part two $endif$ ${if(foo)}bar${endif} ${if(foo)} ${foo} ${endif} ${if(foo)} ${ foo.bar } ${else} no foo! ${endif} .EE .PP از کلیدواژه \f[CR]elseif\f[R] می‌توان برای ساده‌سازی شرط‌های تودرتوی پیچیده استفاده کرد: .IP .EX $if(foo)$ XXX $elseif(bar)$ YYY $else$ ZZZ $endif$ .EE .SS "حلقه‌های For (For loops)" یک حلقه for با \f[CR]for(variable)\f[R] (محصور در جداکننده‌های منطبق) آغاز شده و با \f[CR]endfor\f[R] (محصور در جداکننده‌های منطبق) پایان می‌یابد. .IP \(bu 2 اگر \f[CR]variable\f[R] یک آرایه باشد، محتوای درون حلقه مکرراً ارزیابی می‌شود؛ به این صورت که \f[CR]variable\f[R] به نوبت بر روی هر مقدار از آرایه تنظیم شده و با یکدیگر الحاق (concatenate) می‌شوند. .IP \(bu 2 اگر \f[CR]variable\f[R] یک نگاشت (map) باشد، محتوای درون حلقه بر روی آن نگاشت تنظیم می‌شود. .IP \(bu 2 اگر مقدار متغیر مربوطه یک آرایه یا نگاشت نباشد، یک تکرار منفرد بر روی مقدار آن انجام خواهد شد. .PP مثال‌ها: .IP .EX $for(foo)$$foo$$sep$, $endfor$ $for(foo)$ \- $foo.last$, $foo.first$ $endfor$ ${ for(foo.bar) } \- ${ foo.bar.last }, ${ foo.bar.first } ${ endfor } $for(mymap)$ $it.name$: $it.office$ $endfor$ .EE .PP می‌توانید به صورت اختیاری با استفاده از \f[CR]sep\f[R] (محصور در جداکننده‌های منطبق)، یک جداکننده میان مقادیر متوالی تعیین کنید. محتوای میان \f[CR]sep\f[R] و \f[CR]endfor\f[R] همان جداکننده است. .IP .EX ${ for(foo) }${ foo }${ sep }, ${ endfor } .EE .PP به جای استفاده از \f[CR]variable\f[R] درون حلقه، می‌توان از کلیدواژه ارجاعیِ (anaphoric) خاصِ \f[CR]it\f[R] استفاده کرد. .IP .EX ${ for(foo.bar) } \- ${ it.last }, ${ it.first } ${ endfor } .EE .SS "قالب‌های جزئی (Partials)" قالب‌های جزئی یا پارشال‌ها (زیرقالب‌های ذخیره‌شده در فایل‌های مجزا) را می‌توان با استفاده از نام پارشال به همراه \f[CR]()\f[R] در سند درج کرد؛ برای نمونه: .IP .EX ${ styles() } .EE .PP پارشال‌ها در پوشه حاوی قالب اصلی جستجو خواهند شد. اگر فایل فاقد پسوند باشد، فرض می‌شود که پسوندی یکسان با قالب اصلی دارد. هنگام فراخوانی پارشال، می‌توان نام کامل شامل پسوند فایل را نیز به کار برد: .IP .EX ${ styles.html() } .EE .PP (اگر یک پارشال در پوشه قالب پیدا نشود و مسیر قالب به عنوان یک مسیر نسبی داده شده باشد، در زیرپوشه \f[CR]templates\f[R] از دایرکتوری داده‌های کاربر نیز جستجو خواهد شد.) .PP پارشال‌ها را می‌توان به صورت اختیاری با استفاده از دو نقطه (:) بر روی متغیرها اعمال کرد: .IP .EX ${ date:fancy() } ${ articles:bibentry() } .EE .PP اگر \f[CR]articles\f[R] یک آرایه باشد، این دستور بر روی مقادیر آن پیمایش کرده و پارشال \f[CR]bibentry()\f[R] را بر روی تک‌تک آن‌ها اعمال می‌کند. بنابراین مثال دوم در بالا معادل است با: .IP .EX ${ for(articles) } ${ it:bibentry() } ${ endfor } .EE .PP توجه داشته باشید که هنگام پیمایش روی پارشال‌ها باید از کلیدواژه ارجاعی \f[CR]it\f[R] استفاده شود. در مثال‌های بالا، پارشال \f[CR]bibentry\f[R] باید به جای \f[CR]articles.title\f[R] حاوی \f[CR]it.title\f[R] (و موارد مشابه) باشد. .PP خطوط جدید پایانی (newlines) از پارشال‌های گنجانده‌شده حذف می‌شوند. .PP پارشال‌ها می‌توانند شامل پارشال‌های دیگر باشند. .PP جداکننده میان مقادیر یک آرایه را می‌توان در کروشه، بلافاصله پس از نام متغیر یا پارشال مشخص کرد: .IP .EX ${months[, ]} ${articles:bibentry()[; ]} .EE .PP جداکننده در این حالت لفظی (literal) است و (برخلاف \f[CR]sep\f[R] در یک حلقه صریح \f[CR]for\f[R]) نمی‌تواند شامل متغیرهای درون‌یابی‌شده یا سایر دستورالعمل‌های قالب باشد..SS تودرتویی (Nesting) برای اطمینان از این‌که محتوا به‌صورت \(lqتودرتو\(rq (nested) قرار گیرد، یعنی خطوط بعدی دارای تورفتگی باشند، از دستورالعمل \f[CR]\(ha\f[R] استفاده کنید: .IP .EX $item.number$ $\(ha$$item.description$ ($item.price$) .EE .PP در این مثال، اگر \f[CR]item.description\f[R] دارای چند سطر باشد، همهٔ آن‌ها به‌گونه‌ای تورفتگی پیدا می‌کنند که با سطر اول تراز شوند: .IP .EX 00123 A fine bottle of 18\-year old Oban whiskey. ($148) .EE .PP برای تودرتو کردن چند سطر در یک سطح یکسان، آن‌ها را با دستورالعمل \f[CR]\(ha\f[R] در الگو تراز کنید. برای نمونه: .IP .EX $item.number$ $\(ha$$item.description$ ($item.price$) (Available til $item.sellby$.) .EE .PP خروجی زیر را تولید خواهد کرد: .IP .EX 00123 A fine bottle of 18\-year old Oban whiskey. ($148) (Available til March 30, 2020.) .EE .PP اگر یک متغیر به‌تنهایی در یک سطر بیاید، پیش از آن فاصلهٔ خالی (whitespace) باشد و در همان سطر متن یا دستورالعمل دیگری به دنبال آن نیاید، و مقدار متغیر شامل چند سطر باشد، به‌طور خودکار تودرتو خواهد شد. .SS فاصله‌های شکست‌پذیر (Breakable spaces) به‌طور معمول، فاصله‌ها در خود الگو (برخلاف مقادیر متغیرهای جای‌گذاری‌شده) شکست‌پذیر نیستند، اما می‌توان با استفاده از کلمهٔ کلیدی \f[CR]\(ti\f[R] (که با یک \f[CR]\(ti\f[R] دیگر پایان می‌یابد) آن‌ها را در بخشی از الگو شکست‌پذیر کرد. .IP .EX $\(ti$This long line may break if the document is rendered with a short line length.$\(ti$ .EE .SS لوله‌ها (Pipes) یک لوله (pipe) مقدار یک متغیر یا پاره‌الگو (partial) را تبدیل می‌کند. لوله‌ها با استفاده از یک ممیز (\f[CR]/\f[R]) میان نام متغیر (یا partial) و نام لوله مشخص می‌شوند. مثال: .IP .EX $for(name)$ $name/uppercase$ $endfor$ $for(metadata/pairs)$ \- $it.key$: $it.value$ $endfor$ $employee:name()/uppercase$ .EE .PP لوله‌ها می‌توانند زنجیره‌ای شوند: .IP .EX $for(employees/pairs)$ $it.key/alpha/uppercase$. $it.name$ $endfor$ .EE .PP برخی از لوله‌ها پارامتر می‌پذیرند: .IP .EX |\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-|\-\-\-\-\-\-\-\-\-\-\-\-| $for(employee)$ $it.name.first/uppercase/left 20 \(dq| \(dq$$it.name.salary/right 10 \(dq | \(dq \(dq |\(dq$ $endfor$ |\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-|\-\-\-\-\-\-\-\-\-\-\-\-| .EE .PP در حال حاضر لوله‌های زیر از پیش تعریف شده‌اند: .IP \(bu 2 \f[CR]pairs\f[R]: یک نگاشت (map) یا آرایه را به آرایه‌ای از نگاشت‌ها تبدیل می‌کند که هر کدام دارای فیلدهای \f[CR]key\f[R] و \f[CR]value\f[R] هستند. اگر مقدار اولیه یک آرایه باشد، \f[CR]key\f[R] شاخص آرایه خواهد بود که از 1 آغاز می‌شود. .IP \(bu 2 \f[CR]uppercase\f[R]: متن را به حروف بزرگ تبدیل می‌کند. .IP \(bu 2 \f[CR]lowercase\f[R]: متن را به حروف کوچک تبدیل می‌کند. .IP \(bu 2 \f[CR]length\f[R]: طول مقدار را برمی‌گرداند: شمار نویسه‌ها برای یک مقدار متنی، شمار عناصر برای یک نگاشت یا آرایه. .IP \(bu 2 \f[CR]reverse\f[R]: یک مقدار متنی یا آرایه را معکوس می‌کند، و بر مقادیر دیگر اثری ندارد. .IP \(bu 2 \f[CR]first\f[R]: در صورت اعمال روی یک آرایهٔ غیرخالی، نخستین مقدار آرایه را برمی‌گرداند؛ در غیر این صورت مقدار اصلی را برمی‌گرداند. .IP \(bu 2 \f[CR]last\f[R]: در صورت اعمال روی یک آرایهٔ غیرخالی، آخرین مقدار آرایه را برمی‌گرداند؛ در غیر این صورت مقدار اصلی را برمی‌گرداند. .IP \(bu 2 \f[CR]rest\f[R]: در صورت اعمال روی یک آرایهٔ غیرخالی، تمام مقادیر آرایه به‌جز نخستین مقدار را برمی‌گرداند؛ در غیر این صورت مقدار اصلی را برمی‌گرداند. .IP \(bu 2 \f[CR]allbutlast\f[R]: در صورت اعمال روی یک آرایهٔ غیرخالی، تمام مقادیر آرایه به‌جز آخرین مقدار را برمی‌گرداند؛ در غیر این صورت مقدار اصلی را برمی‌گرداند. .IP \(bu 2 \f[CR]chomp\f[R]: خطوط جدید پایانی (و فاصله‌های شکست‌پذیر) را حذف می‌کند. .IP \(bu 2 \f[CR]nowrap\f[R]: شکستن خطوط روی فاصله‌های شکست‌پذیر را غیرفعال می‌کند. .IP \(bu 2 \f[CR]alpha\f[R]: مقادیر متنی را که می‌توان به‌صورت یک عدد صحیح خواند، به نویسه‌های الفبایی کوچک \f[CR]a..z\f[R] (به‌پیمانهٔ ۲۶) تبدیل می‌کند. این قابلیت می‌تواند برای ایجاد شمارش الفبایی از شاخص‌های آرایه استفاده شود. برای دریافت حروف بزرگ، آن را با \f[CR]uppercase\f[R] زنجیر کنید. .IP \(bu 2 \f[CR]roman\f[R]: مقادیر متنی را که می‌توان به‌صورت یک عدد صحیح خواند، به اعداد رومی کوچک تبدیل می‌کند. این قابلیت می‌تواند برای ایجاد شمارش حرفی از شاخص‌های آرایه استفاده شود. برای دریافت اعداد رومی بزرگ، آن را با \f[CR]uppercase\f[R] زنجیر کنید. .IP \(bu 2 \f[CR]left n \(dqleftborder\(dq \(dqrightborder\(dq\f[R]: یک مقدار متنی را در بلوکی به پهنای \f[CR]n\f[R]، تراز شده به چپ، همراه با حاشیهٔ چپ و راست اختیاری نمایش می‌دهد. بر مقادیر دیگر اثری ندارد. این قابلیت می‌تواند برای تراز کردن محتوا در جدول‌ها استفاده شود. پهنه‌ها اعداد صحیح مثبتی هستند که نشان‌دهندهٔ شمار نویسه‌ها می‌باشند. حاشیه‌ها رشته‌هایی داخل دابل‌کوتیشن هستند؛ نویسه‌های لفظی \f[CR]\(dq\f[R] و \f[CR]\(rs\f[R] باید با بک‌اسلش گریز داده شوند. .IP \(bu 2 \f[CR]right n \(dqleftborder\(dq \(dqrightborder\(dq\f[R]: یک مقدار متنی را در بلوکی به پهنای \f[CR]n\f[R]، تراز شده به راست نمایش می‌دهد، و بر مقادیر دیگر اثری ندارد. .IP \(bu 2 \f[CR]center n \(dqleftborder\(dq \(dqrightborder\(dq\f[R]: یک مقدار متنی را در بلوکی به پهنای \f[CR]n\f[R]، تراز شده در وسط نمایش می‌دهد، و بر مقادیر دیگر اثری ندارد..SS "متغیرها (Variables)" .SS "متغیرهای فراداده (Metadata variables)" .TP \f[CR]title\f[R]، \f[CR]author\f[R]، \f[CR]date\f[R] امکان شناسایی جنبه‌های اصلی سند را فراهم می‌کنند. از طریق LaTeX و ConTeXt در فراداده‌های PDF گنجانده می‌شوند. این متغیرها را می‌توان از طریق بلوک عنوان pandoc (که اجازه تعیین چند نویسنده را می‌دهد) یا از طریق یک بلوک فراداده YAML تنظیم کرد: .RS .IP .EX \-\-\- author: \- Aristotle \- Peter Abelard \&... .EE توجه داشته باشید که اگر فقط می‌خواهید فراداده‌های PDF یا HTML را بدون درج بلوک عنوان در خود سند تنظیم کنید، می‌توانید متغیرهای \f[CR]title\-meta\f[R]، \f[CR]author\-meta\f[R] و \f[CR]date\-meta\f[R] را تعیین کنید. (به‌طور پیش‌فرض این مقادیر به‌صورت خودکار بر اساس \f[CR]title\f[R]، \f[CR]author\f[R] و \f[CR]date\f[R] تنظیم می‌شوند.) عنوان صفحه در HTML توسط \f[CR]pagetitle\f[R] مشخص می‌شود که به‌طور پیش‌فرض برابر با \f[CR]title\f[R] است. .RE .TP \f[CR]subtitle\f[R] زیرعنوان سند، گنجانده‌شده در اسناد HTML، EPUB، LaTeX، ConTeXt و docx. .TP \f[CR]abstract\f[R] چکیده سند، گنجانده‌شده در اسناد HTML، LaTeX، ConTeXt، AsciiDoc و docx. .TP \f[CR]abstract\-title\f[R] عنوان چکیده، در حال حاضر تنها در HTML، EPUB، docx و Typst استفاده می‌شود. این متغیر بسته به \f[CR]lang\f[R] به‌طور خودکار روی یک مقدار بومی‌سازی‌شده تنظیم می‌شود، اما می‌توان آن را به‌صورت دستی نیز بازنویسی کرد. .TP \f[CR]keywords\f[R] فهرستی از کلیدواژه‌ها برای گنجاندن در فراداده‌های HTML، PDF، ODT، pptx، docx و AsciiDoc؛ شیوه تکرار همانند \f[CR]author\f[R] در بالا است. .TP \f[CR]subject\f[R] موضوع سند، گنجانده‌شده در فراداده‌های ODT، PDF، docx، EPUB و pptx. .TP \f[CR]description\f[R] توضیحات سند، گنجانده‌شده در فراداده‌های ODT، docx و pptx. برخی از برنامه‌ها این مورد را به‌عنوان فراداده \f[CR]Comments\f[R] نمایش می‌دهند. .TP \f[CR]category\f[R] دسته‌بندی سند، گنجانده‌شده در فراداده‌های docx و pptx. .PP علاوه بر این، هر فراداده رشته‌ای در سطح ریشه که در فراداده‌های ODT، docx یا pptx گنجانده نشده باشد، به‌عنوان یک \f[I]ویژگی سفارشی (custom property)\f[R] اضافه می‌شود. برای نمونه، بلوک فراداده YAML زیر: .IP .EX \-\-\- title: \(aqThis is the title\(aq subtitle: \(dqThis is the subtitle\(dq author: \- Author One \- Author Two description: | This is a long description. It consists of two paragraphs \&... .EE .PP هنگام تبدیل به docx، ODT یا pptx، مقادیر \f[CR]title\f[R]، \f[CR]author\f[R] و \f[CR]description\f[R] را به‌عنوان مشخصات استاندارد سند و \f[CR]subtitle\f[R] را به‌عنوان یک ویژگی سفارشی شامل خواهد شد. .SS "متغیرهای زبان (Language variables)" .TP \f[CR]lang\f[R] زبان اصلی سند را با استفاده از برچسب‌های زبان IETF (پیرو استاندارد BCP 47) مانند \f[CR]en\f[R] یا \f[CR]en\-GB\f[R] مشخص می‌کند. ابزار Language subtag lookup می‌تواند برای جستجو یا اعتبارسنجی این برچسب‌ها استفاده شود. این متغیر بر بیشتر قالب‌ها تأثیر می‌گذارد و خط‌فاصله‌گذاری (hyphenation) را در خروجی PDF هنگام استفاده از LaTeX (از طریق \f[CR]babel\f[R] و \f[CR]polyglossia\f[R]) یا ConTeXt کنترل می‌کند. .RS برای تغییر زبان، از Divها و Spanهای بومی pandoc با مشخصه \f[CR]lang\f[R] استفاده کنید: .IP .EX \-\-\- lang: en\-GB \&... Text in the main document language (British English). ::: {lang=fr\-CA} > Cette citation est écrite en français canadien. ::: More text in English. [\(aqZitat auf Deutsch.\(aq]{lang=de} .EE .RE .TP \f[CR]dir\f[R] جهت نوشتار پایه، \f[CR]rtl\f[R] (راست‌به‌چپ) یا \f[CR]ltr\f[R] (چپ‌به‌راست). .RS برای اسناد دوجهته، می‌توان از \f[CR]span\f[R]ها و \f[CR]div\f[R]های بومی pandoc همراه با مشخصه \f[CR]dir\f[R] (با مقدار \f[CR]rtl\f[R] یا \f[CR]ltr\f[R]) برای بازنویسی جهت پایه در برخی قالب‌های خروجی استفاده کرد. اگر رندرکننده نهایی (مانند مرورگر، هنگام تولید HTML) از الگوریتم دوجهته یونیکد (Unicode Bidirectional Algorithm) پشتیبانی کند، این کار ممکن است همیشه ضروری نباشد. هنگام استفاده از LaTeX برای اسناد دوجهته، تنها موتور \f[CR]xelatex\f[R] به‌طور کامل پشتیبانی می‌شود (از \f[CR]\-\-pdf\-engine=xelatex\f[R] استفاده کنید). .RE.SS متغیرها برای HTML .TP \f[CR]document\-css\f[R] گنجاندن بخش عمدهٔ CSS موجود در قالب جزئی (partial) \f[CR]styles.html\f[R] را فعال می‌کند (می‌توانید با دستور \f[CR]pandoc \-\-print\-default\-data\-file=templates/styles.html\f[R] آن را مشاهده کنید). مگر اینکه از \f[CR]\-\-css\f[R] استفاده کنید، این متغیر به‌طور پیش‌فرض روی \f[CR]true\f[R] تنظیم شده است. می‌توانید آن را مثلاً با \f[CR]pandoc \-M document\-css=false\f[R] غیرفعال کنید. .TP \f[CR]mainfont\f[R] ویژگی \f[CR]font\-family\f[R] در CSS را برای عنصر \f[CR]html\f[R] تعیین می‌کند. .TP \f[CR]fontsize\f[R] ویژگی پایهٔ \f[CR]font\-size\f[R] در CSS را تعیین می‌کند، که معمولاً آن را مثلاً روی \f[CR]20px\f[R] تنظیم می‌کنید، اما \f[CR]pt\f[R] را نیز می‌پذیرد (در بیشتر مرورگرها 12pt = 16px است). .TP \f[CR]fontcolor\f[R] ویژگی \f[CR]color\f[R] در CSS را برای عنصر \f[CR]html\f[R] تعیین می‌کند. .TP \f[CR]linkcolor\f[R] ویژگی \f[CR]color\f[R] در CSS را برای همهٔ پیوندها تعیین می‌کند. .TP \f[CR]monofont\f[R] ویژگی \f[CR]font\-family\f[R] در CSS را برای عنصرهای \f[CR]code\f[R] تعیین می‌کند. .TP \f[CR]monobackgroundcolor\f[R] ویژگی \f[CR]background\-color\f[R] در CSS را برای عنصرهای \f[CR]code\f[R] تعیین کرده و فاصلهٔ درونی (padding) اضافی می‌افزاید. .TP \f[CR]linestretch\f[R] ویژگی \f[CR]line\-height\f[R] در CSS را برای عنصر \f[CR]html\f[R] تعیین می‌کند، که ترجیح داده می‌شود بدون واحد باشد. .TP \f[CR]maxwidth\f[R] ویژگی \f[CR]max\-width\f[R] در CSS را تعیین می‌کند (پیش‌فرض 36em است). .TP \f[CR]backgroundcolor\f[R] ویژگی \f[CR]background\-color\f[R] در CSS را برای عنصر \f[CR]html\f[R] تعیین می‌کند. .TP \f[CR]margin\-left\f[R], \f[CR]margin\-right\f[R], \f[CR]margin\-top\f[R], \f[CR]margin\-bottom\f[R] ویژگی‌های متناظر \f[CR]padding\f[R] در CSS را برای عنصر \f[CR]body\f[R] تعیین می‌کنند. .PP برای بازنویسی یا گسترش برخی از CSSها فقط برای یک سند، به‌عنوان مثال این مورد را درج کنید: .IP .EX \-\-\- header\-includes: | \-\-\- .EE .SS متغیرها برای ریاضیات در HTML .TP \f[CR]classoption\f[R] هنگام استفاده از \f[CR]\-\-katex\f[R]، می‌توانید با استفاده از فراداده‌های YAML یا با \f[CR]\-M classoption=fleqn\f[R]، معادلات ریاضی نمایشی (display math) را چپ‌چین کنید. .SS متغیرها برای اسلایدهای HTML این متغیرها بر خروجی HTML هنگام تولید ارائه‌ها (slide shows) با pandoc تأثیر می‌گذارند. .TP \f[CR]institute\f[R] وابستگی‌های سازمانی نویسنده: در صورت وجود چند نویسنده می‌تواند یک فهرست باشد .TP \f[CR]revealjs\-url\f[R] نشانی وب (URL) پایه برای اسناد reveal.js (پیش‌فرض \f[CR]https://unpkg.com/reveal.js\(at\(ha5\f[R] است) .TP \f[CR]s5\-url\f[R] نشانی وب (URL) پایه برای اسناد S5 (پیش‌فرض \f[CR]s5/default\f[R] است) .TP \f[CR]slidy\-url\f[R] نشانی وب (URL) پایه برای اسناد Slidy (پیش‌فرض \f[CR]https://www.w3.org/Talks/Tools/Slidy2\f[R] است) .TP \f[CR]slideous\-url\f[R] نشانی وب (URL) پایه برای اسناد Slideous (پیش‌فرض \f[CR]slideous\f[R] است) .TP \f[CR]title\-slide\-attributes\f[R] مشخصه‌های اضافی برای اسلاید عنوان در ارائه‌های reveal.js. برای یک نمونه، بخش background در reveal.js، beamer و pptx را ببینید. .TP \f[CR]highlightjs\-theme\f[R] پوستهٔ highlight.js برای برجسته‌سازی کد هنگام استفاده از \f[CR]\-\-syntax\-highlighting=idiomatic\f[R] با reveal.js (پیش‌فرض \f[CR]monokai\f[R] است). برای مشاهدهٔ پوسته‌های موجود، صفحهٔ پیش‌نمایش highlight.js را ببینید. .PP تمام گزینه‌های پیکربندی reveal.js به‌عنوان متغیر در دسترس هستند. برای خاموش کردن پرچم‌های بولی (boolean) که پیش‌فرض آن‌ها در reveal.js مقدار true است، از \f[CR]0\f[R] استفاده کنید. .SS متغیرها برای اسلایدهای Beamer این متغیرها ظاهر اسلایدهای PDF با استفاده از \f[CR]beamer\f[R] را تغییر می‌دهند. .TP \f[CR]aspectratio\f[R] نسبت تصویر اسلاید (\f[CR]43\f[R] برای 4:3 [پیش‌فرض]، \f[CR]169\f[R] برای 16:9، \f[CR]1610\f[R] برای 16:10، \f[CR]149\f[R] برای 14:9، \f[CR]141\f[R] برای 1.41:1، \f[CR]54\f[R] برای 5:4، \f[CR]32\f[R] برای 3:2) .TP \f[CR]beameroption\f[R] افزودن گزینهٔ اضافی beamer با \f[CR]\(rssetbeameroption{}\f[R] .TP \f[CR]institute\f[R] وابستگی‌های سازمانی نویسنده: در صورت وجود چند نویسنده می‌تواند یک فهرست باشد .TP \f[CR]logo\f[R] تصویر نشان‌واره (لوگو) برای اسلایدها .TP \f[CR]logooptions\f[R] گزینه‌های تصویر نشان‌واره (مانند \f[CR]width\f[R]، \f[CR]height\f[R]) .TP \f[CR]navigation\f[R] نمادهای ناوبری را کنترل می‌کند (پیش‌فرض برای بدون نمادهای ناوبری \f[CR]empty\f[R] است؛ مقادیر معتبر دیگر عبارتند از \f[CR]frame\f[R]، \f[CR]vertical\f[R] و \f[CR]horizontal\f[R]) .TP \f[CR]section\-titles\f[R] \(lqصفحه‌های عنوان\(rq را برای بخش‌های جدید فعال می‌کند (پیش‌فرض true است) .TP \f[CR]theme\f[R], \f[CR]colortheme\f[R], \f[CR]fonttheme\f[R], \f[CR]innertheme\f[R], \f[CR]outertheme\f[R] پوسته‌های beamer .TP \f[CR]themeoptions\f[R], \f[CR]colorthemeoptions\f[R], \f[CR]fontthemeoptions\f[R], \f[CR]innerthemeoptions\f[R], \f[CR]outerthemeoptions\f[R] گزینه‌های پوسته‌های LaTeX beamer (فهرست‌ها) .TP \f[CR]titlegraphic\f[R] تصویر برای اسلاید عنوان: می‌تواند یک فهرست باشد .TP \f[CR]titlegraphicoptions\f[R] گزینه‌های تصویر اسلاید عنوان (مانند \f[CR]width\f[R]، \f[CR]height\f[R]) .TP \f[CR]shorttitle\f[R], \f[CR]shortsubtitle\f[R], \f[CR]shortauthor\f[R], \f[CR]shortinstitute\f[R], \f[CR]shortdate\f[R] برخی از پوسته‌های beamer از نسخه‌های کوتاه عنوان، زیرعنوان، نویسنده، وابستگی سازمانی، و تاریخ استفاده می‌کنند.SS متغیرها برای PowerPoint این متغیرها جنبه‌های بصری یک نمایش اسلاید را کنترل می‌کنند که کنترل آن‌ها از طریق الگوها به‌سادگی ممکن نیست. .TP \f[CR]monofont\f[R] قلم مورد استفاده برای کدها. .SS متغیرها برای LaTeX پاندوک هنگام ایجاد یک PDF با موتور LaTeX از این متغیرها استفاده می‌کند. .SS صفحه‌بندی .TP \f[CR]block\-headings\f[R] دستورات \f[CR]\(rsparagraph\f[R] و \f[CR]\(rssubparagraph\f[R] (سرتیترهای سطح چهارم و پنجم، یا در کلاس‌های کتاب سطح پنجم و ششم) را به‌جای درون‌خطی (run\-in)، مستقل (free\-standing) می‌سازد؛ برای تمایز آن‌ها از \f[CR]\(rssubsubsection\f[R] (سرتیترهای سطح سوم یا چهارم) به قالب‌بندی بیشتری نیاز است. به‌جای استفاده از این گزینه، KOMA\-Script می‌تواند سرتیترها را با گستردگی بیشتری تنظیم کند: .RS .IP .EX \-\-\- documentclass: scrartcl header\-includes: | \(rsRedeclareSectionCommand[ beforeskip=\-10pt plus \-2pt minus \-1pt, afterskip=1sp plus \-1sp minus 1sp, font=\(rsnormalfont\(rsitshape]{paragraph} \(rsRedeclareSectionCommand[ beforeskip=\-10pt plus \-2pt minus \-1pt, afterskip=1sp plus \-1sp minus 1sp, font=\(rsnormalfont\(rsscshape, indent=0pt]{subparagraph} \&... .EE .RE .TP \f[CR]classoption\f[R] گزینه‌ای برای کلاس سند، مانند \f[CR]oneside\f[R]؛ برای چند گزینه تکرار کنید: .RS .IP .EX \-\-\- classoption: \- twocolumn \- landscape \&... .EE .RE .TP \f[CR]documentclass\f[R] کلاس سند: معمولاً یکی از کلاس‌های استاندارد، شامل \f[CR]article\f[R]، \f[CR]book\f[R] و \f[CR]report\f[R]؛ معادل‌های آن‌ها در KOMA\-Script یعنی \f[CR]scrartcl\f[R]، \f[CR]scrbook\f[R] و \f[CR]scrreprt\f[R] که به‌طور پیش‌فرض حاشیه‌های کوچک‌تری دارند؛ یا \f[CR]memoir\f[R] .TP \f[CR]geometry\f[R] گزینه‌ای برای بسته \f[CR]geometry\f[R]، مانند \f[CR]margin=1in\f[R]؛ برای چند گزینه تکرار کنید: .RS .IP .EX \-\-\- geometry: \- top=30mm \- left=20mm \- heightrounded \&... .EE .RE .TP \f[CR]shorthands\f[R] فعال‌سازی کوتاه‌نوشت‌های ویژه‌ی زبان هنگام بارگذاری \f[CR]babel\f[R]. (به‌طور پیش‌فرض، pandoc هنگام بارگذاری \f[CR]babel\f[R] گزینه \f[CR]shorthands=off\f[R] را قرار می‌دهد که کوتاه‌نوشت‌های ویژه‌ی زبان را غیرفعال می‌کند.) .TP \f[CR]hyperrefoptions\f[R] گزینه‌ای برای بسته \f[CR]hyperref\f[R]، مانند \f[CR]linktoc=all\f[R]؛ برای چند گزینه تکرار کنید: .RS .IP .EX \-\-\- hyperrefoptions: \- linktoc=all \- pdfwindowui \- pdfpagemode=FullScreen \&... .EE .RE .TP \f[CR]indent\f[R] در صورت تعیین true، pandoc از تنظیمات کلاس سند برای تورفتگی استفاده خواهد کرد (در غیر این صورت، الگوی پیش‌فرض LaTeX تورفتگی را حذف کرده و بین پاراگراف‌ها فاصله ایجاد می‌کند). .TP \f[CR]linestretch\f[R] تنظیم فاصله بین خطوط با استفاده از بسته \f[CR]setspace\f[R]، مانند \f[CR]1.25\f[R]، \f[CR]1.5\f[R] .TP \f[CR]margin\-left\f[R]، \f[CR]margin\-right\f[R]، \f[CR]margin\-top\f[R]، \f[CR]margin\-bottom\f[R] تنظیم حاشیه‌ها در صورتی که از \f[CR]geometry\f[R] استفاده نشده باشد (در غیر این صورت \f[CR]geometry\f[R] بر این متغیرها اولویت خواهد داشت). .TP \f[CR]pagestyle\f[R] کنترل \f[CR]\(rspagestyle{}\f[R]: کلاس پیش‌فرض article از مقادیر \f[CR]plain\f[R] (پیش‌فرض)، \f[CR]empty\f[R] (بدون سرصفحه یا شماره صفحه) و \f[CR]headings\f[R] (عنوان بخش‌ها در سرصفحه) پشتیبانی می‌کند. .TP \f[CR]papersize\f[R] اندازه کاغذ، مانند \f[CR]letter\f[R]، \f[CR]a4\f[R] .TP \f[CR]secnumdepth\f[R] عمق شماره‌گذاری بخش‌ها (همراه با گزینه \f[CR]\-\-number\-sections\f[R] یا متغیر \f[CR]numbersections\f[R]) .TP \f[CR]beamerarticle\f[R] تولید یک مقاله (article) از اسلایدهای Beamer. نکته: در صورت تنظیم این متغیر، باید نویسنده beamer را مشخص کنید اما از الگوی پیش‌فرض \f[I]LaTeX\f[R] استفاده نمایید: برای نمونه، \f[CR]pandoc \-Vbeamerarticle \-t beamer \-\-template default.latex\f[R]. .TP \f[CR]handout\f[R] تولید نسخه جزوه (handout) از اسلایدهای Beamer (با تجمیع لایه‌ها در اسلایدهای تکی). .TP \f[CR]csquotes\f[R] بارگذاری بسته \f[CR]csquotes\f[R] و استفاده از \f[CR]\(rsenquote\f[R] یا \f[CR]\(rsenquote*\f[R] برای متن‌های داخل نقل‌قول. .TP \f[CR]csquotesoptions\f[R] گزینه‌های مورد استفاده برای بسته \f[CR]csquotes\f[R] (برای گزینه‌های چندگانه تکرار شود). .TP \f[CR]babeloptions\f[R] گزینه‌هایی که به بسته babel ارسال می‌شوند (برای گزینه‌های چندگانه قابل تکرار است). اگر زبان اصلی یک زبان اروپایی با خط لاتین یا سیریلیک، یا ویتنامی نباشد، مقدار پیش‌فرض آن \f[CR]provide=*\f[R] خواهد بود. بیشتر کاربران نیازی به تغییر تنظیمات پیش‌فرض نخواهند داشت..SS "قلم‌ها (Fonts)" .TP \f[CR]fontenc\f[R] امکان تعیین رمزگذاری قلم را از طریق بسته‌ی \f[CR]fontenc\f[R] (با \f[CR]pdflatex\f[R]) فراهم می‌کند؛ مقدار پیش‌فرض \f[CR]T1\f[R] است (راهنمای رمزگذاری‌های قلم LaTeX را ببینید). .TP \f[CR]fontfamily\f[R] بسته‌ی قلم برای استفاده با \f[CR]pdflatex\f[R]: مجموعه‌ی TeX Live شامل گزینه‌های متعددی است که در LaTeX Font Catalogue مستند شده‌اند. پیش‌فرض Latin Modern است. .TP \f[CR]fontfamilyoptions\f[R] گزینه‌هایی برای بسته‌ای که به عنوان \f[CR]fontfamily\f[R] استفاده شده است؛ برای چندین گزینه تکرار کنید. برای نمونه، جهت استفاده از قلم Libertine با ارقام کوچک متناسب (old\-style) از طریق بسته‌ی \f[CR]libertinus\f[R]: .RS .IP .EX \-\-\- fontfamily: libertinus fontfamilyoptions: \- osf \- p \&... .EE .RE .TP \f[CR]fontsize\f[R] اندازه‌ی قلم برای متن اصلی (بدنه). کلاس‌های استاندارد اندازه‌های 10pt، 11pt و 12pt را مجاز می‌دانند. برای استفاده از اندازه‌ای دیگر، \f[CR]documentclass\f[R] را روی یکی از کلاس‌های KOMA\-Script مانند \f[CR]scrartcl\f[R] یا \f[CR]scrbook\f[R] تنظیم کنید. .TP \f[CR]mainfont\f[R], \f[CR]sansfont\f[R], \f[CR]monofont\f[R], \f[CR]mathfont\f[R], \f[CR]CJKmainfont\f[R], \f[CR]CJKsansfont\f[R], \f[CR]CJKmonofont\f[R] خانواده‌های قلم برای استفاده با \f[CR]xelatex\f[R] یا \f[CR]lualatex\f[R]: با استفاده از بسته‌ی \f[CR]fontspec\f[R] نام هر قلم سیستمی را می‌پذیرند. در صورت استفاده از \f[CR]xelatex\f[R]، گزینه‌ی \f[CR]CJKmainfont\f[R] از بسته‌ی \f[CR]xecjk\f[R]، یا اگر از \f[CR]lualatex\f[R] استفاده شود، از بسته‌ی \f[CR]luatexja\f[R] بهره می‌برد. .TP \f[CR]mainfontoptions\f[R], \f[CR]sansfontoptions\f[R], \f[CR]monofontoptions\f[R], \f[CR]mathfontoptions\f[R], \f[CR]CJKoptions\f[R], \f[CR]luatexjapresetoptions\f[R] گزینه‌هایی برای استفاده به همراه \f[CR]mainfont\f[R]، \f[CR]sansfont\f[R]، \f[CR]monofont\f[R]، \f[CR]mathfont\f[R] و \f[CR]CJKmainfont\f[R] در \f[CR]xelatex\f[R] و \f[CR]lualatex\f[R]. امکان استفاده از هر انتخابی که از طریق \f[CR]fontspec\f[R] در دسترس است را فراهم می‌کند؛ برای چندین گزینه تکرار کنید. برای نمونه، جهت استفاده از نسخه‌ی TeX Gyre قلم Palatino با ارقام کوچک: .RS .IP .EX \-\-\- mainfont: TeX Gyre Pagella mainfontoptions: \- Numbers=Lowercase \- Numbers=Proportional \&... .EE .RE .TP \f[CR]mainfontfallback\f[R], \f[CR]sansfontfallback\f[R], \f[CR]monofontfallback\f[R] قلم‌هایی که اگر گلیفی به ترتیب در \f[CR]mainfont\f[R]، \f[CR]sansfont\f[R] یا \f[CR]monofont\f[R] یافت نشد، امتحان می‌شوند. این‌ها به‌صورت فهرست هستند. نام قلم باید با یک دو‌نقطه و به‌صورت اختیاری با مجموعه‌ای از گزینه‌ها همراه باشد، برای نمونه: .RS .IP .EX \-\-\- mainfontfallback: \- \(dqFreeSans:\(dq \- \(dqNotoColorEmoji:mode=harf\(dq \&... .EE قلم‌های جایگزین در حال حاضر تنها با \f[CR]lualatex\f[R] کار می‌کنند. .RE .TP \f[CR]babelfonts\f[R] نگاشتی از نام زبان‌های Babel (مانند \f[CR]chinese\f[R]) به قلمی که باید برای آن زبان استفاده شود: .RS .IP .EX \-\-\- babelfonts: chinese\-hant: \(dqNoto Serif CJK TC\(dq russian: \(dqNoto Serif\(dq \&... .EE .RE .TP \f[CR]microtypeoptions\f[R] گزینه‌هایی برای ارسال به بسته‌ی microtype .SS "پیوندها (Links)" .TP \f[CR]colorlinks\f[R] افزودن رنگ به متن پیوند؛ در صورتی که هر یک از \f[CR]linkcolor\f[R]، \f[CR]filecolor\f[R]، \f[CR]citecolor\f[R]، \f[CR]urlcolor\f[R] یا \f[CR]toccolor\f[R] تنظیم شده باشند، به‌طور خودکار فعال می‌شود. .TP \f[CR]boxlinks\f[R] افزودن کادر قابل مشاهده دور پیوندها (در صورت تنظیم بودن \f[CR]colorlinks\f[R] هیچ تأثیری ندارد) .TP \f[CR]linkcolor\f[R], \f[CR]filecolor\f[R], \f[CR]citecolor\f[R], \f[CR]urlcolor\f[R], \f[CR]toccolor\f[R] به ترتیب رنگ برای پیوندهای داخلی، پیوندهای خارجی، پیوندهای ارجاع، URLهای پیوندشده و پیوندهای درون فهرست مطالب: از گزینه‌های مجاز در \f[CR]xcolor\f[R]، از جمله فهرست‌های \f[CR]dvipsnames\f[R]، \f[CR]svgnames\f[R] و \f[CR]x11names\f[R] استفاده می‌کند. .TP \f[CR]links\-as\-notes\f[R] باعث می‌شود پیوندها به‌صورت پاورقی چاپ شوند .TP \f[CR]urlstyle\f[R] سبک نمایش برای URLها (مانند \f[CR]tt\f[R]، \f[CR]rm\f[R]، \f[CR]sf\f[R] و حالت پیش‌فرض، \f[CR]same\f[R]) .SS "بخش آغازین (Front matter)" .TP \f[CR]lof\f[R], \f[CR]lot\f[R] گنجاندن فهرست شکل‌ها، فهرست جدول‌ها (همچنین با استفاده از \f[CR]\-\-lof/\-\-list\-of\-figures\f[R] و \f[CR]\-\-lot/\-\-list\-of\-tables\f[R] نیز قابل تنظیم است) .TP \f[CR]thanks\f[R] محتوای پاورقی قدردانی و سپاسگزاری پس از عنوان سند .TP \f[CR]toc\f[R] گنجاندن فهرست مطالب (همچنین با استفاده از \f[CR]\-\-toc/\-\-table\-of\-contents\f[R] نیز قابل تنظیم است) .TP \f[CR]toc\-depth\f[R] سطح بخش‌هایی که باید در فهرست مطالب گنجانده شوند.SS کتاب‌نامه‌های BibLaTeX این متغیرها هنگام استفاده از BibLaTeX برای رندر ارجاعات کاربرد دارند. .TP \f[CR]biblatexoptions\f[R] فهرست گزینه‌ها برای biblatex .TP \f[CR]biblio\-style\f[R] سبک کتاب‌نامه، هنگام استفاده همراه با \f[CR]\-\-natbib\f[R] و \f[CR]\-\-biblatex\f[R] .TP \f[CR]biblio\-title\f[R] عنوان کتاب‌نامه، هنگام استفاده همراه با \f[CR]\-\-natbib\f[R] و \f[CR]\-\-biblatex\f[R] .TP \f[CR]bibliography\f[R] کتاب‌نامه مورد استفاده برای برطرف‌سازی ارجاعات .TP \f[CR]natbiboptions\f[R] فهرست گزینه‌ها برای natbib .SS سایر .TP \f[CR]pdf\-trailer\-id\f[R] شناسه trailer در PDF؛ در صورت تنظیم باید دو رشته بایتی PDF باشند، که به طور معمول هر یک ۱۶ بایت دارند. برای مثال: \f[CR]<00112233445566778899aabbccddeeff> <00112233445566778899aabbccddeeff>\f[R]. .RS بخش ساخت‌های بازتولیدپذیر را ببینید. .RE .TP \f[CR]pdfstandard\f[R] استاندارد(های) PDF برای سند، به عنوان مثال \f[CR]ua\-2\f[R]، \f[CR]a\-4f\f[R]. از انواع PDF/A، PDF/X و PDF/UA پشتیبانی می‌کند. نیازمند LuaLaTeX و LaTeX نسخه 2023+ است. برای چندین استاندارد تکرار کنید: .RS .IP .EX \-\-\- pdfstandard: \- ua\-2 \- a\-4f \&... .EE .RE .SS متغیرهای ConTeXt دستور Pandoc هنگام ساخت یک PDF با استفاده از ConTeXt، از این متغیرها استفاده می‌کند. .TP \f[CR]fontsize\f[R] اندازه قلم برای متن بدنه (مانند \f[CR]10pt\f[R]، \f[CR]12pt\f[R]) .TP \f[CR]headertext\f[R], \f[CR]footertext\f[R] متنی که باید در سربرگ یا پاورقی صفحه قرار گیرد (بخش سربرگ‌ها و پاورقی‌های ConTeXt را ببینید)؛ برای مکان‌گذاری‌های مختلف تا چهار بار قابل تکرار است .TP \f[CR]indenting\f[R] تورفتگی بندها را کنترل می‌کند، مانند \f[CR]yes,small,next\f[R] (بخش تورفتگی در ConTeXt را ببینید)؛ برای گزینه‌های متعدد تکرارپذیر است .TP \f[CR]interlinespace\f[R] فاصله بین خطوط را تنظیم می‌کند، مانند \f[CR]4ex\f[R] (با استفاده از \f[CR]setupinterlinespace\f[R])؛ برای گزینه‌های متعدد تکرارپذیر است .TP \f[CR]layout\f[R] گزینه‌هایی برای حاشیه‌های صفحه و چیدمان متن (بخش چیدمان در ConTeXt را ببینید)؛ برای گزینه‌های متعدد تکرارپذیر است .TP \f[CR]linkcolor\f[R], \f[CR]contrastcolor\f[R] رنگ پیوندها در بیرون و درون صفحه، مانند \f[CR]red\f[R]، \f[CR]blue\f[R] (بخش رنگ در ConTeXt را ببینید) .TP \f[CR]linkstyle\f[R] سبک تایپ‌فیس برای پیوندها، مانند \f[CR]normal\f[R]، \f[CR]bold\f[R]، \f[CR]slanted\f[R]، \f[CR]boldslanted\f[R]، \f[CR]type\f[R]، \f[CR]cap\f[R]، \f[CR]small\f[R] .TP \f[CR]lof\f[R], \f[CR]lot\f[R] گنجاندن فهرست تصاویر، فهرست جدول‌ها .TP \f[CR]mainfont\f[R], \f[CR]sansfont\f[R], \f[CR]monofont\f[R], \f[CR]mathfont\f[R] خانواده‌های قلم: نام هر قلم سیستمی را می‌پذیرند (بخش تعویض قلم در ConTeXt را ببینید) .TP \f[CR]mainfontfallback\f[R], \f[CR]sansfontfallback\f[R], \f[CR]monofontfallback\f[R] فهرست قلم‌هایی که اگر یک گلیف در قلم اصلی یافت نشود، به ترتیب بررسی می‌شوند. از نحو نام قلم سازگار با \f[CR]\(rsdefinefallbackfamily\f[R] استفاده کنید. قلم‌های ایموجی پشتیبانی نمی‌شوند. .TP \f[CR]margin\-left\f[R], \f[CR]margin\-right\f[R], \f[CR]margin\-top\f[R], \f[CR]margin\-bottom\f[R] در صورت عدم استفاده از \f[CR]layout\f[R]، حاشیه‌ها را تعیین می‌کند (در غیر این صورت \f[CR]layout\f[R] این مقادیر را لغو می‌کند) .TP \f[CR]pagenumbering\f[R] سبک و محل قرارگیری شماره صفحه (با استفاده از \f[CR]setuppagenumbering\f[R])؛ برای چندین گزینه تکرارپذیر است .TP \f[CR]papersize\f[R] اندازه کاغذ، مانند \f[CR]letter\f[R]، \f[CR]A4\f[R]، \f[CR]landscape\f[R] (بخش تنظیمات کاغذ در ConTeXt را ببینید)؛ برای چندین گزینه تکرارپذیر است .TP \f[CR]pdfa\f[R] تنظیمات لازم برای تولید PDF/A از نوع مشخص‌شده را به دیباچه می‌افزاید، مانند \f[CR]1a:2005\f[R]، \f[CR]2a\f[R]. اگر نوعی مشخص نشود (یعنی مقدار با مواردی مثل \f[CR]\-\-metadata=pdfa\f[R] یا \f[CR]pdfa: true\f[R] در یک بلوک فراداده YAML برابر True تعیین شده باشد)، به دلایل سازگاری با نسخه‌های پیشین، \f[CR]1b:2005\f[R] به عنوان پیش‌فرض استفاده خواهد شد. استفاده از \f[CR]\-\-variable=pdfa\f[R] بدون مقدار مشخص‌شده پشتیبانی نمی‌شود. برای تولید موفقیت‌آمیز PDF/A، پروفایل‌های رنگی ICC موردنیاز باید در دسترس باشند و محتوا و تمام فایل‌های ضمیمه‌شده (مانند تصاویر) باید منطبق با استاندارد باشند. پروفایل‌های ICC و قصد خروجی (output intent) می‌توانند با استفاده از متغیرهای \f[CR]pdfaiccprofile\f[R] و \f[CR]pdfaintent\f[R] مشخص شوند. همچنین برای اطلاعات بیشتر ConTeXt PDFA را ببینید. .TP \f[CR]pdfaiccprofile\f[R] هنگام استفاده همراه با \f[CR]pdfa\f[R]، پروفایل ICC مورد استفاده در PDF را مشخص می‌کند، مانند \f[CR]default.cmyk\f[R]. در صورت نامشخص ماندن، \f[CR]sRGB.icc\f[R] به عنوان پیش‌فرض استفاده می‌شود. می‌تواند برای افزودن چندین پروفایل تکرار شود. توجه داشته باشید که پروفایل‌ها باید در سیستم در دسترس باشند. آن‌ها را می‌توان از ConTeXt ICC Profiles دریافت کرد. .TP \f[CR]pdfaintent\f[R] هنگام استفاده همراه با \f[CR]pdfa\f[R]، قصد خروجی رنگ‌ها را مشخص می‌کند، مانند \f[CR]ISO coated v2 300\(rsletterpercent\(rsspace (ECI)\f[R]. اگر نامشخص بماند، \f[CR]sRGB IEC61966\-2.1\f[R] به عنوان پیش‌فرض استفاده می‌شود. .TP \f[CR]toc\f[R] گنجاندن فهرست مطالب (همچنین با استفاده از \f[CR]\-\-toc/\-\-table\-of\-contents\f[R] قابل تنظیم است) .TP \f[CR]urlstyle\f[R] سبک تایپ‌فیس برای پیوندهای فاقد متن پیوند، مانند \f[CR]normal\f[R]، \f[CR]bold\f[R]، \f[CR]slanted\f[R]، \f[CR]boldslanted\f[R]، \f[CR]type\f[R]، \f[CR]cap\f[R]، \f[CR]small\f[R] .TP \f[CR]whitespace\f[R] فاصله‌گذاری میان بندها، مانند \f[CR]none\f[R]، \f[CR]small\f[R] (با استفاده از \f[CR]setupwhitespace\f[R]) .TP \f[CR]includesource\f[R] گنجاندن تمام اسناد منبع به عنوان پیوست‌های فایل در فایل PDF.SS متغیرها برای \f[CR]wkhtmltopdf\f[R] Pandoc هنگام ایجاد یک PDF با \f[CR]wkhtmltopdf\f[R] از این متغیرها استفاده می‌کند. گزینه \f[CR]\-\-css\f[R] نیز بر خروجی تأثیر می‌گذارد. .TP \f[CR]footer\-html\f[R], \f[CR]header\-html\f[R] افزودن اطلاعات به سربرگ و پانویس .TP \f[CR]margin\-left\f[R], \f[CR]margin\-right\f[R], \f[CR]margin\-top\f[R], \f[CR]margin\-bottom\f[R] تنظیم حاشیه‌های صفحه .TP \f[CR]papersize\f[R] تنظیم اندازه کاغذ PDF .SS متغیرها برای صفحات man .TP \f[CR]adjusting\f[R] تراز کردن متن به حاشیه چپ (\f[CR]l\f[R])، راست (\f[CR]r\f[R])، مرکز (\f[CR]c\f[R])، یا هر دو (\f[CR]b\f[R]) .TP \f[CR]footer\f[R] پانویس در صفحات man .TP \f[CR]header\f[R] سربرگ در صفحات man .TP \f[CR]section\f[R] شماره بخش در صفحات man .SS متغیرها برای Texinfo .TP \f[CR]version\f[R] نسخه نرم‌افزار (در عنوان و صفحه عنوان استفاده می‌شود) .TP \f[CR]filename\f[R] نام فایل info که باید تولید شود (پیش‌فرض آن نامی بر اساس نام فایل texi است) .SS متغیرها برای Typst .TP \f[CR]template\f[R] قالب Typst برای استفاده (فقط مسیر نسبی). .TP \f[CR]margin\f[R] یک دیکشنری با فیلدهای تعریف‌شده در مستندات Typst: \f[CR]x\f[R]، \f[CR]y\f[R]، \f[CR]top\f[R]، \f[CR]bottom\f[R]، \f[CR]left\f[R]، \f[CR]right\f[R]. .TP \f[CR]papersize\f[R] اندازه کاغذ: \f[CR]a4\f[R]، \f[CR]us\-letter\f[R] و غیره. .TP \f[CR]mainfont\f[R] نام قلم سیستمی مورد استفاده به عنوان قلم اصلی. .TP \f[CR]fontsize\f[R] اندازه قلم (برای مثال، \f[CR]12pt\f[R]). .TP \f[CR]section\-numbering\f[R] طرح‌واره مورد استفاده برای شماره‌گذاری بخش‌ها، برای مثال \f[CR]1.A.1\f[R]. .TP \f[CR]page\-numbering\f[R] طرح‌واره مورد استفاده برای شماره‌گذاری صفحه‌ها، برای مثال \f[CR]1\f[R] یا \f[CR]i\f[R]، یا یک رشته خالی برای صرف‌نظر از شماره‌گذاری صفحه‌ها. .TP \f[CR]columns\f[R] تعداد ستون‌ها برای متن بدنه. .TP \f[CR]thanks\f[R] محتوای پانویس قدردانی پس از عنوان سند .TP \f[CR]mathfont\f[R], \f[CR]codefont\f[R] نام قلم سیستمی مورد استفاده به‌ترتیب برای ریاضیات و کد. .TP \f[CR]linestretch\f[R] تنظیم فاصله خطوط، برای مثال \f[CR]1.25\f[R]، \f[CR]1.5\f[R] .TP \f[CR]linkcolor\f[R], \f[CR]filecolor\f[R], \f[CR]citecolor\f[R] رنگ به‌ترتیب برای پیوندهای خارجی، پیوندهای داخلی و پیوندهای ارجاع: انتظار یک کد رنگ شانزده‌شانزدهی (هگزادسیمال) را دارد .SS متغیرها برای ms .TP \f[CR]fontfamily\f[R] \f[CR]A\f[R] (Avant Garde)، \f[CR]B\f[R] (Bookman)، \f[CR]C\f[R] (Helvetica)، \f[CR]HN\f[R] (Helvetica Narrow)، \f[CR]P\f[R] (Palatino)، یا \f[CR]T\f[R] (Times New Roman). این تنظیم بر کد منبع که همواره با استفاده از Courier با عرض ثابت (monospace) نمایش داده می‌شود، تأثیری ندارد. این قلم‌های توکار در پوشش نویسه‌ها محدود هستند. قلم‌های اضافی را می‌توان با استفاده از اسکریپت \f[CR]install\-font.sh\f[R] که توسط Peter Schaffter ارائه شده و در وبگاه او به‌طور مفصل مستند گردیده است، نصب کرد. .TP \f[CR]indent\f[R] تورفتگی بند (برای مثال \f[CR]2m\f[R]) .TP \f[CR]lineheight\f[R] ارتفاع خط (برای مثال \f[CR]12p\f[R]) .TP \f[CR]pointsize\f[R] اندازه پوینت (برای مثال \f[CR]10p\f[R]) .SS متغیرها برای RTF .TP \f[CR]fontsize\f[R] اندازه قلم برای متن بدنه، برای مثال \f[CR]12pt\f[R] یا \f[CR]12.5pt\f[R]. .SS متغیرهایی که به‌طور خودکار تنظیم می‌شوند Pandoc این متغیرها را به‌طور خودکار در پاسخ به گزینه‌ها یا محتویات سند تنظیم می‌کند؛ کاربران نیز می‌توانند آن‌ها را تغییر دهند. این متغیرها بسته به قالب خروجی متفاوت بوده و شامل موارد زیر هستند: .TP \f[CR]body\f[R] بدنه سند .TP \f[CR]date\-meta\f[R] متغیر \f[CR]date\f[R] تبدیل‌شده به ISO 8601 YYYY\-MM\-DD، گنجانده‌شده در تمام قالب‌های مبتنی بر HTML شامل (dzslides، epub، html، html4، html5، revealjs، s5، slideous، slidy). قالب‌های شناخته‌شده برای \f[CR]date\f[R] عبارتند از: \f[CR]mm/dd/yyyy\f[R]، \f[CR]mm/dd/yy\f[R]، \f[CR]yyyy\-mm\-dd\f[R] (ISO 8601)، \f[CR]dd MM yyyy\f[R] (برای مثال \f[CR]02 Apr 2018\f[R] یا \f[CR]02 April 2018\f[R])، \f[CR]MM dd, yyyy\f[R] (برای مثال \f[CR]Apr. 02, 2018\f[R] یا \f[CR]April 02, 2018\f[R])، \f[CR]yyyy[mm[dd]]\f[R] (برای مثال \f[CR]20180402\f[R]، \f[CR]201804\f[R] یا \f[CR]2018\f[R]). .TP \f[CR]header\-includes\f[R] محتویات مشخص‌شده توسط \f[CR]\-H/\-\-include\-in\-header\f[R] (می‌تواند دارای چندین مقدار باشد) .TP \f[CR]include\-before\f[R] محتویات مشخص‌شده توسط \f[CR]\-B/\-\-include\-before\-body\f[R] (می‌تواند دارای چندین مقدار باشد) .TP \f[CR]include\-after\f[R] محتویات مشخص‌شده توسط \f[CR]\-A/\-\-include\-after\-body\f[R] (می‌تواند دارای چندین مقدار باشد) .TP \f[CR]meta\-json\f[R] نمایش JSON از تمام فراداده‌های سند. مقادیر فیلدها به قالب خروجی انتخاب‌شده تبدیل می‌شوند. .TP \f[CR]numbersections\f[R] مقداری غیرتهی در صورتی که \f[CR]\-N/\-\-number\-sections\f[R] مشخص شده باشد .TP \f[CR]sourcefile\f[R], \f[CR]outputfile\f[R] نام فایل‌های مبدأ و مقصد، همان‌طور که در خط فرمان مشخص شده‌اند. \f[CR]sourcefile\f[R] در صورتی که ورودی از چندین فایل باشد می‌تواند یک لیست باشد، یا در صورتی که ورودی از stdin باشد خالی باشد. می‌توانید از قطعه‌کد زیر در قالب خود برای تفکیک آن‌ها استفاده کنید: .RS .IP .EX $if(sourcefile)$ $for(sourcefile)$ $sourcefile$ $endfor$ $else$ (stdin) $endif$ .EE به همین ترتیب، اگر خروجی به ترمینال هدایت شود، \f[CR]outputfile\f[R] می‌تواند \f[CR]\-\f[R] باشد. اگر به مسیرهای مطلق نیاز دارید، برای مثال از \f[CR]$curdir$/$sourcefile$\f[R] استفاده کنید. .RE .TP \f[CR]pdf\-engine\f[R] نام موتور PDF در صورتی که با استفاده از \f[CR]\-\-pdf\-engine\f[R] مشخص شده باشد، یا موتور پیش‌فرض برای قالب در صورتی که خروجی PDF درخواست شده باشد. .TP \f[CR]curdir\f[R] دایرکتوری کاری که pandoc از آن اجرا می‌شود. .TP \f[CR]pandoc\-version\f[R] نسخه pandoc. .TP \f[CR]toc\f[R] مقداری غیرتهی در صورتی که \f[CR]\-\-toc/\-\-table\-of\-contents\f[R] مشخص شده باشد .TP \f[CR]toc\-title\f[R] عنوان فهرست مطالب (تنها با EPUB، HTML، revealjs، opendocument، odt، docx، pptx، beamer و LaTeX کار می‌کند). توجه داشته باشید که در docx و pptx یک \f[CR]toc\-title\f[R] سفارشی از فراداده استخراج می‌شود، اما نمی‌توان آن را به عنوان یک متغیر تنظیم کرد..SH "افزونه‌ها (EXTENSIONS)" رفتار برخی از خواننده‌ها و نویسنده‌ها را می‌توان با فعال یا غیرفعال کردن افزونه‌های مختلف تنظیم کرد. .PP یک افزونه می‌تواند با افزودن \f[CR]+EXTENSION\f[R] به نام قالب فعال و با افزودن \f[CR]\-EXTENSION\f[R] غیرفعال شود. برای نمونه، \f[CR]\-\-from markdown_strict+footnotes\f[R] همان Markdown سخت‌گیرانه با پاورقی‌های فعال است، در حالی که \f[CR]\-\-from markdown\-footnotes\-pipe_tables\f[R] بیانگر Markdown پاندوک بدون پاورقی یا جدول‌های لوله‌ای (pipe tables) است. .PP خواننده و نویسندهٔ Markdown بیشترین استفاده را از افزونه‌ها دارند. بنابراین افزونه‌هایی که تنها توسط آن‌ها استفاده می‌شوند در بخش Markdown پاندوک در زیر آورده شده‌اند (برای \f[CR]commonmark\f[R] و \f[CR]gfm\f[R]، گونه‌های Markdown را ببینید). در ادامه، افزونه‌هایی که برای قالب‌های دیگر نیز کار می‌کنند توضیح داده شده‌اند. .PP توجه داشته باشید که افزونه‌های Markdown اضافه‌شده به قالب \f[CR]ipynb\f[R]، بر سلول‌های Markdown در دفترچه‌های Jupyter تأثیر می‌گذارند (همانند گزینه‌های خط فرمان مانند \f[CR]\-\-markdown\-headings\f[R]). .SS "تایپوگرافی (Typography)" .SS افزونه: \f[CR]smart\f[R] نقل‌قول‌های مستقیم (straight quotes) را به عنوان نقل‌قول‌های خمیده (curly quotes)، \f[CR]\-\-\-\f[R] را به عنوان خط تیره بلند (em\-dash)، \f[CR]\-\-\f[R] را به عنوان خط تیره متوسط (en\-dash) و \f[CR]...\f[R] را به عنوان نشانه‌ تعلیق (ellipses) تفسیر می‌کند. فاصله‌های نشکن پس از برخی اختصارات، مانند \(lqMr.\(rq درج می‌شوند. .PP این افزونه را می‌توان برای قالب‌های زیر فعال/غیرفعال کرد: .TP قالب‌های ورودی \f[CR]markdown\f[R]، \f[CR]commonmark\f[R]، \f[CR]latex\f[R]، \f[CR]mediawiki\f[R]، \f[CR]org\f[R]، \f[CR]rst\f[R]، \f[CR]twiki\f[R]، \f[CR]html\f[R] .TP قالب‌های خروجی \f[CR]markdown\f[R]، \f[CR]latex\f[R]، \f[CR]context\f[R]، \f[CR]org\f[R]، \f[CR]rst\f[R] .TP به‌طور پیش‌فرض فعال در \f[CR]markdown\f[R]، \f[CR]latex\f[R]، \f[CR]context\f[R] (هم ورودی و هم خروجی) .PP نکته: اگر در حال \f[I]نوشتن\f[R] Markdown هستید، افزونهٔ \f[CR]smart\f[R] اثر معکوس دارد: آنچه نقل‌قول خمیده بود، به‌صورت مستقیم خارج می‌شود. .PP در LaTeX، \f[CR]smart\f[R] به معنای استفاده از بستارهای (ligatures) استاندارد TeX برای علامت‌های نقل‌قول (\f[CR]\(ga\(ga\f[R] و \f[CR]\(aq\(aq\f[R] برای نقل‌قول‌های دوتایی، \f[CR]\(ga\f[R] و \f[CR]\(aq\f[R] برای نقل‌قول‌های تکی) و خط‌های تیره (\f[CR]\-\-\f[R] برای en\-dash و \f[CR]\-\-\-\f[R] برای em\-dash) است. اگر \f[CR]smart\f[R] غیرفعال باشد، پاندوک هنگام خواندن LaTeX این نویسه‌ها را به‌صورت لفظی (literal) پردازش خواهد کرد. در هنگام نوشتن LaTeX، فعال کردن \f[CR]smart\f[R] به pandoc می‌گوید در صورت امکان از بستارها استفاده کند؛ اگر \f[CR]smart\f[R] غیرفعال باشد، pandoc از نویسه‌های یونیکدِ نقل‌قول و خط تیره استفاده خواهد کرد. .SS "سرعنوان‌ها و بخش‌ها (Headings and sections)" .SS افزونه: \f[CR]auto_identifiers\f[R] به سرعنوانی که شناسهٔ صریحاً مشخص‌شده‌ای نداشته باشد، به‌طور خودکار یک شناسهٔ یکتا بر اساس متن سرعنوان اختصاص داده خواهد شد. .PP این افزونه را می‌توان برای قالب‌های زیر فعال/غیرفعال کرد: .TP قالب‌های ورودی \f[CR]markdown\f[R]، \f[CR]latex\f[R]، \f[CR]rst\f[R]، \f[CR]mediawiki\f[R]، \f[CR]textile\f[R]، \f[CR]man\f[R]، \f[CR]typst\f[R] .TP قالب‌های خروجی \f[CR]markdown\f[R]، \f[CR]muse\f[R] .TP به‌طور پیش‌فرض فعال در \f[CR]markdown\f[R]، \f[CR]muse\f[R]، \f[CR]man\f[R] .PP الگوریتم پیش‌فرضی که برای استخراج شناسه از متن سرعنوان استفاده می‌شود عبارت است از: .IP \(bu 2 حذف تمام قالب‌بندی‌ها، پیوندها و غیره. .IP \(bu 2 حذف تمام پاورقی‌ها. .IP \(bu 2 حذف تمام نویسه‌های غیرحرفی\-عددی، به‌جز خط زیر (underscore)، خط تیره و نقطه. .IP \(bu 2 جایگزین کردن همهٔ فاصله‌ها و خطوط جدید با خط تیره. .IP \(bu 2 تبدیل تمام حروف الفبا به حروف کوچک. .IP \(bu 2 حذف همه‌چیز تا اولین حرف (شناسه‌ها نباید با عدد یا علامت نگارشی آغاز شوند). .IP \(bu 2 اگر پس از این چیزی باقی نماند، استفاده از شناسهٔ \f[CR]section\f[R]. .PP بنابراین، برای نمونه، .RS -14n .IP .EX Heading Identifier \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- Heading identifiers in HTML heading\-identifiers\-in\-html Maître d\(aqhôtel maître\-dhôtel *Dogs*?\-\-in *my* house? dogs\-\-in\-my\-house [HTML], [S5], or [RTF]? html\-s5\-or\-rtf 3. Applications applications 33 section .EE .RE .PP این قواعد باید در بیشتر موارد به فرد اجازه دهد تا شناسه را از روی متن سرعنوان تعیین کند. استثنا زمانی است که چندین سرعنوان متن یکسانی داشته باشند؛ در این حالت، اولی شناسه‌ای طبق توضیحات بالا دریافت می‌کند؛ دومی همان شناسه را با پیوست شدن \f[CR]\-1\f[R] دریافت خواهد کرد؛ سومی با \f[CR]\-2\f[R]؛ و به همین ترتیب. .PP (با این حال، در صورت فعال بودن \f[CR]gfm_auto_identifiers\f[R]، الگوریتم متفاوتی استفاده می‌شود؛ به پایین مراجعه کنید.) .PP این شناسه‌ها برای ایجاد مقصدهای پیوند در فهرست مطالبی که با گزینهٔ \f[CR]\-\-toc|\-\-table\-of\-contents\f[R] تولید می‌شود، استفاده می‌شوند. آن‌ها همچنین پیوند دادن از بخشی از سند به بخش دیگر را آسان می‌کنند. برای نمونه، پیوندی به این بخش ممکن است به این صورت باشد: .IP .EX See the section on [heading identifiers](#heading\-identifiers\-in\-html\-latex\-and\-context). .EE .PP با این حال توجه داشته باشید که این روش پیوند دادن به بخش‌ها تنها در قالب‌های HTML، LaTeX و ConTeXt کار می‌کند. .PP اگر گزینهٔ \f[CR]\-\-section\-divs\f[R] مشخص شده باشد، هر بخش درون یک \f[CR]section\f[R] (یا یک \f[CR]div\f[R]، اگر \f[CR]html4\f[R] مشخص شده باشد) قرار می‌گیرد، و شناسه به‌جای خودِ سرعنوان به برچسب دربرگیرندهٔ \f[CR]
\f[R] (یا \f[CR]
\f[R]) اختصاص می‌یابد. این ویژگی اجازه می‌دهد کل بخش‌ها با استفاده از JavaScript دستکاری شوند یا در CSS رفتار متفاوتی با آن‌ها صورت گیرد..SS افزونه: \f[CR]ascii_identifiers\f[R] باعث می‌شود شناسه‌های تولیدشده توسط \f[CR]auto_identifiers\f[R] کاملاً ASCII باشند. نشانه‌های اعراب از حروف لاتینِ اعراب‌دار حذف شده و حروف غیرلاتین نادیده گرفته می‌شوند. .SS افزونه: \f[CR]gfm_auto_identifiers\f[R] الگوریتم مورد استفاده توسط \f[CR]auto_identifiers\f[R] را تغییر می‌دهد تا با روش GitHub منطبق شود. فاصله‌ها به خط تیره (\f[CR]\-\f[R])، نویسه‌های بزرگ به نویسه‌های کوچک تبدیل شده، و نویسه‌های نشانه‌گذاری به جز \f[CR]\-\f[R] و \f[CR]_\f[R] حذف می‌شوند. ایموجی‌ها با نام‌هایشان جایگزین می‌شوند. .SS ورودی ریاضی افزونه‌های \f[CR]tex_math_dollars\f[R]، \f[CR]tex_math_gfm\f[R]، \f[CR]tex_math_single_backslash\f[R] و \f[CR]tex_math_double_backslash\f[R] در بخش مربوط به Pandoc\(cqs Markdown شرح داده شده‌اند. .PP با این حال، می‌توان از آن‌ها برای ورودی HTML نیز استفاده کرد. این قابلیت برای نمونه جهت خواندن صفحات وبی که با MathJax قالب‌بندی شده‌اند، بسیار کارآمد است. .SS HTML/TeX خام افزونه‌های زیر با جزئیات بیشتر در بخش‌های مربوط به خود در Pandoc\(cqs Markdown توضیح داده شده‌اند: .IP \(bu 2 \f[CR]raw_html\f[R] اجازه می‌دهد عناصر HTML که در AST پاندوک قابل نمایش نیستند، به صورت HTML خام تجزیه شوند. به‌طور پیش‌فرض، این قابلیت برای ورودی HTML غیرفعال است. .IP \(bu 2 \f[CR]raw_tex\f[R] امکان گنجاندن کدهای خام LaTeX، TeX و ConTeXt را در یک سند فراهم می‌سازد. این افزونه را می‌توان علاوه بر \f[CR]markdown\f[R] برای قالب‌های زیر نیز فعال/غیرفعال کرد: .RS 2 .TP قالب‌های ورودی \f[CR]latex\f[R]، \f[CR]textile\f[R]، \f[CR]html\f[R] (تنها محیط‌ها، \f[CR]\(rsref\f[R] و \f[CR]\(rseqref\f[R])، \f[CR]ipynb\f[R] .TP قالب‌های خروجی \f[CR]textile\f[R]، \f[CR]commonmark\f[R] .PP نکته: در مورد \f[CR]ipynb\f[R]، افزونه‌های \f[CR]raw_html\f[R] و \f[CR]raw_tex\f[R] نه تنها بر TeX خام در سلول‌های Markdown، بلکه بر داده‌های با نوع mime به صورت \f[CR]text/html\f[R] در سلول‌های خروجی نیز اثر می‌گذارند. از آنجا که خوانندهٔ \f[CR]ipynb\f[R] تلاش می‌کند تا در صورت وجود چند گزینه، غنی‌ترین خروجی ممکن را حفظ کند، اگر هنگام تبدیل به قالب‌هایی نظیر \f[CR]docx\f[R] (که اجازهٔ وجود \f[CR]html\f[R] یا \f[CR]tex\f[R] خام را نمی‌دهند) گزینه‌های \f[CR]raw_html\f[R] و \f[CR]raw_tex\f[R] را غیرفعال کنید، بهترین نتیجه را به دست خواهید آورد. .RE .IP \(bu 2 \f[CR]native_divs\f[R] باعث می‌شود عناصر \f[CR]div\f[R] در HTML به عنوان بلوک‌های بومی Div در pandoc تجزیه شوند. اگر می‌خواهید آن‌ها به صورت HTML خام تجزیه شوند، از \f[CR]\-f html\-native_divs+raw_html\f[R] استفاده کنید. .IP \(bu 2 \f[CR]native_spans\f[R] باعث می‌شود عناصر \f[CR]span\f[R] در HTML به عنوان عناصر درون‌خطی بومی Span در pandoc تجزیه شوند. اگر می‌خواهید آن‌ها به صورت HTML خام تجزیه شوند، از \f[CR]\-f html\-native_spans+raw_html\f[R] استفاده کنید. اگر مایلید هنگام تبدیل HTML به Markdown تمامی \f[CR]div\f[R]ها و \f[CR]span\f[R]ها را حذف کنید، می‌توانید از \f[CR]pandoc \-f html\-native_divs\-native_spans \-t markdown\f[R] استفاده نمایید. .SS پشتیبانی از Literate Haskell .SS افزونه: \f[CR]literate_haskell\f[R] سند را به عنوان کد منبع literate Haskell در نظر می‌گیرد. .PP این افزونه را می‌توان برای قالب‌های زیر فعال/غیرفعال کرد: .TP قالب‌های ورودی \f[CR]markdown\f[R]، \f[CR]rst\f[R]، \f[CR]latex\f[R] .TP قالب‌های خروجی \f[CR]markdown\f[R]، \f[CR]rst\f[R]، \f[CR]latex\f[R]، \f[CR]html\f[R] .PP اگر \f[CR]+lhs\f[R] (یا \f[CR]+literate_haskell\f[R]) را به یکی از قالب‌های بالا الحاق کنید، pandoc با سند مانند کد منبع literate Haskell رفتار خواهد کرد. این بدان معناست که: .IP \(bu 2 در ورودی Markdown، بخش‌های \(lqbird track\(rq به جای نقل‌قول‌های بلوکی، به عنوان کد Haskell تجزیه خواهند شد. متن میان \f[CR]\(rsbegin{code}\f[R] و \f[CR]\(rsend{code}\f[R] نیز به عنوان کد Haskell در نظر گرفته می‌شود. برای عنوان‌های سبک ATX به جای `#' از نویسهٔ `=' استفاده خواهد شد. .IP \(bu 2 در خروجی Markdown، بلوک‌های کد با کلاس‌های \f[CR]haskell\f[R] و \f[CR]literate\f[R] با استفاده از bird track نمایش داده می‌شوند، و نقل‌قول‌های بلوکی یک فاصله تورفتگی خواهند داشت تا به عنوان کد Haskell در نظر گرفته نشوند. علاوه بر این، عنوان‌ها به جای سبک ATX (همراه با نویسه‌های `#' )، به سبک setext (با خط زیرین) رندر خواهند شد. (به این دلیل که ghc نویسه‌های `#' در ستون اول را به عنوان معرف شماره خط تلقی می‌کند.) .IP \(bu 2 در ورودی restructured text، بخش‌های \(lqbird track\(rq به عنوان کد Haskell تجزیه می‌شوند. .IP \(bu 2 در خروجی restructured text، بلوک‌های کد دارای کلاس \f[CR]haskell\f[R] با استفاده از bird track رندر می‌شوند. .IP \(bu 2 در ورودی LaTeX، متن درون محیط‌های \f[CR]code\f[R] به عنوان کد Haskell تجزیه خواهد شد. .IP \(bu 2 در خروجی LaTeX، بلوک‌های کد با کلاس \f[CR]haskell\f[R] درون محیط‌های \f[CR]code\f[R] رندر خواهند شد. .IP \(bu 2 در خروجی HTML، بلوک‌های کد با کلاس \f[CR]haskell\f[R] با کلاس \f[CR]literatehaskell\f[R] و نشانه‌های bird track رندر می‌شوند. .PP مثال‌ها: .IP .EX pandoc \-f markdown+lhs \-t html .EE .PP کد منبع literate Haskell قالب‌بندی‌شده با قراردادهای Markdown را می‌خواند و HTML معمولی (بدون bird track) می‌نویسد. .IP .EX pandoc \-f markdown+lhs \-t html+lhs .EE .PP خروجی HTML را با کدهای Haskell در قالب bird track می‌نویسد، تا بتوان آن را به عنوان کد منبع literate Haskell کپی و جای‌گذاری کرد. .PP توجه داشته باشید که GHC انتظار دارد bird trackها در ستون اول باشند، بنابراین بلوک‌های کد literate تورفته (برای نمونه درون یک محیط فهرست‌بندی‌شده) توسط کامپایلر Haskell شناسایی نخواهند شد..SS سایر افزونه‌ها .SS افزونه: \f[CR]empty_paragraphs\f[R] پاراگراف‌های خالی را مجاز می‌کند. به‌طور پیش‌فرض، پاراگراف‌های خالی حذف می‌شوند. .PP این افزونه می‌تواند برای قالب‌های زیر فعال/غیرفعال شود: .TP قالب‌های ورودی \f[CR]docx\f[R]، \f[CR]html\f[R] .TP قالب‌های خروجی \f[CR]docx\f[R]، \f[CR]odt\f[R]، \f[CR]opendocument\f[R]، \f[CR]html\f[R]، \f[CR]latex\f[R] .SS افزونه: \f[CR]native_numbering\f[R] شماره‌گذاری شکل‌ها و جدول‌ها را از طریق فیلدهای شمارندهٔ مختص به قالب مقصد فعال می‌کند. این افزونه می‌تواند برای قالب‌های زیر فعال/غیرفعال شود: .TP قالب‌های خروجی \f[CR]odt\f[R]، \f[CR]opendocument\f[R]، \f[CR]docx\f[R] .PP اگر این افزونه فعال نباشد، جدول‌ها و شکل‌ها در این قالب‌ها شماره‌گذاری نخواهند شد. .SS افزونه: \f[CR]xrefs_name\f[R] پیوندها به سرفصل‌ها، شکل‌ها و جدول‌های درون سند با ارجاع‌های متقابلی جایگزین می‌شوند که از نام یا عنوان موردِ ارجاع‌شده استفاده خواهند کرد. متن اصلی پیوند پس از تازه‌سازی (refresh) سند تولیدشده جایگزین می‌شود. این افزونه می‌تواند با \f[CR]xrefs_number\f[R] ترکیب شود که در این صورت شماره‌ها پیش از نام ظاهر خواهند شد. .PP متن موجود در ارجاع‌های متقابل تنها پس از تازه‌سازی سند با موردِ ارجاع‌شده یکدست و هماهنگ می‌شود. .PP این افزونه می‌تواند برای قالب‌های زیر فعال/غیرفعال شود: .TP قالب‌های خروجی \f[CR]odt\f[R]، \f[CR]opendocument\f[R] .SS افزونه: \f[CR]xrefs_number\f[R] پیوندها به سرفصل‌ها، شکل‌ها و جدول‌های درون سند با ارجاع‌های متقابلی جایگزین می‌شوند که از شمارهٔ موردِ ارجاع‌شده استفاده خواهند کرد. متن اصلی پیوند نادیده گرفته می‌شود. این افزونه می‌تواند با \f[CR]xrefs_name\f[R] ترکیب شود که در این صورت نام یا عنوان پس از شماره ظاهر خواهد شد. .PP برای اینکه \f[CR]xrefs_number\f[R] مفید واقع شود، شماره‌گذاری سرفصل‌ها باید در سند تولیدشده فعال باشد، همچنین عنوان‌های جدول و شکل نیز باید برای مثال با استفاده از افزونهٔ \f[CR]native_numbering\f[R] فعال شده باشند. .PP شماره‌ها در ارجاع‌های متقابل تنها پس از تازه‌سازی سند نهایی قابل مشاهده خواهند بود. .PP این افزونه می‌تواند برای قالب‌های زیر فعال/غیرفعال شود: .TP قالب‌های خروجی \f[CR]odt\f[R]، \f[CR]opendocument\f[R] .SS افزونه: \f[CR]styles\f[R] هنگام تبدیل از docx، ویژگی‌های \f[CR]custom\-styles\f[R] را برای همهٔ سبک‌های docx اضافه می‌کند، صرف‌نظر از اینکه pandoc معنای این سبک‌ها را متوجه شود یا خیر. از آنجا که ویژگی‌ها را نمی‌توان مستقیماً به پاراگراف‌ها یا متن در AST پاندوک اضافه کرد، سبک‌های پاراگراف موجب ایجاد Divها و سبک‌های نویسه موجب ایجاد Spanها برای نگه‌داشتن ویژگی‌ها می‌شوند. (سبک‌های جدول مستقیماً به عناصر Table اضافه خواهند شد.) این افزونه می‌تواند همراه با سبک‌های سفارشی docx استفاده شود. .TP قالب‌های ورودی \f[CR]docx\f[R] .SS افزونه: \f[CR]amuse\f[R] در قالب ورودی \f[CR]muse\f[R]، این افزونه قابلیت‌های Text::Amuse را برای نشانه‌گذاری Emacs Muse فعال می‌کند. .SS افزونه: \f[CR]raw_markdown\f[R] در قالب ورودی \f[CR]ipynb\f[R]، این افزونه باعث می‌شود سلول‌های Markdown به‌جای تجزیه شدن، به‌صورت بلوک‌های خام Markdown گنجانده شوند (که امکان تبدیل رفت‌وبرگشت بدون اتلاف داده را فراهم می‌سازد). تنها زمانی از این گزینه استفاده کنید که مقصد شما \f[CR]ipynb\f[R] یا یک قالب خروجی مبتنی بر Markdown باشد. .SS افزونه: \f[CR]citations\f[R] (typst) هنگامی که افزونهٔ \f[CR]citations\f[R] در \f[CR]typst\f[R] فعال باشد (همان‌طور که به‌طور پیش‌فرض فعال است)، ارجاعات \f[CR]typst\f[R] به‌صورت ارجاعات بومی pandoc تجزیه شده و ارجاعات بومی pandoc به‌صورت ارجاعات \f[CR]typst\f[R] نمایش داده می‌شوند. .SS افزونه: \f[CR]citations\f[R] (org) هنگامی که افزونهٔ \f[CR]citations\f[R] در \f[CR]org\f[R] فعال باشد، ارجاعات به سبک org\-cite و org\-ref به‌صورت ارجاعات بومی pandoc تجزیه شده و از ارجاعات org\-cite برای نمایش ارجاعات بومی pandoc استفاده خواهد شد. .SS افزونه: \f[CR]citations\f[R] (docx) هنگامی که \f[CR]citations\f[R] در \f[CR]docx\f[R] فعال باشد، ارجاعات درج‌شده توسط پلاگین‌های Zotero ،Mendeley یا EndNote به‌صورت ارجاعات بومی pandoc تجزیه خواهند شد. (در غیر این صورت، ارجاعات قالب‌بندی‌شده که توسط نرم‌افزارهای کتاب‌شناختی ایجاد شده‌اند، به‌صورت متن معمولی تجزیه می‌شوند.) .SS افزونه: \f[CR]fancy_lists\f[R] (org) برخی از جنبه‌های لیست‌های پیشرفتهٔ Markdown در Pandoc در ورودی \f[CR]org\f[R] نیز پذیرفته می‌شوند که عملکرد گزینهٔ \f[CR]org\-list\-allow\-alphabetical\f[R] در Emacs را شبیه‌سازی می‌کند. همانند Org Mode، فعال کردن این افزونه به نشانگرهای الفبایی کوچک و بزرگ برای لیست‌های مرتب اجازه می‌دهد علاوه بر اعداد معمولی تجزیه شوند. توجه داشته باشید که برای Org، این شامل اعداد رومی یا نشانگر جانگهدار \f[CR]#\f[R] که توسط این افزونه در Pandoc Markdown فعال می‌شوند، نخواهد بود. .SS افزونه: \f[CR]element_citations\f[R] در قالب‌های خروجی \f[CR]jats\f[R]، این افزونه باعث می‌شود موارد ارجاع با عناصر \f[CR]\f[R] جایگزین شوند. این عناصر تحت تأثیر سبک‌های CSL قرار نمی‌گیرند، اما تمام اطلاعات مربوط به آن مورد درون برچسب‌ها گنجانده می‌شود. .SS افزونه: \f[CR]ntb\f[R] در قالب خروجی \f[CR]context\f[R]، این افزونه استفاده از Natural Tables (TABLE) را به‌جای Extreme Tables (xtables) پیش‌فرض فعال می‌کند. جدول‌های Natural امکان سفارشی‌سازی سراسری دقیق‌تری را فراهم می‌سازند، اما در مقایسه با جدول‌های extreme با کاهش کارایی و افت عملکرد همراه‌اند. .SS افزونه: \f[CR]smart_quotes\f[R] (org) هنگام تجزیه، گیومه‌های مستقیم (straight quotes) را به‌صورت گیومه‌های خمیده (curly quotes) تفسیر می‌کند. هنگام \f[I]نوشتن\f[R] Org، افزونهٔ \f[CR]smart_quotes\f[R] اثر معکوس دارد: آنچه قرار بود گیومهٔ خمیده باشد به‌صورت مستقیم خارج می‌شود. .PP در صورت فعال بودن \f[CR]smart\f[R]، این افزونه نیز به‌طور خودکار اعمال خواهد شد..SS افزونه: \f[CR]special_strings\f[R] (org) تفسیر \f[CR]\-\-\-\f[R] به‌صورت خط تیره بلند (em\-dash)، \f[CR]\-\-\f[R] به‌صورت خط تیره متوسط (en\-dash)، \f[CR]\(rs\-\f[R] به‌صورت خط پیوند اختیاری (shy hyphen)، و \f[CR]...\f[R] به‌صورت سه‌نقطه (ellipses). .PP اگر \f[CR]smart\f[R] فعال باشد، این افزونه نیز به‌طور ضمنی اعمال می‌شود. .SS افزونه: \f[CR]tagging\f[R] فعال‌سازی این افزونه با خروجی \f[CR]context\f[R]، نشانه‌گذاری مناسبی برای تولید PDFهای برچسب‌دار (tagged PDFs) ایجاد می‌کند. این شامل نشانگرهای اضافی برای بندها و نشانه‌گذاری جایگزین برای متن‌های تأکیدشده است. در صورت فعال بودن این افزونه، متغیر الگوی \f[CR]emphasis\-command\f[R] مقداردهی می‌شود. .SH "مارک‌داون پاندوک (PANDOC\(cqS MARKDOWN)" پاندوک نحو گسترش‌یافته و اندکی بازنگری‌شده‌ای از نحو Markdown جان گروبر (John Gruber) را پشتیبانی می‌کند. این سند نحو مربوطه را توضیح داده و تفاوت‌های آن با Markdown اصلی را مشخص می‌کند. به‌جز مواردی که ذکر شده، می‌توان این تفاوت‌ها را با استفاده از قالب \f[CR]markdown_strict\f[R] به جای \f[CR]markdown\f[R] غیرفعال کرد. افزونه‌ها را می‌توان فعال یا غیرفعال کرد تا رفتار برنامه با جزئیات دقیق‌تری تنظیم شود. این موارد در ادامه شرح داده شده‌اند. همچنین برای افزونه‌هایی که روی قالب‌های دیگر نیز کار می‌کنند، بخش افزونه‌ها (Extensions) در بالا را ببینید. .SS فلسفه مارک‌داون به‌گونه‌ای طراحی شده است که نوشتن آن آسان، و از آن مهم‌تر، خواندنش راحت باشد: .RS .PP یک سند با قالب‌بندی Markdown باید بتواند بدون تغییر و به‌صورت متن ساده منتشر شود، بدون آن‌که به نظر برسد با برچسب‌ها یا دستورالعمل‌های قالب‌بندی نشانه‌گذاری شده است. .PD 0 .P .PD \(en جان گروبر (John Gruber) .RE .PP این اصل، راهنمای تصمیم‌های pandoc در طراحی نحو برای جدول‌ها، پانویس‌ها و سایر افزونه‌ها بوده است. .PP با این حال، از یک جهت اهداف pandoc با اهداف اولیه Markdown متفاوت است. در حالی که Markdown در ابتدا با هدف تولید HTML طراحی شده بود، pandoc برای چندین قالب خروجی گوناگون طراحی شده است. بنابراین، اگرچه pandoc درج HTML خام را مجاز می‌داند، اما استفاده از آن را توصیه نمی‌کند و روش‌های غیر-HTML دیگری را برای نمایش عناصر مهم سند مانند فهرست‌های تعاریف، جدول‌ها، فرمول‌های ریاضی و پانویس‌ها ارائه می‌دهد. .SS بندها یک بند (پاراگراف) از یک یا چند خط متن تشکیل شده که پس از آن یک یا چند خط خالی قرار دارد. شکست‌های خط (Newlines) به‌صورت فاصله در نظر گرفته می‌شوند، بنابراین می‌توانید بندهای خود را به دلخواه بازچینی کنید. اگر به شکست سطر اجباری (hard line break) نیاز دارید، دو یا چند فاصله در انتهای خط قرار دهید. .SS افزونه: \f[CR]escaped_line_breaks\f[R] یک بک‌اسلش که بلافاصله پس از آن خط جدید بیاید نیز یک شکست سطر اجباری است. نکته: در سلول‌های جدول‌های چندخطی و شبکه‌ای، این تنها روش برای ایجاد شکست سطر اجباری است، زیرا فاصله‌های انتهایی در سلول‌ها نادیده گرفته می‌شوند. .SS سرعنوان‌ها دو نوع سرعنوان وجود دارد: Setext و ATX. .SS سرعنوان‌های سبک Setext یک سرعنوان به سبک setext، سطری از متن است که با ردیفی از علامت‌های \f[CR]=\f[R] (برای سرعنوان سطح یک) یا علامت‌های \f[CR]\-\f[R] (برای سرعنوان سطح دو) زیرخط‌دار شده است: .IP .EX A level\-one heading =================== A level\-two heading \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- .EE .PP متن سرعنوان می‌تواند حاوی قالب‌بندی درون‌خطی باشد، مانند تأکید (بخش قالب‌بندی درون‌خطی را در زیر ببینید). .SS سرعنوان‌های سبک ATX یک سرعنوان به سبک ATX شامل یک تا شش علامت \f[CR]#\f[R] و یک سطر متن است که به صورت اختیاری می‌تواند با هر تعداد علامت \f[CR]#\f[R] به پایان برسد. تعداد علامت‌های \f[CR]#\f[R] در ابتدای سطر، سطح سرعنوان را تعیین می‌کند: .IP .EX ## A level\-two heading ### A level\-three heading ### .EE .PP همانند سرعنوان‌های سبک setext، متن سرعنوان می‌تواند شامل قالب‌بندی باشد: .IP .EX # A level\-one heading with a [link](/url) and *emphasis* .EE .SS افزونه: \f[CR]blank_before_header\f[R] نحو اصلی Markdown نیازی به خط خالی پیش از سرعنوان ندارد. پاندوک به این خط خالی نیاز دارد (البته به‌جز ابتدای سند). علت این الزام آن است که احتمال قرار گرفتن تصادفی علامت \f[CR]#\f[R] در ابتدای سطر (مثلاً در اثر شکست سطرها) بسیار بالاست. برای مثال، این مورد را در نظر بگیرید: .IP .EX I like several of their flavors of ice cream: #22, for example, and #5. .EE .SS افزونه: \f[CR]space_in_atx_header\f[R] بسیاری از پیاده‌سازی‌های Markdown نیازی به فاصله بین علامت‌های ابتدایی \f[CR]#\f[R] در سرعنوان ATX و متن سرعنوان ندارند، به‌طوری که \f[CR]#5 bolt\f[R] و \f[CR]#hashtag\f[R] سرعنوان به حساب می‌آیند. با این افزونه، pandoc وجود فاصله را الزامی می‌داند. .SS شناسه‌های سرعنوان همچنین افزونهٔ \f[CR]auto_identifiers\f[R] در بالا را ببینید. .SS افزونه: \f[CR]header_attributes\f[R] می‌توان با استفاده از این نحو در انتهای سطری که حاوی متن سرعنوان است، به سرعنوان‌ها صفت‌ها را اختصاص داد: .IP .EX {#identifier .class .class key=value key=value} .EE .PP بنابراین، برای نمونه، به تمام سرعنوان‌های زیر شناسهٔ \f[CR]foo\f[R] اختصاص داده خواهد شد: .IP .EX # My heading {#foo} ## My heading ## {#foo} My other heading {#foo} \-\-\-\-\-\-\-\-\-\-\-\-\-\-\- .EE .PP (این نحو با PHP Markdown Extra سازگار است.) .PP توجه داشته باشید اگرچه این نحو امکان انتساب کلاس‌ها و صفت‌های کلید/مقدار را فراهم می‌کند، اما نویسنده‌ها (writers) معمولاً از همه این اطلاعات استفاده نمی‌کنند. شناسه‌ها، کلاس‌ها و صفت‌های کلید/مقدار در HTML و قالب‌های مبتنی بر HTML مانند EPUB و slidy استفاده می‌شوند. شناسه‌ها برای برچسب‌ها و لنگرهای پیوند در نویسنده‌های LaTeX، ConTeXt، Textile، نشانه‌گذاری Jira و AsciiDoc کاربرد دارند. .PP سرعنوان‌های دارای کلاس \f[CR]unnumbered\f[R] شماره‌گذاری نخواهند شد، حتی اگر \f[CR]\-\-number\-sections\f[R] مشخص شده باشد. یک خط تیره منفرد (\f[CR]\-\f[R]) در بستر صفت‌ها معادل \f[CR].unnumbered\f[R] بوده و در اسناد غیرانگلیسی ترجیح داده می‌شود. بنابراین، .IP .EX # My heading {\-} .EE .PP دقیقاً معادل این است: .IP .EX # My heading {.unnumbered} .EE .PP اگر علاوه بر \f[CR]unnumbered\f[R]، کلاس \f[CR]unlisted\f[R] نیز درج شده باشد، سرعنوان در فهرست مطالب قرار نخواهد گرفت. (در حال حاضر این ویژگی تنها برای برخی قالب‌ها پیاده‌سازی شده است: قالب‌های مبتنی بر LaTeX و HTML، و همچنین PowerPoint و RTF.).SS افزونه: \f[CR]implicit_header_references\f[R] دستور Pandoc طوری رفتار می‌کند که گویی برای هر سرتیتر، پیوندهای ارجاعی تعریف شده است. بنابراین، برای پیوند دادن به یک سرتیتر .IP .EX # Heading identifiers in HTML .EE .PP می‌توانید به سادگی بنویسید .IP .EX [Heading identifiers in HTML] .EE .PP یا .IP .EX [Heading identifiers in HTML][] .EE .PP یا .IP .EX [the section on heading identifiers][heading identifiers in HTML] .EE .PP به‌جای اینکه شناسه را به‌طور صریح مشخص کنید: .IP .EX [Heading identifiers in HTML](#heading\-identifiers\-in\-html) .EE .PP اگر چندین سرتیتر با متن یکسان وجود داشته باشد، ارجاع مربوطه تنها به اولین مورد پیوند می‌دهد، و برای پیوند به سایر موارد، همان‌طور که در بالا توضیح داده شد، باید از پیوندهای صریح استفاده کنید. .PP مانند پیوندهای ارجاعی معمول، این ارجاع‌ها به بزرگی و کوچکی حروف حساس نیستند. .PP تعاریف صریح پیوند ارجاعی همواره نسبت به ارجاع‌های ضمنی سرتیتر در اولویت قرار دارند. بنابراین، در مثال زیر، پیوند به \f[CR]bar\f[R] اشاره خواهد کرد، نه به \f[CR]#foo\f[R]: .IP .EX # Foo [foo]: bar See [foo] .EE .SS نقل‌قول‌های بلوکی (Block quotations) قالب Markdown از قواعد رایانامه (ایمیل) برای نقل‌قول بلوک‌های متنی استفاده می‌کند. یک نقل‌قول بلوکی شامل یک یا چند بند یا دیگر عناصر بلوکی (مانند فهرست‌ها یا سرتیترها) است، به‌طوری که در ابتدای هر سطر یک نویسه \f[CR]>\f[R] و یک فاصله اختیاری قرار می‌گیرد. (لازم نیست \f[CR]>\f[R] دقیقاً از حاشیه چپ آغاز شود، اما نباید بیش از سه فاصله دندانه‌دار شود.) .IP .EX > This is a block quote. This > paragraph has two lines. > > 1. This is a list inside a block quote. > 2. Second item. .EE .PP حالت \(lqتنبل\(rq (lazy)، که تنها در سطر نخست هر بلوک به نویسه \f[CR]>\f[R] نیاز دارد نیز مجاز است: .IP .EX > This is a block quote. This paragraph has two lines. > 1. This is a list inside a block quote. 2. Second item. .EE .PP در میان عناصر بلوکی که می‌توانند در یک نقل‌قول بلوکی قرار گیرند، نقل‌قول‌های بلوکی دیگر نیز وجود دارند. بدین معنی که نقل‌قول‌های بلوکی می‌توانند تودرتو باشند: .IP .EX > This is a block quote. > > > A block quote within a block quote. .EE .PP اگر پس از نویسه \f[CR]>\f[R] یک فاصله اختیاری بیاید، آن فاصله بخشی از نشانگر نقل‌قول بلوکی به شمار می‌آید و نه بخشی از دندانه‌گذاری محتوا. بنابراین، برای قرار دادن یک بلوک کد دندانه‌دار در یک نقل‌قول بلوکی، به پنج فاصله پس از \f[CR]>\f[R] نیاز دارید: .IP .EX > code .EE .SS افزونه: \f[CR]blank_before_blockquote\f[R] دستور زبان اصلی Markdown به یک سطر خالی پیش از نقل‌قول بلوکی نیاز ندارد. اما Pandoc به این سطر خالی نیاز دارد (البته به جز در ابتدای سند). دلیل این الزام آن است که احتمال دارد نویسه \f[CR]>\f[R] به‌طور تصادفی (شاید به دلیل شکستن خودکار سطرها) در ابتدای یک سطر قرار گیرد. بنابراین، مگر در صورتی که از قالب \f[CR]markdown_strict\f[R] استفاده شود، مورد زیر در pandoc یک نقل‌قول بلوکی تودرتو تولید نمی‌کند: .IP .EX > This is a block quote. >> Not nested, since \(gablank_before_blockquote\(ga is enabled by default .EE .SS بلوک‌های کد عین‌اللفظی (Verbatim) .SS بلوک‌های کد دندانه‌دار (Indented code blocks) بلوکی از متن که به اندازه چهار فاصله (یا یک تب) دندانه‌دار شده باشد، به عنوان متن عین‌اللفظی (verbatim) در نظر گرفته می‌شود: به این معنا که نویسه‌های ویژه باعث اعمال قالب‌بندی خاصی نمی‌شوند، و تمامی فاصله‌ها و شکست‌های سطر حفظ می‌گردند. برای مثال، .IP .EX if (a > 3) { moveShip(5 * gravity, DOWN); } .EE .PP دندانه‌گذاری اولیه (چهار فاصله یا یک تب) بخشی از متن verbatim به شمار نمی‌آید و در خروجی حذف می‌شود. .PP نکته: سطرهای خالی درون متن عین‌اللفظی نیازی به شروع با چهار فاصله ندارند..SS بلوک‌های کد محصور (Fenced code blocks) .SS افزونه: \f[CR]fenced_code_blocks\f[R] علاوه بر بلوک‌های کد تورفتهٔ استاندارد، pandoc از بلوک‌های کد \f[I]محصور\f[R] نیز پشتیبانی می‌کند. این بلوک‌ها با سطری شامل سه یا چند تیلدا (\f[CR]\(ti\f[R]) آغاز می‌شوند و با سطری از تیلداها پایان می‌یابند که باید حداقل به اندازهٔ سطر آغازین طولانی باشد. تمام آنچه بین این خطوط قرار گیرد به عنوان کد در نظر گرفته می‌شود. هیچ تورفتگی لازم نیست: .IP .EX \(ti\(ti\(ti\(ti\(ti\(ti\(ti if (a > 3) { moveShip(5 * gravity, DOWN); } \(ti\(ti\(ti\(ti\(ti\(ti\(ti .EE .PP مانند بلوک‌های کد معمولی، بلوک‌های کد محصور نیز باید با خطوط خالی از متن اطراف جدا شوند. .PP اگر خود کد حاوی سطری از تیلداها یا بک‌تیک‌ها باشد، کافی است از سطر طولانی‌تری از تیلداها یا بک‌تیک‌ها در ابتدا و انتها استفاده کنید: .IP .EX \(ti\(ti\(ti\(ti\(ti\(ti\(ti\(ti\(ti\(ti\(ti\(ti\(ti\(ti\(ti\(ti \(ti\(ti\(ti\(ti\(ti\(ti\(ti\(ti\(ti\(ti code including tildes \(ti\(ti\(ti\(ti\(ti\(ti\(ti\(ti\(ti\(ti \(ti\(ti\(ti\(ti\(ti\(ti\(ti\(ti\(ti\(ti\(ti\(ti\(ti\(ti\(ti\(ti .EE .SS افزونه: \f[CR]backtick_code_blocks\f[R] مشابه \f[CR]fenced_code_blocks\f[R] است، اما به جای تیلدا (\f[CR]\(ti\f[R]) از بک‌تیک (\f[CR]\(ga\f[R]) استفاده می‌کند. .SS افزونه: \f[CR]fenced_code_attributes\f[R] در صورت تمایل، می‌توانید با استفاده از این نحو، ویژگی‌هایی را به بلوک کد محصور یا با بک‌تیک ضمیمه کنید: .IP .EX \(ti\(ti\(ti\(ti {#mycode .haskell .numberLines startFrom=\(dq100\(dq} qsort [] = [] qsort (x:xs) = qsort (filter (< x) xs) ++ [x] ++ qsort (filter (>= x) xs) \(ti\(ti\(ti\(ti\(ti\(ti\(ti\(ti\(ti\(ti\(ti\(ti\(ti\(ti\(ti\(ti\(ti\(ti\(ti\(ti\(ti\(ti\(ti\(ti\(ti\(ti\(ti\(ti\(ti\(ti\(ti\(ti\(ti\(ti\(ti\(ti\(ti\(ti\(ti\(ti\(ti\(ti\(ti\(ti\(ti\(ti\(ti\(ti\(ti .EE .PP در اینجا \f[CR]mycode\f[R] یک شناسه، \f[CR]haskell\f[R] و \f[CR]numberLines\f[R] کلاس، و \f[CR]startFrom\f[R] یک ویژگی با مقدار \f[CR]100\f[R] است. برخی از قالب‌های خروجی می‌توانند از این اطلاعات برای انجام برجسته‌سازی نحو (syntax highlighting) استفاده کنند. در حال حاضر، تنها قالب‌های خروجی که از این اطلاعات استفاده می‌کنند عبارتند از HTML، LaTeX، Docx، Ms و PowerPoint. اگر برجسته‌سازی برای قالب خروجی و زبان شما پشتیبانی شود، بلوک کد بالا به صورت برجسته‌شده و با خطوط شماره‌گذاری‌شده نمایش داده خواهد شد. (برای مشاهدهٔ این‌که کدام زبان‌ها پشتیبانی می‌شوند، دستور \f[CR]pandoc \-\-list\-highlight\-languages\f[R] را وارد کنید.) در غیر این صورت، بلوک کد بالا به شکل زیر ظاهر خواهد شد: .IP .EX
  
  ...
  
.EE .PP کلاس \f[CR]numberLines\f[R] (یا \f[CR]number\-lines\f[R]) باعث شماره‌گذاری خطوط بلوک کد می‌شود که از \f[CR]1\f[R] یا مقدار ویژگی \f[CR]startFrom\f[R] آغاز می‌گردد. کلاس \f[CR]lineAnchors\f[R] (یا \f[CR]line\-anchors\f[R]) باعث می‌شود خطوط در خروجی HTML به صورت لنگرهای قابل کلیک درآیند. .PP همچنین می‌توان از یک شکل میان‌بر برای مشخص کردن زبان بلوک کد استفاده کرد: .IP .EX \(ga\(ga\(gahaskell qsort [] = [] \(ga\(ga\(ga .EE .PP این معادل است با: .IP .EX \(ga\(ga\(ga {.haskell} qsort [] = [] \(ga\(ga\(ga .EE .PP این شکل میان‌بر را می‌توان با ویژگی‌ها نیز ترکیب کرد: .IP .EX \(ga\(ga\(gahaskell {.numberLines} qsort [] = [] \(ga\(ga\(ga .EE .PP که معادل است با: .IP .EX \(ga\(ga\(ga {.haskell .numberLines} qsort [] = [] \(ga\(ga\(ga .EE .PP اگر افزونهٔ \f[CR]fenced_code_attributes\f[R] غیرفعال باشد، اما ورودی شامل ویژگی(های) کلاس برای بلوک کد باشد، اولین ویژگی کلاس بعد از حصار آغازین به صورت یک کلمهٔ ساده چاپ خواهد شد. .PP برای جلوگیری از تمام برجسته‌سازی‌ها، از گزینهٔ \f[CR]\-\-syntax\-highlighting=none\f[R] استفاده کنید. برای تنظیم سبک یا شیوهٔ برجسته‌سازی، از \f[CR]\-\-syntax\-highlighting\f[R] استفاده کنید. برای اطلاعات بیشتر در مورد برجسته‌سازی، بخش «برجسته‌سازی نحو (Syntax highlighting)» را در ادامه ببینید. .SS بلوک‌های خطی (Line blocks) .SS افزونه: \f[CR]line_blocks\f[R] بلوک خطی دنباله‌ای از خطوط است که با یک خط عمودی (\f[CR]|\f[R]) و به دنبال آن یک فاصله آغاز می‌شود. تقسیم‌بندی به خطوط، و همچنین فاصله‌های ابتدایی، در خروجی حفظ خواهند شد؛ در غیر این صورت، خطوط به صورت Markdown قالب‌بندی می‌شوند. این ویژگی برای ابیات شعر و نشانی‌ها سودمند است: .IP .EX | The limerick packs laughs anatomical | In space that is quite economical. | But the good ones I\(aqve seen | So seldom are clean | And the clean ones so seldom are comical | 200 Main St. | Berkeley, CA 94718 .EE .PP در صورت نیاز، خطوط می‌توانند شکست سخت (hard\-wrap) داشته باشند، اما سطر ادامه‌یافته باید با یک فاصله آغاز شود. .IP .EX | The Right Honorable Most Venerable and Righteous Samuel L. Constable, Jr. | 200 Main St. | Berkeley, CA 94718 .EE .PP قالب‌بندی درون‌خطی (مانند تأکید) در محتوا مجاز است (اگرچه نمی‌تواند از مرزهای خط عبور کند). قالب‌بندی در سطح بلوک (مانند نقل‌قول‌های بلوکی یا فهرست‌ها) شناخته نمی‌شود. .PP این نحو از reStructuredText به امانت گرفته شده است..SS "فهرست‌ها (Lists)" .SS "فهرست‌های نشانه‌دار (Bullet lists)" یک فهرست نشانه‌دار فهرستی از موارد نشانه‌دار است. یک مورد از فهرست نشانه‌دار با یک نشانه (\f[CR]*\f[R]، \f[CR]+\f[R]، یا \f[CR]\-\f[R]) آغاز می‌شود. در اینجا یک مثال ساده آورده شده است: .IP .EX * one * two * three .EE .PP این کار یک فهرست \(lqفشرده\(rq تولید می‌کند. اگر یک فهرست \(lqباز\(rq می‌خواهید که در آن هر مورد به صورت یک پاراگراف قالب‌بندی شود، بین موارد خطوط خالی قرار دهید: .IP .EX * one * two * three .EE .PP نیازی نیست که نشانه‌ها حتماً هم‌تراز با حاشیه سمت چپ باشند؛ آن‌ها می‌توانند یک، دو، یا سه فاصله تورفتگی داشته باشند. پس از هر نشانه باید نویسه فاصله (whitespace) قرار گیرد. .PP موارد فهرست زمانی بهترین ظاهر را دارند که خطوط بعدی با خط اول (پس از نشانه) هم‌تراز باشند: .IP .EX * here is my first list item. * and my second. .EE .PP اما Markdown یک ساختار \(lqتنبل\(rq را نیز مجاز می‌داند: .IP .EX * here is my first list item. * and my second. .EE .SS "محتوای بلوکی در موارد فهرست (Block content in list items)" یک مورد فهرست می‌تواند شامل چندین پاراگراف و سایر محتواهای سطح بلوک (block\-level) باشد. با این حال، پیش از پاراگراف‌های بعدی باید یک خط خالی وجود داشته باشد و به‌گونه‌ای تورفتگی داشته باشند که با اولین محتوای غیرفاصله پس از نشانگر فهرست هم‌تراز شوند. .IP .EX * First paragraph. Continued. * Second paragraph. With a code block, which must be indented eight spaces: { code } .EE .PP استثنا: اگر پس از نشانگر فهرست یک بلوک کد تورفته قرار گیرد که باید ۵ فاصله پس از نشانگر فهرست شروع شود، در این صورت پاراگراف‌های بعدی باید دو ستون پس از آخرین نویسه نشانگر فهرست آغاز شوند: .IP .EX * code continuation paragraph .EE .PP موارد فهرست می‌توانند شامل فهرست‌های دیگری نیز باشند. در این حالت خط خالی قبلی اختیاری است. فهرست تودرتو باید طوری تورفتگی داشته باشد که با اولین نویسه غیرفاصله پس از نشانگر فهرستِ دربرگیرنده هم‌تراز شود. .IP .EX * fruits + apples \- macintosh \- red delicious + pears + peaches * vegetables + broccoli + chard .EE .PP همان‌طور که در بالا اشاره شد، Markdown به شما امکان می‌دهد موارد فهرست را به جای ایجاد تورفتگی در خطوط ادامه‌دهنده، به صورت \(lqتنبل\(rq بنویسید. با این حال، اگر چندین پاراگراف یا بلوک‌های دیگر در یک مورد فهرست وجود داشته باشد، خط اول هر کدام باید دارای تورفتگی باشد. .IP .EX + A lazy, lazy, list item. + Another one; this looks bad but is legal. Second paragraph of second list item. .EE .SS "فهرست‌های مرتب (Ordered lists)" فهرست‌های مرتب دقیقاً مشابه فهرست‌های نشانه‌دار کار می‌کنند، با این تفاوت که موارد به جای نشانه‌ها با شماره‌گذارها شروع می‌شوند. .PP در Markdown اصلی، شماره‌گذارها اعداد ده‌دهی هستند که پس از آن‌ها یک نقطه و یک فاصله قرار می‌گیرد. خود اعداد نادیده گرفته می‌شوند، بنابراین تفاوتی بین این فهرست: .IP .EX 1. one 2. two 3. three .EE .PP و این یکی وجود ندارد: .IP .EX 5. one 7. two 1. three .EE.SS افزونه: \f[CR]fancy_lists\f[R] برخلاف Markdown اصلی، pandoc به آیتم‌های لیست مرتب اجازه می‌دهد علاوه بر ارقام عربی، با حروف بزرگ و کوچک و اعداد رومی نیز مشخص شوند. نشانگرهای لیست ممکن است درون پرانتز قرار گیرند یا پس از آن‌ها یک تک‌پرانتز راست یا نقطه بیاید. آن‌ها باید از متنی که در ادامه می‌آید با حداقل یک فاصله جدا شوند، و اگر نشانگر لیست یک حرف بزرگ همراه با نقطه باشد، با حداقل دو فاصله. .PP افزونه‌ی \f[CR]fancy_lists\f[R] همچنین امکان استفاده از `\f[CR]#\f[R]' را به عنوان نشانگر لیست مرتب به جای عدد فراهم می‌کند: .IP .EX #. one #. two .EE .PP نکته: نشانگر لیست مرتب `\f[CR]#\f[R]' با \f[CR]commonmark\f[R] کار نمی‌کند. .PP همانند \f[CR]commonmark\f[R]، زیرلیست‌های مرتب باید با \f[CR]1\f[R] یا معادل آن (مانند \f[CR]i\f[R] یا \f[CR]a\f[R]) شروع شوند. این کار به جلوگیری از ایجاد ناخواسته‌ی لیست‌ها بر اثر مواردی مانند تاریخ‌های درون پرانتز کمک می‌کند. .SS افزونه: \f[CR]startnum\f[R] همچنین pandoc به نوع نشانگر لیست استفاده‌شده و عدد شروع توجه می‌کند، و هر دوی این موارد در صورت امکان در قالب خروجی حفظ می‌شوند. بنابراین، مورد زیر لیستی با اعداد همراه با یک تک‌پرانتز، با شروع از 9، و یک زیرلیست با اعداد رومی کوچک ایجاد می‌کند: .IP .EX 9) Ninth 10) Tenth 11) Eleventh i. subone ii. subtwo iii. subthree .EE .PP pandoc هر بار که نوع متفاوتی از نشانگر لیست استفاده شود، لیست جدیدی را آغاز خواهد کرد. بنابراین، مورد زیر سه لیست ایجاد می‌کند: .IP .EX (2) Two (5) Three 1. Four * Five .EE .PP اگر نشانگرهای پیش‌فرض لیست مد نظر است، از \f[CR]#.\f[R] استفاده کنید: .IP .EX #. one #. two #. three .EE .SS افزونه: \f[CR]task_lists\f[R] pandoc از لیست‌های وظایف، با استفاده از نحو GitHub\-Flavored Markdown پشتیبانی می‌کند. .IP .EX \- [ ] an unchecked task list item \- [x] checked item .EE .SS لیست‌های تعاریف (Definition lists) .SS افزونه: \f[CR]definition_lists\f[R] pandoc از لیست‌های تعاریف، با استفاده از نحو PHP Markdown Extra به همراه برخی افزونه‌ها پشتیبانی می‌کند. .IP .EX Term 1 : Definition 1 Term 2 with *inline markup* : Definition 2 { some code, part of Definition 2 } Third paragraph of definition 2. .EE .PP هر اصطلاح باید در یک خط جا بگیرد، که می‌تواند به‌صورت اختیاری با یک خط خالی دنبال شود، و باید یک یا چند تعریف به دنبال آن بیاید. یک تعریف با دونقطه یا تیلدا آغاز می‌شود، که می‌تواند با یک یا دو فاصله تورفتگی داشته باشد. .PP یک اصطلاح می‌تواند چندین تعریف داشته باشد، و هر تعریف می‌تواند از یک یا چند عنصر بلوکی تورفته (پاراگراف، بلوک کد، لیست و غیره) تشکیل شود. بلوک‌های درون تعریف باید به اندازه‌ی ستونِ نخستین محتوای غیرفاصله‌ای پس از نشانگر \f[CR]:\f[R] یا \f[CR]\(ti\f[R] تورفتگی داشته باشند، یا (در صورتی که افزونه‌ی \f[CR]four_space_rule\f[R] فعال باشد) چهار فاصله یا یک پرش تب. همانند سایر لیست‌های Markdown، می‌توانید تورفتگی را در خطوط ادامه‌ی پاراگراف به‌صورت «تنبلانه» (\(lqlazily\(rq) نادیده بگیرید: .IP .EX Term 1 : Definition with lazy continuation. Second paragraph of the definition. .EE .PP اگر قبل از تعریف فاصله بگذارید (مانند مثال بالا)، متن تعریف به عنوان یک پاراگراف در نظر گرفته خواهد شد. در برخی از قالب‌های خروجی، این امر به معنای فاصله‌ی بیشتر میان جفت‌های اصطلاح/تعریف خواهد بود. برای داشتن یک لیست تعاریف فشرده‌تر، فاصله‌ی قبل از تعریف را حذف کنید: .IP .EX Term 1 \(ti Definition 1 Term 2 \(ti Definition 2a \(ti Definition 2b .EE .PP توجه داشته باشید که وجود فاصله میان موارد در یک لیست تعاریف الزامی است..SS فهرست‌های مثال شماره‌گذاری‌شده .SS افزونه: \f[CR]example_lists\f[R] نشانگر ویژهٔ فهرست \f[CR]\(at\f[R] می‌تواند برای مثال‌های شماره‌گذاری‌شدهٔ متوالی استفاده شود. نخستین مورد فهرست دارای نشانگر \f[CR]\(at\f[R] با «1»، مورد بعدی با «2»، و به همین ترتیب در سرتاسر سند شماره‌گذاری خواهد شد. نیازی نیست مثال‌های شماره‌گذاری‌شده در یک فهرست واحد قرار گیرند؛ هر فهرست جدیدی که از \f[CR]\(at\f[R] استفاده کند، شماره‌گذاری را از جایی که فهرست پیشین متوقف شده بود پی خواهد گرفت. بنابراین، برای نمونه: .IP .EX (\(at) My first example will be numbered (1). (\(at) My second example will be numbered (2). Explanation of examples. (\(at) My third example will be numbered (3). .EE .PP مثال‌های شماره‌گذاری‌شده می‌توانند برچسب‌گذاری شده و در جاهای دیگر سند مورد ارجاع قرار گیرند: .IP .EX (\(atgood) This is a good example. As (\(atgood) illustrates, ... .EE .PP برچسب می‌تواند هر رشته‌ای از نویسه‌های الفبایی\-عددی، خط زیر یا خط تیره باشد. .PP بندهای ادامه‌دار در فهرست‌های مثال باید فارغ از طول نشانگر فهرست، همواره به اندازهٔ چهار فاصله دندانه‌دار شوند. بدین معنا که فهرست‌های مثال همواره به گونه‌ای عمل می‌کنند که گویی افزونهٔ \f[CR]four_space_rule\f[R] فعال است. چرا که برچسب‌های مثال معمولاً طولانی هستند و دندانه‌دار کردن محتوا تا نخستین نویسهٔ غیرفاصله پس از برچسب، نامناسب و دشوار خواهد بود. .PP می‌توانید با استفادهٔ مجدد از برچسب یک مثال شماره‌گذاری‌شدهٔ پیشین، آن را تکرار کنید: .IP .EX (\(atfoo) Sample sentence. Intervening text... This theory can explain the case we saw earlier (repeated): (\(atfoo) Sample sentence. .EE .PP با این حال، این شیوه تنها در صورتی به‌طور قابل‌اتکا عمل می‌کند که مورد تکرارشده به تنهایی در یک فهرست باشد، زیرا هر فهرست مثال شماره‌گذاری‌شده به‌صورت پیوسته از شمارهٔ آغازین خود شماره‌گذاری خواهد شد. .SS پایان دادن به یک فهرست اگر بخواهید یک بلوک کد دندانه‌دار را پس از یک فهرست قرار دهید چه می‌شود؟ .IP .EX \- item one \- item two { my code block } .EE .PP مشکل! در اینجا pandoc (مانند سایر پیاده‌سازی‌های Markdown) با \f[CR]{ my code block }\f[R] مانند بند دوم از مورد دوم رفتار می‌کند، نه به عنوان یک بلوک کد. .PP برای «قطع کردن» فهرست پس از مورد دوم، می‌توانید مقداری محتوای بدون دندانه‌گذاری، مانند یک توضیح HTML وارد کنید که خروجی قابل مشاهده‌ای در هیچ قالبی تولید نمی‌کند: .IP .EX \- item one \- item two { my code block } .EE .PP اگر به جای یک فهرست بزرگ، دو فهرست پیاپی می‌خواهید، می‌توانید از همین ترفند بهره ببرید: .IP .EX 1. one 2. two 3. three 1. uno 2. dos 3. tres .EE .SS خطوط افقی سطری شامل ردیفی از سه یا چند نویسهٔ \f[CR]*\f[R]، \f[CR]\-\f[R]، یا \f[CR]_\f[R] (که به صورت اختیاری با فاصله از هم جدا شده‌اند) یک خط افقی ایجاد می‌کند: .IP .EX * * * * \-\-\-\-\-\-\-\-\-\-\-\-\-\-\- .EE .PP اکیداً توصیه می‌کنیم که خطوط افقی را با خط‌های خالی از متن‌های پیرامون جدا کنید. اگر پس از یک خط افقی، خط خالی قرار نگیرد، pandoc ممکن است خطوط بعدی را به عنوان یک بلوک فرادادهٔ YAML یا یک جدول تفسیر کند. .SS جدول‌ها می‌توان از چهار نوع جدول استفاده کرد. سه نوع نخست (ساده، چندخطی و شبکه‌ای) نیازمند تراز کردن ستون‌ها هستند و بنابراین استفاده از یک قلم با عرض ثابت، مانند Courier را پیش‌فرض می‌گیرند. نوع چهارم (جدول‌های پایپ یا pipe tables) را می‌توان با قلم‌هایی با فاصلهٔ متناسب به کار برد، زیرا نیازی به تراز کردن ستون‌ها ندارد. .SS افزونه: \f[CR]table_captions\f[R] می‌توان به صورت اختیاری برای هر ۴ نوع جدول، یک عنوان (caption) مشخص کرد (همان‌طور که در مثال‌های زیر نشان داده شده است). عنوان، بندی است که با رشتهٔ \f[CR]Table:\f[R] (یا \f[CR]table:\f[R] یا صرفاً \f[CR]:\f[R]) آغاز می‌شود؛ این رشته از ابتدا حذف خواهد شد. این عنوان می‌تواند پیش یا پس از جدول ظاهر شود..SS افزونه: \f[CR]simple_tables\f[R] جدول‌های ساده بدین شکل هستند: .IP .EX Right Left Center Default \-\-\-\-\-\-\- \-\-\-\-\-\- \-\-\-\-\-\-\-\-\-\- \-\-\-\-\-\-\- 12 12 12 12 123 123 123 123 1 1 1 1 Table: Demonstration of simple table syntax. .EE .PP سربرگ و ردیف‌های جدول باید هر کدام در یک خط جای گیرند. تراز ستون‌ها بر اساس موقعیت متن سربرگ نسبت به خط‌چین زیرین آن تعیین می‌شود: .IP \(bu 2 اگر خط‌چین در سمت راست هم‌راستا با متن سربرگ باشد اما از سمت چپ فراتر از آن امتداد یابد، ستون راست‌چین است. .IP \(bu 2 اگر خط‌چین در سمت چپ هم‌راستا با متن سربرگ باشد اما از سمت راست فراتر از آن امتداد یابد، ستون چپ‌چین است. .IP \(bu 2 اگر خط‌چین از هر دو طرف فراتر از متن سربرگ امتداد یابد، ستون وسط‌چین است. .IP \(bu 2 اگر خط‌چین از هر دو طرف هم‌راستا با متن سربرگ باشد، تراز پیش‌فرض به کار می‌رود (در بیشتر موارد، چپ‌چین خواهد بود). .PP جدول باید با یک خط خالی، یا یک خط متشکل از خط‌تیره‌ها که در پی آن یک خط خالی آمده باشد، پایان یابد. .PP ردیف سربرگ ستون‌ها را می‌توان حذف کرد، به شرطی که از یک خط‌چین برای پایان جدول استفاده شود. برای نمونه: .IP .EX \-\-\-\-\-\-\- \-\-\-\-\-\- \-\-\-\-\-\-\-\-\-\- \-\-\-\-\-\-\- 12 12 12 12 123 123 123 123 1 1 1 1 \-\-\-\-\-\-\- \-\-\-\-\-\- \-\-\-\-\-\-\-\-\-\- \-\-\-\-\-\-\- .EE .PP هنگامی که ردیف سربرگ حذف شود، تراز ستون‌ها بر پایهٔ نخستین خط از بدنهٔ جدول مشخص می‌شود. بنابراین، در جدول‌های بالا، ستون‌ها به ترتیب راست‌چین، چپ‌چین، وسط‌چین، و راست‌چین خواهند بود. .SS افزونه: \f[CR]multiline_tables\f[R] جدول‌های چندخطی اجازه می‌دهند تا سربرگ و ردیف‌های جدول در چندین خط متنی امتداد یابند (اما خانه‌هایی که در چند ستون یا ردیف از جدول گسترش می‌یابند پشتیبانی نمی‌شوند). در اینجا نمونه‌ای آمده است: .IP .EX \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- Centered Default Right Left Header Aligned Aligned Aligned \-\-\-\-\-\-\-\-\-\-\- \-\-\-\-\-\-\- \-\-\-\-\-\-\-\-\-\-\-\-\-\-\- \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- First row 12.0 Example of a row that spans multiple lines. Second row 5.0 Here\(aqs another one. Note the blank line between rows. \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- Table: Here\(aqs the caption. It, too, may span multiple lines. .EE .PP این جدول‌ها مانند جدول‌های ساده کار می‌کنند، اما تفاوت‌های زیر را دارند: .IP \(bu 2 باید با ردیفی از خط‌تیره‌ها پیش از متن سربرگ آغاز شوند (مگر اینکه ردیف سربرگ حذف شده باشد). .IP \(bu 2 باید با ردیفی از خط‌تیره‌ها و سپس یک خط خالی پایان یابند. .IP \(bu 2 ردیف‌ها باید به وسیلهٔ خط‌های خالی از یکدیگر جدا شوند. .PP در جدول‌های چندخطی، تجزیه‌کنندهٔ جدول به عرض ستون‌ها دقت می‌کند، و نویسنده‌ها (writers) تلاش می‌کنند تا این عرض‌های نسبی را در خروجی بازتولید نمایند. بنابراین، اگر متوجه شدید که یکی از ستون‌ها در خروجی بیش از حد باریک است، عرض آن را در کد مبدأ Markdown افزایش دهید. .PP سربرگ را می‌توان همانند جدول‌های ساده در جدول‌های چندخطی نیز حذف کرد: .IP .EX \-\-\-\-\-\-\-\-\-\-\- \-\-\-\-\-\-\- \-\-\-\-\-\-\-\-\-\-\-\-\-\-\- \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- First row 12.0 Example of a row that spans multiple lines. Second row 5.0 Here\(aqs another one. Note the blank line between rows. \-\-\-\-\-\-\-\-\-\-\- \-\-\-\-\-\-\- \-\-\-\-\-\-\-\-\-\-\-\-\-\-\- \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- : Here\(aqs a multiline table without a header. .EE .PP امکان‌پذیر است که یک جدول چندخطی تنها دارای یک ردیف باشد، اما پس از این ردیف باید یک خط خالی (و سپس ردیف خط‌تیره‌هایی که جدول را به پایان می‌رسانند) بیاید، وگرنه ممکن است جدول به عنوان یک جدول ساده تفسیر شود. .SS افزونه: \f[CR]grid_tables\f[R] جدول‌های شبکه‌ای بدین شکل هستند: .IP .EX : Sample grid table. +\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+ | Fruit | Price | Advantages | +===============+===============+====================+ | Bananas | $1.34 | \- built\-in wrapper | | | | \- bright color | +\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+ | Oranges | $2.10 | \- cures scurvy | | | | \- tasty | +\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+ .EE .PP ردیف علامت‌های \f[CR]=\f[R] سربرگ را از بدنهٔ جدول جدا می‌کند، و می‌توان آن را برای جدول‌های بدون سربرگ حذف نمود. خانه‌های جدول‌های شبکه‌ای می‌توانند شامل بلوک‌های دلخواه (چندین بند، بلوک‌های کد، فهرست‌ها، و غیره) باشند. .PP خانه‌ها می‌توانند در چند ستون یا ردیف گسترش یابند: .IP .EX +\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-\-+ | Property | Earth | +=============+=======+==========+ | | min | \-89.2 °C | | Temperature +\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-\-+ | 1961\-1990 | mean | 14 °C | | +\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-\-+ | | max | 56.7 °C | +\-\-\-\-\-\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-\-+ .EE .PP سربرگ جدول می‌تواند بیش از یک ردیف داشته باشد: .IP .EX +\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+ | Location | Temperature 1961\-1990 | | | in degree Celsius | | +\-\-\-\-\-\-\-+\-\-\-\-\-\-\-+\-\-\-\-\-\-\-+ | | min | mean | max | +=====================+=======+=======+=======+ | Antarctica | \-89.2 | N/A | 19.8 | +\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-+\-\-\-\-\-\-\-+\-\-\-\-\-\-\-+ | Earth | \-89.2 | 14 | 56.7 | +\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-+\-\-\-\-\-\-\-+\-\-\-\-\-\-\-+ .EE .PP ترازها را می‌توان همانند جدول‌های لوله‌ای (pipe tables)، با قرار دادن دونقطه‌ها در لبه‌های خط جداکننده پس از سربرگ مشخص کرد: .IP .EX +\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+ | Right | Left | Centered | +==============:+:==============+:==================:+ | Bananas | $1.34 | built\-in wrapper | +\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+ .EE .PP در جدول‌های بدون سربرگ، دونقطه‌ها به جای آن در خط بالایی قرار می‌گیرند: .IP .EX +\-\-\-\-\-\-\-\-\-\-\-\-\-\-:+:\-\-\-\-\-\-\-\-\-\-\-\-\-\-+:\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-:+ | Right | Left | Centered | +\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+ .EE .PP پاورقی جدول (table foot) را می‌توان با محصور کردن آن میان خطوط جداکننده‌ای که به جای \f[CR]\-\f[R] از \f[CR]=\f[R] استفاده می‌کنند، تعریف کرد: .IP .EX +\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+ | Fruit | Price | +===============+===============+ | Bananas | $1.34 | +\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+ | Oranges | $2.10 | +===============+===============+ | Sum | $3.44 | +===============+===============+ .EE .PP پاورقی باید همواره در پایین‌ترین بخش جدول قرار گیرد. .PP جدول‌های شبکه‌ای را می‌توان به آسانی با استفاده از table\-mode در Emacs (\f[CR]M\-x table\-insert\f[R]) ایجاد کرد..SS افزونه: \f[CR]pipe_tables\f[R] جدول‌های پایپ بدین شکل هستند: .IP .EX | Right | Left | Default | Center | |\-\-\-\-\-\-:|:\-\-\-\-\-|\-\-\-\-\-\-\-\-\-|:\-\-\-\-\-\-:| | 12 | 12 | 12 | 12 | | 123 | 123 | 123 | 123 | | 1 | 1 | 1 | 1 | : Demonstration of pipe table syntax. .EE .PP ساختار دستوری (syntax) همانند جدول‌های PHP Markdown Extra است. نویسه‌های پایپ در ابتدا و انتها اختیاری هستند، اما وجود پایپ میان تمام ستون‌ها الزامی است. دو‌نقطه‌ها همان‌طور که نشان داده شده است، چینش ستون‌ها را مشخص می‌کنند. سرستون (header) را نمی‌توان حذف کرد. برای شبیه‌سازی یک جدول بدون سرستون، سرستونی با سلول‌های خالی قرار دهید. .PP از آنجا که پایپ‌ها مرزهای ستون را مشخص می‌کنند، نیازی نیست ستون‌ها همانند مثال بالا به‌صورت عمودی تراز شده باشند. بنابراین، این یک جدول پایپ کاملاً معتبر (هرچند نازیبا) است: .IP .EX fruit| price \-\-\-\-\-|\-\-\-\-\-: apple|2.05 pear|1.37 orange|3.09 .EE .PP سلول‌های جدول‌های پایپ نمی‌توانند شامل عناصر بلوکی مانند پاراگراف‌ها و فهرست‌ها باشند، و نمی‌توانند در چندین سطر امتداد یابند. اگر هر سطری از منبع Markdown طولانی‌تر از عرض ستون باشد (به \f[CR]\-\-columns\f[R] مراجعه کنید)، جدول تمام عرض متن را اشغال خواهد کرد و محتوای سلول‌ها شکسته (wrap) می‌شود؛ در این حالت، عرض نسبی سلول‌ها بر اساس تعداد خط‌تیره‌های موجود در خط جداکننده سرستون جدول از بدنه جدول تعیین می‌گردد. (به‌عنوان مثال \f[CR]\-\-\-|\-\f[R] ستون اول را ۳/۴ و ستون دوم را ۱/۴ از کل عرض متن قرار می‌دهد.) از سوی دیگر، اگر هیچ سطری عریض‌تر از عرض ستون نباشد، محتوای سلول شکسته نخواهد شد و اندازه سلول‌ها متناسب با محتوای آن‌ها تنظیم می‌شود. .PP نکته: pandoc همچنین جدول‌های پایپ به شکل زیر را، همان‌گونه که توسط orgtbl\-mode در Emacs\(cq تولید می‌شوند، شناسایی می‌کند: .IP .EX | One | Two | |\-\-\-\-\-+\-\-\-\-\-\-\-| | my | table | | is | nice | .EE .PP تفاوت در این است که به‌جای \f[CR]|\f[R] از \f[CR]+\f[R] استفاده می‌شود. سایر ویژگی‌های orgtbl پشتیبانی نمی‌شوند. به‌ویژه، برای داشتن چینش ستونی غیر از پیش‌فرض، باید مانند بالا دو‌نقطه اضافه کنید. .SS افزونه: \f[CR]table_attributes\f[R] مشخصه‌ها (attributes) را می‌توان با درج آن‌ها در انتهای زیرنویس (caption)، به جدول‌ها پیوست کرد. (برای ساختار دستوری، به \f[CR]header_attributes\f[R] مراجعه کنید.) .IP .EX : Here\(aqs the caption. {#ident .class key=\(dqvalue\(dq} .EE .SS جای‌گذاری جدول در LaTeX به‌طور پیش‌فرض، pandoc جدول‌ها را در LaTeX با استفاده از محیط \f[CR]longtable\f[R] رندر می‌کند. جدول‌ها \(lqشناور\(rq (float) نخواهند بود و می‌توانند در مرزهای صفحه امتداد یابند. اگر جدول‌های استاندارد \(lqشناور\(rq را ترجیح می‌دهید (که محدود به آنچه در یک صفحه جا می‌شود هستند)، کلاس \f[CR]float\f[R] را به مشخصه‌های جدول (که می‌تواند پس از زیرنویس مشخص شود) اضافه کنید. به‌صورت اختیاری، می‌توان از مشخصه \f[CR]latex\-placement\f[R] برای ارسال پارامترهای مؤثر بر جای‌گذاری شناور استفاده کرد: .IP .EX : The caption of the table. {#ident .float latex\-placement=\(dqht\(dq} .EE .PP توجه داشته باشید که \f[CR]longtable\f[R] با طرح‌بندی‌های دو‌ستونی کار نمی‌کند، بنابراین اگر در حال تولید یک سند دو‌ستونی با استفاده از LaTeX هستید، باید کلاس \f[CR]float\f[R] را روی هر جدول مشخص کنید، یا از این فیلتر کوچک Lua برای افزودن خودکار آن استفاده نمایید: .IP .EX \f[B]function\f[R] Table(el) el.classes:insert(\(dqfloat\(dq) \f[B]return\f[R] el \f[B]end\f[R] .EE .SS بلوک‌های متاداده (Metadata blocks) .SS افزونه: \f[CR]pandoc_title_block\f[R] اگر فایل با یک بلوک عنوان آغاز شود: .IP .EX % title % author(s) (separated by semicolons) % date .EE .PP به‌عنوان اطلاعات کتاب‌شناختی تجزیه خواهد شد، نه متن عادی. (برای مثال در عنوان خروجی مستقل (standalone) در LaTeX یا HTML استفاده خواهد شد.) این بلوک می‌تواند فقط شامل یک عنوان، یک تاریخ و یک نویسنده، یا هر سه عنصر باشد. اگر می‌خواهید نویسنده بدون عنوان، یا یک عنوان و یک تاریخ بدون نویسنده قرار دهید، به یک سطر خالی نیاز دارید: .IP .EX % % Author .EE .IP .EX % My title % % June 15, 2006 .EE .PP عنوان می‌تواند چند سطر را اشغال کند، اما سطرهای ادامه باید با فاصله ابتدایی آغاز شوند، بدین صورت: .IP .EX % My title on multiple lines .EE .PP اگر سندی چند نویسنده داشته باشد، نویسندگان را می‌توان در سطرهای جداگانه با فاصله ابتدایی قرار داد، یا با نقطه‌ویرگول (semicolon) از هم جدا کرد، یا از هر دو روش استفاده نمود. بنابراین، تمام موارد زیر معادل یکدیگرند: .IP .EX % Author One Author Two .EE .IP .EX % Author One; Author Two .EE .IP .EX % Author One; Author Two .EE .PP تاریخ باید در یک سطر جا شود. .PP هر سه فیلد متاداده می‌توانند شامل قالب‌بندی درون‌خطی استاندارد (حروف مورب، پیوندها، پاورقی‌ها و غیره) باشند. .PP بلوک‌های عنوان همواره تجزیه می‌شوند، اما فقط زمانی روی خروجی تأثیر می‌گذارند که گزینه \f[CR]\-\-standalone\f[R] (\f[CR]\-s\f[R]) انتخاب شده باشد. در خروجی HTML، عنوان‌ها دو بار ظاهر می‌شوند: یک‌بار در سربرگ (head) سند\(emاین همان عنوانی است که در بالای پنجره مرورگر ظاهر می‌شود\(emو یک‌بار در ابتدای بدنه سند. عنوان موجود در سربرگ سند می‌تواند یک پیشوند اختیاری پیوست‌شده داشته باشد (گزینه \f[CR]\-\-title\-prefix\f[R] یا \f[CR]\-T\f[R]). عنوان درون بدنه به‌صورت یک عنصر H1 با کلاس \(lqtitle\(rq ظاهر می‌شود، بنابراین می‌توان آن را با CSS پنهان کرد یا دوباره قالب‌بندی نمود. اگر پیشوند عنوان با \f[CR]\-T\f[R] مشخص شده باشد و هیچ بلوک عنوانی در سند وجود نداشته باشد، پیشوند عنوان به‌تنهایی به‌عنوان عنوان HTML استفاده خواهد شد. .PP نویسنده صفحه مان (man page writer) عنوان، شماره بخش صفحه مان، و سایر اطلاعات سربرگ و پانویس را از سطر عنوان استخراج می‌کند. فرض می‌شود عنوان اولین کلمه در سطر عنوان باشد، که می‌تواند به‌صورت اختیاری با یک شماره بخش (تک‌رقمی) در پرانتز خاتمه یابد. (نباید هیچ فاصله‌ای بین عنوان و پرانتز وجود داشته باشد.) هر چیزی پس از آن، به‌عنوان متن اضافی پانویس و سربرگ در نظر گرفته می‌شود. برای جداسازی متن پانویس از متن سربرگ باید از یک نویسه خط عمودی منفرد (\f[CR]|\f[R]) استفاده شود. بدین ترتیب، .IP .EX % PANDOC(1) .EE .PP صفحه مانی با عنوان \f[CR]PANDOC\f[R] و بخش ۱ تولید خواهد کرد. .IP .EX % PANDOC(1) Pandoc User Manuals .EE .PP همچنین عبارت \(lqPandoc User Manuals\(rq را در پانویس خواهد داشت. .IP .EX % PANDOC(1) Pandoc User Manuals | Version 4.0 .EE .PP همچنین عبارت \(lqVersion 4.0\(rq را در سربرگ خواهد داشت..SS افزونه: \f[CR]yaml_metadata_block\f[R] یک بلوک فرادادهٔ YAML یک شیء معتبر YAML است که در بالا با خطی شامل سه خط تیره (\f[CR]\-\-\-\f[R]) و در پایین با خطی شامل سه خط تیره (\f[CR]\-\-\-\f[R]) یا سه نقطه (\f[CR]...\f[R]) محدود می‌شود. پس از خط آغازین \f[CR]\-\-\-\f[R] نباید خط خالی قرار گیرد. یک بلوک فرادادهٔ YAML می‌تواند در هر کجای سند ظاهر شود، اما اگر در ابتدای سند نباشد، باید پیش از آن یک خط خالی بیاید. (توجه داشته باشید که از JSON نیز می‌توان استفاده کرد، زیرا JSON زیرمجموعه‌ای از YAML است.) .PP توجه داشته باشید که به دلیل نحوهٔ الحاق فایل‌های ورودی توسط pandoc در صورتی که چند فایل ارائه شده باشد، می‌توانید فراداده‌ها را در یک فایل YAML جداگانه نگه‌داری کرده و آن را در کنار فایل‌های Markdown به عنوان آرگومان به pandoc ارسال کنید: .IP .EX pandoc chap1.md chap2.md chap3.md metadata.yaml \-s \-o book.html .EE .PP تنها مطمئن شوید که فایل YAML با \f[CR]\-\-\-\f[R] آغاز شده و با \f[CR]\-\-\-\f[R] یا \f[CR]...\f[R] خاتمه می‌یابد. همچنین، می‌توانید از گزینهٔ \f[CR]\-\-metadata\-file\f[R] استفاده کنید. با این حال، در صورت استفاده از این روش، نمی‌توانید به محتوای سند ورودی اصلی Markdown (مانند پاورقی‌ها) ارجاع دهید. .PP فراداده از فیلدهای شیء YAML استخراج شده و به فراداده‌های موجود سند افزوده خواهد شد. فراداده می‌تواند شامل فهرست‌ها و شیءها (با تو در تویی دلخواه) باشد، اما تمام اسکالرهای رشته‌ای به عنوان Markdown تفسیر خواهند شد. فیلدهایی که نام آن‌ها به زیرخط (underscore) ختم می‌شود توسط pandoc نادیده گرفته خواهند شد. (ممکن است توسط پردازنده‌های خارجی نقشی به آن‌ها اختصاص داده شود.) نام فیلدها نباید به عنوان اعداد یا مقادیر بولی YAML قابل تفسیر باشند (بنابراین، برای مثال، مقادیر \f[CR]yes\f[R]، \f[CR]True\f[R] و \f[CR]15\f[R] نمی‌توانند به عنوان نام فیلد استفاده شوند). .PP یک سند می‌تواند شامل چندین بلوک فراداده باشد. اگر دو بلوک فراداده تلاش کنند فیلد یکسانی را مقداردهی کنند، مقدار بلوک دوم اعمال خواهد شد. .PP هر بلوک فراداده در داخل برنامه به صورت یک سند YAML مستقل مدیریت می‌شود. این بدان معناست که برای نمونه، لنگرهای (anchors) تعریف‌شده در یک بلوک نمی‌توانند در بلوک دیگری مورد ارجاع قرار گیرند. .PP هنگامی که pandoc با \f[CR]\-t markdown\f[R] برای ایجاد یک سند Markdown استفاده می‌شود، بلوک فرادادهٔ YAML تنها در صورتی ایجاد خواهد شد که گزینهٔ \f[CR]\-s/\-\-standalone\f[R] به کار رفته باشد. تمام فراداده‌ها در قالب یک بلوک واحد در ابتدای سند ظاهر خواهند شد. .PP توجه داشته باشید که قوانین گریز (escaping) در YAML باید رعایت شوند. بنابراین، برای مثال، اگر عنوان شامل دونقطه باشد، باید درون نقل‌قول قرار گیرد، و اگر شامل ممیز وارونه (backslash) است، باید اطمینان حاصل شود که به عنوان توالی گریز YAML در نظر گرفته نشود. از نویسهٔ خط لوله (\f[CR]|\f[R]) می‌توان برای شروع یک بلوک با تورفتگی استفاده کرد که به صورت لفظی و بدون نیاز به گریز تفسیر می‌شود. این شکل زمانی لازم است که فیلد شامل خطوط خالی یا قالب‌بندی در سطح بلوک باشد: .IP .EX \-\-\- title: \(aqThis is the title: it contains a colon\(aq author: \- Author One \- Author Two keywords: [nothing, nothingness] abstract: | This is the abstract. It consists of two paragraphs. \&... .EE .PP بلوک لفظی بعد از \f[CR]|\f[R] باید نسبت به خط حاوی \f[CR]|\f[R] دارای تورفتگی باشد. در غیر این صورت، ساختار YAML نامعتبر خواهد بود و pandoc آن را به عنوان فراداده تفسیر نخواهد کرد. برای بررسی اجمالی قوانین پیچیدهٔ حاکم بر YAML، مدخل ویکی‌پدیا دربارهٔ نحو YAML را ببینید. .PP متغیرهای الگو به طور خودکار از روی فراداده‌ها مقداردهی می‌شوند. بنابراین، برای مثال، در نگارش HTML، متغیر \f[CR]abstract\f[R] با معادل HTML متن Markdown موجود در فیلد \f[CR]abstract\f[R] مقداردهی خواهد شد: .IP .EX

This is the abstract.

It consists of two paragraphs.

.EE .PP متغیرها می‌توانند شامل ساختارهای دلخواه YAML باشند، اما الگو باید با این ساختار مطابقت داشته باشد. متغیر \f[CR]author\f[R] در الگوهای پیش‌فرض انتظار یک فهرست ساده یا رشته را دارد، اما برای پشتیبانی از ساختارهای پیچیده‌تر می‌تواند تغییر داده شود. برای مثال، ترکیب زیر در صورت مشخص بودن وابستگی سازمانی (affiliation)، آن را به نویسنده اضافه می‌کند: .IP .EX \-\-\- title: The document title author: \- name: Author One affiliation: University of Somewhere \- name: Author Two affiliation: University of Nowhere \&... .EE .PP برای استفاده از نویسندگان ساختاریافته در مثال بالا، به یک الگوی سفارشی نیاز خواهید داشت: .IP .EX $for(author)$ $if(author.name)$ $author.name$$if(author.affiliation)$ ($author.affiliation$)$endif$ $else$ $author$ $endif$ $endfor$ .EE .PP محتوای خامی که قرار است در سربرگ (header) سند گنجانده شود می‌تواند با استفاده از \f[CR]header\-includes\f[R] مشخص گردد؛ با این حال، مهم است که این محتوا را با استفاده از افزونهٔ \f[CR]raw_attribute\f[R] به عنوان کد خام برای یک قالب خروجی خاص نشانه‌گذاری کنید، در غیر این صورت به عنوان Markdown تفسیر خواهد شد. برای مثال: .IP .EX header\-includes: \- | \(ga\(ga\(ga{=latex} \(rslet\(rsoldsection\(rssection \(rsrenewcommand{\(rssection}[1]{\(rsclearpage\(rsoldsection{#1}} \(ga\(ga\(ga .EE .PP نکته: افزونهٔ \f[CR]yaml_metadata_block\f[R] نه تنها با \f[CR]markdown\f[R] بلکه با \f[CR]commonmark\f[R] نیز کار می‌کند (و به طور پیش‌فرض در \f[CR]gfm\f[R] و \f[CR]commonmark_x\f[R] فعال است). با این حال، در \f[CR]commonmark\f[R]، \f[CR]gfm\f[R] و \f[CR]commonmark_x\f[R] محدودیت‌های زیر اعمال می‌شوند: .IP \(bu 2 بلوک فرادادهٔ YAML باید در ابتدای سند قرار گیرد (و تنها می‌تواند یکی باشد). اگر چندین فایل به عنوان آرگومان به pandoc داده شوند، تنها فایل اول می‌تواند یک بلوک فرادادهٔ YAML باشد. .IP \(bu 2 گره‌های برگ ساختار YAML به طور مجزا از یکدیگر و از بقیهٔ سند تجزیه می‌شوند. بنابراین، برای مثال، نمی‌توانید در این زمینه‌ها از پیوند ارجاعی استفاده کنید اگر تعریف پیوند در جای دیگری از سند قرار داشته باشد..SS گریز با بک‌اسلش (Backslash escapes) .SS افزونه: \f[CR]all_symbols_escapable\f[R] به جز در درون یک بلوک کد یا کد درون‌خطی، با هر نشانهٔ نگارشی یا نویسهٔ فاصله‌ای که پیش از آن یک بک‌اسلش آمده باشد به صورت لفظی (literal) رفتار می‌شود، حتی اگر در حالت عادی بیانگر قالب‌بندی باشد. بنابراین، به عنوان مثال، اگر بنویسید .IP .EX *\(rs*hello\(rs** .EE .PP این خروجی حاصل می‌شود: .IP .EX *hello* .EE .PP به جای .IP .EX hello .EE .PP به‌خاطرسپاری این قاعده از قاعدهٔ اصلی Markdown آسان‌تر است، که در آن تنها نویسه‌های زیر مجاز به گریز با بک‌اسلش هستند: .IP .EX \(rs\(ga*_{}[]()>#+\-.! .EE .PP (با این حال، اگر از قالب \f[CR]markdown_strict\f[R] استفاده شود، قاعدهٔ اصلی Markdown به کار گرفته خواهد شد.) .PP یک فاصلهٔ گریز داده‌شده با بک‌اسلش به عنوان یک فاصلهٔ نشکن (nonbreaking space) تجزیه می‌شود. در خروجی TeX، به صورت \f[CR]\(ti\f[R] ظاهر خواهد شد. در خروجی HTML و XML، به صورت یک نویسهٔ یونیکد لفظی فاصلهٔ نشکن ظاهر می‌شود (توجه داشته باشید که از این رو در سورس HTML تولیدشده در واقع \(lqنامرئی\(rq به نظر می‌رسد؛ همچنان می‌توانید از گزینهٔ خط فرمان \f[CR]\-\-ascii\f[R] استفاده کنید تا به عنوان یک موجودیت صریح نمایش یابد). .PP یک خط جدیدِ گریز داده‌شده با بک‌اسلش (یعنی بک‌اسلشی که در انتهای یک سطر می‌آید) به عنوان یک شکست خط قطعی (hard line break) تجزیه می‌شود. در خروجی TeX به صورت \f[CR]\(rs\(rs\f[R] و در HTML به صورت \f[CR]
\f[R] ظاهر خواهد شد. این یک جایگزین مناسب برای روش \(lqنامرئی\(rq در Markdown جهت نشان دادن شکست‌های قطعی خط با استفاده از دو فاصله در انتهای سطر است. .PP گریزهای بک‌اسلش در زمینه‌های عین متن (verbatim) کار نمی‌کنند. .SS قالب‌بندی درون‌خطی (Inline formatting) .SS تأکید (Emphasis) برای \f[I]تأکید\f[R] روی بخشی از متن، آن را مانند زیر میان \f[CR]*\f[R] یا \f[CR]_\f[R] قرار دهید: .IP .EX This text is _emphasized with underscores_, and this is *emphasized with asterisks*. .EE .PP دو نویسهٔ \f[CR]*\f[R] یا \f[CR]_\f[R] باعث ایجاد \f[B]تأکید قوی (strong emphasis)\f[R] می‌شود: .IP .EX This is **strong emphasis** and __with underscores__. .EE .PP نویسهٔ \f[CR]*\f[R] یا \f[CR]_\f[R] که با فاصله احاطه شده باشد، یا با بک‌اسلش گریز داده شده باشد، تأکید ایجاد نمی‌کند: .IP .EX This is * not emphasized *, and \(rs*neither is this\(rs*. .EE .SS افزونه: \f[CR]intraword_underscores\f[R] از آنجا که \f[CR]_\f[R] گاهی در داخل کلمات و شناسه‌ها به کار می‌رود، pandoc نویسهٔ \f[CR]_\f[R] احاطه‌شده توسط نویسه‌های الفبایی‌عددی را به عنوان نشانگر تأکید تفسیر نمی‌کند. اگر می‌خواهید فقط بخشی از یک کلمه را مورد تأکید قرار دهید، از \f[CR]*\f[R] استفاده کنید: .IP .EX feas*ible*, not feas*able*. .EE .SS خط‌خورده (Strikeout) .SS افزونه: \f[CR]strikeout\f[R] برای خط زدن روی بخشی از متن با یک خط افقی، ابتدا و انتهای آن را با \f[CR]\(ti\(ti\f[R] مشخص کنید. بنابراین، برای مثال، .IP .EX This \(ti\(tiis deleted text.\(ti\(ti .EE .SS بالانویس‌ها و زیرنویس‌ها (Superscripts and subscripts) .SS افزونه: \f[CR]superscript\f[R]، \f[CR]subscript\f[R] بالانویس‌ها را می‌توان با قرار دادن متن مورد نظر در میان نویسه‌های \f[CR]\(ha\f[R] نوشت؛ زیرنویس‌ها را نیز می‌توان با قرار دادن متن در میان نویسه‌های \f[CR]\(ti\f[R] نوشت. بنابراین، برای مثال، .IP .EX H\(ti2\(tiO is a liquid. 2\(ha10\(ha is 1024. .EE .PP متن میان \f[CR]\(ha...\(ha\f[R] یا \f[CR]\(ti...\(ti\f[R] نباید حاوی فاصله یا خطوط جدید باشد. اگر متن بالانویس یا زیرنویس حاوی فاصله باشد، این فاصله‌ها باید با بک‌اسلش گریز داده شوند. (این قاعده برای جلوگیری از بالانویس یا زیرنویس شدن تصادفی در استفاده‌های معمولی از \f[CR]\(ti\f[R] و \f[CR]\(ha\f[R]، و همچنین تداخل نامطلوب با پاورقی‌ها است.) بنابراین، اگر می‌خواهید حرف P با عبارت \(lqa cat\(rq در زیرنویس باشد، از \f[CR]P\(tia\(rs cat\(ti\f[R] استفاده کنید، نه \f[CR]P\(tia cat\(ti\f[R]. .SS عین متن (Verbatim) برای تبدیل بخشی کوتاه از متن به صورت عین متن (verbatim)، آن را درون بک‌تیک قرار دهید: .IP .EX What is the difference between \(ga>>=\(ga and \(ga>>\(ga? .EE .PP اگر متن verbatim شامل بک‌تیک باشد، از دو بک‌تیک استفاده کنید: .IP .EX Here is a literal backtick \(ga\(ga \(ga \(ga\(ga. .EE .PP (فاصله‌های پس از بک‌تیک‌های آغازین و پیش از بک‌تیک‌های پایانی نادیده گرفته خواهند شد.) .PP قاعدهٔ کلی این است که یک بخش verbatim با رشته‌ای از بک‌تیک‌های متوالی (اختیاراً به همراه یک فاصله در ادامه) آغاز شده و با رشته‌ای با همان تعداد بک‌تیک (اختیاراً به همراه یک فاصله در ابتدا) پایان می‌یابد. .PP توجه داشته باشید که گریزهای بک‌اسلش (و سایر ساختارهای Markdown) در محیط‌های verbatim کار نمی‌کنند: .IP .EX This is a backslash followed by an asterisk: \(ga\(rs*\(ga. .EE.SS افزونه: \f[CR]inline_code_attributes\f[R] ویژگی‌ها را می‌توان همانند بلوک‌های کد محصور (fenced code blocks)، به متن درجاشده (verbatim) نیز پیوست کرد: .IP .EX \(ga<$>\(ga{.haskell} .EE .SS زیرخط (Underline) برای خط کشیدن زیر متن، از کلاس \f[CR]underline\f[R] استفاده کنید: .IP .EX [Underline]{.underline} .EE .PP یا، بدون افزونهٔ \f[CR]bracketed_spans\f[R] (اما با \f[CR]native_spans\f[R]): .IP .EX Underline .EE .PP این مورد در تمامی قالب‌های خروجی که از خط‌زیرین پشتیبانی می‌کنند کار خواهد کرد. .SS حروف کاپیتال کوچک (Small caps) برای نوشتن حروف کاپیتال کوچک، از کلاس \f[CR]smallcaps\f[R] استفاده کنید: .IP .EX [Small caps]{.smallcaps} .EE .PP یا، بدون افزونهٔ \f[CR]bracketed_spans\f[R]: .IP .EX Small caps .EE .PP برای سازگاری با سایر گونه‌های Markdown، از CSS نیز پشتیبانی می‌شود: .IP .EX Small caps .EE .PP این مورد در تمامی قالب‌های خروجی که از حروف کاپیتال کوچک پشتیبانی می‌کنند کار خواهد کرد. .SS برجسته‌سازی (Highlighting) برای برجسته‌سازی متن، از کلاس \f[CR]mark\f[R] استفاده کنید: .IP .EX [Mark]{.mark} .EE .PP یا، بدون افزونهٔ \f[CR]bracketed_spans\f[R] (اما با \f[CR]native_spans\f[R]): .IP .EX Mark .EE .PP این مورد در تمامی قالب‌های خروجی که از برجسته‌سازی پشتیبانی می‌کنند کار خواهد کرد. .SS فرمول‌های ریاضی (Math) .SS افزونه: \f[CR]tex_math_dollars\f[R] هر چیزی میان دو نویسهٔ \f[CR]$\f[R] به عنوان ریاضیات TeX در نظر گرفته خواهد شد. علامت \f[CR]$\f[R] آغازین باید بلافاصله در سمت راست خود یک نویسهٔ غیرفاصله داشته باشد، در حالی که \f[CR]$\f[R] پایانی باید بلافاصله در سمت چپ خود یک نویسهٔ غیرفاصله داشته و نباید بلافاصله پس از آن رقمی بیاید. بنابراین، \f[CR]$20,000 and $30,000\f[R] به عنوان فرمول ریاضی تجزیه نخواهد شد. اگر بنا به هر دلیلی نیاز دارید که متن را در نویسه‌های واقعی \f[CR]$\f[R] محصور کنید، آن‌ها را با بک‌اسلش گریز دهید (\(rs$) تا به عنوان جداکننده‌های ریاضی در نظر گرفته نشوند. .PP برای ریاضیات نمایشی (display math)، از جداکننده‌های \f[CR]$$\f[R] استفاده کنید. (در این حالت، جداکننده‌ها می‌توانند با فاصله از فرمول جدا شوند. با این وجود، نباید هیچ خط خالی‌ای میان جداکننده‌های بازکننده و پایانیِ \f[CR]$$\f[R] وجود داشته باشد.) .PP ریاضیات TeX در تمامی قالب‌های خروجی چاپ خواهد شد. نحوهٔ رندر شدن آن به قالب خروجی بستگی دارد: .TP LaTeX به صورت کلمه‌به‌کلمه و محصور در \f[CR]\(rs(...\(rs)\f[R] (برای ریاضی درون‌خطی) یا \f[CR]\(rs[...\(rs]\f[R] (برای ریاضی نمایشی) ظاهر خواهد شد. .TP Markdown, Emacs Org mode, ConTeXt, Txt2Tags, ZimWiki به صورت کلمه‌به‌کلمه و محصور در \f[CR]$...$\f[R] (برای ریاضی درون‌خطی) یا \f[CR]$$...$$\f[R] (برای ریاضی نمایشی) ظاهر خواهد شد. .TP XWiki به صورت کلمه‌به‌کلمه و محصور در \f[CR]{{formula}}..{{/formula}}\f[R] ظاهر خواهد شد. .TP reStructuredText با استفاده از نقش متن تفسیرشدهٔ \f[CR]:math:\f[R] رندر خواهد شد. .TP AsciiDoc برای خروجی AsciiDoc، ریاضی به صورت کلمه‌به‌کلمه و محصور در \f[CR]latexmath:[...]\f[R] ظاهر خواهد شد. برای \f[CR]asciidoc_legacy\f[R]، بخش درون براکت شامل جداکننده‌های ریاضی درون‌خطی یا نمایشی نیز خواهد بود. .TP Texinfo درون یک دستور \f[CR]\(atmath\f[R] رندر خواهد شد. .TP roff man, Jira markup به صورت کلمه‌به‌کلمه بدون علامت‌های \f[CR]$\f[R] رندر خواهد شد. .TP MediaWiki, DokuWiki درون برچسب‌های \f[CR]\f[R] رندر خواهد شد. .TP Textile درون برچسب‌های \f[CR]\f[R] رندر خواهد شد. .TP RTF, OpenDocument در صورت امکان، با استفاده از نویسه‌های یونیکد رندر می‌شود و در غیر این صورت به صورت کلمه‌به‌کلمه ظاهر خواهد شد. .TP ODT در صورت امکان، با استفاده از MathML رندر خواهد شد. .TP DocBook اگر پرچم \f[CR]\-\-mathml\f[R] استفاده شود، با استفاده از MathML درون یک برچسب \f[CR]inlineequation\f[R] یا \f[CR]informalequation\f[R] رندر می‌شود. در غیر این صورت، در صورت امکان، با استفاده از نویسه‌های یونیکد رندر خواهد شد. .TP Docx و PowerPoint با استفاده از نشانه‌گذاری ریاضی OMML رندر خواهد شد. .TP FictionBook2 اگر گزینهٔ \f[CR]\-\-webtex\f[R] استفاده شود، فرمول‌ها با استفاده از CodeCogs یا دیگر سرویس‌های وب سازگار به صورت تصویر رندر شده، دانلود می‌شوند و در کتاب الکترونیکی جای‌گذاری خواهند شد. در غیر این صورت، به شکل کلمه‌به‌کلمه ظاهر خواهند شد. .TP HTML, Slidy, DZSlides, S5, EPUB شیوهٔ رندر شدن ریاضی در HTML به گزینه‌های خط فرمانیِ انتخاب‌شده بستگی خواهد داشت. بنابراین بخش «رندر کردن ریاضی در HTML» در بالا را ببینید..SS HTML خام .SS افزونه: \f[CR]raw_html\f[R] Markdown به شما اجازه می‌دهد کد HTML (یا DocBook) خام را در هر کجای سند درج کنید (به‌جز بافت‌های واژه‌به‌واژه (verbatim)، که در آن \f[CR]<\f[R]، \f[CR]>\f[R] و \f[CR]&\f[R] به صورت تحت‌اللفظی تفسیر می‌شوند). (از نظر فنی این یک افزونه نیست، چرا که Markdown استاندارد آن را مجاز می‌داند، اما به عنوان یک افزونه تعریف شده است تا در صورت نیاز بتوان آن را غیرفعال کرد.) .PP کدهای HTML خام در خروجی‌های HTML، S5، Slidy، Slideous، DZSlides، EPUB، Markdown، CommonMark، حالت Emacs Org، Textile و Txt2Tags بدون تغییر منتقل می‌شوند و در سایر قالب‌ها نادیده گرفته (حذف) می‌شوند. .PP برای روشی صریح‌تر جهت گنجاندن HTML خام در یک سند Markdown، افزونهٔ \f[CR]raw_attribute\f[R] را ببینید. .PP در قالب CommonMark، اگر \f[CR]raw_html\f[R] فعال باشد، بالانویس‌ها، زیرنویس‌ها، خط‌خوردگی‌ها و حروف بزرگ کوچک (small capitals) به صورت HTML نشان داده خواهند شد. در غیر این صورت، از جایگزین‌های متن ساده استفاده می‌شود. توجه داشته باشید که حتی در صورت غیرفعال بودن \f[CR]raw_html\f[R]، اگر جدول‌ها نتوانند از نحو پایپ (pipe) استفاده کنند، با نحو HTML رندر خواهند شد. .SS افزونه: \f[CR]markdown_in_html_blocks\f[R] نگارش اولیه Markdown اجازه می‌دهد \(lqبلوک‌های\(rq HTML را بگنجانید: بلوک‌هایی از HTML بین تگ‌های متوازن که با خط‌های خالی از متن اطراف جدا شده‌اند و از حاشیهٔ سمت چپ شروع شده و خاتمه می‌یابند. درون این بلوک‌ها، همه‌چیز به عنوان HTML تفسیر می‌شود، نه Markdown؛ بنابراین (برای مثال)، \f[CR]*\f[R] به معنای تأکید نیست. .PP هنگام استفاده از قالب \f[CR]markdown_strict\f[R]، پاندوک بدین شیوه رفتار می‌کند؛ اما به طور پیش‌فرض، pandoc محتوای بین تگ‌های بلوکی HTML را به عنوان Markdown تفسیر می‌کند. بنابراین، برای مثال، pandoc عبارت .IP .EX
*one* [a link](https://google.com)
.EE .PP را به .IP .EX
one a link
.EE .PP تبدیل می‌کند، در حالی که \f[CR]Markdown.pl\f[R] آن را همان‌طور که هست نگه می‌دارد. .PP یک استثنا برای این قاعده وجود دارد: متن بین تگ‌های \f[CR] HTML \(dq\(dq\(dq) \(ga\(ga\(ga ## Image This image ![image](myimage.png) will be included as a cell attachment. .EE .PP اگر می‌خواهید ویژگی‌های سلول را اضافه کنید، سلول‌ها را به‌گونه‌ای متفاوت گروه‌بندی کنید، یا خروجی را به سلول‌های کد بیفزایید، لازم است divهایی را برای مشخص کردن ساختار بگنجانید. شما می‌توانید هم از fenced divها و هم از native divها برای این کار استفاده کنید. در اینجا یک مثال آورده شده است: .IP .EX :::::: {.cell .markdown} # Lorem **Lorem ipsum** dolor sit amet, consectetur adipiscing elit. Nunc luctus bibendum felis dictum sodales. :::::: :::::: {.cell .code execution_count=1} \(ga\(ga\(ga {.python} print(\(dqhello\(dq) \(ga\(ga\(ga ::: {.output .stream .stdout} \(ga\(ga\(ga hello \(ga\(ga\(ga ::: :::::: :::::: {.cell .code execution_count=2} \(ga\(ga\(ga {.python} from IPython.display import HTML HTML(\(dq\(dq\(dq HTML \(dq\(dq\(dq) \(ga\(ga\(ga ::: {.output .execute_result execution_count=2} \(ga\(ga\(ga{=html} HTML hello \(ga\(ga\(ga ::: :::::: .EE .PP اگر HTML یا TeX خام را در یک سلول خروجی می‌گنجانید، همانند آنچه در آخرین سلول مثال بالا نشان داده شده است، از ویژگی raw استفاده کنید. اگرچه pandoc می‌تواند HTML و TeX خامِ \(lqعریان\(rq را پردازش کند، اما نتیجه اغلب آمیخته‌ای از عناصر خام و عناصر متنی عادی خواهد بود، و در یک سلول خروجی pandoc انتظار یک بلوک خام یکپارچه و منفرد را دارد. برای پرهیز از استفاده از HTML یا TeX خام مگر در مواردی که با صراحت با استفاده از ویژگی‌های raw مشخص شده‌اند، توصیه می‌کنیم هنگام تبدیل میان Markdown و دفترچه‌های ipynb، افزونه‌های \f[CR]\-raw_html\-raw_tex+raw_attribute\f[R] را مشخص کنید. .PP توجه داشته باشید گزینه‌ها و افزونه‌هایی که بر خواندن و نوشتن Markdown تأثیر می‌گذارند، بر سلول‌های Markdown در دفترچه‌های ipynb نیز اثر خواهند گذاشت. برای مثال، \f[CR]\-\-wrap=preserve\f[R] شکست‌های نرم خطوط را در سلول‌های Markdown حفظ خواهد کرد؛ \f[CR]\-\-markdown\-headings=setext\f[R] سبب استفاده از سربرگ‌های سبک Setext خواهد شد؛ و \f[CR]\-\-preserve\-tabs\f[R] از تبدیل تب‌ها به فاصله جلوگیری می‌کند..SH "اسناد ویم (VIMDOC)" نویسندهٔ Vimdoc فایل‌های راهنمای Vim را تولید می‌کند و از متغیرهای متادادهٔ زیر بهره می‌گیرد: .IP .EX abstract\f[B]:\f[R] \(dqA short description\(dq author\f[B]:\f[R] Author title\f[B]:\f[R] Title \f[I]# Vimdoc\-specific\f[R] filename\f[B]:\f[R] \(dqdefinition\-lists.txt\(dq vimdoc\-prefix\f[B]:\f[R] pandoc .EE .PP یک سرآیند کامل نیازمند تنظیم \f[CR]abstract\f[R]، \f[CR]author\f[R]، \f[CR]title\f[R] و \f[CR]filename\f[R] است. کامپایل کردن فایل با چنین متاداده‌ای فایل زیر را تولید می‌کند (با فرض استفاده از \f[CR]\-\-standalone\f[R]، بخش Templates را ببینید): .IP .EX *definition\-lists.txt* A short description Title by Author Type |gO| to see the table of contents. [...] vim:tw=72:sw=4:ts=4:ft=help:norl:et: .EE .PP اگر \f[CR]vimdoc\-prefix\f[R] تنظیم شده باشد، مقدار آن به عنوان پیشوند به تمام برچسب‌های غیردستوری اضافه می‌شود؛ این قابلیت برای جلوگیری از تداخل برچسب‌ها به کار می‌رود: تمام سرآیندها یک برچسب دارند (خواه استنتاج‌شده یا صریح) و صفحات راهنمای متعدد می‌توانند نام‌های سرآیند یکسانی داشته باشند، بنابراین رخ دادن تداخل قابل انتظار است. فرض کنید ورودی ما فایل markdown زیر باشد: .IP .EX ## Header \f[BI]\(ga:[range]Fnl {expr}\(ga\f[R]{#:Fnl} : Evaluates {expr} or range \f[BI]\(gavim.b\(ga\f[R]{#vim.b} : Buffer\-scoped (\f[BI]\(ga:h b:\(ga\f[R]) variables for the current buffer. Invalid or unset key returns \f[BI]\(ganil\(ga\f[R]. Can be indexed with an integer to access variables for a specific buffer. \f[I][\f[R]Span\f[I]]\f[R]{#span} : generic inline container for phrasing content, which does not inherently represent anything. .EE .PP تبدیل آن به vimdoc: .IP .EX \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- Header *header* :[range]Fnl {expr} *:Fnl* Evaluates {expr} or range \(gavim.b\(ga *vim.b* Buffer\-scoped (|b:|) variables for the current buffer. Invalid or unset key returns \(ganil\(ga. Can be indexed with an integer to access variables for a specific buffer. Span *span* generic inline container for phrasing content, which does not inherently represent anything. .EE .PP تبدیل آن به vimdoc با متغیر متادادهٔ تنظیم‌شده (برای مثال با \f[CR]\-M vimdoc\-prefix=pandoc\f[R]): .IP .EX \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- Header *pandoc\-header* :[range]Fnl {expr} *:Fnl* Evaluates {expr} or range \(gavim.b\(ga *pandoc\-vim.b* Buffer\-scoped (|b:|) variables for the current buffer. Invalid or unset key returns \(ganil\(ga. Can be indexed with an integer to access variables for a specific buffer. Span *pandoc\-span* generic inline container for phrasing content, which does not inherently represent anything. .EE .PP به \f[CR]vim.b\f[R] و \f[CR]Span\f[R] پیشوند اضافه شد اما به \f[CR]:Fnl\f[R] خیر، زیرا دستورهای ex (آن‌هایی که با \f[CR]:\f[R] شروع می‌شوند) پیشوندی دریافت نمی‌کنند، چرا که در سراسر صفحات راهنما یکتا در نظر گرفته می‌شوند. .PP در هر دو مورد، \f[CR]:help b:\f[R] به ارجاع \f[CR]|b:|\f[R] تبدیل شد (با \f[CR]:h b:\f[R] نیز کار می‌کند). پیوندهایی که به یا اشاره می‌کنند نیز به ارجاع تبدیل می‌شوند. .PP به‌طور سنتی Vim خطوط را روی ستون ۷۸ می‌شکند، اما مقدار پیش‌فرض Pandoc روی ۷۲ است. برای مطابقت با Vim، از \f[CR]\-\-columns 78\f[R] استفاده کنید. .SH "برجسته‌سازی نحو (SYNTAX HIGHLIGHTING)" ‏Pandoc به‌طور خودکار نحو را در بلوک‌های کد محصور (fenced code blocks) که با نام یک زبان مشخص شده‌اند، برجسته‌سازی می‌کند. برای برجسته‌سازی از کتابخانهٔ هسکل skylighting استفاده می‌شود. در حال حاضر برجسته‌سازی تنها برای خروجی‌های HTML، EPUB، Docx، Ms، Man، Typst و LaTeX/PDF پشتیبانی می‌شود. برای مشاهدهٔ فهرستی از نام‌های زبان‌هایی که pandoc تشخیص می‌دهد، دستور \f[CR]pandoc \-\-list\-highlight\-languages\f[R] را تایپ کنید. .PP طرح رنگ را می‌توان با استفاده از گزینهٔ \f[CR]\-\-syntax\-highlighting\f[R] انتخاب کرد. طرح رنگ پیش‌فرض \f[CR]pygments\f[R] است، که از طرح رنگ پیش‌فرضِ مورد استفادهٔ کتابخانهٔ پایتون pygments تقلید می‌کند (هرچند در واقع از خود pygments برای انجام برجسته‌سازی استفاده نمی‌شود). برای مشاهدهٔ فهرستی از سبک‌های برجسته‌سازی، دستور \f[CR]pandoc \-\-list\-highlight\-styles\f[R] را تایپ کنید. .PP اگر سبک‌های از پیش تعریف‌شده برای شما رضایت‌بخش نیست، می‌توانید از \f[CR]\-\-print\-highlight\-style\f[R] برای تولید یک فایل JSON با پسوند \f[CR].theme\f[R] استفاده کنید که می‌تواند ویرایش شده و به عنوان آرگومانِ \f[CR]\-\-syntax\-highlighting\f[R] به کار رود. برای مثال، جهت دریافت نسخهٔ JSON از سبک \f[CR]pygments\f[R]: .IP .EX pandoc \-o my.theme \-\-print\-highlight\-style pygments .EE .PP سپس \f[CR]my.theme\f[R] را ویرایش کرده و آن را به این صورت استفاده کنید: .IP .EX pandoc \-\-syntax\-highlighting my.theme .EE .PP اگر از برجسته‌سازی توکار رضایت ندارید، یا می‌خواهید زبانی را برجسته‌سازی کنید که پشتیبانی نمی‌شود، می‌توانید از گزینهٔ \f[CR]\-\-syntax\-definition\f[R] برای بارگیری یک فایل تعریف نحو XML به سبک KDE استفاده کنید. پیش از نوشتن تعریف اختصاصی خود، نگاهی به مخزن تعاریف نحو KDE بیندازید. .PP اگر با خطایی مبنی بر اینکه pandoc \(lqCould not read highlighting theme\(rq مواجه شدید، بررسی کنید که فایل JSON با کدگذاری UTF\-8 ذخیره شده باشد و فاقد نشانگر ترتیب بایت (BOM) باشد. .PP برای غیرفعال کردن برجسته‌سازی، از \f[CR]\-\-syntax\-highlighting=none\f[R] استفاده کنید. .PP برای استفاده از برجسته‌سازی نحو بومی (idiomatic) یک قالب به‌جای برجسته‌سازی توکار pandoc، از \f[CR]\-\-syntax\-highlighting=idiomatic\f[R] استفاده کنید. در حال حاضر، مقدار \f[CR]idiomatic\f[R] تنها روی قالب‌های زیر تأثیر می‌گذارد: .IP \(bu 2 در reveal.js، باعث می‌شود از افزونهٔ برجسته‌سازی خود reveal.js برای برجسته‌سازی کد منبع استفاده شود. این سبک را می‌توان با تنظیم متغیر \f[CR]highlightjs\-theme\f[R] سفارشی‌سازی کرد. .IP \(bu 2 در Typst، باعث می‌شود از برجسته‌سازی توکار Typst استفاده شود. (این حالت همچنین پیش‌فرضِ Typst است.) .IP \(bu 2 در LaTeX، باعث می‌شود بستهٔ \f[CR]listings\f[R] به کار رود. توجه داشته باشید که \f[CR]listings\f[R] از کدگذاری چندبایتی برای کد منبع پشتیبانی نمی‌کند. برای مدیریت UTF\-8 باید از یک الگوی سفارشی استفاده کنید. این مشکل به‌طور کامل در اینجا مستند شده است: Encoding issue with the listings package. .IP \(bu 2 در قالب‌های دیگر، \f[CR]idiomatic\f[R] همان نتیجهٔ \f[CR]default\f[R] را خواهد داشت..SH "سبک‌های سفارشی (CUSTOM STYLES)" از سبک‌های سفارشی می‌توان در قالب‌های docx، odt و ICML استفاده کرد. .SS "خروجی (Output)" به‌طور پیش‌فرض، خروجی‌های odt، docx و ICML در pandoc مجموعهٔ از‌پیش‌تعریف‌شده‌ای از سبک‌ها را برای بلوک‌هایی مانند بندها و نقل‌قول‌های بلوکی اعمال می‌کنند، و برای عناصر درون‌خطی عمدتاً قالب‌بندی پیش‌فرض (ایتالیک، پررنگ) را به کار می‌برند. این سازوکار برای بیشتر اهداف، به‌ویژه در کنار یک فایل سند مرجع (reference doc)، کارآمد خواهد بود. با این حال، اگر نیاز دارید سبک‌های خودتان را روی بلوک‌ها اعمال کنید، یا با مجموعه‌ای از سبک‌های از‌پیش‌موجود هماهنگ شوید، pandoc به شما امکان می‌دهد تا به ترتیب با استفاده از \f[CR]div\f[R]ها و \f[CR]span\f[R]ها سبک‌های سفارشی را برای بلوک‌ها و متن تعریف نمایید. .PP اگر یک Div، Span یا Table را با ویژگی \f[CR]custom\-style\f[R] تعریف کنید، pandoc سبک مشخص‌شدهٔ شما را روی عناصر درون آن اعمال خواهد کرد (به استثنای عناصری که عملکردشان وابسته به یک سبک خاص است، مانند سربرگ‌ها، بلوک‌های کد، نقل‌قول‌های بلوکی یا پیوندها). بنابراین، برای نمونه با استفاده از نحو \f[CR]bracketed_spans\f[R]، .IP .EX [Get out]{custom\-style=\(dqEmphatically\(dq}, he said. .EE .PP فایلی تولید خواهد شد که در آن عبارت «Get out» با سبک نویسه‌ای \f[CR]Emphatically\f[R] قالب‌بندی شده است. به همین ترتیب، با استفاده از نحو \f[CR]fenced_divs\f[R]، .IP .EX Dickinson starts the poem simply: ::: {custom\-style=\(dqPoetry\(dq} | A Bird came down the Walk\-\-\- | He did not know I saw\-\-\- ::: .EE .PP دو خط موجود در آن با سبک بند \f[CR]Poetry\f[R] قالب‌بندی خواهند شد. .PP اگر سبک‌ها هنوز در سند مرجع شما تعریف نشده باشند، در فایل خروجی به صورت ارث‌بری از متن عادی (در docx) یا Default Paragraph Style (در odt) تعریف می‌شوند. اگر از پیش تعریف شده باشند، pandoc تعریف آن‌ها را تغییر نخواهد داد. .PP این قابلیت در پیوند با فیلترهای pandoc بالاترین سطح سفارشی‌سازی را فراهم می‌آورد. اگر می‌خواهید تمام بندهای پس از نقل‌قول‌های بلوکی دارای تورفتگی باشند، می‌توانید فیلتری بنویسید تا سبک‌های لازم را اعمال کند. اگر می‌خواهید تمام متن‌های ایتالیک به سبک نویسه‌ای \f[CR]Emphasis\f[R] تبدیل شوند (مثلاً برای تغییر رنگ آن‌ها)، می‌توانید فیلتری بنویسید که تمام عناصر درون‌خطی ایتالیک را به عناصر درون‌خطی در یک \f[CR]span\f[R] با ویژگی \f[CR]custom\-style\f[R] برابر با \f[CR]Emphasis\f[R] تبدیل نماید. .PP برای خروجی docx یا odt، جهت فعال شدن سبک‌های سفارشی نیازی به فعال‌سازی هیچ افزونه‌ای ندارید. .PP برای خروجی icml، می‌توانید یک \f[CR]object\-style\f[R] را نیز در تصاویر مشخص کنید: .IP .EX ![Image with object style](myImage.jpg){object\-style=\(dqfixedSizeImage\(dq} .EE .PP در InDesign خواهید دید که این سبک شیء به تصویر اختصاص یافته است و می‌توانید آن را سفارشی کرده یا تعریف آن را از یک الگوی آماده بارگذاری کنید. .SS "ورودی (Input)" خوانندهٔ docx به‌طور پیش‌فرض تنها سبک‌هایی را می‌خواند که بتواند آن‌ها را به عناصر pandoc تبدیل کند؛ چه از طریق تبدیل مستقیم و چه با تفسیر اشتقاق سبک‌های سند ورودی. .PP با فعال کردن افزونهٔ \f[CR]styles\f[R] در خوانندهٔ docx (\f[CR]\-f docx+styles\f[R])، می‌توانید خروجی‌ای تولید کنید که سبک‌های سند ورودی را با استفاده از کلاس \f[CR]custom\-style\f[R] حفظ نماید. برای هر سبک یک ویژگی \f[CR]custom\-style\f[R] افزوده خواهد شد. عناصر Div برای نگهداری سبک‌های بند و عناصر Span برای نگهداری سبک‌های نویسه ایجاد می‌شوند. سبک‌های جدول مستقیماً روی Table اعمال خواهند شد. .PP برای نمونه، با استفاده از فایل \f[CR]custom\-style\-reference.docx\f[R] در دایرکتوری test، خروجی‌های متفاوت زیر را خواهیم داشت: .PP بدون افزونهٔ \f[CR]+styles\f[R]: .IP .EX $ pandoc test/docx/custom\-style\-reference.docx \-f docx \-t markdown This is some text. This is text with an *emphasized* text style. And this is text with a **strengthened** text style. > Here is a styled paragraph that inherits from Block Text. .EE .PP و همراه با افزونه: .IP .EX $ pandoc test/docx/custom\-style\-reference.docx \-f docx+styles \-t markdown ::: {custom\-style=\(dqFirst Paragraph\(dq} This is some text. ::: ::: {custom\-style=\(dqBody Text\(dq} This is text with an [emphasized]{custom\-style=\(dqEmphatic\(dq} text style. And this is text with a [strengthened]{custom\-style=\(dqStrengthened\(dq} text style. ::: ::: {custom\-style=\(dqMy Block Style\(dq} > Here is a styled paragraph that inherits from Block Text. ::: .EE .PP با این سبک‌های سفارشی، می‌توانید هنگام ایجاد خروجی docx از سند ورودی خود به عنوان یک reference\-doc استفاده کرده (بخش‌های زیر را ببینید) و سبک‌های یکسانی را در فایل‌های ورودی و خروجی حفظ نمایید. .SH "خواننده‌ها و نویسنده‌های سفارشی (CUSTOM READERS AND WRITERS)" می‌توان pandoc را با خواننده‌ها و نویسنده‌های سفارشی نوشته‌شده به زبان Lua گسترش داد. (pandoc شامل یک مفسر Lua داخلی است، بنابراین نیازی به نصب جداگانهٔ Lua نیست.) .PP برای استفاده از یک خواننده یا نویسندهٔ سفارشی، کافی است مسیر اسکریپت Lua را به جای قالب ورودی یا خروجی مشخص کنید. برای نمونه: .IP .EX pandoc \-t data/sample.lua pandoc \-f my_custom_markup_language.lua \-t latex \-s .EE .PP اگر اسکریپت بر اساس مسیر نسبی به دایرکتوری کاری پیدا نشود، در زیردایرکتوری \f[CR]custom\f[R] از دایرکتوری داده‌های کاربر جستجو خواهد شد (\f[CR]\-\-data\-dir\f[R] را ببینید). .PP یک خوانندهٔ سفارشی، اسکریپتی به زبان Lua است که تابعی به نام Reader را تعریف می‌کند؛ این تابع یک رشته را به عنوان ورودی دریافت کرده و یک Pandoc AST برمی‌گرداند. برای مستندات توابعی که جهت ایجاد عناصر pandoc AST در دسترس هستند، به مستندات فیلترهای Lua مراجعه فرمایید. جهت تجزیهٔ متن، کتابخانهٔ تجزیه‌گر lpeg به‌طور پیش‌فرض در دسترس است. برای دیدن یک نمونه خوانندهٔ سفارشی: .IP .EX pandoc \-\-print\-default\-data\-file creole.lua .EE .PP اگر می‌خواهید خوانندهٔ سفارشی شما به گزینه‌های خواننده دسترسی داشته باشد (مانند تنظیمات tab stop)، یک پارامتر دوم به نام \f[CR]options\f[R] به تابع Reader خود بدهید. .PP یک نویسندهٔ سفارشی، اسکریپتی به زبان Lua است که تابعی برای تعیین نحوهٔ بازنمایی (render) هر عنصر در یک Pandoc AST را تعریف می‌کند. برای یک مثال جامع و کامل، djot\-writer.lua را ببینید. .PP توجه داشته باشید که نویسنده‌های سفارشی هیچ قالب (template) پیش‌فرضی ندارند. اگر می‌خواهید از \f[CR]\-\-standalone\f[R] همراه با یک نویسندهٔ سفارشی استفاده کنید، باید با استفاده از گزینهٔ \f[CR]\-\-template\f[R] قالبی را به‌صورت دستی مشخص نمایید، یا یک قالب پیش‌فرض جدید با نام \f[CR]default.NAME_OF_CUSTOM_WRITER.lua\f[R] به زیردایرکتوری \f[CR]templates\f[R] در دایرکتوری داده‌های کاربری خود اضافه کنید (بخش Templates را ببینید)..SH "ساخت‌های بازتولیدپذیر (REPRODUCIBLE BUILDS)" برخی از قالب‌های سندی که pandoc پشتیبانی می‌کند (مانند EPUB، docx و ODT) شامل برچسب‌های زمانی ساخت در سند تولیدشده هستند. این بدان معناست که فایل‌های تولیدشده در ساخت‌های متوالی، حتی در صورتی که منبع تغییر نکرده باشد، با یکدیگر تفاوت خواهند داشت. برای جلوگیری از این امر، متغیر محیطی \f[CR]SOURCE_DATE_EPOCH\f[R] را تنظیم کنید تا برچسب زمانی به جای زمان فعلی از آن خوانده شود. \f[CR]SOURCE_DATE_EPOCH\f[R] باید حاوی یک برچسب زمانی یونیکس به صورت عدد صحیح باشد (مشخص‌کننده تعداد ثانیه‌ها از مبدأ زمان یونیکس یعنی نیمه‌شب ۱ ژانویه ۱۹۷۰ بر حسب UTC). .PP برای ساخت‌های بازتولیدپذیر با LaTeX، می‌توانید \f[CR]pdf\-trailer\-id\f[R] را در فراداده‌ها مشخص کنید یا آن را تعریف‌نشده باقی بگذارید؛ در این حالت، pandoc یک trailer\-id بر اساس درهم‌سازی (هش) \f[CR]SOURCE_DATE_EPOCH\f[R] و محتویات سند ایجاد می‌کند. .PP برخی از قالب‌های سند همچنین شامل یک شناسه یکتا هستند. برای EPUB، می‌توان این مقدار را صراحتاً با تنظیم فیلد فراداده \f[CR]identifier\f[R] مشخص کرد (بخش «فراداده‌های EPUB» در بالا را ببینید). .SH "پی‌دی‌اف‌های دسترس‌پذیر و استانداردهای بایگانی پی‌دی‌اف (ACCESSIBLE PDFS AND PDF ARCHIVING STANDARDS)" قالب PDF انعطاف‌پذیر است و استفاده از آن در زمینه‌های خاص به قواعد و قراردادهای بیشتری نیاز دارد. برای نمونه، فایل‌های PDF به صورت پیش‌فرض دسترس‌پذیر نیستند؛ آن‌ها نحوه چینش نویسه‌ها در صفحه را تعریف می‌کنند اما حاوی اطلاعات معنایی درباره محتوا نیستند. با این حال، تولید PDFهای دسترس‌پذیر امکان‌پذیر است؛ این فایل‌ها با استفاده از برچسب‌گذاری (tagging)، اطلاعات معنایی را به سند می‌افزایند. .PP ابزار pandoc به صورت پیش‌فرض از LaTeX برای تولید PDF استفاده می‌کند. رابط \f[CR]\(rsDocumentMetadata\f[R] در LaTeX هنگام استفاده از LuaLaTeX از استانداردهای PDF و برچسب‌گذاری پشتیبانی می‌کند؛ برای فعال‌سازی آن متغیر \f[CR]pdfstandard\f[R] را تنظیم کنید (پایین‌تر را ببینید). برای نصب‌های قدیمی‌تر LaTeX، باید موتورهای جایگزین به کار گرفته شوند. .PP استانداردهای پی‌دی‌اف PDF/A و PDF/UA محدودیت‌های بیشتری را برای بهینه‌سازی فایل‌های PDF جهت بایگانی و دسترس‌پذیری تعریف می‌کنند. برچسب‌گذاری معمولاً در ترکیب با این استانداردها برای تضمین بهترین نتایج به کار می‌رود. .PP با این حال توجه داشته باشید که سازگاری با استانداردها به عوامل متعددی از جمله فضای رنگی (colorspace) تصاویر جاسازی‌شده بستگی دارد. ابزار pandoc قادر به بررسی این موارد نیست و برای اطمینان از انطباق PDFهای تولیدشده، باید برنامه‌های خارجی به کار گرفته شوند. .SS LaTeX متغیر \f[CR]pdfstandard\f[R] را برای تولید PDFهای برچسب‌گذاری‌شده مطابق با استانداردهای PDF/A، PDF/X یا PDF/UA تنظیم کنید. برای مثال: .IP .EX pandoc \-V pdfstandard=ua\-2 \-\-pdf\-engine=lualatex doc.md \-o doc.pdf .EE .PP می‌توان چندین استاندارد را ترکیب کرد: .IP .EX \-\-\- pdfstandard: \- ua\-2 \- a\-4f \-\-\- .EE .PP نسخه مورد نیاز PDF به طور خودکار استنتاج می‌شود. این ویژگی نیازمند LuaLaTeX در TeX Live 2025 با هسته LaTeX نسخه 2025\-06\-01 یا جدیدتر است. .SS ConTeXt ابزار ConTeXt همیشه PDFهای برچسب‌گذاری‌شده تولید می‌کند، اما کیفیت آن به ورودی بستگی دارد. نشانه‌گذاری پیش‌فرض ConTeXt که توسط pandoc تولید می‌شود برای خوانایی و استفاده مجدد بهینه‌سازی شده است، نه برای برچسب‌گذاری. پسوند قالب \f[CR]tagging\f[R] را فعال کنید تا نشانه‌گذاری بهینه‌شده برای برچسب‌گذاری اعمال شود. برای مثال: .IP .EX pandoc \-t context+tagging doc.md \-o doc.pdf .EE .PP باید از یک نسخه جدید \f[CR]context\f[R] استفاده شود، زیرا نسخه‌های قدیمی‌تر شامل باگی بودند که منجر به تولید فراداده‌های نامعتبر PDF می‌شد. .SS WeasyPrint موتور مبتنی بر HTML با نام WeasyPrint از نسخه ۵۷ شامل پشتیبانی آزمایشی از PDF/A و PDF/UA است. پی‌دی‌اف‌های برچسب‌گذاری‌شده را می‌توان با دستور زیر ایجاد کرد: .IP .EX pandoc \-\-pdf\-engine=weasyprint \(rs \-\-pdf\-engine\-opt=\-\-pdf\-variant=pdf/ua\-1 ... .EE .PP این قابلیت آزمایشی است و نباید سازگاری قطعی با استاندارد فرض شود. .SS Prince XML مبدل غیرآزاد HTML به PDF به نام \f[CR]prince\f[R] از استانداردهای گوناگون PDF و همچنین برچسب‌گذاری پشتیبانی گسترده‌ای دارد. برای مثال: .IP .EX pandoc \-\-pdf\-engine=prince \(rs \-\-pdf\-engine\-opt=\-\-tagged\-pdf ... .EE .PP برای اطلاعات بیشتر، مستندات prince را ببینید. .SS Typst ابزار Typst 0.12 می‌تواند خروجی PDF/A\-2b تولید کند: .IP .EX pandoc \-\-pdf\-engine=typst \-\-pdf\-engine\-opt=\-\-pdf\-standard=a\-2b ... .EE .SS واژه‌پردازها (Word Processors) واژه‌پردازهایی مانند LibreOffice و MS Word نیز می‌توانند برای تولید خروجی‌های PDF استاندارد و برچسب‌گذاری‌شده مورد استفاده قرار گیرند. ابزار pandoc از تبدیل مستقیم از طریق این برنامه‌ها پشتیبانی نمی‌کند. با این حال، pandoc می‌تواند سند را به یک فایل \f[CR]docx\f[R] یا \f[CR]odt\f[R] تبدیل کند که سپس می‌توان آن را در واژه‌پرداز مربوطه باز کرد و به PDF تبدیل نمود. مستندات Word و LibreOffice را ببینید. .SH "اجرای PANDOC به عنوان یک وب‌سرور (RUNNING PANDOC AS A WEB SERVER)" اگر نام فایل اجرایی pandoc را به \f[CR]pandoc\-server\f[R] تغییر دهید (یا پیوند نمادین بزنید)، یا اگر pandoc را با \f[CR]server\f[R] به عنوان آرگومان نخست فراخوانی کنید، یک وب‌سرور با یک رابط برنامه‌نویسی نرم‌افزار (API) مبتنی بر JSON راه‌اندازی می‌کند. این سرور اکثر قابلیت‌های تبدیل pandoc را در دسترس قرار می‌دهد. برای مستندات کامل، صفحه راهنمای pandoc\-server را ببینید. .PP اگر نام فایل اجرایی pandoc را به \f[CR]pandoc\-server.cgi\f[R] تغییر دهید (یا پیوند نمادین بزنید)، به عنوان یک برنامه CGI عمل کرده و همان API ارائه‌شده توسط \f[CR]pandoc\-server\f[R] را فراهم می‌سازد. .PP ابزار \f[CR]pandoc\-server\f[R] به گونه‌ای طراحی شده است که بالاترین سطح امنیت را داشته باشد؛ این برنامه از سیستم انواع Haskell بهره می‌برد تا تضمین‌های محکمی مبنی بر عدم انجام هرگونه عملیات I/O روی سرور هنگام تبدیل‌های pandoc ارائه دهد..SH "اجرای PANDOC به‌عنوان مفسر LUA (RUNNING PANDOC AS A LUA INTERPRETER)" فراخوانی فایل اجرایی pandoc تحت نام \f[CR]pandoc\-lua\f[R] یا با \f[CR]lua\f[R] به‌عنوان نخستین آرگومان، باعث می‌شود که مانند یک مفسر مستقل Lua عمل کند. رفتار آن تا حد زیادی با فایل اجرایی مستقل \f[CR]lua\f[R]، نسخهٔ ۵.۴ یکسان است. همهٔ بسته‌های \f[CR]pandoc.*\f[R]، و همچنین بسته‌های \f[CR]re\f[R] و \f[CR]lpeg\f[R]، از طریق متغیرهای سراسری در دسترس هستند. علاوه‌براین، متغیرهای سراسری \f[CR]PANDOC_VERSION\f[R]، \f[CR]PANDOC_STATE\f[R] و \f[CR]PANDOC_API_VERSION\f[R] هنگام راه‌اندازی مقداردهی می‌شوند. برای مستندات کامل، به صفحهٔ راهنمای pandoc\-lua مراجعه کنید. .SH "نکته‌ای درباره امنیت (A NOTE ON SECURITY)" .IP "1." 3 اگرچه خود pandoc هیچ فایلی جز آن‌هایی که صراحتاً از آن خواسته‌اید ایجاد کند، نمی‌سازد یا تغییر نمی‌دهد (به استثنای فایل‌های موقتی که در تولید PDF استفاده می‌شوند)، اما یک فیلتر یا نویسندهٔ سفارشی (custom writer) از لحاظ نظری می‌تواند هر کاری در سیستم فایل شما انجام دهد. لطفاً پیش از استفاده از فیلترها و نویسنده‌های سفارشی، آن‌ها را بسیار دقیق بازبینی و بررسی کنید. .IP "2." 3 اگر می‌خواهید از pandoc در یک برنامهٔ وب استفاده کنید که ورودی‌های کاربری نامطمئن را می‌پذیرد، باید آگاه باشید که اجرای pandoc در این بستر نیازمند اقدامات احتیاطی ویژه است، در غیر این صورت خطر افشای محتویات فایل‌های محلی یا عواقب بدتری وجود دارد. به‌ویژه: .RS 4 .IP \(bu 2 چندین فرمت ورودی (از جمله LaTeX ،Org ،RST و Typst) از دستورالعمل‌های \f[CR]include\f[R] پشتیبانی می‌کنند که اجازه می‌دهند محتویات یک فایل در خروجی گنجانده شود. یک مهاجم می‌تواند از این ویژگی برای مشاهدهٔ محتویات فایل‌های روی سیستم فایل استفاده کند. استفاده از گزینهٔ \f[CR]\-\-sandbox\f[R] در برابر این تهدید محافظت می‌کند. .IP \(bu 2 چندین فرمت خروجی (از جمله RTF ،FB2، فایل HTML به‌همراه \f[CR]\-\-self\-contained\f[R]، EPUB ،Docx و ODT) تصاویر خام یا کدگذاری‌شده را درون فایل خروجی جاسازی (embed) می‌کنند. یک مهاجم می‌تواند از این سازوکار سوءاستفاده کرده و محتویات فایل‌های غیرتصویری روی سیستم فایل را مشاهده کند. استفاده از گزینهٔ \f[CR]\-\-sandbox\f[R] در برابر این تهدید محافظت می‌کند، اما همچنین از گنجاندن تصاویر در این فرمت‌ها جلوگیری به عمل می‌آورد. .IP \(bu 2 هنگام خواندن فایل‌های HTML، دستور pandoc تلاش می‌کند با واکشی محتوا از فایل محلی یا URL مشخص‌شده توسط \f[CR]src\f[R]، محتوای عناصر \f[CR]iframe\f[R] را بگنجاند. اگر HTML نامطمئن روی سرور پردازش شود، این امر این پتانسیل را دارد که هر چیزی را که توسط فرایندِ در حال اجرای سرور قابل‌خواندن است فاش کند یا منجر به حملات جعل درخواست سمت سرور (SSRF) شود (CVE\-2025\-51591). برای مقابله با این‌گونه حملات، از \f[CR]\-\-sandbox\f[R] یا \f[CR]\-f html+raw_html\f[R] (که باعث می‌شود کل \f[CR]iframe\f[R] به‌عنوان یک بلوک HTML خام تجزیه شود) استفاده کنید. .IP \(bu 2 استفاده از pandoc به‌همراه \f[CR]\-\-pdf\-engine\f[R] خطرات بیشتری را به همراه دارد که با استفاده از \f[CR]\-\-sandbox\f[R] برطرف نمی‌شوند. برای نمونه، در \f[CR]wkhtmltopdf\f[R] فیلدهای متادیتای \f[CR]footer\-html\f[R] و \f[CR]header\-html\f[R] مستقیماً به‌عنوان آرگومان‌های \f[CR]\-\-footer\-html\f[R] و \f[CR]\-\-header\-html\f[R] به \f[CR]wkhtmltopdf\f[R] ارسال می‌شوند، و با قرار دادن شناسه‌های \f[CR]file:\f[R] در این فیلدها، فرد می‌تواند محتوای فایل‌های محلی را استخراج کند. علاوه‌براین، استفاده از \f[CR]\-\-pdf\-engine=wkhtmltopdf\f[R] به همراه \f[CR]\-f html+raw_html\f[R] یک آسیب‌پذیری SSRF را در wkhtmltopdf فعال می‌کند (CVE\-2022\-35583). توجه داشته باشید که \f[CR]wkhtmltopdf\f[R] منسوخ شده است و توسعه‌دهندگان آن توصیه می‌کنند که از آن با هیچ ورودی نامطمئنی استفاده نشود. بااین‌حال، ممکن است مشکلات مشابهی در سایر موتورهای pdf نیز وجود داشته باشد. هر فردی که یک موتور pdf را در دستور pandoc اجراشده روی ورودی نامطمئن به کار می‌برد، باید موتور را به دقت بازبینی کند و استفاده از \f[CR]\-\-pdf\-engine\-opt\f[R] را با دقت زیر نظر بگیرد. .PP در اینجا راهکارهای جایگزینی برای استفادهٔ امن از pandoc در یک برنامهٔ وب آورده شده است: .IP \(bu 2 از \f[CR]pandoc server\f[R] برای راه‌اندازی یک سرور وب محلی استفاده کنید و به برنامهٔ خود بگویید درخواست‌ها را به آن ارسال کند. این سرور در حالت ایزوله (sandboxed) اجرا می‌شود و قادر به خواندن فایل‌ها یا استفاده از فیلترها نخواهد بود. .IP \(bu 2 از نسخهٔ WASM نرم‌افزار pandoc استفاده کنید. این نسخه امکان استفاده از فیلترهای Lua را فراهم می‌سازد، اما همه چیز درون یک محیط سندباکس ایزولهٔ WASM اجرا می‌شود. .IP \(bu 2 از \f[CR]pandoc \-\-sandbox\f[R] استفاده کنید. بااین‌حال، در نظر داشته باشید که قابلیت سندباکس فقط خواننده‌ها و نویسنده‌ها را محدود می‌کند، و در صورت استفادهٔ هم‌زمان آن با \f[CR]\-\-filter\f[R] یا \f[CR]\-\-pdf\-engine\f[R] ممکن است مشکلات امنیتی پیش بیاید. .RE .IP "3." 3 کد HTML تولیدشده توسط pandoc تضمین‌شده نیست که کاملاً امن باشد. اگر \f[CR]raw_html\f[R] برای ورودی Markdown فعال باشد، کاربران می‌توانند کدهای HTML دلخواه را تزریق کنند. حتی در صورت غیرفعال بودن \f[CR]raw_html\f[R]، کاربران ممکن است محتوای خطرناکی را در URLها و صفت‌ها بگنجانند. برای حفظ امنیت، باید تمام کدهای HTML تولیدشده از ورودی‌های کاربری نامطمئن را از طریق یک پاک‌ساز HTML (sanitizer) پالایش کنید. .IP "4." 3 تجزیه‌کننده‌های pandoc ممکن است در برخی موارد مرزی دچار افت شدید و غیرعادی کارایی (pathological performance) شوند. عاقلانه است که برای تمامی عملیات‌های pandoc یک مهلت زمانی (timeout) تعیین کنید تا از حملات DOS که از این اختلالات سوءاستفاده می‌کنند، جلوگیری شود. اگر از فایل اجرایی pandoc استفاده می‌کنید، می‌توانید گزینه‌های خط فرمان مانند \f[CR]+RTS \-M512M \-RTS\f[R] را اضافه کنید تا اندازهٔ حافظهٔ heap به ۵۱۲ مگابایت محدود شود. توجه داشته باشید که تجزیه‌کنندهٔ \f[CR]commonmark\f[R] (شامل \f[CR]commonmark_x\f[R] و \f[CR]gfm\f[R]) نسبت به تجزیه‌کنندهٔ \f[CR]markdown\f[R] بسیار کمتر در معرض افت شدید کارایی است؛ بنابراین هنگام پردازش ورودی‌های نامطمئن انتخاب بهتری خواهد بود. .IP "5." 3 اگر برنامهٔ شما از pandoc به‌عنوان یک کتابخانهٔ Haskell استفاده می‌کند (به‌جای فراخوانی مستقیم فایل اجرایی)، امکان اجرای آن در حالتی وجود دارد که pandoc را با اجرای عملیات‌ها در موناد \f[CR]PandocPure\f[R]، به‌طور کامل از سیستم فایل شما ایزوله می‌کند. برای اطلاعات بیشتر، سند «Using the pandoc API» را ببینید. (این حالت معادل استفاده از گزینهٔ \f[CR]\-\-sandbox\f[R] در خط فرمان است.) .SH "نویسندگان (AUTHORS)" کپی‌رایت 2006\(en2024 متعلق به John MacFarlane (jgm\(atberkeley.edu). تحت مجوز GPL، نسخهٔ ۲ یا بالاتر منتشر شده است. این نرم‌افزار بدون هیچ‌گونه ضمانتی ارائه می‌شود. (برای اطلاعیه‌های کامل کپی‌رایت و ضمانت، به COPYRIGHT مراجعه کنید.) برای مشاهدهٔ فهرست کامل مشارکت‌کنندگان، فایل AUTHORS.md را در کد منبع pandoc ببینید. .PP کد منبع Pandoc را می‌توان از یا دریافت کرد. مستندات بیشتر در موجود است.