Установить размер поля при конвертации из Markdown в PDF с pandoc



Я создал файл RMarkdown в RStudio и сумел связать его с knitr в файл HTML и .md. Затем я использовал pandoc для преобразования файла. md в файл PDF (я получаю сообщение об ошибке, если я пытаюсь преобразовать из .HTML-файл.) Тем не менее, PDF, который производится имеют огромные поля (как это http://johnmacfarlane.net/pandoc/demo/example13.pdf). Как я могу заставить pandoc производить что-то с меньшими полями? Я просмотрел руководство пользователя pandoc, но не нашел что-нибудь полезное.

675   2  

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.

The геометрия пакет LaTeX, например, может быть использован для изменения полей страницы. Однако вам понадобится способ сказать Pandoc, чтобы использовать это, включив его в заголовок LaTeX, примененный к преобразованному файлу md.

как вы это делаете, задокументировано в Руководство Пользователя Pandoc. См., в частности --template=FILE аргумент командной строки и раздел Шаблоны. По существу, либо найдите и измените шаблон по умолчанию, чтобы включить инструкции LaTeX, которые вы хотите использовать, либо Запустите свой собственный шаблон с нуля и поместите его в соответствующее место; см. аргумент строки.


Другой альтернативой, если вы используете последнюю версию 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

в более поздних версиях pandoc, вы можете установить ряд параметров в заголовок и YAML. Вы можете установить геометрию здесь, например:

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

body text of document

когда pandoc преобразует его в pdf, он должен иметь правильные поля.

Comments

    Ничего не найдено.