回答を更新(2013年2月10日)
rmarkdownパッケージ:Pandocとインターフェイスするrmarkdown
パッケージがgithubで利用できるようになりました。機能が含まれていrender
ます。ドキュメントは、他のさまざまな形式の中でrmarkdownをpdfに変換する方法をかなり明確にしています。これには、rmarkdownファイルに出力形式を含めることや、rend関数に出力形式を提供することを実行することが含まれます。例えば、
render("input.Rmd", "pdf_document")
コマンドライン:コマンドラインから
実行するとrender
(たとえば、makefileを使用して)、pandocが見つからないという問題が発生することがあります。おそらく、それは検索パス上にありません。次の回答は、R環境にpandocを追加する方法を説明しています。
したがって、たとえば、RStudioを介してpandocのコピーを持っているOSXを実行しているコンピューターでは、次を使用できます。
Rscript -e "Sys.setenv(RSTUDIO_PANDOC='/Applications/RStudio.app/Contents/MacOS/pandoc');library(rmarkdown); library(utils); render('input.Rmd', 'pdf_document')"
古い答え(2012年頃)
そのため、多くの人がPandocが進むべき道であると示唆しています。Pandocの最新バージョンを使用することの重要性については、以下の注を参照してください。
Pandocの使用
次のコマンドを使用して、R MarkdownをHTML(つまり、このmakefileのバリアント)に変換しました。ここRMDFILE
で、はコンポーネントを含まないR Markdownファイルの名前です(拡張子はであり、ではないと.rmd
想定しています)。.rmd
.Rmd
RMDFILE=example-r-markdown
Rscript -e "require(knitr); require(markdown); knit('$RMDFILE.rmd', '$RMDFILE.md'); markdownToHTML('$RMDFILE.md', '$RMDFILE.html', options=c('use_xhml'))"
次に、このコマンドをPDFに変換します
Pandoc -s example-r-markdown.html -o example-r-markdown.pdf
これに関するいくつかの注意:
- プロットをimgurにエクスポートしてホストイメージにエクスポートするサンプルファイルの参照を削除しました。
- imgurでホストされている画像への参照を削除しました。数字はローカルである必要があるようです。
- 関数のオプションは、
markdownToHTML
画像参照がファイルへの参照であり、HTMLファイルに保存されているデータへの参照ではないことを意味しました(つまり、'base64_images'
オプションリストから削除しました)。
- 結果の出力は次のようになりました。ブラウザからHTMLファイルをpdfに印刷した場合に得られるものとは対照的に、明らかに非常にLaTeXスタイルのドキュメントを作成しました。
Pandocの最新バージョンを入手する
@daroczigで述べたように、PDFを出力するには、最新バージョンのPandocを用意することが重要です。2012年6月15日現在のUbuntuでは、パッケージマネージャーでバージョン1.8.1のPandocを使用していましたが、変更ログから、 PDFサポートには少なくともバージョン1.9以降のPandocが必要であるようです。
したがって、私はをインストールしcaball-install
ました。そして実行しました:
cabal update
cabal install pandoc
Pandocはにインストールされていた~/.cabal/bin/pandoc
ので、実行pandoc
しても古いバージョンが表示されていました。パスへの追加については、こちらをご覧ください。