تعيين حجم الهامش عند التحويل من Markdown إلى PDF مع pandoc




latex knitr (2)

الإصدارات الأخيرة من rmarkdown و pandoc

في الإصدارات الأحدث من rmarkdown ، يمكن إجراء إعدادات الهوامش في رأس YAML عبر geometry العنصر ذي المستوى الأعلى. سيتم توجيه ما تحدده في علامة geometry إلى نموذج LaTeX الذي يأتي مع Pandoc عبر مقتطف LaTeX التالي

$if(geometry)$
\usepackage[$for(geometry)$$geometry$$sep$,$endfor$]{geometry}
$endif$

على سبيل المثال ، لتحديد الهوامش التي يبلغ عرضها 2 سم ، يمكن تضمينها

---
title: "Habits"
author: John Doe
date: March 22, 2005
geometry: margin=2cm
output: pdf_document
---

للحصول على مزيد من المواصفات المعقدة ليتم تمريرها إلى حزمة LaTeX الهندسية ، خيارات السلسلة معًا كما تفعل مع LaTeX:

---
title: "Habits"
author: John Doe
date: March 22, 2005
geometry: "left=3cm,right=3cm,top=2cm,bottom=2cm"
output: pdf_document
---

الجواب الأصلي

هذا هو سؤال LaTeX كما يتم تقديم Pandoc إلى PDF عبر LaTeX - ما قمت بربطه يمثل هوامش الافتراضي على وثيقة LaTeX.

على سبيل المثال ، يمكن استخدام حزمة LaTeX الهندسية لتغيير هوامش الصفحة. ومع ذلك ، ستحتاج إلى طريقة لإخبار Pandoc باستخدام ذلك من خلال تضمينه في رأس LaTeX المطبق على ملف md المحول.

يتم توثيق كيفية قيامك بهذا في دليل مستخدم Pandoc . انظر على وجه الخصوص - --template=FILE سطر الأوامر الوسيطة وقسم النماذج . بشكل أساسي ، إما البحث عن القالب الافتراضي وتعديله لتضمين تعليمات LaTeX التي تريد استخدامها أو بدء القالب الخاص بك من البداية ووضعه في الموقع المناسب ؛ راجع الوسيطة سطر --data-dir .

بديل آخر إذا كنت تستخدم إصدارًا حديثًا من Pandoc هو استخدام وسيطة المتغير (تعيين إما بـ -V KEY[=VAL] أو - --variable=KEY[:VAL] ). تمت إضافة حزمة geometry إلى قالب LaTeX الافتراضي في مايو 2012 (راجع هذه المناقشة ). على هذا النحو ، إذا أردت تغيير هوامش الصفحة ، يمكنك استخدام:

pandoc -V geometry:margin=1in -o output.pdf input.md

يمكنك تحديد العديد من القيم المتغيرة أيضا. على سبيل المثال ، إذا كنت تريد إنشاء تنسيق PDF بمعدل 4 × 6 بوصات بهوامش نصف بوصة ، فيمكنك استخدام:

pandoc -V geometry:paperwidth=4in -V geometry:paperheight=6in -V geometry:margin=.5in -o output.pdf input.md

لقد قمت بإنشاء ملف RMarkdown في RStudio وتمكنت من ربطه بـ knitr إلى ملف HTML و .md. بعد ذلك ، استخدمت pandoc لتحويل الملف .md إلى ملف PDF (تظهر لي رسالة خطأ عند محاولة التحويل من ملف .html). ومع ذلك ، فإن PDF الذي يتم إنتاجه له هوامش ضخمة (مثل هذا http://johnmacfarlane.net/pandoc/demo/example13.pdf ). كيف يمكنني الحصول على pandoc لإنتاج شيء بهوامش أصغر؟ لقد بحثت من خلال دليل مستخدم pandoc ، ولكن لم نعثر على أي شيء مفيد.


في الإصدارات الأحدث من pandoc ، يمكنك تعيين عدد من المعلمات في رأس YAML . يمكنك ضبط الشكل الهندسي هنا ، على سبيل المثال:

---
title:  Pandoc nice margins example
author: naught101
geometry: margin=3cm
---

body text of document

عندما يحول pandoc إلى pdf ، يجب أن يكون بهامش صحيحة.





pandoc