224

RStudioでRMarkdownファイルを作成し、それをknitrでHTMLおよび.mdファイルに編むことができました。次に、pandocを使用して.mdファイルをPDFファイルに変換しました(.htmlファイルから変換しようとするとエラーが発生します)。ただし、作成されるPDFには大きなマージンがあります(このhttp://johnmacfarlane.net/pandoc/demo/example13.pdfのように)。どうすればpandocにマージンの小さいものを作成させることができますか?pandocユーザーガイドを確認しましたが、役立つものは見つかりませんでした。

4

3 に答える 3

318

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
于 2012-11-22T15:40:51.943 に答える
113

最近のバージョンのpandocでは、YAMLヘッダーにいくつかのパラメーターを設定できます。ここでジオメトリを設定できます。次に例を示します。

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

body text of document

pandocがそれをpdfに変換するとき、それは正しいマージンを持っているはずです。

于 2014-10-15T00:14:05.910 に答える
2

FTR:上記の「最近のバージョン」には、次のヘッダーが必要になる前に、Knitr1.30が含まれているようです。

---
  pdf_document: null
  geometry: margin=1cm
  output: pdf_document
---

追加がなければpdf_document: null、ジオメトリ設定は効果がありませんでした。これにより、 https://bookdown.org/yihui/rmarkdown-cookbook/latex-variables.htmlからの設定が機能しました。

于 2020-11-26T09:46:50.783 に答える