[解決済み】pandocでMarkdownからPDFに変換する際に余白の大きさを設定する。
質問
RStudioでRMarkdownファイルを作成し、knitrでHTMLと.mdファイルに編むことに成功しました。 次に、pandocを使って.mdファイルをPDFファイルに変換しました(.htmlファイルから変換しようとするとエラーが出ます)。 しかし、生成されたPDFは大量の余白がある(このように http://johnmacfarlane.net/pandoc/demo/example13.pdf ). どうすれば、pandocに余白の少ないものを作らせることができるのでしょうか? pandocのユーザーガイドに目を通しましたが、役に立つものは見つかりませんでした。
解決方法は?
rmarkdownとpandocの最新バージョン
の最近のバージョンでは
rmarkdown
マージンの設定はトップレベル要素である
geometry
. で指定した内容は
geometry
タグはPandocに同梱されているLaTeXテンプレートに以下の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パッケージと同じように、オプションを文字列で繋げます。
---
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 の最近のバージョンを使っている場合、もうひとつの方法として variable 引数 (この引数には
-V KEY[=VAL]
または
--variable=KEY[:VAL]
). また
geometry
パッケージは、2012年5月にデフォルトのLaTeXテンプレートに追加されました(詳しくは
本論
). そのため、ページ余白を変更したい場合、以下のようになります。
pandoc -V geometry:margin=1in -o output.pdf input.md
変数の値も複数指定できる。例えば、4×6インチのpdfを半インチの余白で作りたい場合、以下のようになります。
pandoc -V geometry:paperwidth=4in -V geometry:paperheight=6in -V geometry:margin=.5in -o output.pdf input.md
関連
-
[解決済み] 不適合な配列のコードエラー
-
[解決済み] Stataバージョン5-12の.dtaファイルではない
-
[解決済み】library(ggplot2)でエラー:'ggplot2'というパッケージは存在しません。
-
[解決済み】Rで「パッケージ'FILE_PATH'のインストールで終了ステータスが0でなかった」。
-
[解決済み] テスト
-
[解決済み】Rエラー。"新しい列は既存の列の後に穴を空ける"
-
[解決済み】RでKNN。trainとclassは長さが違う」?
-
[解決済み】ggplotのエラー。関数型オブジェクトのスケールを自動的に選択する方法がわかりません。
-
[解決済み】R: predict() の数値 'envir' 引数が長さ1でない。)
-
[解決済み】 .subset2(x, i, exact = exact)のエラー:Rの添え字が範囲外である。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】'builtin'型のオブジェクトはsubsetableではない【重複
-
[解決済み】「arguments imply differing number of rows: x, y」というエラーは何を意味するのか?
-
[解決済み】ベースグラフィックスでプロットエリアの外側に凡例をプロットする?
-
[解決済み】ggplot boxplotでPosition-dodge警告?
-
[解決済み】 file(filename, "r", encoding = encoding) : cannot open the connectionでエラーが発生する。
-
[解決済み】ロジスティック回帰 - eval(family$initialize) : y 値は 0 <= y <= 1 である必要があります。
-
[解決済み】Rヒストグラムの範囲エラー:いくつかの'x'がカウントされない; 'break'が'x'の範囲に及ばないかもしれない
-
[解決済み】Rでデータフレームのサブセットをプロットする方法は?
-
[解決済み】エラー - replacement has [x] rows, data has [y].
-
[解決済み] na.fail.defaultのエラー:オブジェクトの値が見つからない - しかし、値が見つからないことはありません。