Последние версии 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.
Геометрия Латекс пакет, например , может быть использован для изменения полех страниц. Однако вам понадобится указать 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
variable
команды, вместо того чтобы создавать шаблон с нуля или жестко кодировать поля в шаблоне по умолчанию. Например, для полей в 1 дюйм вы можете использоватьpandoc -V geometry:margin=1in -o output.pdf input.md
.-V geometry:margin=1in
вариант не имеет никакого эффекта. Через поиск в Google я нашел где-то (извините, потерял ссылку) документацию, в которой говорится, что эта опция не действует, если используется шаблон по умолчанию. Я просто хочу преобразовать одностраничный файл уценки в PDF, чтобы отправить кому-то в качестве листовки. Мое быстрое решение: отредактируйте файл шаблона напрямую и добавьте строку\usepackage[margin=1.0in]{geometry}
. На моей установке файл находится в:/usr/share/pandoc-1.9.1.1/templates
В более поздних версиях pandoc вы можете установить ряд параметров в заголовке YAML . Вы можете установить геометрию здесь, например:
Когда Pandoc преобразует его в PDF, он должен иметь правильные поля.
источник
Kile
или,Sublime Text 2/3
и изменение аргументов командной строки будет проблемой.