RStudioでRMarkdownファイルを作成し、それをknitrでHTMLおよび.mdファイルに編むことができました。次に、pandocを使用して.mdファイルをPDFファイルに変換しました(.htmlファイルから変換しようとするとエラーが発生します)。ただし、作成されるPDFには大きなマージンがあります(このhttp://johnmacfarlane.net/pandoc/demo/example13.pdfのように)。どうすればpandocにマージンの小さいものを作成させることができますか?pandocユーザーガイドを確認しましたが、役立つものは見つかりませんでした。
3 に答える
rmarkdownとpandocの最近のバージョン
rmarkdownの最近のバージョンでは、マージンの設定は、トップレベルの要素を介してYAMLヘッダーで行うことができますgeometry
。タグで指定したものはgeometry
、次のLaTeXスニペットを介してPandocに付属するLaTeXテンプレートにパイプされます
$if(geometry)$
\usepackage[$for(geometry)$$geometry$$sep$,$endfor$]{geometry}
$endif$
たとえば、幅2cmのマージンを指定するには、次のようにします。
---
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
---
元の回答
PandocがLaTeXを介してPDFにレンダリングしているため、これはLaTeXの質問です。リンク先はLaTeXドキュメントのデフォルトの余白を表しています。
たとえば、ジオメトリLaTeXパッケージを使用して、ページの余白を変更できます。ただし、変換されたmdファイルに適用されるLaTeXヘッダーに含めることで、これを使用するようにPandocに指示する方法が必要になります。
これを行う方法は、Pandocユーザーガイドに記載されています。特に、--template=FILE
コマンドライン引数とテンプレートのセクションを参照してください。基本的に、デフォルトのテンプレートを見つけて変更し、使用するLaTeX命令を含めるか、独自のテンプレートを最初から開始して適切な場所に配置します。--data-dir
コマンドライン引数を参照してください。
Pandocの最新バージョンを使用している場合の別の方法は、変数引数(-V KEY[=VAL]
またはで設定--variable=KEY[:VAL]
)を使用することです。このgeometry
パッケージは、2012年5月にデフォルトのLaTeXテンプレートに追加されました(この説明を参照)。そのため、ページの余白を変更したい場合は、次を使用できます。
pandoc -V geometry:margin=1in -o output.pdf input.md
複数の変数値を指定することもできます。たとえば、1/2インチの余白がある4 x 6インチのPDFを作成する場合は、次を使用できます。
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に変換するとき、それは正しいマージンを持っているはずです。
FTR:上記の「最近のバージョン」には、次のヘッダーが必要になる前に、Knitr1.30が含まれているようです。
---
pdf_document: null
geometry: margin=1cm
output: pdf_document
---
追加がなければpdf_document: null
、ジオメトリ設定は効果がありませんでした。これにより、 https://bookdown.org/yihui/rmarkdown-cookbook/latex-variables.htmlからの設定が機能しました。