RStudioでRMarkdownファイルを作成し、それをknitrでHTMLおよび.mdファイルにまとめました。次に、pandocを使用して.mdファイルをPDFファイルに変換しました(.htmlファイルから変換しようとするとエラーが発生します)。ただし、生成されるPDFには大きなマージンがあります(このように http://johnmacfarlane.net/pandoc/demo/example13.pdf )。 pandocを取得して、マージンの小さいものを作成するにはどうすればよいですか? pandocユーザーガイドに目を通しましたが、有用なものは見つかりませんでした。
rmarkdownの最近のバージョンでは、マージンの設定はトップレベル要素geometry
を介してYAMLヘッダーで行うことができます。 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
---
より複雑な仕様をgeometryLaTeXパッケージに渡すには、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ドキュメントのデフォルトのマージンを表します。
たとえば、geometryLaTeXパッケージを使用して、ページのマージンを変更できます。ただし、変換された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
複数の変数値も指定できます。たとえば、0.5インチの余白を持つ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に変換するとき、正しいマージンが必要です。